diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2010-09-29 01:59:08 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2010-09-29 01:59:08 +0000 |
commit | 1438c4fa9ab60eb4bce7bdbf02a87ad34b82b846 (patch) | |
tree | f3ce8d5fa5e4ad70ea9601805cf844c8b0214e8c | |
parent | 01f8f486dac11ff12484c11484def218ed4f11c5 (diff) | |
download | qpid-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-x | qpid/java/testkit/testkit.py | 38 |
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) |