diff options
Diffstat (limited to 'qpid/java/client/src/test')
2 files changed, 66 insertions, 6 deletions
diff --git a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java index fd997e3abd..90784b0772 100644 --- a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java +++ b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java @@ -23,6 +23,7 @@ package org.apache.qpid.test.unit.basic; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.math.BigDecimal; import javax.jms.Destination; import javax.jms.JMSException; @@ -41,6 +42,8 @@ import org.apache.qpid.client.AMQQueue; import org.apache.qpid.client.AMQSession; import org.apache.qpid.client.transport.TransportConnection; import org.apache.qpid.client.message.JMSTextMessage; +import org.apache.qpid.client.message.AMQMessage; +import org.apache.qpid.framing.AMQShortString; public class PropertyValueTest extends TestCase implements MessageListener { @@ -53,7 +56,7 @@ public class PropertyValueTest extends TestCase implements MessageListener private AMQSession _session; private final List<JMSTextMessage> received = new ArrayList<JMSTextMessage>(); private final List<String> messages = new ArrayList<String>(); - private int _count = 100; + private int _count = 1; public String _connectionString = "vm://:1"; protected void setUp() throws Exception @@ -118,7 +121,7 @@ public class PropertyValueTest extends TestCase implements MessageListener check(); _logger.info("Completed without failure"); - Thread.sleep(10); + Thread.sleep(10); _connection.close(); _logger.error("End Run Number:" + (run - 1)); @@ -180,6 +183,44 @@ public class PropertyValueTest extends TestCase implements MessageListener m.setShortProperty("Short", (short) Short.MAX_VALUE); m.setStringProperty("String", "Test"); + //AMQP Specific values + + // Timestamp + long nano = System.nanoTime(); + m.setStringProperty("time-str", String.valueOf(nano)); + ((AMQMessage) m).setTimestampProperty(new AMQShortString("time"), nano); + + //Decimal + BigDecimal bd = new BigDecimal(Integer.MAX_VALUE); + ((AMQMessage) m).setDecimalProperty(new AMQShortString("decimal"), bd.setScale(Byte.MAX_VALUE)); + + + bd = new BigDecimal((long) Integer.MAX_VALUE + 1L); + + try + { + ((AMQMessage) m).setDecimalProperty(new AMQShortString("decimal-bad-value"), bd.setScale(Byte.MAX_VALUE)); + fail("UnsupportedOperationException should be thrown as value can't be correctly transmitted"); + } + catch (UnsupportedOperationException uoe) + { + // normal path. + } + + + try + { + ((AMQMessage) m).setDecimalProperty(new AMQShortString("decimal-bad-scale"), bd.setScale(Byte.MAX_VALUE + 1)); + fail("UnsupportedOperationException should be thrown as scale can't be correctly transmitted"); + } + catch (UnsupportedOperationException uoe) + { + // normal path. + } + + //Void + ((AMQMessage) m).setVoidProperty(new AMQShortString("void")); + _logger.debug("Sending Msg:" + m); producer.send(m); } @@ -235,6 +276,25 @@ public class PropertyValueTest extends TestCase implements MessageListener (long) Long.MAX_VALUE, m.getLongProperty("Long")); Assert.assertEquals("Check String properties are correctly transported", "Test", m.getStringProperty("String")); + + // AMQP Tests Specific values + + Assert.assertEquals("Check Timestamp properties are correctly transported", + m.getStringProperty("time-str"), + ((AMQMessage) m).getTimestampProperty(new AMQShortString("time")).toString()); + + //Decimal + BigDecimal bd = new BigDecimal(Integer.MAX_VALUE); + + Assert.assertEquals("Check decimal properties are correctly transported", + bd.setScale(Byte.MAX_VALUE), + ((AMQMessage) m).getDecimalProperty(new AMQShortString("decimal"))); + + //Void + ((AMQMessage) m).setVoidProperty(new AMQShortString("void")); + + Assert.assertTrue("Check void properties are correctly transported", + ((AMQMessage) m).getPropertyHeaders().containsKey("void")); } received.clear(); diff --git a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java index ab0d26b0e0..588c82221e 100644 --- a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java +++ b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java @@ -7,9 +7,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -47,12 +47,12 @@ public class ConnectionTest extends TestCase protected void setUp() throws Exception { super.setUp(); - TransportConnection.createVMBroker(1); +// TransportConnection.createVMBroker(1); } protected void tearDown() throws Exception { - TransportConnection.killVMBroker(1); +// TransportConnection.killVMBroker(1); } public void testSimpleConnection() |
