summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2014-12-02 15:26:12 +0100
committerJulien Danjou <julien@danjou.info>2014-12-02 15:32:29 +0100
commit007e02cf06444ab6c4c5ea12f5fceb4fd4a31472 (patch)
tree6ab69261ee910d8fe83157268d90da069857af34
parent553518403cc406ae9f0a5d2b324e41e9bb0e3117 (diff)
downloadtooz-007e02cf06444ab6c4c5ea12f5fceb4fd4a31472.tar.gz
tests: check for leave group events on dead members cleanup
Change-Id: I7fc5dd5dadedd002cf36bb93a3d3c791bcfe8349 Related-Bugs: #1392800
-rw-r--r--tooz/tests/test_coordination.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tooz/tests/test_coordination.py b/tooz/tests/test_coordination.py
index 451c9da..0890256 100644
--- a/tooz/tests/test_coordination.py
+++ b/tooz/tests/test_coordination.py
@@ -257,12 +257,30 @@ class TestAPI(testscenarios.TestWithScenarios,
members_ids = self._coord.get_members(self.group_id).get()
self.assertTrue(self.member_id in members_ids)
self.assertTrue(member_id_test2 in members_ids)
+
+ # Watch the group, we want to be sure that when client2 is kicked out
+ # we get an event.
+ self._coord.watch_leave_group(self.group_id, self._set_event)
+
time.sleep(3)
self._coord.heartbeat()
time.sleep(3)
+
+ # Now client2 has timed out!
+
members_ids = self._coord.get_members(self.group_id).get()
+ while True:
+ if self._coord.run_watchers():
+ break
self.assertTrue(self.member_id in members_ids)
self.assertTrue(member_id_test2 not in members_ids)
+ # Check that the event has been triggered
+ self.assertIsInstance(self.event,
+ tooz.coordination.MemberLeftGroup)
+ self.assertEqual(member_id_test2,
+ self.event.member_id)
+ self.assertEqual(self.group_id,
+ self.event.group_id)
def _set_event(self, event):
self.event = event