summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert JW Regeer <bertjw@regeer.org>2013-02-01 18:00:22 -0700
committerBert JW Regeer <bertjw@regeer.org>2013-02-02 00:42:54 -0700
commitfbd5b4a8023f3ff3c42ab66b1a660d587e9c331b (patch)
treed90cd041387b8b71c1e34fddbc0842d1708e5e9c
parent918c9d9dd632d346909d2429647758352d753a42 (diff)
downloadpyramid-fbd5b4a8023f3ff3c42ab66b1a660d587e9c331b.tar.gz
pyramid-fbd5b4a8023f3ff3c42ab66b1a660d587e9c331b.tar.bz2
pyramid-fbd5b4a8023f3ff3c42ab66b1a660d587e9c331b.zip
Add test for AuthTktCookieHelper for IPv6 compat
Add an extra test that sets environ['REMOTE_ADDR'] to an IPv6 address "::1".
-rw-r--r--pyramid/tests/test_authentication.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/pyramid/tests/test_authentication.py b/pyramid/tests/test_authentication.py
index 123e4f9f5..37e088934 100644
--- a/pyramid/tests/test_authentication.py
+++ b/pyramid/tests/test_authentication.py
@@ -561,9 +561,13 @@ class TestAuthTktCookieHelper(unittest.TestCase):
helper.BadTicket = auth_tkt.BadTicket
return helper
- def _makeRequest(self, cookie=None):
+ def _makeRequest(self, cookie=None, ipv6=False):
environ = {'wsgi.version': (1,0)}
- environ['REMOTE_ADDR'] = '1.1.1.1'
+
+ if ipv6 is False:
+ environ['REMOTE_ADDR'] = '1.1.1.1'
+ else:
+ environ['REMOTE_ADDR'] = '::1'
environ['SERVER_NAME'] = 'localhost'
return DummyRequest(environ, cookie=cookie)
@@ -612,6 +616,23 @@ class TestAuthTktCookieHelper(unittest.TestCase):
self.assertEqual(environ['REMOTE_USER_DATA'],'')
self.assertEqual(environ['AUTH_TYPE'],'cookie')
+ def test_identify_good_cookie_include_ipv6(self):
+ helper = self._makeOne('secret', include_ip=True)
+ request = self._makeRequest('ticket', ipv6=True)
+ result = helper.identify(request)
+ self.assertEqual(len(result), 4)
+ self.assertEqual(result['tokens'], ())
+ self.assertEqual(result['userid'], 'userid')
+ self.assertEqual(result['userdata'], '')
+ self.assertEqual(result['timestamp'], 0)
+ self.assertEqual(helper.auth_tkt.value, 'ticket')
+ self.assertEqual(helper.auth_tkt.remote_addr, '::1')
+ self.assertEqual(helper.auth_tkt.secret, 'secret')
+ environ = request.environ
+ self.assertEqual(environ['REMOTE_USER_TOKENS'], ())
+ self.assertEqual(environ['REMOTE_USER_DATA'],'')
+ self.assertEqual(environ['AUTH_TYPE'],'cookie')
+
def test_identify_good_cookie_dont_include_ip(self):
helper = self._makeOne('secret', include_ip=False)
request = self._makeRequest('ticket')