summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamiC <olokki@gmail.com>2015-10-29 19:32:58 +0200
committerRamiC <olokki@gmail.com>2015-10-29 19:32:58 +0200
commita43abd25858d3e60f525c12da5a271e30a99c4fb (patch)
treec1fa3d07bdead691c74055e45065cc701450bb34
parent67ff3b9ce4bcaceeee90f2aa4ae900d9220cac8b (diff)
downloadpyramid-a43abd25858d3e60f525c12da5a271e30a99c4fb.tar.gz
pyramid-a43abd25858d3e60f525c12da5a271e30a99c4fb.tar.bz2
pyramid-a43abd25858d3e60f525c12da5a271e30a99c4fb.zip
Convert reissue_time argument to int values when applicable
-rw-r--r--pyramid/session.py3
-rw-r--r--pyramid/tests/test_session.py27
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()