summaryrefslogtreecommitdiff
path: root/qpid/java/client/src/test
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2013-05-09 14:19:18 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2013-05-09 14:19:18 +0000
commit438323043a46489c85d849a0ac0f47e8bf2efb60 (patch)
treee187fd9c08c02af66cc302a2fab8aa8571a7678a /qpid/java/client/src/test
parent33112e20aee3941ad36e3e2350e80ad78f9ba6d2 (diff)
downloadqpid-python-438323043a46489c85d849a0ac0f47e8bf2efb60.tar.gz
QPID-3838 If stric-jms flag is used qpid.subject is prefixed with "JMS_"
to ensure we are in compliance with the JMS spec. Without this fix we fail the JEE TCK. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1480656 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client/src/test')
-rw-r--r--qpid/java/client/src/test/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10Test.java39
1 files changed, 36 insertions, 3 deletions
diff --git a/qpid/java/client/src/test/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10Test.java b/qpid/java/client/src/test/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10Test.java
index 8c66a75764..5fff6b6b35 100644
--- a/qpid/java/client/src/test/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10Test.java
+++ b/qpid/java/client/src/test/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10Test.java
@@ -20,16 +20,18 @@
*/
package org.apache.qpid.client.message;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.jms.Destination;
+import org.apache.qpid.client.AMQDestination;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.transport.DeliveryProperties;
import org.apache.qpid.transport.MessageProperties;
import org.apache.qpid.transport.ReplyTo;
-import java.util.HashMap;
-import java.util.Map;
-
public class AMQMessageDelegate_0_10Test extends QpidTestCase
{
@@ -105,4 +107,35 @@ public class AMQMessageDelegate_0_10Test extends QpidTestCase
assertEquals("Min short value not retrieved successfully", Short.MIN_VALUE, delegate.getShortProperty(MIN_SHORT));
}
+ // See QPID_3838
+ public void testJMSComplainceForQpidProviderProperties() throws Exception
+ {
+ MessageProperties msgProps = new MessageProperties();
+ Map<String, Object> appHeaders = new HashMap<String, Object>();
+ appHeaders.put(QpidMessageProperties.QPID_SUBJECT, "Hello");
+ msgProps.setApplicationHeaders(appHeaders);
+
+ System.setProperty("strict-jms", "true");
+ try
+ {
+ AMQMessageDelegate_0_10 delegate = new AMQMessageDelegate_0_10(AMQDestination.DestSyntax.ADDR,msgProps,new DeliveryProperties(),1L);
+
+ boolean propFound = false;
+ for (Enumeration props = delegate.getPropertyNames(); props.hasMoreElements();)
+ {
+ String key = (String)props.nextElement();
+ System.out.println("PropName : " + key);
+ if (key.equals("JMS_" + QpidMessageProperties.QPID_SUBJECT))
+ {
+ propFound = true;
+ }
+ }
+ assertTrue("qpid.subject was not prefixed with 'JMS_' as expected",propFound);
+ assertEquals("qpid.subject should still return the correct value","Hello",delegate.getStringProperty(QpidMessageProperties.QPID_SUBJECT));
+ }
+ finally
+ {
+ System.setProperty("strict-jms", "false");
+ }
+ }
}