package org.skyscreamer.nevado.jms.properties; import junit.framework.Assert; import org.junit.Test; import org.skyscreamer.nevado.jms.AbstractJMSTest; import org.skyscreamer.nevado.jms.message.JMSXProperty; import org.skyscreamer.nevado.jms.message.NevadoMessage; import javax.jms.ConnectionMetaData; import javax.jms.JMSException; import java.util.Enumeration; import java.util.HashSet; import java.util.Set; /** * Test for section 3.5.9 of the JMS 1.1 Specification. * * @author Carter Page <carter@skyscreamer.org> */ public class JMSXPropertiesTest extends AbstractJMSTest { @Test public void testSupported() throws JMSException { ConnectionMetaData metaData = getConnection().getMetaData(); Enumeration e = metaData.getJMSXPropertyNames(); Set<String> supportedPropertyNames = new HashSet<String>(); while(e.hasMoreElements()) { supportedPropertyNames.add((String)e.nextElement()); } Assert.assertEquals(3, supportedPropertyNames.size()); Assert.assertTrue(supportedPropertyNames.contains("JMSXGroupID")); Assert.assertTrue(supportedPropertyNames.contains("JMSXGroupSeq")); Assert.assertTrue(supportedPropertyNames.contains("JMSXDeliveryCount")); } @Test public void testSetJMSXProperty() throws JMSException { NevadoMessage msg = (NevadoMessage) createSession().createMessage(); msg.setJMSXProperty(JMSXProperty.JMSXGroupID, "abc"); NevadoMessage msgOut = (NevadoMessage)sendAndReceive(msg); Assert.assertEquals("abc", msgOut.getJMSXProperty(JMSXProperty.JMSXGroupID)); Assert.assertEquals("abc", msgOut.getStringProperty("JMSXGroupID")); } }