|
|
@ -68,7 +68,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithDefaultBuilder() throws IOException {
|
|
|
|
void buildsImageWithDefaultBuilder() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -83,8 +83,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithWarPackaging() throws IOException {
|
|
|
|
void buildsImageWithWarPackaging() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "-PapplyWarPlugin",
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "-PapplyWarPlugin");
|
|
|
|
"--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -101,7 +100,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithWarPackagingAndJarConfiguration() throws IOException {
|
|
|
|
void buildsImageWithWarPackagingAndJarConfiguration() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -117,7 +116,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithCustomName() throws IOException {
|
|
|
|
void buildsImageWithCustomName() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("example/test-image-name");
|
|
|
|
assertThat(result.getOutput()).contains("example/test-image-name");
|
|
|
|
assertThat(result.getOutput()).contains("---> Test Info buildpack building");
|
|
|
|
assertThat(result.getOutput()).contains("---> Test Info buildpack building");
|
|
|
@ -129,7 +128,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithCustomBuilderAndRunImage() throws IOException {
|
|
|
|
void buildsImageWithCustomBuilderAndRunImage() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("example/test-image-custom");
|
|
|
|
assertThat(result.getOutput()).contains("example/test-image-custom");
|
|
|
|
assertThat(result.getOutput()).contains("---> Test Info buildpack building");
|
|
|
|
assertThat(result.getOutput()).contains("---> Test Info buildpack building");
|
|
|
@ -157,7 +156,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=ALWAYS");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("Pulled builder image").contains("Pulled run image");
|
|
|
|
assertThat(result.getOutput()).contains("Pulled builder image").contains("Pulled run image");
|
|
|
|
result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
@ -170,7 +169,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithBuildpackFromBuilder() throws IOException {
|
|
|
|
void buildsImageWithBuildpackFromBuilder() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -185,7 +184,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeBuildpackContent();
|
|
|
|
writeBuildpackContent();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -200,7 +199,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeBuildpackContent();
|
|
|
|
writeBuildpackContent();
|
|
|
|
tarGzipBuildpackContent();
|
|
|
|
tarGzipBuildpackContent();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -212,7 +211,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithBuildpacksFromImages() throws IOException {
|
|
|
|
void buildsImageWithBuildpacksFromImages() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -226,7 +225,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeCertificateBindingFiles();
|
|
|
|
writeCertificateBindingFiles();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -242,7 +241,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithTag() throws IOException {
|
|
|
|
void buildsImageWithTag() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -256,7 +255,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithLaunchScript() throws IOException {
|
|
|
|
void buildsImageWithLaunchScript() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -269,7 +268,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithNetworkModeNone() throws IOException {
|
|
|
|
void buildsImageWithNetworkModeNone() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -283,7 +282,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void buildsImageWithVolumeCaches() throws IOException {
|
|
|
|
void buildsImageWithVolumeCaches() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
String projectName = this.gradleBuild.getProjectDir().getName();
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
|
assertThat(result.getOutput()).contains("docker.io/library/" + projectName);
|
|
|
@ -297,7 +296,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void failsWithBuilderError() throws IOException {
|
|
|
|
void failsWithBuilderError() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage");
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.FAILED);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.FAILED);
|
|
|
|
assertThat(result.getOutput()).contains("Forced builder failure");
|
|
|
|
assertThat(result.getOutput()).contains("Forced builder failure");
|
|
|
|
assertThat(result.getOutput()).containsPattern("Builder lifecycle '.*' failed with status code");
|
|
|
|
assertThat(result.getOutput()).containsPattern("Builder lifecycle '.*' failed with status code");
|
|
|
@ -317,7 +316,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void failsWithBuildpackNotInBuilder() throws IOException {
|
|
|
|
void failsWithBuildpackNotInBuilder() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage");
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.FAILED);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.FAILED);
|
|
|
|
assertThat(result.getOutput()).contains("'urn:cnb:builder:example/does-not-exist:0.0.1' not found in builder");
|
|
|
|
assertThat(result.getOutput()).contains("'urn:cnb:builder:example/does-not-exist:0.0.1' not found in builder");
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -326,7 +325,7 @@ class BootBuildImageIntegrationTests {
|
|
|
|
void failsWithInvalidTag() throws IOException {
|
|
|
|
void failsWithInvalidTag() throws IOException {
|
|
|
|
writeMainClass();
|
|
|
|
writeMainClass();
|
|
|
|
writeLongNameResource();
|
|
|
|
writeLongNameResource();
|
|
|
|
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT");
|
|
|
|
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage");
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.FAILED);
|
|
|
|
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.FAILED);
|
|
|
|
assertThat(result.getOutput()).containsPattern("Unable to parse image reference")
|
|
|
|
assertThat(result.getOutput()).containsPattern("Unable to parse image reference")
|
|
|
|
.containsPattern("example/Invalid-Tag-Name");
|
|
|
|
.containsPattern("example/Invalid-Tag-Name");
|
|
|
|