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