def test_send_recv_args(): server = Server({'echo': echo}) server.listen(0) comm = yield connect(server.address) result = yield send_recv(comm, op='echo', x=b'1') assert result == b'1' assert not comm.closed() result = yield send_recv(comm, op='echo', x=b'2', reply=False) assert result == None assert not comm.closed() result = yield send_recv(comm, op='echo', x=b'3', close=True) assert result == b'3' assert comm.closed() server.stop()
def test_send_recv_args(): server = Server({"echo": echo}) server.listen(0) comm = yield connect(server.address) result = yield send_recv(comm, op="echo", x=b"1") assert result == b"1" assert not comm.closed() result = yield send_recv(comm, op="echo", x=b"2", reply=False) assert result is None assert not comm.closed() result = yield send_recv(comm, op="echo", x=b"3", close=True) assert result == b"3" assert comm.closed() server.stop()
def test_send_recv_args(): server = Server({'echo': echo}) server.listen(0) comm = yield connect(server.address) result = yield send_recv(comm, op='echo', x=b'1') assert result == b'1' assert not comm.closed() result = yield send_recv(comm, op='echo', x=b'2', reply=False) assert result is None assert not comm.closed() result = yield send_recv(comm, op='echo', x=b'3', close=True) assert result == b'3' assert comm.closed() server.stop()
def test_send_recv_args(): server = Server({'echo': echo}) server.listen(0) result = yield send_recv(arg=('127.0.0.1', server.port), op='echo', x=b'1') assert result == b'1' result = yield send_recv(addr=('127.0.0.1:%d' % server.port).encode(), op='echo', x=b'1') assert result == b'1' result = yield send_recv(ip=b'127.0.0.1', port=server.port, op='echo', x=b'1') assert result == b'1' result = yield send_recv(ip=b'127.0.0.1', port=server.port, op='echo', x=b'1', reply=False) assert result == None server.stop()
def test_deserialize_error(): server = Server({'throws': throws}) server.listen(0) comm = yield connect(server.address, deserialize=False) with pytest.raises(Exception) as info: yield send_recv(comm, op='throws') assert type(info.value) == Exception for c in str(info.value): assert c.isalpha() or c in "(',!)" # no crazy bytestrings
def test_send_recv_args(): server = Server({'echo': echo}) server.listen(0) addr = '127.0.0.1:%d' % server.port addr2 = server.address result = yield send_recv(addr=addr, op='echo', x=b'1') assert result == b'1' result = yield send_recv(addr=addr, op='echo', x=b'2', reply=False) assert result == None result = yield send_recv(addr=addr2, op='echo', x=b'2') assert result == b'2' comm = yield connect(addr) result = yield send_recv(comm, op='echo', x=b'3') assert result == b'3' assert not comm.closed() result = yield send_recv(comm, op='echo', x=b'4', close=True) assert result == b'4' assert comm.closed() server.stop()
async def test_send_recv_cancelled(): """Test that the comm channel is closed on CancelledError""" async def get_stuck(comm): await asyncio.Future() server = Server({"get_stuck": get_stuck}) await server.listen(0) client_comm = await connect(server.address, deserialize=False) while not server._comms: await asyncio.sleep(0.01) server_comm = next(iter(server._comms)) with pytest.raises(asyncio.TimeoutError): await asyncio.wait_for(send_recv(client_comm, op="get_stuck"), timeout=0.1) assert client_comm.closed() while not server_comm.closed(): await asyncio.sleep(0.01)