Commit afb60d61 authored by Scott Frederick's avatar Scott Frederick

Add tests for Gradle examples used in plugin docs

Fixes gh-25468
parent f2f51062
...@@ -13,3 +13,10 @@ bootBuildImage { ...@@ -13,3 +13,10 @@ bootBuildImage {
runImage = "mine/java-cnb-run" runImage = "mine/java-cnb-run"
} }
// end::builder[] // end::builder[]
task bootBuildImageBuilder {
doFirst {
println("builder=${tasks.bootBuildImage.builder}")
println("runImage=${tasks.bootBuildImage.runImage}")
}
}
import org.springframework.boot.gradle.tasks.bundling.BootJar import org.springframework.boot.gradle.tasks.bundling.BootJar
import org.springframework.boot.gradle.tasks.bundling.BootBuildImage
plugins { plugins {
java java
...@@ -15,3 +16,10 @@ tasks.getByName<BootBuildImage>("bootBuildImage") { ...@@ -15,3 +16,10 @@ tasks.getByName<BootBuildImage>("bootBuildImage") {
runImage = "mine/java-cnb-run" runImage = "mine/java-cnb-run"
} }
// end::builder[] // end::builder[]
tasks.register("bootBuildImageBuilder") {
doFirst {
println("builder=${tasks.getByName<BootBuildImage>("bootBuildImage").builder}")
println("runImage=${tasks.getByName<BootBuildImage>("bootBuildImage").runImage}")
}
}
...@@ -16,3 +16,9 @@ bootBuildImage { ...@@ -16,3 +16,9 @@ bootBuildImage {
} }
} }
// end::docker-auth-token[] // end::docker-auth-token[]
task bootBuildImageDocker {
doFirst {
println("token=${tasks.bootBuildImage.docker.builderRegistry.token}")
}
}
...@@ -19,3 +19,9 @@ tasks.getByName<BootBuildImage>("bootBuildImage") { ...@@ -19,3 +19,9 @@ tasks.getByName<BootBuildImage>("bootBuildImage") {
} }
} }
// end::docker-auth-token[] // end::docker-auth-token[]
tasks.register("bootBuildImageDocker") {
doFirst {
println("token=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.token}")
}
}
...@@ -19,3 +19,12 @@ bootBuildImage { ...@@ -19,3 +19,12 @@ bootBuildImage {
} }
} }
// end::docker-auth-user[] // end::docker-auth-user[]
task bootBuildImageDocker {
doFirst {
println("username=${tasks.bootBuildImage.docker.builderRegistry.username}")
println("password=${tasks.bootBuildImage.docker.builderRegistry.password}")
println("url=${tasks.bootBuildImage.docker.builderRegistry.url}")
println("email=${tasks.bootBuildImage.docker.builderRegistry.email}")
}
}
...@@ -22,3 +22,12 @@ tasks.getByName<BootBuildImage>("bootBuildImage") { ...@@ -22,3 +22,12 @@ tasks.getByName<BootBuildImage>("bootBuildImage") {
} }
} }
// end::docker-auth-user[] // end::docker-auth-user[]
tasks.register("bootBuildImageDocker") {
doFirst {
println("username=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.username}")
println("password=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.password}")
println("url=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.url}")
println("email=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.email}")
}
}
...@@ -16,3 +16,11 @@ bootBuildImage { ...@@ -16,3 +16,11 @@ bootBuildImage {
} }
} }
// end::docker-host[] // end::docker-host[]
task bootBuildImageDocker {
doFirst {
println("host=${tasks.bootBuildImage.docker.host}")
println("tlsVerify=${tasks.bootBuildImage.docker.tlsVerify}")
println("certPath=${tasks.bootBuildImage.docker.certPath}")
}
}
...@@ -14,8 +14,16 @@ tasks.getByName<BootJar>("bootJar") { ...@@ -14,8 +14,16 @@ tasks.getByName<BootJar>("bootJar") {
tasks.getByName<BootBuildImage>("bootBuildImage") { tasks.getByName<BootBuildImage>("bootBuildImage") {
docker { docker {
host = "tcp://192.168.99.100:2376" host = "tcp://192.168.99.100:2376"
tlsVerify = true isTlsVerify = true
certPath = "/home/users/.minikube/certs" certPath = "/home/users/.minikube/certs"
} }
} }
// end::docker-host[] // end::docker-host[]
tasks.register("bootBuildImageDocker") {
doFirst {
println("host=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.host}")
println("tlsVerify=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.isTlsVerify}")
println("certPath=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.certPath}")
}
}
...@@ -43,6 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -43,6 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Jean-Baptiste Nizet * @author Jean-Baptiste Nizet
* @author Scott Frederick
*/ */
@ExtendWith(GradleMultiDslExtension.class) @ExtendWith(GradleMultiDslExtension.class)
class PackagingDocumentationTests { class PackagingDocumentationTests {
...@@ -221,14 +222,21 @@ class PackagingDocumentationTests { ...@@ -221,14 +222,21 @@ class PackagingDocumentationTests {
} }
@TestTemplate @TestTemplate
void bootBuildImageWithCustomBuildpackJvmVersion() throws IOException { void bootBuildImageWithBuilder() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-builder")
.build("bootBuildImageBuilder");
assertThat(result.getOutput()).contains("builder=mine/java-cnb-builder").contains("runImage=mine/java-cnb-run");
}
@TestTemplate
void bootBuildImageWithCustomBuildpackJvmVersion() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env") BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env")
.build("bootBuildImageEnvironment"); .build("bootBuildImageEnvironment");
assertThat(result.getOutput()).contains("BP_JVM_VERSION=8.*"); assertThat(result.getOutput()).contains("BP_JVM_VERSION=8.*");
} }
@TestTemplate @TestTemplate
void bootBuildImageWithCustomProxySettings() throws IOException { void bootBuildImageWithCustomProxySettings() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env-proxy") BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env-proxy")
.build("bootBuildImageEnvironment"); .build("bootBuildImageEnvironment");
assertThat(result.getOutput()).contains("HTTP_PROXY=http://proxy.example.com") assertThat(result.getOutput()).contains("HTTP_PROXY=http://proxy.example.com")
...@@ -236,14 +244,37 @@ class PackagingDocumentationTests { ...@@ -236,14 +244,37 @@ class PackagingDocumentationTests {
} }
@TestTemplate @TestTemplate
void bootBuildImageWithCustomImageName() throws IOException { void bootBuildImageWithCustomImageName() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-name") BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-name")
.build("bootBuildImageName"); .build("bootBuildImageName");
assertThat(result.getOutput()).contains("example.com/library/" + this.gradleBuild.getProjectDir().getName()); assertThat(result.getOutput()).contains("example.com/library/" + this.gradleBuild.getProjectDir().getName());
} }
@TestTemplate @TestTemplate
void bootBuildImagePublish() throws IOException { void bootBuildImageWithDockerHost() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-host")
.build("bootBuildImageDocker");
assertThat(result.getOutput()).contains("host=tcp://192.168.99.100:2376").contains("tlsVerify=true")
.contains("certPath=/home/users/.minikube/certs");
}
@TestTemplate
void bootBuildImageWithDockerUserAuth() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-auth-user")
.build("bootBuildImageDocker");
assertThat(result.getOutput()).contains("username=user").contains("password=secret")
.contains("url=https://docker.example.com/v1/").contains("email=user@example.com");
}
@TestTemplate
void bootBuildImageWithDockerTokenAuth() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-auth-token")
.build("bootBuildImageDocker");
assertThat(result.getOutput()).contains("token=9cbaf023786cd7...");
}
@TestTemplate
void bootBuildImagePublish() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-publish") BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-publish")
.build("bootBuildImagePublish"); .build("bootBuildImagePublish");
assertThat(result.getOutput()).contains("true"); assertThat(result.getOutput()).contains("true");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment