summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Tomkins <tomkins@darkzone.net>2016-11-13 16:11:28 +0000
committerAlex Tomkins <tomkins@darkzone.net>2016-12-04 23:15:37 +0000
commit7658ee0595a806f9d78b8b9e700dbcf646725a8d (patch)
tree00ae1b6c16031b8fa34864e090675b2e86d2a0fc
parentcce595d29dc55c86e00cb5bb2b69117f7fcf1366 (diff)
downloadpymemcache-7658ee0595a806f9d78b8b9e700dbcf646725a8d.tar.gz
Add integration test for serde serialization
Currently this will fail with unicode strings on Python 3, as the pymemcache client will return a byte string - but the deserializer doesn't change it back to a unicode string.
-rw-r--r--pymemcache/test/test_integration.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/pymemcache/test/test_integration.py b/pymemcache/test/test_integration.py
index 14e9f03..ae45c56 100644
--- a/pymemcache/test/test_integration.py
+++ b/pymemcache/test/test_integration.py
@@ -22,6 +22,10 @@ from pymemcache.exceptions import (
MemcacheIllegalInputError,
MemcacheClientError
)
+from pymemcache.serde import (
+ python_memcache_serializer,
+ python_memcache_deserializer
+)
def get_set_helper(client, key, value, key2, value2):
@@ -232,6 +236,25 @@ def test_serialization_deserialization(host, port, socket_module):
@pytest.mark.integration()
+def test_serde_serialization(client_class, host, port, socket_module):
+ def check(value):
+ client.set(b'key', value, noreply=False)
+ result = client.get(b'key')
+ assert result == value
+
+ client = client_class((host, port), serializer=python_memcache_serializer,
+ deserializer=python_memcache_deserializer,
+ socket_module=socket_module)
+ client.flush_all()
+
+ check(b'byte string')
+ check(u'unicode string')
+ check(1)
+ check(123123123123123123123)
+ check({'a': 'pickle'})
+
+
+@pytest.mark.integration()
def test_errors(client_class, host, port, socket_module):
client = client_class((host, port), socket_module=socket_module)
client.flush_all()