summaryrefslogtreecommitdiff
path: root/test/test_fetcher.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-05-22 11:35:26 -0700
committerDana Powers <dana.powers@gmail.com>2016-05-22 11:35:26 -0700
commitc9bff0701ea153933dee8c03cf8feb3470e39c52 (patch)
treee9cc1eddfd4f03981762127d035c58db9c9a5269 /test/test_fetcher.py
parent7941a2ac7ec6663f08c6291d92746eae9f792916 (diff)
downloadkafka-python-produce_fetch_v2.tar.gz
Use Fetch/Produce API v2 for brokers >= 0.10 (uses message format v1)produce_fetch_v2
Diffstat (limited to 'test/test_fetcher.py')
-rw-r--r--test/test_fetcher.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/test/test_fetcher.py b/test/test_fetcher.py
index bf4a3a9..7e529bc 100644
--- a/test/test_fetcher.py
+++ b/test/test_fetcher.py
@@ -15,7 +15,7 @@ from kafka.structs import TopicPartition, OffsetAndMetadata
@pytest.fixture
def client(mocker):
- return mocker.Mock(spec=KafkaClient)
+ return mocker.Mock(spec=KafkaClient(bootstrap_servers=[]))
@pytest.fixture
@@ -71,6 +71,19 @@ def test_init_fetches(fetcher, mocker):
assert len(ret) == len(fetch_requests)
+@pytest.mark.parametrize(("api_version", "fetch_version"), [
+ ((0, 10), 2),
+ ((0, 9), 1),
+ ((0, 8), 0)
+])
+def test_create_fetch_requests(fetcher, mocker, api_version, fetch_version):
+ fetcher._client.in_flight_request_count.return_value = 0
+ fetcher.config['api_version'] = api_version
+ by_node = fetcher._create_fetch_requests()
+ requests = by_node.values()
+ assert all([isinstance(r, FetchRequest[fetch_version]) for r in requests])
+
+
def test_update_fetch_positions(fetcher, mocker):
mocker.patch.object(fetcher, '_reset_offset')
partition = TopicPartition('foobar', 0)