summaryrefslogtreecommitdiff
path: root/test/test_cluster.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2018-05-26 08:43:25 -0700
committerGitHub <noreply@github.com>2018-05-26 08:43:25 -0700
commitee26c3f547f357d639b421b3e38a74e87e21f346 (patch)
tree945cc585f23bbeb7a3b64361e7d069998848394c /test/test_cluster.py
parentc9d783a8211337205bc90c27d1f67beb65ac5d9e (diff)
downloadkafka-python-ee26c3f547f357d639b421b3e38a74e87e21f346.tar.gz
Ignore MetadataResponses with empty broker list (#1506)
Diffstat (limited to 'test/test_cluster.py')
-rw-r--r--test/test_cluster.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test_cluster.py b/test/test_cluster.py
new file mode 100644
index 0000000..f010c4f
--- /dev/null
+++ b/test/test_cluster.py
@@ -0,0 +1,22 @@
+# pylint: skip-file
+from __future__ import absolute_import
+
+import pytest
+
+from kafka.cluster import ClusterMetadata
+from kafka.protocol.metadata import MetadataResponse
+
+
+def test_empty_broker_list():
+ cluster = ClusterMetadata()
+ assert len(cluster.brokers()) == 0
+
+ cluster.update_metadata(MetadataResponse[0](
+ [(0, 'foo', 12), (1, 'bar', 34)], []))
+ assert len(cluster.brokers()) == 2
+
+ # empty broker list response should be ignored
+ cluster.update_metadata(MetadataResponse[0](
+ [], # empty brokers
+ [(17, 'foo', []), (17, 'bar', [])])) # topics w/ error
+ assert len(cluster.brokers()) == 2