mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-01-26 08:50:47 +00:00
Further telegram async tests
This commit is contained in:
@@ -137,7 +137,7 @@ def test_cleanup(default_conf, mocker, ) -> None:
|
||||
|
||||
telegram, _, _ = get_telegram_testobject(mocker, default_conf, mock=False)
|
||||
telegram.cleanup()
|
||||
assert telegram._updater.stop.call_count == 1
|
||||
assert telegram._app.stop.call_count == 1
|
||||
|
||||
|
||||
async def test_authorized_only(default_conf, mocker, caplog, update) -> None:
|
||||
@@ -2327,32 +2327,33 @@ def test__sell_emoji(default_conf, mocker, msg, expected):
|
||||
async def test_telegram__send_msg(default_conf, mocker, caplog) -> None:
|
||||
mocker.patch('freqtrade.rpc.telegram.Telegram._init', MagicMock())
|
||||
bot = MagicMock()
|
||||
bot.send_message = AsyncMock()
|
||||
bot.edit_message_text = AsyncMock()
|
||||
telegram, _, _ = get_telegram_testobject(mocker, default_conf, mock=False)
|
||||
telegram._updater = MagicMock()
|
||||
telegram._updater.bot = bot
|
||||
telegram._app = MagicMock()
|
||||
telegram._app.bot = bot
|
||||
|
||||
telegram._config['telegram']['enabled'] = True
|
||||
await telegram._send_msg('test')
|
||||
assert len(bot.method_calls) == 1
|
||||
|
||||
# Test update
|
||||
query = MagicMock()
|
||||
await telegram._send_msg('test', callback_path="DeadBeef", query=query, reload_able=True)
|
||||
edit_message_text = telegram._updater.bot.edit_message_text
|
||||
edit_message_text = telegram._app.bot.edit_message_text
|
||||
assert edit_message_text.call_count == 1
|
||||
assert "Updated: " in edit_message_text.call_args_list[0][1]['text']
|
||||
|
||||
telegram._updater.bot.edit_message_text = MagicMock(side_effect=BadRequest("not modified"))
|
||||
telegram._app.bot.edit_message_text = AsyncMock(side_effect=BadRequest("not modified"))
|
||||
await telegram._send_msg('test', callback_path="DeadBeef", query=query)
|
||||
assert telegram._updater.bot.edit_message_text.call_count == 1
|
||||
assert telegram._app.bot.edit_message_text.call_count == 1
|
||||
assert not log_has_re(r"TelegramError: .*", caplog)
|
||||
|
||||
telegram._updater.bot.edit_message_text = MagicMock(side_effect=BadRequest(""))
|
||||
telegram._app.bot.edit_message_text = AsyncMock(side_effect=BadRequest(""))
|
||||
await telegram._send_msg('test2', callback_path="DeadBeef", query=query)
|
||||
assert telegram._updater.bot.edit_message_text.call_count == 1
|
||||
assert telegram._app.bot.edit_message_text.call_count == 1
|
||||
assert log_has_re(r"TelegramError: .*", caplog)
|
||||
|
||||
telegram._updater.bot.edit_message_text = MagicMock(side_effect=TelegramError("DeadBEEF"))
|
||||
telegram._app.bot.edit_message_text = AsyncMock(side_effect=TelegramError("DeadBEEF"))
|
||||
await telegram._send_msg('test3', callback_path="DeadBeef", query=query)
|
||||
|
||||
assert log_has_re(r"TelegramError: DeadBEEF! Giving up.*", caplog)
|
||||
@@ -2363,8 +2364,8 @@ async def test__send_msg_network_error(default_conf, mocker, caplog) -> None:
|
||||
bot = MagicMock()
|
||||
bot.send_message = MagicMock(side_effect=NetworkError('Oh snap'))
|
||||
telegram, _, _ = get_telegram_testobject(mocker, default_conf, mock=False)
|
||||
telegram._updater = MagicMock()
|
||||
telegram._updater.bot = bot
|
||||
telegram._app = MagicMock()
|
||||
telegram._app.bot = bot
|
||||
|
||||
telegram._config['telegram']['enabled'] = True
|
||||
await telegram._send_msg('test')
|
||||
@@ -2377,7 +2378,7 @@ async def test__send_msg_network_error(default_conf, mocker, caplog) -> None:
|
||||
async def test__send_msg_keyboard(default_conf, mocker, caplog) -> None:
|
||||
mocker.patch('freqtrade.rpc.telegram.Telegram._init', MagicMock())
|
||||
bot = MagicMock()
|
||||
bot.send_message = MagicMock()
|
||||
bot.send_message = AsyncMock()
|
||||
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
|
||||
rpc = RPC(freqtradebot)
|
||||
|
||||
@@ -2393,8 +2394,8 @@ async def test__send_msg_keyboard(default_conf, mocker, caplog) -> None:
|
||||
|
||||
def init_telegram(freqtradebot):
|
||||
telegram = Telegram(rpc, default_conf)
|
||||
telegram._updater = MagicMock()
|
||||
telegram._updater.bot = bot
|
||||
telegram._app = MagicMock()
|
||||
telegram._app.bot = bot
|
||||
return telegram
|
||||
|
||||
# no keyboard in config -> default keyboard
|
||||
|
||||
Reference in New Issue
Block a user