mirror of
https://gitee.com/dcren/initializr.git
synced 2025-07-15 23:13:30 +08:00
Fix MavenBuild#hasDependency to test all candidates
Closes gh-1146
This commit is contained in:
parent
fd409c5340
commit
e97233b107
@ -193,13 +193,19 @@ public class MavenBuildAssert extends AbstractTextAssert<MavenBuildAssert> {
|
||||
if (dependency.getGroupId().equals(actual.getGroupId())
|
||||
&& dependency.getArtifactId().equals(actual.getArtifactId())) {
|
||||
if (dependency.getVersion() != null) {
|
||||
new StringAssert(actual.getVersion()).isEqualTo(dependency.getVersion());
|
||||
if (!dependency.getVersion().equals(actual.getVersion())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (dependency.getScope() != null) {
|
||||
new StringAssert(actual.getScope()).isEqualTo(dependency.getScope());
|
||||
if (!dependency.getScope().equals(actual.getScope())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (dependency.getType() != null) {
|
||||
new StringAssert(actual.getType()).isEqualTo(dependency.getType());
|
||||
if (!dependency.getType().equals(actual.getType())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import io.spring.initializr.metadata.Dependency;
|
||||
import org.assertj.core.api.AssertProvider;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@ -184,6 +185,15 @@ class MavenBuildAssertTests {
|
||||
.hasDependency("com.example.acme", "library-test", "1.3.0", "runtime"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void hasDependencyWithMultipleCandidates() {
|
||||
Dependency main = Dependency.withId("acme", "com.example.acme", "library", "1.2.0");
|
||||
Dependency test = Dependency.withId("acme", "com.example.acme", "library", "1.2.0", "test");
|
||||
test.setType("test-jar");
|
||||
assertThat(forMavenBuild("sample-dependency-multiple-identical-gav-pom.xml")).hasDependency(main)
|
||||
.hasDependency(test);
|
||||
}
|
||||
|
||||
@Test
|
||||
void doesNotHaveDependencyArtifactId() {
|
||||
assertThat(forSampleMavenBuild()).doesNotHaveDependency("com.example.acme", "wrong");
|
||||
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>demo</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.example.acme</groupId>
|
||||
<artifactId>library</artifactId>
|
||||
<version>1.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.example.acme</groupId>
|
||||
<artifactId>library</artifactId>
|
||||
<version>1.2.0</version>
|
||||
<scope>test</scope>
|
||||
<type>test-jar</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
Loading…
Reference in New Issue
Block a user