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:
|
||||
set: {topic, ...}
|
||||
"""
|
||||
return self._subscription.subscription
|
||||
return self._subscription.subscription.copy()
|
||||
|
||||
def unsubscribe(self):
|
||||
"""Unsubscribe from all topics and clear all assigned partitions."""
|
||||
|
|
|
@ -24,6 +24,14 @@ class TestKafkaConsumer(unittest.TestCase):
|
|||
with self.assertRaises(KafkaConfigurationError):
|
||||
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):
|
||||
@unittest.skipIf(sys.platform.startswith('win'), 'test mocking fails on windows')
|
||||
|
|
Loading…
Reference in New Issue