Skip to content

Commit d525925

Browse files
committed
Refactor sasl_integration test_client - wait for node ready; use send future
1 parent 8fdd5fc commit d525925

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

test/test_sasl_integration.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging
22
import uuid
3+
import time
34

45
import pytest
56

@@ -69,12 +70,17 @@ def test_client(request, sasl_kafka):
6970

7071
client, = sasl_kafka.get_clients(1)
7172
request = MetadataRequest_v1(None)
72-
client.send(0, request)
73-
for _ in range(10):
74-
result = client.poll(timeout_ms=10000)
75-
if len(result) > 0:
76-
break
77-
else:
73+
timeout_at = time.time() + 1
74+
while not client.is_ready(0):
75+
client.maybe_connect(0)
76+
client.poll(timeout_ms=100)
77+
if time.time() > timeout_at:
78+
raise RuntimeError("Couldn't connect to node 0")
79+
future = client.send(0, request)
80+
client.poll(future=future, timeout_ms=10000)
81+
if not future.is_done:
7882
raise RuntimeError("Couldn't fetch topic response from Broker.")
79-
result = result[0]
83+
elif future.failed():
84+
raise future.exception
85+
result = future.value
8086
assert topic_name in [t[1] for t in result.topics]

0 commit comments

Comments
 (0)