You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2023/08/09 22:25:45 UTC

[cxf] 01/02: CXF-8858: Get rid of EasyMock in cxf-rt-frontend-js (#1359)

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

reta pushed a commit to branch 3.6.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 9c1ef25fab1e2d3567b8284030a79d0645aa8801
Author: Andriy Redko <dr...@gmail.com>
AuthorDate: Wed Aug 9 16:51:36 2023 -0400

    CXF-8858: Get rid of EasyMock in cxf-rt-frontend-js (#1359)
    
    (cherry picked from commit 8911b754ac95313e4b5ed1c49f3fcf4b46b66385)
---
 rt/frontend/js/pom.xml                             |   5 +-
 .../cxf/js/rhino/AbstractDOMProviderTest.java      | 139 ++++++++++-----------
 .../apache/cxf/js/rhino/ProviderFactoryTest.java   |  27 +---
 .../org/apache/cxf/js/rhino/ServerAppTest.java     |  36 ++----
 4 files changed, 82 insertions(+), 125 deletions(-)

diff --git a/rt/frontend/js/pom.xml b/rt/frontend/js/pom.xml
index 8d67c8e315..50f07593fb 100644
--- a/rt/frontend/js/pom.xml
+++ b/rt/frontend/js/pom.xml
@@ -57,8 +57,9 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>${cxf.mockito.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/AbstractDOMProviderTest.java b/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/AbstractDOMProviderTest.java
index f710ae7488..00f93d77ac 100644
--- a/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/AbstractDOMProviderTest.java
+++ b/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/AbstractDOMProviderTest.java
@@ -22,13 +22,13 @@ package org.apache.cxf.js.rhino;
 
 import org.mozilla.javascript.Scriptable;
 
-import org.easymock.EasyMock;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
-
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 
 public class AbstractDOMProviderTest {
@@ -39,14 +39,14 @@ public class AbstractDOMProviderTest {
 
     @Before
     public void setUp() throws Exception {
-        scriptMock = EasyMock.createMock(Scriptable.class);
+        scriptMock = mock(Scriptable.class);
     }
 
     @Test
     public void testNoWsdlLocation() throws Exception {
-        EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.replay(scriptMock);
+        when(scriptMock.get("wsdlLocation", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+
         AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock,
                                                          null, false, false);
         try {
@@ -56,16 +56,15 @@ public class AbstractDOMProviderTest {
             assertEquals("wrong exception message",
                          AbstractDOMProvider.NO_WSDL_LOCATION, ex.getMessage());
         }
-        EasyMock.verify(scriptMock);
     }
 
     @Test
     public void testNoSvcName() throws Exception {
-        EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("serviceName", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.replay(scriptMock);
+        when(scriptMock.get("wsdlLocation", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("serviceName", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+
         AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock, scriptMock,
                                                          null, false, false);
         try {
@@ -75,18 +74,17 @@ public class AbstractDOMProviderTest {
             assertEquals("wrong exception message",
                          AbstractDOMProvider.NO_SERVICE_NAME, ex.getMessage());
         }
-        EasyMock.verify(scriptMock);
     }
 
     @Test
     public void testNoPortName() throws Exception {
-        EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("serviceName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("portName", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.replay(scriptMock);
+        when(scriptMock.get("wsdlLocation", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("serviceName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("portName", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+
         AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock,
                                                          null, false, false);
         try {
@@ -96,20 +94,19 @@ public class AbstractDOMProviderTest {
             assertEquals("wrong exception message",
                          AbstractDOMProvider.NO_PORT_NAME, ex.getMessage());
         }
-        EasyMock.verify(scriptMock);
     }
 
     @Test
     public void testNoTgtNamespace() throws Exception {
-        EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("serviceName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("portName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.replay(scriptMock);
+        when(scriptMock.get("wsdlLocation", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("serviceName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("portName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("targetNamespace", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+
         AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock,
                                                          null, false, false);
         try {
@@ -119,22 +116,21 @@ public class AbstractDOMProviderTest {
             assertEquals("wrong exception message",
                          AbstractDOMProvider.NO_TGT_NAMESPACE, ex.getMessage());
         }
-        EasyMock.verify(scriptMock);
     }
 
     @Test
     public void testNoAddr() throws Exception {
-        EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("serviceName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("portName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("EndpointAddress", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.replay(scriptMock);
+        when(scriptMock.get("wsdlLocation", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("serviceName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("portName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("targetNamespace", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("EndpointAddress", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+
         AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock, scriptMock,
                                                          null, false, false);
         try {
@@ -144,26 +140,25 @@ public class AbstractDOMProviderTest {
             assertEquals("wrong exception message",
                          AbstractDOMProvider.NO_EP_ADDR, ex.getMessage());
         }
-        EasyMock.verify(scriptMock);
     }
 
     @Test
     public void testNoInvoke() throws Exception {
-        EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("serviceName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("portName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("EndpointAddress", scriptMock))
-            .andReturn(epAddr);
-        EasyMock.expect(scriptMock.get("BindingType", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.expect(scriptMock.get("invoke", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.replay(scriptMock);
+        when(scriptMock.get("wsdlLocation", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("serviceName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("portName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("targetNamespace", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("EndpointAddress", scriptMock))
+            .thenReturn(epAddr);
+        when(scriptMock.get("BindingType", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+        when(scriptMock.get("invoke", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+
         AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock, scriptMock,
                                                          null, false, false);
         try {
@@ -173,24 +168,23 @@ public class AbstractDOMProviderTest {
             assertEquals("wrong exception message",
                          AbstractDOMProvider.NO_INVOKE, ex.getMessage());
         }
-        EasyMock.verify(scriptMock);
     }
 
     @Test
     public void testIllegalInvoke() throws Exception {
-        EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("serviceName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("portName", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
-            .andReturn("found");
-        EasyMock.expect(scriptMock.get("BindingType", scriptMock))
-            .andReturn(Scriptable.NOT_FOUND);
-        EasyMock.expect(scriptMock.get("invoke", scriptMock))
-            .andReturn("string");
-        EasyMock.replay(scriptMock);
+        when(scriptMock.get("wsdlLocation", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("serviceName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("portName", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("targetNamespace", scriptMock))
+            .thenReturn("found");
+        when(scriptMock.get("BindingType", scriptMock))
+            .thenReturn(Scriptable.NOT_FOUND);
+        when(scriptMock.get("invoke", scriptMock))
+            .thenReturn("string");
+
         AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock,
                                                          epAddr, true, true);
         try {
@@ -200,6 +194,5 @@ public class AbstractDOMProviderTest {
             assertEquals("wrong exception message",
                          AbstractDOMProvider.ILLEGAL_INVOKE_TYPE, ex.getMessage());
         }
-        EasyMock.verify(scriptMock);
     }
 }
\ No newline at end of file
diff --git a/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ProviderFactoryTest.java b/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ProviderFactoryTest.java
index e72bfae645..27da846204 100644
--- a/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ProviderFactoryTest.java
+++ b/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ProviderFactoryTest.java
@@ -26,15 +26,14 @@ import javax.xml.ws.Service;
 import org.mozilla.javascript.EvaluatorException;
 import org.mozilla.javascript.Scriptable;
 
-import org.easymock.EasyMock;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
-
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
 
 public class ProviderFactoryTest {
 
@@ -45,7 +44,7 @@ public class ProviderFactoryTest {
 
     @Before
     public void setUp() throws Exception {
-        dpMock = EasyMock.createMock(AbstractDOMProvider.class);
+        dpMock = mock(AbstractDOMProvider.class);
         ph = new ProviderFactory(epAddr) {
                 protected AbstractDOMProvider createProvider(Service.Mode mode,
                                                              Scriptable scope,
@@ -63,15 +62,13 @@ public class ProviderFactoryTest {
     public void testMsgJSFile() throws Exception {
         dpMock.publish();
         dpMock.publish();
-        EasyMock.replay(dpMock);
+
         File f = new File(getClass().getResource("msg.js").toURI().getPath());
         ph.createAndPublish(f);
-        EasyMock.verify(dpMock);
     }
 
     @Test
     public void testBadJSFile() throws Exception {
-        EasyMock.replay(dpMock);
         final String fname = "broken.js";
         File f = new File(getClass().getResource(fname).toURI().getPath());
         try {
@@ -81,12 +78,10 @@ public class ProviderFactoryTest {
             assertTrue("wrong exception", ex.getMessage().startsWith("syntax error")
                                        || ex.getMessage().startsWith("erreur de syntaxe"));
         }
-        EasyMock.verify(dpMock);
     }
 
     @Test
     public void testEmptyJSFile() throws Exception {
-        EasyMock.replay(dpMock);
         final String fname = "empty.js";
         File f = new File(getClass().getResource(fname).toURI().getPath());
         try {
@@ -97,12 +92,10 @@ public class ProviderFactoryTest {
                          f.getPath() + ProviderFactory.NO_PROVIDER,
                          ex.getMessage());
         }
-        EasyMock.verify(dpMock);
     }
 
     @Test
     public void testNoSuchJSFile() throws Exception {
-        EasyMock.replay(dpMock);
         final String fname = "none.js";
         File f = new File(fname);
         try {
@@ -113,12 +106,10 @@ public class ProviderFactoryTest {
                          f.getPath() + ProviderFactory.NO_SUCH_FILE,
                          ex.getMessage());
         }
-        EasyMock.verify(dpMock);
     }
 
     @Test
     public void testIllegalServiceMode() throws Exception {
-        EasyMock.replay(dpMock);
         final String fname = "illegal1.js";
         File f = new File(getClass().getResource(fname).toURI().getPath());
         try {
@@ -129,12 +120,10 @@ public class ProviderFactoryTest {
                          f.getPath() + ProviderFactory.ILLEGAL_SVCMD_MODE + "bogus",
                          ex.getMessage());
         }
-        EasyMock.verify(dpMock);
     }
 
     @Test
     public void testIllegalServiceModeType() throws Exception {
-        EasyMock.replay(dpMock);
         final String fname = "illegal2.js";
         File f = new File(getClass().getResource(fname).toURI().getPath());
         try {
@@ -145,15 +134,12 @@ public class ProviderFactoryTest {
                          f.getPath() + ProviderFactory.ILLEGAL_SVCMD_TYPE,
                          ex.getMessage());
         }
-        EasyMock.verify(dpMock);
     }
 
     @Test
     public void testProviderException() throws Exception {
-        dpMock.publish();
-        EasyMock.expectLastCall()
-            .andThrow(new AbstractDOMProvider.JSDOMProviderException(AbstractDOMProvider.NO_EP_ADDR));
-        EasyMock.replay(dpMock);
+        doThrow(new AbstractDOMProvider.JSDOMProviderException(AbstractDOMProvider.NO_EP_ADDR)).when(dpMock).publish();
+
         File f = new File(getClass().getResource("msg.js").toURI().getPath());
         try {
             ph.createAndPublish(f);
@@ -163,6 +149,5 @@ public class ProviderFactoryTest {
                          f.getPath() + ": " + AbstractDOMProvider.NO_EP_ADDR,
                          ex.getMessage());
         }
-        EasyMock.verify(dpMock);
     }
 }
\ No newline at end of file
diff --git a/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ServerAppTest.java b/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ServerAppTest.java
index aaa1263e2b..38385ae923 100644
--- a/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ServerAppTest.java
+++ b/rt/frontend/js/src/test/java/org/apache/cxf/js/rhino/ServerAppTest.java
@@ -24,7 +24,6 @@ import java.io.File;
 import java.io.PrintStream;
 
 
-import org.easymock.EasyMock;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -32,6 +31,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.doCallRealMethod;
+import static org.mockito.Mockito.mock;
 
 public class ServerAppTest {
 
@@ -42,7 +44,8 @@ public class ServerAppTest {
 
     @Before
     public void setUp() throws Exception {
-        phMock = EasyMock.createMock(ProviderFactory.class);
+        phMock = mock(ProviderFactory.class);
+        doCallRealMethod().when(phMock).createAndPublish(nullable(File.class));
         emptyFile = getClass().getResource("empty/empty.js").toURI().getPath();
     }
 
@@ -56,7 +59,6 @@ public class ServerAppTest {
 
     @Test
     public void testNoArgs() {
-        EasyMock.replay(phMock);
         try {
             ServerApp app = createServerApp();
             String[] args = {};
@@ -65,12 +67,10 @@ public class ServerAppTest {
         } catch (Exception ex) {
             assertEquals("wrong exception message", ServerApp.NO_FILES_ERR, ex.getMessage());
         }
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testUknownOption() {
-        EasyMock.replay(phMock);
         try {
             ServerApp app = createServerApp();
             String[] args = {"-x"};
@@ -79,12 +79,10 @@ public class ServerAppTest {
         } catch (Exception ex) {
             assertTrue(ex.getMessage().startsWith(ServerApp.UNKNOWN_OPTION));
         }
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testMissingOptionA() {
-        EasyMock.replay(phMock);
         try {
             ServerApp app = createServerApp();
             String[] args = {"-a"};
@@ -93,12 +91,10 @@ public class ServerAppTest {
         } catch (Exception ex) {
             assertEquals("wrong exception message", ServerApp.WRONG_ADDR_ERR, ex.getMessage());
         }
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testBrokenOptionA() {
-        EasyMock.replay(phMock);
         try {
             ServerApp app = createServerApp();
             String[] args = {"-a", "not-a-url"};
@@ -107,12 +103,10 @@ public class ServerAppTest {
         } catch (Exception ex) {
             assertEquals("wrong exception message", ServerApp.WRONG_ADDR_ERR, ex.getMessage());
         }
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testMissingOptionB() {
-        EasyMock.replay(phMock);
         try {
             ServerApp app = createServerApp();
             String[] args = {"-b"};
@@ -121,12 +115,10 @@ public class ServerAppTest {
         } catch (Exception ex) {
             assertEquals("wrong exception message", ServerApp.WRONG_BASE_ERR, ex.getMessage());
         }
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testBrokenOptionB() {
-        EasyMock.replay(phMock);
         try {
             ServerApp app = createServerApp();
             String[] args = {"-b", "not-a-url"};
@@ -135,37 +127,30 @@ public class ServerAppTest {
         } catch (Exception ex) {
             assertEquals("wrong exception message", ServerApp.WRONG_BASE_ERR, ex.getMessage());
         }
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testFileOnly() throws Exception {
         phMock.createAndPublish(new File(emptyFile), null, false);
-        EasyMock.replay(phMock);
         ServerApp app = createServerApp();
         String[] args = {emptyFile};
         app.start(args);
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testOptionsAB() throws Exception {
         phMock.createAndPublish(new File(emptyFile), epAddr, true);
-        EasyMock.replay(phMock);
         ServerApp app = createServerApp();
         String[] args = {"-a", epAddr, "-b", epAddr, emptyFile};
         app.start(args);
-        EasyMock.verify(phMock);
     }
 
     @Test
     public void testOptionA() throws Exception {
         phMock.createAndPublish(new File(emptyFile), epAddr, false);
-        EasyMock.replay(phMock);
         ServerApp app = createServerApp();
         String[] args = {"-a", epAddr, emptyFile};
         app.start(args);
-        EasyMock.verify(phMock);
     }
 
     @Test
@@ -176,11 +161,9 @@ public class ServerAppTest {
         try {
             System.setOut(pout);
             phMock.createAndPublish(new File(emptyFile), epAddr, false);
-            EasyMock.replay(phMock);
             ServerApp app = createServerApp();
             String[] args = {"-a", epAddr, "-v", emptyFile};
             app.start(args);
-            EasyMock.verify(phMock);
             pout.flush();
             assertTrue(new String(bout.toByteArray()).contains("processing file"));
         } finally {
@@ -191,11 +174,9 @@ public class ServerAppTest {
     @Test
     public void testOptionB() throws Exception {
         phMock.createAndPublish(new File(emptyFile), epAddr, true);
-        EasyMock.replay(phMock);
         ServerApp app = createServerApp();
         String[] args = {"-b", epAddr, emptyFile};
         app.start(args);
-        EasyMock.verify(phMock);
     }
 
     @Test
@@ -207,11 +188,9 @@ public class ServerAppTest {
             System.setOut(pout);
 
             phMock.createAndPublish(new File(emptyFile), epAddr, true);
-            EasyMock.replay(phMock);
             ServerApp app = createServerApp();
             String[] args = {"-b", epAddr, "-v", emptyFile};
             app.start(args);
-            EasyMock.verify(phMock);
             assertTrue(new String(bout.toByteArray()).contains("processing file"));
         } finally {
             System.setOut(orig);
@@ -223,7 +202,7 @@ public class ServerAppTest {
         File f = new File(emptyFile);
         String dir = f.getParent();
         assertNotNull(dir);
-        EasyMock.checkOrder(phMock, false);
+
         phMock.createAndPublish(new File(emptyFile), epAddr, true);
         String file = getClass().getResource("empty/empty2.jsx").toURI().getPath();
         phMock.createAndPublish(new File(file), epAddr, true);
@@ -231,11 +210,10 @@ public class ServerAppTest {
         phMock.createAndPublish(new File(file), epAddr, true);
         file = getClass().getResource("empty/empty4.jsx").toURI().getPath();
         phMock.createAndPublish(new File(file), epAddr, true);
-        EasyMock.replay(phMock);
+        
         ServerApp app = createServerApp();
         String[] args = {"-b", epAddr, dir};
         app.start(args);
-        EasyMock.verify(phMock);
     }
 
 }
\ No newline at end of file