From edb1e050e5bc1a0afd02a9f877cdbcd4c2acb1a9 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Mon, 30 Aug 2010 20:44:09 +0000 Subject: [PATCH] INT-1389 removed all dependencies on StringMessage from unit tests in spring-integration-jms --- ...nnelPublishingJmsMessageListenerTests.java | 6 +- ...sDestinationBackedMessageChannelTests.java | 48 ++++++++------- .../jms/config/ActiveMqTestUtils.java | 17 ++++-- .../jms/config/JmsHeaderEnricherTests.java | 9 +-- .../jms/config/JmsMessageHistoryTests.java | 37 ++++++++---- ...sWithMarshallingMessageConverterTests.java | 59 +++++++++++-------- 6 files changed, 106 insertions(+), 70 deletions(-) diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/ChannelPublishingJmsMessageListenerTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/ChannelPublishingJmsMessageListenerTests.java index f293d6945f..f44cee5497 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/ChannelPublishingJmsMessageListenerTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/ChannelPublishingJmsMessageListenerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,9 +28,9 @@ import org.springframework.beans.DirectFieldAccessor; import org.springframework.core.task.SimpleAsyncTaskExecutor; import org.springframework.integration.Message; import org.springframework.integration.channel.QueueChannel; +import org.springframework.integration.core.GenericMessage; import org.springframework.integration.core.MessageChannel; import org.springframework.integration.core.PollableChannel; -import org.springframework.integration.core.StringMessage; import org.springframework.jms.support.converter.MessageConversionException; import org.springframework.jms.support.converter.MessageConverter; import org.springframework.jms.support.converter.SimpleMessageConverter; @@ -82,7 +82,7 @@ public class ChannelPublishingJmsMessageListenerTests { new SimpleAsyncTaskExecutor().execute(new Runnable() { public void run() { Message request = channel.receive(5000); - Message reply = new StringMessage(((String) request.getPayload()).toUpperCase()); + Message reply = new GenericMessage(((String) request.getPayload()).toUpperCase()); ((MessageChannel) request.getHeaders().getReplyChannel()).send(reply, 5000); } }); diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/JmsDestinationBackedMessageChannelTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/JmsDestinationBackedMessageChannelTests.java index 19ff58c60b..144d45b5bb 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/JmsDestinationBackedMessageChannelTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/JmsDestinationBackedMessageChannelTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,25 +16,31 @@ package org.springframework.integration.jms; -import org.apache.activemq.ActiveMQConnectionFactory; -import org.apache.activemq.command.ActiveMQQueue; -import org.apache.activemq.command.ActiveMQTopic; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.context.support.StaticApplicationContext; -import org.springframework.integration.Message; -import org.springframework.integration.core.MessageHandler; -import org.springframework.integration.core.StringMessage; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; -import javax.jms.Destination; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.*; +import javax.jms.Destination; + +import org.apache.activemq.ActiveMQConnectionFactory; +import org.apache.activemq.command.ActiveMQQueue; +import org.apache.activemq.command.ActiveMQTopic; +import org.junit.Before; +import org.junit.Test; + +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.context.support.StaticApplicationContext; +import org.springframework.integration.Message; +import org.springframework.integration.core.GenericMessage; +import org.springframework.integration.core.MessageHandler; /** * @author Mark Fisher @@ -82,8 +88,8 @@ public class JmsDestinationBackedMessageChannelTests { channel.start(); channel.subscribe(handler1); channel.subscribe(handler2); - channel.send(new StringMessage("foo")); - channel.send(new StringMessage("bar")); + channel.send(new GenericMessage("foo")); + channel.send(new GenericMessage("bar")); latch.await(TIMEOUT, TimeUnit.MILLISECONDS); assertEquals(1, receivedList1.size()); assertNotNull(receivedList1.get(0)); @@ -120,8 +126,8 @@ public class JmsDestinationBackedMessageChannelTests { if (!channel.waitRegisteredWithDestination(10000)) { fail("Listener failed to subscribe to topic"); } - channel.send(new StringMessage("foo")); - channel.send(new StringMessage("bar")); + channel.send(new GenericMessage("foo")); + channel.send(new GenericMessage("bar")); latch.await(TIMEOUT, TimeUnit.MILLISECONDS); assertEquals(2, receivedList1.size()); assertEquals("foo", receivedList1.get(0).getPayload()); @@ -155,8 +161,8 @@ public class JmsDestinationBackedMessageChannelTests { channel.start(); channel.subscribe(handler1); channel.subscribe(handler2); - channel.send(new StringMessage("foo")); - channel.send(new StringMessage("bar")); + channel.send(new GenericMessage("foo")); + channel.send(new GenericMessage("bar")); latch.await(TIMEOUT, TimeUnit.MILLISECONDS); assertEquals(1, receivedList1.size()); assertNotNull(receivedList1.get(0)); @@ -193,8 +199,8 @@ public class JmsDestinationBackedMessageChannelTests { } channel.subscribe(handler1); channel.subscribe(handler2); - channel.send(new StringMessage("foo")); - channel.send(new StringMessage("bar")); + channel.send(new GenericMessage("foo")); + channel.send(new GenericMessage("bar")); latch.await(TIMEOUT, TimeUnit.MILLISECONDS); assertEquals(2, receivedList1.size()); assertEquals("foo", receivedList1.get(0).getPayload()); diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/ActiveMqTestUtils.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/ActiveMqTestUtils.java index 06f5e35e0c..4495b1a428 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/ActiveMqTestUtils.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/ActiveMqTestUtils.java @@ -13,10 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.integration.jms.config; import java.io.File; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + import org.junit.Before; /** @@ -25,17 +29,17 @@ import org.junit.Before; */ public class ActiveMqTestUtils { + private static final Log logger = LogFactory.getLog(ActiveMqTestUtils.class); + + @Before public static void prepare() { - System.out.println("####### Refreshing ActiveMq ########"); + logger.info("####### Refreshing ActiveMq ########"); File activeMqTempDir = new File("activemq-data"); deleteDir(activeMqTempDir); - } - /* - * - */ - private static void deleteDir(File directory){ + + private static void deleteDir(File directory) { if (directory.exists()){ String[] children = directory.list(); if (children != null){ @@ -46,4 +50,5 @@ public class ActiveMqTestUtils { } directory.delete(); } + } diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsHeaderEnricherTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsHeaderEnricherTests.java index 7575e0244b..390536dcec 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsHeaderEnricherTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsHeaderEnricherTests.java @@ -22,11 +22,12 @@ import javax.jms.Destination; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.Message; +import org.springframework.integration.core.GenericMessage; import org.springframework.integration.core.MessageChannel; import org.springframework.integration.core.PollableChannel; -import org.springframework.integration.core.StringMessage; import org.springframework.integration.jms.DefaultJmsHeaderMapper; import org.springframework.integration.jms.JmsHeaders; import org.springframework.integration.jms.StubTextMessage; @@ -55,7 +56,7 @@ public class JmsHeaderEnricherTests { @Test // INT-804 public void verifyReplyToValue() throws Exception { - valueTestInput.send(new StringMessage("test")); + valueTestInput.send(new GenericMessage("test")); Message result = output.receive(0); assertEquals(testDestination, result.getHeaders().get(JmsHeaders.REPLY_TO)); StubTextMessage jmsMessage = new StubTextMessage(); @@ -66,7 +67,7 @@ public class JmsHeaderEnricherTests { @Test public void verifyCorrelationIdValue() throws Exception { - valueTestInput.send(new StringMessage("test")); + valueTestInput.send(new GenericMessage("test")); Message result = output.receive(0); assertEquals("ABC", result.getHeaders().get(JmsHeaders.CORRELATION_ID)); StubTextMessage jmsMessage = new StubTextMessage(); @@ -77,7 +78,7 @@ public class JmsHeaderEnricherTests { @Test // see INT-1122 and INT-1123 public void verifyCorrelationIdExpression() throws Exception { - expressionTestInput.send(new StringMessage("test")); + expressionTestInput.send(new GenericMessage("test")); Message result = output.receive(0); assertEquals(123, result.getHeaders().get(JmsHeaders.CORRELATION_ID)); StubTextMessage jmsMessage = new StubTextMessage(); diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageHistoryTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageHistoryTests.java index b01ce1e1e8..3f30ce8b3e 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageHistoryTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageHistoryTests.java @@ -36,10 +36,10 @@ import org.springframework.integration.MessageHeaders; import org.springframework.integration.MessagingException; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.context.NamedComponent; +import org.springframework.integration.core.GenericMessage; import org.springframework.integration.core.MessageChannel; import org.springframework.integration.core.MessageHandler; import org.springframework.integration.core.PollableChannel; -import org.springframework.integration.core.StringMessage; import org.springframework.integration.core.SubscribableChannel; import org.springframework.integration.history.MessageHistory; import org.springframework.integration.jms.DefaultJmsHeaderMapper; @@ -74,7 +74,7 @@ public class JmsMessageHistoryTests { ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext("MessageHistoryTests-withHeaderMapper.xml", JmsMessageHistoryTests.class); DirectChannel input = applicationContext.getBean("outbound-channel", DirectChannel.class); PollableChannel jmsInputChannel = applicationContext.getBean("jmsInputChannel", PollableChannel.class); - input.send(new StringMessage("hello")); + input.send(new GenericMessage("hello")); Message message = jmsInputChannel.receive(50000); Iterator historyIterator = message.getHeaders().get(MessageHistory.HEADER_NAME, MessageHistory.class).iterator(); Properties event = historyIterator.next(); @@ -117,7 +117,7 @@ public class JmsMessageHistoryTests { assertEquals("inbound-jms-channel", event.getProperty(MessageHistory.NAME_PROPERTY)); MessageChannel channel = (MessageChannel) message.getHeaders().getReplyChannel(); - channel.send(new StringMessage("OK")); + channel.send(new GenericMessage("OK")); } }; handler = Mockito.spy(handler); @@ -125,18 +125,26 @@ public class JmsMessageHistoryTests { gateway.echo("hello"); Mockito.verify(handler, Mockito.times(1)).handleMessage(Mockito.any(Message.class)); } - - public static interface SampleGateway{ + + + public static interface SampleGateway { + public void send(String value); + public Message echo(String value); + } - - public static class SampleService{ - public Message echoMessage(String value){ - return new StringMessage(value); + + + public static class SampleService { + + public Message echoMessage(String value) { + return new GenericMessage(value); } + } - + + public static class SampleHeaderMapper extends DefaultJmsHeaderMapper { public void fromHeaders(MessageHeaders headers, javax.jms.Message jmsMessage) { @@ -171,19 +179,26 @@ public class JmsMessageHistoryTests { return headers; } } - + + public static class SampleComponent implements NamedComponent{ + private String name; + private String type; + public SampleComponent(String name, String type){ this.name = name; this.type = type; } + public String getComponentName() { return name; } + public String getComponentType() { return type; } } + } diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsWithMarshallingMessageConverterTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsWithMarshallingMessageConverterTests.java index 03d91eb9e7..6c47794c8c 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsWithMarshallingMessageConverterTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsWithMarshallingMessageConverterTests.java @@ -13,8 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.integration.jms.config; +import static org.junit.Assert.assertEquals; + import java.io.IOException; import java.io.InputStream; @@ -24,69 +27,75 @@ import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.junit.Test; + import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.integration.Message; +import org.springframework.integration.core.GenericMessage; import org.springframework.integration.core.MessageChannel; import org.springframework.integration.core.PollableChannel; -import org.springframework.integration.core.StringMessage; import org.springframework.oxm.Marshaller; import org.springframework.oxm.Unmarshaller; import org.springframework.oxm.XmlMappingException; + /** * @author Oleg Zhurakousky - * */ public class JmsWithMarshallingMessageConverterTests { - - @SuppressWarnings("unchecked") @Test - public void demoWithMarshallingConverter(){ + @SuppressWarnings("unchecked") + public void demoWithMarshallingConverter() { ActiveMqTestUtils.prepare(); - ApplicationContext ac = new ClassPathXmlApplicationContext("JmsWithMarshallingMessageConverterTests-context.xml", JmsWithMarshallingMessageConverterTests.class); + ApplicationContext ac = new ClassPathXmlApplicationContext( + "JmsWithMarshallingMessageConverterTests-context.xml", JmsWithMarshallingMessageConverterTests.class); MessageChannel input = ac.getBean("outbound-gateway-channel", MessageChannel.class); PollableChannel output = ac.getBean("output", PollableChannel.class); - - input.send(new StringMessage("hello")); + input.send(new GenericMessage("hello")); Message replyMessage = (Message) output.receive(); - System.out.println("Message: " + replyMessage); + assertEquals("HELLO", replyMessage.getPayload()); } - - public static class SampleService{ - public String echo(String value){ + + + public static class SampleService { + + public String echo(String value) { return value.toUpperCase(); } } - - public static class SampleMarshaller implements Marshaller{ - public void marshal(Object graph, Result result) throws IOException, - XmlMappingException { + + + public static class SampleMarshaller implements Marshaller { + + public void marshal(Object graph, Result result) throws IOException, XmlMappingException { String payload = null; - if (graph instanceof Message){ + if (graph instanceof Message) { payload = (String) ((Message)graph).getPayload(); - } else { + } + else { payload = (String) graph; } ((StreamResult)result).getOutputStream().write(payload.getBytes()); - } + public boolean supports(Class clazz) { return true; } } - - public static class SampleUnmarshaller implements Unmarshaller{ + + + public static class SampleUnmarshaller implements Unmarshaller { + public boolean supports(Class clazz) { return true; } - public Object unmarshal(Source source) throws IOException, - XmlMappingException { - + + public Object unmarshal(Source source) throws IOException, XmlMappingException { InputStream io = ((StreamSource)source).getInputStream(); byte[] bytes = new byte[io.available()]; io.read(bytes); - return new StringMessage(new String(bytes)); + return new GenericMessage(new String(bytes)); } } + }