pull/35449/head
Craig Tiller 1 year ago
parent 5f06cf4c49
commit 41a19b8d5f
  1. 70
      test/core/transport/chttp2/http2_settings_test.cc

@ -372,6 +372,76 @@ TEST(Http2SettingsTest, WireIdToNameWorks) {
EXPECT_EQ(Http2Settings::WireIdToName(65029), "UNKNOWN (65029)");
}
TEST(Http2SettingsTest, ApplyHeaderTableSizeWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(1, 1), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.header_table_size(), 1u);
EXPECT_EQ(settings.Apply(1, 0x7fffffff), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.header_table_size(), 0x7fffffffu);
}
TEST(Http2SettingsTest, ApplyEnablePushWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(2, 0), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.enable_push(), false);
EXPECT_EQ(settings.Apply(2, 1), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.enable_push(), true);
EXPECT_EQ(settings.Apply(2, 2), GRPC_HTTP2_PROTOCOL_ERROR);
}
TEST(Http2SettingsTest, ApplyMaxConcurrentStreamsWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(3, 1), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.max_concurrent_streams(), 1u);
EXPECT_EQ(settings.Apply(3, 0x7fffffff), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.max_concurrent_streams(), 0x7fffffffu);
}
TEST(Http2SettingsTest, ApplyInitialWindowSizeWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(4, 1), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.initial_window_size(), 1u);
EXPECT_EQ(settings.Apply(4, 0x7fffffff), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.initial_window_size(), 0x7fffffffu);
}
TEST(Http2SettingsTest, ApplyMaxFrameSizeWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(5, 16384), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.max_frame_size(), 16384u);
EXPECT_EQ(settings.Apply(5, 16777215), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.max_frame_size(), 16777215);
EXPECT_EQ(settings.Apply(5, 16383), GRPC_HTTP2_PROTOCOL_ERROR);
EXPECT_EQ(settings.Apply(5, 16777216), GRPC_HTTP2_PROTOCOL_ERROR);
}
TEST(Http2SettingsTest, ApplyMaxHeaderListSizeWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(6, 1), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.max_header_list_size(), 1u);
EXPECT_EQ(settings.Apply(6, 0x7fffffff), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.max_header_list_size(), 16777216);
}
TEST(Http2SettingsTest, ApplyAllowTrueBinaryMetadataWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(65027, 0), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.allow_true_binary_metadata(), false);
EXPECT_EQ(settings.Apply(65027, 1), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.allow_true_binary_metadata(), true);
EXPECT_EQ(settings.Apply(65027, 2), GRPC_HTTP2_PROTOCOL_ERROR);
}
TEST(Http2SettingsTest, ApplyPreferredReceiveCryptoMessageSizeWorks) {
Http2Settings settings;
EXPECT_EQ(settings.Apply(65028, 1), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.preferred_receive_crypto_message_size(), 16384u);
EXPECT_EQ(settings.Apply(65028, 0x7fffffff), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.preferred_receive_crypto_message_size(), 0x7fffffffu);
EXPECT_EQ(settings.Apply(65028, 0x80000000), GRPC_HTTP2_NO_ERROR);
EXPECT_EQ(settings.preferred_receive_crypto_message_size(), 0x7fffffffu);
}
namespace {
MATCHER_P(SettingsFrame, settings, "") {
if (!arg.has_value()) {

Loading…
Cancel
Save