Home / Class/ DefaultDnsCnameCacheTest Class — netty Architecture

DefaultDnsCnameCacheTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  16ad9679_0159_d6d4_e25b_e5cafe1bc921["DefaultDnsCnameCacheTest"]
  72bc7ad9_bbb6_1cd1_78f9_5f38a0356631["DefaultDnsCnameCacheTest.java"]
  16ad9679_0159_d6d4_e25b_e5cafe1bc921 -->|defined in| 72bc7ad9_bbb6_1cd1_78f9_5f38a0356631
  c52befba_8fb5_0b2e_5f00_80d927410091["testExpire()"]
  16ad9679_0159_d6d4_e25b_e5cafe1bc921 -->|method| c52befba_8fb5_0b2e_5f00_80d927410091
  1f4567a6_b070_95aa_c00e_d940846c436d["testExpireWithDifferentTTLs()"]
  16ad9679_0159_d6d4_e25b_e5cafe1bc921 -->|method| 1f4567a6_b070_95aa_c00e_d940846c436d
  cc59445e_c61c_0dca_09dd_5b956d5a63b8["testExpireWithTTL0()"]
  16ad9679_0159_d6d4_e25b_e5cafe1bc921 -->|method| cc59445e_c61c_0dca_09dd_5b956d5a63b8
  2f88df57_b199_daeb_8fdf_d84446ca7f33["testMultipleCnamesForSameHostname()"]
  16ad9679_0159_d6d4_e25b_e5cafe1bc921 -->|method| 2f88df57_b199_daeb_8fdf_d84446ca7f33
  138b884b_a852_5719_d123_8e33239bd941["testAddSameCnameForSameHostname()"]
  16ad9679_0159_d6d4_e25b_e5cafe1bc921 -->|method| 138b884b_a852_5719_d123_8e33239bd941
  6e40a04b_b6ee_ad8c_967f_74c47cd9a1d7["testClear()"]
  16ad9679_0159_d6d4_e25b_e5cafe1bc921 -->|method| 6e40a04b_b6ee_ad8c_967f_74c47cd9a1d7

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DefaultDnsCnameCacheTest.java lines 32–136

public class DefaultDnsCnameCacheTest {

    @Test
    public void testExpire() throws Throwable {
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, LocalIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCnameCache cache = new DefaultDnsCnameCache();
            cache.cache("netty.io", "mapping.netty.io", 1, loop);

            Throwable error = loop.schedule(new Callable<Throwable>() {
                @Override
                public Throwable call() {
                    try {
                        assertNull(cache.get("netty.io"));
                        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, LocalIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCnameCache cache = new DefaultDnsCnameCache();
            cache.cache("netty.io", "mapping.netty.io", TimeUnit.DAYS.toSeconds(days), loop);
            assertEquals("mapping.netty.io", cache.get("netty.io"));
        } finally {
            group.shutdownGracefully();
        }
    }

    @Test
    public void testMultipleCnamesForSameHostname() throws Exception {
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, LocalIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCnameCache cache = new DefaultDnsCnameCache();
            cache.cache("netty.io", "mapping1.netty.io", 10, loop);
            cache.cache("netty.io", "mapping2.netty.io", 10000, loop);

            assertEquals("mapping2.netty.io", cache.get("netty.io"));
        } finally {
            group.shutdownGracefully();
        }
    }

    @Test
    public void testAddSameCnameForSameHostname() throws Exception {
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, LocalIoHandler.newFactory());

        try {
            EventLoop loop = group.next();
            final DefaultDnsCnameCache cache = new DefaultDnsCnameCache();
            cache.cache("netty.io", "mapping.netty.io", 10, loop);
            cache.cache("netty.io", "mapping.netty.io", 10000, loop);

            assertEquals("mapping.netty.io", cache.get("netty.io"));
        } finally {
            group.shutdownGracefully();
        }
    }

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free