mirror of
https://github.com/freqtrade/freqtrade.git
synced 2025-12-03 18:43:04 +00:00
Add explicit test for "now_is_time_to_refresh
This commit is contained in:
@@ -1977,6 +1977,34 @@ def test_fetch_ticker(default_conf, mocker, exchange_name):
|
||||
exchange.fetch_ticker(pair='XRP/ETH')
|
||||
|
||||
|
||||
@pytest.mark.parametrize("exchange_name", EXCHANGES)
|
||||
def test___now_is_time_to_refresh(default_conf, mocker, exchange_name, time_machine):
|
||||
exchange = get_patched_exchange(mocker, default_conf, id=exchange_name)
|
||||
pair = 'BTC/USDT'
|
||||
candle_type = CandleType.SPOT
|
||||
start_dt = datetime(2023, 12, 1, 0, 10, 0, tzinfo=timezone.utc)
|
||||
time_machine.move_to(start_dt, tick=False)
|
||||
assert (pair, '5m', candle_type) not in exchange._pairs_last_refresh_time
|
||||
|
||||
# not refreshed yet
|
||||
assert exchange._now_is_time_to_refresh(pair, '5m', candle_type) is True
|
||||
|
||||
last_closed_candle = (start_dt - timedelta(minutes=5)).timestamp()
|
||||
exchange._pairs_last_refresh_time[(pair, '5m', candle_type)] = last_closed_candle
|
||||
|
||||
# next candle not closed yet
|
||||
time_machine.move_to(start_dt + timedelta(minutes=4, seconds=59), tick=False)
|
||||
assert exchange._now_is_time_to_refresh(pair, '5m', candle_type) is False
|
||||
|
||||
# next candle closed
|
||||
time_machine.move_to(start_dt + timedelta(minutes=5, seconds=0), tick=False)
|
||||
assert exchange._now_is_time_to_refresh(pair, '5m', candle_type) is True
|
||||
|
||||
# 1 second later (last_refresh_time didn't change)
|
||||
time_machine.move_to(start_dt + timedelta(minutes=5, seconds=1), tick=False)
|
||||
assert exchange._now_is_time_to_refresh(pair, '5m', candle_type) is True
|
||||
|
||||
|
||||
@pytest.mark.parametrize("exchange_name", EXCHANGES)
|
||||
@pytest.mark.parametrize('candle_type', ['mark', ''])
|
||||
def test_get_historic_ohlcv(default_conf, mocker, caplog, exchange_name, candle_type):
|
||||
|
||||
Reference in New Issue
Block a user