def test_plugins_are_valid(self, log_): plugins = fetch.plugins() if not six.PY3: self.assertEqual(len(fetch.FETCH_HANDLERS), len(plugins)) else: # No bzr or git libraries for Python3. self.assertEqual(len(fetch.FETCH_HANDLERS) - 2, len(plugins))
def test_skips_and_logs_missing_plugins(self, import_, log_): fetch_handlers = ['a.foo', 'b.foo', 'c.foo'] import_.side_effect = (ImportError, AttributeError, MagicMock()) plugins = fetch.plugins(fetch_handlers) self.assertEqual(1, len(plugins)) self.assertEqual(2, log_.call_count)
def test_imports_plugins(self, import_): fetch_handlers = ['a.foo', 'b.foo', 'c.foo'] module = MagicMock() import_.return_value = module plugins = fetch.plugins(fetch_handlers) self.assertEqual(len(fetch_handlers), len(plugins)) module.foo.assert_has_calls(([call()] * len(fetch_handlers)))
def test_imports_plugins_default(self, import_): module = MagicMock() import_.return_value = module plugins = fetch.plugins() self.assertEqual(len(fetch.FETCH_HANDLERS), len(plugins)) for handler in fetch.FETCH_HANDLERS: classname = handler.rsplit('.', 1)[-1] getattr(module, classname).assert_called_with()
def test_plugins_are_valid(self, import_module, log_): plugins = fetch.plugins() self.assertEqual(len(fetch.FETCH_HANDLERS), len(plugins))