summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2010-09-29 01:59:08 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2010-09-29 01:59:08 +0000
commit1438c4fa9ab60eb4bce7bdbf02a87ad34b82b846 (patch)
treef3ce8d5fa5e4ad70ea9601805cf844c8b0214e8c
parent01f8f486dac11ff12484c11484def218ed4f11c5 (diff)
downloadqpid-python-1438c4fa9ab60eb4bce7bdbf02a87ad34b82b846.tar.gz
Added a failover test case that uses durable subscriptions.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1002448 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xqpid/java/testkit/testkit.py38
1 files changed, 37 insertions, 1 deletions
diff --git a/qpid/java/testkit/testkit.py b/qpid/java/testkit/testkit.py
index 4e6ee9b586..5f83156c38 100755
--- a/qpid/java/testkit/testkit.py
+++ b/qpid/java/testkit/testkit.py
@@ -213,4 +213,40 @@ class SoakTest(JavaClientTest):
self.verify(receiver,sender)
if error_msg:
- raise Exception(error_msg)
+ raise Exception(error_msg)
+
+ def test_failover_with_durablesub(self):
+ cluster = self.cluster(4, expect=EXPECT_EXIT_FAIL)
+ p = cluster[0].port()
+ self.start_error_watcher(broker=cluster[0])
+ receiver = self.popen(self.client(receiver=True,
+ ssn_per_con=1,
+ port=p,
+ jms_durable_sub=True,
+ test_name=self.id()),
+ expect=EXPECT_RUNNING)
+
+ sender = self.popen(self.client(sender=True,
+ ssn_per_con=1,
+ port=p,
+ test_name=self.id()),
+ expect=EXPECT_RUNNING)
+
+ # grace period for java clients to get the failover properly setup.
+ time.sleep(30)
+ error_msg=None
+ # Kill original brokers, start new ones.
+ try:
+ for i in range(8):
+ cluster[i].kill()
+ b=cluster.start()
+ self.monitor_clients(broker=b,run_time=30,error_ck_freq=30)
+ except ConnectError, e1:
+ error_msg = "Unable to connect to new cluster node : " + traceback.format_exc(e1)
+
+ except SessionError, e2:
+ error_msg = "Session error while connected to new cluster node : " + traceback.format_exc(e2)
+
+ self.verify(receiver,sender)
+ if error_msg:
+ raise Exception(error_msg)