diff --git a/freqtrade/tests/data/test_dataprovider.py b/freqtrade/tests/data/test_dataprovider.py new file mode 100644 index 000000000..3eaa45abb --- /dev/null +++ b/freqtrade/tests/data/test_dataprovider.py @@ -0,0 +1,36 @@ +from unittest.mock import Mock, MagicMock, PropertyMock + +from pandas import DataFrame + +from freqtrade.data.dataprovider import DataProvider +from freqtrade.exchange import Exchange +from freqtrade.tests.conftest import get_patched_exchange, log_has + + +def test_ohlcv(mocker, default_conf, ticker_history): + + exchange = get_patched_exchange(mocker, default_conf) + exchange._klines['XRP/BTC'] = ticker_history + exchange._klines['UNITEST/BTC'] = ticker_history + dp = DataProvider(default_conf, exchange) + assert ticker_history.equals(dp.ohlcv('UNITEST/BTC')) + assert isinstance(dp.ohlcv('UNITEST/BTC'), DataFrame) + assert dp.ohlcv('UNITEST/BTC') is not ticker_history + assert dp.ohlcv('UNITEST/BTC', copy=False) is ticker_history + assert dp.ohlcv('NONESENSE/AAA') is None + + +def test_historic_ohlcv(mocker, default_conf, ticker_history): + + historymock = MagicMock(return_value=ticker_history) + mocker.patch('freqtrade.data.dataprovider.load_pair_history', historymock) + + # exchange = get_patched_exchange(mocker, default_conf) + dp = DataProvider(default_conf, None) + data = dp.historic_ohlcv('UNITTEST/BTC', "5m") + assert isinstance(data, DataFrame) + assert historymock.call_count == 1 + assert historymock.call_args_list[0][1]['datadir'] is None + assert historymock.call_args_list[0][1]['refresh_pairs'] == False + assert historymock.call_args_list[0][1]['ticker_interval'] == '5m' +