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/13 20:16:54 UTC
[1/2] git commit: Finish work on refactoring the Amqp message
property intercepter and updated tests to mock out the needed bits.
Repository: qpid-jms
Updated Branches:
refs/heads/master 94febc97f -> f2900222e
Finish work on refactoring the Amqp message property intercepter and
updated tests to mock out the needed bits.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/cee0c341
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/cee0c341
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/cee0c341
Branch: refs/heads/master
Commit: cee0c3419666dfa69bb265eb175609db9c80d450
Parents: 94febc9
Author: Timothy Bish <ta...@gmail.com>
Authored: Mon Oct 13 13:47:03 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Mon Oct 13 13:47:03 2014 -0400
----------------------------------------------------------------------
.../jms/message/facade/JmsMessageFacade.java | 2 +-
.../amqp/message/AmqpJmsMessageFacade.java | 48 ++++++-----
.../AmqpJmsMessagePropertyIntercepter.java | 7 +-
.../amqp/message/AmqpJmsMessageFacadeTest.java | 2 +-
.../AmqpJmsMessagePropertyIntercepterTest.java | 89 +++++++++++++-------
5 files changed, 93 insertions(+), 55 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cee0c341/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
index 20b912c..78130fb 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java
@@ -123,7 +123,7 @@ public interface JmsMessageFacade {
*
* @throws JMSException if an error occurs while accessing the message properties.
*/
- void clearProperties();
+ void clearProperties() throws JMSException;
/**
* Create a new instance and perform a deep copy of this object's
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cee0c341/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
index ed4e0ae..c34ab87 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
@@ -169,11 +169,15 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
*/
@Override
public Set<String> getPropertyNames() {
- Set<String> properties = AmqpJmsMessagePropertyIntercepter.getPropertyNames(this);
+ return AmqpJmsMessagePropertyIntercepter.getPropertyNames(this);
+ }
+
+ public Set<String> getApplicationPropertyNames(Set<String> propertyNames) {
if (applicationPropertiesMap != null) {
- properties.addAll(applicationPropertiesMap.keySet());
+ propertyNames.addAll(applicationPropertiesMap.keySet());
}
- return properties;
+
+ return propertyNames;
}
@Override
@@ -247,9 +251,8 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
}
@Override
- public void clearProperties() {
- clearAllApplicationProperties();
- //TODO: should we clear some/all of those intercepted by AmqpJmsMessagePropertyIntercepter?
+ public void clearProperties() throws JMSException {
+ AmqpJmsMessagePropertyIntercepter.clearProperties(this);
}
@Override
@@ -616,14 +619,20 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
* based on the expiration value when sending the underlying AMQP message. A value of 0
* means to clear the ttl field rather than set it to anything.
*
- * @param ttl the value to use, in range 0 <= x <= 2^32 - 1
+ * @param ttl
+ * the value to use, in range 0 <= x <= 2^32 - 1
+ *
* @throws MessageFormatException
*/
- public void setAmqpTimeToLiveOverride(long ttl) throws MessageFormatException {
- if (ttl >= 0 && ttl <= UINT_MAX) {
- userSpecifiedTTL = ttl;
+ public void setAmqpTimeToLiveOverride(Long ttl) throws MessageFormatException {
+ if (ttl != null) {
+ if (ttl >= 0 && ttl <= UINT_MAX) {
+ userSpecifiedTTL = ttl;
+ } else {
+ throw new MessageFormatException(JMS_AMQP_TTL + " must be a long with value in range 0 to 2^32 - 1");
+ }
} else {
- throw new MessageFormatException(JMS_AMQP_TTL + " must be a long with value in range 0 to 2^32 - 1");
+ userSpecifiedTTL = null;
}
}
@@ -733,16 +742,13 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
@Override
public void setGroupSequence(int groupSequence) {
// This wraps it into the upper uint range if a negative was provided
-
- // TODO Can a zero value clear the property? Or do we really need specific
- // clear methods?
- // if (groupSequence == 0) {
- // if (message.getProperties() != null) {
- // message.getProperties().setGroupSequence(null);
- // }
- // }
-
- message.setGroupSequence(groupSequence);
+ if (groupSequence == 0) {
+ if (message.getProperties() != null) {
+ message.getProperties().setGroupSequence(null);
+ }
+ } else {
+ message.setGroupSequence(groupSequence);
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cee0c341/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 8b354c1..df87a76 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
@@ -122,7 +122,7 @@ public class AmqpJmsMessagePropertyIntercepter {
@Override
public void clearProperty(AmqpJmsMessageFacade message) throws JMSException {
- message.setAmqpTimeToLiveOverride(0);
+ message.setAmqpTimeToLiveOverride(null);
}
});
PROPERTY_INTERCEPTERS.put(JMS_AMQP_REPLY_TO_GROUP_ID, new PropertyIntercepter() {
@@ -288,7 +288,8 @@ public class AmqpJmsMessagePropertyIntercepter {
names.add(entry.getKey());
}
}
- return names;
+
+ return message.getApplicationPropertyNames(names);
}
/**
@@ -304,5 +305,7 @@ public class AmqpJmsMessagePropertyIntercepter {
for (Entry<String, PropertyIntercepter> entry : PROPERTY_INTERCEPTERS.entrySet()) {
entry.getValue().clearProperty(message);
}
+
+ message.clearAllApplicationProperties();
}
}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cee0c341/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 363ebba..016ad86 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
@@ -193,7 +193,7 @@ public class AmqpJmsMessageFacadeTest extends AmqpJmsMessageTypesTestCase {
int producerTtl = 10;
AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);
- amqpMessageFacade.setAmqpTimeToLiveOverride(overrideTtl);
+ amqpMessageFacade.setAmqpTimeToLiveOverride((long) overrideTtl);
amqpMessageFacade.onSend(false, false, producerTtl);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cee0c341/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
index ee7bcde..3a69ce9 100644
--- 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
@@ -26,11 +26,15 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import java.util.Set;
+
import javax.jms.JMSException;
import javax.jms.MessageFormatException;
import org.junit.Test;
import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
public class AmqpJmsMessagePropertyIntercepterTest {
@@ -43,14 +47,14 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testGetPropertyWithNonInterceptedNameCallsIntoFacade() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, "SomeRandomPropertyName"));
Mockito.verify(message).getApplicationProperty(Mockito.anyString());
}
@Test
public void testSetPropertyWithNonInterceptedNameCallsIntoFacade() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
AmqpJmsMessagePropertyIntercepter.setProperty(message, "SomeRandomPropertyName", "Something");
Mockito.doThrow(new JMSException("Expected")).when(message).setApplicationProperty(Mockito.anyString(), Mockito.anyString());
try {
@@ -63,7 +67,7 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testPropertyExistsWithNonInterceptedNameCallsIntoFacade() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
assertFalse(AmqpJmsMessagePropertyIntercepter.propertyExists(message, "SomeRandomPropertyName"));
Mockito.verify(message).applicationPropertyExists(Mockito.anyString());
}
@@ -77,20 +81,20 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testGetJmsAmqpTtlWhenNotSet() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
}
@Test
public void testSetJmsAmqpTtl() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TTL, 65536L);
Mockito.verify(message).setAmqpTimeToLiveOverride(65536L);
}
@Test
public void testGetJmsAmqpTtlWhenSet() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
Mockito.when(message.hasAmqpTimeToLiveOverride()).thenReturn(true);
Mockito.when(message.getAmqpTimeToLiveOverride()).thenReturn(65536L);
@@ -100,22 +104,23 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testJmsAmqpTtlNotInPropertyNamesWhenNotSet() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
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);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
Mockito.when(message.hasAmqpTimeToLiveOverride()).thenReturn(true);
Mockito.when(message.getAmqpTimeToLiveOverride()).thenReturn(65536L);
+ Mockito.when(message.getApplicationPropertyNames(Mockito.anySetOf(String.class))).then(new PassPropertyNames());
assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL));
}
@Test
public void testJmsAmqpTtlIPropertExistsWhenSet() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
Mockito.when(message.hasAmqpTimeToLiveOverride()).thenReturn(true);
Mockito.when(message.getAmqpTimeToLiveOverride()).thenReturn(65536L);
assertTrue(AmqpJmsMessagePropertyIntercepter.propertyExists(message, JMS_AMQP_TTL));
@@ -123,13 +128,13 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testJmsAmqpTtlPropertExistsWhenNotSet() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
assertFalse(AmqpJmsMessagePropertyIntercepter.propertyExists(message, JMS_AMQP_TTL));
}
@Test
public void testSetJmsAmqpTtlConversionChecks() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
try {
AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TTL, new byte[1]);
fail("Should have thrown an exception for this call");
@@ -147,21 +152,21 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testSetJmsAmqpReplyToGroupId() throws JMSException {
String testValue = "ReplyToGroupId";
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
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);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
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);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
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));
@@ -169,7 +174,7 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testJmsJmsAmqpReplyToGroupIdNotInPropertyNamesWhenNotSet() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID));
}
@@ -177,7 +182,8 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testJmsAmqpReplyToGroupIdInPropertyNamesWhenSet() throws JMSException {
String testValue = "ReplyToGroupId";
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
+ Mockito.when(message.getApplicationPropertyNames(Mockito.anySetOf(String.class))).then(new PassPropertyNames());
Mockito.when(message.getReplyToGroupId()).thenReturn(testValue);
assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID));
}
@@ -185,14 +191,14 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testJmsAmqpReplyToGroupIdPropertExistsWhenSet() throws JMSException {
String testValue = "ReplyToGroupId";
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
Mockito.when(message.getReplyToGroupId()).thenReturn(testValue);
assertTrue(AmqpJmsMessagePropertyIntercepter.propertyExists(message, JMS_AMQP_REPLY_TO_GROUP_ID));
}
@Test
public void testJmsAmqpReplyToGroupIdPropertExistsWhenNotSet() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
Mockito.when(message.getReplyToGroupId()).thenReturn(null);
assertFalse(AmqpJmsMessagePropertyIntercepter.propertyExists(message, JMS_AMQP_REPLY_TO_GROUP_ID));
Mockito.when(message.getReplyToGroupId()).thenReturn("");
@@ -201,7 +207,7 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testSetJmsAmqpReplyToGroupIdConversionChecks() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
try {
AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID, new byte[1]);
fail("Should have thrown an exception for this call");
@@ -218,14 +224,14 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testSetJmsAmqpTypedEncoding() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TYPED_ENCODING, true);
Mockito.verify(message).setUseAmqpTypedEncoding(true);
}
@Test
public void testSetJmsAmqpTypedEncodingOnNonObjectMessage() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
try {
AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TYPED_ENCODING, true);
fail("Should have thrown an exception");
@@ -235,65 +241,88 @@ public class AmqpJmsMessagePropertyIntercepterTest {
@Test
public void testGetJmsAmqpTypedEncodingWithNonObjectMessage() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testGetJmsAmqpTypedEncodingWhenUsingSerializatio() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
Mockito.when(message.isAmqpTypedEncoding()).thenReturn(false);
assertEquals(false, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testGetJmsAmqpTypedEncodingWhenUsingAmqpTypes() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
Mockito.when(message.isAmqpTypedEncoding()).thenReturn(true);
assertEquals(true, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testJmsAmqpTypedEncodingNotInPropertyNamesWhenNotSet() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
Mockito.when(message.isAmqpTypedEncoding()).thenReturn(false);
assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testJmsAmqpTypedEncodingInPropertyNamesWhenSet() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
Mockito.when(message.isAmqpTypedEncoding()).thenReturn(true);
assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testJmsAmqpTypedEncodingPropertExistsWhenSet() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
Mockito.when(message.isAmqpTypedEncoding()).thenReturn(true);
assertTrue(AmqpJmsMessagePropertyIntercepter.propertyExists(message, JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testJmsAmqpTypedEncodingdPropertExistsWhenNotSet() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
Mockito.when(message.isAmqpTypedEncoding()).thenReturn(false);
assertFalse(AmqpJmsMessagePropertyIntercepter.propertyExists(message, JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testJmsAmqpTypedEncodingdPropertExistsWhenNotAnObjectMessage() throws JMSException {
- AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ AmqpJmsMessageFacade message = createAmqpMessageFacade();
assertFalse(AmqpJmsMessagePropertyIntercepter.propertyExists(message, JMS_AMQP_TYPED_ENCODING));
}
@Test
public void testSetJmsAmqpTypedEncodingConversionChecks() throws JMSException {
- AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ AmqpJmsObjectMessageFacade message = createAmqpObjectMessageFacade();
try {
AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TYPED_ENCODING, new byte[1]);
fail("Should have thrown an exception for this call");
} catch (JMSException e) {
}
}
+
+ //--------- Utilities ----------------------------------------------------//
+
+ private AmqpJmsMessageFacade createAmqpMessageFacade() {
+ AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+ Mockito.when(message.getApplicationPropertyNames(Mockito.anySetOf(String.class))).then(new PassPropertyNames());
+ return message;
+ }
+
+ private AmqpJmsObjectMessageFacade createAmqpObjectMessageFacade() {
+ AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+ Mockito.when(message.getApplicationPropertyNames(Mockito.anySetOf(String.class))).then(new PassPropertyNames());
+ return message;
+ }
+
+ private class PassPropertyNames implements Answer<Set<String>> {
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Set<String> answer(InvocationOnMock invocation) throws Throwable {
+ return (Set<String>) invocation.getArguments()[0];
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/2] git commit: Add tests for new clear calls.
Posted by ta...@apache.org.
Add tests for new clear calls.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/f2900222
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/f2900222
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/f2900222
Branch: refs/heads/master
Commit: f2900222ef4764c4809e7e912cbcebe84b89f09e
Parents: cee0c34
Author: Timothy Bish <ta...@gmail.com>
Authored: Mon Oct 13 14:16:40 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Mon Oct 13 14:16:40 2014 -0400
----------------------------------------------------------------------
.../JmsMessagePropertyIntercepterTest.java | 132 +++++++++++++++++++
1 file changed, 132 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/f2900222/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 c786622..4a54d06 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
@@ -164,6 +164,16 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSDestinationClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ Mockito.when(message.getDestination()).thenReturn(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setDestination(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setDestination(null);
+ }
+
//---------- JMSReplyTo --------------------------------------------------//
@Test
@@ -247,6 +257,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSRepltyToClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setReplyTo(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setReplyTo(null);
+ }
+
//---------- JMSType -----------------------------------------------------//
@Test
@@ -326,6 +345,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSTypeClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setType(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setType(null);
+ }
+
//---------- JMSDeliveryMode ---------------------------------------------//
@Test
@@ -426,6 +454,20 @@ public class JmsMessagePropertyIntercepterTest {
fail("Should have thrown an exception for this call");
} catch (NumberFormatException e) {
}
+ try {
+ JmsMessagePropertyIntercepter.setProperty(message, JMS_DELIVERY_MODE, null);
+ fail("Should have thrown an exception for this call");
+ } catch (NumberFormatException e) {
+ }
+ }
+
+ @Test
+ public void testJMSDeliveryModeClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setPersistent(true);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setPersistent(true);
}
//---------- JMSPriority ---------------------------------------------//
@@ -503,6 +545,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSPriorityClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setPriority(4);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setPriority(4);
+ }
+
//---------- JMSMessageID ---------------------------------------------//
@Test
@@ -582,6 +633,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSMessageIDClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setMessageId(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setMessageId(null);
+ }
+
//---------- JMSTimestamp ---------------------------------------------//
@Test
@@ -662,6 +722,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSTimeStampClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setTimestamp(0);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setTimestamp(0);
+ }
+
//---------- JMSCorrelationID ---------------------------------------------//
@Test
@@ -741,6 +810,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSCorrelationIDClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setCorrelationId(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setCorrelationId(null);
+ }
+
//---------- JMSExpiration ---------------------------------------------//
@Test
@@ -821,6 +899,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSExpirationClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setExpiration(0);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setExpiration(0);
+ }
+
//---------- JMSRedelivered ---------------------------------------------//
@Test
@@ -910,6 +997,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSRedeliveredClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message, Mockito.never()).setRedelivered(false);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message).setRedelivered(false);
+ }
+
//---------- JMSXGroupID ---------------------------------------------//
@Test
@@ -978,6 +1074,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSXGroupIDClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message).setGroupId(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message, Mockito.times(2)).setGroupId(null);
+ }
+
//---------- JMSXGroupSeq ---------------------------------------------//
@Test
@@ -1046,6 +1151,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSXGroupSeqClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message).setGroupSequence(0);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message, Mockito.times(2)).setGroupSequence(0);
+ }
+
//---------- JMSXDeliveryCount ---------------------------------------------//
@Test
@@ -1114,6 +1228,15 @@ public class JmsMessagePropertyIntercepterTest {
}
}
+ @Test
+ public void testJMSXDeliveryCountClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message).setDeliveryCount(1);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message, Mockito.times(2)).setDeliveryCount(1);
+ }
+
//---------- JMSXUserID ---------------------------------------------//
@Test
@@ -1192,4 +1315,13 @@ public class JmsMessagePropertyIntercepterTest {
} catch (JMSException e) {
}
}
+
+ @Test
+ public void testJMSXUserIDClearedWhenRequested() throws JMSException {
+ JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class);
+ JmsMessagePropertyIntercepter.clearProperties(message, true);
+ Mockito.verify(message).setUserId(null);
+ JmsMessagePropertyIntercepter.clearProperties(message, false);
+ Mockito.verify(message, Mockito.times(2)).setUserId(null);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org