Start testing the AmqpJmsMessagePropertIntercepter. Work in progress as the object message type bits are complete.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/44d6e320 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/44d6e320 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/44d6e320 Branch: refs/heads/master Commit: 44d6e320cfe55249e9459551a0ae124cfdf3c2fb Parents: 0546ace Author: Timothy Bish <tabish...@gmail.com> Authored: Thu Sep 25 18:45:13 2014 -0400 Committer: Timothy Bish <tabish...@gmail.com> Committed: Thu Sep 25 18:45:13 2014 -0400 ---------------------------------------------------------------------- .../AmqpJmsMessagePropertyIntercepter.java | 9 +- .../amqp/message/AmqpJmsMessageFacadeTest.java | 1 - .../AmqpJmsMessagePropertyIntercepterTest.java | 152 +++++++++++++++++++ 3 files changed, 158 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java index 7af0a85..c5eb0d9 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java @@ -88,7 +88,10 @@ public class AmqpJmsMessagePropertyIntercepter { PROPERTY_INTERCEPTERS.put(JMS_AMQP_TTL, new PropertyIntercepter() { @Override public Object getProperty(AmqpJmsMessageFacade message) throws JMSException { - return message.getAmqpTimeToLive(); + if (message.hasUserSpecifiedTimeToLive()) { + return message.getAmqpTimeToLive(); + } + return null; } @Override @@ -133,12 +136,12 @@ public class AmqpJmsMessagePropertyIntercepter { return ((AmqpJmsObjectMessageFacade) message).isAmqpTypedEncoding(); } - return false; + return null; } @Override public void setProperty(AmqpJmsMessageFacade message, Object value) throws JMSException { - Integer rc = (Integer) TypeConversionSupport.convert(value, Boolean.class); + Boolean rc = (Boolean) TypeConversionSupport.convert(value, Boolean.class); if (rc == null) { throw new JMSException("Property " + JMS_AMQP_TYPED_ENCODING + " cannot be set from a " + value.getClass().getName() + "."); } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java index a1247a1..c536d90 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java @@ -64,7 +64,6 @@ public class AmqpJmsMessageFacadeTest { return new AmqpJmsMessageFacade(amqpConsumer, message); } - private AmqpConsumer createMockAmqpConsumer() { AmqpConsumer consumer = Mockito.mock(AmqpConsumer.class); Mockito.when(consumer.getConnection()).thenReturn(createMockAmqpConnection()); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java new file mode 100644 index 0000000..1059e7b --- /dev/null +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java @@ -0,0 +1,152 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.qpid.jms.provider.amqp.message; + +import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_REPLY_TO_GROUP_ID; +import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_TTL; +import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_TYPED_ENCODING; +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.assertTrue; + +import javax.jms.JMSException; + +import org.junit.Test; +import org.mockito.Mockito; + +public class AmqpJmsMessagePropertyIntercepterTest { + + //-------- JMS_AMQP_TTL --------------------------------------------------// + + @Test + public void testJmsAmqpTtlInGetAllPropertyNames() throws JMSException { + assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_TTL)); + } + + @Test + public void testGetJmsAmqpTtlWhenNotSet() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL)); + } + + @Test + public void testSetJmsAmqpTtl() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TTL, 65536L); + Mockito.verify(message).setAmqpTimeToLive(65536L); + } + + @Test + public void testGetJmsAmqpTtlWhenSet() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.hasUserSpecifiedTimeToLive()).thenReturn(true); + Mockito.when(message.getAmqpTimeToLive()).thenReturn(65536L); + + assertNotNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL)); + assertEquals(65536L, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL)); + } + + @Test + public void testJmsAmqpTtlNotInPropertyNamesWhenNotSet() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL)); + assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL)); + } + + @Test + public void testJmsAmqpTtlInPropertyNamesWhenSet() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.hasUserSpecifiedTimeToLive()).thenReturn(true); + Mockito.when(message.getAmqpTimeToLive()).thenReturn(65536L); + assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL)); + } + + //-------- JMS_AMQP_REPLY_TO_GROUP_ID ------------------------------------// + + @Test + public void testJmsAmqpReplyToGroupIdInGetAllPropertyNames() throws JMSException { + assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_REPLY_TO_GROUP_ID)); + } + + @Test + public void testSetJmsAmqpReplyToGroupId() throws JMSException { + String testValue = "ReplyToGroupId"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID, testValue); + Mockito.verify(message).setReplyToGroupId(testValue); + } + + @Test + public void testGetJmsAmqpReplyToGroupIdWhenNotSet() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID)); + } + + @Test + public void testGetJmsAmqpReplyToGroupIdWhenSet() throws JMSException { + String testValue = "ReplyToGroupId"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToGroupId()).thenReturn(testValue); + assertNotNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID)); + assertEquals(testValue, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID)); + } + + @Test + public void testJmsJmsAmqpReplyToGroupIdNotInPropertyNamesWhenNotSet() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID)); + assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID)); + } + + @Test + public void testJmsAmqpReplyToGroupIdInPropertyNamesWhenSet() throws JMSException { + String testValue = "ReplyToGroupId"; + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + Mockito.when(message.getReplyToGroupId()).thenReturn(testValue); + assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID)); + } + + //-------- JMS_AMQP_TYPED_ENCODING ---------------------------------------// + + @Test + public void testJmsAmqpTypedEncodingInGetAllPropertyNames() throws JMSException { + assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_TYPED_ENCODING)); + } + + @Test + public void testSetJmsAmqpTypedEncoding() throws JMSException { + AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class); + AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TYPED_ENCODING, true); + // TODO + } + + @Test + public void testGetJmsAmqpTypedEncodingWithNonObjectMessage() throws JMSException { + AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class); + assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING)); + } + + @Test + public void testGetJmsAmqpTypedEncodingWhenUsingSerializatio() throws JMSException { + AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class); + Mockito.when(message.isAmqpTypedEncoding()).thenReturn(false); + assertEquals(false, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING)); + } + +} --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org