summaryrefslogtreecommitdiff
path: root/tests/messages_tests
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2020-01-30 23:11:09 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-02-04 08:05:02 +0100
commit8ae84156d62bfc24d71e65cfe4d5cb84b9b1bd91 (patch)
tree5775472d0351363c9748be5eec171da3441c7162 /tests/messages_tests
parentbcc9fa25285f506666fa5074fc43c7114d61bb79 (diff)
downloaddjango-8ae84156d62bfc24d71e65cfe4d5cb84b9b1bd91.tar.gz
Fixed #27604 -- Used the cookie signer to sign message cookies.
Co-authored-by: Craig Anderson <craiga@craiga.id.au>
Diffstat (limited to 'tests/messages_tests')
-rw-r--r--tests/messages_tests/test_cookie.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/messages_tests/test_cookie.py b/tests/messages_tests/test_cookie.py
index 48c928cb9c..5675cd15eb 100644
--- a/tests/messages_tests/test_cookie.py
+++ b/tests/messages_tests/test_cookie.py
@@ -153,3 +153,14 @@ class CookieTests(BaseTests, SimpleTestCase):
storage = self.get_storage()
self.assertIsInstance(encode_decode(mark_safe("<b>Hello Django!</b>")), SafeData)
self.assertNotIsInstance(encode_decode("<b>Hello Django!</b>"), SafeData)
+
+ def test_legacy_hash_decode(self):
+ # RemovedInDjango40Warning: pre-Django 3.1 hashes will be invalid.
+ storage = self.storage_class(self.get_request())
+ messages = ['this', 'that']
+ # Encode/decode a message using the pre-Django 3.1 hash.
+ encoder = MessageEncoder(separators=(',', ':'))
+ value = encoder.encode(messages)
+ encoded_messages = '%s$%s' % (storage._legacy_hash(value), value)
+ decoded_messages = storage._decode(encoded_messages)
+ self.assertEqual(messages, decoded_messages)