From 0929f59680f302b82b61a6894b9424c784892796 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 3 Dec 2018 20:48:51 +0100 Subject: [PATCH] Refactor pairlist-tests --- freqtrade/constants.py | 4 ++-- freqtrade/tests/pairlist/__init__.py | 0 .../{test_acl_pair.py => pairlist/test_pairlist.py} | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 freqtrade/tests/pairlist/__init__.py rename freqtrade/tests/{test_acl_pair.py => pairlist/test_pairlist.py} (89%) diff --git a/freqtrade/constants.py b/freqtrade/constants.py index c200137cb..e0799d46f 100644 --- a/freqtrade/constants.py +++ b/freqtrade/constants.py @@ -15,7 +15,7 @@ DEFAULT_DB_DRYRUN_URL = 'sqlite://' UNLIMITED_STAKE_AMOUNT = 'unlimited' REQUIRED_ORDERTYPES = ['buy', 'sell', 'stoploss', 'stoploss_on_exchange'] ORDERTYPE_POSSIBILITIES = ['limit', 'market'] - +AVAILABLE_PAIRLISTS = ['StaticPairList', 'VolumePairList'] TICKER_INTERVAL_MINUTES = { '1m': 1, @@ -127,7 +127,7 @@ CONF_SCHEMA = { 'whitelist': { 'type': 'object', 'properties': { - 'method': {'type': 'string'}, + 'method': {'type': 'string', 'enum': AVAILABLE_PAIRLISTS}, 'config': {'type': 'object'} }, 'required': ['method'] diff --git a/freqtrade/tests/pairlist/__init__.py b/freqtrade/tests/pairlist/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/freqtrade/tests/test_acl_pair.py b/freqtrade/tests/pairlist/test_pairlist.py similarity index 89% rename from freqtrade/tests/test_acl_pair.py rename to freqtrade/tests/pairlist/test_pairlist.py index 5acd9abda..d0a5bb1f6 100644 --- a/freqtrade/tests/test_acl_pair.py +++ b/freqtrade/tests/pairlist/test_pairlist.py @@ -3,6 +3,7 @@ from unittest.mock import MagicMock from freqtrade import OperationalException +from freqtrade.constants import AVAILABLE_PAIRLISTS from freqtrade.tests.conftest import get_patched_freqtradebot import pytest @@ -22,6 +23,9 @@ def whitelist_conf(default_conf): default_conf['exchange']['pair_blacklist'] = [ 'BLK/BTC' ] + default_conf['whitelist'] = {'method': 'StaticPairList', + 'config': {'number_assets': 3} + } return default_conf @@ -118,3 +122,11 @@ def test_gen_pair_whitelist_not_supported(mocker, default_conf, tickers) -> None with pytest.raises(OperationalException): get_patched_freqtradebot(mocker, default_conf) + + +@pytest.mark.parametrize("pairlist", AVAILABLE_PAIRLISTS) +def test_pairlist_class(mocker, whitelist_conf, pairlist): + whitelist_conf['whitelist']['method'] = pairlist + freqtrade = get_patched_freqtradebot(mocker, whitelist_conf) + assert freqtrade.pairlists.name == pairlist + # TODO: add more tests