summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2015-08-31 11:31:10 -0500
committerMichael Merickel <michael@merickel.org>2015-08-31 11:31:10 -0500
commitc87bdbc1c78821c1bfba79f3b8e844313a4f33a2 (patch)
tree93399e9978aa5b6c13de3852d7ab17354ebc5a89
parente0a230a8006c11097469510c47a84fd9b107b748 (diff)
parent5b5d5ed4c011ef71258a2c34463c6fe3821dab40 (diff)
downloadpyramid-c87bdbc1c78821c1bfba79f3b8e844313a4f33a2.tar.gz
pyramid-c87bdbc1c78821c1bfba79f3b8e844313a4f33a2.tar.bz2
pyramid-c87bdbc1c78821c1bfba79f3b8e844313a4f33a2.zip
Merge branch 'pull.1866'
-rw-r--r--pyramid/tests/test_session.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/pyramid/tests/test_session.py b/pyramid/tests/test_session.py
index b013ffa66..eac6593d9 100644
--- a/pyramid/tests/test_session.py
+++ b/pyramid/tests/test_session.py
@@ -1,3 +1,4 @@
+import base64
import json
import unittest
from pyramid import testing
@@ -277,7 +278,7 @@ class TestBaseCookieSession(SharedCookieSessionTests, unittest.TestCase):
return BaseCookieSessionFactory(serializer, **kw)(request)
def _serialize(self, value):
- return json.dumps(value)
+ return base64.b64encode(json.dumps(value).encode('utf-8'))
def test_reissue_not_triggered(self):
import time
@@ -650,10 +651,16 @@ class Test_check_csrf_token(unittest.TestCase):
class DummySerializer(object):
def dumps(self, value):
- return json.dumps(value).encode('utf-8')
+ return base64.b64encode(json.dumps(value).encode('utf-8'))
def loads(self, value):
- return json.loads(value.decode('utf-8'))
+ try:
+ return json.loads(base64.b64decode(value).decode('utf-8'))
+
+ # base64.b64decode raises a TypeError on py2 instead of a ValueError
+ # and a ValueError is required for the session to handle it properly
+ except TypeError:
+ raise ValueError
class DummySessionFactory(dict):
_dirty = False