add more tests
This commit is contained in:
parent
826eb85254
commit
2f6a61521f
@ -144,6 +144,76 @@ def test_available_pairs(mocker, default_conf, ohlcv_history):
|
|||||||
assert dp.available_pairs == [("XRP/BTC", timeframe), ("UNITTEST/BTC", timeframe), ]
|
assert dp.available_pairs == [("XRP/BTC", timeframe), ("UNITTEST/BTC", timeframe), ]
|
||||||
|
|
||||||
|
|
||||||
|
def test_producer_pairs(mocker, default_conf, ohlcv_history):
|
||||||
|
dataprovider = DataProvider(default_conf, None)
|
||||||
|
|
||||||
|
producer = "default"
|
||||||
|
whitelist = ["XRP/BTC", "ETH/BTC"]
|
||||||
|
assert len(dataprovider.get_producer_pairs(producer)) == 0
|
||||||
|
|
||||||
|
dataprovider._set_producer_pairs(whitelist, producer)
|
||||||
|
assert len(dataprovider.get_producer_pairs(producer)) == 2
|
||||||
|
|
||||||
|
new_whitelist = ["BTC/USDT"]
|
||||||
|
dataprovider._set_producer_pairs(new_whitelist, producer)
|
||||||
|
assert dataprovider.get_producer_pairs(producer) == new_whitelist
|
||||||
|
|
||||||
|
assert dataprovider.get_producer_pairs("bad") == []
|
||||||
|
|
||||||
|
|
||||||
|
def test_external_df(mocker, default_conf, ohlcv_history):
|
||||||
|
dataprovider = DataProvider(default_conf, None)
|
||||||
|
|
||||||
|
pair = 'BTC/USDT'
|
||||||
|
timeframe = default_conf['timeframe']
|
||||||
|
candle_type = CandleType.SPOT
|
||||||
|
|
||||||
|
empty_la = datetime.fromtimestamp(0, tz=timezone.utc)
|
||||||
|
|
||||||
|
# no data has been added, any request should return an empty dataframe
|
||||||
|
dataframe, la = dataprovider.get_external_df(pair, timeframe, candle_type)
|
||||||
|
assert dataframe.empty
|
||||||
|
assert la == empty_la
|
||||||
|
|
||||||
|
# the data is added, should return that added dataframe
|
||||||
|
dataprovider._add_external_df(pair, ohlcv_history, timeframe=timeframe, candle_type=candle_type)
|
||||||
|
dataframe, la = dataprovider.get_external_df(pair, timeframe, candle_type)
|
||||||
|
assert len(dataframe) > 0
|
||||||
|
assert la > empty_la
|
||||||
|
|
||||||
|
# no data on this producer, should return empty dataframe
|
||||||
|
dataframe, la = dataprovider.get_external_df(pair, producer_name='bad')
|
||||||
|
assert dataframe.empty
|
||||||
|
assert la == empty_la
|
||||||
|
|
||||||
|
# non existent timeframe, empty dataframe
|
||||||
|
datframe, la = dataprovider.get_external_df(pair, timeframe='1h')
|
||||||
|
assert dataframe.empty
|
||||||
|
assert la == empty_la
|
||||||
|
|
||||||
|
|
||||||
|
def test_emit_df(mocker, default_conf, ohlcv_history):
|
||||||
|
mocker.patch('freqtrade.rpc.rpc_manager.RPCManager.__init__', MagicMock())
|
||||||
|
rpc_mock = mocker.patch('freqtrade.rpc.rpc_manager.RPCManager', MagicMock())
|
||||||
|
send_mock = mocker.patch('freqtrade.rpc.rpc_manager.RPCManager.send_msg', MagicMock())
|
||||||
|
|
||||||
|
dataprovider = DataProvider(default_conf, exchange=None, rpc=rpc_mock)
|
||||||
|
dataprovider_no_rpc = DataProvider(default_conf, exchange=None)
|
||||||
|
|
||||||
|
pair = "BTC/USDT"
|
||||||
|
|
||||||
|
# No emit yet
|
||||||
|
assert send_mock.call_count == 0
|
||||||
|
|
||||||
|
# Rpc is added, we call emit, should call send_msg
|
||||||
|
dataprovider._emit_df(pair, ohlcv_history)
|
||||||
|
assert send_mock.call_count == 1
|
||||||
|
|
||||||
|
# No rpc added, emit called, should not call send_msg
|
||||||
|
dataprovider_no_rpc._emit_df(pair, ohlcv_history)
|
||||||
|
assert send_mock.call_count == 1
|
||||||
|
|
||||||
|
|
||||||
def test_refresh(mocker, default_conf, ohlcv_history):
|
def test_refresh(mocker, default_conf, ohlcv_history):
|
||||||
refresh_mock = MagicMock()
|
refresh_mock = MagicMock()
|
||||||
mocker.patch("freqtrade.exchange.Exchange.refresh_latest_ohlcv", refresh_mock)
|
mocker.patch("freqtrade.exchange.Exchange.refresh_latest_ohlcv", refresh_mock)
|
||||||
|
@ -158,6 +158,12 @@ def test_api_auth():
|
|||||||
with pytest.raises(HTTPException):
|
with pytest.raises(HTTPException):
|
||||||
get_user_from_token(b'not_a_token', 'secret1234')
|
get_user_from_token(b'not_a_token', 'secret1234')
|
||||||
|
|
||||||
|
# Check returning false instead of error on bad token
|
||||||
|
assert not get_user_from_token(b'not_a_token', 'secret1234', raise_on_error=False)
|
||||||
|
|
||||||
|
# Check returning false instead of error on bad token type
|
||||||
|
assert not get_user_from_token(token, 'secret1234', token_type='refresh', raise_on_error=False)
|
||||||
|
|
||||||
|
|
||||||
def test_api_ws_auth(botclient):
|
def test_api_ws_auth(botclient):
|
||||||
ftbot, client = botclient
|
ftbot, client = botclient
|
||||||
|
@ -7,10 +7,11 @@ from unittest.mock import MagicMock
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from freqtrade.misc import (decimals_per_coin, deep_merge_dicts, file_dump_json, file_load_json,
|
from freqtrade.misc import (dataframe_to_json, decimals_per_coin, deep_merge_dicts, file_dump_json,
|
||||||
format_ms_time, pair_to_filename, parse_db_uri_for_logging, plural,
|
file_load_json, format_ms_time, json_to_dataframe, pair_to_filename,
|
||||||
render_template, render_template_with_fallback, round_coin_value,
|
parse_db_uri_for_logging, plural, render_template,
|
||||||
safe_value_fallback, safe_value_fallback2, shorten_date)
|
render_template_with_fallback, round_coin_value, safe_value_fallback,
|
||||||
|
safe_value_fallback2, shorten_date)
|
||||||
|
|
||||||
|
|
||||||
def test_decimals_per_coin():
|
def test_decimals_per_coin():
|
||||||
@ -219,3 +220,14 @@ def test_deep_merge_dicts():
|
|||||||
|
|
||||||
res2['first']['rows']['test'] = 'asdf'
|
res2['first']['rows']['test'] = 'asdf'
|
||||||
assert deep_merge_dicts(a, deepcopy(b), allow_null_overrides=False) == res2
|
assert deep_merge_dicts(a, deepcopy(b), allow_null_overrides=False) == res2
|
||||||
|
|
||||||
|
|
||||||
|
def test_dataframe_json(ohlcv_history):
|
||||||
|
from pandas.testing import assert_frame_equal
|
||||||
|
json = dataframe_to_json(ohlcv_history)
|
||||||
|
dataframe = json_to_dataframe(json)
|
||||||
|
|
||||||
|
assert list(ohlcv_history.columns) == list(dataframe.columns)
|
||||||
|
assert len(ohlcv_history) == len(dataframe)
|
||||||
|
|
||||||
|
assert_frame_equal(ohlcv_history, dataframe)
|
||||||
|
Loading…
Reference in New Issue
Block a user