]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Add unit tests for new cookie behavior 1325/head
authorCraig Campbell <craig@vimeo.com>
Tue, 3 Feb 2015 21:05:48 +0000 (16:05 -0500)
committerCraig Campbell <craig@vimeo.com>
Tue, 3 Feb 2015 21:05:48 +0000 (16:05 -0500)
tornado/test/web_test.py

index 77ad388812de95585673b261e6b608b8f41a25d3..adf6be97448c51dc42ab571164d0521cafab52a2 100644 (file)
@@ -171,6 +171,13 @@ class CookieTest(WebTestCase):
             def get(self):
                 self.set_cookie("foo", "bar", expires_days=10)
 
+        class SetCookieFalsyFlags(RequestHandler):
+            def get(self):
+                self.set_cookie("a", "1", secure=True)
+                self.set_cookie("b", "1", secure=False)
+                self.set_cookie("c", "1", httponly=True)
+                self.set_cookie("d", "1", httponly=False)
+
         return [("/set", SetCookieHandler),
                 ("/get", GetCookieHandler),
                 ("/set_domain", SetCookieDomainHandler),
@@ -178,6 +185,7 @@ class CookieTest(WebTestCase):
                 ("/set_overwrite", SetCookieOverwriteHandler),
                 ("/set_max_age", SetCookieMaxAgeHandler),
                 ("/set_expires_days", SetCookieExpiresDaysHandler),
+                ("/set_falsy_flags", SetCookieFalsyFlags)
                 ]
 
     def test_set_cookie(self):
@@ -248,7 +256,15 @@ class CookieTest(WebTestCase):
         header_expires = datetime.datetime(
             *email.utils.parsedate(match.groupdict()["expires"])[:6])
         self.assertTrue(abs(timedelta_to_seconds(expires - header_expires)) < 10)
-    
+
+    def test_set_cookie_false_flags(self):
+        response = self.fetch("/set_falsy_flags")
+        headers = sorted(response.headers.get_list("Set-Cookie"))
+        self.assertEqual(headers[0], 'a=1; Path=/; secure')
+        self.assertEqual(headers[1], 'b=1; Path=/')
+        self.assertEqual(headers[2], 'c=1; httponly; Path=/')
+        self.assertEqual(headers[3], 'd=1; Path=/')
+
 
 class AuthRedirectRequestHandler(RequestHandler):
     def initialize(self, login_url):