Skip to content

Commit 662c0b1

Browse files
committed
Remove reference to InitializrMetadataTestBuilder from metadata tests
This will ease the migration of the metadata to its own module
1 parent 3856aef commit 662c0b1

File tree

1 file changed

+67
-49
lines changed

1 file changed

+67
-49
lines changed

initializr-generator/src/test/java/io/spring/initializr/metadata/InitializrMetadataTests.java

Lines changed: 67 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -16,136 +16,137 @@
1616

1717
package io.spring.initializr.metadata;
1818

19+
import java.net.MalformedURLException;
20+
import java.net.URL;
1921
import java.util.Arrays;
2022
import java.util.List;
2123

2224
import io.spring.initializr.metadata.BillOfMaterials.Mapping;
2325
import io.spring.initializr.metadata.InitializrConfiguration.Env.Kotlin;
24-
import io.spring.initializr.test.metadata.InitializrMetadataTestBuilder;
26+
import io.spring.initializr.metadata.InitializrConfiguration.Env.Maven.ParentPom;
2527
import io.spring.initializr.util.Version;
2628
import org.junit.jupiter.api.Test;
2729

2830
import static org.assertj.core.api.Assertions.assertThat;
2931
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
3032

3133
/**
34+
* Tests for {@link InitializrMetadata}.
35+
*
3236
* @author Stephane Nicoll
3337
*/
3438
class InitializrMetadataTests {
3539

3640
@Test
3741
void invalidBom() {
42+
InitializrMetadata metadata = initializeMetadata();
3843
Dependency foo = Dependency.withId("foo", "org.acme", "foo");
3944
foo.setBom("foo-bom");
40-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
41-
.withDefaults().addBom("my-bom", "org.acme", "foo", "1.2.3")
42-
.addDependencyGroup("test", foo);
45+
addTestDependencyGroup(metadata, foo);
46+
metadata.getConfiguration().getEnv().getBoms().put("my-bom",
47+
BillOfMaterials.create("org.acme", "foo", "1.2.3"));
4348
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
44-
.isThrownBy(builder::build).withMessageContaining("foo-bom")
49+
.isThrownBy(metadata::validate).withMessageContaining("foo-bom")
4550
.withMessageContaining("my-bom");
4651
}
4752

4853
@Test
49-
void invalidRepository() {
54+
void invalidRepository() throws MalformedURLException {
55+
InitializrMetadata metadata = initializeMetadata();
5056
Dependency foo = Dependency.withId("foo", "org.acme", "foo");
5157
foo.setRepository("foo-repo");
52-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
53-
.withDefaults()
54-
.addRepository("my-repo", "repo", "http://example.com/repo", true)
55-
.addDependencyGroup("test", foo);
58+
addTestDependencyGroup(metadata, foo);
59+
metadata.getConfiguration().getEnv().getRepositories().put("my-repo",
60+
new Repository("repo", new URL("http://example.com/repo"), true));
5661
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
57-
.isThrownBy(builder::build).withMessageContaining("foo-repo")
62+
.isThrownBy(metadata::validate).withMessageContaining("foo-repo")
5863
.withMessageContaining("my-repo");
5964
}
6065

6166
@Test
6267
void invalidBomNoVersion() {
63-
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
64-
65-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
66-
.withDefaults().addBom("foo-bom", bom);
68+
InitializrMetadata metadata = initializeMetadata();
69+
metadata.getConfiguration().getEnv().getBoms().put("foo-bom",
70+
BillOfMaterials.create("org.acme", "foo-bom"));
6771
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
68-
.isThrownBy(builder::build).withMessageContaining("No version")
72+
.isThrownBy(metadata::validate).withMessageContaining("No version")
6973
.withMessageContaining("foo-bom");
7074
}
7175

7276
@Test
7377
void invalidBomUnknownRepository() {
78+
InitializrMetadata metadata = initializeMetadata();
7479
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom",
7580
"1.0.0.RELEASE");
7681
bom.getRepositories().add("foo-repo");
77-
78-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
79-
.withDefaults().addBom("foo-bom", bom);
82+
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
8083
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
81-
.isThrownBy(builder::build)
84+
.isThrownBy(metadata::validate)
8285
.withMessageContaining("invalid repository id foo-repo")
8386
.withMessageContaining("foo-bom");
8487
}
8588

8689
@Test
8790
void invalidBomUnknownAdditionalBom() {
91+
InitializrMetadata metadata = initializeMetadata();
8892
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom",
8993
"1.0.0.RELEASE");
9094
bom.getAdditionalBoms().addAll(Arrays.asList("bar-bom", "biz-bom"));
9195
BillOfMaterials barBom = BillOfMaterials.create("org.acme", "bar-bom",
9296
"1.0.0.RELEASE");
93-
94-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
95-
.withDefaults().addBom("foo-bom", bom).addBom("bar-bom", barBom);
97+
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
98+
metadata.getConfiguration().getEnv().getBoms().put("bar-bom", barBom);
9699
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
97-
.isThrownBy(builder::build)
100+
.isThrownBy(metadata::validate)
98101
.withMessageContaining("invalid additional bom")
99102
.withMessageContaining("biz-bom");
100103
}
101104

102105
@Test
103106
void invalidBomVersionRangeMapping() {
107+
InitializrMetadata metadata = initializeMetadata();
104108
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
105109
bom.getMappings().add(Mapping.create("[1.2.0.RELEASE,1.3.0.M1)", "1.0.0"));
106110
bom.getMappings().add(Mapping.create("FOO_BAR", "1.2.0"));
107-
108-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
109-
.withDefaults().addBom("foo-bom", bom);
111+
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
110112
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
111-
.isThrownBy(builder::build).withMessageContaining("FOO_BAR")
113+
.isThrownBy(metadata::validate).withMessageContaining("FOO_BAR")
112114
.withMessageContaining("foo-bom");
113115
}
114116

115117
@Test
116118
void invalidBomVersionRangeMappingUnknownRepo() {
119+
InitializrMetadata metadata = initializeMetadata();
117120
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
118121
bom.getMappings().add(Mapping.create("[1.0.0.RELEASE,1.3.0.M1)", "1.0.0"));
119122
Mapping mapping = Mapping.create("1.3.0.M2", "1.2.0");
120123
mapping.getRepositories().add("foo-repo");
121124
bom.getMappings().add(mapping);
122-
123-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
124-
.withDefaults().addBom("foo-bom", bom);
125+
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
125126
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
126-
.isThrownBy(builder::build)
127+
.isThrownBy(metadata::validate)
127128
.withMessageContaining("invalid repository id foo-repo")
128129
.withMessageContaining("1.3.0.M2").withMessageContaining("foo-bom");
129130
}
130131

131132
@Test
132133
void invalidBomVersionRangeMappingUnknownAdditionalBom() {
134+
InitializrMetadata metadata = initializeMetadata();
133135
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
134136
bom.getMappings().add(Mapping.create("[1.0.0.RELEASE,1.3.0.M1)", "1.0.0"));
135137
Mapping mapping = Mapping.create("1.3.0.M2", "1.2.0");
136138
mapping.getAdditionalBoms().add("bar-bom");
137139
bom.getMappings().add(mapping);
138-
139-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
140-
.withDefaults().addBom("foo-bom", bom);
140+
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
141141
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
142-
.isThrownBy(builder::build)
142+
.isThrownBy(metadata::validate)
143143
.withMessageContaining("invalid additional bom")
144144
.withMessageContaining("1.3.0.M2").withMessageContaining("bar-bom");
145145
}
146146

147147
@Test
148148
void updateSpringBootVersions() {
149+
InitializrMetadata metadata = initializeMetadata();
149150
BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom");
150151
bom.getMappings().add(Mapping.create("[1.2.0.RELEASE,1.3.x.RELEASE]", "1.0.0"));
151152
bom.getMappings()
@@ -155,13 +156,16 @@ void updateSpringBootVersions() {
155156
.create("[1.3.0.RELEASE, 1.3.x.RELEASE]", null, null, "0.1.0.RELEASE"));
156157
dependency.getMappings().add(Dependency.Mapping.create("1.3.x.BUILD-SNAPSHOT",
157158
null, null, "0.2.0.RELEASE"));
158-
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
159-
.addDependencyGroup("test", dependency).addBom("foo-bom", bom)
160-
.setKotlinEnv("1.3",
161-
createKotlinVersionMapping("[1.2.0.RELEASE,1.3.x.RELEASE]",
162-
"1.1"),
163-
createKotlinVersionMapping("1.3.x.BUILD-SNAPSHOT", "1.2"))
164-
.build();
159+
160+
addTestDependencyGroup(metadata, dependency);
161+
metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom);
162+
Kotlin kotlin = metadata.getConfiguration().getEnv().getKotlin();
163+
kotlin.setDefaultVersion("1.3");
164+
kotlin.getMappings()
165+
.add(createKotlinVersionMapping("[1.2.0.RELEASE,1.3.x.RELEASE]", "1.1"));
166+
kotlin.getMappings()
167+
.add(createKotlinVersionMapping("1.3.x.BUILD-SNAPSHOT", "1.2"));
168+
metadata.validate();
165169

166170
List<DefaultMetadataElement> bootVersions = Arrays.asList(
167171
DefaultMetadataElement.create("1.3.6.RELEASE", "1.3.6", false),
@@ -185,27 +189,41 @@ void updateSpringBootVersions() {
185189

186190
@Test
187191
void invalidParentMissingVersion() {
188-
InitializrMetadataTestBuilder builder = InitializrMetadataTestBuilder
189-
.withDefaults().setMavenParent("org.foo", "foo-parent", null, false);
192+
InitializrMetadata metadata = initializeMetadata();
193+
ParentPom parent = metadata.getConfiguration().getEnv().getMaven().getParent();
194+
parent.setGroupId("org.foo");
195+
parent.setArtifactId("foo-parent");
190196
assertThatExceptionOfType(InvalidInitializrMetadataException.class)
191-
.isThrownBy(builder::build).withMessageContaining(
197+
.isThrownBy(metadata::validate).withMessageContaining(
192198
"Custom maven pom requires groupId, artifactId and version");
193199
}
194200

195201
@Test
196202
void stripInvalidCharsFromPackage() {
197-
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
198-
.build();
203+
InitializrMetadata metadata = initializeMetadata();
199204
metadata.getGroupId().setContent("org.acme");
200205
metadata.getArtifactId().setContent("2foo.bar");
201206
assertThat(metadata.getPackageName().getContent()).isEqualTo("org.acme.foo.bar");
202207

203-
metadata = InitializrMetadataTestBuilder.withDefaults().build();
208+
metadata = initializeMetadata();
204209
metadata.getGroupId().setContent("org.ac-me");
205210
metadata.getArtifactId().setContent("foo-bar");
206211
assertThat(metadata.getPackageName().getContent()).isEqualTo("org.acme.foobar");
207212
}
208213

214+
private InitializrMetadata initializeMetadata() {
215+
return new InitializrMetadata();
216+
}
217+
218+
private void addTestDependencyGroup(InitializrMetadata metadata,
219+
Dependency... dependencies) {
220+
DependencyGroup group = DependencyGroup.create("test");
221+
for (Dependency dependency : dependencies) {
222+
group.getContent().add(dependency);
223+
}
224+
metadata.getDependencies().getContent().add(group);
225+
}
226+
209227
private Kotlin.Mapping createKotlinVersionMapping(String versionRange,
210228
String kotlinVersion) {
211229
Kotlin.Mapping mapping = new Kotlin.Mapping();

0 commit comments

Comments
 (0)