Add support for security options in CNB builder container config

Closes gh-37479
This commit is contained in:
Scott Frederick
2023-09-20 13:30:20 -05:00
parent 4433fcd1f2
commit 7de770f6a1
15 changed files with 273 additions and 21 deletions

View File

@@ -18,6 +18,7 @@ package org.springframework.boot.maven;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Function;
import org.apache.maven.artifact.Artifact;
@@ -234,6 +235,22 @@ class ImageTests {
assertThat(request.getApplicationDirectory()).isEqualTo("/application");
}
@Test
void getBuildRequestWhenHasSecurityOptionsUsesSecurityOptions() {
Image image = new Image();
image.securityOptions = List.of("label=user:USER", "label=role:ROLE");
BuildRequest request = image.getBuildRequest(createArtifact(), mockApplicationContent());
assertThat(request.getSecurityOptions()).containsExactly("label=user:USER", "label=role:ROLE");
}
@Test
void getBuildRequestWhenHasEmptySecurityOptionsUsesSecurityOptions() {
Image image = new Image();
image.securityOptions = Collections.emptyList();
BuildRequest request = image.getBuildRequest(createArtifact(), mockApplicationContent());
assertThat(request.getSecurityOptions()).isEmpty();
}
private Artifact createArtifact() {
return new DefaultArtifact("com.example", "my-app", VersionRange.createFromVersion("0.0.1-SNAPSHOT"), "compile",
"jar", null, new DefaultArtifactHandler());