From a43abd25858d3e60f525c12da5a271e30a99c4fb Mon Sep 17 00:00:00 2001 From: RamiC Date: Thu, 29 Oct 2015 19:32:58 +0200 Subject: Convert reissue_time argument to int values when applicable --- pyramid/session.py | 3 ++- 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() -- cgit v1.2.3