def test_write_string(): b = TCyMemoryBuffer() proto.write_val(b, TType.STRING, "hello world!") b.flush() assert "00 00 00 0c 68 65 6c 6c 6f 20 77 6f 72 6c 64 21" == \ hexlify(b.getvalue()) b = TCyMemoryBuffer() proto.write_val(b, TType.STRING, u("你好世界")) b.flush() assert "00 00 00 0c e4 bd a0 e5 a5 bd e4 b8 96 e7 95 8c" == \ hexlify(b.getvalue())
def test_write_empty_struct(): trans = TCyMemoryBuffer() b = proto.TCyBinaryProtocol(trans) item = TItem() b.write_struct(item) b.write_message_end() assert "00" == hexlify(trans.getvalue())
def test_write_message_begin_no_strict(): trans = TCyMemoryBuffer() b = proto.TCyBinaryProtocol(trans, strict_write=False) b.write_message_begin("test", TType.STRING, 1) b.write_message_end() assert "00 00 00 04 74 65 73 74 0b 00 00 00 01" == \ hexlify(trans.getvalue())
def test_write_struct(): trans = TCyMemoryBuffer() b = proto.TCyBinaryProtocol(trans) item = TItem(id=123, phones=["123456", "abcdef"]) b.write_struct(item) b.write_message_end() assert ("08 00 01 00 00 00 7b 0f 00 02 0b 00 00 00 02 00 00 00 " "06 31 32 33 34 35 36 00 00 00 06 61 62 63 64 65 66 00") == \ hexlify(trans.getvalue())
def test_write_wrong_arg_type(): trans = TCyMemoryBuffer() b = proto.TCyBinaryProtocol(trans) item = TItem(id="wrong type", phones=["123456", "abcdef"]) try: b.write_struct(item) except Exception: pass b.write_message_end() item2 = TItem(id=123, phones=["123456", "abcdef"]) b.write_struct(item2) b.write_message_end() assert ("08 00 01 00 00 00 7b 0f 00 02 0b 00 00 00 02 00 00 00 " "06 31 32 33 34 35 36 00 00 00 06 61 62 63 64 65 66 00") == \ hexlify(trans.getvalue())
def test_write_i64(): b = TCyMemoryBuffer() proto.write_val(b, TType.I64, 1234567890123456789) b.flush() assert "11 22 10 f4 7d e9 81 15" == hexlify(b.getvalue())
def test_write_i32(): b = TCyMemoryBuffer() proto.write_val(b, TType.I32, 1234567890) b.flush() assert "49 96 02 d2" == hexlify(b.getvalue())
def test_write_i16(): b = TCyMemoryBuffer() proto.write_val(b, TType.I16, 12345) b.flush() assert "30 39" == hexlify(b.getvalue())
def test_write_i8(): b = TCyMemoryBuffer() proto.write_val(b, TType.I08, 123) b.flush() assert "7b" == hexlify(b.getvalue())
def test_write_bool(): b = TCyMemoryBuffer() proto.write_val(b, TType.BOOL, 1) b.flush() assert "01" == hexlify(b.getvalue())
def test_write_double(): b = TCyMemoryBuffer() proto.write_val(b, TType.DOUBLE, 1234567890.1234567890) b.flush() assert "41 d2 65 80 b4 87 e6 b7" == hexlify(b.getvalue())