Esempio n. 1
0
    def test_generated_items(self, get_all_attrs_from_file):
        def my_item_generator(node, bundle, item):
            generated_items = {'files': {}}
            if item.ITEM_TYPE_NAME == 'user':
                file_path = "/home/{}/.screenrc".format(item.name)
                generated_items['files'][file_path] = {
                    'content': "foo",
                }
            return generated_items

        get_all_attrs_from_file.return_value = {
            'item_generators': [
                'test.generator',
            ],
            'users': {
                'jdoe': {},
            },
        }
        repo = Repository()
        repo.bundle_names = ["generatingbundle"]
        repo.libs = MagicMock()
        repo.libs.test.generator = my_item_generator
        node = Node("node1", {'bundles': ["generatingbundle"]})
        repo.add_node(node)
        self.assertEqual(len(node.bundles[0]._generated_items), 1)
        generated_item = node.bundles[0]._generated_items[0]
        self.assertEqual(generated_item.id, "file:/home/jdoe/.screenrc")
Esempio n. 2
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"),
         )