summaryrefslogtreecommitdiff
path: root/test/testutil.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2018-02-08 14:58:42 -0800
committerDana Powers <dana.powers@gmail.com>2018-02-08 14:58:42 -0800
commitdd9aa8031755dafda27eec4c938a3f7271f15afb (patch)
tree91a4a7013e11afba41632afd7b97a18cb7e46048 /test/testutil.py
parent0a3799d599a098d6cf411e9a9a721f4b70056898 (diff)
downloadkafka-python-dd9aa8031755dafda27eec4c938a3f7271f15afb.tar.gz
Block integration tests until topic gets leader
Diffstat (limited to 'test/testutil.py')
-rw-r--r--test/testutil.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/testutil.py b/test/testutil.py
index 0bacac4..0ec1cff 100644
--- a/test/testutil.py
+++ b/test/testutil.py
@@ -12,6 +12,7 @@ from six.moves import xrange
from . import unittest
from kafka import SimpleClient
+from kafka.errors import LeaderNotAvailableError, KafkaTimeoutError
from kafka.structs import OffsetRequestPayload
__all__ = [
@@ -98,7 +99,16 @@ class KafkaIntegrationTestCase(unittest.TestCase):
if self.create_client:
self.client = SimpleClient('%s:%d' % (self.server.host, self.server.port))
- self.client.ensure_topic_exists(self.topic)
+ timeout = time.time() + 30
+ while time.time() < timeout:
+ try:
+ self.client.load_metadata_for_topics(self.topic, ignore_leadernotavailable=False)
+ if self.client.has_metadata_for_topic(topic):
+ break
+ except LeaderNotAvailableError:
+ time.sleep(1)
+ else:
+ raise KafkaTimeoutError('Timeout loading topic metadata!')
self._messages = {}