summaryrefslogtreecommitdiff
path: root/tests/csrf_tests
diff options
context:
space:
mode:
authorChris Jerdonek <chris.jerdonek@gmail.com>2021-08-17 15:25:07 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-16 11:02:32 +0100
commit0820175d812e94850bc97a024c6cd7c29a94a10c (patch)
treec98cd7df75e6b681e611bb3f397ca52c7857c1d7 /tests/csrf_tests
parent12fe3224f5086161462faf614cad91f3fad32e78 (diff)
downloaddjango-0820175d812e94850bc97a024c6cd7c29a94a10c.tar.gz
Refs #32800 -- Added CSRF tests for masked and unmasked secrets during GET.
Diffstat (limited to 'tests/csrf_tests')
-rw-r--r--tests/csrf_tests/tests.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/csrf_tests/tests.py b/tests/csrf_tests/tests.py
index 0ae1eca516..1ada6d9f18 100644
--- a/tests/csrf_tests/tests.py
+++ b/tests/csrf_tests/tests.py
@@ -1177,6 +1177,23 @@ class CsrfViewMiddlewareTests(CsrfViewMiddlewareTestMixin, SimpleTestCase):
self.assertTrue(csrf_cookie, msg='No CSRF cookie was sent.')
self.assertEqual(len(csrf_cookie), CSRF_TOKEN_LENGTH)
+ def test_unmasked_secret_replaced_on_GET(self):
+ """An unmasked CSRF cookie is replaced during a GET request."""
+ req = self._get_request(cookie=TEST_SECRET)
+ resp = protected_view(req)
+ self.assertContains(resp, 'OK')
+ csrf_cookie = self._read_csrf_cookie(req, resp)
+ self.assertTrue(csrf_cookie, msg='No CSRF cookie was sent.')
+ self.assertMaskedSecretCorrect(csrf_cookie, TEST_SECRET)
+
+ def test_masked_secret_not_replaced_on_GET(self):
+ """A masked CSRF cookie is not replaced during a GET request."""
+ req = self._get_request(cookie=MASKED_TEST_SECRET1)
+ resp = protected_view(req)
+ self.assertContains(resp, 'OK')
+ csrf_cookie = self._read_csrf_cookie(req, resp)
+ self.assertFalse(csrf_cookie, msg='A CSRF cookie was sent.')
+
def test_masked_secret_accepted_and_not_replaced(self):
"""
The csrf cookie is left unchanged if originally masked.