예제 #1
0
    def setUp(self, plugin_name='linux'):
        plugins_to_load = [
            'example_plugin', 'linux', 'linux_network', 'subscription_plugin',
            'virtual_machine_plugin', 'alert_plugin'
        ]

        assert plugin_name in plugins_to_load

        super(ResourceManagerTestCase, self).setUp()

        self.host = self._create_host(fqdn='myaddress.mycompany.com',
                                      nodename='myaddress.mycompany.com',
                                      address='myaddress.mycompany.com')

        self.manager = load_plugins(plugins_to_load)

        mock.patch(
            'chroma_core.lib.storage_plugin.manager.storage_plugin_manager',
            self.manager).start()

        self.resource_manager = ResourceManager()

        # Mock out the plugin queue otherwise we get all sorts of issues in ci. We really shouldn't
        # need all that ampq stuff just for the unit tests.
        mock.patch('chroma_core.services.queue.AgentRxQueue').start()

        self.plugin = AgentPluginHandlerCollection(
            self.resource_manager
        ).handlers[plugin_name]._create_plugin_instance(self.host)

        self.addCleanup(mock.patch.stopall)
예제 #2
0
    def setUp(self):
        super(TestLoad, self).setUp()

        import loadable_plugin
        self.loadable_plugin = loadable_plugin
        self.manager = load_plugins(['loadable_plugin'])
        self.assertEquals(self.manager.get_errored_plugins(), [])

        import chroma_core
        self.old_manager = chroma_core.lib.storage_plugin.manager.storage_plugin_manager
        chroma_core.lib.storage_plugin.manager.storage_plugin_manager = self.manager
    def setUp(self):
        super(TestStorageResourceResource, self).setUp()

        self.manager = load_plugins(['loadable_plugin'])
        self.assertEquals(self.manager.get_errored_plugins(), [])

        import chroma_core
        self.old_manager = chroma_core.lib.storage_plugin.manager.storage_plugin_manager
        chroma_core.lib.storage_plugin.manager.storage_plugin_manager = self.manager

        # Re-initialize queryset to pick up loaded plugins
        from chroma_api.storage_resource import StorageResourceResource, filter_class_ids
        from chroma_core.models import StorageResourceRecord
        StorageResourceResource._meta.queryset = StorageResourceRecord.objects.filter(resource_class__id__in = filter_class_ids())
예제 #4
0
    def setUp(self):
        super(TestReferenceAttribute, self).setUp()

        import chroma_core.lib.storage_plugin.manager
        self.original_mgr = chroma_core.lib.storage_plugin.manager.storage_plugin_manager

        mgr = load_plugins(['loadable_plugin'])
        chroma_core.lib.storage_plugin.manager.storage_plugin_manager = mgr

        from chroma_core.models import StorageResourceRecord
        resource_class, resource_class_id = mgr.get_plugin_resource_class('loadable_plugin', 'TestScannableResource')
        record, created = StorageResourceRecord.get_or_create_root(resource_class, resource_class_id, {'name': 'foobar'})
        self.record_pk = record.pk

        self.manager = mgr
예제 #5
0
 def test_load(self):
     """Test that the thousand_drives plugin used for stats load testing loads"""
     manager = load_plugins(['thousand_drives'])
     self.assertEquals(manager.get_errored_plugins(), [])
예제 #6
0
 def test_load(self):
     """Test that the example plugin used in documentation loads"""
     manager = load_plugins(['linux', 'example_plugin'])
     self.assertEquals(manager.get_errored_plugins(), [])
예제 #7
0
 def test_submodule(self):
     # Check we can load a plugin via a dotted reference
     mgr = load_plugins(['submodule.loadable_submodule_plugin'])
     self.assertEquals(mgr.get_errored_plugins(), [])
     # Check that the path has been stripped from the reference
     mgr.get_plugin_class('loadable_submodule_plugin')
예제 #8
0
 def test_dupemodule(self):
     manager = load_plugins(['loadable_plugin', 'loadable_plugin'])
     self.assertEqual(manager.get_errored_plugins(), ['loadable_plugin'])
예제 #9
0
 def test_2classes(self):
     manager = load_plugins(['unloadable_plugin_2classes'])
     self.assertEqual(manager.get_errored_plugins(),
                      ['unloadable_plugin_2classes'])
예제 #10
0
 def test_0classes(self):
     manager = load_plugins(["unloadable_plugin_0classes"])
     self.assertEqual(manager.get_errored_plugins(),
                      ["unloadable_plugin_0classes"])