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

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


The following commit(s) were added to refs/heads/10.1.x by this push:
     new ab43f885ea Add some test coverage for collapseLeadingSlashes()
ab43f885ea is described below

commit ab43f885eac3145f1873e8a74e55514cbaac24c5
Author: Mark Thomas <[email protected]>
AuthorDate: Tue Apr 7 14:00:45 2026 +0100

    Add some test coverage for collapseLeadingSlashes()
---
 .../valves/TestLoadBalancerDrainingValve.java      | 25 ++++++++++++++--------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java 
b/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java
index 20211da96e..08588199f5 100644
--- a/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java
+++ b/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java
@@ -45,11 +45,12 @@ import org.easymock.IMocksControl;
 public class TestLoadBalancerDrainingValve {
 
     @Parameters(name = "{index}: activation[{0}], validSessionID[{1}], 
expectInvokeNext[{2}], enableIgnore[{3}], " +
-            "queryString[{4}]")
+            "leadingSlashes[{4}], queryString[{5}]]")
     public static Collection<Object[]> parameters() {
 
         String[] jkActivations = new String[] { "ACT", "DIS" };
         Boolean[] booleans = new Boolean[] { Boolean.TRUE, Boolean.FALSE };
+        Integer[] integers = new Integer[] { Integer.valueOf(0), 
Integer.valueOf(1), Integer.valueOf(2) };
         String[] queryStrings = new String[] { null, "foo=bar" };
 
         List<Object[]> parameterSets = new ArrayList<>();
@@ -58,11 +59,14 @@ public class TestLoadBalancerDrainingValve {
                 for (Boolean enableIgnore : booleans) {
                     Boolean expectInvokeNext = Boolean.valueOf(
                             "ACT".equals(jkActivation) || 
enableIgnore.booleanValue() || validSessionId.booleanValue());
-                    for (String queryString : queryStrings) {
-                        for (Boolean secureRequest : booleans) {
-                            for (Boolean secureSessionConfig : booleans) {
-                                parameterSets.add(new Object[] { jkActivation, 
validSessionId, expectInvokeNext,
-                                        enableIgnore, queryString, 
secureRequest, secureSessionConfig });
+                    for (Integer leadingSlashes : integers) {
+                        for (String queryString : queryStrings) {
+                            for (Boolean secureRequest : booleans) {
+                                for (Boolean secureSessionConfig : booleans) {
+                                    parameterSets.add(new Object[] { 
jkActivation, validSessionId, expectInvokeNext,
+                                            enableIgnore, leadingSlashes, 
queryString, secureRequest,
+                                            secureSessionConfig });
+                                }
                             }
                         }
                     }
@@ -86,12 +90,15 @@ public class TestLoadBalancerDrainingValve {
     public boolean enableIgnore;
 
     @Parameter(4)
-    public String queryString;
+    public Integer leadingSlashes;
 
     @Parameter(5)
-    public Boolean secureRequest;
+    public String queryString;
 
     @Parameter(6)
+    public Boolean secureRequest;
+
+    @Parameter(7)
     public boolean secureSessionConfig;
 
 
@@ -140,7 +147,7 @@ public class TestLoadBalancerDrainingValve {
             cookies.add(cookie);
 
             
EasyMock.expect(request.getRequestedSessionId()).andStubReturn(sessionId);
-            EasyMock.expect(request.getRequestURI()).andStubReturn(requestURI);
+            
EasyMock.expect(request.getRequestURI()).andStubReturn("/".repeat(leadingSlashes.intValue())
 + requestURI);
             
EasyMock.expect(request.getCookies()).andStubReturn(cookies.toArray(new 
Cookie[0]));
             EasyMock.expect(request.getContext()).andStubReturn(ctx);
             
EasyMock.expect(ctx.getSessionCookieName()).andStubReturn(sessionCookieName);


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

Reply via email to