From a3f054286d5d52dc3a6b59602beeb4b381422ee1 Mon Sep 17 00:00:00 2001 From: Ivan Kropotin <102463202+ivankrn@users.noreply.github.com> Date: Sun, 21 Jun 2026 14:06:49 +0500 Subject: [PATCH] Add tests for MinimumDurationRunningStartupCheckStrategy Signed-off-by: Ivan Kropotin <102463202+ivankrn@users.noreply.github.com> --- ...rationRunningStartupCheckStrategyTest.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 core/src/test/java/org/testcontainers/containers/startupcheck/MinimumDurationRunningStartupCheckStrategyTest.java diff --git a/core/src/test/java/org/testcontainers/containers/startupcheck/MinimumDurationRunningStartupCheckStrategyTest.java b/core/src/test/java/org/testcontainers/containers/startupcheck/MinimumDurationRunningStartupCheckStrategyTest.java new file mode 100644 index 00000000000..ed0e86b56a1 --- /dev/null +++ b/core/src/test/java/org/testcontainers/containers/startupcheck/MinimumDurationRunningStartupCheckStrategyTest.java @@ -0,0 +1,39 @@ +package org.testcontainers.containers.startupcheck; + +import org.junit.jupiter.api.Test; +import org.testcontainers.TestImages; +import org.testcontainers.containers.ContainerLaunchException; +import org.testcontainers.containers.GenericContainer; + +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThatNoException; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +class MinimumDurationRunningStartupCheckStrategyTest { + + @Test + void shouldPassStartupCheckIfContainerExceedsMinimumRunningDuration() { + try ( + GenericContainer container = new GenericContainer<>(TestImages.TINY_IMAGE) + .withCommand("sleep", "1") + .withMinimumRunningDuration(Duration.ofMillis(100)) + ) { + assertThatNoException().isThrownBy(container::start); + } + } + + @Test + void shouldFailStartupCheckIfContainerExitsPrematurely() { + try ( + GenericContainer container = new GenericContainer<>(TestImages.TINY_IMAGE) + .withCommand("/bin/false") + .withMinimumRunningDuration(Duration.ofMillis(500)) + ) { + assertThatThrownBy(container::start) + .isInstanceOf(ContainerLaunchException.class) + .hasStackTraceContaining("Container startup failed") + .hasStackTraceContaining("Container did not start correctly"); + } + } +}