Refactor refresh_pairs to exchange and fix tests

This commit is contained in:
Matthias
2018-08-16 12:15:09 +02:00
parent e6e2799f03
commit ff8ed564f1
4 changed files with 39 additions and 47 deletions

View File

@@ -599,6 +599,33 @@ def test_get_history(default_conf, mocker, caplog):
assert len(ret) == 2
def test_refresh_tickers(mocker, default_conf, caplog) -> None:
tick = [
[
1511686200000, # unix timestamp ms
1, # open
2, # high
3, # low
4, # close
5, # volume (in quote currency)
]
]
caplog.set_level(logging.DEBUG)
exchange = get_patched_exchange(mocker, default_conf)
exchange._api_async.fetch_ohlcv = get_mock_coro(tick)
pairs = ['IOTA/ETH', 'XRP/ETH']
# empty dicts
assert not exchange.klines
exchange.refresh_tickers(['IOTA/ETH', 'XRP/ETH'], '5m')
assert log_has(f'Refreshing klines for {len(pairs)} pairs', caplog.record_tuples)
assert exchange.klines
for pair in pairs:
assert exchange.klines[pair]
@pytest.mark.asyncio
async def test__async_get_candle_history(default_conf, mocker, caplog):
tick = [

View File

@@ -44,7 +44,7 @@ def patch_get_signal(freqtrade: FreqtradeBot, value=(True, False)) -> None:
"""
freqtrade.strategy.get_signal = lambda e, s, t: value
freqtrade.exchange.get_candle_history = lambda p, i: None
freqtrade.refresh_tickers = lambda i: True
freqtrade.exchange.refresh_tickers = lambda p, i: True
def patch_RPCManager(mocker) -> MagicMock:
@@ -137,36 +137,6 @@ def test_throttle_with_assets(mocker, default_conf) -> None:
assert result == -1
def test_refresh_tickers(mocker, default_conf, caplog) -> None:
tick = [
[
1511686200000, # unix timestamp ms
1, # open
2, # high
3, # low
4, # close
5, # volume (in quote currency)
]
]
async def async_get_candles_history(pairlist, timeframe):
return [(pair, tick) for pair in pairlist]
caplog.set_level(logging.DEBUG)
freqtrade = get_patched_freqtradebot(mocker, default_conf)
freqtrade.exchange.async_get_candles_history = async_get_candles_history
pairs = ['IOTA/ETH', 'XRP/ETH']
# empty dicts
assert not freqtrade.exchange.klines
freqtrade.refresh_tickers(['IOTA/ETH', 'XRP/ETH'])
assert log_has(f'Refreshing klines for {len(pairs)} pairs', caplog.record_tuples)
assert freqtrade.exchange.klines
for pair in pairs:
assert freqtrade.exchange.klines[pair]
def test_gen_pair_whitelist(mocker, default_conf, tickers) -> None:
freqtrade = get_patched_freqtradebot(mocker, default_conf)
mocker.patch('freqtrade.exchange.Exchange.get_tickers', tickers)