1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #21363 -- Added datetime.timedelta support to TimestampSigner.unsign().

This commit is contained in:
Berker Peksag
2014-11-15 12:03:04 +02:00
committed by Tim Graham
parent fa680ce1e2
commit d2d6c0c097
4 changed files with 25 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
from __future__ import unicode_literals
import datetime
import time
from django.core import signing
@@ -126,9 +127,13 @@ class TestTimestampSigner(TestCase):
self.assertEqual(signer.unsign(ts), value)
time.time = lambda: 123456800
self.assertEqual(signer.unsign(ts, max_age=13), value)
self.assertEqual(signer.unsign(ts, max_age=12), value)
self.assertEqual(signer.unsign(ts, max_age=11), value)
# max_age parameter can also accept a datetime.timedelta object
self.assertEqual(signer.unsign(ts, max_age=datetime.timedelta(seconds=11)), value)
self.assertRaises(
signing.SignatureExpired, signer.unsign, ts, max_age=10)
with self.assertRaises(signing.SignatureExpired):
self.assertEqual(signer.unsign(ts, max_age=datetime.timedelta(seconds=10)), value)
finally:
time.time = _time