This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new fa4bb564a5 Improve code coverage of tests for RemoteCIDRFilter
fa4bb564a5 is described below

commit fa4bb564a517852bceef7c171861e27fdeab6c8c
Author: Mark Thomas <[email protected]>
AuthorDate: Fri Sep 19 15:37:08 2025 +0100

    Improve code coverage of tests for RemoteCIDRFilter
---
 .../catalina/filters/TestRemoteCIDRFilter.java     | 90 ++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/test/org/apache/catalina/filters/TestRemoteCIDRFilter.java 
b/test/org/apache/catalina/filters/TestRemoteCIDRFilter.java
index 904751792c..334fb280ab 100644
--- a/test/org/apache/catalina/filters/TestRemoteCIDRFilter.java
+++ b/test/org/apache/catalina/filters/TestRemoteCIDRFilter.java
@@ -123,6 +123,96 @@ public class TestRemoteCIDRFilter extends TomcatBaseTest {
         }
     }
 
+    @Test
+    public void testAllowDenySetAsNull() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+        Context root = tomcat.addContext("", TEMP_DIR);
+        tomcat.start();
+
+        TestRemoteIpFilter.MockFilterChain filterChain = new 
TestRemoteIpFilter.MockFilterChain();
+
+        FilterDef filterDef = new FilterDef();
+        filterDef.addInitParameter("allow", null);
+        filterDef.addInitParameter("deny", null);
+        Filter filter = createTestFilter(filterDef, RemoteCIDRFilter.class, 
root, "*");
+
+        String ipAddr;
+        Request request;
+        TesterResponse response;
+        int expected;
+
+        for (int i = 0; i < 256; i++) {
+            for (int j = 0; j < 256; j += 11) {
+                ipAddr = String.format("192.168.%s.%s", Integer.valueOf(i), 
Integer.valueOf(j));
+                request = new 
TestRemoteIpFilter.MockHttpServletRequest(ipAddr);
+                response = new TestRateLimitFilter.TesterResponseWithStatus();
+                expected = HttpServletResponse.SC_FORBIDDEN;
+                filter.doFilter(request, response, filterChain);
+                Assert.assertEquals(expected, response.getStatus());
+            }
+        }
+
+        // Check getters
+        Assert.assertEquals("", ((RemoteCIDRFilter) filter).getAllow());
+        Assert.assertEquals("", ((RemoteCIDRFilter) filter).getDeny());
+    }
+
+    @Test
+    public void testAllowDenySetAsEmptyString() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+        Context root = tomcat.addContext("", TEMP_DIR);
+        tomcat.start();
+
+        TestRemoteIpFilter.MockFilterChain filterChain = new 
TestRemoteIpFilter.MockFilterChain();
+
+        FilterDef filterDef = new FilterDef();
+        filterDef.addInitParameter("allow", "");
+        filterDef.addInitParameter("deny", "");
+        Filter filter = createTestFilter(filterDef, RemoteCIDRFilter.class, 
root, "*");
+
+        String ipAddr;
+        Request request;
+        TesterResponse response;
+        int expected;
+
+        for (int i = 0; i < 256; i++) {
+            for (int j = 0; j < 256; j += 11) {
+                ipAddr = String.format("192.168.%s.%s", Integer.valueOf(i), 
Integer.valueOf(j));
+                request = new 
TestRemoteIpFilter.MockHttpServletRequest(ipAddr);
+                response = new TestRateLimitFilter.TesterResponseWithStatus();
+                expected = HttpServletResponse.SC_FORBIDDEN;
+                filter.doFilter(request, response, filterChain);
+                Assert.assertEquals(expected, response.getStatus());
+            }
+        }
+
+        // Check getters
+        Assert.assertEquals("", ((RemoteCIDRFilter) filter).getAllow());
+        Assert.assertEquals("", ((RemoteCIDRFilter) filter).getDeny());
+    }
+
+    @Test(expected = ServletException.class)
+    public void testAllowInvalid() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+        Context root = tomcat.addContext("", TEMP_DIR);
+        tomcat.start();
+
+        FilterDef filterDef = new FilterDef();
+        filterDef.addInitParameter("allow", "this is not valid");
+        createTestFilter(filterDef, RemoteCIDRFilter.class, root, "*");
+    }
+
+    @Test(expected = ServletException.class)
+    public void testDenyInvalid() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+        Context root = tomcat.addContext("", TEMP_DIR);
+        tomcat.start();
+
+        FilterDef filterDef = new FilterDef();
+        filterDef.addInitParameter("deny", "this is not valid");
+        createTestFilter(filterDef, RemoteCIDRFilter.class, root, "*");
+    }
+
     private Filter createTestFilter(FilterDef filterDef, Class<?> 
testFilterClass, Context root, String urlPattern)
             throws ServletException {
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to