Ejemplo n.º 1
0
def test_execute_exits_when_ansible_lint_fails(
        mocker, patched_ansible_lint, patched_trailing, molecule_instance):
    patched_ansible_lint.side_effect = sh.ErrorReturnCode_2(sh.ls, None, None)

    v = verify.Verify({}, {}, molecule_instance)
    with pytest.raises(SystemExit):
        v.execute()

    patched_ansible_lint.assert_called_once_with(molecule_instance)
Ejemplo n.º 2
0
def test_execute_exits_when_command_fails_and_exit_flag_set(
        mocker, patched_ansible_lint, patched_trailing, patched_ssh_config,
        patched_print_error, molecule_instance):
    patched_testinfra = mocker.patch('molecule.verifier.testinfra.Testinfra')
    patched_testinfra.side_effect = sh.ErrorReturnCode_1(sh.ls, b'', b'')

    v = verify.Verify({}, {}, molecule_instance)
    with pytest.raises(SystemExit):
        v.execute()
Ejemplo n.º 3
0
def test_returns_when_command_fails_and_exit_flag_unset(
        mocker, patched_main, patched_ansible_lint, patched_trailing,
        patched_ssh_config, patched_logger_error, molecule_instance):
    mocked_testinfra = mocker.patch('molecule.verifier.testinfra.Testinfra')
    mocked_testinfra.side_effect = sh.ErrorReturnCode_1(sh.ls, None, None)

    v = verify.Verify([], dict(), molecule_instance)
    result = v.execute(exit=False)

    patched_logger_error.assert_called()
    assert (1, None) == result
Ejemplo n.º 4
0
def test_execute_returns_when_command_fails_and_exit_flag_unset(
        mocker, patched_ansible_lint, patched_trailing, patched_ssh_config,
        patched_print_error, molecule_instance):
    patched_testinfra = mocker.patch('molecule.verifier.testinfra.Testinfra')
    patched_testinfra.side_effect = sh.ErrorReturnCode_1(sh.ls, b'', b'')

    v = verify.Verify({}, {}, molecule_instance)
    result = v.execute(exit=False)

    patched_print_error.assert_called()
    assert (1, b'') == result
Ejemplo n.º 5
0
def test_execute(mocker, patched_ansible_lint, patched_trailing,
                 patched_ssh_config, patched_main, molecule_instance):
    mocked_testinfra = mocker.patch('molecule.verifier.testinfra.Testinfra')

    v = verify.Verify([], dict(), molecule_instance)
    result = v.execute()

    patched_ansible_lint.assert_called_once_with(molecule_instance)
    patched_trailing.assert_called_once_with(molecule_instance)
    mocked_testinfra.assert_called_once_with(molecule_instance)
    patched_ssh_config.assert_called_once()
    assert (None, None) == result
Ejemplo n.º 6
0
def test_execute(mocker, patched_logger_info, patched_testinfra,
                 config_instance):
    v = verify.Verify(config_instance)
    v.execute()
    x = [
        mocker.call('Scenario: [default]'),
        mocker.call('Verifier: [testinfra]')
    ]

    assert x == patched_logger_info.mock_calls

    patched_testinfra.assert_called_once_with()
Ejemplo n.º 7
0
def test_execute(mocker, patched_logger_info, patched_testinfra,
                 patched_config_validate, config_instance):
    v = verify.Verify(config_instance)
    v.execute()

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

    patched_testinfra.assert_called_once_with()
Ejemplo n.º 8
0
def test_execute_with_goss(mocker, patched_ansible_lint, patched_trailing,
                           patched_ssh_config, molecule_instance):
    molecule_instance.verifier = 'goss'
    patched_goss = mocker.patch('molecule.verifier.goss.Goss')

    v = verify.Verify({}, {}, molecule_instance)
    v.execute()

    patched_ansible_lint.assert_called_once_with(molecule_instance)
    patched_trailing.assert_called_once_with(molecule_instance)
    patched_goss.assert_called_once_with(molecule_instance)
    patched_ssh_config.assert_called_once()
Ejemplo n.º 9
0
def test_execute(
    mocker,
    patched_logger_info,
    patched_default_verifier,
    patched_config_validate,
    config_instance,
):
    v = verify.Verify(config_instance)
    v.execute()

    x = [mocker.call("Scenario: 'default'"), mocker.call("Action: 'verify'")]
    assert x == patched_logger_info.mock_calls
Ejemplo n.º 10
0
def test_exits_when_command_fails_and_exit_flag_set(
        mocker, patched_main, patched_ansible_lint, patched_trailing,
        patched_ssh_config, patched_logger_error, molecule_instance):
    mocked_testinfra = mocker.patch('molecule.verifier.testinfra.Testinfra')
    mocked_testinfra.side_effect = sh.ErrorReturnCode_1(sh.ls, None, None)

    v = verify.Verify([], dict(), molecule_instance)
    with pytest.raises(SystemExit):
        v.execute()

    msg = ("ERROR: \n\n  RAN: <Command '/bin/ls'>\n\n  "
           "STDOUT:\n<redirected>\n\n  STDERR:\n<redirected>")
    patched_logger_error.assert_called_once_with(msg)
Ejemplo n.º 11
0
def test_execute_with_serverspec(mocker, patched_ansible_lint,
                                 patched_trailing, patched_ssh_config,
                                 patched_main, molecule_instance):
    molecule_instance.verifier = 'serverspec'
    mocked_serverspec = mocker.patch('molecule.verifier.serverspec.Serverspec')

    v = verify.Verify([], dict(), molecule_instance)
    v.execute()

    patched_ansible_lint.assert_called_once_with(molecule_instance)
    patched_trailing.assert_called_once_with(molecule_instance)
    mocked_serverspec.assert_called_once_with(molecule_instance)
    patched_ssh_config.assert_called_once()
Ejemplo n.º 12
0
def test_execute(
    mocker,
    patched_logger_info,
    patched_default_verifier,
    patched_config_validate,
    config_instance,
):
    v = verify.Verify(config_instance)
    v.execute()

    assert len(patched_logger_info.mock_calls) == 1
    name, args, kwargs = patched_logger_info.mock_calls[0]
    assert "default" in args
    assert "verify" in args
Ejemplo n.º 13
0
def test_execute_exits_when_command_fails_and_exit_flag_set(
        mocker, patched_ansible_lint, patched_trailing, patched_ssh_config,
        patched_print_error, molecule_instance):
    patched_testinfra = mocker.patch('molecule.verifier.testinfra.Testinfra')
    patched_testinfra.side_effect = sh.ErrorReturnCode_1(sh.ls, None, None)

    v = verify.Verify({}, {}, molecule_instance)
    with pytest.raises(SystemExit):
        v.execute()

    ls_path = sh.which('ls')
    msg = ("\n\n  RAN: <Command '{}'>\n\n  "
           "STDOUT:\n<redirected>\n\n  STDERR:\n<redirected>").format(ls_path)
    patched_print_error.assert_called_once_with(msg)