Ejemplo n.º 1
0
    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."
        )
Ejemplo n.º 2
0
    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)