def test_load_plugins_none_loaded_config(self): plugin_manager = PluginManager('') with self.assertRaises(NoneLoadedConfigError) as e: plugin_manager._load_plugins() self.assertEquals( str(e.exception), "The configuration wasn't loaded for the plugin manager. " "Plugins can only instantiated after that." )
def test_load_plugins(self): with mock.patch('compose.plugin_manager.os.path.isdir') as mock_isdir, \ mock.patch('compose.plugin_manager.os.path.isfile') as mock_isfile, \ mock.patch('compose.plugin_manager.os.listdir') as mock_listdir, \ mock.patch('imp.load_source') as mock_load_source, \ mock.patch.object(Plugin, '__init__') as mock_plugin, \ mock.patch('os.walk') as mock_walk: mock_walk.return_value = [] mock_plugin.return_value = None plugin_manager = PluginManager('') plugin_manager.plugin_classes = None mock_load_source.return_value = self._get_helper_class({ 'plugin': Plugin }) mock_isdir.return_value = True mock_isfile.return_value = True mock_listdir.return_value = ['plugin_1', 'plugin_2'] plugin_manager.load_config('', {}) loaded_plugins = plugin_manager._load_plugins() self.assertEquals('plugin_1' in loaded_plugins.keys(), True) self.assertEquals('plugin_2' in loaded_plugins.keys(), True) self.assertEquals(isinstance(loaded_plugins['plugin_1'], Plugin), True) self.assertEquals(isinstance(loaded_plugins['plugin_2'], Plugin), True)