diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2008-08-07 19:25:12 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2008-08-07 19:25:12 +0000 |
| commit | dbc5d989894f52c4e3ca571ee6c9363c84796761 (patch) | |
| tree | 031c6b88cb096caffdcfbcc6c53ddcaa948b97d7 /qpid/java/systests | |
| parent | 7ad6d44494059c5e1a11f145ce45df8c58160de7 (diff) | |
| download | qpid-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')
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 |
