Skip to content

Commit 00cc0ea

Browse files
authored
Override ChainedImageNameSubstitutor toString (#7522)
Returns ChainedImageNameSubstitutor's getDescription Fixes #7039
1 parent e67fc7d commit 00cc0ea

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

core/src/main/java/org/testcontainers/utility/ImageNameSubstitutor.java

+5
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,11 @@ protected String getDescription() {
155155
configuredInstance.getDescription()
156156
);
157157
}
158+
159+
@Override
160+
public String toString() {
161+
return getDescription();
162+
}
158163
}
159164

160165
private static class NoopImageNameSubstitutor extends ImageNameSubstitutor {

core/src/test/java/org/testcontainers/utility/ImageNameSubstitutorTest.java

+17
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
import org.junit.Rule;
66
import org.junit.Test;
77
import org.mockito.Mockito;
8+
import org.testcontainers.containers.GenericContainer;
89

910
import static org.assertj.core.api.Assertions.assertThat;
11+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1012
import static org.mockito.ArgumentMatchers.eq;
1113

1214
public class ImageNameSubstitutorTest {
@@ -64,4 +66,19 @@ public void testWorksWithoutConfiguredImplementation() {
6466
.as("the image has been substituted by default then configured implementations")
6567
.isEqualTo("substituted-image:latest");
6668
}
69+
70+
@Test
71+
public void testImageNameSubstitutorToString() {
72+
Mockito
73+
.doReturn(FakeImageSubstitutor.class.getCanonicalName())
74+
.when(TestcontainersConfiguration.getInstance())
75+
.getImageSubstitutorClassName();
76+
77+
try (GenericContainer<?> container = new GenericContainer<>(DockerImageName.parse("original"))) {
78+
assertThatThrownBy(container::start)
79+
.hasMessageContaining(
80+
"imageNameSubstitutor=Chained substitutor of 'default implementation' and then 'test implementation'"
81+
);
82+
}
83+
}
6784
}

0 commit comments

Comments
 (0)