Exemple #1
0
def test_ruleset_matcher_get_service_ruleset_values_labels(monkeypatch, hostname,
                                                           service_description, expected_result):
    ts = Scenario()

    ts.add_host("host1")
    ts.set_autochecks("host1", [
        Service("cpu.load",
                None,
                "CPU load",
                "{}",
                service_labels=DiscoveredServiceLabels(
                    ServiceLabel(u"os", u"linux"),
                    ServiceLabel(u"abc", u"xä"),
                    ServiceLabel(u"hu", u"ha"),
                ))
    ])

    ts.add_host("host2")
    ts.set_autochecks("host2", [
        Service("cpu.load", None, "CPU load", "{}", service_labels=DiscoveredServiceLabels()),
    ])

    config_cache = ts.apply(monkeypatch)
    matcher = config_cache.ruleset_matcher

    assert list(
        matcher.get_service_ruleset_values(config_cache.ruleset_match_object_of_service(
            hostname, service_description),
                                           ruleset=service_label_ruleset,
                                           is_binary=False)) == expected_result
Exemple #2
0
def test_host_ruleset_match_object_of_service(monkeypatch):
    ts = Scenario()
    ts.add_host("xyz")
    ts.add_host("test-host", tags={"agent": "no-agent"})
    ts.set_autochecks("test-host", [
        Service("cpu.load",
                None,
                "CPU load",
                "{}",
                service_labels=DiscoveredServiceLabels(ServiceLabel(u"abc", u"xä"),))
    ])
    config_cache = ts.apply(monkeypatch)

    obj = config_cache.ruleset_match_object_of_service("xyz", "bla blä")
    assert isinstance(obj, RulesetMatchObject)
    assert obj.to_dict() == {
        "host_name": "xyz",
        "service_description": "bla blä",
        "service_labels": {},
        "service_cache_id": ('bla bl\xc3\xa4', None),
    }

    obj = config_cache.ruleset_match_object_of_service("test-host", "CPU load")
    service_labels = {u"abc": u"xä"}
    assert isinstance(obj, RulesetMatchObject)
    assert obj.to_dict() == {
        "host_name": "test-host",
        "service_description": "CPU load",
        "service_labels": service_labels,
        "service_cache_id": ('CPU load', obj._generate_hash(service_labels)),
    }