Example #1
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"])
Example #2
0
 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"],
     )
Example #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"]),
     )
Example #4
0
 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"))
Example #5
0
    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')))
Example #6
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)), [])