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 'acme/tests')
-rw-r--r--acme/tests/challenges_test.py13
-rw-r--r--acme/tests/client_test.py3
-rw-r--r--acme/tests/messages_test.py14
3 files changed, 29 insertions, 1 deletions
diff --git a/acme/tests/challenges_test.py b/acme/tests/challenges_test.py
index 2b44d677d..433c7bb82 100644
--- a/acme/tests/challenges_test.py
+++ b/acme/tests/challenges_test.py
@@ -478,5 +478,18 @@ class DNSResponseTest(unittest.TestCase):
self.msg.check_validation(self.chall, KEY.public_key()))
+class JWSPayloadRFC8555Compliant(unittest.TestCase):
+ """Test for RFC8555 compliance of JWS generated from resources/challenges"""
+ def test_challenge_payload(self):
+ from acme.challenges import HTTP01Response
+
+ challenge_body = HTTP01Response()
+ challenge_body.le_acme_version = 2
+
+ jobj = challenge_body.json_dumps(indent=2).encode()
+ # RFC8555 states that challenge responses must have an empty payload.
+ self.assertEqual(jobj, b'{}')
+
+
if __name__ == '__main__':
unittest.main() # pragma: no cover
diff --git a/acme/tests/client_test.py b/acme/tests/client_test.py
index a4966140f..1e132d79f 100644
--- a/acme/tests/client_test.py
+++ b/acme/tests/client_test.py
@@ -16,6 +16,7 @@ from acme import errors
from acme import jws as acme_jws
from acme import messages
from acme.magic_typing import Dict # pylint: disable=unused-import, no-name-in-module
+from acme.mixins import VersionedLEACMEMixin
import messages_test
import test_util
@@ -886,7 +887,7 @@ class ClientV2Test(ClientTestBase):
self.client.net.get.assert_not_called()
-class MockJSONDeSerializable(jose.JSONDeSerializable):
+class MockJSONDeSerializable(VersionedLEACMEMixin, jose.JSONDeSerializable):
# pylint: disable=missing-docstring
def __init__(self, value):
self.value = value
diff --git a/acme/tests/messages_test.py b/acme/tests/messages_test.py
index b9b70266b..d53fb764c 100644
--- a/acme/tests/messages_test.py
+++ b/acme/tests/messages_test.py
@@ -453,6 +453,7 @@ class OrderResourceTest(unittest.TestCase):
'authorizations': None,
})
+
class NewOrderTest(unittest.TestCase):
"""Tests for acme.messages.NewOrder."""
@@ -467,5 +468,18 @@ class NewOrderTest(unittest.TestCase):
})
+class JWSPayloadRFC8555Compliant(unittest.TestCase):
+ """Test for RFC8555 compliance of JWS generated from resources/challenges"""
+ def test_message_payload(self):
+ from acme.messages import NewAuthorization
+
+ new_order = NewAuthorization()
+ new_order.le_acme_version = 2
+
+ jobj = new_order.json_dumps(indent=2).encode()
+ # RFC8555 states that JWS bodies must not have a resource field.
+ self.assertEqual(jobj, b'{}')
+
+
if __name__ == '__main__':
unittest.main() # pragma: no cover