diff options
| -rw-r--r-- | pyramid/session.py | 3 | ||||
| -rw-r--r-- | pyramid/tests/test_session.py | 27 |
2 files changed, 28 insertions, 2 deletions
diff --git a/pyramid/session.py b/pyramid/session.py index 525636688..56140b4c7 100644 --- a/pyramid/session.py +++ b/pyramid/session.py @@ -245,7 +245,7 @@ def BaseCookieSessionFactory( _cookie_httponly = httponly _cookie_on_exception = set_on_exception _timeout = timeout if timeout is None else int(timeout) - _reissue_time = reissue_time + _reissue_time = reissue_time if reissue_time is None else int(reissue_time) # dirty flag _dirty = False @@ -390,6 +390,7 @@ def BaseCookieSessionFactory( def UnencryptedCookieSessionFactoryConfig( secret, timeout=1200, + reissue_time=0, cookie_name='session', cookie_max_age=None, cookie_path='/', diff --git a/pyramid/tests/test_session.py b/pyramid/tests/test_session.py index c3a1f3055..147ce7fa1 100644 --- a/pyramid/tests/test_session.py +++ b/pyramid/tests/test_session.py @@ -77,7 +77,6 @@ class SharedCookieSessionTests(object): request.cookies['session'] = cookieval self.assertRaises(ValueError, self._makeOne, request, timeout='error') - def test_changed(self): request = testing.DummyRequest() session = self._makeOne(request) @@ -313,6 +312,19 @@ class TestBaseCookieSession(SharedCookieSessionTests, unittest.TestCase): self.assertEqual(session['state'], 1) self.assertFalse(session._dirty) + def test_reissue_str_triggered(self): + import time + request = testing.DummyRequest() + cookieval = self._serialize((time.time() - 2, 0, {'state': 1})) + request.cookies['session'] = cookieval + session = self._makeOne(request, reissue_time='0') + self.assertEqual(session['state'], 1) + self.assertTrue(session._dirty) + + def test_reissue_invalid(self): + request = testing.DummyRequest() + self.assertRaises(ValueError, self._makeOne, request, reissue_time='invalid value') + class TestSignedCookieSession(SharedCookieSessionTests, unittest.TestCase): def _makeOne(self, request, **kw): from pyramid.session import SignedCookieSessionFactory @@ -347,6 +359,19 @@ class TestSignedCookieSession(SharedCookieSessionTests, unittest.TestCase): self.assertEqual(session['state'], 1) self.assertFalse(session._dirty) + def test_reissue_str_triggered(self): + import time + request = testing.DummyRequest() + cookieval = self._serialize((time.time() - 2, 0, {'state': 1})) + request.cookies['session'] = cookieval + session = self._makeOne(request, reissue_time='0') + self.assertEqual(session['state'], 1) + self.assertTrue(session._dirty) + + def test_reissue_invalid(self): + request = testing.DummyRequest() + self.assertRaises(ValueError, self._makeOne, request, reissue_time='invalid value') + def test_custom_salt(self): import time request = testing.DummyRequest() |
