summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Tomkins <tomkins@darkzone.net>2016-11-13 16:46:17 +0000
committerAlex Tomkins <tomkins@darkzone.net>2016-12-04 23:15:37 +0000
commitb6c8921b7281f24f5e8353cd0542d7ca1d18cf37 (patch)
tree905eaf563fe63721f005521194ebc0f6137aec7b
parent7658ee0595a806f9d78b8b9e700dbcf646725a8d (diff)
downloadpymemcache-b6c8921b7281f24f5e8353cd0542d7ca1d18cf37.tar.gz
Use byte strings after serializing with serde
The pymemcache client will return a byte string, so we'll do the same to test that the deserializer works as expected. This currently fails with Python 3.
-rw-r--r--pymemcache/test/test_serde.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/pymemcache/test/test_serde.py b/pymemcache/test/test_serde.py
index 9849cdc..4792010 100644
--- a/pymemcache/test/test_serde.py
+++ b/pymemcache/test/test_serde.py
@@ -2,17 +2,29 @@ from unittest import TestCase
from pymemcache.serde import (python_memcache_serializer,
python_memcache_deserializer)
+import pytest
+import six
+@pytest.mark.unit()
class TestSerde(TestCase):
def check(self, value):
serialized, flags = python_memcache_serializer(b'key', value)
+
+ # pymemcache stores values as byte strings, so we immediately the value
+ # if needed so deserialized works as it would with a real server
+ if not isinstance(serialized, six.binary_type):
+ serialized = six.text_type(serialized).encode('ascii')
+
deserialized = python_memcache_deserializer(b'key', serialized, flags)
assert deserialized == value
- def test_str(self):
- self.check('value')
+ def test_bytes(self):
+ self.check(b'value')
+
+ def test_unicode(self):
+ self.check(u'value')
def test_int(self):
self.check(1)