DefaultHttp3SettingsFrameTest Class — netty Architecture
Architecture documentation for the DefaultHttp3SettingsFrameTest class in DefaultHttp3SettingsFrameTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7f96b856_e26b_5a86_c5be_2535fa398741["DefaultHttp3SettingsFrameTest"] 4b255852_c729_f083_81d9_009ce0807b44["DefaultHttp3SettingsFrameTest.java"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|defined in| 4b255852_c729_f083_81d9_009ce0807b44 36258456_9730_c7bb_4fcf_d347d4e5893d["testDefaultFrameHasEmptySettings()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| 36258456_9730_c7bb_4fcf_d347d4e5893d 0fd40f18_b836_423b_2293_21690d23f9f4["testPutAndGetDelegatesToSettings()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| 0fd40f18_b836_423b_2293_21690d23f9f4 c6424af2_b179_251f_4a65_7e7dc58c0663["testPutRejectsReservedHttp2Settings()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| c6424af2_b179_251f_4a65_7e7dc58c0663 3ce56767_db63_0ead_0827_12f75695752c["testSettingsReferenceIsRetained()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| 3ce56767_db63_0ead_0827_12f75695752c 014d7c28_f236_c78c_176f_a2e8702f50a7["testEqualsAndHashCodeCompareSettings()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| 014d7c28_f236_c78c_176f_a2e8702f50a7 f9c19fe6_d625_d224_c34e_c5f65d29a589["testIteratorReflectsSettingsEntries()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| f9c19fe6_d625_d224_c34e_c5f65d29a589 a7a26fce_5abc_2652_ea2b_1d6218e3aca2["testToStringIncludesSettings()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| a7a26fce_5abc_2652_ea2b_1d6218e3aca2 36e23970_56c5_57c9_953a_dc4977a732ae["testCopyOfCreatesDeepCopy()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| 36e23970_56c5_57c9_953a_dc4977a732ae 705a66ba_52bb_3c06_3d39_6225f23d2cbc["testDeprecatedMethodsStillWork()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| 705a66ba_52bb_3c06_3d39_6225f23d2cbc 8e70dea4_3e61_7574_aa8e_cf971a2a0ef9["testDuplicateKeyInSettingsFrameTriggersError()"] 7f96b856_e26b_5a86_c5be_2535fa398741 -->|method| 8e70dea4_3e61_7574_aa8e_cf971a2a0ef9
Relationship Graph
Source Code
codec-http3/src/test/java/io/netty/handler/codec/http3/DefaultHttp3SettingsFrameTest.java lines 36–162
class DefaultHttp3SettingsFrameTest {
@Test
void testDefaultFrameHasEmptySettings() {
DefaultHttp3SettingsFrame frame = new DefaultHttp3SettingsFrame();
assertNotNull(frame.settings());
assertFalse(frame.iterator().hasNext());
assertNull(frame.get(Http3SettingIdentifier.HTTP3_SETTINGS_QPACK_MAX_TABLE_CAPACITY.id()));
}
@Test
void testPutAndGetDelegatesToSettings() {
DefaultHttp3SettingsFrame frame = new DefaultHttp3SettingsFrame();
frame.put(Http3SettingIdentifier.HTTP3_SETTINGS_QPACK_MAX_TABLE_CAPACITY.id(), 256L);
frame.put(Http3SettingIdentifier.HTTP3_SETTINGS_QPACK_BLOCKED_STREAMS.id(), 8L);
assertEquals(256L, frame.settings().qpackMaxTableCapacity());
assertEquals(8L, frame.settings().qpackBlockedStreams());
assertEquals(8L, frame.get(Http3SettingIdentifier.HTTP3_SETTINGS_QPACK_BLOCKED_STREAMS.id()));
}
@Test
void testPutRejectsReservedHttp2Settings() {
DefaultHttp3SettingsFrame frame = new DefaultHttp3SettingsFrame();
assertThrows(IllegalArgumentException.class, () -> frame.put(0x4, 10L)); // HTTP/2 reserved key
}
@Test
void testSettingsReferenceIsRetained() {
Http3Settings settings = new Http3Settings().qpackMaxTableCapacity(512);
DefaultHttp3SettingsFrame frame = new DefaultHttp3SettingsFrame(settings);
assertSame(settings, frame.settings());
assertEquals(512L, frame.settings().qpackMaxTableCapacity());
// Modify settings externally and verify frame sees update
settings.qpackBlockedStreams(3);
assertEquals(3L, frame.get(Http3SettingIdentifier.HTTP3_SETTINGS_QPACK_BLOCKED_STREAMS.id()));
}
@Test
void testEqualsAndHashCodeCompareSettings() {
Http3Settings s1 = new Http3Settings().qpackMaxTableCapacity(128);
Http3Settings s2 = new Http3Settings().qpackMaxTableCapacity(128);
DefaultHttp3SettingsFrame f1 = new DefaultHttp3SettingsFrame(s1);
DefaultHttp3SettingsFrame f2 = new DefaultHttp3SettingsFrame(s2);
assertEquals(f1, f2);
assertEquals(f1.hashCode(), f2.hashCode());
}
@Test
void testIteratorReflectsSettingsEntries() {
Http3Settings settings = new Http3Settings()
.qpackMaxTableCapacity(64)
.qpackBlockedStreams(2);
DefaultHttp3SettingsFrame frame = new DefaultHttp3SettingsFrame(settings);
Iterator<Map.Entry<Long, Long>> it = frame.iterator();
int count = 0;
while (it.hasNext()) {
Map.Entry<Long, Long> entry = it.next();
assertNotNull(entry.getKey());
assertNotNull(entry.getValue());
count++;
}
assertTrue(count >= 2);
}
@Test
void testToStringIncludesSettings() {
Http3Settings settings = new Http3Settings()
.qpackMaxTableCapacity(1)
.enableConnectProtocol(true);
DefaultHttp3SettingsFrame frame = new DefaultHttp3SettingsFrame(settings);
String output = frame.toString();
Defined In
Source
Frequently Asked Questions
What is the DefaultHttp3SettingsFrameTest class?
DefaultHttp3SettingsFrameTest is a class in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/DefaultHttp3SettingsFrameTest.java.
Where is DefaultHttp3SettingsFrameTest defined?
DefaultHttp3SettingsFrameTest is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/DefaultHttp3SettingsFrameTest.java at line 36.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free