Add test for refresh_latest_ohlcv caching
This commit is contained in:
		| @@ -1564,13 +1564,16 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog) -> None: | ||||
|     pairs = [('IOTA/ETH', '5m'), ('XRP/ETH', '5m')] | ||||
|     # empty dicts | ||||
|     assert not exchange._klines | ||||
|     exchange.refresh_latest_ohlcv(pairs, cache=False) | ||||
|     res = exchange.refresh_latest_ohlcv(pairs, cache=False) | ||||
|     # No caching | ||||
|     assert not exchange._klines | ||||
|  | ||||
|     assert len(res) == len(pairs) | ||||
|     assert exchange._api_async.fetch_ohlcv.call_count == 2 | ||||
|     exchange._api_async.fetch_ohlcv.reset_mock() | ||||
|  | ||||
|     exchange.refresh_latest_ohlcv(pairs) | ||||
|     res = exchange.refresh_latest_ohlcv(pairs) | ||||
|     assert len(res) == len(pairs) | ||||
|  | ||||
|     assert log_has(f'Refreshing candle (OHLCV) data for {len(pairs)} pairs', caplog) | ||||
|     assert exchange._klines | ||||
| @@ -1587,12 +1590,16 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog) -> None: | ||||
|         assert exchange.klines(pair, copy=False) is exchange.klines(pair, copy=False) | ||||
|  | ||||
|     # test caching | ||||
|     exchange.refresh_latest_ohlcv([('IOTA/ETH', '5m'), ('XRP/ETH', '5m')]) | ||||
|     res = exchange.refresh_latest_ohlcv([('IOTA/ETH', '5m'), ('XRP/ETH', '5m')]) | ||||
|     assert len(res) == len(pairs) | ||||
|  | ||||
|     assert exchange._api_async.fetch_ohlcv.call_count == 2 | ||||
|     assert log_has(f"Using cached candle (OHLCV) data for pair {pairs[0][0]}, " | ||||
|                    f"timeframe {pairs[0][1]} ...", | ||||
|                    caplog) | ||||
|     res = exchange.refresh_latest_ohlcv([('IOTA/ETH', '5m'), ('XRP/ETH', '5m'), ('XRP/ETH', '1d')], | ||||
|                                         cache=False) | ||||
|     assert len(res) == 3 | ||||
|  | ||||
|  | ||||
| @pytest.mark.asyncio | ||||
|   | ||||
		Reference in New Issue
	
	Block a user