summaryrefslogtreecommitdiff
path: root/qpid/java/systests
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-08-07 19:25:12 +0000
committerRafael H. Schloming <rhs@apache.org>2008-08-07 19:25:12 +0000
commitdbc5d989894f52c4e3ca571ee6c9363c84796761 (patch)
tree031c6b88cb096caffdcfbcc6c53ddcaa948b97d7 /qpid/java/systests
parent7ad6d44494059c5e1a11f145ce45df8c58160de7 (diff)
downloadqpid-python-dbc5d989894f52c4e3ca571ee6c9363c84796761.tar.gz
QPID-1213: Patch from rgodfrey to refactor AbstractJMSMessage and descendants to move AMQP version specific code into delegates and remove unnecessary conversion between 0-8 and 0-10 objects
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@683683 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests')
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/client/message/NonQpidObjectMessage.java8
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java4
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/queue/AckTest.java6
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestMemoryMessageStore.java (renamed from qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestableMemoryMessageStore.java)4
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestReferenceCounting.java5
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/txn/TxnBufferTest.java4
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java131
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java7
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java52
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java2
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/StreamMessageTest.java3
11 files changed, 34 insertions, 192 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/client/message/NonQpidObjectMessage.java b/qpid/java/systests/src/main/java/org/apache/qpid/client/message/NonQpidObjectMessage.java
index 60a26c8e62..857adaf82c 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/client/message/NonQpidObjectMessage.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/client/message/NonQpidObjectMessage.java
@@ -26,20 +26,22 @@ import java.util.Enumeration;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
+import javax.jms.Session;
public class NonQpidObjectMessage implements ObjectMessage {
- private JMSObjectMessage _realMessage;
+ private ObjectMessage _realMessage;
private String _contentString;
/**
* Allows us to construct a JMS message which
* does not inherit from the Qpid message superclasses
* and expand our unit testing of MessageConverter et al
+ * @param session
*/
- public NonQpidObjectMessage()
+ public NonQpidObjectMessage(Session session) throws JMSException
{
- _realMessage = new JMSObjectMessage();
+ _realMessage = session.createObjectMessage();
}
public String getJMSMessageID() throws JMSException {
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java
index 98639f6970..aafddb810a 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java
@@ -33,7 +33,7 @@ import org.apache.qpid.server.queue.QueueEntry;
import org.apache.qpid.server.queue.AMQMessageHandle;
import org.apache.qpid.server.queue.AMQQueueFactory;
import org.apache.qpid.server.queue.AMQQueue;
-import org.apache.qpid.server.store.TestableMemoryMessageStore;
+import org.apache.qpid.server.store.TestMemoryMessageStore;
import org.apache.qpid.server.store.StoreContext;
import org.apache.qpid.server.store.MemoryMessageStore;
import org.apache.qpid.server.txn.NonTransactionalContext;
@@ -105,7 +105,7 @@ public class TxAckTest extends TestCase
Scenario(int messageCount, List<Long> acked, List<Long> unacked) throws Exception
{
- TransactionalContext txnContext = new NonTransactionalContext(new TestableMemoryMessageStore(),
+ TransactionalContext txnContext = new NonTransactionalContext(new TestMemoryMessageStore(),
_storeContext, null,
new LinkedList<RequiredDeliveryException>()
);
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/AckTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/AckTest.java
index afa0f84d71..08f78a3d28 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/AckTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/AckTest.java
@@ -34,7 +34,7 @@ import org.apache.qpid.server.subscription.SubscriptionFactoryImpl;
import org.apache.qpid.server.flow.LimitlessCreditManager;
import org.apache.qpid.server.ack.UnacknowledgedMessageMap;
import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.TestableMemoryMessageStore;
+import org.apache.qpid.server.store.TestMemoryMessageStore;
import org.apache.qpid.server.store.StoreContext;
import org.apache.qpid.server.txn.NonTransactionalContext;
import org.apache.qpid.server.txn.TransactionalContext;
@@ -56,7 +56,7 @@ public class AckTest extends TestCase
private MockProtocolSession _protocolSession;
- private TestableMemoryMessageStore _messageStore;
+ private TestMemoryMessageStore _messageStore;
private StoreContext _storeContext = new StoreContext();
@@ -74,7 +74,7 @@ public class AckTest extends TestCase
protected void setUp() throws Exception
{
super.setUp();
- _messageStore = new TestableMemoryMessageStore();
+ _messageStore = new TestMemoryMessageStore();
_protocolSession = new MockProtocolSession(_messageStore);
_channel = new AMQChannel(_protocolSession,5, _messageStore /*dont need exchange registry*/);
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestableMemoryMessageStore.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestMemoryMessageStore.java
index 79d428fee8..4e48435962 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestableMemoryMessageStore.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestMemoryMessageStore.java
@@ -31,9 +31,9 @@ import java.util.List;
/**
* Adds some extra methods to the memory message store for testing purposes.
*/
-public class TestableMemoryMessageStore extends MemoryMessageStore
+public class TestMemoryMessageStore extends MemoryMessageStore
{
- public TestableMemoryMessageStore()
+ public TestMemoryMessageStore()
{
_metaDataMap = new ConcurrentHashMap<Long, MessageMetaData>();
_contentBodyMap = new ConcurrentHashMap<Long, List<ContentChunk>>();
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestReferenceCounting.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestReferenceCounting.java
index f36e924890..2346660d25 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestReferenceCounting.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/TestReferenceCounting.java
@@ -29,14 +29,13 @@ import org.apache.qpid.framing.abstraction.MessagePublishInfo;
import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.server.queue.MessageHandleFactory;
import org.apache.qpid.server.queue.AMQMessageHandle;
-import org.apache.qpid.server.txn.NonTransactionalContext;
/**
* Tests that reference counting works correctly with AMQMessage and the message store
*/
public class TestReferenceCounting extends TestCase
{
- private TestableMemoryMessageStore _store;
+ private TestMemoryMessageStore _store;
private StoreContext _storeContext = new StoreContext();
@@ -44,7 +43,7 @@ public class TestReferenceCounting extends TestCase
protected void setUp() throws Exception
{
super.setUp();
- _store = new TestableMemoryMessageStore();
+ _store = new TestMemoryMessageStore();
}
/**
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/txn/TxnBufferTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/txn/TxnBufferTest.java
index b34f28b1a8..84d3d313d1 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/txn/TxnBufferTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/txn/TxnBufferTest.java
@@ -23,7 +23,7 @@ package org.apache.qpid.server.txn;
import junit.framework.TestCase;
import org.apache.qpid.AMQException;
import org.apache.qpid.server.store.MessageStore;
-import org.apache.qpid.server.store.TestableMemoryMessageStore;
+import org.apache.qpid.server.store.TestMemoryMessageStore;
import org.apache.qpid.server.store.StoreContext;
import java.util.LinkedList;
@@ -194,7 +194,7 @@ public class TxnBufferTest extends TestCase
}
}
- class MockStore extends TestableMemoryMessageStore
+ class MockStore extends TestMemoryMessageStore
{
final Object BEGIN = "BEGIN";
final Object ABORT = "ABORT";
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java
index 6864b0a80d..e69de29bb2 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java
@@ -1,131 +0,0 @@
-/*
- *
- * 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.server.util;
-
-import org.apache.qpid.server.exchange.ExchangeFactory;
-import org.apache.qpid.server.exchange.ExchangeRegistry;
-import org.apache.qpid.server.management.ManagedObjectRegistry;
-import org.apache.qpid.server.plugins.PluginManager;
-import org.apache.qpid.server.queue.QueueRegistry;
-import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.registry.IApplicationRegistry;
-import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
-import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
-import org.apache.qpid.server.security.auth.database.PrincipalDatabaseManager;
-import org.apache.qpid.server.security.auth.database.PropertiesPrincipalDatabaseManager;
-import org.apache.qpid.server.security.access.ACLPlugin;
-import org.apache.qpid.server.security.access.plugins.AllowAll;
-import org.apache.qpid.server.store.MessageStore;
-import org.apache.qpid.server.store.TestableMemoryMessageStore;
-import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.MapConfiguration;
-
-import java.util.HashMap;
-import java.util.Collection;
-import java.util.Properties;
-
-public class TestApplicationRegistry extends ApplicationRegistry
-{
- private QueueRegistry _queueRegistry;
-
- private ExchangeRegistry _exchangeRegistry;
-
- private ExchangeFactory _exchangeFactory;
-
- private MessageStore _messageStore;
-
- private VirtualHost _vHost;
-
- public TestApplicationRegistry()
- {
- super(new MapConfiguration(new HashMap()));
- }
-
- public void initialise() throws Exception
- {
- _logger.info("Initialising TestApplicationRegistry");
-
- Properties users = new Properties();
-
- users.put("guest", "guest");
-
- _databaseManager = new PropertiesPrincipalDatabaseManager("default", users);
-
- _accessManager = new AllowAll();
-
- _authenticationManager = new PrincipalDatabaseAuthenticationManager(null, null);
-
- IApplicationRegistry appRegistry = ApplicationRegistry.getInstance();
- _managedObjectRegistry = appRegistry.getManagedObjectRegistry();
- _vHost = appRegistry.getVirtualHostRegistry().getVirtualHost("test");
- _queueRegistry = _vHost.getQueueRegistry();
- _exchangeFactory = _vHost.getExchangeFactory();
- _exchangeRegistry = _vHost.getExchangeRegistry();
-
- _messageStore = new TestableMemoryMessageStore();
-
- _configuration.addProperty("heartbeat.delay", 10 * 60); // 10 minutes
- }
-
- public QueueRegistry getQueueRegistry()
- {
- return _queueRegistry;
- }
-
- public ExchangeRegistry getExchangeRegistry()
- {
- return _exchangeRegistry;
- }
-
- public ExchangeFactory getExchangeFactory()
- {
- return _exchangeFactory;
- }
-
- public Collection<String> getVirtualHostNames()
- {
- return null; //To change body of implemented methods use File | Settings | File Templates.
- }
-
- public VirtualHostRegistry getVirtualHostRegistry()
- {
- return null; //To change body of implemented methods use File | Settings | File Templates.
- }
-
- public void setAccessManager(ACLPlugin newManager)
- {
- _accessManager = newManager;
- }
-
- public MessageStore getMessageStore()
- {
- return _messageStore;
- }
-
- public PluginManager getPluginManager()
- {
- return null;
- }
-}
-
-
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java
index 10705119e7..d2965bd52a 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java
@@ -114,9 +114,14 @@ public class ObjectMessageTest extends QpidTestCase implements MessageListener
{
synchronized (received)
{
+ long endTime = System.currentTimeMillis() + 30000L;
while (received.size() < count)
{
- received.wait();
+ received.wait(30000);
+ if(received.size() < count && System.currentTimeMillis() > endTime)
+ {
+ throw new RuntimeException("Only received " + received.size() + " messages, was expecting " + count);
+ }
}
}
}
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java
index ca896b08bb..d9390c33df 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java
@@ -25,10 +25,12 @@ import junit.framework.Assert;
import org.apache.qpid.client.AMQConnection;
import org.apache.qpid.client.AMQQueue;
import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.client.message.AMQMessage;
+import org.apache.qpid.client.AMQDestination;
import org.apache.qpid.client.message.JMSTextMessage;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.test.utils.QpidTestCase;
+import org.apache.qpid.url.BindingURL;
+import org.apache.qpid.url.AMQBindingURL;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,6 +47,7 @@ import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.net.URISyntaxException;
public class PropertyValueTest extends QpidTestCase implements MessageListener
{
@@ -183,43 +186,6 @@ public class PropertyValueTest extends QpidTestCase 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);
}
@@ -236,7 +202,7 @@ public class PropertyValueTest extends QpidTestCase implements MessageListener
}
}
- void check() throws JMSException
+ void check() throws JMSException, URISyntaxException
{
List<String> actual = new ArrayList<String>();
for (JMSTextMessage m : received)
@@ -259,8 +225,8 @@ public class PropertyValueTest extends QpidTestCase implements MessageListener
Assert.assertEquals("Check Priority properties are correctly transported", 8, m.getJMSPriority());
// Queue
- Assert.assertEquals("Check ReplyTo properties are correctly transported", m.getStringProperty("TempQueue"),
- m.getJMSReplyTo().toString());
+ Assert.assertEquals("Check ReplyTo properties are correctly transported", AMQDestination.createDestination(new AMQBindingURL(m.getStringProperty("TempQueue"))),
+ m.getJMSReplyTo());
Assert.assertEquals("Check Type properties are correctly transported", "Test", m.getJMSType());
@@ -271,7 +237,7 @@ public class PropertyValueTest extends QpidTestCase implements MessageListener
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"));
-
+/*
// AMQP Tests Specific values
Assert.assertEquals("Check Timestamp properties are correctly transported", m.getStringProperty("time-str"),
@@ -288,7 +254,7 @@ public class PropertyValueTest extends QpidTestCase implements MessageListener
Assert.assertTrue("Check void properties are correctly transported",
((AMQMessage) m).getPropertyHeaders().containsKey("void"));
-
+*/
//JMSXUserID
if (m.getStringProperty("JMSXUserID") != null)
{
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java
index 5bf99e719e..1f90f1e29f 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java
@@ -76,7 +76,7 @@ public class JMSPropertiesTest extends QpidTestCase
MessageProducer producer = producerSession.createProducer(queue);
Destination JMS_REPLY_TO = new AMQQueue(con2, "my.replyto");
// create a test message to send
- ObjectMessage sentMsg = new NonQpidObjectMessage();
+ ObjectMessage sentMsg = new NonQpidObjectMessage(producerSession);
sentMsg.setJMSCorrelationID(JMS_CORR_ID);
sentMsg.setJMSDeliveryMode(JMS_DELIV_MODE);
sentMsg.setJMSType(JMS_TYPE);
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/StreamMessageTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/StreamMessageTest.java
index 3027da00c7..6fa0172ae3 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/StreamMessageTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/StreamMessageTest.java
@@ -106,7 +106,8 @@ public class StreamMessageTest extends QpidTestCase
_logger.info("Starting consumer connection");
con.start();
- StreamMessage msg2 = (StreamMessage) consumer.receive();
+ StreamMessage msg2 = (StreamMessage) consumer.receive(2000);
+ assertNotNull(msg2);
msg2.readByte();
try