def test_unsolicited_pong() -> None: client = Connection(CLIENT) server = Connection(SERVER) payload = b"x" * 23 server.receive_data(client.send(Pong(payload=payload))) event = next(server.events()) assert isinstance(event, Pong) assert event.payload == payload
def test_data(split_message: bool) -> None: client = Connection(CLIENT) server = Connection(SERVER) data = "ƒñö®∂😎" server.receive_data( client.send(TextMessage(data=data, message_finished=not split_message))) event = next(server.events()) assert isinstance(event, TextMessage) assert event.message_finished is not split_message
def test_close_whilst_closing() -> None: client = Connection(CLIENT) client.send(CloseConnection(code=CloseReason.NORMAL_CLOSURE)) with pytest.raises(LocalProtocolError): client.send(CloseConnection(code=CloseReason.NORMAL_CLOSURE))
def test_send_invalid_event() -> None: client = Connection(CLIENT) with pytest.raises(LocalProtocolError): client.send(Request(target="/", host="wsproto"))