diff --git a/packages/testcontainers/fixtures/docker-compose/docker-compose-with-healthcheck-with-start-period.yml b/packages/testcontainers/fixtures/docker-compose/docker-compose-with-healthcheck-with-start-period.yml index 383738482..160da896b 100644 --- a/packages/testcontainers/fixtures/docker-compose/docker-compose-with-healthcheck-with-start-period.yml +++ b/packages/testcontainers/fixtures/docker-compose/docker-compose-with-healthcheck-with-start-period.yml @@ -6,8 +6,5 @@ services: ports: - 8080 healthcheck: - test: "curl -f http://localhost:8080/hello-world || exit 1" - interval: 1s - timeout: 1s - retries: 1 - start_period: 10s \ No newline at end of file + test: "sleep 10" + timeout: 10s \ No newline at end of file diff --git a/packages/testcontainers/src/docker-compose-environment/docker-compose-environment.test.ts b/packages/testcontainers/src/docker-compose-environment/docker-compose-environment.test.ts index f2673fb07..48dbf147f 100644 --- a/packages/testcontainers/src/docker-compose-environment/docker-compose-environment.test.ts +++ b/packages/testcontainers/src/docker-compose-environment/docker-compose-environment.test.ts @@ -135,18 +135,16 @@ describe("DockerComposeEnvironment", { timeout: 180_000 }, () => { ).rejects.toThrow(`Health check failed: unhealthy`); }); - if (!process.env.CI_PODMAN) { - it("should stop the container when the health check wait strategy times out", async () => { - await expect( - new DockerComposeEnvironment(fixtures, "docker-compose-with-healthcheck-with-start-period.yml") - .withWaitStrategy(await composeContainerName("container"), Wait.forHealthCheck()) - .withStartupTimeout(0) - .up() - ).rejects.toThrow(`Health check not healthy after 0ms`); - - expect(await getRunningContainerNames()).not.toContain("container_1"); - }); - } + it("should stop the container when the health check wait strategy times out", async () => { + await expect( + new DockerComposeEnvironment(fixtures, "docker-compose-with-healthcheck-with-start-period.yml") + .withWaitStrategy(await composeContainerName("container"), Wait.forHealthCheck()) + .withStartupTimeout(0) + .up() + ).rejects.toThrow(`Health check not healthy after 0ms`); + + expect(await getRunningContainerNames()).not.toContain("container_1"); + }); it("should remove volumes when downing an environment", async () => { const environment = await new DockerComposeEnvironment(fixtures, "docker-compose-with-volume.yml").up(); diff --git a/packages/testcontainers/src/wait-strategies/health-check-wait-strategy.test.ts b/packages/testcontainers/src/wait-strategies/health-check-wait-strategy.test.ts index ad7005a56..73a46acf5 100644 --- a/packages/testcontainers/src/wait-strategies/health-check-wait-strategy.test.ts +++ b/packages/testcontainers/src/wait-strategies/health-check-wait-strategy.test.ts @@ -65,6 +65,7 @@ describe("HealthCheckWaitStrategy", { timeout: 180_000 }, () => { .withName(containerName) .withExposedPorts(8080) .withWaitStrategy(Wait.forHealthCheck()) + .withHealthCheck({ test: ["CMD-SHELL", "sleep 10"], timeout: 10_000 }) .withStartupTimeout(0) .start() ).rejects.toThrowError("Health check not healthy after 0ms");