summaryrefslogtreecommitdiff
path: root/test/test_coordinator.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2018-01-11 14:48:38 -0800
committerGitHub <noreply@github.com>2018-01-11 14:48:38 -0800
commitda65a562bdd9ce20290d4375acc36b4977ef7026 (patch)
tree4db46fe723673a3cde6bb96b6da6c569c1eac2e4 /test/test_coordinator.py
parenta69320b8e3199fa9d7cfa3947a242e699a045c3b (diff)
downloadkafka-python-da65a562bdd9ce20290d4375acc36b4977ef7026.tar.gz
Fix coordinator join_future race condition (#1338)
* Fix race condition in coordinator join_future handling
Diffstat (limited to 'test/test_coordinator.py')
-rw-r--r--test/test_coordinator.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/test_coordinator.py b/test/test_coordinator.py
index 7dc0e04..f567369 100644
--- a/test/test_coordinator.py
+++ b/test/test_coordinator.py
@@ -620,3 +620,16 @@ def test_lookup_coordinator_failure(mocker, coordinator):
return_value=Future().failure(Exception('foobar')))
future = coordinator.lookup_coordinator()
assert future.failed()
+
+
+def test_ensure_active_group(mocker, coordinator):
+ coordinator._subscription.subscribe(topics=['foobar'])
+ mocker.patch.object(coordinator, 'coordinator_unknown', return_value=False)
+ mocker.patch.object(coordinator, '_send_join_group_request', return_value=Future().success(True))
+ mocker.patch.object(coordinator, 'need_rejoin', side_effect=[True, True, False])
+ mocker.patch.object(coordinator, '_on_join_complete')
+ mocker.patch.object(coordinator, '_heartbeat_thread')
+
+ coordinator.ensure_active_group()
+
+ coordinator._send_join_group_request.assert_called_once_with()