StompSubframeEncoderTest Class — netty Architecture
Architecture documentation for the StompSubframeEncoderTest class in StompSubframeEncoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848["StompSubframeEncoderTest"] 68f89d4f_e677_be09_e518_0ffed55e3e70["StompSubframeEncoderTest.java"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|defined in| 68f89d4f_e677_be09_e518_0ffed55e3e70 bddabe5b_4e32_4db7_70b9_fc34872117cc["setup()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| bddabe5b_4e32_4db7_70b9_fc34872117cc 224f785a_33de_53c1_5e37_ea33231476ff["teardown()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| 224f785a_33de_53c1_5e37_ea33231476ff 70dcc9ea_b30c_e151_5e0a_93c4aa7ce299["testFrameAndContentEncoding()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| 70dcc9ea_b30c_e151_5e0a_93c4aa7ce299 a6cb727d_af8b_0f2f_ed48_8cb35492fdd5["testUtf8FrameEncoding()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| a6cb727d_af8b_0f2f_ed48_8cb35492fdd5 902b4a42_733f_2560_18f2_9cb0522d94f8["testOneBufferForStompFrameWithEmptyContent()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| 902b4a42_733f_2560_18f2_9cb0522d94f8 6eae7a7c_cecc_2d07_f3dd_34e1c2a73558["testEscapeStompHeaders()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| 6eae7a7c_cecc_2d07_f3dd_34e1c2a73558 e5fea667_d008_bb06_ade3_08d35174c872["testNotEscapeStompHeadersForConnectCommand()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| e5fea667_d008_bb06_ade3_08d35174c872 159b246b_28dd_7ed3_b858_b57ada44e99e["testNotEscapeStompHeadersForConnectedCommand()"] 0e44bb12_a1e9_f7b7_24f3_1c502d6e2848 -->|method| 159b246b_28dd_7ed3_b858_b57ada44e99e
Relationship Graph
Source Code
codec-stomp/src/test/java/io/netty/handler/codec/stomp/StompSubframeEncoderTest.java lines 36–163
public class StompSubframeEncoderTest {
private EmbeddedChannel channel;
@BeforeEach
public void setup() throws Exception {
channel = new EmbeddedChannel(new StompSubframeEncoder());
}
@AfterEach
public void teardown() throws Exception {
assertFalse(channel.finish());
}
@Test
public void testFrameAndContentEncoding() {
StompHeadersSubframe frame = new DefaultStompHeadersSubframe(StompCommand.CONNECT);
StompHeaders headers = frame.headers();
headers.set(StompHeaders.HOST, "stomp.github.org");
headers.set(StompHeaders.ACCEPT_VERSION, "1.1,1.2");
channel.writeOutbound(frame);
channel.writeOutbound(LastStompContentSubframe.EMPTY_LAST_CONTENT);
ByteBuf aggregatedBuffer = Unpooled.buffer();
ByteBuf byteBuf = channel.readOutbound();
assertNotNull(byteBuf);
aggregatedBuffer.writeBytes(byteBuf);
byteBuf.release();
byteBuf = channel.readOutbound();
assertNotNull(byteBuf);
aggregatedBuffer.writeBytes(byteBuf);
byteBuf.release();
aggregatedBuffer.resetReaderIndex();
String content = aggregatedBuffer.toString(CharsetUtil.UTF_8);
assertEquals(StompTestConstants.CONNECT_FRAME, content);
aggregatedBuffer.release();
}
@Test
public void testUtf8FrameEncoding() {
StompFrame frame = new DefaultStompFrame(StompCommand.SEND,
Unpooled.wrappedBuffer("body".getBytes(CharsetUtil.UTF_8)));
StompHeaders incoming = frame.headers();
incoming.set(StompHeaders.DESTINATION, "/queue/№11±♛нетти♕");
incoming.set(StompHeaders.CONTENT_TYPE, AsciiString.of("text/plain"));
channel.writeOutbound(frame);
ByteBuf fullFrame = channel.readOutbound();
assertEquals(SEND_FRAME_UTF8, fullFrame.toString(CharsetUtil.UTF_8));
assertTrue(fullFrame.release());
}
@Test
public void testOneBufferForStompFrameWithEmptyContent() {
StompFrame connectedFrame = new DefaultStompFrame(StompCommand.CONNECTED);
connectedFrame.headers().set(StompHeaders.VERSION, "1.2");
assertTrue(channel.writeOutbound(connectedFrame));
ByteBuf stompBuffer = channel.readOutbound();
assertNotNull(stompBuffer);
assertNull(channel.readOutbound());
assertEquals("CONNECTED\nversion:1.2\n\n\0", stompBuffer.toString(CharsetUtil.UTF_8));
assertTrue(stompBuffer.release());
}
@Test
void testEscapeStompHeaders() {
StompFrame messageFrame = new DefaultStompFrame(StompCommand.MESSAGE);
messageFrame.headers()
.add(StompHeaders.MESSAGE_ID, "100")
.add(StompHeaders.SUBSCRIPTION, "1")
.add(StompHeaders.DESTINATION, "/queue/a:")
.add("header\\\r\n:Name", "header\\\r\n:Value")
.add("header_\\_\r_\n_:_Name", "header_\\_\r_\n_:_Value")
.add("headerName:", ":headerValue");
assertTrue(channel.writeOutbound(messageFrame));
Source
Frequently Asked Questions
What is the StompSubframeEncoderTest class?
StompSubframeEncoderTest is a class in the netty codebase, defined in codec-stomp/src/test/java/io/netty/handler/codec/stomp/StompSubframeEncoderTest.java.
Where is StompSubframeEncoderTest defined?
StompSubframeEncoderTest is defined in codec-stomp/src/test/java/io/netty/handler/codec/stomp/StompSubframeEncoderTest.java at line 36.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free