summaryrefslogtreecommitdiff
path: root/test/test_client_async.py
diff options
context:
space:
mode:
authorDmitry Lazurkin <dilaz03@gmail.com>2016-12-28 02:36:57 +0300
committerDana Powers <dana.powers@gmail.com>2016-12-27 15:36:57 -0800
commit4acb7f443464542d08753163d47c16b6b4a5a4a5 (patch)
tree7a337a9ddc2a03b2dfead3b1f312178ebb840eb5 /test/test_client_async.py
parent0e55d9957a3530f499e81ab6433676ad9c1bce87 (diff)
downloadkafka-python-4acb7f443464542d08753163d47c16b6b4a5a4a5.tar.gz
Add metadata update to pattern subscribing (#915)
Diffstat (limited to 'test/test_client_async.py')
-rw-r--r--test/test_client_async.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/test/test_client_async.py b/test/test_client_async.py
index b165f93..8661e90 100644
--- a/test/test_client_async.py
+++ b/test/test_client_async.py
@@ -17,6 +17,8 @@ from kafka.future import Future
from kafka.protocol.metadata import MetadataResponse, MetadataRequest
from kafka.protocol.produce import ProduceRequest
from kafka.structs import BrokerMetadata
+from kafka.cluster import ClusterMetadata
+from kafka.future import Future
@pytest.fixture
@@ -285,8 +287,30 @@ def test_least_loaded_node():
pass
-def test_set_topics():
- pass
+def test_set_topics(mocker):
+ request_update = mocker.patch.object(ClusterMetadata, 'request_update')
+ request_update.side_effect = lambda: Future()
+ cli = KafkaClient(api_version=(0, 10))
+
+ # replace 'empty' with 'non empty'
+ request_update.reset_mock()
+ fut = cli.set_topics(['t1', 't2'])
+ assert not fut.is_done
+ request_update.assert_called_with()
+
+ # replace 'non empty' with 'same'
+ request_update.reset_mock()
+ fut = cli.set_topics(['t1', 't2'])
+ assert fut.is_done
+ assert fut.value == set(['t1', 't2'])
+ request_update.assert_not_called()
+
+ # replace 'non empty' with 'empty'
+ request_update.reset_mock()
+ fut = cli.set_topics([])
+ assert fut.is_done
+ assert fut.value == set()
+ request_update.assert_not_called()
@pytest.fixture