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

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

commit 3e5dd5c3121fa9763b3c0e0ae1875453f9d87f0f
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Sep 30 17:00:48 2020 +0100

    Fix back-port of new unit test
---
 build.properties.default                           |  6 +--
 ...estApplicationContextFacadeSecurityManager.java | 49 ++++++++++++----------
 2 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index e506f8e..761e161 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -225,7 +225,7 @@ hamcrest.home=${base.path}/hamcrest-${hamcrest.version}
 hamcrest.jar=${hamcrest.home}/hamcrest-${hamcrest.version}.jar
 
hamcrest.loc=${base-maven.loc}/org/hamcrest/hamcrest/${hamcrest.version}/hamcrest-${hamcrest.version}.jar
 
-# ----- EasyMock, version 3.2 or later -----
+# ----- EasyMock, version 3.6 or later -----
 easymock.version=3.6
 easymock.checksum.enabled=true
 easymock.checksum.algorithm=SHA-512
@@ -234,7 +234,7 @@ easymock.home=${base.path}/easymock-${easymock.version}
 easymock.jar=${easymock.home}/easymock-${easymock.version}.jar
 
easymock.loc=${base-maven.loc}/org/easymock/easymock/${easymock.version}/easymock-${easymock.version}.jar
 
-# ----- cglib, used by EasyMock, version 2.2 or later -----
+# ----- cglib, used by EasyMock, version 3.3 or later -----
 cglib.version=3.3.0
 cglib.checksum.enabled=true
 cglib.checksum.algorithm=SHA-512
@@ -243,7 +243,7 @@ cglib.home=${base.path}/cglib-${cglib.version}
 cglib.jar=${cglib.home}/cglib-nodep-${cglib.version}.jar
 
cglib.loc=${base-maven.loc}/cglib/cglib-nodep/${cglib.version}/cglib-nodep-${cglib.version}.jar
 
-# ----- objenesis, used by EasyMock, version 1.2 or later -----
+# ----- objenesis, used by EasyMock, version 2.6 or later -----
 objenesis.version=2.6
 objenesis.checksum.enabled=true
 objenesis.checksum.algorithm=SHA-512
diff --git 
a/test/org/apache/catalina/core/TestApplicationContextFacadeSecurityManager.java
 
b/test/org/apache/catalina/core/TestApplicationContextFacadeSecurityManager.java
index fc5a5d5..a89b558 100644
--- 
a/test/org/apache/catalina/core/TestApplicationContextFacadeSecurityManager.java
+++ 
b/test/org/apache/catalina/core/TestApplicationContextFacadeSecurityManager.java
@@ -20,9 +20,9 @@ import java.lang.reflect.Array;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.util.Arrays;
+import java.util.ArrayList;
 import java.util.Collection;
-import java.util.stream.Collectors;
+import java.util.List;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -33,6 +33,7 @@ import org.junit.runners.Parameterized.Parameter;
 import org.apache.catalina.security.SecurityUtil;
 import org.apache.tomcat.util.security.SecurityManagerBaseTest;
 import org.easymock.EasyMock;
+import org.easymock.IAnswer;
 import org.easymock.IExpectationSetters;
 import org.easymock.internal.LastControl;
 
@@ -46,24 +47,24 @@ public final class 
TestApplicationContextFacadeSecurityManager extends SecurityM
      */
     @Parameterized.Parameters(name = "{index}: method={0}")
     public static Collection<Method> publicApplicationContextFacadeMethods() {
-        return Arrays.stream(ApplicationContextFacade.class.getMethods())
-                .filter(method -> !Modifier.isStatic(method.getModifiers()))
-                .filter(method -> {
-                    try {
-                        Object.class.getMethod(method.getName(), 
method.getParameterTypes());
-                        return false;
-                    } catch (final NoSuchMethodException e) {
-                        return true;
-                    }
-                })
-                .collect(Collectors.toList());
+        List<Method> result = new ArrayList<>();
+        for (Method m : ApplicationContextFacade.class.getMethods()) {
+            if (!Modifier.isStatic(m.getModifiers())) {
+                try {
+                    Object.class.getMethod(m.getName(), m.getParameterTypes());
+                    // Skip;
+                } catch (final NoSuchMethodException e) {
+                    result.add(m);
+                }
+            }
+        }
+        return result;
     }
 
 
     private static Object[] getDefaultParams(final Method method) {
-        final int paramsCount = method.getParameterCount();
-        final Object[] params = new Object[paramsCount];
         final Class<?>[] paramTypes = method.getParameterTypes();
+        final Object[] params = new Object[paramTypes.length];
         for (int i = 0; i < params.length; i++) {
             params[i] = getDefaultValue(paramTypes[i]);
         }
@@ -118,13 +119,17 @@ public final class 
TestApplicationContextFacadeSecurityManager extends SecurityM
                     EasyMock.expect(expectedAppContextMethod.invoke(
                             mockAppContext, getDefaultParams(methodToTest)));
         }
-        expectationSetters
-                .andAnswer(() -> {
-                    Assert.assertEquals(
-                            expectedAppContextMethod,
-                            LastControl.getCurrentInvocation().getMethod());
-                    return 
getDefaultValue(expectedAppContextMethod.getReturnType());
-                }).once();
+        expectationSetters.andAnswer(new IAnswer<Object>() {
+            @Override
+            public Object answer() throws Throwable {
+                Assert.assertEquals(
+                        expectedAppContextMethod,
+                        LastControl.getCurrentInvocation().getMethod());
+                return 
getDefaultValue(expectedAppContextMethod.getReturnType());
+            }
+
+        }).once();
+
         EasyMock.replay(mockAppContext);
         EasyMock.verifyUnexpectedCalls(mockAppContext);
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to