diff options
author | Alex Tomkins <tomkins@darkzone.net> | 2016-11-13 16:46:17 +0000 |
---|---|---|
committer | Alex Tomkins <tomkins@darkzone.net> | 2016-12-04 23:15:37 +0000 |
commit | b6c8921b7281f24f5e8353cd0542d7ca1d18cf37 (patch) | |
tree | 905eaf563fe63721f005521194ebc0f6137aec7b | |
parent | 7658ee0595a806f9d78b8b9e700dbcf646725a8d (diff) | |
download | pymemcache-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.py | 16 |
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) |