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 00:10:03 UTC

[1/4] git commit: Add some additional tests

Repository: qpid-jms
Updated Branches:
  refs/heads/master c9d6407a7 -> 80807b34d


Add some additional tests

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

Branch: refs/heads/master
Commit: 463418876b97b966ac465b0f9c6f0115d30ee342
Parents: c9d6407
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Oct 9 17:07:27 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Oct 9 17:07:27 2014 -0400

----------------------------------------------------------------------
 .../qpid/jms/message/JmsMapMessageTest.java     |  5 ++++
 .../qpid/jms/message/JmsStreamMessageTest.java  | 26 ++++++++++++++++++++
 2 files changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/46341887/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
index 7a19c9e..75e8d46 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMapMessageTest.java
@@ -367,6 +367,11 @@ public class JmsMapMessageTest {
         assertEquals("value not as expected", value, mapMessage.getBoolean(name));
 
         assertGetMapEntryEquals(mapMessage, name, String.valueOf(value), String.class);
+
+        mapMessage.setBoolean(name, !value);
+        assertEquals("value not as expected", !value, mapMessage.getBoolean(name));
+
+        assertGetMapEntryEquals(mapMessage, name, String.valueOf(!value), String.class);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/46341887/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
index 422b63b..d9e4106 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsStreamMessageTest.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.math.BigInteger;
+import java.net.URI;
 import java.util.Arrays;
 
 import javax.jms.JMSException;
@@ -34,7 +35,9 @@ import javax.jms.MessageNotReadableException;
 import javax.jms.MessageNotWriteableException;
 import javax.jms.StreamMessage;
 
+import org.apache.qpid.jms.message.facade.JmsStreamMessageFacade;
 import org.apache.qpid.jms.message.facade.defaults.JmsDefaultMessageFactory;
+import org.apache.qpid.jms.message.facade.defaults.JmsDefaultStreamMessageFacade;
 import org.junit.Test;
 
 public class JmsStreamMessageTest {
@@ -1051,6 +1054,29 @@ public class JmsStreamMessageTest {
         assertGetStreamEntryThrowsMessageFormatException(streamMessage, byte[].class);
     }
 
+    // ========= read failures ========
+
+    @Test(expected=NullPointerException.class)
+    public void testReadBytesWithNullArrayThrowsNPE() throws JMSException {
+        JmsStreamMessage streamMessage = factory.createStreamMessage();
+        streamMessage.reset();
+        streamMessage.readBytes(null);
+    }
+
+    @Test
+    public void testReadObjectGetsInvalidObjectThrowsMFE() throws Exception {
+        JmsStreamMessageFacade facade = new JmsDefaultStreamMessageFacade();
+        JmsStreamMessage streamMessage = new JmsStreamMessage(facade);
+        facade.put(new URI("test://test"));
+        streamMessage.reset();
+
+        try {
+            streamMessage.readObject();
+            fail("Should have thrown an exception");
+        } catch (MessageFormatException mfe) {
+        }
+    }
+
     // ========= utility methods ========
 
     private void assertGetStreamEntryEquals(JmsStreamMessage testMessage, boolean resetStreamAfter, Object expectedValue, Class<?> clazz) throws JMSException {


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


[3/4] git commit: Add extra test cases to fully cover equals.

Posted by ta...@apache.org.
Add extra test cases to fully cover equals.

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

Branch: refs/heads/master
Commit: 1626a3ec29c49f4681cc17e09e28eda994e8235d
Parents: 343a075
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Oct 9 17:29:43 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Oct 9 17:29:43 2014 -0400

----------------------------------------------------------------------
 .../message/JmsInboundMessageDispatchTest.java  | 37 ++++++++++++++++++++
 1 file changed, 37 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1626a3ec/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
index f40f3b2..d80f4f1 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsInboundMessageDispatchTest.java
@@ -32,6 +32,43 @@ import org.junit.Test;
 public class JmsInboundMessageDispatchTest {
 
     @Test
+    public void testEqualsWithNullAndOtherTypes() {
+        JmsInboundMessageDispatch envelope = new JmsInboundMessageDispatch(1);
+        assertFalse(envelope.equals(null));
+        assertFalse(envelope.equals(""));
+    }
+
+    @Test
+    public void testEqualAndHashCodeWithNotInitializedAndInitializedEnvelopes() {
+        JmsSessionId sessionId = new JmsSessionId("con", 1);
+
+        long sequence = 1;
+        JmsInboundMessageDispatch envelope1 = new JmsInboundMessageDispatch(sequence);
+
+        JmsInboundMessageDispatch envelope2 = new JmsInboundMessageDispatch(sequence);
+        JmsConsumerId consumerId2 = new JmsConsumerId(sessionId, 2);
+        envelope2.setConsumerId(consumerId2);
+        envelope2.setMessageId("myMessageId");
+
+        assertFalse("objects should not be equal", envelope1.equals(envelope2));
+        assertFalse("objects should still not be equal", envelope2.equals(envelope1));
+
+        // Not strictly a requirement, but expected in this case
+        assertNotEquals("hashCodes should not be the same", envelope1.hashCode(), envelope2.hashCode());
+
+        envelope2.setMessageId(null);
+        assertFalse("objects should not be equal", envelope1.equals(envelope2));
+        assertFalse("objects should still not be equal", envelope2.equals(envelope1));
+
+        // Not strictly a requirement, but expected in this case
+        assertNotEquals("hashCodes should not be the same", envelope1.hashCode(), envelope2.hashCode());
+
+        envelope2.setConsumerId(null);
+        assertTrue("objects should be equal", envelope1.equals(envelope2));
+        assertTrue("objects should still be equal", envelope2.equals(envelope1));
+    }
+
+    @Test
     public void testEqualAndHashCodeWithSameSequenceOnly() {
         int sequence = 1;
         JmsInboundMessageDispatch envelope1 = new JmsInboundMessageDispatch(sequence);


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


[4/4] git commit: Enforce strings only for setting JMSXUserID and add tests for more of the interceptor methods and scenarios.

Posted by ta...@apache.org.
Enforce strings only for setting JMSXUserID and add tests for more of
the interceptor methods and scenarios.

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

Branch: refs/heads/master
Commit: 80807b34de5d6164b4bbfc1165a8f7f06880849f
Parents: 1626a3e
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Oct 9 18:09:48 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Oct 9 18:09:48 2014 -0400

----------------------------------------------------------------------
 .../message/JmsMessagePropertyIntercepter.java  |  5 +-
 .../JmsMessagePropertyIntercepterTest.java      | 67 +++++++++++++++++++-
 2 files changed, 68 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/80807b34/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
index 617e47a..3a4b940 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java
@@ -418,11 +418,10 @@ public class JmsMessagePropertyIntercepter {
 
             @Override
             public void setProperty(JmsMessageFacade message, Object value) throws JMSException {
-                String rc = (String) TypeConversionSupport.convert(value, String.class);
-                if (rc == null) {
+                if (!(value instanceof String)) {
                     throw new JMSException("Property JMSXUserID cannot be set from a " + value.getClass().getName() + ".");
                 }
-                message.setUserId(rc);
+                message.setUserId((String) value);
             }
 
             @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/80807b34/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
index e67f42d..ee1b7b1 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java
@@ -34,6 +34,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import javax.jms.JMSException;
 import javax.jms.Message;
@@ -46,6 +47,35 @@ import org.mockito.Mockito;
 
 public class JmsMessagePropertyIntercepterTest {
 
+    //---------- Non-Intercepted -------------------------------------------------//
+
+    @Test
+    public void testGetPropertyWithNonInterceptedNameCallsIntoFacade() throws JMSException {
+        JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+        assertNull(JmsMessagePropertyIntercepter.getProperty(message, "SomeRandomPropertyName"));
+        Mockito.verify(message).getProperty(Mockito.anyString());
+    }
+
+    @Test
+    public void testSetPropertyWithNonInterceptedNameCallsIntoFacade() throws JMSException {
+        JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+        JmsMessagePropertyIntercepter.setProperty(message, "SomeRandomPropertyName", "Something");
+        Mockito.doThrow(new JMSException("Expected")).when(message).setProperty(Mockito.anyString(), Mockito.anyString());
+        try {
+            JmsMessagePropertyIntercepter.setProperty(message, "SomeRandomPropertyName", "Something");
+            fail("Should have thrown");
+        } catch (JMSException ex) {
+            assertEquals("Expected", ex.getMessage());
+        }
+    }
+
+    @Test
+    public void testPropertyExistsWithNonInterceptedNameCallsIntoFacade() throws JMSException {
+        JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+        assertFalse(JmsMessagePropertyIntercepter.propertyExists(message, "SomeRandomPropertyName"));
+        Mockito.verify(message).propertyExists(Mockito.anyString());
+    }
+
     //---------- JMSDestination --------------------------------------------------//
 
     @Test
@@ -755,13 +785,24 @@ public class JmsMessagePropertyIntercepterTest {
     }
 
     @Test
-    public void testGetJMSXUserIdWhenNotSet() throws JMSException {
+    public void testGetJMSXUserIdWhenNotSetLooksInMessageProperties() throws JMSException {
         JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
         assertNull(JmsMessagePropertyIntercepter.getProperty(message, JMSX_USERID));
         Mockito.verify(message).getUserId();
     }
 
     @Test
+    public void testGetJMSXUserIdWhenNotSetHandlesMessagePropertyException() throws JMSException {
+        JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+        Mockito.when(message.getProperty("JMSXUserID")).thenThrow(new IllegalArgumentException());
+        try {
+            JmsMessagePropertyIntercepter.getProperty(message, JMSX_USERID);
+            fail("Should have thrown a JMSException");
+        } catch (JMSException ex) {
+        }
+    }
+
+    @Test
     public void testGetJMSXUserIdWhenSet() throws JMSException {
         JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
         Mockito.when(message.getUserId()).thenReturn("Administrator");
@@ -769,6 +810,20 @@ public class JmsMessagePropertyIntercepterTest {
     }
 
     @Test
+    public void testJMSXUserIdPropertExistsWhenSet() throws JMSException {
+        JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+        Mockito.when(message.getUserId()).thenReturn("Administrator");
+        assertTrue(JmsMessagePropertyIntercepter.propertyExists(message, JMSX_USERID));
+    }
+
+    @Test
+    public void testJMSXUserIdPropertExistsWhenNotSet() throws JMSException {
+        JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+        Mockito.when(message.getUserId()).thenReturn(null);
+        assertFalse(JmsMessagePropertyIntercepter.propertyExists(message, JMSX_USERID));
+    }
+
+    @Test
     public void testSetJMSXUserId() throws JMSException {
         JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
         JmsMessagePropertyIntercepter.setProperty(message, JMSX_USERID, "Administrator");
@@ -776,6 +831,16 @@ public class JmsMessagePropertyIntercepterTest {
     }
 
     @Test
+    public void testSetJMSXUserIdConversionChecks() throws JMSException {
+        JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+        try {
+            JmsMessagePropertyIntercepter.setProperty(message, JMSX_USERID, true);
+            fail("Cannot set user ID from int value.");
+        } catch (JMSException e) {
+        }
+    }
+
+    @Test
     public void testJMSXUserIdCountInGetPropertyNamesWhenSet() throws JMSException {
         JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
         Mockito.when(message.getUserId()).thenReturn("Administrator");


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


[2/4] git commit: Remove an unneeded public accessor and just make the calls directly in the AmqpConsumer

Posted by ta...@apache.org.
Remove an unneeded public accessor and just make the calls directly in
the AmqpConsumer 

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

Branch: refs/heads/master
Commit: 343a075f76cbafbb917c374d4ec152f20fe2f203
Parents: 4634188
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Oct 9 17:24:11 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Oct 9 17:24:11 2014 -0400

----------------------------------------------------------------------
 .../org/apache/qpid/jms/message/JmsInboundMessageDispatch.java   | 4 ----
 .../src/main/java/org/apache/qpid/jms/message/JmsMessage.java    | 4 ----
 .../java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java     | 3 ++-
 3 files changed, 2 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/343a075f/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
index c8129ca..bafa945 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsInboundMessageDispatch.java
@@ -49,10 +49,6 @@ public class JmsInboundMessageDispatch extends JmsAbstractResourceId {
         this.consumerId = consumerId;
     }
 
-    public void onMessageRedelivered() {
-        this.message.incrementRedeliveryCount();
-    }
-
     public void setMessageId(Object object) {
         this.messageId = object;
     }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/343a075f/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
index e9838ca..9c1cc0e 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java
@@ -505,10 +505,6 @@ public class JmsMessage implements javax.jms.Message {
         return expireTime > 0 && System.currentTimeMillis() > expireTime;
     }
 
-    public void incrementRedeliveryCount() {
-        facade.setDeliveryCount(facade.getDeliveryCount() + 1);
-    }
-
     public JmsMessageFacade getFacade() {
         return this.facade;
     }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/343a075f/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
index 515449e..0af029b 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConsumer.java
@@ -267,7 +267,8 @@ public class AmqpConsumer extends AbstractAmqpResource<JmsConsumerInfo, Receiver
             // TODO - increment redelivery counter and apply connection redelivery policy
             //        to those messages that are past max redlivery.
             JmsInboundMessageDispatch envelope = (JmsInboundMessageDispatch) delivery.getContext();
-            envelope.onMessageRedelivered();
+            envelope.getMessage().getFacade().setRedeliveryCount(
+                envelope.getMessage().getFacade().getRedeliveryCount() + 1);
             deliver(envelope);
         }
         delivered.clear();


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