From 7dfebdbc0f6ee83790098d99082d55d27e92cd1d Mon Sep 17 00:00:00 2001 From: Lee Kyoung chan Date: Sun, 14 Sep 2014 22:22:24 +0900 Subject: [PATCH] Added a unit test for setting a cookie with expires_days --- tornado/test/web_test.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py index 6593cbb4c..789f03d60 100644 --- a/tornado/test/web_test.py +++ b/tornado/test/web_test.py @@ -167,12 +167,17 @@ class CookieTest(WebTestCase): def get(self): self.set_cookie("foo", "bar", max_age=10) + class SetCookieExpiresDaysHandler(RequestHandler): + def get(self): + self.set_cookie("foo", "bar", expires_days=10) + return [("/set", SetCookieHandler), ("/get", GetCookieHandler), ("/set_domain", SetCookieDomainHandler), ("/special_char", SetCookieSpecialCharHandler), ("/set_overwrite", SetCookieOverwriteHandler), ("/set_max_age", SetCookieMaxAgeHandler), + ("/set_expires_days", SetCookieExpiresDaysHandler), ] def test_set_cookie(self): @@ -232,7 +237,17 @@ class CookieTest(WebTestCase): headers = response.headers.get_list("Set-Cookie") self.assertEqual(sorted(headers), ["foo=bar; Max-Age=10; Path=/"]) - + + def test_set_cookie_expires_days(self): + response = self.fetch("/set_expires_days") + header = response.headers.get("Set-Cookie") + self.assertTrue(re.match('foo=bar; expires=(.+); Path=/', header)) + + expires = datetime.datetime.utcnow() + datetime.timedelta(days=10) + header_expires = datetime.datetime(*email.utils.parsedate( + header[17:header.find('; Path=/')])[:6]) + self.assertTrue(expires - header_expires < datetime.timedelta(seconds=10)) + class AuthRedirectRequestHandler(RequestHandler): def initialize(self, login_url): -- 2.47.2