|
| 1 | +import re |
1 | 2 | import tarfile |
2 | 3 | import time |
3 | 4 | from dataclasses import dataclass, field |
|
10 | 11 | from testcontainers.core.container import DockerContainer |
11 | 12 | from testcontainers.core.utils import raise_for_deprecated_parameter |
12 | 13 | from testcontainers.core.version import ComparableVersion |
13 | | -from testcontainers.core.waiting_utils import wait_for_logs |
| 14 | +from testcontainers.core.wait_strategies import LogMessageWaitStrategy |
14 | 15 | from testcontainers.kafka._redpanda import RedpandaContainer |
15 | 16 |
|
16 | 17 | __all__ = [ |
@@ -59,7 +60,7 @@ def __init__(self, image: str = "confluentinc/cp-kafka:7.6.0", port: int = 9093, |
59 | 60 | super().__init__(image, **kwargs) |
60 | 61 | self.port = port |
61 | 62 | self.kraft_enabled = False |
62 | | - self.wait_for = r".*\[KafkaServer id=\d+\] started.*" |
| 63 | + self.wait_for = re.compile(r".*\[KafkaServer id=\d+\] started.*") |
63 | 64 | self.boot_command = "" |
64 | 65 | self.cluster_id = "MkU3OEVBNTcwNTJENDM2Qk" |
65 | 66 | self.listeners = f"PLAINTEXT://0.0.0.0:{self.port},BROKER://0.0.0.0:9092" |
@@ -179,7 +180,8 @@ def start(self, timeout=30) -> "KafkaContainer": |
179 | 180 | self.with_command(command) |
180 | 181 | super().start() |
181 | 182 | self.tc_start() |
182 | | - wait_for_logs(self, self.wait_for, timeout=timeout) |
| 183 | + wait_strategy = LogMessageWaitStrategy(self.wait_for) |
| 184 | + wait_strategy.wait_until_ready(self) |
183 | 185 | return self |
184 | 186 |
|
185 | 187 | def create_file(self, content: bytes, path: str) -> None: |
|
0 commit comments