diff options
| author | Robert Gemmell <robbie@apache.org> | 2012-01-06 11:28:35 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2012-01-06 11:28:35 +0000 |
| commit | 9d8a602cfc41a5c8d155507293c90e92f1457b52 (patch) | |
| tree | e0baa59bb24920505eeec8f38de56ae293743630 /java/systests | |
| parent | efa1eaf326054adce5fea88a51ee6341fbe35f8f (diff) | |
| download | qpid-python-9d8a602cfc41a5c8d155507293c90e92f1457b52.tar.gz | |
QPID-3716: restore throwing of IllegalStateException upon invoking Session#getTransacted() on a closed session
Applied patch from Oleksandr Rudyy<orudyy@gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1228109 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/systests')
| -rw-r--r-- | java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactedTest.java | 66 |
1 files changed, 66 insertions, 0 deletions
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); |
