def test_getPickled(self): """ Ensure that pickled object can be fetched. """ client = YamClient(['one', 'two'], connect=False) transports = makeTestConnections(client) # Get a value that should hit first client and not second value = {'foo': 'bar', 'biz': 'baz'} pickled = cPickle.dumps(value, cPickle.HIGHEST_PROTOCOL) send = "get aaa\r\n" recv = ["VALUE aaa 0 %i\r\n%s\r\nEND\r\n" % (len(pickled), pickled)] yield self._test(client.getPickled("aaa"), transports[:1], send, recv, (0, value)) self.assertEqual(transports[1].value(), "")
def test_getPickledWithCompression(self): """ Ensure that pickled object can be fetched with compression. """ client = YamClient(['one', 'two'], connect=False) transports = makeTestConnections(client) # Get a value that should hit first client and not second value = {'foo': 'bar', 'biz': 'baz'} pickled = zlib.compress(cPickle.dumps(value, cPickle.HIGHEST_PROTOCOL)) send = "get aaa\r\n" recv = ["VALUE aaa 0 %i\r\n%s\r\nEND\r\n" % (len(pickled), pickled)] d = client.getPickled("aaa", uncompress=True) yield self._test(d, transports[:1], send, recv, (0, value)) self.assertEqual(transports[1].value(), "")