enhance volumpairlist range test
This commit is contained in:
@@ -626,8 +626,9 @@ def test_VolumePairList_whitelist_gen(mocker, whitelist_conf, shitcoinmarkets, t
|
|||||||
# "lookback_timeframe": "1d", "lookback_period": 1, "refresh_period": 86400}],
|
# "lookback_timeframe": "1d", "lookback_period": 1, "refresh_period": 86400}],
|
||||||
# "BTC", "ftx", ['HOT/BTC', 'LTC/BTC', 'ETH/BTC', 'TKN/BTC', 'XRP/BTC']),
|
# "BTC", "ftx", ['HOT/BTC', 'LTC/BTC', 'ETH/BTC', 'TKN/BTC', 'XRP/BTC']),
|
||||||
])
|
])
|
||||||
def test_VolumePairList_range(mocker, whitelist_conf, shitcoinmarkets, tickers, ohlcv_history,
|
def test_VolumePairList_range(
|
||||||
pairlists, base_currency, exchange, volumefilter_result) -> None:
|
mocker, whitelist_conf, shitcoinmarkets, tickers, ohlcv_history,
|
||||||
|
pairlists, base_currency, exchange, volumefilter_result, time_machine) -> None:
|
||||||
whitelist_conf['pairlists'] = pairlists
|
whitelist_conf['pairlists'] = pairlists
|
||||||
whitelist_conf['stake_currency'] = base_currency
|
whitelist_conf['stake_currency'] = base_currency
|
||||||
whitelist_conf['exchange']['name'] = exchange
|
whitelist_conf['exchange']['name'] = exchange
|
||||||
@@ -686,23 +687,35 @@ def test_VolumePairList_range(mocker, whitelist_conf, shitcoinmarkets, tickers,
|
|||||||
get_tickers=tickers,
|
get_tickers=tickers,
|
||||||
markets=PropertyMock(return_value=shitcoinmarkets)
|
markets=PropertyMock(return_value=shitcoinmarkets)
|
||||||
)
|
)
|
||||||
|
start_dt = dt_now()
|
||||||
|
time_machine.move_to(start_dt)
|
||||||
# remove ohlcv when looback_timeframe != 1d
|
# remove ohlcv when looback_timeframe != 1d
|
||||||
# to enforce fallback to ticker data
|
# to enforce fallback to ticker data
|
||||||
if 'lookback_timeframe' in pairlists[0]:
|
if 'lookback_timeframe' in pairlists[0]:
|
||||||
if pairlists[0]['lookback_timeframe'] != '1d':
|
if pairlists[0]['lookback_timeframe'] != '1d':
|
||||||
ohlcv_data = []
|
ohlcv_data = []
|
||||||
|
|
||||||
mocker.patch.multiple(
|
ohclv_mock = mocker.patch(f"{EXMS}.refresh_latest_ohlcv", return_value=ohlcv_data)
|
||||||
EXMS,
|
|
||||||
refresh_latest_ohlcv=MagicMock(return_value=ohlcv_data),
|
|
||||||
)
|
|
||||||
|
|
||||||
freqtrade.pairlists.refresh_pairlist()
|
freqtrade.pairlists.refresh_pairlist()
|
||||||
whitelist = freqtrade.pairlists.whitelist
|
whitelist = freqtrade.pairlists.whitelist
|
||||||
|
assert ohclv_mock.call_count == 1
|
||||||
|
|
||||||
assert isinstance(whitelist, list)
|
assert isinstance(whitelist, list)
|
||||||
assert whitelist == volumefilter_result
|
assert whitelist == volumefilter_result
|
||||||
|
# Test caching
|
||||||
|
ohclv_mock.reset_mock()
|
||||||
|
freqtrade.pairlists.refresh_pairlist()
|
||||||
|
assert ohclv_mock.call_count == 0
|
||||||
|
whitelist = freqtrade.pairlists.whitelist
|
||||||
|
assert whitelist == volumefilter_result
|
||||||
|
|
||||||
|
time_machine.move_to(start_dt + timedelta(days=2))
|
||||||
|
ohclv_mock.reset_mock()
|
||||||
|
freqtrade.pairlists.refresh_pairlist()
|
||||||
|
assert ohclv_mock.call_count == 1
|
||||||
|
whitelist = freqtrade.pairlists.whitelist
|
||||||
|
assert whitelist == volumefilter_result
|
||||||
|
|
||||||
|
|
||||||
def test_PrecisionFilter_error(mocker, whitelist_conf) -> None:
|
def test_PrecisionFilter_error(mocker, whitelist_conf) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user