async def test_single_result_query_operation_overlapped(ws: WebSocketClient):
    """Test that two single result queries can be in flight at the same time,
    just like regular queries.  Start two queries with separate ids. The
    first query has a delay, so we expect the message to the second
    query to be delivered first.
    """
    # first query
    await ws.send_message(
        {
            "id": "sub1",
            "type": "subscribe",
            "payload": {"query": 'query { asyncHello(name: "Dolly", delay:1)}'},
        }
    )
    # second query
    await ws.send_message(
        {
            "id": "sub2",
            "type": "subscribe",
            "payload": {"query": 'query { asyncHello(name: "Dolly", delay:0)}'},
        }
    )

    # we expect the message to the second query to arrive first
    next_message: NextMessage = await ws.receive_json()
    assert_next(next_message, "sub2", {"asyncHello": "Hello Dolly"})

    complete_message: CompleteMessage = await ws.receive_json()
    assert complete_message == {"id": "sub2", "type": "complete"}
Test that two single result queries can be in flight at the same time,
    just like regular queries.  Start two queries with separate ids. The
    first query has a delay, so we expect the message to the second
    query to be delivered first.
    
tests/websockets/test_graphql_transport_ws.py