Example #1
0
def test_ruleset_to_config(register_builtin_html, monkeypatch, wato_use_git,
                           expected_result):
    monkeypatch.setattr(config, "wato_use_git", wato_use_git)

    ruleset = rulesets.Ruleset(
        "checkgroup_parameters:local",
        ruleset_matcher.get_tag_to_group_map(config.tags))
    ruleset.from_config(hosts_and_folders.Folder.root_folder(), [
        {
            "id": "1",
            "value": "VAL",
            "condition": {
                'host_name': ['HOSTLIST'],
                'service_description': [{
                    '$regex': 'SVC'
                }, {
                    '$regex': 'LIST'
                }],
            },
        },
        {
            "id": "2",
            "value": "VAL2",
            "condition": {
                'host_name': ['HOSTLIST'],
                'service_description': [{
                    '$regex': 'SVC'
                }, {
                    '$regex': 'LIST'
                }],
            },
        },
    ])
    assert ruleset.to_config(
        hosts_and_folders.Folder.root_folder()) == expected_result
Example #2
0
def test_rule_from_config_tuple(
    request_context,
    ruleset_name,
    rule_spec,
    expected_attributes,
    rule_options: Optional[RuleOptionsSpec],
):
    if rule_options is not None:
        rule_spec = rule_spec + (rule_options, )

    ruleset = rulesets.Ruleset(
        ruleset_name, ruleset_matcher.get_tag_to_group_map(active_config.tags))
    ruleset.from_config(hosts_and_folders.Folder.root_folder(), [rule_spec])
    rule = ruleset.get_folder_rules(hosts_and_folders.Folder.root_folder())[0]

    for key, val in expected_attributes.items():
        if key == "conditions":
            assert rule.conditions._to_config() == val
        else:
            assert getattr(rule, key) == val

    if rule_options is not None:
        assert rule.rule_options == RuleOptions.from_config(rule_options)
    else:
        assert rule.rule_options == RuleOptions.from_config({})
Example #3
0
def test_rule_from_config_tuple(register_builtin_html, ruleset_name, rule_spec,
                                expected_attributes, rule_options):
    if rule_options is not None:
        rule_spec = rule_spec + (rule_options, )

    ruleset = rulesets.Ruleset(
        ruleset_name, ruleset_matcher.get_tag_to_group_map(config.tags))
    ruleset.from_config(hosts_and_folders.Folder.root_folder(), [rule_spec])
    rule = ruleset.get_folder_rules(hosts_and_folders.Folder.root_folder())[0]

    for key, val in expected_attributes.items():
        if key == "conditions":
            assert rule.conditions._to_config() == val
        else:
            assert getattr(rule, key) == val

    if rule_options is not None:
        assert rule.rule_options == rule_options
    else:
        assert rule.rule_options == {}
Example #4
0
def test_ruleset_to_config_sub_folder(with_admin_login, monkeypatch,
                                      wato_use_git, expected_result):
    monkeypatch.setattr(active_config, "wato_use_git", wato_use_git)

    ruleset = rulesets.Ruleset(
        "checkgroup_parameters:local",
        ruleset_matcher.get_tag_to_group_map(active_config.tags))

    hosts_and_folders.Folder.create_missing_folders("abc")
    folder = hosts_and_folders.Folder.folder("abc")

    ruleset.from_config(
        folder,
        [
            {
                "id": "1",
                "value": "VAL",
                "condition": {
                    "host_name": ["HOSTLIST"],
                    "service_description": [{
                        "$regex": "SVC"
                    }, {
                        "$regex": "LIST"
                    }],
                },
            },
            {
                "id": "2",
                "value": "VAL2",
                "condition": {
                    "host_name": ["HOSTLIST"],
                    "service_description": [{
                        "$regex": "SVC"
                    }, {
                        "$regex": "LIST"
                    }],
                },
            },
        ],
    )
    assert ruleset.to_config(folder) == expected_result
Example #5
0
def test_ruleset_to_config_sub_folder(register_builtin_html, monkeypatch,
                                      load_config, wato_use_git,
                                      expected_result):
    monkeypatch.setattr(config, "wato_use_git", wato_use_git)

    ruleset = rulesets.Ruleset(
        "checkgroup_parameters:local",
        ruleset_matcher.get_tag_to_group_map(config.tags))

    monkeypatch.setattr(config, "user", config.LoggedInSuperUser())
    hosts_and_folders.Folder.create_missing_folders("abc")
    folder = hosts_and_folders.Folder.folder("abc")

    ruleset.from_config(folder, [
        {
            "id": "1",
            "value": "VAL",
            "condition": {
                'host_name': ['HOSTLIST'],
                'service_description': [{
                    '$regex': 'SVC'
                }, {
                    '$regex': 'LIST'
                }],
            },
        },
        {
            "id": "2",
            "value": "VAL2",
            "condition": {
                'host_name': ['HOSTLIST'],
                'service_description': [{
                    '$regex': 'SVC'
                }, {
                    '$regex': 'LIST'
                }],
            },
        },
    ])
    assert ruleset.to_config(folder) == expected_result
Example #6
0
def test_ruleset_to_config(request_context, monkeypatch, wato_use_git,
                           expected_result):
    monkeypatch.setattr(active_config, "wato_use_git", wato_use_git)

    ruleset = rulesets.Ruleset(
        "checkgroup_parameters:local",
        ruleset_matcher.get_tag_to_group_map(active_config.tags))
    ruleset.from_config(
        hosts_and_folders.Folder.root_folder(),
        [
            {
                "id": "1",
                "value": "VAL",
                "condition": {
                    "host_name": ["HOSTLIST"],
                    "service_description": [{
                        "$regex": "SVC"
                    }, {
                        "$regex": "LIST"
                    }],
                },
            },
            {
                "id": "2",
                "value": "VAL2",
                "condition": {
                    "host_name": ["HOSTLIST"],
                    "service_description": [{
                        "$regex": "SVC"
                    }, {
                        "$regex": "LIST"
                    }],
                },
            },
        ],
    )
    assert ruleset.to_config(
        hosts_and_folders.Folder.root_folder()) == expected_result
Example #7
0
def _rule(ruleset_name):
    ruleset = rulesets.Ruleset(
        ruleset_name, ruleset_matcher.get_tag_to_group_map(config.tags))
    return rulesets.Rule(hosts_and_folders.Folder.root_folder(), ruleset)
Example #8
0
def _ruleset(ruleset_name) -> rulesets.Ruleset:
    return rulesets.Ruleset(
        ruleset_name, ruleset_matcher.get_tag_to_group_map(active_config.tags))
Example #9
0
def _rule(ruleset_name):
    ruleset = rulesets.Ruleset(ruleset_name)
    return rulesets.Rule(hosts_and_folders.Folder.root_folder(), ruleset)