From b1c68bc492e2db91557b981fdd6bec591ae13996 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste LE STANG Date: Fri, 29 Dec 2017 21:57:23 +0100 Subject: [PATCH] unit test to verify that black listed pairs are being removed from the pair_whitelist --- freqtrade/main.py | 2 +- freqtrade/tests/test_main.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/freqtrade/main.py b/freqtrade/main.py index eae95abee..aaa78cbda 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -64,7 +64,7 @@ def _process(nb_assets: Optional[int] = 0) -> bool: ) # Keep only the subsets of pairs wanted (up to nb_assets) - _CONF['exchange']['pair_whitelist'] = sanitized_list if (nb_assets == 0) else sanitized_list[:nb_assets] + _CONF['exchange']['pair_whitelist'] = sanitized_list[:nb_assets] if nb_assets else sanitized_list # Query trades from persistence layer trades = Trade.query.filter(Trade.is_open.is_(True)).all() diff --git a/freqtrade/tests/test_main.py b/freqtrade/tests/test_main.py index 037d6f836..8acb61f1a 100644 --- a/freqtrade/tests/test_main.py +++ b/freqtrade/tests/test_main.py @@ -179,6 +179,22 @@ def test_create_trade_no_pairs(default_conf, ticker, mocker): mocker.patch.dict('freqtrade.main._CONF', conf) create_trade(default_conf['stake_amount']) +def test_create_trade_no_pairs_after_blacklist(default_conf, ticker, mocker): + mocker.patch.dict('freqtrade.main._CONF', default_conf) + mocker.patch('freqtrade.main.get_signal', side_effect=lambda s, t: True) + mocker.patch.multiple('freqtrade.rpc', init=MagicMock(), send_msg=MagicMock()) + mocker.patch.multiple('freqtrade.main.exchange', + validate_pairs=MagicMock(), + get_ticker=ticker, + buy=MagicMock(return_value='mocked_limit_buy')) + + with pytest.raises(DependencyException, match=r'.*No pair in whitelist.*'): + conf = copy.deepcopy(default_conf) + conf['exchange']['pair_whitelist'] = ["BTC_ETH"] + conf['exchange']['pair_blacklist'] = ["BTC_ETH"] + mocker.patch.dict('freqtrade.main._CONF', conf) + create_trade(default_conf['stake_amount']) + def test_handle_trade(default_conf, limit_buy_order, limit_sell_order, mocker): mocker.patch.dict('freqtrade.main._CONF', default_conf)