diff options
author | Dmitry Lazurkin <dilaz03@gmail.com> | 2016-12-28 02:36:57 +0300 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2016-12-27 15:36:57 -0800 |
commit | 4acb7f443464542d08753163d47c16b6b4a5a4a5 (patch) | |
tree | 7a337a9ddc2a03b2dfead3b1f312178ebb840eb5 /test/test_client_async.py | |
parent | 0e55d9957a3530f499e81ab6433676ad9c1bce87 (diff) | |
download | kafka-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.py | 28 |
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 |