def METHOD_NAME(tctx):
    """Test HTTP/1 -> HTTP/2 request translation"""
    server = Placeholder(Server)
    flow = Placeholder(HTTPFlow)
    tctx.options.http2_ping_keepalive = 0
    playbook = Playbook(http.HttpLayer(tctx, HTTPMode.regular))
    conf = h2.config.H2Configuration(client_side=False)
    conn = h2.connection.H2Connection(conf)
    conn.initiate_connection()
    request = Placeholder(bytes)
    assert (
        playbook
        >> DataReceived(
            tctx.client,
            b"GET http://example.com/ HTTP/1.1\r\nHost: example.com\r\n\r\n",
        )
        << http.HttpRequestHeadersHook(flow)
        >> reply()
        << http.HttpRequestHook(flow)
        >> reply()
        << OpenConnection(server)
        >> reply(None, side_effect=make_h2)
        << SendData(server, request)
    )
    events = conn.receive_data(request())
    assert event_types(events) == [
        h2.events.RemoteSettingsChanged,
        h2.events.RequestReceived,
        h2.events.StreamEnded,
    ]
    conn.send_headers(1, example_response_headers)
    conn.send_data(1, b"Hello World!", end_stream=True)
    settings_ack = Placeholder(bytes)
    assert (
        playbook
        >> DataReceived(server, conn.data_to_send())
        << http.HttpResponseHeadersHook(flow)
        << SendData(server, settings_ack)
        >> reply(to=-2)
        << http.HttpResponseHook(flow)
        >> reply()
        << SendData(tctx.client, b"HTTP/1.1 200 OK\r\n\r\nHello World!")
        << CloseConnection(tctx.client)
    )
    assert settings_ack() == b"\x00\x00\x00\x04\x01\x00\x00\x00\x00"