diff options
| author | Aidan Skinner <aidan@apache.org> | 2008-08-20 16:29:31 +0000 |
|---|---|---|
| committer | Aidan Skinner <aidan@apache.org> | 2008-08-20 16:29:31 +0000 |
| commit | 45de30b9ac58303ca2a675baa9c06e32bd9be178 (patch) | |
| tree | 85a702da17110a1a4ae44b7dcbe5926f260f1b01 /qpid/java/systests | |
| parent | 2c7aeaccc3fa471f54aad62f0fc4dd455ca0179f (diff) | |
| download | qpid-python-45de30b9ac58303ca2a675baa9c06e32bd9be178.tar.gz | |
QPID-1217: make temporary queue creation actually create the temporary queue.
AMQSession*: consolidate createTemporaryQueue into AMQSession.
ConnectionTest: declare custom exchanges before testing them
TemporaryQueueTest: add test for QPID-1217
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@687383 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests')
2 files changed, 61 insertions, 4 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java index a6e8b80c9c..5147d4a94d 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java @@ -23,11 +23,15 @@ package org.apache.qpid.test.unit.client.connection; import org.apache.qpid.AMQConnectionFailureException; import org.apache.qpid.AMQException; import org.apache.qpid.AMQUnresolvedAddressException; +import org.apache.qpid.server.exchange.Exchange; import org.apache.qpid.test.utils.QpidTestCase; import org.apache.qpid.client.AMQAuthenticationException; import org.apache.qpid.client.AMQConnection; import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.exchange.ExchangeDefaults; +import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.jms.Session; import javax.jms.Connection; @@ -92,6 +96,21 @@ public class ConnectionTest extends QpidTestCase + "&temporaryQueueExchange='tmp.direct'" + "&temporaryTopicExchange='tmp.topic'"); + + AMQSession sess = (AMQSession) conn.createSession(false, Session.AUTO_ACKNOWLEDGE); + + sess.declareExchange(new AMQShortString("test.direct"), + ExchangeDefaults.DIRECT_EXCHANGE_CLASS, false); + + sess.declareExchange(new AMQShortString("tmp.direct"), + ExchangeDefaults.DIRECT_EXCHANGE_CLASS, false); + + sess.declareExchange(new AMQShortString("tmp.topic"), + ExchangeDefaults.TOPIC_EXCHANGE_CLASS, false); + + sess.declareExchange(new AMQShortString("test.topic"), + ExchangeDefaults.TOPIC_EXCHANGE_CLASS, false); + QueueSession queueSession = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); AMQQueue queue = (AMQQueue) queueSession.createQueue("MyQueue"); @@ -105,7 +124,7 @@ public class ConnectionTest extends QpidTestCase queueSession.close(); TopicSession topicSession = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); - + AMQTopic topic = (AMQTopic) topicSession.createTopic("silly.topic"); assertEquals(topic.getExchangeName().toString(), "test.topic"); diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/temporaryqueue/TemporaryQueueTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/temporaryqueue/TemporaryQueueTest.java index 7a65b06dd4..1d48955461 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/temporaryqueue/TemporaryQueueTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/temporaryqueue/TemporaryQueueTest.java @@ -22,6 +22,7 @@ package org.apache.qpid.test.unit.client.temporaryqueue; import javax.jms.Connection; +import javax.jms.ExceptionListener; import javax.jms.JMSException; import javax.jms.MessageConsumer; import javax.jms.MessageProducer; @@ -32,12 +33,16 @@ import junit.framework.Assert; import org.apache.qpid.test.utils.QpidTestCase; import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.jms.ConnectionListener; +import java.util.ArrayList; import java.util.List; import java.util.LinkedList; -public class TemporaryQueueTest extends QpidTestCase +public class TemporaryQueueTest extends QpidTestCase implements ExceptionListener { + private List<Exception> _exceptions = new ArrayList<Exception>(); + protected void setUp() throws Exception { super.setUp(); @@ -53,7 +58,7 @@ public class TemporaryQueueTest extends QpidTestCase return getConnection("guest", "guest"); } - public void testTempoaryQueue() throws Exception + public void testTemporaryQueue() throws Exception { Connection conn = createConnection(); Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); @@ -212,9 +217,42 @@ public class TemporaryQueueTest extends QpidTestCase } } - + public void testQPID1217() throws Exception + { + Connection conA = getConnection(); + conA.setExceptionListener(this); + Session sessA = conA.createSession(false, Session.AUTO_ACKNOWLEDGE); + TemporaryQueue temp = sessA.createTemporaryQueue(); + + MessageProducer prod = sessA.createProducer(temp); + prod.send(sessA.createTextMessage("hi")); + + Thread.sleep(500); + assertTrue("Exception received", _exceptions.isEmpty()); + + Connection conB = getConnection(); + Session sessB = conB.createSession(false, Session.AUTO_ACKNOWLEDGE); + + JMSException ex = null; + try + { + MessageConsumer consB = sessB.createConsumer(temp); + } + catch (JMSException e) + { + ex = e; + } + assertNotNull(ex); + } + public static junit.framework.Test suite() { return new junit.framework.TestSuite(TemporaryQueueTest.class); } + + public void onException(JMSException arg0) + { + _exceptions.add(arg0); + } + } |
