Repository: camel Updated Branches: refs/heads/master 74ed07d6a -> 19d2ba5a9
CAMEL-11845: Migrate easymock and powermock to mockito Migrate some camel-core tests from easymock to mockito. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/19d2ba5a Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/19d2ba5a Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/19d2ba5a Branch: refs/heads/master Commit: 19d2ba5a9a86c9ba9336195f0a201f56eea65f96 Parents: 60b4f1a Author: Pascal Schumacher <pascalschumac...@gmx.net> Authored: Thu Sep 28 22:46:50 2017 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Sep 29 08:47:27 2017 +0200 ---------------------------------------------------------------------- camel-core/pom.xml | 6 +++ .../camel/builder/xml/XPathTransformTest.java | 48 +++++++------------- .../builder/xml/XsltTestErrorListenerTest.java | 21 +++------ .../camel/processor/ThroughPutLoggerTest.java | 20 ++++---- .../AbstractCamelCatalogTest.java | 29 ++++-------- 5 files changed, 47 insertions(+), 77 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/19d2ba5a/camel-core/pom.xml ---------------------------------------------------------------------- diff --git a/camel-core/pom.xml b/camel-core/pom.xml index 9f3ea68..ab1f62f 100644 --- a/camel-core/pom.xml +++ b/camel-core/pom.xml @@ -196,6 +196,12 @@ <scope>test</scope> </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <scope>test</scope> + </dependency> + <!-- for json tests --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> http://git-wip-us.apache.org/repos/asf/camel/blob/19d2ba5a/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTransformTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTransformTest.java b/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTransformTest.java index f0d194a..657c8aa 100644 --- a/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTransformTest.java +++ b/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTransformTest.java @@ -23,18 +23,17 @@ import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.apache.camel.ContextTestSupport; -import org.easymock.Capture; -import org.easymock.CaptureType; import org.slf4j.Logger; -import static org.easymock.EasyMock.anyObject; -import static org.easymock.EasyMock.capture; -import static org.easymock.EasyMock.contains; -import static org.easymock.EasyMock.createNiceMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.expectLastCall; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; +import static org.hamcrest.Matchers.containsString; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.argThat; +import static org.mockito.Mockito.anyString; +import static org.mockito.Mockito.atLeastOnce; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; /** @@ -58,13 +57,9 @@ public class XPathTransformTest extends ContextTestSupport { } public void testXPathNamespaceLoggingEnabledJavaDSL() throws Exception { - Logger l = createNiceMock(Logger.class); + Logger l = mock(Logger.class); - expect(l.isInfoEnabled()).andReturn(true).anyTimes(); - - l.info(contains("Namespaces discovered in message"), anyObject(Object.class)); - expectLastCall().times(1); - replay(l); + when(l.isInfoEnabled()).thenReturn(true); String body = "<aRoot xmlns:nsa=\"http://namespacec.net\"><nsa:a xmlns:nsa=\"http://namespacea.net\">Hello|there|Camel</nsa:a>" + "<nsb:a xmlns:nsb=\"http://namespaceb.net\">Hello|there|Camel</nsb:a><nsb:a xmlns:nsb=\"http://namespaceb.net\">Hello|there|Camel</nsb:a>" @@ -82,19 +77,13 @@ public class XPathTransformTest extends ContextTestSupport { NodeList list = XPathBuilder.xpath("//*", NodeList.class).logNamespaces().evaluate(context, doc, NodeList.class); assertNotNull(list); - verify(l); + verify(l).info(argThat(containsString("Namespaces discovered in message")), any(Object.class)); } public void testXPathNamespaceLoggingDisabledJavaDSL() throws Exception { - Logger l = createNiceMock(Logger.class); - - expect(l.isInfoEnabled()).andReturn(true).anyTimes(); + Logger l = mock(Logger.class); - Capture<String> captures = new Capture<String>(CaptureType.ALL); - l.info(capture(captures), anyObject(Object.class)); - expectLastCall().anyTimes(); - - replay(l); + when(l.isInfoEnabled()).thenReturn(true); String body = "<aRoot xmlns:nsa=\"http://namespacec.net\"><nsa:a xmlns:nsa=\"http://namespacea.net\">Hello|there|Camel</nsa:a>" + "<nsb:a xmlns:nsb=\"http://namespaceb.net\">Hello|there|Camel</nsb:a><nsb:a xmlns:nsb=\"http://namespaceb.net\">Hello|there|Camel</nsb:a>" @@ -112,13 +101,8 @@ public class XPathTransformTest extends ContextTestSupport { NodeList list = XPathBuilder.xpath("//*", NodeList.class).evaluate(context, doc, NodeList.class); assertNotNull(list); - verify(l); - - for (String c : captures.getValues()) { - if (c.contains("Namespaces discovered in message")) { - throw new AssertionError("Did not expect LOG.info with 'Namespaces discovered in message'"); - } - } + verify(l, atLeastOnce()).info(anyString(), any(Object.class)); + verify(l, never()).info(argThat(containsString("Namespaces discovered in message")), any(Object.class)); } } http://git-wip-us.apache.org/repos/asf/camel/blob/19d2ba5a/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTestErrorListenerTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTestErrorListenerTest.java b/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTestErrorListenerTest.java index 2741adc..6dcd27a 100644 --- a/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTestErrorListenerTest.java +++ b/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTestErrorListenerTest.java @@ -18,32 +18,24 @@ package org.apache.camel.builder.xml; import java.net.URL; import javax.xml.transform.ErrorListener; -import javax.xml.transform.TransformerException; import junit.framework.TestCase; -import org.easymock.EasyMock; -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.expectLastCall; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Mockito.atLeastOnce; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; public class XsltTestErrorListenerTest extends TestCase { private XsltBuilder xsltBuilder = new XsltBuilder(); - private ErrorListener errorListener = createMock(ErrorListener.class); + private ErrorListener errorListener = mock(ErrorListener.class); public void testErrorListener() throws Exception { // Xalan transformer cannot work as expected, so we just skip the test if (xsltBuilder.getConverter().getTransformerFactory().getClass().getName().startsWith("org.apache.xalan")) { return; } - errorListener.error(EasyMock.<TransformerException>anyObject()); - expectLastCall().atLeastOnce(); - - errorListener.fatalError(EasyMock.<TransformerException>anyObject()); - expectLastCall().once(); - replay(errorListener); URL styleSheet = getClass().getResource("example-with-errors.xsl"); try { @@ -53,6 +45,7 @@ public class XsltTestErrorListenerTest extends TestCase { } catch (Exception ex) { // expected } - verify(errorListener); + verify(errorListener, atLeastOnce()).error(anyObject()); + verify(errorListener).fatalError(anyObject()); } } http://git-wip-us.apache.org/repos/asf/camel/blob/19d2ba5a/camel-core/src/test/java/org/apache/camel/processor/ThroughPutLoggerTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/ThroughPutLoggerTest.java b/camel-core/src/test/java/org/apache/camel/processor/ThroughPutLoggerTest.java index 864a0db..d9c814a 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/ThroughPutLoggerTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/ThroughPutLoggerTest.java @@ -21,29 +21,29 @@ import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.DefaultExchange; import org.apache.camel.util.CamelLogger; -import org.easymock.EasyMock; import org.slf4j.Logger; +import static org.hamcrest.Matchers.startsWith; +import static org.mockito.Matchers.argThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + public class ThroughPutLoggerTest extends TestCase { public void testLogStringDurationIsNotZero() throws Exception { CamelContext camel = new DefaultCamelContext(); camel.start(); - Logger logger = EasyMock.createMock(Logger.class); - logger.isInfoEnabled(); - EasyMock.expectLastCall().andReturn(true).atLeastOnce(); - logger.info(EasyMock.startsWith("Received: 10")); - EasyMock.expectLastCall().once(); - logger.info(EasyMock.startsWith("Received: 20")); - EasyMock.expectLastCall().once(); - EasyMock.replay(logger); + Logger logger = mock(Logger.class); + when(logger.isInfoEnabled()).thenReturn(true); ThroughputLogger underTest = new ThroughputLogger(new CamelLogger(logger)); underTest.setGroupSize(10); for (int i = 0; i < 25; i++) { underTest.process(new DefaultExchange(camel)); } - EasyMock.verify(logger); + verify(logger).info(argThat(startsWith("Received: 10"))); + verify(logger).info(argThat(startsWith("Received: 20"))); camel.stop(); } http://git-wip-us.apache.org/repos/asf/camel/blob/19d2ba5a/camel-core/src/test/java/org/apache/camel/runtimecatalog/AbstractCamelCatalogTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/runtimecatalog/AbstractCamelCatalogTest.java b/camel-core/src/test/java/org/apache/camel/runtimecatalog/AbstractCamelCatalogTest.java index 895fdeb..cdd9cf7 100644 --- a/camel-core/src/test/java/org/apache/camel/runtimecatalog/AbstractCamelCatalogTest.java +++ b/camel-core/src/test/java/org/apache/camel/runtimecatalog/AbstractCamelCatalogTest.java @@ -23,10 +23,9 @@ import java.util.Map; import org.junit.Before; import org.junit.Test; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.mock; -import static org.easymock.EasyMock.replay; import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; public class AbstractCamelCatalogTest { @@ -44,14 +43,12 @@ public class AbstractCamelCatalogTest { @Test public void shouldConstructEndpointUris() throws URISyntaxException { - expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"// + when(resolver.getComponentJSonSchema("comp")).thenReturn("{\n"// + " \"component\": {\n"// + " \"syntax\": \"comp:param1:param2\"\n"// + " }\n"// + "}"); - replay(resolver); - final Map<String, String> properties = new HashMap<>(); properties.put("param1", "value1"); properties.put("param2", "value2"); @@ -64,14 +61,12 @@ public class AbstractCamelCatalogTest { @Test public void shouldConstructEndpointUrisWithPropertyPlaceholders() throws URISyntaxException { - expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"// + when(resolver.getComponentJSonSchema("comp")).thenReturn("{\n"// + " \"component\": {\n"// + " \"syntax\": \"comp:param1:param2\"\n"// + " }\n"// + "}"); - replay(resolver); - final Map<String, String> properties = new HashMap<>(); properties.put("param1", "{{prop1}}"); properties.put("param2", "{{prop2}}"); @@ -84,14 +79,12 @@ public class AbstractCamelCatalogTest { @Test public void shouldConstructEndpointUrisWhenValuesContainTokens() throws URISyntaxException { - expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"// + when(resolver.getComponentJSonSchema("comp")).thenReturn("{\n"// + " \"component\": {\n"// + " \"syntax\": \"comp:param1:param2\"\n"// + " }\n"// + "}"); - replay(resolver); - final Map<String, String> properties = new HashMap<>(); properties.put("param1", "{value1}"); properties.put("param2", "/value2/"); @@ -104,14 +97,12 @@ public class AbstractCamelCatalogTest { @Test public void shouldContextPathAndQuery() throws URISyntaxException { - expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"// + when(resolver.getComponentJSonSchema("comp")).thenReturn("{\n"// + " \"component\": {\n"// + " \"syntax\": \"comp:value1\"\n"// + " }\n"// + "}"); - replay(resolver); - final Map<String, String> properties = new HashMap<>(); properties.put("value1", "camel"); properties.put("foo", "123"); @@ -123,14 +114,12 @@ public class AbstractCamelCatalogTest { @Test public void shouldEmptyContextPath() throws URISyntaxException { - expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"// + when(resolver.getComponentJSonSchema("comp")).thenReturn("{\n"// + " \"component\": {\n"// + " \"syntax\": \"comp\"\n"// + " }\n"// + "}"); - replay(resolver); - final Map<String, String> properties = new HashMap<>(); final String endpointUri = catalog.doAsEndpointUri("comp", properties, "&", false); @@ -140,14 +129,12 @@ public class AbstractCamelCatalogTest { @Test public void shouldEmptyContextPathWithQuery() throws URISyntaxException { - expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"// + when(resolver.getComponentJSonSchema("comp")).thenReturn("{\n"// + " \"component\": {\n"// + " \"syntax\": \"comp\"\n"// + " }\n"// + "}"); - replay(resolver); - final Map<String, String> properties = new HashMap<>(); properties.put("foo", "123");