Home / Class/ DefaultDnsCacheTest Class — netty Architecture

DefaultDnsCacheTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  6fc766f6_eb26_5b64_4561_08621961737e["DefaultDnsCacheTest"]
  e77ccf9a_dcd8_22b7_ba1a_4195646e94f7["DefaultDnsCacheTest.java"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|defined in| e77ccf9a_dcd8_22b7_ba1a_4195646e94f7
  60af6d24_ab60_f9d0_b06c_ae6f1373dcdc["testExpire()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 60af6d24_ab60_f9d0_b06c_ae6f1373dcdc
  a2a58699_74a8_8687_1a84_74ccf90de916["testExpireWithDifferentTTLs()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| a2a58699_74a8_8687_1a84_74ccf90de916
  5f036341_3cb4_4960_78cc_0df8b0b2f092["testExpireWithTTL0()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 5f036341_3cb4_4960_78cc_0df8b0b2f092
  cc7e17c3_a283_5f86_14b3_00f87423372e["testExpireWithToBigMinTTL()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| cc7e17c3_a283_5f86_14b3_00f87423372e
  115cc88d_26b3_9cf2_8ea0_d3c115394289["testAddMultipleAddressesForSameHostname()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 115cc88d_26b3_9cf2_8ea0_d3c115394289
  08b78b6b_929b_72b0_2f6c_fdfa51a4fad3["testAddSameAddressForSameHostname()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 08b78b6b_929b_72b0_2f6c_fdfa51a4fad3
  d2e65745_63d0_0413_b726_cb1b67a1b602["assertEntry()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| d2e65745_63d0_0413_b726_cb1b67a1b602
  8907fae2_37e5_ad16_6e7b_b6ef3a1c0b7b["testCacheFailed()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 8907fae2_37e5_ad16_6e7b_b6ef3a1c0b7b
  593a6e83_744f_40f7_8f1a_036e0479ba4f["testDotHandling()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 593a6e83_744f_40f7_8f1a_036e0479ba4f
  141f4968_63f0_bcdc_e323_11b37f793fd0["testCacheExceptionIsSafe()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 141f4968_63f0_bcdc_e323_11b37f793fd0
  9655cb51_b4d5_792c_29e2_0b4cbaf764d3["testSuppressed()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| 9655cb51_b4d5_792c_29e2_0b4cbaf764d3
  fa594583_90fc_fd6a_2b4c_0e5bb7b5d4dd["assertThrowable()"]
  6fc766f6_eb26_5b64_4561_08621961737e -->|method| fa594583_90fc_fd6a_2b4c_0e5bb7b5d4dd

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DefaultDnsCacheTest.java lines 42–258

public class DefaultDnsCacheTest {

    @Test
    public void testExpire() throws Throwable {
        InetAddress addr1 = InetAddress.getByAddress(new byte[] { 10, 0, 0, 1 });
        InetAddress addr2 = InetAddress.getByAddress(new byte[] { 10, 0, 0, 2 });
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCache cache = new DefaultDnsCache();
            cache.cache("netty.io", null, addr1, 1, loop);
            cache.cache("netty.io", null, addr2, 10000, loop);

            Throwable error = loop.schedule(new Callable<Throwable>() {
                @Override
                public Throwable call() {
                    try {
                        assertNull(cache.get("netty.io", null));
                        return null;
                    } catch (Throwable cause) {
                        return cause;
                    }
                }
            }, 1, TimeUnit.SECONDS).get();
            if (error != null) {
                throw error;
            }
        } finally {
            group.shutdownGracefully();
        }
    }

    @Test
    public void testExpireWithDifferentTTLs() {
        testExpireWithTTL0(1);
        testExpireWithTTL0(1000);
        testExpireWithTTL0(1000000);
    }

    private static void testExpireWithTTL0(int days) {
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCache cache = new DefaultDnsCache();
            assertNotNull(cache.cache("netty.io", null, NetUtil.LOCALHOST, days, loop));
        } finally {
            group.shutdownGracefully();
        }
    }

    @Test
    public void testExpireWithToBigMinTTL() {
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCache cache = new DefaultDnsCache(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
            assertNotNull(cache.cache("netty.io", null, NetUtil.LOCALHOST, 100, loop));
        } finally {
            group.shutdownGracefully();
        }
    }

    @Test
    public void testAddMultipleAddressesForSameHostname() throws Exception {
        InetAddress addr1 = InetAddress.getByAddress(new byte[] { 10, 0, 0, 1 });
        InetAddress addr2 = InetAddress.getByAddress(new byte[] { 10, 0, 0, 2 });
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCache cache = new DefaultDnsCache();
            cache.cache("netty.io", null, addr1, 1, loop);
            cache.cache("netty.io", null, addr2, 10000, loop);

            List<? extends DnsCacheEntry> entries = cache.get("netty.io", null);
            assertEquals(2, entries.size());
            assertEntry(entries.get(0), addr1);
            assertEntry(entries.get(1), addr2);

Frequently Asked Questions

What is the DefaultDnsCacheTest class?
DefaultDnsCacheTest is a class in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DefaultDnsCacheTest.java.
Where is DefaultDnsCacheTest defined?
DefaultDnsCacheTest is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DefaultDnsCacheTest.java at line 42.

Analyze Your Own Codebase

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

Try Supermodel Free