IpSubnetFilterTest Class — netty Architecture
Architecture documentation for the IpSubnetFilterTest class in IpSubnetFilterTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a29baed8_7220_9a86_5676_d9b84ff398ba["IpSubnetFilterTest"] 0b3c9d89_42ef_0a0e_ddaf_2060d7915716["IpSubnetFilterTest.java"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|defined in| 0b3c9d89_42ef_0a0e_ddaf_2060d7915716 60c98320_84d4_f702_6404_67d3bb05a4e5["testIpv4DefaultRoute()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| 60c98320_84d4_f702_6404_67d3bb05a4e5 cad2f96f_b84b_0258_0c12_683ed438cdfc["testIpv4SubnetMaskCorrectlyHandlesIpv6()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| cad2f96f_b84b_0258_0c12_683ed438cdfc f808002b_6db4_d43f_5c0e_822a18328ee8["testIpv6SubnetMaskCorrectlyHandlesIpv4()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| f808002b_6db4_d43f_5c0e_822a18328ee8 d6ce6b18_7463_c831_eb6a_d31727823fb6["testIp4SubnetFilterRule()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| d6ce6b18_7463_c831_eb6a_d31727823fb6 ffcb06f4_b903_4cb7_9730_9c6f7ac30235["testIp6SubnetFilterRule()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| ffcb06f4_b903_4cb7_9730_9c6f7ac30235 8b6efa8f_a00f_7d29_f527_b4336faafc0c["testIp6SubnetFilterDefaultRule()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| 8b6efa8f_a00f_7d29_f527_b4336faafc0c 6f2ed5ea_ccb8_c96d_f929_ec086cb30f00["testIpFilterRuleHandler()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| 6f2ed5ea_ccb8_c96d_f929_ec086cb30f00 c529b068_b372_7151_b702_66251ba23ffc["testUniqueIpFilterHandler()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| c529b068_b372_7151_b702_66251ba23ffc 1411d397_4156_9783_35f0_212e04fc9ba9["testBinarySearch()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| 1411d397_4156_9783_35f0_212e04fc9ba9 cba4d8c1_ee71_7b1a_b7df_9afd19b3641e["IpSubnetFilterRule()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| cba4d8c1_ee71_7b1a_b7df_9afd19b3641e dfba0633_587a_a35a_b673_888c1e2844ab["EmbeddedChannel()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| dfba0633_587a_a35a_b673_888c1e2844ab 2591aebf_7cdd_7575_d94c_603e095d145e["InetSocketAddress()"] a29baed8_7220_9a86_5676_d9b84ff398ba -->|method| 2591aebf_7cdd_7575_d94c_603e095d145e
Relationship Graph
Source Code
handler/src/test/java/io/netty/handler/ipfilter/IpSubnetFilterTest.java lines 37–220
public class IpSubnetFilterTest {
@Test
public void testIpv4DefaultRoute() {
IpSubnetFilterRule rule = new IpSubnetFilterRule("0.0.0.0", 0, IpFilterRuleType.ACCEPT);
assertTrue(rule.matches(newSockAddress("91.114.240.43")));
assertTrue(rule.matches(newSockAddress("10.0.0.3")));
assertTrue(rule.matches(newSockAddress("192.168.93.2")));
}
@Test
public void testIpv4SubnetMaskCorrectlyHandlesIpv6() {
IpSubnetFilterRule rule = new IpSubnetFilterRule("0.0.0.0", 0, IpFilterRuleType.ACCEPT);
assertFalse(rule.matches(newSockAddress("2001:db8:abcd:0000::1")));
}
@Test
public void testIpv6SubnetMaskCorrectlyHandlesIpv4() {
IpSubnetFilterRule rule = new IpSubnetFilterRule("::", 0, IpFilterRuleType.ACCEPT);
assertFalse(rule.matches(newSockAddress("91.114.240.43")));
}
@Test
public void testIp4SubnetFilterRule() throws Exception {
IpSubnetFilterRule rule = new IpSubnetFilterRule("192.168.56.1", 24, IpFilterRuleType.ACCEPT);
for (int i = 0; i <= 255; i++) {
assertTrue(rule.matches(newSockAddress(String.format("192.168.56.%d", i))));
}
assertFalse(rule.matches(newSockAddress("192.168.57.1")));
rule = new IpSubnetFilterRule("91.114.240.1", 23, IpFilterRuleType.ACCEPT);
assertTrue(rule.matches(newSockAddress("91.114.240.43")));
assertTrue(rule.matches(newSockAddress("91.114.240.255")));
assertTrue(rule.matches(newSockAddress("91.114.241.193")));
assertTrue(rule.matches(newSockAddress("91.114.241.254")));
assertFalse(rule.matches(newSockAddress("91.115.241.2")));
}
@Test
public void testIp6SubnetFilterRule() {
IpSubnetFilterRule rule;
rule = new IpSubnetFilterRule("2001:db8:abcd:0000::", 52, IpFilterRuleType.ACCEPT);
assertTrue(rule.matches(newSockAddress("2001:db8:abcd:0000::1")));
assertTrue(rule.matches(newSockAddress("2001:db8:abcd:0fff:ffff:ffff:ffff:ffff")));
assertFalse(rule.matches(newSockAddress("2001:db8:abcd:1000::")));
}
@Test
public void testIp6SubnetFilterDefaultRule() {
IpFilterRule rule = new IpSubnetFilterRule("::", 0, IpFilterRuleType.ACCEPT);
assertTrue(rule.matches(newSockAddress("7FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF")));
assertTrue(rule.matches(newSockAddress("8000::")));
}
@Test
public void testIpFilterRuleHandler() throws Exception {
IpFilterRule filter0 = new IpFilterRule() {
@Override
public boolean matches(InetSocketAddress remoteAddress) {
return "192.168.57.1".equals(remoteAddress.getHostName());
}
@Override
public IpFilterRuleType ruleType() {
return IpFilterRuleType.REJECT;
}
};
RuleBasedIpFilter denyHandler = new RuleBasedIpFilter(filter0) {
private final byte[] message = {1, 2, 3, 4, 5, 6, 7};
@Override
protected ChannelFuture channelRejected(ChannelHandlerContext ctx, InetSocketAddress remoteAddress) {
assertTrue(ctx.channel().isActive());
assertTrue(ctx.channel().isWritable());
assertEquals("192.168.57.1", remoteAddress.getHostName());
return ctx.writeAndFlush(Unpooled.wrappedBuffer(message));
}
};
Source
Frequently Asked Questions
What is the IpSubnetFilterTest class?
IpSubnetFilterTest is a class in the netty codebase, defined in handler/src/test/java/io/netty/handler/ipfilter/IpSubnetFilterTest.java.
Where is IpSubnetFilterTest defined?
IpSubnetFilterTest is defined in handler/src/test/java/io/netty/handler/ipfilter/IpSubnetFilterTest.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free