/locks should always respond, even if there's no locks

closes #4942
This commit is contained in:
Matthias 2021-05-15 10:50:00 +02:00
parent 0ace35bf3d
commit e1447f955c
2 changed files with 8 additions and 0 deletions

View File

@ -751,6 +751,9 @@ class Telegram(RPCHandler):
Returns the currently active locks Returns the currently active locks
""" """
rpc_locks = self._rpc._rpc_locks() rpc_locks = self._rpc._rpc_locks()
if not rpc_locks['locks']:
self._send_msg('No active locks.', parse_mode=ParseMode.HTML)
for locks in chunks(rpc_locks['locks'], 25): for locks in chunks(rpc_locks['locks'], 25):
message = tabulate([[ message = tabulate([[
lock['id'], lock['id'],

View File

@ -969,6 +969,11 @@ def test_telegram_lock_handle(default_conf, update, ticker, fee, mocker) -> None
) )
telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf) telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf)
patch_get_signal(freqtradebot, (True, False)) patch_get_signal(freqtradebot, (True, False))
telegram._locks(update=update, context=MagicMock())
assert msg_mock.call_count == 1
assert 'No active locks.' in msg_mock.call_args_list[0][0][0]
msg_mock.reset_mock()
PairLocks.lock_pair('ETH/BTC', arrow.utcnow().shift(minutes=4).datetime, 'randreason') PairLocks.lock_pair('ETH/BTC', arrow.utcnow().shift(minutes=4).datetime, 'randreason')
PairLocks.lock_pair('XRP/BTC', arrow.utcnow().shift(minutes=20).datetime, 'deadbeef') PairLocks.lock_pair('XRP/BTC', arrow.utcnow().shift(minutes=20).datetime, 'deadbeef')