summaryrefslogtreecommitdiff
path: root/tests/regressiontests/requests
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2010-09-12 20:52:49 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2010-09-12 20:52:49 +0000
commit2d4da641a6ee6c96f38336d8dc6786c07e7b3a1f (patch)
tree3aeba6caba6dbb8a889ceaa3a155949d1ec24d03 /tests/regressiontests/requests
parent7c075440ea3fb082b9b081a3c1b20b2b62e0e4dc (diff)
Allow setting HttpResponse cookie expiry times with datetime objects.
Patch from SmileyChris. Fixed #7770. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13809 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/requests')
-rw-r--r--tests/regressiontests/requests/tests.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/regressiontests/requests/tests.py b/tests/regressiontests/requests/tests.py
index 1615a73406..22bc88c172 100644
--- a/tests/regressiontests/requests/tests.py
+++ b/tests/regressiontests/requests/tests.py
@@ -1,5 +1,5 @@
"""
->>> from django.http import HttpRequest
+>>> from django.http import HttpRequest, HttpResponse
>>> print repr(HttpRequest())
<HttpRequest
GET:{},
@@ -44,4 +44,27 @@ https://www.example.com/asdf
>>> request.path = ''
>>> print request.build_absolute_uri(location="/path/with:colons")
http://www.example.com/path/with:colons
+
+
+# Test cookie datetime expiration logic
+>>> from datetime import datetime, timedelta
+>>> delta = timedelta(seconds=10)
+>>> response = HttpResponse()
+>>> response.set_cookie('datetime', expires=datetime.utcnow()+delta)
+>>> datetime_cookie = response.cookies['datetime']
+>>> datetime_cookie['max-age']
+10
+>>> response.set_cookie('datetime', expires=datetime(2028, 1, 1, 4, 5, 6))
+>>> response.cookies['datetime']['expires']
+'Sat, 01-Jan-2028 04:05:06 GMT'
+
+# Test automatically setting cookie expires if only max_age is provided
+>>> response.set_cookie('max_age', max_age=10)
+>>> max_age_cookie = response.cookies['max_age']
+>>> max_age_cookie['max-age']
+10
+>>> from django.utils.http import cookie_date
+>>> import time
+>>> max_age_cookie['expires'] == cookie_date(time.time()+10)
+True
"""