def test_ruleset_matcher_get_host_ruleset_values_tags_duplicate_ids( monkeypatch: MonkeyPatch, rule_spec: RuleConditionsSpec, expected_result: Sequence[RuleValue], ) -> None: ts = Scenario() add_tag_config = TagConfig.from_config( { "aux_tags": [], "tag_groups": [ { "id": "grp1", "tags": [ { "aux_tags": [], "id": "v1", "title": "Value1", }, ], "title": "Group 1", }, { "id": "grp2", "tags": [ { "aux_tags": [], "id": "v1", "title": "Value1", }, ], "title": "Group 2", }, ], } ) ts.tags += add_tag_config ts.add_host( "host", tags={ "grp1": "v1", }, ) config_cache = ts.apply(monkeypatch) matcher = config_cache.ruleset_matcher assert ( list( matcher.get_host_ruleset_values( RulesetMatchObject( host_name=HostName("host"), service_description=None, ), ruleset=[rule_spec], is_binary=False, ) ) == expected_result )
def fixture_tag_config(): tag_config = TagConfig.from_config({ "aux_tags": [{ "id": "aux_tag_1", "topic": "Auxiliary tags", "title": "Auxiliary tag 1", }], "tag_groups": [ { "id": "tag_grp_1", "topic": "Topic 1", "title": "Tag group 1", "tags": [ { "aux_tags": [], "id": "grp_1_tg_1", "title": "Tag 1.1", }, { "aux_tags": [], "id": "grp_1_tg_2", "title": "Tag 1.2", }, ], }, { "id": "tag_grp_2", "topic": "Topic 2", "title": "Tag group 2", "tags": [ { "aux_tags": [], "id": "grp_2_tg_1", "title": "Tag 2.1", }, { "aux_tags": [], "id": "grp_2_tg_2", "title": "Tag 2.2", }, ], }, { "id": "tag_grp_3", "topic": "Topic 3", "title": "Tag group 3", "tags": [ { "aux_tags": [], "id": "grp_3_tg_1", "title": "Tag 3.1", }, ], }, ], }) return tag_config
def _initialize_tag_config(self) -> None: tag_config = TagConfig.from_config(sample_tag_config()) TagConfigFile().save(tag_config.get_dict_format())