示例#1
0
def test_get_node_services(monkeypatch: MonkeyPatch) -> None:

    services = {
        discovery_status: Service(
            CheckPluginName(f"plugin_{discovery_status}"),
            None,
            "description",
            {},
        )
        for discovery_status in (
            "old",
            "vanished",
            "new",
        )
    }

    monkeypatch.setattr(
        _discovered_services,
        "_load_existing_services",
        lambda *args, **kwargs: [
            services["old"],
            services["vanished"],
        ],
    )

    monkeypatch.setattr(
        _discovered_services,
        "_discover_services",
        lambda *args, **kwargs: [
            services["old"],
            services["new"],
        ],
    )

    assert discovery._get_node_services(
        "horst",
        None,
        ParsedSectionsBroker({}),
        discovery.DiscoveryParameters(
            on_error="raise",
            load_labels=True,
            save_labels=True,
            only_host_labels=False,
        ),
        lambda hn, _svcdescr: hn,
    ) == {(service.check_plugin_name, None): (
        discovery_status,
        service,
        ["horst"],
    )
          for discovery_status, service in services.items()}
示例#2
0
])

DiscoveryTestCase = NamedTuple("DiscoveryTestCase", [
    ("parameters", discovery.DiscoveryParameters),
    ("expected_services", Set[Tuple[CheckPluginName, str]]),
    ("on_realhost", ExpectedDiscoveryResultRealHost),
    ("on_cluster", ExpectedDiscoveryResultCluster),
])

_discovery_test_cases = [
    # do discovery: only_new == True
    # discover on host: mode != "remove"
    DiscoveryTestCase(
        parameters=discovery.DiscoveryParameters(
            on_error="raise",
            load_labels=True,
            save_labels=True,
            only_host_labels=False,
        ),
        expected_services={
            (CheckPluginName('df'), '/boot/test-efi'),
            (CheckPluginName('df'), '/opt/omd/sites/test-heute/tmp'),
        },
        on_realhost=ExpectedDiscoveryResultRealHost(
            expected_vanished_host_labels=[
                HostLabel('existing_label', 'bar', SectionName('foo')),
                HostLabel('another_label', 'true', SectionName('labels')),
            ],
            expected_old_host_labels=[],
            expected_new_host_labels=[
                HostLabel('cmk/check_mk_server', 'yes', SectionName('labels')),
            ],