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();
}
}
Source
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