diff options
| author | Julien Danjou <julien@danjou.info> | 2014-12-02 15:26:12 +0100 |
|---|---|---|
| committer | Julien Danjou <julien@danjou.info> | 2014-12-02 15:32:29 +0100 |
| commit | 007e02cf06444ab6c4c5ea12f5fceb4fd4a31472 (patch) | |
| tree | 6ab69261ee910d8fe83157268d90da069857af34 | |
| parent | 553518403cc406ae9f0a5d2b324e41e9bb0e3117 (diff) | |
| download | tooz-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.py | 18 |
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 |
