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:
authorohemorange <ebportnoy@gmail.com>2019-11-27 02:25:41 +0300
committerGitHub <noreply@github.com>2019-11-27 02:25:41 +0300
commitd2b65b47f2e2968df62e0feea5ebf28bfdd3e4b2 (patch)
tree9c686c839091476d244237c75e58e90d818ef5a7 /acme/tests/jose_test.py
parentb624172f6827b35214bc3a2df076df0bc524cba2 (diff)
Refactor tests out of packaged module for acme plugin (#7600)
* Move acme tests to tests/ directory outside of acme module * Fix call to messages_test in client_test * Move test_util.py and testdata/ into tests/ * Update manifest to package tests * Exclude pycache and .py[cod]
Diffstat (limited to 'acme/tests/jose_test.py')
-rw-r--r--acme/tests/jose_test.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/acme/tests/jose_test.py b/acme/tests/jose_test.py
new file mode 100644
index 000000000..340624a4f
--- /dev/null
+++ b/acme/tests/jose_test.py
@@ -0,0 +1,53 @@
+"""Tests for acme.jose shim."""
+import importlib
+import unittest
+
+class JoseTest(unittest.TestCase):
+ """Tests for acme.jose shim."""
+
+ def _test_it(self, submodule, attribute):
+ if submodule:
+ acme_jose_path = 'acme.jose.' + submodule
+ josepy_path = 'josepy.' + submodule
+ else:
+ acme_jose_path = 'acme.jose'
+ josepy_path = 'josepy'
+ acme_jose_mod = importlib.import_module(acme_jose_path)
+ josepy_mod = importlib.import_module(josepy_path)
+
+ self.assertIs(acme_jose_mod, josepy_mod)
+ self.assertIs(getattr(acme_jose_mod, attribute), getattr(josepy_mod, attribute))
+
+ # We use the imports below with eval, but pylint doesn't
+ # understand that.
+ # pylint: disable=eval-used,unused-variable
+ import acme
+ import josepy
+ acme_jose_mod = eval(acme_jose_path)
+ josepy_mod = eval(josepy_path)
+ self.assertIs(acme_jose_mod, josepy_mod)
+ self.assertIs(getattr(acme_jose_mod, attribute), getattr(josepy_mod, attribute))
+
+ def test_top_level(self):
+ self._test_it('', 'RS512')
+
+ def test_submodules(self):
+ # This test ensures that the modules in josepy that were
+ # available at the time it was moved into its own package are
+ # available under acme.jose. Backwards compatibility with new
+ # modules or testing code is not maintained.
+ mods_and_attrs = [('b64', 'b64decode',),
+ ('errors', 'Error',),
+ ('interfaces', 'JSONDeSerializable',),
+ ('json_util', 'Field',),
+ ('jwa', 'HS256',),
+ ('jwk', 'JWK',),
+ ('jws', 'JWS',),
+ ('util', 'ImmutableMap',),]
+
+ for mod, attr in mods_and_attrs:
+ self._test_it(mod, attr)
+
+
+if __name__ == '__main__':
+ unittest.main() # pragma: no cover