Skip to content

Commit e18cbe5

Browse files
committed
Merge branch '2.7.x'
2 parents 2d1854a + 8aacf4c commit e18cbe5

File tree

1 file changed

+25
-6
lines changed
  • spring-boot-tests/spring-boot-integration-tests/spring-boot-loader-tests/src/intTest/java/org/springframework/boot/loader

1 file changed

+25
-6
lines changed

spring-boot-tests/spring-boot-integration-tests/spring-boot-loader-tests/src/intTest/java/org/springframework/boot/loader/LoaderIntegrationTests.java

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.util.function.Supplier;
2424
import java.util.stream.Stream;
2525

26+
import org.junit.Assume;
2627
import org.junit.jupiter.params.ParameterizedTest;
2728
import org.junit.jupiter.params.provider.MethodSource;
2829
import org.testcontainers.containers.GenericContainer;
@@ -32,6 +33,7 @@
3233
import org.testcontainers.utility.DockerImageName;
3334
import org.testcontainers.utility.MountableFile;
3435

36+
import org.springframework.boot.system.JavaVersion;
3537
import org.springframework.util.Assert;
3638

3739
import static org.assertj.core.api.Assertions.assertThat;
@@ -48,6 +50,7 @@ class LoaderIntegrationTests {
4850
@ParameterizedTest
4951
@MethodSource("javaRuntimes")
5052
void readUrlsWithoutWarning(JavaRuntime javaRuntime) {
53+
javaRuntime.assumeCompatible();
5154
try (GenericContainer<?> container = createContainer(javaRuntime)) {
5255
container.start();
5356
System.out.println(this.output.toUtf8String());
@@ -72,32 +75,48 @@ private File findApplication() {
7275

7376
static Stream<JavaRuntime> javaRuntimes() {
7477
List<JavaRuntime> javaRuntimes = new ArrayList<>();
75-
javaRuntimes.add(JavaRuntime.openJdk("17"));
78+
javaRuntimes.add(JavaRuntime.openJdk(JavaVersion.SEVENTEEN));
7679
javaRuntimes.add(JavaRuntime.oracleJdk17());
7780
return javaRuntimes.stream();
7881
}
7982

8083
static final class JavaRuntime {
8184

85+
private final String name;
86+
87+
private final JavaVersion version;
88+
8289
private final Supplier<GenericContainer<?>> container;
8390

84-
private JavaRuntime(Supplier<GenericContainer<?>> container) {
91+
private JavaRuntime(String name, JavaVersion version, Supplier<GenericContainer<?>> container) {
92+
this.name = name;
93+
this.version = version;
8594
this.container = container;
8695
}
8796

97+
private void assumeCompatible() {
98+
Assume.assumeTrue(JavaVersion.getJavaVersion().isEqualOrNewerThan(this.version));
99+
}
100+
88101
GenericContainer<?> getContainer() {
89102
return this.container.get();
90103
}
91104

92-
static JavaRuntime openJdk(String version) {
93-
DockerImageName image = DockerImageName.parse("bellsoft/liberica-openjdk-debian:" + version);
94-
return new JavaRuntime(() -> new GenericContainer<>(image));
105+
@Override
106+
public String toString() {
107+
return this.name;
108+
}
109+
110+
static JavaRuntime openJdk(JavaVersion version) {
111+
String imageVersion = (version != JavaVersion.EIGHT) ? version.toString() : "8";
112+
DockerImageName image = DockerImageName.parse("bellsoft/liberica-openjdk-debian:" + imageVersion);
113+
return new JavaRuntime("OpenJDK " + imageVersion, version, () -> new GenericContainer<>(image));
95114
}
96115

97116
static JavaRuntime oracleJdk17() {
98117
ImageFromDockerfile image = new ImageFromDockerfile("spring-boot-loader/oracle-jdk-17")
99118
.withFileFromFile("Dockerfile", new File("src/intTest/resources/conf/oracle-jdk-17/Dockerfile"));
100-
return new JavaRuntime(() -> new GenericContainer<>(image));
119+
return new JavaRuntime("Oracle JDK 17", JavaVersion.SEVENTEEN, () -> new GenericContainer<>(image));
101120
}
102121

103122
}

0 commit comments

Comments
 (0)