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