Only return ohlcv if available (Live and dry modes)

This commit is contained in:
Matthias
2018-12-29 09:13:20 +01:00
parent 9edb88051d
commit 2b029b2a86
2 changed files with 18 additions and 3 deletions

View File

@@ -3,21 +3,33 @@ from unittest.mock import MagicMock
from pandas import DataFrame
from freqtrade.data.dataprovider import DataProvider
from freqtrade.state import RunMode
from freqtrade.tests.conftest import get_patched_exchange
def test_ohlcv(mocker, default_conf, ticker_history):
default_conf['runmode'] = RunMode.DRY_RUN
exchange = get_patched_exchange(mocker, default_conf)
exchange._klines['XRP/BTC'] = ticker_history
exchange._klines['UNITTEST/BTC'] = ticker_history
dp = DataProvider(default_conf, exchange)
assert dp.runmode == RunMode.DRY_RUN
assert ticker_history.equals(dp.ohlcv('UNITTEST/BTC'))
assert isinstance(dp.ohlcv('UNITTEST/BTC'), DataFrame)
assert dp.ohlcv('UNITTEST/BTC') is not ticker_history
assert dp.ohlcv('UNITTEST/BTC', copy=False) is ticker_history
assert dp.ohlcv('NONESENSE/AAA') is None
default_conf['runmode'] = RunMode.LIVE
dp = DataProvider(default_conf, exchange)
assert dp.runmode == RunMode.LIVE
assert isinstance(dp.ohlcv('UNITTEST/BTC'), DataFrame)
default_conf['runmode'] = RunMode.BACKTEST
dp = DataProvider(default_conf, exchange)
assert dp.runmode == RunMode.BACKTEST
assert dp.ohlcv('UNITTEST/BTC') is None
def test_historic_ohlcv(mocker, default_conf, ticker_history):