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