Skip to content

Commit afb60d6

Browse files
Add tests for Gradle examples used in plugin docs
Fixes gh-25468
1 parent f2f5106 commit afb60d6

9 files changed

+97
-5
lines changed

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-builder.gradle

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,10 @@ bootBuildImage {
1313
runImage = "mine/java-cnb-run"
1414
}
1515
// end::builder[]
16+
17+
task bootBuildImageBuilder {
18+
doFirst {
19+
println("builder=${tasks.bootBuildImage.builder}")
20+
println("runImage=${tasks.bootBuildImage.runImage}")
21+
}
22+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-builder.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import org.springframework.boot.gradle.tasks.bundling.BootJar
2+
import org.springframework.boot.gradle.tasks.bundling.BootBuildImage
23

34
plugins {
45
java
@@ -15,3 +16,10 @@ tasks.getByName<BootBuildImage>("bootBuildImage") {
1516
runImage = "mine/java-cnb-run"
1617
}
1718
// end::builder[]
19+
20+
tasks.register("bootBuildImageBuilder") {
21+
doFirst {
22+
println("builder=${tasks.getByName<BootBuildImage>("bootBuildImage").builder}")
23+
println("runImage=${tasks.getByName<BootBuildImage>("bootBuildImage").runImage}")
24+
}
25+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-docker-auth-token.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,9 @@ bootBuildImage {
1616
}
1717
}
1818
// end::docker-auth-token[]
19+
20+
task bootBuildImageDocker {
21+
doFirst {
22+
println("token=${tasks.bootBuildImage.docker.builderRegistry.token}")
23+
}
24+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-docker-auth-token.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,9 @@ tasks.getByName<BootBuildImage>("bootBuildImage") {
1919
}
2020
}
2121
// end::docker-auth-token[]
22+
23+
tasks.register("bootBuildImageDocker") {
24+
doFirst {
25+
println("token=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.token}")
26+
}
27+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-docker-auth-user.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,12 @@ bootBuildImage {
1919
}
2020
}
2121
// end::docker-auth-user[]
22+
23+
task bootBuildImageDocker {
24+
doFirst {
25+
println("username=${tasks.bootBuildImage.docker.builderRegistry.username}")
26+
println("password=${tasks.bootBuildImage.docker.builderRegistry.password}")
27+
println("url=${tasks.bootBuildImage.docker.builderRegistry.url}")
28+
println("email=${tasks.bootBuildImage.docker.builderRegistry.email}")
29+
}
30+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-docker-auth-user.gradle.kts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,12 @@ tasks.getByName<BootBuildImage>("bootBuildImage") {
2222
}
2323
}
2424
// end::docker-auth-user[]
25+
26+
tasks.register("bootBuildImageDocker") {
27+
doFirst {
28+
println("username=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.username}")
29+
println("password=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.password}")
30+
println("url=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.url}")
31+
println("email=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.builderRegistry.email}")
32+
}
33+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-docker-host.gradle

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,11 @@ bootBuildImage {
1616
}
1717
}
1818
// end::docker-host[]
19+
20+
task bootBuildImageDocker {
21+
doFirst {
22+
println("host=${tasks.bootBuildImage.docker.host}")
23+
println("tlsVerify=${tasks.bootBuildImage.docker.tlsVerify}")
24+
println("certPath=${tasks.bootBuildImage.docker.certPath}")
25+
}
26+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/gradle/packaging/boot-build-image-docker-host.gradle.kts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,16 @@ tasks.getByName<BootJar>("bootJar") {
1414
tasks.getByName<BootBuildImage>("bootBuildImage") {
1515
docker {
1616
host = "tcp://192.168.99.100:2376"
17-
tlsVerify = true
17+
isTlsVerify = true
1818
certPath = "/home/users/.minikube/certs"
1919
}
2020
}
2121
// end::docker-host[]
22+
23+
tasks.register("bootBuildImageDocker") {
24+
doFirst {
25+
println("host=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.host}")
26+
println("tlsVerify=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.isTlsVerify}")
27+
println("certPath=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.certPath}")
28+
}
29+
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/docs/PackagingDocumentationTests.java

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
*
4444
* @author Andy Wilkinson
4545
* @author Jean-Baptiste Nizet
46+
* @author Scott Frederick
4647
*/
4748
@ExtendWith(GradleMultiDslExtension.class)
4849
class PackagingDocumentationTests {
@@ -221,29 +222,59 @@ void bootJarLayeredExcludeTools() throws IOException {
221222
}
222223

223224
@TestTemplate
224-
void bootBuildImageWithCustomBuildpackJvmVersion() throws IOException {
225+
void bootBuildImageWithBuilder() {
226+
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-builder")
227+
.build("bootBuildImageBuilder");
228+
assertThat(result.getOutput()).contains("builder=mine/java-cnb-builder").contains("runImage=mine/java-cnb-run");
229+
}
230+
231+
@TestTemplate
232+
void bootBuildImageWithCustomBuildpackJvmVersion() {
225233
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env")
226234
.build("bootBuildImageEnvironment");
227235
assertThat(result.getOutput()).contains("BP_JVM_VERSION=8.*");
228236
}
229237

230238
@TestTemplate
231-
void bootBuildImageWithCustomProxySettings() throws IOException {
239+
void bootBuildImageWithCustomProxySettings() {
232240
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env-proxy")
233241
.build("bootBuildImageEnvironment");
234242
assertThat(result.getOutput()).contains("HTTP_PROXY=http://proxy.example.com")
235243
.contains("HTTPS_PROXY=https://proxy.example.com");
236244
}
237245

238246
@TestTemplate
239-
void bootBuildImageWithCustomImageName() throws IOException {
247+
void bootBuildImageWithCustomImageName() {
240248
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-name")
241249
.build("bootBuildImageName");
242250
assertThat(result.getOutput()).contains("example.com/library/" + this.gradleBuild.getProjectDir().getName());
243251
}
244252

245253
@TestTemplate
246-
void bootBuildImagePublish() throws IOException {
254+
void bootBuildImageWithDockerHost() {
255+
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-host")
256+
.build("bootBuildImageDocker");
257+
assertThat(result.getOutput()).contains("host=tcp://192.168.99.100:2376").contains("tlsVerify=true")
258+
.contains("certPath=/home/users/.minikube/certs");
259+
}
260+
261+
@TestTemplate
262+
void bootBuildImageWithDockerUserAuth() {
263+
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-auth-user")
264+
.build("bootBuildImageDocker");
265+
assertThat(result.getOutput()).contains("username=user").contains("password=secret")
266+
.contains("url=https://docker.example.com/v1/").contains("[email protected]");
267+
}
268+
269+
@TestTemplate
270+
void bootBuildImageWithDockerTokenAuth() {
271+
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-auth-token")
272+
.build("bootBuildImageDocker");
273+
assertThat(result.getOutput()).contains("token=9cbaf023786cd7...");
274+
}
275+
276+
@TestTemplate
277+
void bootBuildImagePublish() {
247278
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-publish")
248279
.build("bootBuildImagePublish");
249280
assertThat(result.getOutput()).contains("true");

0 commit comments

Comments
 (0)