You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2014/10/10 23:25:30 UTC

[4/4] git commit: Cover text message code with tests for isEmpty

Cover text message code with tests for isEmpty

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/df82aeac
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/df82aeac
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/df82aeac

Branch: refs/heads/master
Commit: df82aeac53def5726ebeaa7d83b07e88ebb19ec7
Parents: a52e142
Author: Timothy Bish <ta...@gmail.com>
Authored: Fri Oct 10 17:22:39 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Fri Oct 10 17:22:39 2014 -0400

----------------------------------------------------------------------
 .../amqp/message/AmqpJmsTextMessageFacade.java  |  2 +
 .../message/AmqpJmsTextMessageFacadeTest.java   | 69 ++++++++++++++++++--
 2 files changed, 67 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/df82aeac/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
index e1da812..6a4850e 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
@@ -160,6 +160,8 @@ public class AmqpJmsTextMessageFacade extends AmqpJmsMessageFacade implements Jm
             if (data.getValue() == null || data.getValue().getLength() == 0) {
                 return true;
             }
+        } else {
+            return true;  // This should never happen but report empty in case
         }
 
         return false;

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/df82aeac/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
index d7cecca..e4169eb 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacadeTest.java
@@ -80,6 +80,71 @@ public class AmqpJmsTextMessageFacadeTest extends AmqpJmsMessageTypesTestCase {
     }
 
     @Test
+    public void testMessageWithNullBodyRetportsIsEmpty() throws Exception {
+        AmqpJmsTextMessageFacade amqpTextMessageFacade = createNewTextMessageFacade();
+        amqpTextMessageFacade.getAmqpMessage().setBody(null);
+        assertTrue(amqpTextMessageFacade.isEmpty());
+    }
+
+    @Test
+    public void testIsEmptyUsingReceivedMessageWithZeroLengthDataSection() throws Exception {
+        org.apache.qpid.proton.codec.Data payloadData = new DataImpl();
+        payloadData.putDescribedType(new DataDescribedType(new Binary(new byte[0])));
+        Binary b = payloadData.encode();
+
+        Message message = Message.Factory.create();
+        int decoded = message.decode(b.getArray(), b.getArrayOffset(), b.getLength());
+        assertEquals(decoded, b.getLength());
+        AmqpJmsTextMessageFacade amqpTextMessageFacade = createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+
+        assertTrue(amqpTextMessageFacade.isEmpty());
+    }
+
+    @Test
+    public void testMessageWithEmptyDataRetportsIsEmpty() throws Exception {
+        Message message = Message.Factory.create();
+        message.setBody(new Data(null));
+
+        // This shouldn't happen with actual received messages, since Data sections can't really
+        // have a null value in them, they would have an empty byte array, but just in case...
+        AmqpJmsTextMessageFacade amqpTextMessageFacade = createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+
+        assertTrue(amqpTextMessageFacade.isEmpty());
+    }
+
+    @Test
+    public void testMessageWithEmptyDataBinaryRetportsIsEmpty() throws Exception {
+        Message message = Message.Factory.create();
+        message.setBody(new Data(new Binary(new byte[0])));
+        AmqpJmsTextMessageFacade amqpTextMessageFacade = createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+        assertTrue(amqpTextMessageFacade.isEmpty());
+    }
+
+    @Test
+    public void testMessageWithNonEmptyDataBinaryRetportsIsEmpty() throws Exception {
+        Message message = Message.Factory.create();
+        message.setBody(new Data(new Binary(new byte[1])));
+        AmqpJmsTextMessageFacade amqpTextMessageFacade = createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+        assertFalse(amqpTextMessageFacade.isEmpty());
+    }
+
+    @Test
+    public void testMessageWithEmptyAmqpValueStringRetportsIsEmpty() throws Exception {
+        Message message = Message.Factory.create();
+        message.setBody(new AmqpValue(""));
+        AmqpJmsTextMessageFacade amqpTextMessageFacade = createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+        assertTrue(amqpTextMessageFacade.isEmpty());
+    }
+
+    @Test
+    public void testMessageWithUnexpectedContentsReturnsEmpty() throws Exception {
+        Message message = Message.Factory.create();
+        message.setBody(new AmqpSequence(null));
+        AmqpJmsTextMessageFacade amqpTextMessageFacade = createReceivedTextMessageFacade(createMockAmqpConsumer(), message);
+        assertTrue(amqpTextMessageFacade.isEmpty());
+    }
+
+    @Test
     public void testNewMessageToSendReturnsNullText() throws Exception {
         AmqpJmsTextMessageFacade amqpTextMessageFacade = createNewTextMessageFacade();
         amqpTextMessageFacade.clearBody();
@@ -186,8 +251,6 @@ public class AmqpJmsTextMessageFacadeTest extends AmqpJmsMessageTypesTestCase {
         payloadData.putDescribedType(new DataDescribedType(new Binary(new byte[0])));
         Binary b = payloadData.encode();
 
-        System.out.println("Using encoded AMQP message payload: " + b);
-
         Message message = Message.Factory.create();
         int decoded = message.decode(b.getArray(), b.getArrayOffset(), b.getLength());
         assertEquals(decoded, b.getLength());
@@ -205,8 +268,6 @@ public class AmqpJmsTextMessageFacadeTest extends AmqpJmsMessageTypesTestCase {
         payloadData.putDescribedType(new DataDescribedType(new Binary(encodedBytes)));
         Binary b = payloadData.encode();
 
-        System.out.println("Using encoded AMQP message payload: " + b);
-
         Message message = Message.Factory.create();
         int decoded = message.decode(b.getArray(), b.getArrayOffset(), b.getLength());
         assertEquals(decoded, b.getLength());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org