summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2011-06-10 11:54:42 +0000
committerAndrew Godwin <andrew@aeracode.org>2011-06-10 11:54:42 +0000
commit44a2cbad35c9b43569ad3dcf43a3dd74dcd71953 (patch)
treef83de02275254e378dea6545597d42b85a385f39 /tests
parent66436ad171d8c442037bb03e9bc1a0f99e194ac8 (diff)
Fixed #16182: Increase timestamp precision on TimestampSigner. Thanks to Eric Florenzano.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16356 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/signing/tests.py34
1 files changed, 17 insertions, 17 deletions
diff --git a/tests/regressiontests/signing/tests.py b/tests/regressiontests/signing/tests.py
index 0b0cacf10e..bc16214600 100644
--- a/tests/regressiontests/signing/tests.py
+++ b/tests/regressiontests/signing/tests.py
@@ -1,5 +1,3 @@
-import time
-
from django.core import signing
from django.test import TestCase
from django.utils.encoding import force_unicode
@@ -98,19 +96,21 @@ class TestTimestampSigner(TestCase):
def test_timestamp_signer(self):
value = u'hello'
- _time = time.time
- time.time = lambda: 123456789
- try:
- signer = signing.TimestampSigner('predictable-key')
- ts = signer.sign(value)
- self.assertNotEqual(ts,
- signing.Signer('predictable-key').sign(value))
+ signer = signing.TimestampSigner('predictable-key',
+ time=lambda: 123456789)
+ ts = signer.sign(value)
+ self.assertNotEqual(ts,
+ signing.Signer('predictable-key').sign(value))
- self.assertEqual(signer.unsign(ts), value)
- time.time = lambda: 123456800
- self.assertEqual(signer.unsign(ts, max_age=12), value)
- self.assertEqual(signer.unsign(ts, max_age=11), value)
- self.assertRaises(
- signing.SignatureExpired, signer.unsign, ts, max_age=10)
- finally:
- time.time = _time
+ self.assertEqual(signer.unsign(ts), value)
+ signer = signing.TimestampSigner('predictable-key',
+ time=lambda: 123456800)
+ self.assertEqual(signer.unsign(ts, max_age=12), value)
+ self.assertEqual(signer.unsign(ts, max_age=11), value)
+ self.assertRaises(
+ signing.SignatureExpired, signer.unsign, ts, max_age=10)
+
+ def test_timestamp_precision(self):
+ one = signing.TimestampSigner('key', time=lambda: 123.4567).sign('v')
+ two = signing.TimestampSigner('key', time=lambda: 123.4568).sign('v')
+ self.assertNotEqual(one, two)