diff options
author | Florian Apolloner <florian@apolloner.eu> | 2021-04-14 13:45:24 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-04-14 22:52:59 +0200 |
commit | 4511d1459810037b91faa5b506e4f75c77aa72be (patch) | |
tree | 3bfb1fa4009631c7baf52bb603f7897e97318641 /tests/messages_tests | |
parent | ca9872905559026af82000e46cde6f7dedc897b6 (diff) | |
download | django-4511d1459810037b91faa5b506e4f75c77aa72be.tar.gz |
Fixed #32643 -- Fixed decoding of messages in the pre-Django 3.2 format.
Thanks Jan Pieter Waagmeester for the report.
Regression in 2d6179c819010f6a9d00835d5893c4593c0b85a0.
Diffstat (limited to 'tests/messages_tests')
-rw-r--r-- | tests/messages_tests/test_cookie.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tests/messages_tests/test_cookie.py b/tests/messages_tests/test_cookie.py index 4bc6f119af..b622b7159b 100644 --- a/tests/messages_tests/test_cookie.py +++ b/tests/messages_tests/test_cookie.py @@ -1,3 +1,4 @@ +import binascii import json import random @@ -7,7 +8,7 @@ from django.contrib.messages.storage.base import Message from django.contrib.messages.storage.cookie import ( CookieStorage, MessageDecoder, MessageEncoder, ) -from django.core.signing import get_cookie_signer +from django.core.signing import b64_decode, get_cookie_signer from django.test import SimpleTestCase, override_settings from django.utils.crypto import get_random_string from django.utils.safestring import SafeData, mark_safe @@ -183,10 +184,12 @@ class CookieTests(BaseTests, SimpleTestCase): # RemovedInDjango41Warning: pre-Django 3.2 encoded messages will be # invalid. storage = self.storage_class(self.get_request()) - messages = ['this', 'that'] + messages = ['this', Message(0, 'Successfully signed in as admin@example.org')] # Encode/decode a message using the pre-Django 3.2 format. encoder = MessageEncoder() value = encoder.encode(messages) + with self.assertRaises(binascii.Error): + b64_decode(value.encode()) signer = get_cookie_signer(salt=storage.key_salt) encoded_messages = signer.sign(value) decoded_messages = storage._decode(encoded_messages) |