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
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({})
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 == {}
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
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
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
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)
def _ruleset(ruleset_name) -> rulesets.Ruleset: return rulesets.Ruleset( ruleset_name, ruleset_matcher.get_tag_to_group_map(active_config.tags))
def _rule(ruleset_name): ruleset = rulesets.Ruleset(ruleset_name) return rulesets.Rule(hosts_and_folders.Folder.root_folder(), ruleset)