From 5608aaca26789645acffdf3841607abcef36e06c Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 16 Apr 2023 17:45:56 +0200 Subject: [PATCH] Simplify mocking --- freqtrade/exchange/exchange.py | 8 ++++++-- tests/rpc/test_rpc_telegram.py | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 7e276d538..669a5c7d1 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -107,8 +107,7 @@ class Exchange: # Lock event loop. This is necessary to avoid race-conditions when using force* commands # Due to funding fee fetching. self._loop_lock = Lock() - self.loop = asyncio.new_event_loop() - asyncio.set_event_loop(self.loop) + self.loop = self._init_async_loop() self._config: Config = {} self._config.update(config) @@ -212,6 +211,11 @@ class Exchange: if self.loop and not self.loop.is_closed(): self.loop.close() + def _init_async_loop(self): + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + return loop + def validate_config(self, config): # Check if timeframe is available self.validate_timeframes(config.get('timeframe')) diff --git a/tests/rpc/test_rpc_telegram.py b/tests/rpc/test_rpc_telegram.py index 5fbd4f98e..adfbb4b2a 100644 --- a/tests/rpc/test_rpc_telegram.py +++ b/tests/rpc/test_rpc_telegram.py @@ -89,6 +89,7 @@ def get_telegram_testobject(mocker, default_conf, mock=True, ftbot=None): _start_thread=MagicMock(), ) if not ftbot: + mocker.patch('freqtrade.exchange.exchange.Exchange._init_async_loop') ftbot = get_patched_freqtradebot(mocker, default_conf) rpc = RPC(ftbot) telegram = Telegram(rpc, default_conf) @@ -140,7 +141,7 @@ async def test_telegram_startup(default_conf, mocker) -> None: app_mock.start = AsyncMock() app_mock.updater.start_polling = AsyncMock() app_mock.updater.running = False - sleep_mock = mocker.patch('freqtrade.rpc.telegram.asyncio.sleep',AsyncMock()) + sleep_mock = mocker.patch('freqtrade.rpc.telegram.asyncio.sleep', AsyncMock()) telegram, _, _ = get_telegram_testobject(mocker, default_conf) telegram._app = app_mock