Skip to content

Commit dcfd0d6

Browse files
authored
Merge branch 'main' into main
2 parents 2bdef47 + 990a7dc commit dcfd0d6

File tree

36 files changed

+211
-174
lines changed

36 files changed

+211
-174
lines changed

.github/pull_request_template.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<!--
2-
Thanks for contributing to Testcontainers. Please review the following notes before
3-
submitting a pull request.
2+
Thanks for contributing to Testcontainers. Before submitting a pull request, please
3+
review our contributing guidelines at https://java.testcontainers.org/contributing/
4+
5+
Please also review the following notes before submitting a pull request.
46
57
New Modules:
68

core/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ task jarFileTest(type: Test) {
3434
testClassesDirs = sourceSets.jarFileTest.output.classesDirs
3535
classpath = sourceSets.jarFileTest.runtimeClasspath
3636

37-
file(shadowJar.outputs.files.singleFile) // input for correct caching
38-
systemProperty("jarFile", shadowJar.outputs.files.singleFile)
37+
inputs.files(shadowJar).withPathSensitivity(PathSensitivity.RELATIVE)
38+
systemProperty("jarFile", project.projectDir.toPath().relativize(shadowJar.outputs.files.singleFile.toPath()).toString())
3939

4040
dependsOn(shadowJar)
4141
}
@@ -80,8 +80,8 @@ dependencies {
8080

8181
shaded 'org.awaitility:awaitility:4.3.0'
8282

83-
api platform('com.github.docker-java:docker-java-bom:3.7.0')
84-
shaded platform('com.github.docker-java:docker-java-bom:3.7.0')
83+
api platform('com.github.docker-java:docker-java-bom:3.7.1')
84+
shaded platform('com.github.docker-java:docker-java-bom:3.7.1')
8585

8686
api "com.github.docker-java:docker-java-api"
8787

core/src/main/java/org/testcontainers/containers/DockerModelRunnerContainer.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,20 @@ public DockerModelRunnerContainer withModel(String model) {
7979
return this;
8080
}
8181

82+
/**
83+
* Returns the base endpoint URL for the Docker Model Runner service.
84+
*
85+
* @return the base URL in the format {@code http://<host>:<port>}
86+
*/
8287
public String getBaseEndpoint() {
8388
return "http://" + getHost() + ":" + getMappedPort(PORT);
8489
}
8590

91+
/**
92+
* Returns the OpenAI-compatible API endpoint URL for the Docker Model Runner service.
93+
*
94+
* @return the OpenAI-compatible endpoint URL in the format {@code http://<host>:<port>/engines}
95+
*/
8696
public String getOpenAIEndpoint() {
8797
return getBaseEndpoint() + "/engines";
8898
}

core/src/main/java/org/testcontainers/containers/ParsedDockerComposeFile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class ParsedDockerComposeFile {
5050
SafeConstructor constructor = new SafeConstructor(options) {
5151
@Override
5252
protected Object constructObject(Node node) {
53-
if (node.getTag().equals(new Tag("!reset"))) {
53+
if (node.getTag().equals(new Tag("!reset")) || node.getTag().equals(new Tag("!override"))) {
5454
return null;
5555
}
5656
return super.constructObject(node);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class RyukContainer extends GenericContainer<RyukContainer> {
1010

1111
RyukContainer() {
12-
super("testcontainers/ryuk:0.13.0");
12+
super("testcontainers/ryuk:0.14.0");
1313
withExposedPorts(8080);
1414
withCreateContainerCmdModifier(cmd -> {
1515
cmd.withName("testcontainers-ryuk-" + DockerClientFactory.SESSION_ID);

core/src/test/java/org/testcontainers/junit/ComposeContainerOverrideTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,35 @@ void resetEnvironment() {
4545
assertThat(container.getConfig().getEnv()).doesNotContain("foo=bar");
4646
}
4747
}
48+
49+
@Test
50+
void readLabel() {
51+
try (
52+
ComposeContainer compose = new ComposeContainer(DockerImageName.parse("docker:25.0.5"), BASE)
53+
.withExposedService("redis", 6379)
54+
) {
55+
compose.start();
56+
InspectContainerResponse container = compose
57+
.getContainerByServiceName("redis-1")
58+
.map(ContainerState::getContainerInfo)
59+
.get();
60+
assertThat(container.getConfig().getLabels()).containsKey("label1");
61+
}
62+
}
63+
64+
@Test
65+
void readOverriddenLabel() {
66+
try (
67+
ComposeContainer compose = new ComposeContainer(DockerImageName.parse("docker:25.0.5"), BASE, OVERRIDE)
68+
.withExposedService("redis", 6379)
69+
) {
70+
compose.start();
71+
InspectContainerResponse container = compose
72+
.getContainerByServiceName("redis-1")
73+
.map(ContainerState::getContainerInfo)
74+
.get();
75+
assertThat(container.getConfig().getLabels()).doesNotContainKey("label1");
76+
assertThat(container.getConfig().getLabels()).containsKey("label2");
77+
}
78+
}
4879
}

core/src/test/java/org/testcontainers/junit/ComposeContainerVolumeRemovalTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.testcontainers.junit;
22

3+
import org.junit.jupiter.api.Disabled;
34
import org.junit.jupiter.params.ParameterizedTest;
45
import org.junit.jupiter.params.provider.Arguments;
56
import org.junit.jupiter.params.provider.MethodSource;
@@ -16,6 +17,7 @@
1617
import static org.assertj.core.api.Assertions.assertThat;
1718
import static org.awaitility.Awaitility.await;
1819

20+
@Disabled
1921
class ComposeContainerVolumeRemovalTest {
2022

2123
public static Stream<Arguments> params() {

core/src/test/java/org/testcontainers/junit/ComposeContainerWithWaitStrategies.java renamed to core/src/test/java/org/testcontainers/junit/ComposeContainerWithWaitStrategiesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
import static org.assertj.core.api.Assertions.assertThat;
1212

13-
class ComposeContainerWithWaitStrategies {
13+
class ComposeContainerWithWaitStrategiesTest {
1414

1515
private static final int REDIS_PORT = 6379;
1616

core/src/test/java/org/testcontainers/junit/DockerComposeContainerVolumeRemovalTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.testcontainers.junit;
22

3+
import org.junit.jupiter.api.Disabled;
34
import org.junit.jupiter.params.ParameterizedTest;
45
import org.junit.jupiter.params.provider.MethodSource;
56
import org.testcontainers.DockerClientFactory;
@@ -15,6 +16,7 @@
1516
import static org.assertj.core.api.Assertions.assertThat;
1617
import static org.awaitility.Awaitility.await;
1718

19+
@Disabled
1820
class DockerComposeContainerVolumeRemovalTest {
1921

2022
public static Object[][] params() {

core/src/test/resources/compose-override/compose-override.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ services:
55
- 6379
66
environment:
77
foo: !reset null
8+
labels: !override
9+
label2: value2

0 commit comments

Comments
 (0)