mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-05-04 23:52:14 +00:00
Postpone imports on demand
This commit is contained in:
@@ -90,16 +90,13 @@ def test_ask_user_overwrite(mocker):
|
||||
"""
|
||||
Once https://github.com/tmbo/questionary/issues/35 is implemented, improve this test.
|
||||
"""
|
||||
prompt_mock = mocker.patch(
|
||||
"freqtrade.commands.build_config_commands.prompt", return_value={"overwrite": False}
|
||||
)
|
||||
prompt_mock = mocker.patch("questionary.prompt", return_value={"overwrite": False})
|
||||
assert not ask_user_overwrite(Path("test.json"))
|
||||
assert prompt_mock.call_count == 1
|
||||
|
||||
prompt_mock.reset_mock()
|
||||
prompt_mock = mocker.patch(
|
||||
"freqtrade.commands.build_config_commands.prompt", return_value={"overwrite": True}
|
||||
)
|
||||
|
||||
prompt_mock = mocker.patch("questionary.prompt", return_value={"overwrite": True})
|
||||
assert ask_user_overwrite(Path("test.json"))
|
||||
assert prompt_mock.call_count == 1
|
||||
|
||||
@@ -108,14 +105,12 @@ def test_ask_user_config(mocker):
|
||||
"""
|
||||
Once https://github.com/tmbo/questionary/issues/35 is implemented, improve this test.
|
||||
"""
|
||||
prompt_mock = mocker.patch(
|
||||
"freqtrade.commands.build_config_commands.prompt", return_value={"overwrite": False}
|
||||
)
|
||||
prompt_mock = mocker.patch("questionary.prompt", return_value={"overwrite": False})
|
||||
answers = ask_user_config()
|
||||
assert isinstance(answers, dict)
|
||||
assert prompt_mock.call_count == 1
|
||||
|
||||
prompt_mock = mocker.patch("freqtrade.commands.build_config_commands.prompt", return_value={})
|
||||
prompt_mock = mocker.patch("questionary.prompt", return_value={})
|
||||
|
||||
with pytest.raises(OperationalException, match=r"User interrupted interactive questions\."):
|
||||
ask_user_config()
|
||||
|
||||
@@ -571,8 +571,12 @@ def test_create_datadir_failed(caplog):
|
||||
|
||||
|
||||
def test_create_datadir(caplog, mocker):
|
||||
cud = mocker.patch("freqtrade.commands.deploy_commands.create_userdata_dir", MagicMock())
|
||||
csf = mocker.patch("freqtrade.commands.deploy_commands.copy_sample_files", MagicMock())
|
||||
cud = mocker.patch(
|
||||
"freqtrade.configuration.directory_operations.create_userdata_dir", MagicMock()
|
||||
)
|
||||
csf = mocker.patch(
|
||||
"freqtrade.configuration.directory_operations.copy_sample_files", MagicMock()
|
||||
)
|
||||
args = ["create-userdir", "--userdir", "/temp/freqtrade/test"]
|
||||
start_create_userdir(get_args(args))
|
||||
|
||||
@@ -591,7 +595,7 @@ def test_start_new_strategy(mocker, caplog):
|
||||
assert "CoolNewStrategy" in wt_mock.call_args_list[0][0][0]
|
||||
assert log_has_re("Writing strategy to .*", caplog)
|
||||
|
||||
mocker.patch("freqtrade.commands.deploy_commands.setup_utils_configuration")
|
||||
mocker.patch("freqtrade.configuration.setup_utils_configuration")
|
||||
mocker.patch.object(Path, "exists", MagicMock(return_value=True))
|
||||
with pytest.raises(
|
||||
OperationalException, match=r".* already exists. Please choose another Strategy Name\."
|
||||
@@ -664,7 +668,7 @@ def test_download_and_install_ui(mocker, tmp_path):
|
||||
file_like_object.seek(0)
|
||||
requests_mock.content = file_like_object.read()
|
||||
|
||||
mocker.patch("freqtrade.commands.deploy_commands.requests.get", return_value=requests_mock)
|
||||
mocker.patch("requests.get", return_value=requests_mock)
|
||||
|
||||
mocker.patch("freqtrade.commands.deploy_commands.Path.is_dir", side_effect=[True, False])
|
||||
wb_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.write_bytes")
|
||||
@@ -689,9 +693,7 @@ def test_get_ui_download_url(mocker):
|
||||
[{"browser_download_url": "http://download.zip"}],
|
||||
]
|
||||
)
|
||||
get_mock = mocker.patch(
|
||||
"freqtrade.commands.deploy_commands.requests.get", return_value=response
|
||||
)
|
||||
get_mock = mocker.patch("requests.get", return_value=response)
|
||||
x, last_version = get_ui_download_url()
|
||||
assert get_mock.call_count == 2
|
||||
assert last_version == "0.0.1"
|
||||
@@ -714,9 +716,7 @@ def test_get_ui_download_url_direct(mocker):
|
||||
},
|
||||
]
|
||||
)
|
||||
get_mock = mocker.patch(
|
||||
"freqtrade.commands.deploy_commands.requests.get", return_value=response
|
||||
)
|
||||
get_mock = mocker.patch("requests.get", return_value=response)
|
||||
x, last_version = get_ui_download_url()
|
||||
assert get_mock.call_count == 1
|
||||
assert last_version == "0.0.2"
|
||||
@@ -734,7 +734,7 @@ def test_get_ui_download_url_direct(mocker):
|
||||
|
||||
def test_download_data_keyboardInterrupt(mocker, markets):
|
||||
dl_mock = mocker.patch(
|
||||
"freqtrade.commands.data_commands.download_data_main",
|
||||
"freqtrade.data.history.download_data_main",
|
||||
MagicMock(side_effect=KeyboardInterrupt),
|
||||
)
|
||||
patch_exchange(mocker)
|
||||
@@ -972,7 +972,7 @@ def test_download_data_data_invalid(mocker):
|
||||
|
||||
def test_start_convert_trades(mocker):
|
||||
convert_mock = mocker.patch(
|
||||
"freqtrade.commands.data_commands.convert_trades_to_ohlcv", MagicMock(return_value=[])
|
||||
"freqtrade.data.converter.convert_trades_to_ohlcv", MagicMock(return_value=[])
|
||||
)
|
||||
patch_exchange(mocker)
|
||||
mocker.patch(f"{EXMS}.get_markets")
|
||||
@@ -1522,7 +1522,7 @@ def test_hyperopt_show(mocker, capsys):
|
||||
mocker.patch(
|
||||
"freqtrade.optimize.hyperopt_tools.HyperoptTools._read_results", side_effect=fake_iterator
|
||||
)
|
||||
mocker.patch("freqtrade.commands.hyperopt_commands.show_backtest_result")
|
||||
mocker.patch("freqtrade.optimize.optimize_reports.show_backtest_result")
|
||||
|
||||
args = [
|
||||
"hyperopt-show",
|
||||
@@ -1579,8 +1579,8 @@ def test_hyperopt_show(mocker, capsys):
|
||||
|
||||
|
||||
def test_convert_data(mocker, testdatadir):
|
||||
ohlcv_mock = mocker.patch("freqtrade.commands.data_commands.convert_ohlcv_format")
|
||||
trades_mock = mocker.patch("freqtrade.commands.data_commands.convert_trades_format")
|
||||
ohlcv_mock = mocker.patch("freqtrade.data.converter.convert_ohlcv_format")
|
||||
trades_mock = mocker.patch("freqtrade.data.converter.convert_trades_format")
|
||||
args = [
|
||||
"convert-data",
|
||||
"--format-from",
|
||||
@@ -1601,8 +1601,8 @@ def test_convert_data(mocker, testdatadir):
|
||||
|
||||
|
||||
def test_convert_data_trades(mocker, testdatadir):
|
||||
ohlcv_mock = mocker.patch("freqtrade.commands.data_commands.convert_ohlcv_format")
|
||||
trades_mock = mocker.patch("freqtrade.commands.data_commands.convert_trades_format")
|
||||
ohlcv_mock = mocker.patch("freqtrade.data.converter.convert_ohlcv_format")
|
||||
trades_mock = mocker.patch("freqtrade.data.converter.convert_trades_format")
|
||||
args = [
|
||||
"convert-trade-data",
|
||||
"--format-from",
|
||||
|
||||
@@ -146,7 +146,7 @@ def test_load_backtest_data_multi(testdatadir):
|
||||
def test_load_trades_from_db(default_conf, fee, is_short, mocker):
|
||||
create_mock_trades(fee, is_short)
|
||||
# remove init so it does not init again
|
||||
init_mock = mocker.patch("freqtrade.data.btanalysis.init_db", MagicMock())
|
||||
init_mock = mocker.patch("freqtrade.persistence.init_db", MagicMock())
|
||||
|
||||
trades = load_trades_from_db(db_url=default_conf["db_url"])
|
||||
assert init_mock.call_count == 1
|
||||
|
||||
@@ -121,7 +121,7 @@ def test_main_operational_exception(mocker, default_conf, caplog) -> None:
|
||||
def test_main_operational_exception1(mocker, default_conf, caplog) -> None:
|
||||
patch_exchange(mocker)
|
||||
mocker.patch(
|
||||
"freqtrade.commands.list_commands.list_available_exchanges",
|
||||
"freqtrade.exchange.list_available_exchanges",
|
||||
MagicMock(side_effect=ValueError("Oh snap!")),
|
||||
)
|
||||
patched_configuration_load_config_file(mocker, default_conf)
|
||||
@@ -135,7 +135,7 @@ def test_main_operational_exception1(mocker, default_conf, caplog) -> None:
|
||||
assert log_has("Fatal exception!", caplog)
|
||||
assert not log_has_re(r"SIGINT.*", caplog)
|
||||
mocker.patch(
|
||||
"freqtrade.commands.list_commands.list_available_exchanges",
|
||||
"freqtrade.exchange.list_available_exchanges",
|
||||
MagicMock(side_effect=KeyboardInterrupt),
|
||||
)
|
||||
with pytest.raises(SystemExit):
|
||||
@@ -147,7 +147,7 @@ def test_main_operational_exception1(mocker, default_conf, caplog) -> None:
|
||||
def test_main_ConfigurationError(mocker, default_conf, caplog) -> None:
|
||||
patch_exchange(mocker)
|
||||
mocker.patch(
|
||||
"freqtrade.commands.list_commands.list_available_exchanges",
|
||||
"freqtrade.exchange.list_available_exchanges",
|
||||
MagicMock(side_effect=ConfigurationError("Oh snap!")),
|
||||
)
|
||||
patched_configuration_load_config_file(mocker, default_conf)
|
||||
|
||||
Reference in New Issue
Block a user