Example #1
0
def test_store_piggyback_raw_data_second_source():
    time_settings = [(None, "max_cache_age", piggyback_max_cachefile_age)
                     ]  # type: piggyback.PiggybackTimeSettings

    piggyback.store_piggyback_raw_data(
        "source2", {"test-host": [
            b"<<<check_mk>>>",
            b"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 == b'<<<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 == b'<<<check_mk>>>\nlulu\n'
Example #2
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": [
        b"<<<check_mk>>>",
        b"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 == b'<<<check_mk>>>\nlulu\n'
Example #3
0
def test_get_source_and_piggyback_hosts():
    time_settings: piggyback.PiggybackTimeSettings = [
        (None, "max_cache_age", piggyback_max_cachefile_age)
    ]
    cmk.utils.paths.piggyback_source_dir.mkdir(parents=True, exist_ok=True)

    piggyback.store_piggyback_raw_data(
        HostName("source1"),
        {
            HostName("test-host2"): [
                b"<<<check_mk>>>",
                b"source1",
            ],
            HostName("test-host"): [
                b"<<<check_mk>>>",
                b"source1",
            ],
        },
    )

    # 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(
        HostName("source1"),
        {HostName("test-host2"): [
             b"<<<check_mk>>>",
             b"source1",
         ]},
    )

    piggyback.store_piggyback_raw_data(
        HostName("source2"),
        {
            HostName("test-host2"): [
                b"<<<check_mk>>>",
                b"source2",
            ],
            HostName("test-host"): [
                b"<<<check_mk>>>",
                b"source2",
            ],
        },
    )

    assert sorted(list(
        piggyback.get_source_and_piggyback_hosts(time_settings))) == sorted([
            (HostName("source1"), HostName("test-host2")),
            (HostName("source2"), HostName("test-host")),
            (HostName("source2"), HostName("test-host2")),
        ])
Example #4
0
def test_get_source_and_piggyback_hosts():
    time_settings = [(None, "max_cache_age", piggyback_max_cachefile_age)
                     ]  # type: piggyback.PiggybackTimeSettings
    cmk.utils.paths.piggyback_source_dir.mkdir(parents=True, exist_ok=True)

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

    # 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": [
            b"<<<check_mk>>>",
            b"source1",
        ]})

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

    assert sorted(list(
        piggyback.get_source_and_piggyback_hosts(time_settings))) == sorted([
            ('source1', 'test-host2'),
            ('source2', 'test-host'),
            ('source2', 'test-host2'),
        ])