Return copy of consumer subscription set (#1029)
This commit is contained in:
parent
899f11730d
commit
ce57dac0c6
|
@ -819,7 +819,7 @@ class KafkaConsumer(six.Iterator):
|
||||||
Returns:
|
Returns:
|
||||||
set: {topic, ...}
|
set: {topic, ...}
|
||||||
"""
|
"""
|
||||||
return self._subscription.subscription
|
return self._subscription.subscription.copy()
|
||||||
|
|
||||||
def unsubscribe(self):
|
def unsubscribe(self):
|
||||||
"""Unsubscribe from all topics and clear all assigned partitions."""
|
"""Unsubscribe from all topics and clear all assigned partitions."""
|
||||||
|
|
|
@ -24,6 +24,14 @@ class TestKafkaConsumer(unittest.TestCase):
|
||||||
with self.assertRaises(KafkaConfigurationError):
|
with self.assertRaises(KafkaConfigurationError):
|
||||||
KafkaConsumer(bootstrap_servers='localhost:9092', fetch_max_wait_ms=41000, request_timeout_ms=40000)
|
KafkaConsumer(bootstrap_servers='localhost:9092', fetch_max_wait_ms=41000, request_timeout_ms=40000)
|
||||||
|
|
||||||
|
def test_subscription_copy(self):
|
||||||
|
consumer = KafkaConsumer('foo', api_version=(0, 10))
|
||||||
|
sub = consumer.subscription()
|
||||||
|
assert sub is not consumer.subscription()
|
||||||
|
assert sub == set(['foo'])
|
||||||
|
sub.add('fizz')
|
||||||
|
assert consumer.subscription() == set(['foo'])
|
||||||
|
|
||||||
|
|
||||||
class TestMultiProcessConsumer(unittest.TestCase):
|
class TestMultiProcessConsumer(unittest.TestCase):
|
||||||
@unittest.skipIf(sys.platform.startswith('win'), 'test mocking fails on windows')
|
@unittest.skipIf(sys.platform.startswith('win'), 'test mocking fails on windows')
|
||||||
|
|
Loading…
Reference in New Issue