示例#1
0
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()
示例#2
0
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()
示例#3
0
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()
示例#4
0
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()
示例#5
0
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()
示例#6
0
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()
示例#7
0
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()
示例#8
0
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()
示例#9
0
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"
示例#10
0
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"
示例#11
0
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()
示例#12
0
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()
示例#13
0
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()
示例#14
0
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()