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_names(self): class TestObj(object): def __init__(self, name): self.name = name l = (TestObj("obj1"), TestObj("obj2")) self.assertEqual(list(utils.names(l)), ["obj1", "obj2"])
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_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_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_no_subgroups(self): repo = Repository() repo.add_group(Group("group1", {'subgroups': []})) group = repo.get_group("group1") self.assertEqual(list(names(group.subgroups)), [])