ResolveAddressHandlerTest Class — netty Architecture
Architecture documentation for the ResolveAddressHandlerTest class in ResolveAddressHandlerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7fdd24de_3acd_a289_07d2_827773dc55b2["ResolveAddressHandlerTest"] 76a4119e_b4e2_d44a_042f_9f08e4dd5b81["ResolveAddressHandlerTest.java"] 7fdd24de_3acd_a289_07d2_827773dc55b2 -->|defined in| 76a4119e_b4e2_d44a_042f_9f08e4dd5b81 9b9172e5_486c_4f71_5020_67c80c337269["createEventLoop()"] 7fdd24de_3acd_a289_07d2_827773dc55b2 -->|method| 9b9172e5_486c_4f71_5020_67c80c337269 b4a7f7f9_582c_9edb_ec32_ed53271e99d9["destroyEventLoop()"] 7fdd24de_3acd_a289_07d2_827773dc55b2 -->|method| b4a7f7f9_582c_9edb_ec32_ed53271e99d9 c6cde13e_fca2_e8f8_9a3a_05d0802d04db["testResolveSuccessful()"] 7fdd24de_3acd_a289_07d2_827773dc55b2 -->|method| c6cde13e_fca2_e8f8_9a3a_05d0802d04db ee724e3e_2f8b_d0dc_126c_43710db82aeb["testResolveFails()"] 7fdd24de_3acd_a289_07d2_827773dc55b2 -->|method| ee724e3e_2f8b_d0dc_126c_43710db82aeb dbaba18a_b7a6_dfc9_285a_5717f4fcbb71["testResolve()"] 7fdd24de_3acd_a289_07d2_827773dc55b2 -->|method| dbaba18a_b7a6_dfc9_285a_5717f4fcbb71
Relationship Graph
Source Code
handler/src/test/java/io/netty/handler/address/ResolveAddressHandlerTest.java lines 49–143
public class ResolveAddressHandlerTest {
private static final LocalAddress UNRESOLVED = new LocalAddress("unresolved-" + UUID.randomUUID());
private static final LocalAddress RESOLVED = new LocalAddress("resolved-" + UUID.randomUUID());
private static final Exception ERROR = new UnknownHostException();
private static EventLoopGroup group;
@BeforeAll
public static void createEventLoop() {
group = new MultiThreadIoEventLoopGroup(LocalIoHandler.newFactory());
}
@AfterAll
public static void destroyEventLoop() {
if (group != null) {
group.shutdownGracefully();
}
}
@Test
public void testResolveSuccessful() {
testResolve(false);
}
@Test
public void testResolveFails() {
testResolve(true);
}
private static void testResolve(boolean fail) {
AddressResolverGroup<SocketAddress> resolverGroup = new TestResolverGroup(fail);
Bootstrap cb = new Bootstrap();
cb.group(group).channel(LocalChannel.class).handler(new ResolveAddressHandler(resolverGroup));
ServerBootstrap sb = new ServerBootstrap();
sb.group(group)
.channel(LocalServerChannel.class)
.childHandler(new ChannelInboundHandlerAdapter() {
@Override
public void channelActive(ChannelHandlerContext ctx) {
ctx.close();
}
});
// Start server
Channel sc = sb.bind(RESOLVED).syncUninterruptibly().channel();
ChannelFuture future = cb.connect(UNRESOLVED).awaitUninterruptibly();
try {
if (fail) {
assertSame(ERROR, future.cause());
} else {
assertTrue(future.isSuccess());
}
future.channel().close().syncUninterruptibly();
} finally {
future.channel().close().syncUninterruptibly();
sc.close().syncUninterruptibly();
resolverGroup.close();
}
}
private static final class TestResolverGroup extends AddressResolverGroup<SocketAddress> {
private final boolean fail;
TestResolverGroup(boolean fail) {
this.fail = fail;
}
@Override
protected AddressResolver<SocketAddress> newResolver(EventExecutor executor) {
return new AbstractAddressResolver<SocketAddress>(executor) {
@Override
protected boolean doIsResolved(SocketAddress address) {
return address == RESOLVED;
}
@Override
protected void doResolve(SocketAddress unresolvedAddress, Promise<SocketAddress> promise) {
assertSame(UNRESOLVED, unresolvedAddress);
if (fail) {
Source
Frequently Asked Questions
What is the ResolveAddressHandlerTest class?
ResolveAddressHandlerTest is a class in the netty codebase, defined in handler/src/test/java/io/netty/handler/address/ResolveAddressHandlerTest.java.
Where is ResolveAddressHandlerTest defined?
ResolveAddressHandlerTest is defined in handler/src/test/java/io/netty/handler/address/ResolveAddressHandlerTest.java at line 49.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free