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"])
def test_pattern_members(self, *args): repo = Repository() repo.add_node(Node("node1")) repo.add_node(Node("node2")) group = Group("all", { 'member_patterns': (r".*",) }) repo.add_group(group) self.assertEqual( list(names(group.nodes)), ["node1", "node2"], ) group2 = Group("group2", { 'member_patterns': (r".*2",)} ) repo.add_group(group2) self.assertEqual( list(names(group2.nodes)), ["node2"], )
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"]), )
def test_bundles(self): repo = Repository() repo.bundle_names = ("bundle1", "bundle2", "bundle3") n = Node("node1", {}) repo.add_node(n) g1 = Group("group1", {"bundles": ("bundle1", "bundle2")}) repo.add_group(g1) g2 = Group("group2", {"bundles": ("bundle3",)}) repo.add_group(g2) with patch("tests.unit.node_tests.Node.groups", new=(g1, g2)): self.assertEqual(tuple(names(n.bundles)), ("bundle1", "bundle2", "bundle3"))
def test_items(self, *args): class MyItem(Item): BUNDLE_ATTRIBUTE_NAME = 'attr1' ITEM_TYPE_NAME = 'mystuff' class MyOtherItem(Item): BUNDLE_ATTRIBUTE_NAME = 'attr3' ITEM_TYPE_NAME = 'mystuff3' node = MagicMock() node.repo.bundle_names = ("mybundle",) node.repo.item_classes = (MyItem, MyOtherItem) b = Bundle(node, "mybundle") self.assertEqual(set(names(b.items)), set(('name1', 'name2')))
def test_no_subgroups(self): repo = Repository() repo.add_group(Group("group1", {'subgroups': []})) group = repo.get_group("group1") self.assertEqual(list(names(group.subgroups)), [])