def test_load_multiple_plugins_in_module(self): pm = StoqPluginManager([utils.get_invalid_plugins_dir()]) collected_plugins = pm.list_plugins() # The plugin should be collected even though it is invalid at load time self.assertIn('multiple_plugins_in_module', collected_plugins) with self.assertRaises(StoqException): pm.load_plugin('multiple_plugins_in_module')
def test_min_stoq_version(self): pm = StoqPluginManager([utils.get_invalid_plugins_dir()]) # We have to override the fact that all log calls are disabled in setUp() # for the calls here to actually go through logging.disable(logging.NOTSET) with self.assertLogs(level='WARNING'): plugin = pm.load_plugin('incompatible_min_stoq_version') self.assertIsNotNone(plugin)
def test_plugin_missing_objects(self): pm = StoqPluginManager([utils.get_invalid_plugins_dir()]) worker = pm.load_plugin('missing_config_objects') self.assertEqual('missing_config_objects', worker.plugin_name) self.assertEqual('', worker.__author__) self.assertEqual('', worker.__version__) self.assertEqual('', worker.__website__) self.assertEqual('', worker.__description__)
def test_collect_invalid_config(self): pm = StoqPluginManager([utils.get_invalid_plugins_dir()]) collected_plugins = pm.list_plugins() self.assertNotIn('missing_module', collected_plugins) self.assertNotIn('invalid_config', collected_plugins)