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

Reply via email to