diff options
| author | Bert JW Regeer <bertjw@regeer.org> | 2013-02-01 18:00:22 -0700 |
|---|---|---|
| committer | Bert JW Regeer <bertjw@regeer.org> | 2013-02-02 00:42:54 -0700 |
| commit | fbd5b4a8023f3ff3c42ab66b1a660d587e9c331b (patch) | |
| tree | d90cd041387b8b71c1e34fddbc0842d1708e5e9c | |
| parent | 918c9d9dd632d346909d2429647758352d753a42 (diff) | |
| download | pyramid-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.py | 25 |
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') |
