diff --git a/packages/modules/kafka/src/kafka-container-latest.test.ts b/packages/modules/kafka/src/kafka-container-latest.test.ts index 0207bb695..b8b4294c3 100644 --- a/packages/modules/kafka/src/kafka-container-latest.test.ts +++ b/packages/modules/kafka/src/kafka-container-latest.test.ts @@ -18,6 +18,14 @@ describe("KafkaContainer", { timeout: 240_000 }, () => { // } }); + it("should be listening when started", async () => { + await using container = await new KafkaContainer(IMAGE).start(); + + const { exitCode } = await container.exec(["bash", "-c", " { await using network = await new Network().start(); await using container = await new KafkaContainer(IMAGE).withNetwork(network).start(); diff --git a/packages/modules/kafka/src/kafka-container.ts b/packages/modules/kafka/src/kafka-container.ts index 5c6ff485f..67c937321 100644 --- a/packages/modules/kafka/src/kafka-container.ts +++ b/packages/modules/kafka/src/kafka-container.ts @@ -193,7 +193,8 @@ export class KafkaContainer extends GenericContainer { const boundPorts = BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, inspectResult).filter( this.exposedPorts ); - const waitStrategy = await this.selectWaitStrategy(client, dockerInspectResult, this.originalWaitStrategy); + this.waitStrategy = this.originalWaitStrategy; + const waitStrategy = await this.selectWaitStrategy(client, dockerInspectResult); if (this.startupTimeoutMs !== undefined) { waitStrategy.withStartupTimeout(this.startupTimeoutMs); } diff --git a/packages/modules/redpanda/src/redpanda-container.ts b/packages/modules/redpanda/src/redpanda-container.ts index 60a950498..28bdf20ee 100644 --- a/packages/modules/redpanda/src/redpanda-container.ts +++ b/packages/modules/redpanda/src/redpanda-container.ts @@ -79,7 +79,8 @@ export class RedpandaContainer extends GenericContainer { const boundPorts = BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, inspectResult).filter( this.exposedPorts ); - const waitStrategy = await this.selectWaitStrategy(client, dockerInspectResult, this.originalWaitStrategy); + this.waitStrategy = this.originalWaitStrategy; + const waitStrategy = await this.selectWaitStrategy(client, dockerInspectResult); if (this.startupTimeoutMs !== undefined) { waitStrategy.withStartupTimeout(this.startupTimeoutMs); } diff --git a/packages/testcontainers/src/generic-container/generic-container.ts b/packages/testcontainers/src/generic-container/generic-container.ts index c38bcac44..daa4a6357 100644 --- a/packages/testcontainers/src/generic-container/generic-container.ts +++ b/packages/testcontainers/src/generic-container/generic-container.ts @@ -134,13 +134,12 @@ export class GenericContainer implements TestContainer { protected async selectWaitStrategy( client: ContainerRuntimeClient, - inspectResult: ContainerInspectInfo, - waitStrategy: WaitStrategy | undefined = this.waitStrategy + inspectResult: ContainerInspectInfo ): Promise { return selectWaitStrategy({ client, inspectResult, - waitStrategy, + waitStrategy: this.waitStrategy, healthCheck: this.healthCheck, imageNames: [this.imageName.string], });