From 0ad15c60cc0c1612b84717c65462e7dc0c4cb525 Mon Sep 17 00:00:00 2001 From: Iwein Fuld Date: Mon, 28 Dec 2009 19:07:30 +0000 Subject: [PATCH] POLISH: avoided some deprecation warnings, added some mock tests. --- .../http/HttpInboundEndpointTests.java | 110 +++++++++--------- .../matcher/MockitoMessageMatchersTests.java | 28 ++--- ...iceActivatorOnMockitoMockTests-context.xml | 34 ++++-- .../ServiceActivatorOnMockitoMockTests.java | 56 +++++++-- .../SimpleWebServiceInboundGatewayTests.java | 26 ++--- .../RoundRobinDispatcherConcurrentTests.java | 23 ++-- .../dispatcher/RoundRobinDispatcherTests.java | 15 +-- 7 files changed, 172 insertions(+), 120 deletions(-) diff --git a/org.springframework.integration.http/src/test/java/org/springframework/integration/http/HttpInboundEndpointTests.java b/org.springframework.integration.http/src/test/java/org/springframework/integration/http/HttpInboundEndpointTests.java index 53bb5f97da..be72970f18 100644 --- a/org.springframework.integration.http/src/test/java/org/springframework/integration/http/HttpInboundEndpointTests.java +++ b/org.springframework.integration.http/src/test/java/org/springframework/integration/http/HttpInboundEndpointTests.java @@ -16,6 +16,30 @@ package org.springframework.integration.http; +import org.easymock.IAnswer; +import org.easymock.classextension.ConstructorArgs; +import org.junit.Before; +import org.junit.Test; +import org.springframework.integration.core.Message; +import org.springframework.integration.core.MessageChannel; +import org.springframework.integration.core.MessageHeaders; +import org.springframework.integration.message.StringMessage; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.web.servlet.View; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.UnsupportedEncodingException; +import java.security.Principal; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + import static org.easymock.EasyMock.anyObject; import static org.easymock.EasyMock.eq; import static org.easymock.EasyMock.expect; @@ -30,32 +54,6 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.UnsupportedEncodingException; -import java.security.Principal; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.easymock.IAnswer; -import org.easymock.classextension.ConstructorArgs; -import org.junit.Before; -import org.junit.Test; - -import org.springframework.integration.core.Message; -import org.springframework.integration.core.MessageChannel; -import org.springframework.integration.core.MessageHeaders; -import org.springframework.integration.message.StringMessage; -import org.springframework.mock.web.MockHttpServletRequest; -import org.springframework.mock.web.MockHttpServletResponse; -import org.springframework.web.servlet.View; - /** * @author Alex Peters */ @@ -71,7 +69,7 @@ public class HttpInboundEndpointTests { private final MessageChannel replyChannel = createMock(MessageChannel.class); - private final Object[] allmocks = new Object[] { requestChannel, replyChannel }; + private final Object[] allMocks = new Object[] { requestChannel, replyChannel }; private HttpInboundEndpoint endpoint; @@ -80,7 +78,7 @@ public class HttpInboundEndpointTests { private MockHttpServletResponse response; - static { + static { try { ANY_BINARY_PAYLOAD = "any binary content..blabla...bla.äöüßß߀€€€".getBytes(ANY_ENCODING); } @@ -96,7 +94,7 @@ public class HttpInboundEndpointTests { endpoint.setRequestChannel(requestChannel); endpoint.setReplyChannel(replyChannel); endpoint.afterPropertiesSet(); - reset(allmocks); + reset(allMocks); request = new MockHttpServletRequest("GET", "/anyurl"); response = new MockHttpServletResponse(); response.setCharacterEncoding(ANY_ENCODING); @@ -133,9 +131,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -150,9 +148,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -171,9 +169,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -195,9 +193,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -215,9 +213,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -238,9 +236,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -255,9 +253,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -273,9 +271,9 @@ public class HttpInboundEndpointTests { return true; } }); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -290,7 +288,7 @@ public class HttpInboundEndpointTests { public void handleRequest_withoutReplyMessage_return200() throws ServletException, IOException { expect(requestChannel.send(isA(Message.class))).andReturn(true); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); assertThat(response.getStatus(), is(HttpServletResponse.SC_OK)); } @@ -299,20 +297,20 @@ public class HttpInboundEndpointTests { public void handleRequest_replyWithTextPayload_textAsRespContent() throws ServletException, IOException { setupEndpointAsMock(ANY_STRING_PAYLOAD); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); assertThat(response.getContentAsString(), is(ANY_STRING_PAYLOAD)); - verify(allmocks); + verify(allMocks); } @Test public void handleRequest_replyWithBytePayload_bytesAsRespContent() throws ServletException, IOException { setupEndpointAsMock(ANY_BINARY_PAYLOAD); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); assertThat(response.getContentAsByteArray(), is(ANY_BINARY_PAYLOAD)); - verify(allmocks); + verify(allMocks); } @Test @@ -320,14 +318,14 @@ public class HttpInboundEndpointTests { throws ServletException, IOException, ClassNotFoundException { Date obj = new Date(); setupEndpointAsMock(obj); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); byte[] content = response.getContentAsByteArray(); Object deserializedObj = new ObjectInputStream( new ByteArrayInputStream(content)).readObject(); assertThat(deserializedObj, is(Date.class)); assertThat((Date) deserializedObj, is(obj)); - verify(allmocks); + verify(allMocks); } @Test(expected = ServletException.class) @@ -335,9 +333,9 @@ public class HttpInboundEndpointTests { throws ServletException, IOException, ClassNotFoundException { Object obj = new Object(); setupEndpointAsMock(obj); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); } @Test @@ -356,9 +354,9 @@ public class HttpInboundEndpointTests { }); endpoint.setView(view); replay(view); - replay(allmocks); + replay(allMocks); endpoint.handleRequest(request, response); - verify(allmocks); + verify(allMocks); verify(view); } diff --git a/org.springframework.integration.test/src/test/java/org/springframework/integration/test/matcher/MockitoMessageMatchersTests.java b/org.springframework.integration.test/src/test/java/org/springframework/integration/test/matcher/MockitoMessageMatchersTests.java index 003c9d3da4..77da02253c 100644 --- a/org.springframework.integration.test/src/test/java/org/springframework/integration/test/matcher/MockitoMessageMatchersTests.java +++ b/org.springframework.integration.test/src/test/java/org/springframework/integration/test/matcher/MockitoMessageMatchersTests.java @@ -15,6 +15,19 @@ */ package org.springframework.integration.test.matcher; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent; +import org.mockito.runners.MockitoJUnitRunner; +import org.springframework.integration.core.Message; +import org.springframework.integration.core.MessageChannel; +import org.springframework.integration.message.MessageBuilder; +import org.springframework.integration.message.MessageHandler; + +import java.util.Date; + import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; @@ -23,25 +36,12 @@ import static org.mockito.Mockito.when; import static org.springframework.integration.test.matcher.MockitoMessageMatchers.messageWithHeaderEntry; import static org.springframework.integration.test.matcher.MockitoMessageMatchers.messageWithPayload; -import java.util.Date; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent; -import org.mockito.runners.MockitoJUnit44Runner; -import org.springframework.integration.core.Message; -import org.springframework.integration.core.MessageChannel; -import org.springframework.integration.message.MessageBuilder; -import org.springframework.integration.message.MessageHandler; - /** * @author Alex Peters * @author Iwein Fuld * */ -@RunWith(MockitoJUnit44Runner.class) +@RunWith(MockitoJUnitRunner.class) public class MockitoMessageMatchersTests { static final Date SOME_PAYLOAD = new Date(); diff --git a/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests-context.xml b/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests-context.xml index 5ed0f63b87..2852ede66d 100644 --- a/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests-context.xml +++ b/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests-context.xml @@ -14,15 +14,35 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests.java b/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests.java index 60d8a661e8..dea9ccce59 100644 --- a/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests.java +++ b/org.springframework.integration.test/src/test/java/org/springframework/integration/test/mockito/ServiceActivatorOnMockitoMockTests.java @@ -18,15 +18,18 @@ package org.springframework.integration.test.mockito; import org.junit.Test; import org.junit.runner.RunWith; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.integration.annotation.Header; +import org.springframework.integration.annotation.ServiceActivator; import org.springframework.integration.channel.PollableChannel; import org.springframework.integration.core.MessageChannel; import org.springframework.integration.message.MessageBuilder; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import static org.mockito.Mockito.verify; + /** * @author Iwein Fuld */ @@ -34,19 +37,58 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) public class ServiceActivatorOnMockitoMockTests { - @Autowired @Qualifier("in") + @Autowired + @Qualifier("in") MessageChannel in; - @Autowired @Qualifier("out") + @Autowired + @Qualifier("out") PollableChannel out; - public static class SingleMethod { - public String move(String s){return s;}; + public static class SingleAnnotatedMethodOnClass { + @ServiceActivator + public String move(String s) { + return s; + } } + @Autowired + SingleAnnotatedMethodOnClass singleAnnotatedMethodOnClass; + @Test - public void shouldInvokeMock() { - in.send(MessageBuilder.withPayload("test").build()) ; + public void shouldInvokeMockedSingleAnnotatedMethodOnClass() { + in.send(MessageBuilder.withPayload("singleAnnotatedMethodOnClass").build()); + verify(singleAnnotatedMethodOnClass).move("singleAnnotatedMethodOnClass"); + } + + public static class SingleMethodOnClass { + public String move(String s) { + return s; + } + } + + @Autowired + SingleMethodOnClass singleMethodOnClass; + + @Test + public void shouldInvokeMockedSingleMethodOnClass() { + in.send(MessageBuilder.withPayload("SingleMethodOnClass").build()); + verify(singleMethodOnClass).move("SingleMethodOnClass"); + } + + public static class SingleMethodAcceptingHeaderOnClass { + public String move(@Header("s") String s) { + return s; + } + } + + @Autowired + SingleMethodAcceptingHeaderOnClass singleMethodAcceptingHeaderOnClass; + + @Test + public void shouldInvokeMockedSingleMethodAcceptingHeaderOnClass() { + in.send(MessageBuilder.withPayload("SingleMethodAcceptingHeaderOnClass").setHeader("s", "SingleMethodAcceptingHeaderOnClass").build()); + verify(singleMethodAcceptingHeaderOnClass).move("SingleMethodAcceptingHeaderOnClass"); } } diff --git a/org.springframework.integration.ws/src/test/java/org/springframework/integration/ws/SimpleWebServiceInboundGatewayTests.java b/org.springframework.integration.ws/src/test/java/org/springframework/integration/ws/SimpleWebServiceInboundGatewayTests.java index abe89a6f8e..76704695a0 100644 --- a/org.springframework.integration.ws/src/test/java/org/springframework/integration/ws/SimpleWebServiceInboundGatewayTests.java +++ b/org.springframework.integration.ws/src/test/java/org/springframework/integration/ws/SimpleWebServiceInboundGatewayTests.java @@ -16,17 +16,6 @@ package org.springframework.integration.ws; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; - -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - import org.hamcrest.BaseMatcher; import org.hamcrest.Description; import org.junit.Before; @@ -34,9 +23,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.invocation.InvocationOnMock; -import org.mockito.runners.MockitoJUnit44Runner; +import org.mockito.runners.MockitoJUnitRunner; import org.mockito.stubbing.Answer; - import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.core.Message; import org.springframework.integration.core.MessageChannel; @@ -44,12 +32,22 @@ import org.springframework.integration.message.MessageDeliveryException; import org.springframework.ws.WebServiceMessage; import org.springframework.ws.context.MessageContext; +import javax.xml.transform.Result; +import javax.xml.transform.Source; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; +import java.io.StringReader; +import java.io.StringWriter; + +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.*; + /** * * @author Iwein Fuld * */ -@RunWith(MockitoJUnit44Runner.class) +@RunWith(MockitoJUnitRunner.class) public class SimpleWebServiceInboundGatewayTests { private SimpleWebServiceInboundGateway gateway = new SimpleWebServiceInboundGateway(); diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherConcurrentTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherConcurrentTests.java index f047cbbd35..2f7034fa8e 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherConcurrentTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherConcurrentTests.java @@ -15,32 +15,29 @@ package org.springframework.integration.dispatcher; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnit44Runner; - +import org.mockito.runners.MockitoJUnitRunner; import org.springframework.integration.core.Message; import org.springframework.integration.message.MessageHandler; import org.springframework.integration.message.MessageRejectedException; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.*; + /** * @author Iwein Fuld */ -@RunWith(MockitoJUnit44Runner.class) +@RunWith(MockitoJUnitRunner.class) public class RoundRobinDispatcherConcurrentTests { private static final int TOTAL_EXECUTIONS = 40; diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherTests.java index 7fc19ea46d..4f9bae9026 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/RoundRobinDispatcherTests.java @@ -15,27 +15,24 @@ package org.springframework.integration.dispatcher; -import static org.mockito.Mockito.atLeast; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -import java.util.concurrent.atomic.AtomicInteger; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnit44Runner; - +import org.mockito.runners.MockitoJUnitRunner; import org.springframework.beans.DirectFieldAccessor; import org.springframework.integration.core.Message; import org.springframework.integration.message.MessageHandler; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.mockito.Mockito.*; + /** * @author Iwein Fuld * @author Mark Fisher */ -@RunWith(MockitoJUnit44Runner.class) +@RunWith(MockitoJUnitRunner.class) public class RoundRobinDispatcherTests { private UnicastingDispatcher dispatcher = new UnicastingDispatcher();