You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2015/01/16 19:00:58 UTC
[1/2] qpid-jms git commit: move remaining session test to the session
package
Repository: qpid-jms
Updated Branches:
refs/heads/master 72ab8a358 -> a52fc5836
move remaining session test to the session package
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/a52fc583
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/a52fc583
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/a52fc583
Branch: refs/heads/master
Commit: a52fc583616bdaa9ad63d7c4b4e5e0f772232669
Parents: b5fb0f3
Author: Robert Gemmell <ro...@apache.org>
Authored: Fri Jan 16 17:34:18 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Fri Jan 16 17:58:07 2015 +0000
----------------------------------------------------------------------
.../org/apache/qpid/jms/JmsSessionTest.java | 82 --------------------
.../apache/qpid/jms/session/JmsSessionTest.java | 82 ++++++++++++++++++++
2 files changed, 82 insertions(+), 82 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a52fc583/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionTest.java
deleted file mode 100644
index 6c3ca35..0000000
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionTest.java
+++ /dev/null
@@ -1,82 +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.jms;
-
-import static org.junit.Assert.assertNotNull;
-
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-
-import org.apache.qpid.jms.support.AmqpTestSupport;
-import org.junit.Test;
-
-/**
- * Test basic Session functionality.
- */
-public class JmsSessionTest extends AmqpTestSupport {
-
- @Test(timeout = 60000)
- public void testCreateSession() throws Exception {
- connection = createAmqpConnection();
- assertNotNull(connection);
- connection.start();
-
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- assertNotNull(session);
-
- session.close();
- }
-
- @Test(timeout=30000)
- public void testSessionCreateProducer() throws Exception {
- connection = createAmqpConnection();
- assertNotNull(connection);
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- assertNotNull(session);
-
- Queue queue = session.createQueue("test.queue");
- MessageProducer producer = session.createProducer(queue);
-
- producer.close();
- session.close();
- }
-
- @Test(timeout=30000)
- public void testSessionCreateConsumer() throws Exception {
- connection = createAmqpConnection();
- assertNotNull(connection);
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- assertNotNull(session);
-
- Queue queue = session.createQueue("test.queue");
- MessageConsumer consumer = session.createConsumer(queue);
-
- consumer.close();
- session.close();
- }
-
- @Test(timeout=30000)
- public void testSessionDoubleCloseWithoutException() throws Exception {
- connection = createAmqpConnection();
- connection.start();
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- session.close();
- session.close();
- }
-}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a52fc583/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java
new file mode 100644
index 0000000..63d0636
--- /dev/null
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java
@@ -0,0 +1,82 @@
+/**
+ * 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.jms.session;
+
+import static org.junit.Assert.assertNotNull;
+
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+
+import org.apache.qpid.jms.support.AmqpTestSupport;
+import org.junit.Test;
+
+/**
+ * Test basic Session functionality.
+ */
+public class JmsSessionTest extends AmqpTestSupport {
+
+ @Test(timeout = 60000)
+ public void testCreateSession() throws Exception {
+ connection = createAmqpConnection();
+ assertNotNull(connection);
+ connection.start();
+
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ assertNotNull(session);
+
+ session.close();
+ }
+
+ @Test(timeout=30000)
+ public void testSessionCreateProducer() throws Exception {
+ connection = createAmqpConnection();
+ assertNotNull(connection);
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ assertNotNull(session);
+
+ Queue queue = session.createQueue("test.queue");
+ MessageProducer producer = session.createProducer(queue);
+
+ producer.close();
+ session.close();
+ }
+
+ @Test(timeout=30000)
+ public void testSessionCreateConsumer() throws Exception {
+ connection = createAmqpConnection();
+ assertNotNull(connection);
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ assertNotNull(session);
+
+ Queue queue = session.createQueue("test.queue");
+ MessageConsumer consumer = session.createConsumer(queue);
+
+ consumer.close();
+ session.close();
+ }
+
+ @Test(timeout=30000)
+ public void testSessionDoubleCloseWithoutException() throws Exception {
+ connection = createAmqpConnection();
+ connection.start();
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ session.close();
+ session.close();
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/2] qpid-jms git commit: merge the two JmsSessionClosedTest classes
Posted by ro...@apache.org.
merge the two JmsSessionClosedTest classes
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/b5fb0f3e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/b5fb0f3e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/b5fb0f3e
Branch: refs/heads/master
Commit: b5fb0f3e67c93ddb673d3245bd47a2de166d140c
Parents: 72ab8a3
Author: Robert Gemmell <ro...@apache.org>
Authored: Fri Jan 16 17:33:31 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Fri Jan 16 17:58:07 2015 +0000
----------------------------------------------------------------------
.../apache/qpid/jms/JmsSessionClosedTest.java | 234 -------------------
.../apache/qpid/jms/JmsSessionFailedTest.java | 62 -----
.../qpid/jms/session/JmsSessionClosedTest.java | 214 ++++++++++++++++-
.../qpid/jms/session/JmsSessionFailedTest.java | 69 ++++++
4 files changed, 277 insertions(+), 302 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b5fb0f3e/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionClosedTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionClosedTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionClosedTest.java
deleted file mode 100644
index b1237a1..0000000
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionClosedTest.java
+++ /dev/null
@@ -1,234 +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.jms;
-
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.Topic;
-
-import org.apache.qpid.jms.support.AmqpTestSupport;
-import org.junit.Test;
-
-/**
- * Validates all Session contracts following a close() call.
- */
-public class JmsSessionClosedTest extends AmqpTestSupport {
-
- protected Session createSession() throws Exception {
- connection = createAmqpConnection();
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- session.close();
- return session;
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateMessageFails() throws Exception {
- Session session = createSession();
- session.createMessage();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateTextMessageFails() throws Exception {
- Session session = createSession();
- session.createTextMessage();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateTextMessageWithTextFails() throws Exception {
- Session session = createSession();
- session.createTextMessage("TEST");
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateMapMessageFails() throws Exception {
- Session session = createSession();
- session.createMapMessage();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateStreamMessageFails() throws Exception {
- Session session = createSession();
- session.createStreamMessage();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateBytesMessageFails() throws Exception {
- Session session = createSession();
- session.createBytesMessage();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateObjectMessageFails() throws Exception {
- Session session = createSession();
- session.createObjectMessage();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateObjectMessageWithObjectFails() throws Exception {
- Session session = createSession();
- session.createObjectMessage("TEST");
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testGetTransactedFails() throws Exception {
- Session session = createSession();
- session.getTransacted();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testGetAcknowledgeModeFails() throws Exception {
- Session session = createSession();
- session.getAcknowledgeMode();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCommitFails() throws Exception {
- Session session = createSession();
- session.commit();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testRollbackFails() throws Exception {
- Session session = createSession();
- session.rollback();
- }
-
- @Test(timeout=30000)
- public void testCloseDoesNotFail() throws Exception {
- Session session = createSession();
- session.close();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testRecoverFails() throws Exception {
- Session session = createSession();
- session.recover();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testGetMessageListenerFails() throws Exception {
- Session session = createSession();
- session.getMessageListener();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testSetMessageListenerFails() throws Exception {
- Session session = createSession();
- MessageListener listener = new MessageListener() {
- @Override
- public void onMessage(Message message) {
- }
- };
- session.setMessageListener(listener);
- }
-
- @Test(timeout=30000, expected=RuntimeException.class)
- public void testRunFails() throws Exception {
- Session session = createSession();
- session.run();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateProducerFails() throws Exception {
- Session session = createSession();
- Destination destination = session.createQueue("test");
- session.createProducer(destination);
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateConsumerDestinatioFails() throws Exception {
- Session session = createSession();
- Destination destination = session.createQueue("test");
- session.createConsumer(destination);
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateConsumerDestinatioSelectorFails() throws Exception {
- Session session = createSession();
- Destination destination = session.createQueue("test");
- session.createConsumer(destination, "a = b");
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateConsumerDestinatioSelectorBooleanFails() throws Exception {
- Session session = createSession();
- Destination destination = session.createQueue("test");
- session.createConsumer(destination, "a = b", true);
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateQueueFails() throws Exception {
- Session session = createSession();
- session.createQueue("TEST");
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateTopicFails() throws Exception {
- Session session = createSession();
- session.createTopic("TEST");
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateTemporaryQueueFails() throws Exception {
- Session session = createSession();
- session.createTemporaryQueue();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateTemporaryTopicFails() throws Exception {
- Session session = createSession();
- session.createTemporaryQueue();
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateDurableSubscriberFails() throws Exception {
- Session session = createSession();
- Topic destination = session.createTopic("TEST");
- session.createDurableSubscriber(destination, "test");
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateDurableSubscriberSelectorBooleanFails() throws Exception {
- Session session = createSession();
- Topic destination = session.createTopic("TEST");
- session.createDurableSubscriber(destination, "test", "a = b", false);
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateQueueBrowserFails() throws Exception {
- Session session = createSession();
- Queue destination = session.createQueue("test");
- session.createBrowser(destination);
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testCreateQueueBrowserWithSelectorFails() throws Exception {
- Session session = createSession();
- Queue destination = session.createQueue("test");
- session.createBrowser(destination, "a = b");
- }
-
- @Test(timeout=30000, expected=JMSException.class)
- public void testUnsubscribeFails() throws Exception {
- Session session = createSession();
- session.unsubscribe("test");
- }
-}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b5fb0f3e/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionFailedTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionFailedTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionFailedTest.java
deleted file mode 100644
index 5e6846c..0000000
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSessionFailedTest.java
+++ /dev/null
@@ -1,62 +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.jms;
-
-import static org.junit.Assert.assertTrue;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.Session;
-
-import org.apache.qpid.jms.JmsConnection;
-import org.apache.qpid.jms.support.Wait;
-
-
-/**
- * Tests the Session method contracts when the underlying connection is lost.
- */
-public class JmsSessionFailedTest extends JmsSessionClosedTest {
-
- @Override
- protected Session createSession() throws Exception {
- final CountDownLatch latch = new CountDownLatch(1);
- connection = createAmqpConnection();
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- connection.setExceptionListener(new ExceptionListener() {
-
- @Override
- public void onException(JMSException exception) {
- latch.countDown();
- }
- });
- connection.start();
- stopPrimaryBroker();
- assertTrue(latch.await(20, TimeUnit.SECONDS));
- final JmsConnection jmsConnection = (JmsConnection) connection;
- assertTrue(Wait.waitFor(new Wait.Condition() {
-
- @Override
- public boolean isSatisified() throws Exception {
- return !jmsConnection.isConnected();
- }
- }));
- return session;
- }
-}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b5fb0f3e/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionClosedTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionClosedTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionClosedTest.java
index 7d3527f..a9ea137 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionClosedTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionClosedTest.java
@@ -16,10 +16,15 @@
*/
package org.apache.qpid.jms.session;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Message;
import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
+import javax.jms.Topic;
import org.apache.qpid.jms.JmsConnectionFactory;
import org.apache.qpid.jms.support.AmqpTestSupport;
@@ -30,15 +35,14 @@ import org.junit.Test;
*/
public class JmsSessionClosedTest extends AmqpTestSupport {
- private Session session;
- private MessageProducer sender;
- private MessageConsumer receiver;
+ protected MessageProducer sender;
+ protected MessageConsumer receiver;
- protected void createAndCloseSession() throws Exception {
+ protected Session createAndCloseSession() throws Exception {
JmsConnectionFactory factory = new JmsConnectionFactory(getBrokerAmqpConnectionURI());
connection = factory.createConnection();
- session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue destination = session.createQueue(name.getMethodName());
sender = session.createProducer(destination);
@@ -46,15 +50,213 @@ public class JmsSessionClosedTest extends AmqpTestSupport {
// Close the session explicitly, without closing the above.
session.close();
+
+ return session;
}
@Test(timeout=30000)
public void testSessionCloseAgain() throws Exception {
- createAndCloseSession();
+ Session session = createAndCloseSession();
// Close it again
session.close();
}
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateMessageFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createMessage();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateTextMessageFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createTextMessage();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateTextMessageWithTextFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createTextMessage("TEST");
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateMapMessageFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createMapMessage();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateStreamMessageFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createStreamMessage();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateBytesMessageFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createBytesMessage();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateObjectMessageFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createObjectMessage();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateObjectMessageWithObjectFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createObjectMessage("TEST");
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testGetTransactedFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.getTransacted();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testGetAcknowledgeModeFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.getAcknowledgeMode();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCommitFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.commit();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testRollbackFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.rollback();
+ }
+
+ @Test(timeout=30000)
+ public void testCloseDoesNotFail() throws Exception {
+ Session session = createAndCloseSession();
+ session.close();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testRecoverFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.recover();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testGetMessageListenerFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.getMessageListener();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testSetMessageListenerFails() throws Exception {
+ Session session = createAndCloseSession();
+ MessageListener listener = new MessageListener() {
+ @Override
+ public void onMessage(Message message) {
+ }
+ };
+ session.setMessageListener(listener);
+ }
+
+ @Test(timeout=30000, expected=RuntimeException.class)
+ public void testRunFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.run();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateProducerFails() throws Exception {
+ Session session = createAndCloseSession();
+ Destination destination = session.createQueue("test");
+ session.createProducer(destination);
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateConsumerDestinatioFails() throws Exception {
+ Session session = createAndCloseSession();
+ Destination destination = session.createQueue("test");
+ session.createConsumer(destination);
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateConsumerDestinatioSelectorFails() throws Exception {
+ Session session = createAndCloseSession();
+ Destination destination = session.createQueue("test");
+ session.createConsumer(destination, "a = b");
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateConsumerDestinatioSelectorBooleanFails() throws Exception {
+ Session session = createAndCloseSession();
+ Destination destination = session.createQueue("test");
+ session.createConsumer(destination, "a = b", true);
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateQueueFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createQueue("TEST");
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateTopicFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createTopic("TEST");
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateTemporaryQueueFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createTemporaryQueue();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateTemporaryTopicFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.createTemporaryQueue();
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateDurableSubscriberFails() throws Exception {
+ Session session = createAndCloseSession();
+ Topic destination = session.createTopic("TEST");
+ session.createDurableSubscriber(destination, "test");
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateDurableSubscriberSelectorBooleanFails() throws Exception {
+ Session session = createAndCloseSession();
+ Topic destination = session.createTopic("TEST");
+ session.createDurableSubscriber(destination, "test", "a = b", false);
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateQueueBrowserFails() throws Exception {
+ Session session = createAndCloseSession();
+ Queue destination = session.createQueue("test");
+ session.createBrowser(destination);
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testCreateQueueBrowserWithSelectorFails() throws Exception {
+ Session session = createAndCloseSession();
+ Queue destination = session.createQueue("test");
+ session.createBrowser(destination, "a = b");
+ }
+
+ @Test(timeout=30000, expected=JMSException.class)
+ public void testUnsubscribeFails() throws Exception {
+ Session session = createAndCloseSession();
+ session.unsubscribe("test");
+ }
+
+ // --- Test effects on consumer/producer opened previously on the session ---
+
@Test(timeout=30000)
public void testConsumerCloseAgain() throws Exception {
createAndCloseSession();
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b5fb0f3e/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionFailedTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionFailedTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionFailedTest.java
new file mode 100644
index 0000000..3b56d5c
--- /dev/null
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/session/JmsSessionFailedTest.java
@@ -0,0 +1,69 @@
+/**
+ * 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.jms.session;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.jms.Session;
+
+import org.apache.qpid.jms.JmsConnection;
+import org.apache.qpid.jms.support.Wait;
+
+
+/**
+ * Tests the Session method contracts when the underlying connection is lost.
+ */
+public class JmsSessionFailedTest extends JmsSessionClosedTest {
+
+ @Override
+ protected Session createAndCloseSession() throws Exception {
+ final CountDownLatch latch = new CountDownLatch(1);
+ connection = createAmqpConnection();
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ connection.setExceptionListener(new ExceptionListener() {
+
+ @Override
+ public void onException(JMSException exception) {
+ latch.countDown();
+ }
+ });
+ Queue destination = session.createQueue(name.getMethodName());
+
+ sender = session.createProducer(destination);
+ receiver = session.createConsumer(destination);
+ connection.start();
+
+ stopPrimaryBroker();
+
+ assertTrue(latch.await(20, TimeUnit.SECONDS));
+ final JmsConnection jmsConnection = (JmsConnection) connection;
+ assertTrue(Wait.waitFor(new Wait.Condition() {
+
+ @Override
+ public boolean isSatisified() throws Exception {
+ return !jmsConnection.isConnected();
+ }
+ }));
+ return session;
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org