From 9d8a602cfc41a5c8d155507293c90e92f1457b52 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Fri, 6 Jan 2012 11:28:35 +0000 Subject: QPID-3716: restore throwing of IllegalStateException upon invoking Session#getTransacted() on a closed session Applied patch from Oleksandr Rudyy git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1228109 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/test/unit/transacted/TransactedTest.java | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to 'java/systests/src/main') diff --git a/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactedTest.java b/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactedTest.java index 653ab8f733..3c0f951c96 100644 --- a/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactedTest.java +++ b/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactedTest.java @@ -31,6 +31,8 @@ import org.apache.qpid.test.utils.QpidBrokerTestCase; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.jms.Connection; +import javax.jms.IllegalStateException; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; @@ -303,6 +305,70 @@ public class TransactedTest extends QpidBrokerTestCase con2.close(); } + public void testCommitOnClosedConnection() throws Exception + { + Connection connnection = getConnection(); + javax.jms.Session transactedSession = connnection.createSession(true, Session.SESSION_TRANSACTED); + connnection.close(); + try + { + transactedSession.commit(); + fail("Commit on closed connection should throw IllegalStateException!"); + } + catch(IllegalStateException e) + { + // passed + } + } + + public void testCommitOnClosedSession() throws Exception + { + Connection connnection = getConnection(); + javax.jms.Session transactedSession = connnection.createSession(true, Session.SESSION_TRANSACTED); + transactedSession.close(); + try + { + transactedSession.commit(); + fail("Commit on closed session should throw IllegalStateException!"); + } + catch(IllegalStateException e) + { + // passed + } + } + + public void testRollbackOnClosedSession() throws Exception + { + Connection connnection = getConnection(); + javax.jms.Session transactedSession = connnection.createSession(true, Session.SESSION_TRANSACTED); + transactedSession.close(); + try + { + transactedSession.rollback(); + fail("Rollback on closed session should throw IllegalStateException!"); + } + catch(IllegalStateException e) + { + // passed + } + } + + public void testGetTransactedOnClosedSession() throws Exception + { + Connection connnection = getConnection(); + javax.jms.Session transactedSession = connnection.createSession(true, Session.SESSION_TRANSACTED); + transactedSession.close(); + try + { + transactedSession.getTransacted(); + fail("According to Sun TCK invocation of Session#getTransacted on closed session should throw IllegalStateException!"); + } + catch(IllegalStateException e) + { + // passed + } + } + private void expect(String text, Message msg) throws JMSException { expect(text, msg, false); -- cgit v1.2.1