Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Fixed #16222: Test failures due to more precise cookie timings. Refs …

…[16356].

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16376 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit e096d56406b93220f03c495282fd6d0d297f3851 1 parent 55005a5
Andrew Godwin authored June 11, 2011
11  django/contrib/formtools/wizard/tests/cookiestoragetests.py
@@ -25,6 +25,7 @@ def test_manipulated_cookie(self):
25 25
         self.assertRaises(SuspiciousOperation, storage.load_data)
26 26
 
27 27
     def test_reset_cookie(self):
  28
+        from django.core.signing import SignatureExpired
28 29
         request = get_request()
29 30
         storage = self.get_storage()('wizard1', request, None)
30 31
 
@@ -35,7 +36,15 @@ def test_reset_cookie(self):
35 36
 
36 37
         cookie_signer = signing.get_cookie_signer(storage.prefix)
37 38
         signed_cookie_data = cookie_signer.sign(storage.encoder.encode(storage.data))
38  
-        self.assertEqual(response.cookies[storage.prefix].value, signed_cookie_data)
  39
+
  40
+        # signing with different timestamps generates different signatures
  41
+        self.assertNotEqual(response.cookies[storage.prefix].value, signed_cookie_data)
  42
+        self.assertEqual(cookie_signer.unsign(response.cookies[storage.prefix].value),
  43
+                         cookie_signer.unsign(signed_cookie_data))
  44
+        self.assertRaises(SignatureExpired,
  45
+                          lambda: cookie_signer.unsign(value=response.cookies[storage.prefix].value, max_age=0))
  46
+        self.assertEqual(cookie_signer.unsign(value=response.cookies[storage.prefix].value, max_age=10),
  47
+                         cookie_signer.unsign(signed_cookie_data))
39 48
 
40 49
         storage.init_data()
41 50
         storage.update_response(response)

0 notes on commit e096d56

Please sign in to comment.
Something went wrong with that request. Please try again.