Capture exceptions in send_msg calls
This commit is contained in:
parent
0bd6ad55a1
commit
0c01b23cba
@ -78,6 +78,8 @@ class RPCManager:
|
|||||||
mod.send_msg(msg)
|
mod.send_msg(msg)
|
||||||
except NotImplementedError:
|
except NotImplementedError:
|
||||||
logger.error(f"Message type '{msg['type']}' not implemented by handler {mod.name}.")
|
logger.error(f"Message type '{msg['type']}' not implemented by handler {mod.name}.")
|
||||||
|
except Exception:
|
||||||
|
logger.exception('Exception occurred within RPC module %s', mod.name)
|
||||||
|
|
||||||
def process_msg_queue(self, queue: deque) -> None:
|
def process_msg_queue(self, queue: deque) -> None:
|
||||||
"""
|
"""
|
||||||
|
@ -82,6 +82,21 @@ def test_send_msg_telegram_disabled(mocker, default_conf, caplog) -> None:
|
|||||||
assert telegram_mock.call_count == 0
|
assert telegram_mock.call_count == 0
|
||||||
|
|
||||||
|
|
||||||
|
def test_send_msg_telegram_error(mocker, default_conf, caplog) -> None:
|
||||||
|
mocker.patch('freqtrade.rpc.telegram.Telegram._init', MagicMock())
|
||||||
|
mocker.patch('freqtrade.rpc.telegram.Telegram.send_msg', side_effect=ValueError())
|
||||||
|
|
||||||
|
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
|
||||||
|
rpc_manager = RPCManager(freqtradebot)
|
||||||
|
rpc_manager.send_msg({
|
||||||
|
'type': RPCMessageType.STATUS,
|
||||||
|
'status': 'test'
|
||||||
|
})
|
||||||
|
|
||||||
|
assert log_has("Sending rpc message: {'type': status, 'status': 'test'}", caplog)
|
||||||
|
assert log_has("Exception occurred within RPC module telegram", caplog)
|
||||||
|
|
||||||
|
|
||||||
def test_process_msg_queue(mocker, default_conf, caplog) -> None:
|
def test_process_msg_queue(mocker, default_conf, caplog) -> None:
|
||||||
telegram_mock = mocker.patch('freqtrade.rpc.telegram.Telegram.send_msg')
|
telegram_mock = mocker.patch('freqtrade.rpc.telegram.Telegram.send_msg')
|
||||||
mocker.patch('freqtrade.rpc.telegram.Telegram._init')
|
mocker.patch('freqtrade.rpc.telegram.Telegram._init')
|
||||||
|
Loading…
Reference in New Issue
Block a user