|
|
|
|
@ -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())
|
|
|
|
|
|