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
示例#2
0
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
示例#4
0
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
示例#5
0
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_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)
示例#10
0
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)
示例#11
0
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)
示例#12
0
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)
示例#13
0
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)
示例#14
0
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)
示例#15
0
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)
示例#16
0
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)
示例#17
0
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()
示例#18
0
def test_read_i32():
    b = TMemoryBuffer(b"I\x96\x02\xd2")
    b = TCyBufferedTransport(b)
    assert 1234567890 == proto.read_val(b, TType.I32)
示例#19
0
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)
示例#20
0
def test_read_i8():
    b = TMemoryBuffer(b'\x7b')
    b = TCyBufferedTransport(b)
    val = proto.read_val(b, TType.I08)

    assert 123 == val
示例#21
0
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)
示例#22
0
def test_read_i32():
    b = TMemoryBuffer(b"I\x96\x02\xd2")
    b = TCyBufferedTransport(b)
    assert 1234567890 == proto.read_val(b, TType.I32)
示例#23
0
def test_read_i8():
    b = TMemoryBuffer(b'\x7b')
    b = TCyBufferedTransport(b)
    val = proto.read_val(b, TType.I08)

    assert 123 == val
示例#24
0
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)
示例#25
0
def test_read_i32():
    b = TCyMemoryBuffer(b"I\x96\x02\xd2")
    assert 1234567890 == proto.read_val(b, TType.I32)
示例#26
0
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)
示例#27
0
def test_read_bool():
    b = TCyMemoryBuffer(b'\x01')
    val = proto.read_val(b, TType.BOOL)

    assert True is val
示例#28
0
def test_read_i64():
    b = TCyMemoryBuffer(b'\x11"\x10\xf4}\xe9\x81\x15')
    assert 1234567890123456789 == proto.read_val(b, TType.I64)
示例#29
0
def test_read_i16():
    b = TCyMemoryBuffer(b"09")
    val = proto.read_val(b, TType.I16)

    assert 12345 == val
示例#30
0
def test_read_i16():
    b = TMemoryBuffer(b"09")
    b = TCyBufferedTransport(b)
    val = proto.read_val(b, TType.I16)

    assert 12345 == val
示例#31
0
def test_read_i8():
    b = TCyMemoryBuffer(b'\x7b')
    val = proto.read_val(b, TType.I08)

    assert 123 == val
示例#32
0
def test_read_bool():
    b = TCyMemoryBuffer(b'\x01')
    val = proto.read_val(b, TType.BOOL)

    assert True is val
示例#33
0
def test_read_i8():
    b = TCyMemoryBuffer(b'\x7b')
    val = proto.read_val(b, TType.I08)

    assert 123 == val
示例#34
0
def test_read_i16():
    b = TCyMemoryBuffer(b"09")
    val = proto.read_val(b, TType.I16)

    assert 12345 == val
示例#35
0
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)
示例#36
0
def test_read_i32():
    b = TCyMemoryBuffer(b"I\x96\x02\xd2")
    assert 1234567890 == proto.read_val(b, TType.I32)
示例#37
0
def test_read_bool():
    b = TMemoryBuffer(b'\x01')
    b = TCyBufferedTransport(b)
    val = proto.read_val(b, TType.BOOL)

    assert True is val
示例#38
0
def test_read_i64():
    b = TCyMemoryBuffer(b"\x11\"\x10\xf4}\xe9\x81\x15")
    assert 1234567890123456789 == proto.read_val(b, TType.I64)
示例#39
0
def test_read_i16():
    b = TMemoryBuffer(b"09")
    b = TCyBufferedTransport(b)
    val = proto.read_val(b, TType.I16)

    assert 12345 == val
示例#40
0
def test_read_double():
    b = TCyMemoryBuffer(b"A\xd2e\x80\xb4\x87\xe6\xb7")
    assert 1234567890.1234567890 == proto.read_val(b, TType.DOUBLE)
示例#41
0
def test_read_i64():
    b = TMemoryBuffer(b"\x11\"\x10\xf4}\xe9\x81\x15")
    b = TCyBufferedTransport(b)
    assert 1234567890123456789 == proto.read_val(b, TType.I64)
示例#42
0
def test_read_bool():
    b = TMemoryBuffer(b'\x01')
    b = TCyBufferedTransport(b)
    val = proto.read_val(b, TType.BOOL)

    assert True is val