示例#1
0
 def test_nested_subgroup_loop(self):
     repo = Repository()
     repo.add_group(Group("group1", {'subgroups': ["group2"]}))
     repo.add_group(Group("group2", {'subgroups': ["group1"]}))
     group = repo.get_group("group1")
     with self.assertRaises(RepositoryError):
         list(group.subgroups)
示例#2
0
 def test_simple_subgroups(self):
     repo = Repository()
     repo.add_group(Group("group1", {'subgroups': ["group2", "group3"]}))
     repo.add_group(Group("group2"))
     repo.add_group(Group("group3"))
     group = repo.get_group("group1")
     self.assertEqual(list(names(group.subgroups)), ["group2", "group3"])
示例#3
0
 def test_nested_subgroups(self):
     repo = Repository()
     repo.add_group(Group("group1", {'subgroups': ["group2"]}))
     repo.add_group(Group("group2", {'subgroups': ["group3"]}))
     repo.add_group(Group("group3", {'subgroups': []}))
     group = repo.get_group("group1")
     self.assertEqual(
         set(names(group.subgroups)),
         set(["group2", "group3"]),
     )
示例#4
0
    def test_no_members(self):
        def _get_group(group_name):
            group = MagicMock()
            if group_name == "group1":
                group.nodes = ["node1", "node2", "node3"]
            if group_name == "group2":
                group.nodes = ["node4"]
            if group_name == "group3":
                group.nodes = ["node2", "node3"]
            return group
        r = Repository()
        r.get_group = _get_group

        self.assertEqual(
            r.nodes_in_all_groups(["group1", "group2", "group3"]),
            [],
        )
示例#5
0
 def test_no_subgroups(self):
     repo = Repository()
     repo.add_group(Group("group1", {'subgroups': []}))
     group = repo.get_group("group1")
     self.assertEqual(list(names(group.subgroups)), [])