summaryrefslogtreecommitdiff
path: root/webtest
diff options
context:
space:
mode:
authorGael Pasgrimaud <gael@gawel.org>2014-04-17 18:31:39 +0200
committerGael Pasgrimaud <gael@gawel.org>2014-04-17 18:31:39 +0200
commitd055b1fca818cc270e729f0e8f58bc2902392321 (patch)
tree7a3dbf9b340a7135f0c5597c0dfc183d65326a40 /webtest
parentcd44e874224879a78dd0209b77f8bfd7222ac5da (diff)
downloadwebtest-d055b1fca818cc270e729f0e8f58bc2902392321.tar.gz
Fixed #84 Application cookies for localhost are no longer ignored
Diffstat (limited to 'webtest')
-rw-r--r--webtest/app.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/webtest/app.py b/webtest/app.py
index d0b8abb..b57814a 100644
--- a/webtest/app.py
+++ b/webtest/app.py
@@ -63,6 +63,23 @@ class AppError(Exception):
Exception.__init__(self, message)
+class CookiePolicy(http_cookiejar.DefaultCookiePolicy):
+ """A subclass of DefaultCookiePolicy to allow cookie set for
+ Domain=localhost."""
+
+ def return_ok_domain(self, cookie, request):
+ if cookie.domain == '.localhost':
+ return True
+ return http_cookiejar.DefaultCookiePolicy.return_ok_domain(
+ self, cookie, request)
+
+ def set_ok_domain(self, cookie, request):
+ if cookie.domain == '.localhost':
+ return True
+ return http_cookiejar.DefaultCookiePolicy.set_ok_domain(
+ self, cookie, request)
+
+
class TestRequest(webob.BaseRequest):
"""A subclass of webob.Request"""
ResponseClass = TestResponse
@@ -153,7 +170,8 @@ class TestApp(object):
extra_environ = {}
self.extra_environ = extra_environ
self.use_unicode = use_unicode
- self.cookiejar = cookiejar or http_cookiejar.CookieJar()
+ self.cookiejar = cookiejar or http_cookiejar.CookieJar(
+ policy=CookiePolicy())
if parser_features is None:
parser_features = 'html.parser'
self.RequestClass.ResponseClass.parser_features = parser_features