示例#1
0
def test_has_prepare_playbook(config_instance):
    pb = os.path.join(config_instance.scenario.directory, 'prepare.yml')
    util.write_file(pb, '')

    p = prepare.Prepare(config_instance)

    assert p._has_prepare_playbook()
示例#2
0
def test_execute_skips_when_instances_already_prepared(
        patched_logger_warn, _patched_ansible_prepare, config_instance):
    config_instance.state.change_state('prepared', True)
    p = prepare.Prepare(config_instance)
    p.execute()

    msg = 'Skipping, instances already prepared.'
    patched_logger_warn.assert_called_once_with(msg)

    assert not _patched_ansible_prepare.called
示例#3
0
def test_execute_skips_when_playbook_not_configured(patched_logger_warn,
                                                    _patched_ansible_prepare,
                                                    config_instance):

    p = prepare.Prepare(config_instance)
    p.execute()

    msg = 'Skipping, prepare playbook not configured.'
    patched_logger_warn.assert_called_once_with(msg)

    assert not _patched_ansible_prepare.called
示例#4
0
def test_execute_when_instances_already_prepared_but_force_provided(
        mocker, patched_logger_warn, patched_ansible_prepare, config_instance):
    m = mocker.patch('molecule.command.prepare.Prepare._has_prepare_playbook')
    m.return_value = True
    config_instance.state.change_state('prepared', True)
    config_instance.command_args = {'force': True}

    p = prepare.Prepare(config_instance)
    p.execute()

    patched_ansible_prepare.assert_called_once_with()
示例#5
0
def test_execute_when_instances_already_prepared_but_force_provided(
        mocker, patched_logger_warn, _patched_ansible_prepare,
        config_instance):
    pb = os.path.join(config_instance.scenario.directory, 'prepare.yml')
    util.write_file(pb, '')

    config_instance.state.change_state('prepared', True)
    config_instance.command_args = {'force': True}

    p = prepare.Prepare(config_instance)
    p.execute()

    _patched_ansible_prepare.assert_called_once_with()
示例#6
0
def test_execute(mocker, patched_logger_info, _patched_ansible_prepare,
                 patched_config_validate, config_instance):
    pb = os.path.join(config_instance.scenario.directory, 'prepare.yml')
    util.write_file(pb, '')

    p = prepare.Prepare(config_instance)
    p.execute()

    x = [
        mocker.call("Scenario: 'default'"),
        mocker.call("Action: 'prepare'"),
    ]
    assert x == patched_logger_info.mock_calls

    _patched_ansible_prepare.assert_called_once_with()

    assert config_instance.state.prepared
示例#7
0
def test_execute_logs_deprecation_when_prepare_yml_missing(
        mocker, patched_logger_warn, command_patched_ansible_create,
        _patched_ansible_prepare, config_instance):
    m = mocker.patch('molecule.command.prepare.Prepare._has_prepare_playbook')
    m.return_value = False

    p = prepare.Prepare(config_instance)
    p.execute()

    msg = ('[DEPRECATION WARNING]:\n  The prepare playbook not found '
           'at {}/prepare.yml.  Please add one to the scenarios '
           'directory.').format(config_instance.scenario.directory)
    patched_logger_warn.assert_called_once_with(msg)

    assert not _patched_ansible_prepare.called

    assert config_instance.state.prepared
示例#8
0
def test_execute(mocker, patched_logger_info, _patched_ansible_prepare,
                 patched_config_validate, config_instance):
    m = mocker.patch('molecule.command.prepare.Prepare._has_prepare_playbook')
    m.return_value = True

    p = prepare.Prepare(config_instance)
    p.execute()

    x = [
        mocker.call("Scenario: 'default'"),
        mocker.call("Action: 'prepare'"),
    ]
    assert x == patched_logger_info.mock_calls

    _patched_ansible_prepare.assert_called_once_with()

    assert config_instance.state.prepared
示例#9
0
def test_execute(
    mocker,
    patched_logger_info,
    _patched_ansible_prepare,
    patched_config_validate,
    config_instance,
):
    pb = os.path.join(config_instance.scenario.directory, "prepare.yml")
    util.write_file(pb, "")

    p = prepare.Prepare(config_instance)
    p.execute()

    assert len(patched_logger_info.mock_calls) == 1
    name, args, kwargs = patched_logger_info.mock_calls[0]
    assert "default" in args
    assert "prepare" in args

    _patched_ansible_prepare.assert_called_once_with()

    assert config_instance.state.prepared
示例#10
0
def test_has_prepare_playbook(config_instance):
    p = prepare.Prepare(config_instance)

    assert not p._has_prepare_playbook()