Пример #1
0
def test_start_new_config(mocker, caplog, exchange):
    wt_mock = mocker.patch.object(Path, "write_text", MagicMock())
    mocker.patch.object(Path, "exists", MagicMock(return_value=True))
    unlink_mock = mocker.patch.object(Path, "unlink", MagicMock())
    mocker.patch('freqtrade.commands.build_config_commands.ask_user_overwrite',
                 return_value=True)

    sample_selections = {
        'max_open_trades': 3,
        'stake_currency': 'USDT',
        'stake_amount': 100,
        'fiat_display_currency': 'EUR',
        'ticker_interval': '15m',
        'dry_run': True,
        'exchange_name': exchange,
        'exchange_key': 'sampleKey',
        'exchange_secret': 'Samplesecret',
        'telegram': False,
        'telegram_token': 'asdf1244',
        'telegram_chat_id': '1144444',
    }
    mocker.patch('freqtrade.commands.build_config_commands.ask_user_config',
                 return_value=sample_selections)
    args = ["new-config", "--config", "coolconfig.json"]
    start_new_config(get_args(args))

    assert log_has_re("Writing config to .*", caplog)
    assert wt_mock.call_count == 1
    assert unlink_mock.call_count == 1
    result = rapidjson.loads(wt_mock.call_args_list[0][0][0],
                             parse_mode=rapidjson.PM_COMMENTS
                             | rapidjson.PM_TRAILING_COMMAS)
    assert result['exchange']['name'] == exchange
    assert result['ticker_interval'] == '15m'
Пример #2
0
def test_start_new_config_exists(mocker, caplog):
    mocker.patch.object(Path, "exists", MagicMock(return_value=True))
    mocker.patch('freqtrade.commands.build_config_commands.ask_user_overwrite',
                 return_value=False)
    args = ["new-config", "--config", "coolconfig.json"]
    with pytest.raises(OperationalException,
                       match=r"Configuration .* already exists\."):
        start_new_config(get_args(args))