Home / Class/ BinaryMemcacheEncoderTest Class — netty Architecture

BinaryMemcacheEncoderTest Class — netty Architecture

Architecture documentation for the BinaryMemcacheEncoderTest class in BinaryMemcacheEncoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143["BinaryMemcacheEncoderTest"]
  89272575_85c5_7067_bc10_1058ae7f0918["BinaryMemcacheEncoderTest.java"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|defined in| 89272575_85c5_7067_bc10_1058ae7f0918
  b23d1e3e_0f7e_6286_2268_a83288ae38eb["setup()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| b23d1e3e_0f7e_6286_2268_a83288ae38eb
  bc6157c7_28e2_de25_36fa_520df7f215d7["teardown()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| bc6157c7_28e2_de25_36fa_520df7f215d7
  920b94d7_c650_89c7_28ef_01c970e1ce1c["shouldEncodeDefaultHeader()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| 920b94d7_c650_89c7_28ef_01c970e1ce1c
  e31333a1_2fe3_4642_9944_3659cb9044e4["shouldEncodeCustomHeader()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| e31333a1_2fe3_4642_9944_3659cb9044e4
  5f57963e_35ff_1724_2b50_e635f72ad5e9["shouldEncodeExtras()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| 5f57963e_35ff_1724_2b50_e635f72ad5e9
  07475eb2_6ebd_77cc_bc47_0813ac4f3747["shouldEncodeKey()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| 07475eb2_6ebd_77cc_bc47_0813ac4f3747
  e3a83c52_da21_d07f_f811_e5c1fca1c07e["shouldEncodeContent()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| e3a83c52_da21_d07f_f811_e5c1fca1c07e
  4e6c72c9_8df7_c51c_8d62_3c2c646aec7a["shouldFailWithoutLastContent()"]
  00ee4b61_6080_1ae9_4b12_6a1a3a63b143 -->|method| 4e6c72c9_8df7_c51c_8d62_3c2c646aec7a

Relationship Graph

Source Code

codec-memcache/src/test/java/io/netty/handler/codec/memcache/binary/BinaryMemcacheEncoderTest.java lines 37–165

public class BinaryMemcacheEncoderTest {

    public static final int DEFAULT_HEADER_SIZE = 24;

    private EmbeddedChannel channel;

    @BeforeEach
    public void setup() {
        channel = new EmbeddedChannel(new BinaryMemcacheRequestEncoder());
    }

    @AfterEach
    public void teardown() {
        channel.finishAndReleaseAll();
    }

    @Test
    public void shouldEncodeDefaultHeader() {
        BinaryMemcacheRequest request = new DefaultBinaryMemcacheRequest();

        boolean result = channel.writeOutbound(request);
        assertTrue(result);

        ByteBuf written = channel.readOutbound();
        assertEquals(DEFAULT_HEADER_SIZE, written.readableBytes());
        assertEquals((byte) 0x80, written.readByte());
        assertEquals((byte) 0x00, written.readByte());
        written.release();
    }

    @Test
    public void shouldEncodeCustomHeader() {
        BinaryMemcacheRequest request = new DefaultBinaryMemcacheRequest();
        request.setMagic((byte) 0xAA);
        request.setOpcode(BinaryMemcacheOpcodes.GET);

        boolean result = channel.writeOutbound(request);
        assertTrue(result);

        ByteBuf written = channel.readOutbound();
        assertEquals(DEFAULT_HEADER_SIZE, written.readableBytes());
        assertEquals((byte) 0xAA, written.readByte());
        assertEquals(BinaryMemcacheOpcodes.GET, written.readByte());
        written.release();
    }

    @Test
    public void shouldEncodeExtras() {
        String extrasContent = "netty<3memcache";
        ByteBuf extras = Unpooled.copiedBuffer(extrasContent, CharsetUtil.UTF_8);
        int extrasLength = extras.readableBytes();

        BinaryMemcacheRequest request = new DefaultBinaryMemcacheRequest(Unpooled.EMPTY_BUFFER, extras);

        boolean result = channel.writeOutbound(request);
        assertTrue(result);

        ByteBuf written = channel.readOutbound();
        assertEquals(DEFAULT_HEADER_SIZE + extrasLength, written.readableBytes());
        written.skipBytes(DEFAULT_HEADER_SIZE);
        assertEquals(extrasContent, written.readSlice(extrasLength).toString(CharsetUtil.UTF_8));
        written.release();
    }

    @Test
    public void shouldEncodeKey() {
        ByteBuf key = Unpooled.copiedBuffer("netty", CharsetUtil.UTF_8);
        int keyLength = key.readableBytes();

        BinaryMemcacheRequest request = new DefaultBinaryMemcacheRequest(key);

        boolean result = channel.writeOutbound(request);
        assertTrue(result);

        ByteBuf written = channel.readOutbound();
        assertEquals(DEFAULT_HEADER_SIZE + keyLength, written.readableBytes());
        written.skipBytes(DEFAULT_HEADER_SIZE);
        assertEquals("netty", written.readSlice(keyLength).toString(CharsetUtil.UTF_8));
        written.release();
    }

Frequently Asked Questions

What is the BinaryMemcacheEncoderTest class?
BinaryMemcacheEncoderTest is a class in the netty codebase, defined in codec-memcache/src/test/java/io/netty/handler/codec/memcache/binary/BinaryMemcacheEncoderTest.java.
Where is BinaryMemcacheEncoderTest defined?
BinaryMemcacheEncoderTest is defined in codec-memcache/src/test/java/io/netty/handler/codec/memcache/binary/BinaryMemcacheEncoderTest.java at line 37.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free