From 6e1c4c2efdf1d5bc982cb4b1d58d70ab87c37083 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 24 Nov 2024 10:36:09 +0100 Subject: [PATCH] test: add test-case for improved error-handling --- tests/data/test_datahandler.py | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/tests/data/test_datahandler.py b/tests/data/test_datahandler.py index 99af63eca..e9ffcc7a1 100644 --- a/tests/data/test_datahandler.py +++ b/tests/data/test_datahandler.py @@ -416,7 +416,17 @@ def test_hdf5datahandler_ohlcv_load_and_resave( ) @pytest.mark.parametrize("datahandler", ["hdf5", "feather", "parquet"]) def test_generic_datahandler_ohlcv_load_and_resave( - datahandler, testdatadir, tmp_path, pair, timeframe, candle_type, candle_append, startdt, enddt + datahandler, + mocker, + testdatadir, + tmp_path, + pair, + timeframe, + candle_type, + candle_append, + startdt, + enddt, + caplog, ): tmpdir2 = tmp_path if candle_type not in ("", "spot"): @@ -458,9 +468,26 @@ def test_generic_datahandler_ohlcv_load_and_resave( assert ohlcv[ohlcv["date"] > enddt].empty # Try loading inexisting file - ohlcv = dh.ohlcv_load("UNITTEST/NONEXIST", timeframe, candle_type=candle_type) + ohlcv = dh1.ohlcv_load("UNITTEST/NONEXIST", timeframe, candle_type=candle_type) assert ohlcv.empty + # Try loading a file that exists but errors + mocker.patch( + "freqtrade.data.history.datahandlers.featherdatahandler.read_feather", + side_effect=Exception("Test"), + ) + mocker.patch( + "freqtrade.data.history.datahandlers.parquetdatahandler.read_parquet", + side_effect=Exception("Test"), + ) + mocker.patch( + "freqtrade.data.history.datahandlers.hdf5datahandler.pd.read_hdf", + side_effect=Exception("Test"), + ) + ohlcv_e = dh1.ohlcv_load("UNITTEST/NEW", timeframe, candle_type=candle_type) + assert ohlcv_e.empty + assert log_has_re("Error loading data from", caplog) + def test_hdf5datahandler_ohlcv_purge(mocker, testdatadir): mocker.patch.object(Path, "exists", MagicMock(return_value=False))