Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'certbot-apache/tests/entrypoint_test.py')
-rw-r--r--certbot-apache/tests/entrypoint_test.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/certbot-apache/tests/entrypoint_test.py b/certbot-apache/tests/entrypoint_test.py
new file mode 100644
index 000000000..04c393bdf
--- /dev/null
+++ b/certbot-apache/tests/entrypoint_test.py
@@ -0,0 +1,47 @@
+"""Test for certbot_apache._internal.entrypoint for override class resolution"""
+import unittest
+
+import mock
+
+from certbot_apache._internal import configurator
+from certbot_apache._internal import entrypoint
+
+
+class EntryPointTest(unittest.TestCase):
+ """Entrypoint tests"""
+
+ _multiprocess_can_split_ = True
+
+ def test_get_configurator(self):
+
+ with mock.patch("certbot.util.get_os_info") as mock_info:
+ for distro in entrypoint.OVERRIDE_CLASSES:
+ return_value = (distro, "whatever")
+ if distro == 'fedora_old':
+ return_value = ('fedora', '28')
+ elif distro == 'fedora':
+ return_value = ('fedora', '29')
+ mock_info.return_value = return_value
+ self.assertEqual(entrypoint.get_configurator(),
+ entrypoint.OVERRIDE_CLASSES[distro])
+
+ def test_nonexistent_like(self):
+ with mock.patch("certbot.util.get_os_info") as mock_info:
+ mock_info.return_value = ("nonexistent", "irrelevant")
+ with mock.patch("certbot.util.get_systemd_os_like") as mock_like:
+ for like in entrypoint.OVERRIDE_CLASSES:
+ mock_like.return_value = [like]
+ self.assertEqual(entrypoint.get_configurator(),
+ entrypoint.OVERRIDE_CLASSES[like])
+
+ def test_nonexistent_generic(self):
+ with mock.patch("certbot.util.get_os_info") as mock_info:
+ mock_info.return_value = ("nonexistent", "irrelevant")
+ with mock.patch("certbot.util.get_systemd_os_like") as mock_like:
+ mock_like.return_value = ["unknonwn"]
+ self.assertEqual(entrypoint.get_configurator(),
+ configurator.ApacheConfigurator)
+
+
+if __name__ == "__main__":
+ unittest.main() # pragma: no cover