Skip to content

Commit 7af4adf

Browse files
committed
Include a test for setting header_table_size
1 parent 4e6d835 commit 7af4adf

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

tests/h2-support/src/frames.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,11 @@ impl Mock<frame::Settings> {
372372
self.0.set_enable_connect_protocol(Some(val));
373373
self
374374
}
375+
376+
pub fn header_table_size(mut self, val: u32) -> Self {
377+
self.0.set_header_table_size(Some(val));
378+
self
379+
}
375380
}
376381

377382
impl From<Mock<frame::Settings>> for frame::Settings {

tests/h2-tests/tests/client_request.rs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1452,6 +1452,40 @@ async fn extended_connect_request() {
14521452
join(srv, h2).await;
14531453
}
14541454

1455+
#[tokio::test]
1456+
async fn client_builder_header_table_size() {
1457+
h2_support::trace_init!();
1458+
let (io, mut srv) = mock::new();
1459+
let mut settings = frame::Settings::default();
1460+
1461+
settings.set_header_table_size(Some(10000));
1462+
1463+
let srv = async move {
1464+
let recv_settings = srv.assert_client_handshake().await;
1465+
assert_frame_eq(recv_settings, settings);
1466+
1467+
srv.recv_frame(
1468+
frames::headers(1)
1469+
.request("GET", "https://example.com/")
1470+
.eos(),
1471+
)
1472+
.await;
1473+
srv.send_frame(frames::headers(1).response(200).eos()).await;
1474+
};
1475+
1476+
let mut builder = client::Builder::new();
1477+
builder.header_table_size(10000);
1478+
1479+
let h2 = async move {
1480+
let (mut client, mut h2) = builder.handshake::<_, Bytes>(io).await.unwrap();
1481+
let request = Request::get("https://example.com/").body(()).unwrap();
1482+
let (response, _) = client.send_request(request, true).unwrap();
1483+
h2.drive(response).await.unwrap();
1484+
};
1485+
1486+
join(srv, h2).await;
1487+
}
1488+
14551489
const SETTINGS: &'static [u8] = &[0, 0, 0, 4, 0, 0, 0, 0, 0];
14561490
const SETTINGS_ACK: &'static [u8] = &[0, 0, 0, 4, 1, 0, 0, 0, 0];
14571491

0 commit comments

Comments
 (0)