def test_tag_config_insert_tag_group_aux_tag_id_conflict(cfg: tags.TagConfig) -> None: cfg.aux_tag_list.append(tags.AuxTag(("bla", "BLAAAA"))) tg = tags.TagGroup( ( "tgid6", "Topics/titlor", [ ("bla", "tagid2", []), ], ) ) cfg.insert_tag_group(tg) cfg.validate_config() with pytest.raises(MKGeneralException, match="is used twice"): tg = tags.TagGroup( ( "bla", "Topics/titlor", [ ("tagid2", "tagid2", []), ], ) ) cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_update_tag_group(test_cfg): with pytest.raises(MKGeneralException, match="Unknown tag group"): test_cfg.update_tag_group( tags.TagGroup(("tgid2", "Topics/titlor", [("tgid2", "tagid2", [])]))) test_cfg.validate_config() test_cfg.update_tag_group(tags.TagGroup(("networking", "title", [("tgid2", "tagid2", [])]))) assert test_cfg.tag_groups[-2].title == "title" test_cfg.validate_config()
def test_tag_config_insert_tag_group_twice(cfg): cfg.insert_tag_group(tags.TagGroup(("tgid2", "Topics/titlor", [("tgid2", "tagid2", [])]))) assert cfg.tag_groups[-1].id == "tgid2" cfg.insert_tag_group(tags.TagGroup(("tgidX", "Topics/titlor", [("tgid2", "tagid2", [])]))) cfg.validate_config() with pytest.raises(MKGeneralException, match="is used twice"): cfg.insert_tag_group(tags.TagGroup(("tgid2", "Topics/titlor", [("tgid3", "tagid3", [])]))) cfg.validate_config()
def test_tag_config_insert_tag_group_aux_tag_id_conflict(cfg): cfg.aux_tag_list.append(tags.AuxTag(("bla", "BLAAAA"))) tg = tags.TagGroup(("tgid6", "Topics/titlor", [ ("bla", "tagid2", []), ])) cfg.insert_tag_group(tg) cfg.validate_config() with pytest.raises(MKUserError, match="is used twice"): tg = tags.TagGroup(("bla", "Topics/titlor", [ ("tagid2", "tagid2", []), ])) cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_insert_tag_group_missing_title(cfg): with pytest.raises(MKGeneralException, match="Please specify"): tg = tags.TagGroup() tg.id = "abc" tg.title = "" cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_insert_tag_group_missing_tag_not_unique(cfg): with pytest.raises(MKGeneralException, match="must be unique"): tg = tags.TagGroup(("tgid4", "Topics/titlor", [ ("ding", "tagid2", []), ("ding", "tagid3", []), ])) cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_insert_tag_group_missing_multiple_tags_empty(cfg): with pytest.raises(MKGeneralException, match="Only one tag may be empty"): tg = tags.TagGroup(("tgid3", "Topics/titlor", [ (None, "tagid2", []), ("", "tagid3", []), ])) cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_insert_tag_group_missing_id(cfg: tags.TagConfig) -> None: with pytest.raises(MKGeneralException, match="Please specify"): tg = tags.TagGroup(group_id="", title="title", help=None, topic=None, tags=[]) cfg.insert_tag_group(tg) cfg.validate_config()
def test_iadd_tag_config(test_cfg): cfg2 = tags.TagConfig() cfg2.insert_tag_group(tags.TagGroup(("tgid3", "Topics/titlor", [("tgid3", "tagid3", [])]))) cfg2.insert_tag_group(tags.TagGroup(("tgid2", "BLAAA", [("tgid2", "tagid2", [])]))) cfg2.aux_tag_list.append(tags.AuxTag(("blub", "BLUB"))) cfg2.aux_tag_list.append(tags.AuxTag(("bla", "BLUB"))) test_cfg += cfg2 assert len(test_cfg.tag_groups) == 5 assert test_cfg.tag_groups[0].id == "criticality" assert test_cfg.tag_groups[1].id == "networking" assert test_cfg.tag_groups[2].id == "none_choice" assert test_cfg.tag_groups[3].id == "tgid3" assert test_cfg.tag_groups[3].title == "titlor" aux_tags = test_cfg.get_aux_tags() assert len(aux_tags) == 2 assert aux_tags[0].id == "bla" assert aux_tags[0].title == u"bläää" assert aux_tags[1].id == "blub"
def test_tag_config_save(mocker): export_mock = mocker.patch.object(cmk.gui.watolib.tags, "_export_hosttags_to_php") config_file = TagConfigFile() cfg = tags.TagConfig() cfg.insert_tag_group(tags.TagGroup(("tgid2", "Topics/titlor", [("tgid2", "tagid2", [])]))) config_file.save(cfg.get_dict_format()) export_mock.assert_called_once() cfg = tags.TagConfig() cfg.parse_config(config_file.load_for_reading()) assert len(cfg.tag_groups) == 1 assert cfg.tag_groups[0].id == "tgid2"
def test_tag_config_insert_tag_group_no_tag(cfg: tags.TagConfig) -> None: with pytest.raises(MKGeneralException, match="at least one tag"): tg = tags.TagGroup(("tgid7", "Topics/titlor", [])) cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_insert_tag_group_missing_id(cfg: tags.TagConfig) -> None: with pytest.raises(MKGeneralException, match="Please specify"): tg = tags.TagGroup() tg.id = "" cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_insert_tag_group_no_tag(cfg): with pytest.raises(MKUserError, match="at least one tag"): tg = tags.TagGroup(("tgid7", "Topics/titlor", [])) cfg.insert_tag_group(tg) cfg.validate_config()
def test_tag_config_insert_tag_group_missing_id(cfg): with pytest.raises(MKUserError, match="Please specify"): tg = tags.TagGroup() tg.id = "" cfg.insert_tag_group(tg) cfg.validate_config()