From 5ba0636b83277c24c48e81427a176541266cd30e Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 3 Feb 2010 02:51:24 +0000 Subject: Bug Fixes --------- - Ensure that ``secure`` flag for AuthTktAuthenticationPolicy constructor does what it's documented to do (merge Daniel Holth's fancy-cookies-2 branch). New Features ------------ - Add ``path`` and ``http_only`` options to AuthTktAuthenticationPolicy constructor (merge Daniel Holth's fancy-cookies-2 branch). --- repoze/bfg/tests/test_authentication.py | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'repoze/bfg/tests/test_authentication.py') diff --git a/repoze/bfg/tests/test_authentication.py b/repoze/bfg/tests/test_authentication.py index bd4be6641..a6f34970f 100644 --- a/repoze/bfg/tests/test_authentication.py +++ b/repoze/bfg/tests/test_authentication.py @@ -456,6 +456,63 @@ class TestAuthTktCookieHelper(unittest.TestCase): self.failUnless(result[2][1].endswith('; Path=/; Domain=.localhost')) self.failUnless(result[2][1].startswith('auth_tkt=')) + def test_remember_path(self): + plugin = self._makeOne('secret', include_ip=True, + path="/cgi-bin/bfg.cgi/") + request = self._makeRequest() + result = plugin.remember(request, 'other') + self.assertEqual(len(result), 3) + + self.assertEqual(result[0][0], 'Set-Cookie') + self.failUnless(result[0][1].endswith('; Path=/cgi-bin/bfg.cgi/')) + self.failUnless(result[0][1].startswith('auth_tkt=')) + + self.assertEqual(result[1][0], 'Set-Cookie') + self.failUnless(result[1][1].endswith( + '; Path=/cgi-bin/bfg.cgi/; Domain=localhost')) + self.failUnless(result[1][1].startswith('auth_tkt=')) + + self.assertEqual(result[2][0], 'Set-Cookie') + self.failUnless(result[2][1].endswith( + '; Path=/cgi-bin/bfg.cgi/; Domain=.localhost')) + self.failUnless(result[2][1].startswith('auth_tkt=')) + + def test_remember_http_only(self): + plugin = self._makeOne('secret', include_ip=True, http_only=True) + request = self._makeRequest() + result = plugin.remember(request, 'other') + self.assertEqual(len(result), 3) + + self.assertEqual(result[0][0], 'Set-Cookie') + self.failUnless(result[0][1].endswith('; HttpOnly')) + self.failUnless(result[0][1].startswith('auth_tkt=')) + + self.assertEqual(result[1][0], 'Set-Cookie') + self.failUnless(result[1][1].endswith('; HttpOnly')) + self.failUnless(result[1][1].startswith('auth_tkt=')) + + self.assertEqual(result[2][0], 'Set-Cookie') + self.failUnless(result[2][1].endswith('; HttpOnly')) + self.failUnless(result[2][1].startswith('auth_tkt=')) + + def test_remember_secure(self): + plugin = self._makeOne('secret', include_ip=True, secure=True) + request = self._makeRequest() + result = plugin.remember(request, 'other') + self.assertEqual(len(result), 3) + + self.assertEqual(result[0][0], 'Set-Cookie') + self.failUnless('; Secure' in result[0][1]) + self.failUnless(result[0][1].startswith('auth_tkt=')) + + self.assertEqual(result[1][0], 'Set-Cookie') + self.failUnless('; Secure' in result[1][1]) + self.failUnless(result[1][1].startswith('auth_tkt=')) + + self.assertEqual(result[2][0], 'Set-Cookie') + self.failUnless('; Secure' in result[2][1]) + self.failUnless(result[2][1].startswith('auth_tkt=')) + def test_remember_string_userid(self): plugin = self._makeOne('secret') request = self._makeRequest() -- cgit v1.2.3