예제 #1
0
    def test_get_plugin_classes_valid_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('os.walk') as mock_walk:
            mock_walk.return_value = []
            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']

            self.assertEquals(plugin_manager._get_plugin_classes(), {
                'plugin_1': Plugin,
                'plugin_2': Plugin
            })
예제 #2
0
 def test_get_plugin_classes_invalid_dir(self):
     plugin_manager = PluginManager('')
     self.assertEquals(plugin_manager._get_plugin_classes(), {})