summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeniz Turgut <dturgut@gmail.com>2020-04-14 01:44:34 +0300
committerDeniz Turgut <dturgut@gmail.com>2020-04-14 23:52:46 +0300
commitaa176b7939c017541887f160bbc948c9b37daa73 (patch)
treedd1759567d4908a28c0aa856243f22f4b85b8e1d
parente10dcfc5e7a9beff6cce398bb56e78263b021d1e (diff)
downloadpelican-aa176b7939c017541887f160bbc948c9b37daa73.tar.gz
Account for existing namespace plugins in plugin tests
-rw-r--r--pelican/tests/test_plugins.py37
1 files changed, 20 insertions, 17 deletions
diff --git a/pelican/tests/test_plugins.py b/pelican/tests/test_plugins.py
index 1adbbb5c..4f62c4a5 100644
--- a/pelican/tests/test_plugins.py
+++ b/pelican/tests/test_plugins.py
@@ -66,35 +66,38 @@ class PluginTest(unittest.TestCase):
self.assertEqual(pelican.__path__, old_path)
def test_get_namespace_plugins(self):
- # without plugins
- ns_plugins = get_namespace_plugins()
- self.assertEqual(len(ns_plugins), 0)
+ # existing namespace plugins
+ existing_ns_plugins = get_namespace_plugins()
# with plugin
with tmp_namespace_path(self._NS_PLUGIN_FOLDER):
ns_plugins = get_namespace_plugins()
- self.assertEqual(len(ns_plugins), 1)
+ self.assertEqual(len(ns_plugins), len(existing_ns_plugins)+1)
self.assertIn('pelican.plugins.ns_plugin', ns_plugins)
self.assertEqual(
ns_plugins['pelican.plugins.ns_plugin'].NAME,
'namespace plugin')
- # should be back to 0 outside `with`
+ # should be back to existing namespace plugins outside `with`
ns_plugins = get_namespace_plugins()
- self.assertEqual(len(ns_plugins), 0)
+ self.assertEqual(ns_plugins, existing_ns_plugins)
def test_load_plugins(self):
- # no plugins
- plugins = load_plugins({})
- self.assertEqual(len(plugins), 0)
+ def get_plugin_names(plugins):
+ return set(
+ plugin.NAME if hasattr(plugin, 'NAME') else plugin.__name__
+ for plugin in plugins)
+
+ # existing namespace plugins
+ existing_ns_plugins = load_plugins({})
with tmp_namespace_path(self._NS_PLUGIN_FOLDER):
# with no `PLUGINS` setting, load namespace plugins
plugins = load_plugins({})
- self.assertEqual(len(plugins), 1, plugins)
+ self.assertEqual(len(plugins), len(existing_ns_plugins)+1, plugins)
self.assertEqual(
- {'namespace plugin'},
- set(plugin.NAME for plugin in plugins))
+ {'namespace plugin'} | get_plugin_names(existing_ns_plugins),
+ get_plugin_names(plugins))
# disable namespace plugins with `PLUGINS = []`
SETTINGS = {
@@ -103,7 +106,7 @@ class PluginTest(unittest.TestCase):
plugins = load_plugins(SETTINGS)
self.assertEqual(len(plugins), 0, plugins)
- # using `PLUGINS`
+ # with `PLUGINS`, load only specified plugins
# normal plugin
SETTINGS = {
@@ -114,7 +117,7 @@ class PluginTest(unittest.TestCase):
self.assertEqual(len(plugins), 1, plugins)
self.assertEqual(
{'normal plugin'},
- set(plugin.NAME for plugin in plugins))
+ get_plugin_names(plugins))
# namespace plugin short
SETTINGS = {
@@ -124,7 +127,7 @@ class PluginTest(unittest.TestCase):
self.assertEqual(len(plugins), 1, plugins)
self.assertEqual(
{'namespace plugin'},
- set(plugin.NAME for plugin in plugins))
+ get_plugin_names(plugins))
# namespace plugin long
SETTINGS = {
@@ -134,7 +137,7 @@ class PluginTest(unittest.TestCase):
self.assertEqual(len(plugins), 1, plugins)
self.assertEqual(
{'namespace plugin'},
- set(plugin.NAME for plugin in plugins))
+ get_plugin_names(plugins))
# normal and namespace plugin
SETTINGS = {
@@ -145,4 +148,4 @@ class PluginTest(unittest.TestCase):
self.assertEqual(len(plugins), 2, plugins)
self.assertEqual(
{'normal plugin', 'namespace plugin'},
- set(plugin.NAME for plugin in plugins))
+ get_plugin_names(plugins))