RedisDecoderTest Class — netty Architecture
Architecture documentation for the RedisDecoderTest class in RedisDecoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 5bef0d49_45a1_6e64_a046_06825037f689["RedisDecoderTest"] a1473ef7_cca7_46e8_9461_e977fe8783bd["RedisDecoderTest.java"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|defined in| a1473ef7_cca7_46e8_9461_e977fe8783bd b6c0c08f_77f6_ec37_c7c8_6b4ba9c75790["setup()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| b6c0c08f_77f6_ec37_c7c8_6b4ba9c75790 edbeb4b8_0d07_b547_c0f2_4860c8b3b419["EmbeddedChannel()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| edbeb4b8_0d07_b547_c0f2_4860c8b3b419 6aba1590_d603_2403_4d16_defeacb4b919["teardown()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 6aba1590_d603_2403_4d16_defeacb4b919 30c204c5_3f6f_39b8_adfc_6e2eb0b3a6ca["splitEOLDoesNotInfiniteLoop()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 30c204c5_3f6f_39b8_adfc_6e2eb0b3a6ca 87f8ccf1_7a90_1b85_2dc5_3127400e6d44["shouldNotDecodeInlineCommandByDefault()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 87f8ccf1_7a90_1b85_2dc5_3127400e6d44 9007ecba_85c4_2206_600e_bb387dbe580b["shouldDecodeInlineCommand()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 9007ecba_85c4_2206_600e_bb387dbe580b 39607a90_39a9_df69_9c20_cdd8b1bdfdec["shouldDecodeSimpleString()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 39607a90_39a9_df69_9c20_cdd8b1bdfdec 23cf20f8_8cc2_9838_51cb_87d0fd63fb54["shouldDecodeTwoSimpleStrings()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 23cf20f8_8cc2_9838_51cb_87d0fd63fb54 ccdecf0e_8fe7_58c4_3e76_d28e988ff88f["shouldDecodeError()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| ccdecf0e_8fe7_58c4_3e76_d28e988ff88f bfb80a95_942f_57e1_a608_ea5fffec7a44["shouldDecodeInteger()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| bfb80a95_942f_57e1_a608_ea5fffec7a44 34148bf7_a431_f23d_c6be_878057e62564["shouldDecodeBulkString()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 34148bf7_a431_f23d_c6be_878057e62564 bb39c86e_0fb9_c718_6e97_9d54252b7bd9["shouldDecodeEmptyBulkString()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| bb39c86e_0fb9_c718_6e97_9d54252b7bd9 60e6a7ef_64ab_1b28_8d9d_1c71ff07e6f1["shouldDecodeNullBulkString()"] 5bef0d49_45a1_6e64_a046_06825037f689 -->|method| 60e6a7ef_64ab_1b28_8d9d_1c71ff07e6f1
Relationship Graph
Source Code
codec-redis/src/test/java/io/netty/handler/codec/redis/RedisDecoderTest.java lines 45–344
public class RedisDecoderTest {
private EmbeddedChannel channel;
@BeforeEach
public void setup() throws Exception {
channel = newChannel(false);
}
private static EmbeddedChannel newChannel(boolean decodeInlineCommands) {
return new EmbeddedChannel(
new RedisDecoder(decodeInlineCommands),
new RedisBulkStringAggregator(),
new RedisArrayAggregator());
}
@AfterEach
public void teardown() throws Exception {
assertFalse(channel.finish());
}
@Test
public void splitEOLDoesNotInfiniteLoop() throws Exception {
assertFalse(channel.writeInbound(byteBufOf("$6\r\nfoobar\r")));
assertTrue(channel.writeInbound(byteBufOf("\n")));
RedisMessage msg = channel.readInbound();
assertTrue(msg instanceof FullBulkStringRedisMessage);
ReferenceCountUtil.release(msg);
}
@Test
public void shouldNotDecodeInlineCommandByDefault() {
assertThrows(DecoderException.class, new Executable() {
@Override
public void execute() {
assertFalse(channel.writeInbound(byteBufOf("P")));
assertFalse(channel.writeInbound(byteBufOf("I")));
assertFalse(channel.writeInbound(byteBufOf("N")));
assertFalse(channel.writeInbound(byteBufOf("G")));
assertTrue(channel.writeInbound(byteBufOf("\r\n")));
channel.readInbound();
}
});
}
@Test
public void shouldDecodeInlineCommand() {
channel = newChannel(true);
assertFalse(channel.writeInbound(byteBufOf("P")));
assertFalse(channel.writeInbound(byteBufOf("I")));
assertFalse(channel.writeInbound(byteBufOf("N")));
assertFalse(channel.writeInbound(byteBufOf("G")));
assertTrue(channel.writeInbound(byteBufOf("\r\n")));
InlineCommandRedisMessage msg = channel.readInbound();
assertEquals("PING", msg.content());
ReferenceCountUtil.release(msg);
}
@Test
public void shouldDecodeSimpleString() {
assertFalse(channel.writeInbound(byteBufOf("+")));
assertFalse(channel.writeInbound(byteBufOf("O")));
assertFalse(channel.writeInbound(byteBufOf("K")));
assertTrue(channel.writeInbound(byteBufOf("\r\n")));
SimpleStringRedisMessage msg = channel.readInbound();
assertEquals("OK", msg.content());
ReferenceCountUtil.release(msg);
}
@Test
public void shouldDecodeTwoSimpleStrings() {
assertFalse(channel.writeInbound(byteBufOf("+")));
Source
Frequently Asked Questions
What is the RedisDecoderTest class?
RedisDecoderTest is a class in the netty codebase, defined in codec-redis/src/test/java/io/netty/handler/codec/redis/RedisDecoderTest.java.
Where is RedisDecoderTest defined?
RedisDecoderTest is defined in codec-redis/src/test/java/io/netty/handler/codec/redis/RedisDecoderTest.java at line 45.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free