Author: andrewgodwin
Date: 2011-06-11 12:27:32 -0700 (Sat, 11 Jun 2011)
New Revision: 16376

Modified:
   django/trunk/django/contrib/formtools/wizard/tests/cookiestoragetests.py
Log:
Fixed #16222: Test failures due to more precise cookie timings. Refs [16356].

Modified: 
django/trunk/django/contrib/formtools/wizard/tests/cookiestoragetests.py
===================================================================
--- django/trunk/django/contrib/formtools/wizard/tests/cookiestoragetests.py    
2011-06-11 18:48:09 UTC (rev 16375)
+++ django/trunk/django/contrib/formtools/wizard/tests/cookiestoragetests.py    
2011-06-11 19:27:32 UTC (rev 16376)
@@ -25,6 +25,7 @@
         self.assertRaises(SuspiciousOperation, storage.load_data)
 
     def test_reset_cookie(self):
+        from django.core.signing import SignatureExpired
         request = get_request()
         storage = self.get_storage()('wizard1', request, None)
 
@@ -35,8 +36,16 @@
 
         cookie_signer = signing.get_cookie_signer(storage.prefix)
         signed_cookie_data = 
cookie_signer.sign(storage.encoder.encode(storage.data))
-        self.assertEqual(response.cookies[storage.prefix].value, 
signed_cookie_data)
 
+        # signing with different timestamps generates different signatures
+        self.assertNotEqual(response.cookies[storage.prefix].value, 
signed_cookie_data)
+        
self.assertEqual(cookie_signer.unsign(response.cookies[storage.prefix].value),
+                         cookie_signer.unsign(signed_cookie_data))
+        self.assertRaises(SignatureExpired,
+                          lambda: 
cookie_signer.unsign(value=response.cookies[storage.prefix].value, max_age=0))
+        
self.assertEqual(cookie_signer.unsign(value=response.cookies[storage.prefix].value,
 max_age=10),
+                         cookie_signer.unsign(signed_cookie_data))
+
         storage.init_data()
         storage.update_response(response)
         unsigned_cookie_data = 
cookie_signer.unsign(response.cookies[storage.prefix].value)

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to