From ee26c3f547f357d639b421b3e38a74e87e21f346 Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Sat, 26 May 2018 08:43:25 -0700 Subject: Ignore MetadataResponses with empty broker list (#1506) --- test/test_cluster.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 test/test_cluster.py (limited to 'test') 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 -- cgit v1.2.1