예제 #1
0
def test_push_to_registry_run_fail(
    mock_exit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
):
    mock_build_command.return_value = 'docker push my-docker-registry/services-foo:paasta-asdf'
    mock_run.return_value = (1, 'Bad')
    args = MagicMock()
    paasta_push_to_registry(args)
    mock_exit.assert_called_once_with(1)
예제 #2
0
def test_push_to_registry_run_fail(
    mock_exit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
):
    mock_build_command.return_value = 'docker push my-docker-registry/services-foo:paasta-asdf'
    mock_run.return_value = (1, 'Bad')
    args = MagicMock()
    paasta_push_to_registry(args)
    mock_exit.assert_called_once_with(1)
예제 #3
0
def test_push_to_registry_force(
    mock_log_audit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(
        ["push-to-registry", "-s", "foo", "-c", "abcd" * 10, "--force"])
    mock_build_command.return_value = (
        "docker push fake_registry/services-foo:paasta-abcd")
    mock_run.return_value = (0, "Success")
    assert paasta_push_to_registry(args) == 0
    assert not mock_is_docker_image_already_in_registry.called
    mock_run.assert_called_once_with(
        "docker push fake_registry/services-foo:"
        "paasta-abcd",
        component="build",
        log=True,
        loglevel="debug",
        service="foo",
        timeout=3600,
    )
    mock_log_audit.assert_called_once_with(
        action="push-to-registry",
        action_details={"commit": "abcd" * 10},
        service="foo")
예제 #4
0
def test_push_to_registry_force(
    mock_log_audit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(
        ['push-to-registry', '-s', 'foo', '-c', 'abcd' * 10, '--force'])
    mock_build_command.return_value = 'docker push fake_registry/services-foo:paasta-abcd'
    mock_run.return_value = (0, 'Success')
    assert paasta_push_to_registry(args) == 0
    assert not mock_is_docker_image_already_in_registry.called
    mock_run.assert_called_once_with(
        'docker push fake_registry/services-foo:'
        'paasta-abcd',
        component='build',
        log=True,
        loglevel='debug',
        service='foo',
        timeout=3600,
    )
    mock_log_audit.assert_called_once_with(
        action='push-to-registry',
        action_details={'commit': 'abcd' * 10},
        service='foo',
    )
예제 #5
0
def test_push_to_registry_success(
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
):
    mock_build_command.return_value = 'docker push my-docker-registry/services-foo:paasta-asdf'
    mock_run.return_value = (0, 'Success')
    args = MagicMock()
    assert paasta_push_to_registry(args) == 0
def test_push_to_registry_success(
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
):
    mock_build_command.return_value = 'docker push my-docker-registry/services-foo:paasta-asdf'
    mock_run.return_value = (0, 'Success')
    args = MagicMock()
    assert paasta_push_to_registry(args) == 0
예제 #7
0
def test_push_to_registry_works_when_service_name_starts_with_services_dash(
    mock_build_command,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(['push-to-registry', '-s', 'foo', '-c', 'abcd' * 10])
    mock_run.return_value = (0, 'Success')
    mock_is_docker_image_already_in_registry.return_value = False
    assert paasta_push_to_registry(args) == 0
    mock_build_command.assert_called_once_with('foo', 'abcd' * 10)
예제 #8
0
def test_push_to_registry_works_when_service_name_starts_with_services_dash(
    mock_build_command,
    mock_log,
    mock_run,
    mock_validate_service_name,
):
    mock_run.return_value = (0, 'Success')
    args = MagicMock()
    args.service = 'fake_service'
    args.commit = 'unused'
    assert paasta_push_to_registry(args) == 0
    mock_build_command.assert_called_once_with('fake_service', 'unused')
def test_push_to_registry_works_when_service_name_starts_with_services_dash(
    mock_build_command,
    mock_log,
    mock_run,
    mock_validate_service_name,
):
    mock_run.return_value = (0, 'Success')
    args = MagicMock()
    args.service = 'fake_service'
    args.commit = 'unused'
    assert paasta_push_to_registry(args) == 0
    mock_build_command.assert_called_once_with('fake_service', 'unused')
예제 #10
0
def test_push_to_registry_run_fail(
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    mock_build_command.return_value = 'docker push my-docker-registry/services-foo:paasta-asdf'
    mock_is_docker_image_already_in_registry.return_value = False
    mock_run.return_value = (1, 'Bad')
    args = MagicMock()
    assert paasta_push_to_registry(args) == 1
예제 #11
0
def test_push_to_registry_does_not_override_existing_image(
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(['push-to-registry', '-s', 'foo', '-c', 'abcd' * 10])
    mock_run.return_value = (0, 'Success')
    mock_is_docker_image_already_in_registry.return_value = True
    assert paasta_push_to_registry(args) == 0
    assert not mock_build_command.called
    assert not mock_run.called
예제 #12
0
def test_push_to_registry_does_not_override_when_cant_check_status(
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(['push-to-registry', '-s', 'foo', '-c', 'abcd' * 10])
    mock_run.return_value = (0, 'Success')
    mock_is_docker_image_already_in_registry.side_effect = RequestException()
    assert paasta_push_to_registry(args) == 1
    assert not mock_build_command.called
    assert not mock_run.called
예제 #13
0
def test_push_to_registry_success(
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(['push-to-registry', '-s', 'foo', '-c', 'abcd' * 10])
    mock_build_command.return_value = 'docker push my-docker-registry/services-foo:paasta-asdf'
    mock_run.return_value = (0, 'Success')
    mock_is_docker_image_already_in_registry.return_value = False
    assert paasta_push_to_registry(args) == 0
    assert mock_build_command.called
    assert mock_run.called
예제 #14
0
def test_push_to_registry_does_not_override_existing_image(
    mock_log_audit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(["push-to-registry", "-s", "foo", "-c", "abcd" * 10])
    mock_run.return_value = (0, "Success")
    mock_is_docker_image_already_in_registry.return_value = True
    assert paasta_push_to_registry(args) == 0
    assert not mock_build_command.called
    assert not mock_run.called
    assert not mock_log_audit.called
예제 #15
0
def test_push_to_registry_does_not_override_when_cant_check_status(
    mock_log_audit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
    mock_load_system_paasta_config,
):
    args, _ = parse_args(["push-to-registry", "-s", "foo", "-c", "abcd" * 10])
    mock_run.return_value = (0, "Success")
    mock_is_docker_image_already_in_registry.side_effect = RequestException()
    assert paasta_push_to_registry(args) == 1
    assert not mock_build_command.called
    assert not mock_run.called
    assert not mock_log_audit.called
예제 #16
0
def test_push_to_registry_works_when_service_name_starts_with_services_dash(
    mock_build_command,
    mock_log_audit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(["push-to-registry", "-s", "foo", "-c", "abcd" * 10])
    mock_run.return_value = (0, "Success")
    mock_is_docker_image_already_in_registry.return_value = False
    assert paasta_push_to_registry(args) == 0
    mock_build_command.assert_called_once_with("foo", "abcd" * 10, None)
    mock_log_audit.assert_called_once_with(
        action="push-to-registry",
        action_details={"commit": "abcd" * 10},
        service="foo")
예제 #17
0
def test_push_to_registry_success(
    mock_log_audit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args(["push-to-registry", "-s", "foo", "-c", "abcd" * 10])
    mock_build_command.return_value = (
        "docker push my-docker-registry/services-foo:paasta-asdf")
    mock_run.return_value = (0, "Success")
    mock_is_docker_image_already_in_registry.return_value = False
    assert paasta_push_to_registry(args) == 0
    assert mock_build_command.called
    assert mock_run.called
    mock_log_audit.assert_called_once_with(
        action="push-to-registry",
        action_details={"commit": "abcd" * 10},
        service="foo")
예제 #18
0
def test_push_to_registry_with_image_version(
    mock_log_audit,
    mock_log,
    mock_run,
    mock_validate_service_name,
    mock_build_command,
    mock_is_docker_image_already_in_registry,
):
    args, _ = parse_args([
        "push-to-registry",
        "-s",
        "foo",
        "-c",
        "abcd" * 10,
        "--image-version",
        "extrastuff:this",
    ])

    mock_run.return_value = (0, "Success")
    mock_is_docker_image_already_in_registry.return_value = False
    assert paasta_push_to_registry(args) == 0
    mock_build_command.assert_called_once_with("foo", "abcd" * 10,
                                               "extrastuff:this")
    assert mock_run.called