Exemple #1
0
def test_respect_latest_run_after_rerun(mock_lookup_chronos_jobs):
    fake_job = {
        'name': 'service1 test-job',
        'lastSuccess': '2016-07-26T22:00:00+00:00',
        'lastError': '2016-07-26T22:01:00+00:00'
    }
    mock_lookup_chronos_jobs.side_effect = [[fake_job]]

    fake_configured_jobs = [('service1', 'chronos_job')]
    fake_client = Mock(list=Mock(return_value=[('service1', 'chronos_job')]))

    assert check_chronos_jobs.build_service_job_mapping(
        fake_client, fake_configured_jobs) == {
            ('service1', 'chronos_job'):
            [(fake_job, chronos_tools.LastRunState.Fail)]
        }

    # simulate a re-run where we now pass
    reran_job = {
        'name': 'service1 test-job',
        'lastSuccess': '2016-07-26T22:12:00+00:00',
    }
    reran_job = chronos_rerun.set_tmp_naming_scheme(reran_job)
    mock_lookup_chronos_jobs.side_effect = [[fake_job, reran_job]]
    assert check_chronos_jobs.build_service_job_mapping(
        fake_client, fake_configured_jobs) == {
            ('service1', 'chronos_job'):
            [(reran_job, chronos_tools.LastRunState.Success)]
        }
def test_respect_latest_run_after_rerun(mock_lookup_chronos_jobs):
    fake_job = {
        'name': 'service1 test-job',
        'lastSuccess': '2016-07-26T22:00:00+00:00',
        'lastError': '2016-07-26T22:01:00+00:00'
    }
    mock_lookup_chronos_jobs.side_effect = [[
        fake_job
    ]]

    fake_configured_jobs = [('service1', 'chronos_job')]
    fake_client = Mock(list=Mock(return_value=[('service1', 'chronos_job')]))

    assert check_chronos_jobs.build_service_job_mapping(fake_client, fake_configured_jobs) == {
        ('service1', 'chronos_job'): [(fake_job, chronos_tools.LastRunState.Fail)]
    }

    # simulate a re-run where we now pass
    reran_job = {
        'name': 'service1 test-job',
        'lastSuccess': '2016-07-26T22:12:00+00:00',
    }
    reran_job = chronos_rerun.set_tmp_naming_scheme(reran_job)
    mock_lookup_chronos_jobs.side_effect = [[
        fake_job,
        reran_job
    ]]
    assert check_chronos_jobs.build_service_job_mapping(fake_client, fake_configured_jobs) == {
        ('service1', 'chronos_job'): [(reran_job, chronos_tools.LastRunState.Success)]
    }
Exemple #3
0
def test_respect_latest_run_after_rerun(mock_filter_chronos_jobs):
    fake_job = {
        'name': 'service1 test-job',
        'lastSuccess': '2016-07-26T22:00:00+00:00',
        'lastError': '2016-07-26T22:01:00+00:00',
    }
    mock_filter_chronos_jobs.side_effect = [[
        fake_job,
    ]]

    fake_configured_jobs = [('service1', 'chronos_job')]
    fake_client = Mock()

    assert check_chronos_jobs.build_service_job_mapping(
        fake_client, fake_configured_jobs) == {
            ('service1', 'chronos_job'): fake_job,
        }
    fake_client.list.assert_called_once_with()

    # simulate a re-run where we now pass
    reran_job = {
        'name': 'service1 test-job',
        'lastSuccess': '2016-07-26T22:12:00+00:00',
    }
    reran_job = chronos_rerun.set_tmp_naming_scheme(reran_job)
    mock_filter_chronos_jobs.side_effect = [[
        fake_job,
        reran_job,
    ]]
    fake_client = Mock()
    assert check_chronos_jobs.build_service_job_mapping(
        fake_client, fake_configured_jobs) == {
            ('service1', 'chronos_job'): reran_job,
        }
    fake_client.list.assert_called_once_with()
def test_build_service_job_mapping(mock_last_run_state, mock_filter_enabled_jobs, mock_lookup_chronos_jobs):
    # iter() is a workaround
    # (http://lists.idyll.org/pipermail/testing-in-python/2013-April/005527.html)
    # for a bug in mock (http://bugs.python.org/issue17826)
    mock_lookup_chronos_jobs.side_effect = iter([[{}, {}, {}] for x in range(0, 3)])
    mock_filter_enabled_jobs.side_effect = iter([[{}, {}, {}] for x in range(0, 3)])
    mock_last_run_state.side_effect = iter([
        ('faketimestamp', chronos_tools.LastRunState.Success),
        ('faketimestamp', chronos_tools.LastRunState.Fail),
        ('faketimestamp', chronos_tools.LastRunState.NotRun),
    ] * 3)

    fake_configured_jobs = [('service1', 'main'), ('service2', 'main'), ('service3', 'main')]
    fake_client = Mock(list=Mock(return_value=[('service1', 'main'), ('service2', 'main'), ('service3', 'main')]))

    expected_job_states = [
        ({}, chronos_tools.LastRunState.Success),
        ({}, chronos_tools.LastRunState.Fail),
        ({}, chronos_tools.LastRunState.NotRun),
    ]

    expected = {
        ('service1', 'main'): expected_job_states,
        ('service2', 'main'): expected_job_states,
        ('service3', 'main'): expected_job_states,
    }
    assert check_chronos_jobs.build_service_job_mapping(fake_client, fake_configured_jobs) == expected
def test_build_service_job_mapping(mock_last_run_state,
                                   mock_filter_enabled_jobs,
                                   mock_lookup_chronos_jobs):
    # iter() is a workaround
    # (http://lists.idyll.org/pipermail/testing-in-python/2013-April/005527.html)
    # for a bug in mock (http://bugs.python.org/issue17826)
    mock_lookup_chronos_jobs.side_effect = iter([[{}, {}, {}]
                                                 for x in range(0, 3)])
    mock_filter_enabled_jobs.side_effect = iter([[{}, {}, {}]
                                                 for x in range(0, 3)])
    mock_last_run_state.side_effect = iter([
        ('faketimestamp', chronos_tools.LastRunState.Success),
        ('faketimestamp', chronos_tools.LastRunState.Fail),
        ('faketimestamp', chronos_tools.LastRunState.NotRun),
    ] * 3)

    fake_configured_jobs = [('service1', 'main'), ('service2', 'main'),
                            ('service3', 'main')]
    fake_client = Mock(list=Mock(
        return_value=[('service1', 'main'), ('service2',
                                             'main'), ('service3', 'main')]))

    expected_job_states = [
        ({}, chronos_tools.LastRunState.Success),
        ({}, chronos_tools.LastRunState.Fail),
        ({}, chronos_tools.LastRunState.NotRun),
    ]

    expected = {
        ('service1', 'main'): expected_job_states,
        ('service2', 'main'): expected_job_states,
        ('service3', 'main'): expected_job_states,
    }
    assert check_chronos_jobs.build_service_job_mapping(
        fake_client, fake_configured_jobs) == expected
def test_build_service_job_mapping(mock_filter_enabled_jobs, mock_lookup_chronos_jobs):
    services = ['service1', 'service2', 'service3']
    latest_time = '2016-07-26T22:03:00+00:00'
    fake_jobs = [[
        {
            'name': service + ' foo',
            'lastSuccess': '2016-07-26T22:02:00+00:00'
        },
        {
            'name': service + ' foo',
            'lastError': latest_time
        },
        {
            'name': service + ' foo'
        }
    ] for service in services]
    mock_lookup_chronos_jobs.side_effect = fake_jobs
    mock_filter_enabled_jobs.side_effect = [[{}, {}, {}] for _ in range(0, 3)]

    fake_configured_jobs = [('service1', 'main'), ('service2', 'main'), ('service3', 'main')]
    fake_client = Mock(list=Mock(return_value=[('service1', 'main'), ('service2', 'main'), ('service3', 'main')]))

    expected = {
        ('service1', 'main'): [({'name': 'service1 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
        ('service2', 'main'): [({'name': 'service2 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
        ('service3', 'main'): [({'name': 'service3 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
    }
    assert check_chronos_jobs.build_service_job_mapping(fake_client, fake_configured_jobs) == expected
def test_build_service_job_mapping(mock_filter_enabled_jobs, mock_lookup_chronos_jobs):
    # iter() is a workaround
    # (http://lists.idyll.org/pipermail/testing-in-python/2013-April/005527.html)
    # for a bug in mock (http://bugs.python.org/issue17826)
    services = ['service1', 'service2', 'service3']
    latest_time = '2016-07-26T22:03:00+00:00'
    fake_jobs = [[
        {
            'name': service + ' foo',
            'lastSuccess': '2016-07-26T22:02:00+00:00'
        },
        {
            'name': service + ' foo',
            'lastError': latest_time
        },
        {
            'name': service + ' foo'
        }
    ] for service in services]
    mock_lookup_chronos_jobs.side_effect = iter(fake_jobs)
    mock_filter_enabled_jobs.side_effect = iter([[{}, {}, {}] for x in range(0, 3)])

    fake_configured_jobs = [('service1', 'main'), ('service2', 'main'), ('service3', 'main')]
    fake_client = Mock(list=Mock(return_value=[('service1', 'main'), ('service2', 'main'), ('service3', 'main')]))

    expected = {
        ('service1', 'main'): [({'name': 'service1 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
        ('service2', 'main'): [({'name': 'service2 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
        ('service3', 'main'): [({'name': 'service3 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
    }
    assert check_chronos_jobs.build_service_job_mapping(fake_client, fake_configured_jobs) == expected
Exemple #8
0
def test_build_service_job_mapping(mock_filter_enabled_jobs, mock_lookup_chronos_jobs):
    services = ['service1', 'service2', 'service3']
    latest_time = '2016-07-26T22:03:00+00:00'
    fake_jobs = [[
        {
            'name': service + ' foo',
            'lastSuccess': '2016-07-26T22:02:00+00:00'
        },
        {
            'name': service + ' foo',
            'lastError': latest_time
        },
        {
            'name': service + ' foo'
        }
    ] for service in services]
    mock_lookup_chronos_jobs.side_effect = fake_jobs
    mock_filter_enabled_jobs.side_effect = [[{}, {}, {}] for _ in range(0, 3)]

    fake_configured_jobs = [('service1', 'main'), ('service2', 'main'), ('service3', 'main')]
    fake_client = Mock(list=Mock(return_value=[('service1', 'main'), ('service2', 'main'), ('service3', 'main')]))

    expected = {
        ('service1', 'main'): [({'name': 'service1 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
        ('service2', 'main'): [({'name': 'service2 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
        ('service3', 'main'): [({'name': 'service3 foo', 'lastError': latest_time}, chronos_tools.LastRunState.Fail)],
    }
    assert check_chronos_jobs.build_service_job_mapping(fake_client, fake_configured_jobs) == expected
Exemple #9
0
def test_build_service_job_mapping(mock_filter_enabled_jobs, mock_lookup_chronos_jobs):
    services = ['service1', 'service2', 'service3']
    latest_time = '2016-07-26T22:03:00+00:00'
    fake_jobs = [[
        {
            'name': service + ' foo',
            'lastSuccess': '2016-07-26T22:02:00+00:00'
        },
        {
            'name': service + ' foo',
            'lastError': latest_time
        },
        {
            'name': service + ' foo'
        }
    ] for service in services]
    fake_jobs.append([
        {
            'name': 'tmp-2017-06-13T123738942755 service4 foo',
            'lastError': latest_time,
        },
        {
            'name': 'service4 foo',
            'lastSuccess': '2016-07-26T22:02:00+00:00',
        },
        {
            'name': 'service4 foo',
        }
    ])
    mock_lookup_chronos_jobs.side_effect = fake_jobs
    mock_filter_enabled_jobs.side_effect = [[{}, {}, {}] for _ in range(0, 4)]

    fake_configured_jobs = [
        ('service1', 'main'),
        ('service2', 'main'),
        ('service3', 'main'),
        ('service4', 'main')
    ]
    fake_client = Mock(list=Mock(return_value=[
        ('service1', 'main'),
        ('service2', 'main'),
        ('service3', 'main'),
        ('service4', 'main')
    ]))

    expected = {
        ('service1', 'main'): {'name': 'service1 foo', 'lastError': latest_time},
        ('service2', 'main'): {'name': 'service2 foo', 'lastError': latest_time},
        ('service3', 'main'): {'name': 'service3 foo', 'lastError': latest_time},
        ('service4', 'main'): {'name': 'tmp-2017-06-13T123738942755 service4 foo', 'lastError': latest_time},
    }
    assert check_chronos_jobs.build_service_job_mapping(fake_client, fake_configured_jobs) == expected
Exemple #10
0
def test_build_service_job_mapping(mock_filter_enabled_jobs,
                                   mock_lookup_chronos_jobs):
    # iter() is a workaround
    # (http://lists.idyll.org/pipermail/testing-in-python/2013-April/005527.html)
    # for a bug in mock (http://bugs.python.org/issue17826)
    services = ['service1', 'service2', 'service3']
    latest_time = '2016-07-26T22:03:00+00:00'
    fake_jobs = [[{
        'name': service + ' foo',
        'lastSuccess': '2016-07-26T22:02:00+00:00'
    }, {
        'name': service + ' foo',
        'lastError': latest_time
    }, {
        'name': service + ' foo'
    }] for service in services]
    mock_lookup_chronos_jobs.side_effect = iter(fake_jobs)
    mock_filter_enabled_jobs.side_effect = iter([[{}, {}, {}]
                                                 for x in range(0, 3)])

    fake_configured_jobs = [('service1', 'main'), ('service2', 'main'),
                            ('service3', 'main')]
    fake_client = Mock(list=Mock(
        return_value=[('service1', 'main'), ('service2',
                                             'main'), ('service3', 'main')]))

    expected = {
        ('service1', 'main'): [({
            'name': 'service1 foo',
            'lastError': latest_time
        }, chronos_tools.LastRunState.Fail)],
        ('service2', 'main'): [({
            'name': 'service2 foo',
            'lastError': latest_time
        }, chronos_tools.LastRunState.Fail)],
        ('service3', 'main'): [({
            'name': 'service3 foo',
            'lastError': latest_time
        }, chronos_tools.LastRunState.Fail)],
    }
    assert check_chronos_jobs.build_service_job_mapping(
        fake_client, fake_configured_jobs) == expected
def test_build_service_job_mapping(mock_filter_enabled_jobs,
                                   mock_filter_chronos_jobs):
    services = ["service1", "service2", "service3"]
    latest_time = "2016-07-26T22:03:00+00:00"
    fake_jobs = [[
        {
            "name": service + " foo",
            "lastSuccess": "2016-07-26T22:02:00+00:00"
        },
        {
            "name": service + " foo",
            "lastError": latest_time
        },
        {
            "name": service + " foo"
        },
    ] for service in services]
    fake_jobs.append([
        {
            "name": "tmp-2017-06-13T123738942755 service4 foo",
            "lastError": latest_time,
        },
        {
            "name": "service4 foo",
            "lastSuccess": "2016-07-26T22:02:00+00:00"
        },
        {
            "name": "service4 foo"
        },
    ])
    mock_filter_chronos_jobs.side_effect = fake_jobs
    mock_filter_enabled_jobs.side_effect = [[{}, {}, {}] for _ in range(0, 4)]

    fake_configured_jobs = [
        ("service1", "main"),
        ("service2", "main"),
        ("service3", "main"),
        ("service4", "main"),
    ]
    fake_client = Mock()

    expected = {
        ("service1", "main"): {
            "name": "service1 foo",
            "lastError": latest_time
        },
        ("service2", "main"): {
            "name": "service2 foo",
            "lastError": latest_time
        },
        ("service3", "main"): {
            "name": "service3 foo",
            "lastError": latest_time
        },
        ("service4", "main"): {
            "name": "tmp-2017-06-13T123738942755 service4 foo",
            "lastError": latest_time,
        },
    }
    assert (check_chronos_jobs.build_service_job_mapping(
        fake_client, fake_configured_jobs) == expected)
    fake_client.list.assert_called_once_with()