Home / Class/ IpSubnetFilterTest Class — netty Architecture

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

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