From 7d090ab37abba042d9965ad9b5bca64ccf539288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Sun, 10 Sep 2023 15:51:40 -0600 Subject: [PATCH] Override ChainedImageNameSubstitutor toString Returns ChainedImageNameSubstitutor's getDescription Fixes #7039 --- .../utility/ImageNameSubstitutor.java | 5 +++++ .../utility/ImageNameSubstitutorTest.java | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/core/src/main/java/org/testcontainers/utility/ImageNameSubstitutor.java b/core/src/main/java/org/testcontainers/utility/ImageNameSubstitutor.java index 3f491e4c9b3..54372cd726f 100644 --- a/core/src/main/java/org/testcontainers/utility/ImageNameSubstitutor.java +++ b/core/src/main/java/org/testcontainers/utility/ImageNameSubstitutor.java @@ -155,6 +155,11 @@ protected String getDescription() { configuredInstance.getDescription() ); } + + @Override + public String toString() { + return getDescription(); + } } private static class NoopImageNameSubstitutor extends ImageNameSubstitutor { diff --git a/core/src/test/java/org/testcontainers/utility/ImageNameSubstitutorTest.java b/core/src/test/java/org/testcontainers/utility/ImageNameSubstitutorTest.java index 5c65d9e5841..0f5a747c359 100644 --- a/core/src/test/java/org/testcontainers/utility/ImageNameSubstitutorTest.java +++ b/core/src/test/java/org/testcontainers/utility/ImageNameSubstitutorTest.java @@ -5,8 +5,10 @@ import org.junit.Rule; import org.junit.Test; import org.mockito.Mockito; +import org.testcontainers.containers.GenericContainer; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.eq; public class ImageNameSubstitutorTest { @@ -64,4 +66,19 @@ public void testWorksWithoutConfiguredImplementation() { .as("the image has been substituted by default then configured implementations") .isEqualTo("substituted-image:latest"); } + + @Test + public void testImageNameSubstitutorToString() { + Mockito + .doReturn(FakeImageSubstitutor.class.getCanonicalName()) + .when(TestcontainersConfiguration.getInstance()) + .getImageSubstitutorClassName(); + + try (GenericContainer container = new GenericContainer<>(DockerImageName.parse("original"))) { + assertThatThrownBy(container::start) + .hasMessageContaining( + "imageNameSubstitutor=Chained substitutor of 'default implementation' and then 'test implementation'" + ); + } + } }