mirror of
https://gitee.com/dcren/initializr.git
synced 2025-04-05 17:38:06 +08:00
Remove reference to InitializrMetadataTestBuilder from metadata tests
This will ease the migration of the metadata to its own module
This commit is contained in:
parent
3856aef259
commit
662c0b1e15
@ -16,12 +16,14 @@
|
||||
|
||||
package io.spring.initializr.metadata;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import io.spring.initializr.metadata.BillOfMaterials.Mapping;
|
||||
import io.spring.initializr.metadata.InitializrConfiguration.Env.Kotlin;
|
||||
import io.spring.initializr.test.metadata.InitializrMetadataTestBuilder;
|
||||
import io.spring.initializr.metadata.InitializrConfiguration.Env.Maven.ParentPom;
|
||||
import io.spring.initializr.util.Version;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@ -29,123 +31,122 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests for {@link InitializrMetadata}.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
*/
|
||||
class InitializrMetadataTests {
|
||||
|
||||
@Test
|
||||
void invalidBom() {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
Dependency foo = Dependency.withId("foo", "org.acme", "foo");
|
||||
foo.setBom("foo-bom");
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().addBom("my-bom", "org.acme", "foo", "1.2.3")
|
||||
.addDependencyGroup("test", foo);
|
||||
addTestDependencyGroup(metadata, foo);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("my-bom",
|
||||
BillOfMaterials.create("org.acme", "foo", "1.2.3"));
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build).withMessageContaining("foo-bom")
|
||||
.isThrownBy(metadata::validate).withMessageContaining("foo-bom")
|
||||
.withMessageContaining("my-bom");
|
||||
}
|
||||
|
||||
@Test
|
||||
void invalidRepository() {
|
||||
void invalidRepository() throws MalformedURLException {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
Dependency foo = Dependency.withId("foo", "org.acme", "foo");
|
||||
foo.setRepository("foo-repo");
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults()
|
||||
.addRepository("my-repo", "repo", "http://example.com/repo", true)
|
||||
.addDependencyGroup("test", foo);
|
||||
addTestDependencyGroup(metadata, foo);
|
||||
metadata.getConfiguration().getEnv().getRepositories().put("my-repo",
|
||||
new Repository("repo", new URL("http://example.com/repo"), true));
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build).withMessageContaining("foo-repo")
|
||||
.isThrownBy(metadata::validate).withMessageContaining("foo-repo")
|
||||
.withMessageContaining("my-repo");
|
||||
}
|
||||
|
||||
@Test
|
||||
void invalidBomNoVersion() {
|
||||
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
|
||||
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().addBom("foo-bom", bom);
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
metadata.getConfiguration().getEnv().getBoms().put("foo-bom",
|
||||
BillOfMaterials.create("org.acme", "foo-bom"));
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build).withMessageContaining("No version")
|
||||
.isThrownBy(metadata::validate).withMessageContaining("No version")
|
||||
.withMessageContaining("foo-bom");
|
||||
}
|
||||
|
||||
@Test
|
||||
void invalidBomUnknownRepository() {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom",
|
||||
"1.0.0.RELEASE");
|
||||
bom.getRepositories().add("foo-repo");
|
||||
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().addBom("foo-bom", bom);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build)
|
||||
.isThrownBy(metadata::validate)
|
||||
.withMessageContaining("invalid repository id foo-repo")
|
||||
.withMessageContaining("foo-bom");
|
||||
}
|
||||
|
||||
@Test
|
||||
void invalidBomUnknownAdditionalBom() {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom",
|
||||
"1.0.0.RELEASE");
|
||||
bom.getAdditionalBoms().addAll(Arrays.asList("bar-bom", "biz-bom"));
|
||||
BillOfMaterials barBom = BillOfMaterials.create("org.acme", "bar-bom",
|
||||
"1.0.0.RELEASE");
|
||||
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().addBom("foo-bom", bom).addBom("bar-bom", barBom);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("bar-bom", barBom);
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build)
|
||||
.isThrownBy(metadata::validate)
|
||||
.withMessageContaining("invalid additional bom")
|
||||
.withMessageContaining("biz-bom");
|
||||
}
|
||||
|
||||
@Test
|
||||
void invalidBomVersionRangeMapping() {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
|
||||
bom.getMappings().add(Mapping.create("[1.2.0.RELEASE,1.3.0.M1)", "1.0.0"));
|
||||
bom.getMappings().add(Mapping.create("FOO_BAR", "1.2.0"));
|
||||
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().addBom("foo-bom", bom);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build).withMessageContaining("FOO_BAR")
|
||||
.isThrownBy(metadata::validate).withMessageContaining("FOO_BAR")
|
||||
.withMessageContaining("foo-bom");
|
||||
}
|
||||
|
||||
@Test
|
||||
void invalidBomVersionRangeMappingUnknownRepo() {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
|
||||
bom.getMappings().add(Mapping.create("[1.0.0.RELEASE,1.3.0.M1)", "1.0.0"));
|
||||
Mapping mapping = Mapping.create("1.3.0.M2", "1.2.0");
|
||||
mapping.getRepositories().add("foo-repo");
|
||||
bom.getMappings().add(mapping);
|
||||
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().addBom("foo-bom", bom);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build)
|
||||
.isThrownBy(metadata::validate)
|
||||
.withMessageContaining("invalid repository id foo-repo")
|
||||
.withMessageContaining("1.3.0.M2").withMessageContaining("foo-bom");
|
||||
}
|
||||
|
||||
@Test
|
||||
void invalidBomVersionRangeMappingUnknownAdditionalBom() {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
|
||||
bom.getMappings().add(Mapping.create("[1.0.0.RELEASE,1.3.0.M1)", "1.0.0"));
|
||||
Mapping mapping = Mapping.create("1.3.0.M2", "1.2.0");
|
||||
mapping.getAdditionalBoms().add("bar-bom");
|
||||
bom.getMappings().add(mapping);
|
||||
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().addBom("foo-bom", bom);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build)
|
||||
.isThrownBy(metadata::validate)
|
||||
.withMessageContaining("invalid additional bom")
|
||||
.withMessageContaining("1.3.0.M2").withMessageContaining("bar-bom");
|
||||
}
|
||||
|
||||
@Test
|
||||
void updateSpringBootVersions() {
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
|
||||
bom.getMappings().add(Mapping.create("[1.2.0.RELEASE,1.3.x.RELEASE]", "1.0.0"));
|
||||
bom.getMappings()
|
||||
@ -155,13 +156,16 @@ class InitializrMetadataTests {
|
||||
.create("[1.3.0.RELEASE, 1.3.x.RELEASE]", null, null, "0.1.0.RELEASE"));
|
||||
dependency.getMappings().add(Dependency.Mapping.create("1.3.x.BUILD-SNAPSHOT",
|
||||
null, null, "0.2.0.RELEASE"));
|
||||
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.addDependencyGroup("test", dependency).addBom("foo-bom", bom)
|
||||
.setKotlinEnv("1.3",
|
||||
createKotlinVersionMapping("[1.2.0.RELEASE,1.3.x.RELEASE]",
|
||||
"1.1"),
|
||||
createKotlinVersionMapping("1.3.x.BUILD-SNAPSHOT", "1.2"))
|
||||
.build();
|
||||
|
||||
addTestDependencyGroup(metadata, dependency);
|
||||
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
|
||||
Kotlin kotlin = metadata.getConfiguration().getEnv().getKotlin();
|
||||
kotlin.setDefaultVersion("1.3");
|
||||
kotlin.getMappings()
|
||||
.add(createKotlinVersionMapping("[1.2.0.RELEASE,1.3.x.RELEASE]", "1.1"));
|
||||
kotlin.getMappings()
|
||||
.add(createKotlinVersionMapping("1.3.x.BUILD-SNAPSHOT", "1.2"));
|
||||
metadata.validate();
|
||||
|
||||
List<DefaultMetadataElement> bootVersions = Arrays.asList(
|
||||
DefaultMetadataElement.create("1.3.6.RELEASE", "1.3.6", false),
|
||||
@ -185,27 +189,41 @@ class InitializrMetadataTests {
|
||||
|
||||
@Test
|
||||
void invalidParentMissingVersion() {
|
||||
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
|
||||
.withDefaults().setMavenParent("org.foo", "foo-parent", null, false);
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
ParentPom parent = metadata.getConfiguration().getEnv().getMaven().getParent();
|
||||
parent.setGroupId("org.foo");
|
||||
parent.setArtifactId("foo-parent");
|
||||
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
|
||||
.isThrownBy(builder::build).withMessageContaining(
|
||||
.isThrownBy(metadata::validate).withMessageContaining(
|
||||
"Custom maven pom requires groupId, artifactId and version");
|
||||
}
|
||||
|
||||
@Test
|
||||
void stripInvalidCharsFromPackage() {
|
||||
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.build();
|
||||
InitializrMetadata metadata = initializeMetadata();
|
||||
metadata.getGroupId().setContent("org.acme");
|
||||
metadata.getArtifactId().setContent("2foo.bar");
|
||||
assertThat(metadata.getPackageName().getContent()).isEqualTo("org.acme.foo.bar");
|
||||
|
||||
metadata = InitializrMetadataTestBuilder.withDefaults().build();
|
||||
metadata = initializeMetadata();
|
||||
metadata.getGroupId().setContent("org.ac-me");
|
||||
metadata.getArtifactId().setContent("foo-bar");
|
||||
assertThat(metadata.getPackageName().getContent()).isEqualTo("org.acme.foobar");
|
||||
}
|
||||
|
||||
private InitializrMetadata initializeMetadata() {
|
||||
return new InitializrMetadata();
|
||||
}
|
||||
|
||||
private void addTestDependencyGroup(InitializrMetadata metadata,
|
||||
Dependency... dependencies) {
|
||||
DependencyGroup group = DependencyGroup.create("test");
|
||||
for (Dependency dependency : dependencies) {
|
||||
group.getContent().add(dependency);
|
||||
}
|
||||
metadata.getDependencies().getContent().add(group);
|
||||
}
|
||||
|
||||
private Kotlin.Mapping createKotlinVersionMapping(String versionRange,
|
||||
String kotlinVersion) {
|
||||
Kotlin.Mapping mapping = new Kotlin.Mapping();
|
||||
|
Loading…
Reference in New Issue
Block a user