private static Dependency createDependency(String id, String name, String description) { Dependency dependency = Dependency.withId(id); dependency.setDescription(description); dependency.setName(name); return dependency; }
@Test void generateCapabilitiesWithVersionRange() { Dependency first = Dependency.withId("first"); first.setDescription("first desc"); first.setVersionRange("1.2.0.RELEASE"); Dependency second = Dependency.withId("second"); second.setDescription("second desc"); second.setVersionRange(" [1.2.0.RELEASE,1.3.0.M1) "); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", first, second).build(); String content = this.generator.generateSpringBootCliCapabilities(metadata, "https://fake-service"); assertThat(content) .contains("| first | first desc | >=1.2.0.RELEASE |"); assertThat(content) .contains("| second | second desc | >=1.2.0.RELEASE and <1.3.0.M1 |"); }
@Test void resolveMatchingVersionMapping() { Dependency dependency = Dependency.withId("web", null, null, "0.3.0.RELEASE"); dependency.setDescription("A web dependency"); dependency.getKeywords().addAll(Arrays.asList("foo", "bar")); dependency.getAliases().add("the-web"); dependency.getFacets().add("web"); dependency.getMappings().add(Dependency.Mapping .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); dependency.getMappings().add(Dependency.Mapping .create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, null, "0.2.0.RELEASE")); dependency.resolve(); validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), "org.springframework.boot", "spring-boot-starter-web", "0.1.0.RELEASE"); validateResolvedWebDependency(dependency.resolve(Version.parse("1.2.0.RELEASE")), "org.springframework.boot", "spring-boot-starter-web", "0.2.0.RELEASE"); validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), "org.springframework.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); // default }
@Test void resolveMatchArtifactMapping() { Dependency dependency = Dependency.withId("web", null, null, "0.3.0.RELEASE"); dependency.setDescription("A web dependency"); dependency.getKeywords().addAll(Arrays.asList("foo", "bar")); dependency.getAliases().add("the-web"); dependency.getFacets().add("web"); dependency.getMappings().add(Dependency.Mapping .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", "org.spring.boot", null, null)); dependency.getMappings().add(Dependency.Mapping .create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, "starter-web", null)); dependency.resolve(); validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), "org.spring.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); validateResolvedWebDependency(dependency.resolve(Version.parse("1.2.0.RELEASE")), "org.springframework.boot", "starter-web", "0.3.0.RELEASE"); validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), "org.springframework.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); // default }
@Test void resolveMatchingVersionWithVariablePatch() { Dependency dependency = Dependency.withId("web", null, null, "0.3.0.RELEASE"); dependency.setDescription("A web dependency"); dependency.getKeywords().addAll(Arrays.asList("foo", "bar")); dependency.getAliases().add("the-web");