mirror of
https://gitee.com/dcren/initializr.git
synced 2025-04-05 17:38:06 +08:00
Clean build assertions
This commit is contained in:
parent
73415ea21d
commit
8a0d413a06
@ -81,13 +81,13 @@ public abstract class AbstractProjectGeneratorTests {
|
||||
protected PomAssert generateMavenPom(ProjectRequest request) {
|
||||
request.setType("maven-build");
|
||||
String content = new String(this.projectGenerator.generateMavenPom(request));
|
||||
return new PomAssert(content).validateProjectRequest(request);
|
||||
return new PomAssert(content);
|
||||
}
|
||||
|
||||
protected GradleBuildAssert generateGradleBuild(ProjectRequest request) {
|
||||
request.setType("gradle-build");
|
||||
String content = new String(this.projectGenerator.generateGradleBuild(request));
|
||||
return new GradleBuildAssert(content).validateProjectRequest(request);
|
||||
return new GradleBuildAssert(content);
|
||||
}
|
||||
|
||||
protected ProjectAssert generateProject(ProjectRequest request) {
|
||||
|
@ -49,14 +49,22 @@ class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
|
||||
@Test
|
||||
void defaultMavenPom() {
|
||||
ProjectRequest request = createProjectRequest("web");
|
||||
generateMavenPom(request).hasNoRepository().hasSpringBootStarterDependency("web");
|
||||
generateMavenPom(request).hasGroupId(request.getGroupId())
|
||||
.hasArtifactId(request.getArtifactId()).hasVersion(request.getVersion())
|
||||
.hasPackaging(request.getPackaging()).hasName(request.getName())
|
||||
.hasDescription(request.getDescription())
|
||||
.hasJavaVersion(request.getJavaVersion())
|
||||
.hasSpringBootParent(request.getBootVersion()).hasNoRepository()
|
||||
.hasSpringBootStarterDependency("web");
|
||||
verifyProjectSuccessfulEventFor(request);
|
||||
}
|
||||
|
||||
@Test
|
||||
void defaultGradleBuild() {
|
||||
ProjectRequest request = createProjectRequest("web");
|
||||
generateGradleBuild(request).doesNotContain("import");
|
||||
generateGradleBuild(request).hasVersion(request.getVersion())
|
||||
.hasSpringBootBuildScriptPlugin(request.getBootVersion())
|
||||
.hasJavaVersion(request.getJavaVersion()).doesNotContain("import");
|
||||
verifyProjectSuccessfulEventFor(request);
|
||||
}
|
||||
|
||||
@ -81,6 +89,37 @@ class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
|
||||
verifyProjectSuccessfulEventFor(request);
|
||||
}
|
||||
|
||||
@Test
|
||||
void mavenBuildWithCustomCoordinates() {
|
||||
ProjectRequest request = createProjectRequest("web");
|
||||
request.setGroupId("com.example.test");
|
||||
request.setArtifactId("test-project");
|
||||
request.setVersion("1.0.0.TEST-SNAPSHOT");
|
||||
request.setPackaging("war");
|
||||
request.setName("Test Project");
|
||||
request.setDescription("Test Project Description");
|
||||
generateMavenPom(request).hasGroupId("com.example.test")
|
||||
.hasArtifactId("test-project").hasVersion("1.0.0.TEST-SNAPSHOT")
|
||||
.hasPackaging("war").hasName("Test Project")
|
||||
.hasDescription("Test Project Description");
|
||||
}
|
||||
|
||||
@Test
|
||||
void gradleBuildWithProjectVersion() {
|
||||
ProjectRequest request = createProjectRequest("web");
|
||||
request.setVersion("1.0.0.TEST-SNAPSHOT");
|
||||
generateGradleBuild(request).hasVersion("1.0.0.TEST-SNAPSHOT");
|
||||
verifyProjectSuccessfulEventFor(request);
|
||||
}
|
||||
|
||||
@Test
|
||||
void gradleBuildWithJavaVersion() {
|
||||
ProjectRequest request = createProjectRequest("web");
|
||||
request.setJavaVersion("11");
|
||||
generateGradleBuild(request).hasJavaVersion("11");
|
||||
verifyProjectSuccessfulEventFor(request);
|
||||
}
|
||||
|
||||
@Test
|
||||
void noDependencyAddsRootStarter() {
|
||||
ProjectRequest request = createProjectRequest();
|
||||
@ -504,7 +543,9 @@ class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
|
||||
void gradleBuildWithSpringBoot15() {
|
||||
ProjectRequest request = createProjectRequest("web");
|
||||
request.setBootVersion("1.5.20.BUILD-SNAPSHOT");
|
||||
generateGradleBuild(request).contains("apply plugin: 'org.springframework.boot'")
|
||||
generateGradleBuild(request)
|
||||
.hasSpringBootBuildScriptPlugin("1.5.20.BUILD-SNAPSHOT")
|
||||
.contains("apply plugin: 'org.springframework.boot'")
|
||||
.contains(
|
||||
"implementation 'org.springframework.boot:spring-boot-starter-web'")
|
||||
.contains(
|
||||
@ -516,7 +557,8 @@ class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
|
||||
void gradleBuildWithSpringBoot20() {
|
||||
ProjectRequest request = createProjectRequest("web");
|
||||
request.setBootVersion("2.0.0.RELEASE");
|
||||
generateGradleBuild(request).contains("apply plugin: 'org.springframework.boot'")
|
||||
generateGradleBuild(request).hasSpringBootBuildScriptPlugin("2.0.0.RELEASE")
|
||||
.contains("apply plugin: 'org.springframework.boot'")
|
||||
.doesNotContain("apply plugin: 'spring-boot'")
|
||||
.contains("apply plugin: 'io.spring.dependency-management'")
|
||||
.contains(
|
||||
|
@ -16,8 +16,6 @@
|
||||
|
||||
package io.spring.initializr.test.generator;
|
||||
|
||||
import io.spring.initializr.generator.ProjectRequest;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
@ -33,22 +31,14 @@ public class GradleBuildAssert {
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that this generated gradle build validates against its request.
|
||||
* @param request the source request
|
||||
* @return a gradle assert
|
||||
*/
|
||||
public GradleBuildAssert validateProjectRequest(ProjectRequest request) {
|
||||
return hasVersion(request.getVersion()).hasBootVersion(request.getBootVersion())
|
||||
.hasJavaVersion(request.getJavaVersion());
|
||||
}
|
||||
|
||||
public GradleBuildAssert hasVersion(String version) {
|
||||
return contains("version = '" + version + "'");
|
||||
}
|
||||
|
||||
public GradleBuildAssert hasBootVersion(String bootVersion) {
|
||||
return contains("springBootVersion = '" + bootVersion + "'");
|
||||
public GradleBuildAssert hasSpringBootBuildScriptPlugin(String bootVersion) {
|
||||
return contains("ext {").contains("springBootVersion = '" + bootVersion + "'")
|
||||
.contains(
|
||||
"classpath(\"org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}\")");
|
||||
}
|
||||
|
||||
public GradleBuildAssert hasJavaVersion(String javaVersion) {
|
||||
|
@ -21,7 +21,6 @@ import java.net.URL;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import io.spring.initializr.generator.ProjectRequest;
|
||||
import io.spring.initializr.metadata.BillOfMaterials;
|
||||
import io.spring.initializr.metadata.Dependency;
|
||||
import io.spring.initializr.metadata.InitializrConfiguration.Env.Maven.ParentPom;
|
||||
@ -82,18 +81,6 @@ public class PomAssert {
|
||||
parseRepositories();
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that this generated pom validates against its request.
|
||||
* @param request the source request
|
||||
* @return a POM assert
|
||||
*/
|
||||
public PomAssert validateProjectRequest(ProjectRequest request) {
|
||||
return hasGroupId(request.getGroupId()).hasArtifactId(request.getArtifactId())
|
||||
.hasVersion(request.getVersion()).hasPackaging(request.getPackaging())
|
||||
.hasName(request.getName()).hasDescription(request.getDescription())
|
||||
.hasJavaVersion(request.getJavaVersion());
|
||||
}
|
||||
|
||||
public PomAssert contains(String expression) {
|
||||
assertThat(this.content).contains(expression);
|
||||
return this;
|
||||
|
Loading…
Reference in New Issue
Block a user