Repository: qpid-jms Updated Branches: refs/heads/master 2943002c3 -> 07ccbfebf
Adding in more tests for the destination helper Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/07ccbfeb Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/07ccbfeb Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/07ccbfeb Branch: refs/heads/master Commit: 07ccbfebfc12677acc39f65c903faa45de8da6fb Parents: 2943002 Author: Timothy Bish <[email protected]> Authored: Wed Sep 24 18:46:37 2014 -0400 Committer: Timothy Bish <[email protected]> Committed: Wed Sep 24 18:46:37 2014 -0400 ---------------------------------------------------------------------- .../amqp/message/AmqpDestinationHelperTest.java | 154 ++++++++++++++++++- 1 file changed, 153 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/07ccbfeb/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java index d03765e..373298c 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java @@ -19,8 +19,21 @@ package org.apache.qpid.jms.provider.amqp.message; import static org.apache.qpid.jms.provider.amqp.message.AmqpDestinationHelper.QUEUE_ATTRIBUTES_STRING; import static org.apache.qpid.jms.provider.amqp.message.AmqpDestinationHelper.REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME; import static org.apache.qpid.jms.provider.amqp.message.AmqpDestinationHelper.TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import java.util.HashSet; +import java.util.Set; + +import org.apache.qpid.jms.JmsDestination; +import org.apache.qpid.jms.JmsQueue; +import org.apache.qpid.jms.JmsTemporaryQueue; +import org.apache.qpid.jms.JmsTemporaryTopic; +import org.apache.qpid.jms.JmsTopic; import org.junit.Test; import org.mockito.Mockito; @@ -28,6 +41,8 @@ public class AmqpDestinationHelperTest { private final AmqpDestinationHelper helper = AmqpDestinationHelper.INSTANCE; + //--------------- Test getJmsDestination method --------------------------// + @Test public void testGetJmsDestinationWithNullAddressAndNullConsumerDestReturnsNull() throws Exception { AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); @@ -39,12 +54,149 @@ public class AmqpDestinationHelperTest { } @Test - public void testGetJmsReplyToWithNullAddressAndNullConsumerDestReturnsNull() throws Exception { + public void testGetJmsDestinationWithNullAddressWithConsumerDestReturnsSameConsumerDestObject() throws Exception { AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); Mockito.when(message.getToAddress()).thenReturn(null); Mockito.when(message.getAnnotation( + TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(QUEUE_ATTRIBUTES_STRING); + JmsQueue consumerDestination = new JmsQueue("ConsumerDestination"); + + assertSame(consumerDestination, helper.getJmsDestination(message, consumerDestination)); + } + + @Test + public void testGetJmsDestinationWithoutTypeAnnotationWithQueueConsumerDest() throws Exception { + String testAddress = "testAddress"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getToAddress()).thenReturn(testAddress); + Mockito.when(message.getAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(null); + JmsQueue consumerDestination = new JmsQueue("ConsumerDestination"); + + JmsDestination destination = helper.getJmsDestination(message, consumerDestination); + assertNotNull(destination); + assertTrue(destination.isQueue()); + assertFalse(destination.isTemporary()); + assertEquals(testAddress, destination.getName()); + } + + //--------------- Test getJmsReplyTo method ------------------------------// + + @Test + public void testGetJmsReplyToWithNullAddressAndNullConsumerDestReturnsNull() throws Exception { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToAddress()).thenReturn(null); + Mockito.when(message.getAnnotation( REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(QUEUE_ATTRIBUTES_STRING); assertNull(helper.getJmsDestination(message, null)); } + + @Test + public void testGetJmsReplyToWithNullAddressWithConsumerDestReturnsNull() throws Exception { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToAddress()).thenReturn(null); + Mockito.when(message.getAnnotation( + REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(QUEUE_ATTRIBUTES_STRING); + JmsQueue consumerDestination = new JmsQueue("ConsumerDestination"); + + assertNull(helper.getJmsReplyTo(message, consumerDestination)); + } + + @Test + public void testGetJmsReplyToWithoutTypeAnnotationWithQueueConsumerDest() throws Exception { + String testAddress = "testAddress"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToAddress()).thenReturn(testAddress); + Mockito.when(message.getAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(null); + JmsQueue consumerDestination = new JmsQueue("ConsumerDestination"); + + JmsDestination destination = helper.getJmsReplyTo(message, consumerDestination); + assertNotNull(destination); + assertTrue(destination.isQueue()); + assertFalse(destination.isTemporary()); + assertEquals(testAddress, destination.getName()); + } + + @Test + public void testGetJmsReplyToWithoutTypeAnnotationWithTopicConsumerDest() throws Exception { + String testAddress = "testAddress"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToAddress()).thenReturn(testAddress); + Mockito.when(message.getAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(null); + JmsTopic consumerDestination = new JmsTopic("ConsumerDestination"); + + JmsDestination destination = helper.getJmsReplyTo(message, consumerDestination); + assertNotNull(destination); + assertTrue(destination.isTopic()); + assertFalse(destination.isTemporary()); + assertEquals(testAddress, destination.getName()); + } + + @Test + public void testGetJmsReplyToWithoutTypeAnnotationWithTempQueueConsumerDest() throws Exception { + String testAddress = "testAddress"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToAddress()).thenReturn(testAddress); + Mockito.when(message.getAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(null); + JmsTemporaryQueue consumerDestination = new JmsTemporaryQueue("ConsumerDestination"); + + JmsDestination destination = helper.getJmsReplyTo(message, consumerDestination); + assertNotNull(destination); + assertTrue(destination.isQueue()); + assertTrue(destination.isTemporary()); + assertEquals(testAddress, destination.getName()); + } + + @Test + public void testGetJmsReplyToWithoutTypeAnnotationWithTempTopicConsumerDest() throws Exception { + String testAddress = "testAddress"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToAddress()).thenReturn(testAddress); + Mockito.when(message.getAnnotation(REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME)).thenReturn(null); + JmsTemporaryTopic consumerDestination = new JmsTemporaryTopic("ConsumerDestination"); + + JmsDestination destination = helper.getJmsReplyTo(message, consumerDestination); + assertNotNull(destination); + assertTrue(destination.isTopic()); + assertTrue(destination.isTemporary()); + assertEquals(testAddress, destination.getName()); + } + + //--------------- Test setToAddress method -------------------------------// + + //--------------- Test setReplyToAddress method --------------------------// + + //--------------- Test Support Methods -----------------------------------// + + @Test + public void testSplitAttributeWithExtranerousCommas() throws Exception { + + Set<String> set = new HashSet<String>(); + set.add(AmqpDestinationHelper.QUEUE_ATTRIBUTE); + set.add(AmqpDestinationHelper.TEMPORARY_ATTRIBUTE); + + // test a single comma separator produces expected set + assertEquals(set, helper.splitAttributes(AmqpDestinationHelper.QUEUE_ATTRIBUTES_STRING + "," + + AmqpDestinationHelper.TEMPORARY_ATTRIBUTE)); + + // test trailing comma doesn't alter produced set + assertEquals(set, helper.splitAttributes(AmqpDestinationHelper.QUEUE_ATTRIBUTES_STRING + "," + + AmqpDestinationHelper.TEMPORARY_ATTRIBUTE + ",")); + + // test leading comma doesn't alter produced set + assertEquals(set, helper.splitAttributes("," + AmqpDestinationHelper.QUEUE_ATTRIBUTES_STRING + "," + + AmqpDestinationHelper.TEMPORARY_ATTRIBUTE)); + + // test consecutive central commas don't alter produced set + assertEquals(set, helper.splitAttributes(AmqpDestinationHelper.QUEUE_ATTRIBUTES_STRING + ",," + + AmqpDestinationHelper.TEMPORARY_ATTRIBUTE)); + + // test consecutive trailing commas don't alter produced set + assertEquals(set, helper.splitAttributes(AmqpDestinationHelper.QUEUE_ATTRIBUTES_STRING + "," + + AmqpDestinationHelper.TEMPORARY_ATTRIBUTE + ",,")); + + // test consecutive leading commas don't alter produced set + assertEquals(set, helper.splitAttributes("," + AmqpDestinationHelper.QUEUE_ATTRIBUTES_STRING + "," + + AmqpDestinationHelper.TEMPORARY_ATTRIBUTE)); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
