diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2010-01-27 23:44:44 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2010-01-27 23:44:44 +0000 |
| commit | 0694a2fef88073eba1614d4f4b018bf9ca56f958 (patch) | |
| tree | ec20540fc0828bb11d6a0a83932da6a170bdfeb5 /java/systests/src | |
| parent | 3fbcf5545919883c00e6d3c284ce5f16b1d7e79b (diff) | |
| download | qpid-python-0694a2fef88073eba1614d4f4b018bf9ca56f958.tar.gz | |
This is related to QPID-2363
I am comitting the patch as it is.
I will make the agreed changes in a subsequent commit shortly.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@903911 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/systests/src')
| -rw-r--r-- | java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java b/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java new file mode 100644 index 0000000000..8852ff82cd --- /dev/null +++ b/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java @@ -0,0 +1,138 @@ +package org.apache.qpid.client.message; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import javax.jms.Connection; +import javax.jms.JMSException; +import javax.jms.MapMessage; +import javax.jms.MessageConsumer; +import javax.jms.MessageProducer; +import javax.jms.Queue; +import javax.jms.Session; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.message.AMQPEncodedMapMessage; +import org.apache.qpid.client.message.AbstractJMSMessage; +import org.apache.qpid.framing.AMQShortString; +import org.apache.qpid.framing.ProtocolVersion; +import org.apache.qpid.test.utils.QpidTestCase; + + +public class AMQPEncodedMapMessageTest extends QpidTestCase +{ + private Connection _connection; + private Session _session; + MessageConsumer _consumer; + MessageProducer _producer; + + public void setUp() throws Exception + { + super.setUp(); + + //Create Connection + _connection = getConnection(); + + //Create Session + _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + //Create Queue + String queueName = getTestQueueName(); + Queue queue = _session.createQueue(queueName); + + //Create Consumer + _consumer = _session.createConsumer(queue); + + //Create Producer + _producer = _session.createProducer(queue); + + _connection.start(); + } + + public void testEmptyMessage() throws JMSException + { + if (((AMQConnection)_connection).getProtocolVersion() == ProtocolVersion.v0_10) + { + MapMessage m = _session.createMapMessage(); + _producer.send(m); + AMQPEncodedMapMessage msg = (AMQPEncodedMapMessage)_consumer.receive(RECEIVE_TIMEOUT); + assertNotNull("Message was not received on time",msg); + assertEquals("Message content-type is incorrect", + AMQPEncodedMapMessage.MIME_TYPE, + ((AbstractJMSMessage)msg).getContentType()); + + assertEquals("Message content should be an empty map", + Collections.EMPTY_MAP, + ((AMQPEncodedMapMessage)msg).getMap()); + + } + } + + public void testNullMessage() throws JMSException + { + if (((AMQConnection)_connection).getProtocolVersion() == ProtocolVersion.v0_10) + { + MapMessage m = _session.createMapMessage(); + ((AMQPEncodedMapMessage)m).setMap(null); + _producer.send(m); + AMQPEncodedMapMessage msg = (AMQPEncodedMapMessage)_consumer.receive(RECEIVE_TIMEOUT); + assertNotNull("Message was not received on time",msg); + assertEquals("Message content-type is incorrect", + AMQPEncodedMapMessage.MIME_TYPE, + ((AbstractJMSMessage)msg).getContentType()); + + assertEquals("Message content should be null", + null, + ((AMQPEncodedMapMessage)msg).getMap()); + + } + } + + public void testMessageWithContent() throws JMSException + { + if (((AMQConnection)_connection).getProtocolVersion() == ProtocolVersion.v0_10) + { + MapMessage m = _session.createMapMessage(); + m.setBoolean("Boolean", true); + m.setByte("Byte", (byte)5); + byte[] bytes = new byte[]{(byte)5,(byte)8}; + m.setBytes("Bytes", bytes); + m.setChar("Char", 'X'); + m.setDouble("Double", 56.84); + m.setFloat("Float", Integer.MAX_VALUE + 5000); + m.setInt("Int", Integer.MAX_VALUE - 5000); + m.setShort("Short", (short)58); + m.setString("String", "Hello"); + _producer.send(m); + + AMQPEncodedMapMessage msg = (AMQPEncodedMapMessage)_consumer.receive(RECEIVE_TIMEOUT); + assertNotNull("Message was not received on time",msg); + assertEquals("Message content-type is incorrect", + AMQPEncodedMapMessage.MIME_TYPE, + ((AbstractJMSMessage)msg).getContentType()); + + assertEquals(true,m.getBoolean("Boolean")); + assertEquals((byte)5,m.getByte("Byte")); + byte[] bytesRcv = m.getBytes("Bytes"); + assertNotNull("Byte array is null",bytesRcv); + assertEquals((byte)5,bytesRcv[0]); + assertEquals((byte)8,bytesRcv[1]); + assertEquals('X',m.getChar("Char")); + assertEquals(56.84,m.getDouble("Double")); + //assertEquals(Integer.MAX_VALUE + 5000,m.getFloat("Float")); + assertEquals(Integer.MAX_VALUE - 5000,m.getInt("Int")); + assertEquals((short)58,m.getShort("Short")); + assertEquals("Hello",m.getString("String")); + } + } + + public void tearDown() throws Exception + { + //clean up + _connection.close(); + + super.tearDown(); + } +} |
