From 394ea6916356d4cd96777b18128c8cc895c3ae9a Mon Sep 17 00:00:00 2001
From: Tres Seaver <tseaver@agendaless.com>
Date: Fri, 08 May 2009 21:26:18 +0200
Subject: [PATCH] Coverage.

---
 repoze/who/plugins/tests/test_authtkt.py |   67 +++++++++++++++++++++++++++++++++
 repoze/who/plugins/auth_tkt.py           |    3 +
 2 files changed, 69 insertions(+), 1 deletions(-)

diff --git a/repoze/who/plugins/auth_tkt.py b/repoze/who/plugins/auth_tkt.py
index 28c740e..92520a6 100644
--- a/repoze/who/plugins/auth_tkt.py
+++ b/repoze/who/plugins/auth_tkt.py
@@ -144,7 +144,8 @@
                 return self._get_cookies(environ, new_cookie_value)
 
     def __repr__(self):
-        return '<%s %s>' % (self.__class__.__name__, id(self))
+        return '<%s %s>' % (self.__class__.__name__,
+                            id(self)) #pragma NO COVERAGE
 
 def _bool(value):
     if isinstance(value, basestring):
diff --git a/repoze/who/plugins/tests/test_authtkt.py b/repoze/who/plugins/tests/test_authtkt.py
index b832c7d..f0f85cc 100644
--- a/repoze/who/plugins/tests/test_authtkt.py
+++ b/repoze/who/plugins/tests/test_authtkt.py
@@ -134,6 +134,73 @@
                            'auth_tkt="%s"; Path=/; Domain=.localhost'
                             % new_val))
 
+    def test_remember_creds_different_include_ip(self):
+        plugin = self._makeOne('secret', include_ip=True)
+        old_val = self._makeTicket(userid='userid', remote_addr='1.1.1.1')
+        environ = self._makeEnviron({'HTTP_COOKIE': 'auth_tkt=%s' % old_val})
+        new_val = self._makeTicket(userid='other',
+                                   userdata='userdata',
+                                   remote_addr='1.1.1.1')
+        result = plugin.remember(environ, {'repoze.who.userid':'other',
+                                           'userdata':'userdata'})
+        self.assertEqual(len(result), 3)
+        self.assertEqual(result[0],
+                         ('Set-Cookie',
+                          'auth_tkt="%s"; Path=/' % new_val))
+        self.assertEqual(result[1],
+                         ('Set-Cookie',
+                           'auth_tkt="%s"; Path=/; Domain=localhost'
+                            % new_val))
+        self.assertEqual(result[2],
+                         ('Set-Cookie',
+                           'auth_tkt="%s"; Path=/; Domain=.localhost'
+                            % new_val))
+
+    def test_remember_creds_different_bad_old_cookie(self):
+        plugin = self._makeOne('secret')
+        old_val = 'BOGUS'
+        environ = self._makeEnviron({'HTTP_COOKIE':'auth_tkt=%s' % old_val})
+        new_val = self._makeTicket(userid='other', userdata='userdata')
+        result = plugin.remember(environ, {'repoze.who.userid':'other',
+                                           'userdata':'userdata'})
+        self.assertEqual(len(result), 3)
+        self.assertEqual(result[0],
+                         ('Set-Cookie',
+                          'auth_tkt="%s"; Path=/' % new_val))
+        self.assertEqual(result[1],
+                         ('Set-Cookie',
+                           'auth_tkt="%s"; Path=/; Domain=localhost'
+                            % new_val))
+        self.assertEqual(result[2],
+                         ('Set-Cookie',
+                           'auth_tkt="%s"; Path=/; Domain=.localhost'
+                            % new_val))
+
+    def test_remember_creds_different_with_nonstring_tokens(self):
+        plugin = self._makeOne('secret')
+        old_val = self._makeTicket(userid='userid')
+        environ = self._makeEnviron({'HTTP_COOKIE':'auth_tkt=%s' % old_val})
+        new_val = self._makeTicket(userid='other',
+                                   userdata='userdata',
+                                   tokens='foo,bar',
+                                  )
+        result = plugin.remember(environ, {'repoze.who.userid': 'other',
+                                           'userdata': 'userdata',
+                                           'tokens': ['foo', 'bar'],
+                                          })
+        self.assertEqual(len(result), 3)
+        self.assertEqual(result[0],
+                         ('Set-Cookie',
+                          'auth_tkt="%s"; Path=/' % new_val))
+        self.assertEqual(result[1],
+                         ('Set-Cookie',
+                           'auth_tkt="%s"; Path=/; Domain=localhost'
+                            % new_val))
+        self.assertEqual(result[2],
+                         ('Set-Cookie',
+                           'auth_tkt="%s"; Path=/; Domain=.localhost'
+                            % new_val))
+
     def test_remember_creds_different_int_userid(self):
         plugin = self._makeOne('secret')
         old_val = self._makeTicket(userid='userid')

--
Gitblit v1.9.3