|
2 | 2 | from hazelcast.core import Address |
3 | 3 | from tests.base import HazelcastTestCase |
4 | 4 | from hazelcast.config import ClientConfig, ClientProperties |
5 | | -from tests.util import configure_logging |
| 5 | +from tests.util import configure_logging, open_connection_to_address |
6 | 6 |
|
7 | 7 |
|
8 | 8 | class HeartbeatTest(HazelcastTestCase): |
@@ -31,46 +31,31 @@ def tearDown(self): |
31 | 31 |
|
32 | 32 | def test_heartbeat_stopped(self): |
33 | 33 |
|
34 | | - def member_added_func(m): |
35 | | - def connection_callback(f): |
36 | | - conn = f.result() |
37 | | - self.simulate_heartbeat_lost(self.client, Address(conn._address[0], conn._address[1]), 2) |
38 | | - |
39 | | - self.client.connection_manager.get_or_connect(m.address).add_done_callback(connection_callback) |
40 | | - |
41 | | - self.client.cluster.add_listener(member_added=member_added_func) |
42 | | - |
43 | | - def heartbeat_stopped_collector(): |
44 | | - connections = [] |
45 | | - |
46 | | - def connection_collector(c): |
47 | | - connections.append(c) |
48 | | - |
49 | | - connection_collector.connections = connections |
50 | | - return connection_collector |
51 | | - |
52 | | - def heartbeat_restored_collector(): |
| 34 | + def connection_collector(): |
53 | 35 | connections = [] |
54 | 36 |
|
55 | | - def connection_collector(c): |
| 37 | + def collector(c): |
56 | 38 | connections.append(c) |
57 | 39 |
|
58 | | - connection_collector.connections = connections |
59 | | - return connection_collector |
| 40 | + collector.connections = connections |
| 41 | + return collector |
60 | 42 |
|
61 | | - stopped_collector = heartbeat_stopped_collector() |
62 | | - restored_collector = heartbeat_restored_collector() |
| 43 | + heartbeat_stopped_collector = connection_collector() |
| 44 | + heartbeat_restored_collector = connection_collector() |
63 | 45 |
|
64 | | - self.client.heartbeat.add_listener(on_heartbeat_stopped=stopped_collector, |
65 | | - on_heartbeat_restored=restored_collector) |
| 46 | + self.client.heartbeat.add_listener(on_heartbeat_stopped=heartbeat_stopped_collector, |
| 47 | + on_heartbeat_restored=heartbeat_restored_collector) |
66 | 48 |
|
67 | 49 | member2 = self.rc.startMember(self.cluster.id) |
| 50 | + addr = Address(member2.host, member2.port) |
| 51 | + open_connection_to_address(self.client, addr) |
| 52 | + self.simulate_heartbeat_lost(self.client, addr, 2) |
68 | 53 |
|
69 | 54 | def assert_heartbeat_stopped_and_restored(): |
70 | | - self.assertEqual(1, len(stopped_collector.connections)) |
71 | | - self.assertEqual(1, len(restored_collector.connections)) |
72 | | - connection_stopped = stopped_collector.connections[0] |
73 | | - connection_restored = restored_collector.connections[0] |
| 55 | + self.assertEqual(1, len(heartbeat_stopped_collector.connections)) |
| 56 | + self.assertEqual(1, len(heartbeat_restored_collector.connections)) |
| 57 | + connection_stopped = heartbeat_stopped_collector.connections[0] |
| 58 | + connection_restored = heartbeat_restored_collector.connections[0] |
74 | 59 | self.assertEqual(connection_stopped._address, (member2.host, member2.port)) |
75 | 60 | self.assertEqual(connection_restored._address, (member2.host, member2.port)) |
76 | 61 |
|
|
0 commit comments