diff options
Diffstat (limited to 'java/client/src/test')
8 files changed, 224 insertions, 51 deletions
diff --git a/java/client/src/test/java/org/apache/qpid/framing/FieldTableTest.java b/java/client/src/test/java/org/apache/qpid/framing/FieldTableTest.java index 49e1630f15..2a7cb8be30 100644 --- a/java/client/src/test/java/org/apache/qpid/framing/FieldTableTest.java +++ b/java/client/src/test/java/org/apache/qpid/framing/FieldTableTest.java @@ -33,6 +33,33 @@ import junit.framework.TestCase; public class FieldTableTest extends TestCase { + + public void testEncoding() + { + FieldTable table = FieldTableFactory.newFieldTable(); + + String key = "String"; + String value = "Hello"; + table.put(key, value); + + //Add one for the type encoding + int size = EncodingUtils.encodedShortStringLength(key) + 1 + + EncodingUtils.encodedLongStringLength(value); + + assertEquals(table.getEncodedSize(), size); + + key = "Integer"; + Integer number = new Integer(60); + table.put(key, number); + + //Add one for the type encoding + size += EncodingUtils.encodedShortStringLength(key) + 1 + 4; + + + assertEquals(table.getEncodedSize(), size); + } + + public void testDataDump() throws IOException, AMQFrameDecodingException { byte[] data = readBase64("content.txt"); @@ -46,7 +73,7 @@ public class FieldTableTest extends TestCase ByteBuffer buffer = ByteBuffer.allocate(data.length); buffer.put(data); buffer.flip(); - FieldTable table = new FieldTable(buffer, size); + FieldTable table = FieldTableFactory.newFieldTable(buffer, size); } /* @@ -107,7 +134,7 @@ public class FieldTableTest extends TestCase FieldTable load(String name) throws IOException { - return populate(new FieldTable(), read(name)); + return populate(FieldTableFactory.newFieldTable(), read(name)); } Properties read(String name) throws IOException @@ -123,11 +150,12 @@ public class FieldTableTest extends TestCase { String key = (String) i.nextElement(); String value = properties.getProperty(key); - try{ + try + { int ival = Integer.parseInt(value); table.put(key, (long) ival); } - catch(NumberFormatException e) + catch (NumberFormatException e) { table.put(key, value); } @@ -144,7 +172,8 @@ public class FieldTableTest extends TestCase { StringBuffer buffer = new StringBuffer(); String line = in.readLine(); - while (line != null){ + while (line != null) + { buffer.append(line).append(" "); line = in.readLine(); } diff --git a/java/client/src/test/java/org/apache/qpid/headers/MessageFactory.java b/java/client/src/test/java/org/apache/qpid/headers/MessageFactory.java index f1f310c6e5..6f538d068c 100644 --- a/java/client/src/test/java/org/apache/qpid/headers/MessageFactory.java +++ b/java/client/src/test/java/org/apache/qpid/headers/MessageFactory.java @@ -22,6 +22,7 @@ package org.apache.qpid.headers; import org.apache.qpid.client.AMQSession; import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.FieldTableFactory; import javax.jms.BytesMessage; import javax.jms.Destination; @@ -127,14 +128,14 @@ class MessageFactory FieldTable getConsumerBinding() { - FieldTable binding = new FieldTable(); + FieldTable binding = FieldTableFactory.newFieldTable(); binding.put("SF0000", "value"); return binding; } FieldTable getControllerBinding() { - FieldTable binding = new FieldTable(); + FieldTable binding = FieldTableFactory.newFieldTable(); binding.put("SCONTROL", "value"); return binding; } diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableKeyEnumeratorTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableKeyEnumeratorTest.java index 2e740aa3eb..ad180e3a89 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableKeyEnumeratorTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableKeyEnumeratorTest.java @@ -21,6 +21,7 @@ package org.apache.qpid.test.unit.basic; import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.FieldTableFactory; import org.apache.qpid.client.message.JMSTextMessage; import org.apache.qpid.client.message.TestMessageHelper; @@ -36,7 +37,7 @@ public class FieldTableKeyEnumeratorTest extends TestCase { public void testKeyEnumeration() { - FieldTable result = new FieldTable(); + FieldTable result = FieldTableFactory.newFieldTable(); result.put("one", 1L); result.put("two", 2L); result.put("three", 3L); diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableMessageTest.java index 67b7f49565..c1ecef6b57 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableMessageTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTableMessageTest.java @@ -26,10 +26,12 @@ import org.apache.qpid.client.AMQQueue; import org.apache.qpid.client.AMQSession; import org.apache.qpid.client.message.JMSBytesMessage; import org.apache.qpid.framing.AMQFrameDecodingException; -import org.apache.qpid.framing.FieldTable; import org.apache.qpid.framing.FieldTableTest; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.FieldTableFactory; import org.apache.qpid.test.VMBrokerSetup; import org.apache.mina.common.ByteBuffer; +import org.apache.log4j.Logger; import java.io.IOException; import java.util.ArrayList; @@ -39,6 +41,9 @@ import junit.framework.TestCase; public class FieldTableMessageTest extends TestCase implements MessageListener { + + private static final Logger _logger = Logger.getLogger(FieldTableMessageTest.class); + private AMQConnection _connection; private AMQDestination _destination; private AMQSession _session; @@ -50,7 +55,7 @@ public class FieldTableMessageTest extends TestCase implements MessageListener protected void setUp() throws Exception { super.setUp(); - init(new AMQConnection(_connectionString, "guest", "guest", randomize("Client"), "/test_path")); + init(new AMQConnection(_connectionString, "guest", "guest", randomize("Client"), "/test_path")); } protected void tearDown() throws Exception @@ -80,7 +85,7 @@ public class FieldTableMessageTest extends TestCase implements MessageListener private FieldTable load() throws IOException { - FieldTable result = new FieldTable(); + FieldTable result = FieldTableFactory.newFieldTable(); result.put("one", 1L); result.put("two", 2L); result.put("three", 3L); @@ -128,7 +133,7 @@ public class FieldTableMessageTest extends TestCase implements MessageListener for (Object m : received) { ByteBuffer buffer = ((JMSBytesMessage) m).getData(); - FieldTable actual = new FieldTable(buffer, buffer.remaining()); + FieldTable actual = FieldTableFactory.newFieldTable(buffer, buffer.remaining()); new FieldTableTest().assertEquivalent(_expected, actual); } } diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTablePropertyTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTablePropertyTest.java new file mode 100644 index 0000000000..92b4831d93 --- /dev/null +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/FieldTablePropertyTest.java @@ -0,0 +1,65 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * 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 + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.qpid.test.unit.basic; + +import org.apache.qpid.framing.PropertyFieldTable; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.client.message.JMSTextMessage; +import org.apache.qpid.client.message.TestMessageHelper; + +import java.util.Enumeration; +import java.util.NoSuchElementException; + +import javax.jms.JMSException; + +import junit.framework.TestCase; + +public class FieldTablePropertyTest extends TestCase +{ + public void testPropertyNames() + { + try + { + JMSTextMessage text = TestMessageHelper.newJMSTextMessage(); + + text.setBooleanProperty("Boolean1", true); + text.setBooleanProperty("Boolean2", true); + text.setIntProperty("Int", 2); + text.setLongProperty("Long", 2); + + Enumeration e = text.getPropertyNames(); + + assertEquals("Boolean1", e.nextElement()); + assertTrue("Boolean2".equals(e.nextElement())); + assertTrue("Int".equals(e.nextElement())); + assertTrue("Long".equals(e.nextElement())); + } + catch (JMSException e) + { + + } + } + + public static junit.framework.Test suite() + { + return new junit.framework.TestSuite(FieldTablePropertyTest.class); + } +} diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java index a685e75a29..5353a19d13 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java @@ -47,6 +47,7 @@ public class MapMessageTest extends TestCase implements MessageListener private final List<String> messages = new ArrayList<String>(); private int _count = 100; public String _connectionString = "vm://:1"; + private byte[] _bytes = {99, 98, 97, 96, 95}; protected void setUp() throws Exception { @@ -104,9 +105,31 @@ public class MapMessageTest extends TestCase implements MessageListener MapMessage message = _session.createMapMessage(); message.setBoolean("odd", i / 2 == 0); + message.setByte("byte", (byte) Byte.MAX_VALUE); + + message.setBytes("bytes", _bytes); + message.setChar("char", (char) 'c'); + message.setDouble("double", (double) Double.MAX_VALUE); + message.setFloat("float", (float) Float.MAX_VALUE); + message.setInt("messageNumber", i); + message.setInt("int", (int) Integer.MAX_VALUE); + + message.setLong("long", (long) Long.MAX_VALUE); + message.setShort("short", (short) Short.MAX_VALUE); message.setString("message", text); + + message.setObject("object-bool", true); + message.setObject("object-byte", Byte.MAX_VALUE); + message.setObject("object-bytes", _bytes); + message.setObject("object-char", 'c'); + message.setObject("object-double", Double.MAX_VALUE); + message.setObject("object-float", Float.MAX_VALUE); + message.setObject("object-int", Integer.MAX_VALUE); + message.setObject("object-long", Long.MAX_VALUE); + message.setObject("object-short", Short.MAX_VALUE); + producer.send(message); } } @@ -130,7 +153,31 @@ public class MapMessageTest extends TestCase implements MessageListener { actual.add(m.getString("message")); assertEqual(m.getInt("messageNumber"), count); - assertEqual(m.getBoolean("odd"), count / 2 == 0); + + + assertEqual(count / 2 == 0, m.getBoolean("odd")); + assertEqual((byte) Byte.MAX_VALUE, m.getByte("byte")); + + assertBytesEqual(_bytes, m.getBytes("bytes")); + assertEqual((char) 'c', m.getChar("char")); + assertEqual((double) Double.MAX_VALUE, m.getDouble("double")); + assertEqual((float) Float.MAX_VALUE, m.getFloat("float")); + + assertEqual(count, m.getInt("messageNumber")); + assertEqual((int) Integer.MAX_VALUE, m.getInt("int")); + assertEqual((long) Long.MAX_VALUE, m.getLong("long")); + assertEqual((short) Short.MAX_VALUE, m.getShort("short")); + + assertEqual(true, m.getObject("object-bool")); + assertEqual(Byte.MAX_VALUE, m.getObject("object-byte")); + assertBytesEqual(_bytes, (byte[]) m.getObject("object-bytes")); + assertEqual('c', m.getObject("object-char")); + assertEqual(Double.MAX_VALUE, m.getObject("object-double")); + assertEqual(Float.MAX_VALUE, m.getObject("object-float")); + assertEqual(Integer.MAX_VALUE, m.getObject("object-int")); + assertEqual(Long.MAX_VALUE, m.getObject("object-long")); + assertEqual(Short.MAX_VALUE, m.getObject("object-short")); + try { @@ -153,7 +200,7 @@ public class MapMessageTest extends TestCase implements MessageListener Assert.fail("Message should be writeable"); } - //Check property write status + //Check property write status try { m.setStringProperty("test", "test"); @@ -181,6 +228,17 @@ public class MapMessageTest extends TestCase implements MessageListener assertEqual(messages.iterator(), actual.iterator()); } + private void assertBytesEqual(byte[] expected, byte[] actual) + { + Assert.assertEquals(expected.length, actual.length); + + for (int index = 0; index < expected.length; index++) + { + Assert.assertEquals(expected[index], actual[index]); + } + } + + private static void assertEqual(Iterator expected, Iterator actual) { List<String> errors = new ArrayList<String>(); diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java index de7e12ac61..02f371e81b 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java @@ -20,32 +20,37 @@ */ package org.apache.qpid.test.unit.basic; +import junit.framework.Assert; +import junit.framework.TestCase; +import org.apache.log4j.Logger; import org.apache.qpid.client.AMQConnection; import org.apache.qpid.client.AMQQueue; import org.apache.qpid.client.AMQSession; import org.apache.qpid.client.message.JMSTextMessage; import org.apache.qpid.test.VMBrokerSetup; -import org.apache.log4j.Logger; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.Queue; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.jms.*; - -import junit.framework.TestCase; -import junit.framework.Assert; public class PropertyValueTest extends TestCase implements MessageListener { private static final Logger _logger = Logger.getLogger(PropertyValueTest.class); + private int count = 0; private AMQConnection _connection; private Destination _destination; private AMQSession _session; private final List<JMSTextMessage> received = new ArrayList<JMSTextMessage>(); private final List<String> messages = new ArrayList<String>(); - private int _count = 1;//100; + private int _count = 100; public String _connectionString = "vm://:1"; protected void setUp() throws Exception @@ -104,25 +109,31 @@ public class PropertyValueTest extends TestCase implements MessageListener Message m = _session.createTextMessage(text); m.setBooleanProperty("Bool", true); -// m.setByteProperty("Byte", (byte) Byte.MAX_VALUE); -// m.setDoubleProperty("Double", (double) Double.MAX_VALUE); -// m.setFloatProperty("Float", (float) Float.MAX_VALUE); -// m.setIntProperty("Int", (int) Integer.MAX_VALUE); + + m.setByteProperty("Byte", (byte) Byte.MAX_VALUE); + m.setDoubleProperty("Double", (double) Double.MAX_VALUE); + m.setFloatProperty("Float", (float) Float.MAX_VALUE); + m.setIntProperty("Int", (int) Integer.MAX_VALUE); + m.setJMSCorrelationID("Correlation"); m.setJMSPriority(100); - // Set Q - //m.setJMSReplyTo(_session.Queue("TestReply")); - - // Temporary Queue - Queue q = _session.createTemporaryQueue(); - m.setJMSReplyTo(q);//Queue("TestReply")); + // Queue + Queue q = //_session.createTemporaryQueue(); + q = new AMQQueue("TestReply"); + m.setJMSReplyTo(q); m.setStringProperty("TempQueue", q.toString()); -// m.setJMSType("Test"); + + _logger.info("Message:" + m); + + Assert.assertEquals("Check temp queue has been set correctly", + m.getJMSReplyTo().toString(), m.getStringProperty("TempQueue")); + + m.setJMSType("Test"); m.setLongProperty("UnsignedInt", (long) 4294967295L); -// m.setLongProperty("Long", (long) Long.MAX_VALUE); + m.setLongProperty("Long", (long) Long.MAX_VALUE); -// m.setShortProperty("Short", (short) Short.MAX_VALUE); + m.setShortProperty("Short", (short) Short.MAX_VALUE); m.setStringProperty("String", "Test"); _logger.info("Sending Msg:" + m); @@ -152,35 +163,31 @@ public class PropertyValueTest extends TestCase implements MessageListener Assert.assertEquals("Check Boolean properties are correctly transported", true, m.getBooleanProperty("Bool")); -// Assert.assertEquals("Check Byte properties are correctly transported", -// (byte) Byte.MAX_VALUE, m.getByteProperty("Byte")); -// Assert.assertEquals("Check Double properties are correctly transported", -// (double) Double.MAX_VALUE, m.getDoubleProperty("Double")); -// Assert.assertEquals("Check Float properties are correctly transported", -// (float) Float.MAX_VALUE, m.getFloatProperty("Float")); -// Assert.assertEquals("Check Int properties are correctly transported", -// (int) Integer.MAX_VALUE, m.getIntProperty("Int")); + Assert.assertEquals("Check Byte properties are correctly transported", + (byte) Byte.MAX_VALUE, m.getByteProperty("Byte")); + Assert.assertEquals("Check Double properties are correctly transported", + (double) Double.MAX_VALUE, m.getDoubleProperty("Double")); + Assert.assertEquals("Check Float properties are correctly transported", + (float) Float.MAX_VALUE, m.getFloatProperty("Float")); + Assert.assertEquals("Check Int properties are correctly transported", + (int) Integer.MAX_VALUE, m.getIntProperty("Int")); Assert.assertEquals("Check CorrelationID properties are correctly transported", "Correlation", m.getJMSCorrelationID()); // Assert.assertEquals("Check Priority properties are correctly transported", // 100, m.getJMSPriority()); - //Set Queue -// Assert.assertEquals("Check ReplyTo properties are correctly transported", -// _session.createQueue("TestReply"), m.getJMSReplyTo()); - - //Temporary Queue + // Queue Assert.assertEquals("Check ReplyTo properties are correctly transported", m.getStringProperty("TempQueue"), m.getJMSReplyTo().toString()); // Assert.assertEquals("Check Type properties are correctly transported", // "Test", m.getJMSType()); -// Assert.assertEquals("Check Short properties are correctly transported", -// (short) Short.MAX_VALUE, m.getShortProperty("Short")); + Assert.assertEquals("Check Short properties are correctly transported", + (short) Short.MAX_VALUE, m.getShortProperty("Short")); Assert.assertEquals("Check UnsignedInt properties are correctly transported", (long) 4294967295L, m.getLongProperty("UnsignedInt")); -// Assert.assertEquals("Check Long properties are correctly transported", -// (long)Long.MAX_VALUE, m.getLongProperty("Long")); + Assert.assertEquals("Check Long properties are correctly transported", + (long) Long.MAX_VALUE, m.getLongProperty("Long")); Assert.assertEquals("Check String properties are correctly transported", "Test", m.getStringProperty("String")); } diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java index dfbec81549..cd3954fbcb 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java @@ -28,6 +28,7 @@ import org.apache.qpid.client.vmbroker.AMQVMBrokerCreationException; import org.apache.qpid.client.transport.TransportConnection; import org.apache.qpid.client.message.JMSTextMessage; import org.apache.qpid.test.VMBrokerSetup; +import org.apache.log4j.Logger; import java.util.ArrayList; import java.util.Iterator; @@ -39,6 +40,8 @@ import junit.framework.Assert; public class TextMessageTest extends TestCase implements MessageListener { + private static final Logger _logger = Logger.getLogger(TextMessageTest.class); + private AMQConnection _connection; private Destination _destination; private AMQSession _session; @@ -100,7 +103,11 @@ public class TextMessageTest extends TestCase implements MessageListener { String text = "Message " + i; messages.add(text); - producer.send(_session.createTextMessage(text)); + Message m = _session.createTextMessage(text); + m.setStringProperty("String", "hello"); + + _logger.info("Sending Msg:" + m); + producer.send(m); } } |
