def test_start_test_pairlist(mocker, caplog, tickers, default_conf, capsys): patch_exchange(mocker, mock_markets=True) mocker.patch.multiple('freqtrade.exchange.Exchange', exchange_has=MagicMock(return_value=True), get_tickers=tickers, ) default_conf['pairlists'] = [ { "method": "VolumePairList", "number_assets": 5, "sort_key": "quoteVolume", }, {"method": "PrecisionFilter"}, {"method": "PriceFilter", "low_price_ratio": 0.02}, ] patched_configuration_load_config_file(mocker, default_conf) args = [ 'test-pairlist', '-c', 'config.json.example' ] start_test_pairlist(get_args(args)) assert log_has_re(r"^Using resolved pairlist VolumePairList.*", caplog) assert log_has_re(r"^Using resolved pairlist PrecisionFilter.*", caplog) assert log_has_re(r"^Using resolved pairlist PriceFilter.*", caplog) captured = capsys.readouterr() assert re.match(r"Pairs for .*", captured.out) assert re.match("['ETH/BTC', 'TKN/BTC', 'BLK/BTC', 'LTC/BTC', 'XRP/BTC']", captured.out)
def test_start_test_pairlist(mocker, caplog, tickers, default_conf, capsys): patch_exchange(mocker, mock_markets=True) mocker.patch.multiple('freqtrade.exchange.Exchange', exchange_has=MagicMock(return_value=True), get_tickers=tickers, ) default_conf['pairlists'] = [ { "method": "VolumePairList", "number_assets": 5, "sort_key": "quoteVolume", }, {"method": "PrecisionFilter"}, {"method": "PriceFilter", "low_price_ratio": 0.02}, ] patched_configuration_load_config_file(mocker, default_conf) args = [ 'test-pairlist', '-c', 'config_bittrex.json.example' ] start_test_pairlist(get_args(args)) assert log_has_re(r"^Using resolved pairlist VolumePairList.*", caplog) assert log_has_re(r"^Using resolved pairlist PrecisionFilter.*", caplog) assert log_has_re(r"^Using resolved pairlist PriceFilter.*", caplog) captured = capsys.readouterr() assert re.match(r"Pairs for .*", captured.out) assert re.match("['ETH/BTC', 'TKN/BTC', 'BLK/BTC', 'LTC/BTC', 'XRP/BTC']", captured.out) args = [ 'test-pairlist', '-c', 'config_bittrex.json.example', '--one-column', ] start_test_pairlist(get_args(args)) captured = capsys.readouterr() assert re.match(r"ETH/BTC\nTKN/BTC\nBLK/BTC\nLTC/BTC\nXRP/BTC\n", captured.out) args = [ 'test-pairlist', '-c', 'config_bittrex.json.example', '--print-json', ] start_test_pairlist(get_args(args)) captured = capsys.readouterr() try: json_pairs = json.loads(captured.out) assert 'ETH/BTC' in json_pairs assert 'TKN/BTC' in json_pairs assert 'BLK/BTC' in json_pairs assert 'LTC/BTC' in json_pairs assert 'XRP/BTC' in json_pairs except json.decoder.JSONDecodeError: pytest.fail(f'Expected well formed JSON, but failed to parse: {captured.out}')