diff options
| author | Thomas Chaumeny <t.chaumeny@gmail.com> | 2014-11-10 19:33:49 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-12-22 07:46:40 -0500 |
| commit | 994d6137a2519436d17d5b3d16cb49a3fa79f93e (patch) | |
| tree | 67b7fc6b506b179bdfac716eca8c92f5d13247ee /tests | |
| parent | 54085b0f9ba7d9f705f9b9c90d3433b0ef6aa042 (diff) | |
Fixed #23792 -- Added test.utils.freeze_time() context manager.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/signed_cookies_tests/tests.py | 11 | ||||
| -rw-r--r-- | tests/signing/tests.py | 18 |
2 files changed, 8 insertions, 21 deletions
diff --git a/tests/signed_cookies_tests/tests.py b/tests/signed_cookies_tests/tests.py index ff8fe76bf6..e53d7bd624 100644 --- a/tests/signed_cookies_tests/tests.py +++ b/tests/signed_cookies_tests/tests.py @@ -1,10 +1,9 @@ from __future__ import unicode_literals -import time - from django.core import signing from django.http import HttpRequest, HttpResponse from django.test import TestCase, override_settings +from django.test.utils import freeze_time class SignedCookieTest(TestCase): @@ -46,22 +45,18 @@ class SignedCookieTest(TestCase): def test_max_age_argument(self): value = 'hello' - _time = time.time - time.time = lambda: 123456789 - try: + with freeze_time(123456789): response = HttpResponse() response.set_signed_cookie('c', value) request = HttpRequest() request.COOKIES['c'] = response.cookies['c'].value self.assertEqual(request.get_signed_cookie('c'), value) - time.time = lambda: 123456800 + with freeze_time(123456800): self.assertEqual(request.get_signed_cookie('c', max_age=12), value) self.assertEqual(request.get_signed_cookie('c', max_age=11), value) self.assertRaises(signing.SignatureExpired, request.get_signed_cookie, 'c', max_age=10) - finally: - time.time = _time @override_settings(SECRET_KEY=b'\xe7') def test_signed_cookies_with_binary_key(self): diff --git a/tests/signing/tests.py b/tests/signing/tests.py index 707cbba445..32b8bb3b5e 100644 --- a/tests/signing/tests.py +++ b/tests/signing/tests.py @@ -1,10 +1,10 @@ from __future__ import unicode_literals import datetime -import time from django.core import signing from django.test import TestCase +from django.test.utils import freeze_time from django.utils.encoding import force_str from django.utils import six @@ -117,23 +117,15 @@ class TestTimestampSigner(TestCase): def test_timestamp_signer(self): value = 'hello' - _time = time.time - time.time = lambda: 123456789 - try: + with freeze_time(123456789): signer = signing.TimestampSigner('predictable-key') 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=13), value) + + with freeze_time(123456800): self.assertEqual(signer.unsign(ts, max_age=12), 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 + self.assertRaises(signing.SignatureExpired, signer.unsign, ts, max_age=10) |
