def test_read_long_data(): val = 'z' * 97 * 1024 def serve(): server_sock = TServerSocket( unix_socket="./thriftpy_test.sock") server_sock.listen() client = server_sock.accept() t = TCyBufferedTransport(client) proto.write_val(t, TType.STRING, val) t.flush() p = multiprocessing.Process(target=serve) p.start() time.sleep(0.1) try: sock = TSocket(unix_socket="./thriftpy_test.sock") b = TCyBufferedTransport(sock) b.open() assert val == proto.read_val(b, TType.STRING) sock.close() finally: p.terminate() try: os.remove("./thriftpy_test.sock") except IOError: pass
def test_read_long_data(): val = 'z' * 97 * 1024 unix_sock = "/tmp/thriftpy_test.sock" def serve(): server_sock = TServerSocket(unix_socket=unix_sock) server_sock.listen() client = server_sock.accept() t = TCyBufferedTransport(client) proto.write_val(t, TType.STRING, val) t.flush() # wait for client to read time.sleep(1) p = multiprocessing.Process(target=serve) p.start() time.sleep(0.1) try: sock = TSocket(unix_socket=unix_sock) b = TCyBufferedTransport(sock) b.open() assert val == proto.read_val(b, TType.STRING) sock.close() finally: p.terminate() try: os.remove(unix_sock) except IOError: pass
def test_byteswap_i16(): i = 128 b = TCyMemoryBuffer() proto.write_val(b, TType.I16, i) b.flush() v = proto.read_val(b, TType.I16) assert v == i
def test_skip_list(): b = TCyMemoryBuffer() proto.write_val(b, TType.LIST, [5, 6, 7, 8, 9], spec=TType.I32) proto.write_val(b, TType.I32, 123) b.flush() proto.skip(b, TType.LIST) assert 123 == proto.read_val(b, TType.I32)
def test_skip_double(): b = TCyMemoryBuffer() proto.write_val(b, TType.DOUBLE, 0.123425897) proto.write_val(b, TType.I32, 123) b.flush() proto.skip(b, TType.DOUBLE) assert 123 == proto.read_val(b, TType.I32)
def test_skip_string(): b = TCyMemoryBuffer() proto.write_val(b, TType.STRING, "hello world") proto.write_val(b, TType.I32, 123) b.flush() proto.skip(b, TType.STRING) assert 123 == proto.read_val(b, TType.I32)
def test_skip_bool(): b = TCyMemoryBuffer() proto.write_val(b, TType.BOOL, 1) proto.write_val(b, TType.I32, 123) b.flush() proto.skip(b, TType.BOOL) assert 123 == proto.read_val(b, TType.I32)
def test_skip_map(): b = TCyMemoryBuffer() proto.write_val(b, TType.MAP, {"hello": 0.3456}, spec=(TType.STRING, TType.DOUBLE)) proto.write_val(b, TType.I32, 123) b.flush() proto.skip(b, TType.MAP) assert 123 == proto.read_val(b, TType.I32)
def test_skip_struct(): b = TCyMemoryBuffer() p = proto.TCyBinaryProtocol(b) item = TItem(id=123, phones=["123456", "abcdef"]) p.write_struct(item) p.write_message_end() proto.write_val(b, TType.I32, 123) b.flush() proto.skip(b, TType.STRUCT) assert 123 == proto.read_val(b, TType.I32)
def test_read_long_data(): val = 'z' * 97 * 1024 def serve(): server_sock = TServerSocket(host="127.0.0.1", port=9090) server_sock.listen() client = server_sock.accept() t = TCyBufferedTransport(client) proto.write_val(t, TType.STRING, val) t.flush() p = multiprocessing.Process(target=serve) p.start() time.sleep(0.1) try: sock = TSocket(host='127.0.0.1', port=9090) b = TCyBufferedTransport(sock) b.open() assert val == proto.read_val(b, TType.STRING) finally: p.terminate()
def test_read_i32(): b = TMemoryBuffer(b"I\x96\x02\xd2") b = TCyBufferedTransport(b) assert 1234567890 == proto.read_val(b, TType.I32)
def test_read_binary(): b = TCyMemoryBuffer(b"\x00\x00\x00\x0c" b"\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c") assert u("你好世界").encode("utf-8") == proto.read_val(b, TType.STRING, decode_response=False)
def test_read_i8(): b = TMemoryBuffer(b'\x7b') b = TCyBufferedTransport(b) val = proto.read_val(b, TType.I08) assert 123 == val
def test_read_string(): b = TCyMemoryBuffer(b"\x00\x00\x00\x0c" b"\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c") assert u("你好世界") == proto.read_val(b, TType.STRING)
def test_read_string(): b = TMemoryBuffer(b"\x00\x00\x00\x0c" b"\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c") b = TCyBufferedTransport(b) assert u("你好世界") == proto.read_val(b, TType.STRING)
def test_read_i32(): b = TCyMemoryBuffer(b"I\x96\x02\xd2") assert 1234567890 == proto.read_val(b, TType.I32)
def test_read_bool(): b = TCyMemoryBuffer(b'\x01') val = proto.read_val(b, TType.BOOL) assert True is val
def test_read_i64(): b = TCyMemoryBuffer(b'\x11"\x10\xf4}\xe9\x81\x15') assert 1234567890123456789 == proto.read_val(b, TType.I64)
def test_read_i16(): b = TCyMemoryBuffer(b"09") val = proto.read_val(b, TType.I16) assert 12345 == val
def test_read_i16(): b = TMemoryBuffer(b"09") b = TCyBufferedTransport(b) val = proto.read_val(b, TType.I16) assert 12345 == val
def test_read_i8(): b = TCyMemoryBuffer(b'\x7b') val = proto.read_val(b, TType.I08) assert 123 == val
def test_read_double(): b = TMemoryBuffer(b"A\xd2e\x80\xb4\x87\xe6\xb7") b = TCyBufferedTransport(b) assert 1234567890.1234567890 == proto.read_val(b, TType.DOUBLE)
def test_read_bool(): b = TMemoryBuffer(b'\x01') b = TCyBufferedTransport(b) val = proto.read_val(b, TType.BOOL) assert True is val
def test_read_i64(): b = TCyMemoryBuffer(b"\x11\"\x10\xf4}\xe9\x81\x15") assert 1234567890123456789 == proto.read_val(b, TType.I64)
def test_read_double(): b = TCyMemoryBuffer(b"A\xd2e\x80\xb4\x87\xe6\xb7") assert 1234567890.1234567890 == proto.read_val(b, TType.DOUBLE)
def test_read_i64(): b = TMemoryBuffer(b"\x11\"\x10\xf4}\xe9\x81\x15") b = TCyBufferedTransport(b) assert 1234567890123456789 == proto.read_val(b, TType.I64)