def test_load_plugins_by_module_discovery(self): entry_points = discover_plugin_modules(module_prefixes=['test']) plugins = load_plugins(entry_points, ext_registry=self.ext_registry) self.assertEqual(dict(test=dict(name='test', doc='A test plugin that registers test extensions')), plugins) self.assertTrue(self.ext_registry.has_extension('test.util.test_plugin', 'ext1')) self.assertTrue(self.ext_registry.has_extension('test.util.test_plugin', 'ext2')) self.assertTrue(self.ext_registry.has_extension('test.util.test_plugin', 'ext3'))
def test_load_plugins_by_entry_points(self): plugins = load_plugins([EntryPoint('test', init_plugin)], ext_registry=self.ext_registry) self.assertEqual( dict( test=dict(name='test', doc='A test plugin that registers test extensions')), plugins) self.assertTrue( self.ext_registry.has_extension('test.util.test_plugin', 'ext1')) self.assertTrue( self.ext_registry.has_extension('test.util.test_plugin', 'ext2')) self.assertTrue( self.ext_registry.has_extension('test.util.test_plugin', 'ext3'))
def test_load_plugins_by_failing_module_discovery(self): entry_points = discover_plugin_modules(module_prefixes=['random']) plugins = load_plugins(entry_points, ext_registry=self.ext_registry) self.assertEqual({}, plugins) self.assertEqual( [], self.ext_registry.find_components('test.util.test_plugin'))
def test_load_plugins_init_plugin_not_callable(self): plugins = load_plugins( [EntryPoint('test', "init_plugin_not_callable")], ext_registry=self.ext_registry) self.assertEqual({}, plugins) self.assertEqual([], self.ext_registry.find_components('test'))
def test_load_plugins_by_bad_init_plugin(self): plugins = load_plugins([EntryPoint('test', init_plugin_bad)], ext_registry=self.ext_registry) self.assertEqual({}, plugins) self.assertEqual( [], self.ext_registry.find_components('test.util.test_plugin'))
def test_load_plugins_not_callable(self): plugins = load_plugins([EntryPoint('test', "init_plugin_and_succeed")]) self.assertEqual({}, plugins)
def test_load_plugins_fail_call(self): plugins = load_plugins([EntryPoint('test', init_plugin_but_fail)]) self.assertEqual({}, plugins)
def test_load_plugins_fail_load(self): plugins = load_plugins([BadEntryPoint('test', init_plugin_and_succeed)]) self.assertEqual({}, plugins)
def test_load_plugins(self): global PLUGIN_INIT PLUGIN_INIT = False plugins = load_plugins([EntryPoint('test', init_plugin_and_succeed)]) self.assertEqual(dict(test=dict(entry_point='test')), plugins) self.assertEqual(True, PLUGIN_INIT)