summaryrefslogtreecommitdiff
path: root/pelican/tests
diff options
context:
space:
mode:
authorFrederik Ring <frederik.ring@gmail.com>2021-01-04 17:13:32 +0100
committerGitHub <noreply@github.com>2021-01-04 17:13:32 +0100
commitdc601059265bfd0722b8d07c67dd1f39b091fbfa (patch)
tree641e65bcde5799d0071ec5f53baf5258f96708c2 /pelican/tests
parent8033162ba4393db60791b201fb100d1be0f04431 (diff)
downloadpelican-dc601059265bfd0722b8d07c67dd1f39b091fbfa.tar.gz
Stringify plugin definitions so they can be pickled during caching (#2835)
Diffstat (limited to 'pelican/tests')
-rw-r--r--pelican/tests/dummy_plugins/normal_plugin/normal_plugin/__init__.py2
-rw-r--r--pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subpackage/subpackage.py3
-rw-r--r--pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subplugin.py3
-rw-r--r--pelican/tests/test_plugins.py39
4 files changed, 28 insertions, 19 deletions
diff --git a/pelican/tests/dummy_plugins/normal_plugin/normal_plugin/__init__.py b/pelican/tests/dummy_plugins/normal_plugin/normal_plugin/__init__.py
index 5838a835..e714c7a6 100644
--- a/pelican/tests/dummy_plugins/normal_plugin/normal_plugin/__init__.py
+++ b/pelican/tests/dummy_plugins/normal_plugin/normal_plugin/__init__.py
@@ -1,7 +1,5 @@
from .submodule import noop # noqa: F401
-NAME = 'normal plugin'
-
def register():
pass
diff --git a/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subpackage/subpackage.py b/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subpackage/subpackage.py
index ddb0eeca..9e12b19f 100644
--- a/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subpackage/subpackage.py
+++ b/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subpackage/subpackage.py
@@ -1,5 +1,2 @@
-NAME = 'normal subpackage plugin'
-
-
def register():
pass
diff --git a/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subplugin.py b/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subplugin.py
index 377c788b..9e12b19f 100644
--- a/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subplugin.py
+++ b/pelican/tests/dummy_plugins/normal_plugin/normal_submodule_plugin/subplugin.py
@@ -1,5 +1,2 @@
-NAME = 'normal submodule plugin'
-
-
def register():
pass
diff --git a/pelican/tests/test_plugins.py b/pelican/tests/test_plugins.py
index 29729539..348c3e94 100644
--- a/pelican/tests/test_plugins.py
+++ b/pelican/tests/test_plugins.py
@@ -1,7 +1,9 @@
import os
from contextlib import contextmanager
-from pelican.plugins._utils import get_namespace_plugins, load_plugins
+import pelican.tests.dummy_plugins.normal_plugin.normal_plugin as normal_plugin
+from pelican.plugins._utils import (get_namespace_plugins, get_plugin_name,
+ load_plugins)
from pelican.tests.support import unittest
@@ -81,9 +83,7 @@ class PluginTest(unittest.TestCase):
def test_load_plugins(self):
def get_plugin_names(plugins):
- return {
- plugin.NAME if hasattr(plugin, 'NAME') else plugin.__name__
- for plugin in plugins}
+ return {get_plugin_name(p) for p in plugins}
# existing namespace plugins
existing_ns_plugins = load_plugins({})
@@ -93,7 +93,7 @@ class PluginTest(unittest.TestCase):
plugins = load_plugins({})
self.assertEqual(len(plugins), len(existing_ns_plugins)+1, plugins)
self.assertEqual(
- {'namespace plugin'} | get_plugin_names(existing_ns_plugins),
+ {'pelican.plugins.ns_plugin'} | get_plugin_names(existing_ns_plugins),
get_plugin_names(plugins))
# disable namespace plugins with `PLUGINS = []`
@@ -113,7 +113,7 @@ class PluginTest(unittest.TestCase):
plugins = load_plugins(SETTINGS)
self.assertEqual(len(plugins), 1, plugins)
self.assertEqual(
- {'normal plugin'},
+ {'normal_plugin'},
get_plugin_names(plugins))
# normal submodule/subpackage plugins
@@ -127,8 +127,8 @@ class PluginTest(unittest.TestCase):
plugins = load_plugins(SETTINGS)
self.assertEqual(len(plugins), 2, plugins)
self.assertEqual(
- {'normal submodule plugin',
- 'normal subpackage plugin'},
+ {'normal_submodule_plugin.subplugin',
+ 'normal_submodule_plugin.subpackage.subpackage'},
get_plugin_names(plugins))
# ensure normal plugins are loaded only once
@@ -149,7 +149,7 @@ class PluginTest(unittest.TestCase):
plugins = load_plugins(SETTINGS)
self.assertEqual(len(plugins), 1, plugins)
self.assertEqual(
- {'namespace plugin'},
+ {'pelican.plugins.ns_plugin'},
get_plugin_names(plugins))
# namespace plugin long
@@ -159,7 +159,7 @@ class PluginTest(unittest.TestCase):
plugins = load_plugins(SETTINGS)
self.assertEqual(len(plugins), 1, plugins)
self.assertEqual(
- {'namespace plugin'},
+ {'pelican.plugins.ns_plugin'},
get_plugin_names(plugins))
# normal and namespace plugin
@@ -170,5 +170,22 @@ class PluginTest(unittest.TestCase):
plugins = load_plugins(SETTINGS)
self.assertEqual(len(plugins), 2, plugins)
self.assertEqual(
- {'normal plugin', 'namespace plugin'},
+ {'normal_plugin', 'pelican.plugins.ns_plugin'},
get_plugin_names(plugins))
+
+ def test_get_plugin_name(self):
+ self.assertEqual(
+ get_plugin_name(normal_plugin),
+ 'pelican.tests.dummy_plugins.normal_plugin.normal_plugin',
+ )
+
+ class NoopPlugin:
+ def register(self):
+ pass
+
+ self.assertEqual(
+ get_plugin_name(NoopPlugin),
+ 'PluginTest.test_get_plugin_name.<locals>.NoopPlugin')
+ self.assertEqual(
+ get_plugin_name(NoopPlugin()),
+ 'PluginTest.test_get_plugin_name.<locals>.NoopPlugin')