summaryrefslogtreecommitdiff
path: root/qpid/python/tests_0-10
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2009-09-01 15:22:48 +0000
committerGordon Sim <gsim@apache.org>2009-09-01 15:22:48 +0000
commit2efb7bb5c2bbd3df778710cfb67a630fa6d4d0fa (patch)
tree628c02aeddb3f0569d1784bb2ae7ca8dc92ee82b /qpid/python/tests_0-10
parentba5f2293f89b9ff044378f78db26c8728725244f (diff)
downloadqpid-python-2efb7bb5c2bbd3df778710cfb67a630fa6d4d0fa.tar.gz
QPID-2078: Ensure sessions are cleaned up when their connection is closed by management.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@810094 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python/tests_0-10')
-rw-r--r--qpid/python/tests_0-10/management.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/qpid/python/tests_0-10/management.py b/qpid/python/tests_0-10/management.py
index 51c2a687cb..53573f309e 100644
--- a/qpid/python/tests_0-10/management.py
+++ b/qpid/python/tests_0-10/management.py
@@ -295,3 +295,25 @@ class ManagementTest (TestBase010):
sleep(1)
self.assertEqual(handler.check(), "pass")
+ def test_connection_close(self):
+ """
+ Test management method for closing connection
+ """
+ self.startQmf()
+ conn = self.connect()
+ session = conn.session("my-named-session")
+
+ #using qmf find named session and close the corresponding connection:
+ qmf_ssn_object = self.qmf.getObjects(_class="session", name="my-named-session")[0]
+ qmf_ssn_object._connectionRef_.close()
+
+ #check that connection is closed
+ try:
+ conn.session("another-session")
+ self.fail("Expected failure from closed connection")
+ except: None
+
+ #make sure that the named session has been closed and the name can be re-used
+ conn = self.connect()
+ session = conn.session("my-named-session")
+ session.queue_declare(queue="whatever", exclusive=True, auto_delete=True)