Simplify mocking
This commit is contained in:
@@ -107,8 +107,7 @@ class Exchange:
|
|||||||
# Lock event loop. This is necessary to avoid race-conditions when using force* commands
|
# Lock event loop. This is necessary to avoid race-conditions when using force* commands
|
||||||
# Due to funding fee fetching.
|
# Due to funding fee fetching.
|
||||||
self._loop_lock = Lock()
|
self._loop_lock = Lock()
|
||||||
self.loop = asyncio.new_event_loop()
|
self.loop = self._init_async_loop()
|
||||||
asyncio.set_event_loop(self.loop)
|
|
||||||
self._config: Config = {}
|
self._config: Config = {}
|
||||||
|
|
||||||
self._config.update(config)
|
self._config.update(config)
|
||||||
@@ -212,6 +211,11 @@ class Exchange:
|
|||||||
if self.loop and not self.loop.is_closed():
|
if self.loop and not self.loop.is_closed():
|
||||||
self.loop.close()
|
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):
|
def validate_config(self, config):
|
||||||
# Check if timeframe is available
|
# Check if timeframe is available
|
||||||
self.validate_timeframes(config.get('timeframe'))
|
self.validate_timeframes(config.get('timeframe'))
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ def get_telegram_testobject(mocker, default_conf, mock=True, ftbot=None):
|
|||||||
_start_thread=MagicMock(),
|
_start_thread=MagicMock(),
|
||||||
)
|
)
|
||||||
if not ftbot:
|
if not ftbot:
|
||||||
|
mocker.patch('freqtrade.exchange.exchange.Exchange._init_async_loop')
|
||||||
ftbot = get_patched_freqtradebot(mocker, default_conf)
|
ftbot = get_patched_freqtradebot(mocker, default_conf)
|
||||||
rpc = RPC(ftbot)
|
rpc = RPC(ftbot)
|
||||||
telegram = Telegram(rpc, default_conf)
|
telegram = Telegram(rpc, default_conf)
|
||||||
@@ -140,7 +141,7 @@ async def test_telegram_startup(default_conf, mocker) -> None:
|
|||||||
app_mock.start = AsyncMock()
|
app_mock.start = AsyncMock()
|
||||||
app_mock.updater.start_polling = AsyncMock()
|
app_mock.updater.start_polling = AsyncMock()
|
||||||
app_mock.updater.running = False
|
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, _, _ = get_telegram_testobject(mocker, default_conf)
|
||||||
telegram._app = app_mock
|
telegram._app = app_mock
|
||||||
|
|||||||
Reference in New Issue
Block a user