Skip to content

Commit 3b12a5e

Browse files
Update system tests for Paketo Java buildpack 6.0.0
Paketo Java buildpack version 6.0.0 adds a buildpack and removes support for the SBOM in the format that the system tests attempt to verify. Fixes gh-28823
1 parent 4bd6327 commit 3b12a5e

File tree

2 files changed

+8
-30
lines changed

2 files changed

+8
-30
lines changed

spring-boot-system-tests/spring-boot-image-tests/src/systemTest/java/org/springframework/boot/image/assertions/ContainerConfigAssert.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@
2424
import org.assertj.core.api.AbstractListAssert;
2525
import org.assertj.core.api.AbstractObjectAssert;
2626
import org.assertj.core.api.AbstractStringAssert;
27-
import org.assertj.core.api.Assertions;
2827
import org.assertj.core.api.AssertionsForClassTypes;
29-
import org.assertj.core.api.InstanceOfAssertFactories;
3028
import org.assertj.core.api.ListAssert;
3129
import org.assertj.core.api.ObjectAssert;
3230

@@ -91,16 +89,6 @@ public ListAssert<Object> buildpacks() {
9189
return this.actual.extractingJsonPathArrayValue("$.buildpacks[*].id");
9290
}
9391

94-
public ListAssert<Object> bomDependencies() {
95-
return this.actual
96-
.extractingJsonPathArrayValue("$.bom[?(@.name=='dependencies')].metadata.dependencies[*].name");
97-
}
98-
99-
public AbstractStringAssert<?> bomJavaVersion(String javaType) {
100-
return this.actual.extractingJsonPathArrayValue("$.bom[?(@.name=='%s')].metadata.version", javaType)
101-
.singleElement(Assertions.as(InstanceOfAssertFactories.STRING));
102-
}
103-
10492
public AbstractObjectAssert<?, Object> processOfType(String type) {
10593
return this.actual.extractingJsonPathArrayValue("$.processes[?(@.type=='%s')]", type).singleElement();
10694
}

spring-boot-system-tests/spring-boot-image-tests/src/systemTest/java/org/springframework/boot/image/paketo/PaketoBuilderTests.java

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.IOException;
2222
import java.io.PrintWriter;
2323
import java.util.ArrayList;
24+
import java.util.Arrays;
2425
import java.util.Collections;
2526
import java.util.List;
2627
import java.util.function.Consumer;
@@ -79,13 +80,9 @@ void executableJarApp() throws Exception {
7980
container.waitingFor(Wait.forHttp("/test")).start();
8081
ContainerConfig config = container.getContainerInfo().getConfig();
8182
assertLabelsMatchManifestAttributes(config);
82-
ImageAssertions.assertThat(config).buildMetadata().buildpacks().containsExactly(
83+
ImageAssertions.assertThat(config).buildMetadata().buildpacks().contains(
8384
"paketo-buildpacks/ca-certificates", "paketo-buildpacks/bellsoft-liberica",
8485
"paketo-buildpacks/executable-jar", "paketo-buildpacks/dist-zip", "paketo-buildpacks/spring-boot");
85-
ImageAssertions.assertThat(config).buildMetadata().bomDependencies().contains("spring-beans", "spring-boot",
86-
"spring-boot-autoconfigure", "spring-boot-jarmode-layertools", "spring-context", "spring-core",
87-
"spring-web");
88-
ImageAssertions.assertThat(config).buildMetadata().bomJavaVersion("jre").startsWith(javaMajorVersion());
8986
ImageAssertions.assertThat(config).buildMetadata().processOfType("web").extracting("command", "args")
9087
.containsExactly("java", Collections.singletonList("org.springframework.boot.loader.JarLauncher"));
9188
ImageAssertions.assertThat(config).buildMetadata().processOfType("executable-jar")
@@ -146,10 +143,9 @@ void bootDistZipJarApp() throws Exception {
146143
try (GenericContainer<?> container = new GenericContainer<>(imageName).withExposedPorts(8080)) {
147144
container.waitingFor(Wait.forHttp("/test")).start();
148145
ContainerConfig config = container.getContainerInfo().getConfig();
149-
ImageAssertions.assertThat(config).buildMetadata().buildpacks().containsExactly(
146+
ImageAssertions.assertThat(config).buildMetadata().buildpacks().contains(
150147
"paketo-buildpacks/ca-certificates", "paketo-buildpacks/bellsoft-liberica",
151148
"paketo-buildpacks/dist-zip", "paketo-buildpacks/spring-boot");
152-
ImageAssertions.assertThat(config).buildMetadata().bomJavaVersion("jre").startsWith(javaMajorVersion());
153149
ImageAssertions.assertThat(config).buildMetadata().processOfType("web").extracting("command", "args")
154150
.containsExactly("/workspace/" + projectName + "-boot/bin/" + projectName, Collections.emptyList());
155151
ImageAssertions.assertThat(config).buildMetadata().processOfType("dist-zip").extracting("command", "args")
@@ -175,10 +171,9 @@ void plainDistZipJarApp() throws Exception {
175171
try (GenericContainer<?> container = new GenericContainer<>(imageName).withExposedPorts(8080)) {
176172
container.waitingFor(Wait.forHttp("/test")).start();
177173
ContainerConfig config = container.getContainerInfo().getConfig();
178-
ImageAssertions.assertThat(config).buildMetadata().buildpacks().containsExactly(
174+
ImageAssertions.assertThat(config).buildMetadata().buildpacks().contains(
179175
"paketo-buildpacks/ca-certificates", "paketo-buildpacks/bellsoft-liberica",
180176
"paketo-buildpacks/dist-zip", "paketo-buildpacks/spring-boot");
181-
ImageAssertions.assertThat(config).buildMetadata().bomJavaVersion("jre").startsWith(javaMajorVersion());
182177
ImageAssertions.assertThat(config).buildMetadata().processOfType("web").extracting("command", "args")
183178
.containsExactly("/workspace/" + projectName + "/bin/" + projectName, Collections.emptyList());
184179
ImageAssertions.assertThat(config).buildMetadata().processOfType("dist-zip").extracting("command", "args")
@@ -208,13 +203,9 @@ void executableWarApp() throws Exception {
208203
container.waitingFor(Wait.forHttp("/test")).start();
209204
ContainerConfig config = container.getContainerInfo().getConfig();
210205
assertLabelsMatchManifestAttributes(config);
211-
ImageAssertions.assertThat(config).buildMetadata().buildpacks().containsExactly(
206+
ImageAssertions.assertThat(config).buildMetadata().buildpacks().contains(
212207
"paketo-buildpacks/ca-certificates", "paketo-buildpacks/bellsoft-liberica",
213208
"paketo-buildpacks/executable-jar", "paketo-buildpacks/dist-zip", "paketo-buildpacks/spring-boot");
214-
ImageAssertions.assertThat(config).buildMetadata().bomDependencies().contains("spring-beans", "spring-boot",
215-
"spring-boot-autoconfigure", "spring-boot-jarmode-layertools", "spring-context", "spring-core",
216-
"spring-web");
217-
ImageAssertions.assertThat(config).buildMetadata().bomJavaVersion("jre").startsWith(javaMajorVersion());
218209
ImageAssertions.assertThat(config).buildMetadata().processOfType("web").extracting("command", "args")
219210
.containsExactly("java", Collections.singletonList("org.springframework.boot.loader.WarLauncher"));
220211
ImageAssertions.assertThat(config).buildMetadata().processOfType("executable-jar")
@@ -238,14 +229,13 @@ void plainWarApp() throws Exception {
238229
try (GenericContainer<?> container = new GenericContainer<>(imageName).withExposedPorts(8080)) {
239230
container.waitingFor(Wait.forHttp("/test")).start();
240231
ContainerConfig config = container.getContainerInfo().getConfig();
241-
ImageAssertions.assertThat(config).buildMetadata().buildpacks().containsExactly(
232+
ImageAssertions.assertThat(config).buildMetadata().buildpacks().contains(
242233
"paketo-buildpacks/ca-certificates", "paketo-buildpacks/bellsoft-liberica",
243234
"paketo-buildpacks/apache-tomcat", "paketo-buildpacks/dist-zip", "paketo-buildpacks/spring-boot");
244-
ImageAssertions.assertThat(config).buildMetadata().bomJavaVersion("jre").startsWith(javaMajorVersion());
245235
ImageAssertions.assertThat(config).buildMetadata().processOfType("web").extracting("command", "args")
246-
.containsExactly("catalina.sh", Collections.singletonList("run"));
236+
.containsExactly("bash", Arrays.asList("catalina.sh", "run"));
247237
ImageAssertions.assertThat(config).buildMetadata().processOfType("tomcat").extracting("command", "args")
248-
.containsExactly("catalina.sh", Collections.singletonList("run"));
238+
.containsExactly("bash", Arrays.asList("catalina.sh", "run"));
249239
DigestCapturingCondition digests = new DigestCapturingCondition();
250240
ImageAssertions.assertThat(config).lifecycleMetadata().appLayerShas().haveExactly(1, digests);
251241
ImageAssertions.assertThat(imageReference).hasLayer(digests.getDigest(0)).entries()

0 commit comments

Comments
 (0)