def test_add_plugin_without_deps(self, mock_open, mock_settings): settings = mock.MagicMock() mock_settings.return_value = settings mock_open.return_value = mock.mock_open( read_data='{"plugin_test": false}').return_value plugins.add_plugin('plugin_test') mock_open.assert_called() mock_settings.assert_called_with('plugin_test')
def test_add_plugin_dep_already_installed(self, mock_open, mock_settings, mock_pip, mock_packages): settings = mock.MagicMock() settings.DEPENDENCIES = ['dep1'] mock_packages.return_value = ['dep1'] mock_settings.return_value = settings mock_open.return_value = mock.mock_open( read_data='{"plugin_test": false}').return_value plugins.add_plugin('plugin_test') mock_open.assert_called() mock_settings.assert_called_with('plugin_test') self.assertFalse(mock_pip.called)
def handle(self, *args, **options): availables_plugins = [] actived = False for _, name, _ in pkgutil.iter_modules(['plugins']): availables_plugins.append(name) if options['name'] == name: actived = True success = plugins.add_plugin(name) if success: click.secho('Plugin "{}" activated successfully!'.format( options['name']), fg='green') else: click.secho( 'Sorry! An error ocurred when installing plugin ' 'dependencies.'.format(options['name']), fg='red') if not actived: click.secho('Plugin "{}" not found! The availables plugins ' 'are:'.format(options['name']), fg='red') print(availables_plugins)