From 669076a29f511d07f4fe4e66869a8781d7ac0d25 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 19 Mar 2024 07:15:14 +0100 Subject: [PATCH] Add test to ensure configuration error is displayed as expected --- tests/test_main.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/test_main.py b/tests/test_main.py index 442e6e1d7..4b28c094f 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -8,7 +8,7 @@ import pytest from freqtrade.commands import Arguments from freqtrade.enums import State -from freqtrade.exceptions import FreqtradeException, OperationalException +from freqtrade.exceptions import ConfigurationError, FreqtradeException, OperationalException from freqtrade.freqtradebot import FreqtradeBot from freqtrade.main import main from freqtrade.worker import Worker @@ -141,6 +141,22 @@ def test_main_operational_exception1(mocker, default_conf, caplog) -> None: assert log_has_re(r'SIGINT.*', caplog) +def test_main_ConfigurationError(mocker, default_conf, caplog) -> None: + patch_exchange(mocker) + mocker.patch( + 'freqtrade.commands.list_commands.list_available_exchanges', + MagicMock(side_effect=ConfigurationError('Oh snap!')) + ) + patched_configuration_load_config_file(mocker, default_conf) + + args = ['list-exchanges'] + + # Test Main + the KeyboardInterrupt exception + with pytest.raises(SystemExit): + main(args) + assert log_has_re('Configuration error: Oh snap!', caplog) + + def test_main_reload_config(mocker, default_conf, caplog) -> None: patch_exchange(mocker) mocker.patch('freqtrade.freqtradebot.FreqtradeBot.cleanup', MagicMock())