예제 #1
0
def test_get_piggyback_raw_data_source_not_sending_anymore():
    assert piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age,
                                            "test-host") == [
                                                ('source1',
                                                 '<<<check_mk>>>\nlala\n')
                                            ]
    piggyback.store_piggyback_raw_data("source1", {})
    assert piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age,
                                            "test-host") == []
예제 #2
0
def test_get_piggyback_raw_data_outdate_old_pigs():
    assert piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age,
                                            "test-host") == [('source1', '<<<check_mk>>>\nlala\n')]

    # Fake age the test-host piggyback file
    os.utime(str(cmk.utils.paths.piggyback_dir / "test-host" / "source1"),
             (time.time() - 10, time.time() - 10))

    piggyback.store_piggyback_raw_data("source1", {"test-host2": [
        u"<<<check_mk>>>",
        u"lulu",
    ]})

    assert piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age, "test-host") == []
예제 #3
0
def test_store_piggyback_raw_data_second_source():
    time_settings = {(None, "max_cache_age"): piggyback_max_cachefile_age}

    piggyback.store_piggyback_raw_data(
        "source2", {"test-host": [
            u"<<<check_mk>>>",
            u"lulu",
        ]})

    for raw_data_info in piggyback.get_piggyback_raw_data(
            "test-host", time_settings):
        assert raw_data_info.source_hostname in ["source1", "source2"]
        if raw_data_info.source_hostname == "source1":
            assert raw_data_info.file_path.endswith('/test-host/source1')
            assert raw_data_info.successfully_processed is True
            assert raw_data_info.reason.startswith(
                "Successfully processed from source 'source1'")
            assert raw_data_info.reason_status == 0
            assert raw_data_info.raw_data == '<<<check_mk>>>\nlala\n'

        else:  # source2
            assert raw_data_info.file_path.endswith('/test-host/source2')
            assert raw_data_info.successfully_processed is True
            assert raw_data_info.reason.startswith(
                "Successfully processed from source 'source2'")
            assert raw_data_info.reason_status == 0
            assert raw_data_info.raw_data == '<<<check_mk>>>\nlulu\n'
예제 #4
0
def test_store_piggyback_raw_data_new_host():
    piggyback.store_piggyback_raw_data("source2", {"pig": [
        u"<<<check_mk>>>",
        u"lulu",
    ]})

    assert piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age, "pig") == [
        ('source2', '<<<check_mk>>>\nlulu\n'),
    ]
예제 #5
0
def test_get_piggyback_raw_data_successful():
    time_settings = {(None, "max_cache_age"): piggyback_max_cachefile_age}
    for raw_data_info in piggyback.get_piggyback_raw_data(
            "test-host", time_settings):
        assert raw_data_info.source_hostname == "source1"
        assert raw_data_info.file_path.endswith('/test-host/source1')
        assert raw_data_info.successfully_processed is True
        assert raw_data_info.reason == "Successfully processed from source 'source1'"
        assert raw_data_info.reason_status == 0
        assert raw_data_info.raw_data == '<<<check_mk>>>\nlala\n'
예제 #6
0
def test_get_piggyback_raw_data_too_old_global():
    time_settings = {(None, "max_cache_age"): -1}

    for raw_data_info in piggyback.get_piggyback_raw_data(
            "test-host", time_settings):
        assert raw_data_info.source_hostname == "source1"
        assert raw_data_info.file_path.endswith('/test-host/source1')
        assert raw_data_info.successfully_processed is False
        assert raw_data_info.reason.startswith("Piggyback file too old:")
        assert raw_data_info.reason_status == 0
        assert raw_data_info.raw_data == '<<<check_mk>>>\nlala\n'
예제 #7
0
def test_store_piggyback_raw_data_second_source():
    piggyback.store_piggyback_raw_data("source2", {"test-host": [
        u"<<<check_mk>>>",
        u"lulu",
    ]})

    assert sorted(piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age,
                                                   "test-host")) == sorted([
                                                       ('source1', '<<<check_mk>>>\nlala\n'),
                                                       ('source2', '<<<check_mk>>>\nlulu\n'),
                                                   ],)
예제 #8
0
def test_get_piggyback_raw_data_piggybacked_host_validity2(
        time_settings, successfully_processed, reason, reason_status):
    # Fake age the test-host piggyback file
    os.utime(str(cmk.utils.paths.piggyback_dir / "test-host" / "source1"),
             (time.time() - 10, time.time() - 10))

    for raw_data_info in piggyback.get_piggyback_raw_data(
            "test-host", time_settings):
        assert raw_data_info.source_hostname == "source1"
        assert raw_data_info.file_path.endswith('/test-host/source1')
        assert raw_data_info.successfully_processed is successfully_processed
        assert raw_data_info.reason == reason
        assert raw_data_info.reason_status == reason_status
        assert raw_data_info.raw_data == '<<<check_mk>>>\nlala\n'
예제 #9
0
def test_get_piggyback_raw_data_not_sending():
    time_settings = {(None, "max_cache_age"): piggyback_max_cachefile_age}

    source_status_file = cmk.utils.paths.piggyback_source_dir / "source1"
    if source_status_file.exists():
        os.remove(str(source_status_file))

    for raw_data_info in piggyback.get_piggyback_raw_data(
            "test-host", time_settings):
        assert raw_data_info.source_hostname == "source1"
        assert raw_data_info.file_path.endswith('/test-host/source1')
        assert raw_data_info.successfully_processed is False
        assert raw_data_info.reason == "Source 'source1' not sending piggyback data"
        assert raw_data_info.reason_status == 0
        assert raw_data_info.raw_data == '<<<check_mk>>>\nlala\n'
예제 #10
0
def test_get_piggyback_raw_data_source_validity2(time_settings,
                                                 successfully_processed,
                                                 reason, reason_status):
    source_status_file = cmk.utils.paths.piggyback_source_dir / "source1"
    if source_status_file.exists():
        os.remove(str(source_status_file))

    for raw_data_info in piggyback.get_piggyback_raw_data(
            "test-host", time_settings):
        assert raw_data_info.source_hostname == "source1"
        assert raw_data_info.file_path.endswith('/test-host/source1')
        assert raw_data_info.successfully_processed is successfully_processed
        assert raw_data_info.reason == reason
        assert raw_data_info.reason_status == reason_status
        assert raw_data_info.raw_data == '<<<check_mk>>>\nlala\n'
예제 #11
0
def test_get_piggyback_raw_data_not_updated():
    time_settings = {(None, "max_cache_age"): piggyback_max_cachefile_age}

    # Fake age the test-host piggyback file
    os.utime(str(cmk.utils.paths.piggyback_dir / "test-host" / "source1"),
             (time.time() - 10, time.time() - 10))

    for raw_data_info in piggyback.get_piggyback_raw_data(
            "test-host", time_settings):
        assert raw_data_info.source_hostname == "source1"
        assert raw_data_info.file_path.endswith('/test-host/source1')
        assert raw_data_info.successfully_processed is False
        assert raw_data_info.reason == "Piggyback file not updated by source 'source1'"
        assert raw_data_info.reason_status == 0
        assert raw_data_info.raw_data == '<<<check_mk>>>\nlala\n'
예제 #12
0
def test_store_piggyback_raw_data_new_host():
    time_settings = {(None, "max_cache_age"): piggyback_max_cachefile_age}

    piggyback.store_piggyback_raw_data("source2",
                                       {"pig": [
                                           u"<<<check_mk>>>",
                                           u"lulu",
                                       ]})

    for raw_data_info in piggyback.get_piggyback_raw_data(
            "pig", time_settings):
        assert raw_data_info.source_hostname == "source2"
        assert raw_data_info.file_path.endswith('/pig/source2')
        assert raw_data_info.successfully_processed is True
        assert raw_data_info.reason.startswith(
            "Successfully processed from source 'source2'")
        assert raw_data_info.reason_status == 0
        assert raw_data_info.raw_data == '<<<check_mk>>>\nlulu\n'
예제 #13
0
파일: piggyback.py 프로젝트: m4c3/checkMK
def _raw_data(name):
    return get_piggyback_raw_data(piggyback_max_cachefile_age, name)
예제 #14
0
def _raw_data(hostname, time_settings):
    return get_piggyback_raw_data(hostname, time_settings)
예제 #15
0
def test_get_piggyback_raw_data_no_data():
    time_settings = {(None, "max_cache_age"): piggyback_max_cachefile_age}
    assert piggyback.get_piggyback_raw_data("no-host", time_settings) == []
예제 #16
0
def test_get_piggyback_raw_data_no_data():
    assert piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age, "nohost") == []
예제 #17
0
def test_get_piggyback_raw_data():
    assert piggyback.get_piggyback_raw_data(piggyback_max_cachefile_age,
                                            "test-host") == [('source1', '<<<check_mk>>>\nlala\n')]