Exemplo n.º 1
0
def test_start_filelock(mocker, default_conf, caplog) -> None:
    start_mock = MagicMock(side_effect=Timeout(HYPEROPT_LOCKFILE))
    mocker.patch('freqtrade.configuration.Configuration._load_config_file',
                 lambda *args, **kwargs: default_conf)
    mocker.patch('freqtrade.optimize.hyperopt.Hyperopt.start', start_mock)
    patch_exchange(mocker)

    args = ['--config', 'config.json', 'hyperopt', '--epochs', '5']
    args = get_args(args)
    start_hyperopt(args)
    assert log_has("Another running instance of freqtrade Hyperopt detected.",
                   caplog.record_tuples)
Exemplo n.º 2
0
def test_start_filelock(mocker, default_conf, caplog) -> None:
    start_mock = MagicMock(
        side_effect=Timeout(Hyperopt.get_lock_filename(default_conf)))
    patched_configuration_load_config_file(mocker, default_conf)
    mocker.patch('freqtrade.optimize.hyperopt.Hyperopt.start', start_mock)
    patch_exchange(mocker)

    args = ['--config', 'config.json', 'hyperopt', '--epochs', '5']
    args = get_args(args)
    start_hyperopt(args)
    assert log_has("Another running instance of freqtrade Hyperopt detected.",
                   caplog)
Exemplo n.º 3
0
def test_start(mocker, default_conf, caplog) -> None:
    start_mock = MagicMock()
    patched_configuration_load_config_file(mocker, default_conf)
    mocker.patch('freqtrade.optimize.hyperopt.Hyperopt.start', start_mock)
    patch_exchange(mocker)

    args = ['--config', 'config.json', 'hyperopt', '--epochs', '5']
    args = get_args(args)
    start_hyperopt(args)

    assert log_has('Starting freqtrade in Hyperopt mode', caplog)
    assert start_mock.call_count == 1
Exemplo n.º 4
0
def test_start_not_installed(mocker, default_conf, caplog,
                             import_fails) -> None:
    start_mock = MagicMock()
    patched_configuration_load_config_file(mocker, default_conf)

    mocker.patch('freqtrade.optimize.hyperopt.Hyperopt.start', start_mock)
    patch_exchange(mocker)

    args = ['--config', 'config.json', 'hyperopt', '--epochs', '5']
    args = get_args(args)

    with pytest.raises(OperationalException,
                       match=r"Please ensure that the hyperopt dependencies"):
        start_hyperopt(args)
def test_start_failure(mocker, default_conf, caplog) -> None:
    start_mock = MagicMock()
    patched_configuration_load_config_file(mocker, default_conf)
    mocker.patch('freqtrade.optimize.hyperopt.Hyperopt.start', start_mock)
    patch_exchange(mocker)

    args = [
        '--config', 'config.json', '--strategy', 'SampleStrategy', 'hyperopt',
        '--epochs', '5'
    ]
    args = get_args(args)
    with pytest.raises(DependencyException):
        start_hyperopt(args)
    assert log_has("Please don't use --strategy for hyperopt.", caplog)
Exemplo n.º 6
0
def test_start(mocker, default_conf, caplog) -> None:
    start_mock = MagicMock()
    mocker.patch('freqtrade.configuration.Configuration._load_config_file',
                 lambda *args, **kwargs: default_conf)
    mocker.patch('freqtrade.optimize.hyperopt.Hyperopt.start', start_mock)
    patch_exchange(mocker)

    args = ['--config', 'config.json', 'hyperopt', '--epochs', '5']
    args = get_args(args)
    start_hyperopt(args)

    import pprint
    pprint.pprint(caplog.record_tuples)

    assert log_has('Starting freqtrade in Hyperopt mode', caplog.record_tuples)
    assert start_mock.call_count == 1
Exemplo n.º 7
0
def test_start_no_data(mocker, default_conf, caplog) -> None:
    patched_configuration_load_config_file(mocker, default_conf)
    mocker.patch('freqtrade.optimize.hyperopt.load_data',
                 MagicMock(return_value={}))
    mocker.patch(
        'freqtrade.optimize.hyperopt.get_timeframe',
        MagicMock(return_value=(datetime(2017, 12, 10),
                                datetime(2017, 12, 13))))

    patch_exchange(mocker)

    args = ['--config', 'config.json', 'hyperopt', '--epochs', '5']
    args = get_args(args)
    start_hyperopt(args)

    assert log_has('No data found. Terminating.', caplog)
Exemplo n.º 8
0
def test_start_no_data(mocker, default_conf, caplog) -> None:
    patched_configuration_load_config_file(mocker, default_conf)
    mocker.patch('freqtrade.data.history.load_pair_history', MagicMock(return_value=pd.DataFrame))
    mocker.patch(
        'freqtrade.optimize.hyperopt.get_timeframe',
        MagicMock(return_value=(datetime(2017, 12, 10), datetime(2017, 12, 13)))
    )

    patch_exchange(mocker)

    args = [
        'hyperopt',
        '--config', 'config.json',
        '--hyperopt', 'DefaultHyperOpt',
        '--epochs', '5'
    ]
    args = get_args(args)
    with pytest.raises(OperationalException, match='No data found. Terminating.'):
        start_hyperopt(args)