From 357fd895bf2ac3ac6590dadddcb03b37a0f68838 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Fri, 23 Feb 2018 15:44:07 +0100 Subject: [PATCH] Add msgpack test --- src/Test/TestMsgpack.py | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/Test/TestMsgpack.py diff --git a/src/Test/TestMsgpack.py b/src/Test/TestMsgpack.py new file mode 100644 index 00000000..3665a0a4 --- /dev/null +++ b/src/Test/TestMsgpack.py @@ -0,0 +1,46 @@ +import cStringIO as StringIO + +import msgpack +import pytest + +from Config import config +from util import StreamingMsgpack + + +class TestMsgpack: + test_data = {"cmd": "fileGet", "params": {"site": "1Site"}} + + def testUnpackinkg(self): + assert msgpack.unpackb(msgpack.packb(self.test_data)) == self.test_data + + @pytest.mark.parametrize("unpacker_class", [msgpack.Unpacker, msgpack.fallback.Unpacker]) + def testUnpacker(self, unpacker_class): + unpacker = unpacker_class() + + data = msgpack.packb(self.test_data) + data += msgpack.packb(self.test_data) + + messages = [] + for char in data: + unpacker.feed(char) + for message in unpacker: + messages.append(message) + + assert len(messages) == 2 + assert messages[0] == self.test_data + assert messages[0] == messages[1] + + def testStreaming(self): + f = StreamingMsgpack.FilePart("%s/users.json" % config.data_dir) + f.read_bytes = 10 + + data = {"cmd": "response", "params": f} + + out_buff = StringIO.StringIO() + StreamingMsgpack.stream(data, out_buff.write) + out_buff.seek(0) + + data_packb = {"cmd": "response", "params": open("%s/users.json" % config.data_dir).read(10)} + + out_buff.seek(0) + assert msgpack.unpackb(out_buff.read()) == data_packb