Home / Class/ RunningDocumentationTests Class — spring-boot Architecture

RunningDocumentationTests Class — spring-boot Architecture

Architecture documentation for the RunningDocumentationTests class in RunningDocumentationTests.java from the spring-boot codebase.

Entity Profile

Relationship Graph

Source Code

build-plugin/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/docs/RunningDocumentationTests.java lines 38–109

@ExtendWith(GradleMultiDslExtension.class)
class RunningDocumentationTests {

	@SuppressWarnings("NullAway.Init")
	GradleBuild gradleBuild;

	@TestTemplate
	void bootRunMain() throws IOException {
		writeMainClass();
		assertThat(this.gradleBuild.script(Examples.DIR + "running/boot-run-main").build("bootRun").getOutput())
			.contains("com.example.ExampleApplication");
	}

	@TestTemplate
	void applicationPluginMainClassName() throws IOException {
		writeMainClass();
		assertThat(this.gradleBuild.script(Examples.DIR + "running/application-plugin-main-class-name")
			.build("bootRun")
			.getOutput()).contains("com.example.ExampleApplication");
	}

	@TestTemplate
	void springBootDslMainClassName() throws IOException {
		writeMainClass();
		assertThat(this.gradleBuild.script(Examples.DIR + "running/spring-boot-dsl-main-class-name")
			.build("bootRun")
			.getOutput()).contains("com.example.ExampleApplication");
	}

	@TestTemplate
	void bootRunSourceResources() {
		assertThat(this.gradleBuild.script(Examples.DIR + "running/boot-run-source-resources")
			.build("configuredClasspath")
			.getOutput()).contains(new File("src/main/resources").getPath());
	}

	@TestTemplate
	void bootRunDisableOptimizedLaunch() {
		assertThat(this.gradleBuild.script(Examples.DIR + "running/boot-run-disable-optimized-launch")
			.build("optimizedLaunch")
			.getOutput()).contains("false");
	}

	@TestTemplate
	void bootRunSystemPropertyDefaultValue() {
		assertThat(this.gradleBuild.script(Examples.DIR + "running/boot-run-system-property")
			.build("configuredSystemProperties")
			.getOutput()).contains("com.example.property = default");
	}

	@TestTemplate
	void bootRunSystemProperty() {
		assertThat(this.gradleBuild.script(Examples.DIR + "running/boot-run-system-property")
			.build("-Pexample=custom", "configuredSystemProperties")
			.getOutput()).contains("com.example.property = custom");
	}

	private void writeMainClass() throws IOException {
		File exampleApplication = new File(this.gradleBuild.getProjectDir(),
				"src/main/java/com/example/ExampleApplication.java");
		exampleApplication.getParentFile().mkdirs();
		try (PrintWriter writer = new PrintWriter(new FileWriter(exampleApplication))) {
			writer.println("package com.example;");
			writer.println("public class ExampleApplication {");
			writer.println("    public static void main(String[] args) {");
			writer.println("        System.out.println(ExampleApplication.class.getName());");
			writer.println("    }");
			writer.println("}");
		}
	}

}

Domain

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free