You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2010/09/29 03:59:08 UTC

svn commit: r1002448 - /qpid/trunk/qpid/java/testkit/testkit.py

Author: rajith
Date: Wed Sep 29 01:59:08 2010
New Revision: 1002448

URL: http://svn.apache.org/viewvc?rev=1002448&view=rev
Log:
Added a failover test case that uses durable subscriptions.

Modified:
    qpid/trunk/qpid/java/testkit/testkit.py

Modified: qpid/trunk/qpid/java/testkit/testkit.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/testkit/testkit.py?rev=1002448&r1=1002447&r2=1002448&view=diff
==============================================================================
--- qpid/trunk/qpid/java/testkit/testkit.py (original)
+++ qpid/trunk/qpid/java/testkit/testkit.py Wed Sep 29 01:59:08 2010
@@ -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)            



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org