From 44cb57c9d95d71eb9bf8be0ccfd6596bf651c57c Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Thu, 30 Sep 2021 10:41:44 -0700 Subject: [PATCH] tests: add explicit SendResponse::send_reset test --- tests/h2-tests/tests/server.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/h2-tests/tests/server.rs b/tests/h2-tests/tests/server.rs index 556b53c..770750d 100644 --- a/tests/h2-tests/tests/server.rs +++ b/tests/h2-tests/tests/server.rs @@ -1093,3 +1093,35 @@ async fn serve_when_request_in_response_extensions() { join(client, srv).await; } + +#[tokio::test] +async fn send_reset_explicitly() { + h2_support::trace_init!(); + let (io, mut client) = mock::new(); + + let client = async move { + let settings = client.assert_server_handshake().await; + assert_default_settings!(settings); + client + .send_frame( + frames::headers(1) + .request("GET", "https://example.com/") + .eos(), + ) + .await; + client + .recv_frame(frames::reset(1).reason(Reason::ENHANCE_YOUR_CALM)) + .await; + }; + + let srv = async move { + let mut srv = server::handshake(io).await.expect("handshake"); + let (_req, mut stream) = srv.next().await.unwrap().unwrap(); + + stream.send_reset(Reason::ENHANCE_YOUR_CALM); + + assert!(srv.next().await.is_none()); + }; + + join(client, srv).await; +}