POLISH: avoided some deprecation warnings, added some mock tests.

This commit is contained in:
Iwein Fuld
2009-12-28 19:07:30 +00:00
parent b5de4b64dc
commit 0ad15c60cc
7 changed files with 172 additions and 120 deletions

View File

@@ -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();

View File

@@ -14,15 +14,35 @@
<i:channel id="in"/>
<i:service-activator input-channel="in" output-channel="out">
<bean class="org.mockito.Mockito" factory-method="mock">
<constructor-arg
value="org.springframework.integration.test.mockito.ServiceActivatorOnMockitoMockTests$SingleMethod"/>
</bean>
</i:service-activator>
<i:chain input-channel="in" output-channel="out">
<i:filter expression="payload == 'singleAnnotatedMethodOnClass'"/>
<i:service-activator ref="singleAnnotatedMethodOnClass"/>
</i:chain>
<bean id="singleAnnotatedMethodOnClass" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg
value="org.springframework.integration.test.mockito.ServiceActivatorOnMockitoMockTests.SingleAnnotatedMethodOnClass"/>
</bean>
<i:chain input-channel="in" output-channel="out">
<i:filter expression="payload == 'SingleMethodOnClass'"/>
<i:service-activator ref="singleMethodOnClass"/>
</i:chain>
<bean id="singleMethodOnClass" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg
value="org.springframework.integration.test.mockito.ServiceActivatorOnMockitoMockTests.SingleMethodOnClass"/>
</bean>
<i:chain input-channel="in" output-channel="out">
<i:filter expression="payload == 'SingleMethodAcceptingHeaderOnClass'"/>
<i:service-activator ref="singleMethodAcceptingHeaderOnClass"/>
</i:chain>
<bean id="singleMethodAcceptingHeaderOnClass" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg
value="org.springframework.integration.test.mockito.ServiceActivatorOnMockitoMockTests.SingleMethodAcceptingHeaderOnClass"/>
</bean>
<i:channel id="out">
<i:queue capacity="10"/>
</i:channel>
</beans>
</beans>

View File

@@ -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");
}
}