[MNG-8347] Additional tests (#398)

Add additional cases as original test is not the full story.
Make sure tree is same even if pushed down a level (in Maven3 is not)

---

https://issues.apache.org/jira/browse/MNG-8347
This commit is contained in:
Tamas Cservenak 2024-10-29 10:00:06 +01:00 committed by GitHub
parent 216c16c4b3
commit 9e62984ae3
3 changed files with 86 additions and 0 deletions

View File

@ -86,6 +86,58 @@ class MavenITmng8347TransitiveDependencyManagerTest extends AbstractMavenIntegra
}
}
/**
* Mimic bnd-maven-plugin:7.0.0: have direct dependency on plexus-build-api:0.0.7 and observe plexus-utils.
* Beta-5 makes it 1.5.5 while correct version is 1.5.8.
*/
@Test
void useCaseBndPlugin() throws Exception {
File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-8347-bnd-plugin");
Verifier verifier = new Verifier(testDir.getAbsolutePath());
verifier.addCliArgument("-V");
verifier.addCliArgument("dependency:3.8.0:tree");
verifier.addCliArgument("-Dmaven.repo.local.tail=" + testDir + "/local-repo");
verifier.addCliArgument("-Dmaven.repo.local.tail.ignoreAvailability");
verifier.execute();
verifier.verifyErrorFreeLog();
List<String> l = verifier.loadLines(verifier.getLogFileName(), "UTF-8");
if (matchesVersionRange("[4.0.0-beta-5]")) {
a(l, "[INFO] org.apache.maven.it.mresolver614:root:jar:1.0.0");
a(l, "[INFO] \\- org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile");
a(l, "[INFO] \\- org.codehaus.plexus:plexus-utils:jar:1.5.5:compile");
} else {
a(l, "[INFO] org.apache.maven.it.mresolver614:root:jar:1.0.0");
a(l, "[INFO] \\- org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile");
a(l, "[INFO] \\- org.codehaus.plexus:plexus-utils:jar:1.5.8:compile");
}
}
/**
* Make Quarkus TLS Registry first level dependency and make sure expected stuff are present.
*/
@Test
void useCaseQuarkusTlsRegistry() throws Exception {
File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-8347-quarkus-tls-registry");
Verifier verifier = new Verifier(testDir.getAbsolutePath());
verifier.addCliArgument("-V");
verifier.addCliArgument("dependency:3.8.0:tree");
verifier.addCliArgument("-Dmaven.repo.local.tail=" + testDir + "/local-repo");
verifier.addCliArgument("-Dmaven.repo.local.tail.ignoreAvailability");
verifier.execute();
verifier.verifyErrorFreeLog();
// this really boils down to "transitive" vs "non-transitive"
List<String> l = verifier.loadLines(verifier.getLogFileName(), "UTF-8");
if (matchesVersionRange("[,4.0.0-alpha-11)")) {
a(l, "[INFO] | | | \\- com.fasterxml.jackson.core:jackson-core:jar:2.16.1:compile");
} else {
a(l, "[INFO] | | | \\- com.fasterxml.jackson.core:jackson-core:jar:2.17.2:compile");
}
}
/**
* Assert true, log lines contains string...
*/

View File

@ -0,0 +1,17 @@
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.it.mresolver614</groupId>
<artifactId>root</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-build-api</artifactId>
<version>0.0.7</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,17 @@
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.it.mresolver614</groupId>
<artifactId>root</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-tls-registry</artifactId>
<version>3.15.1</version>
</dependency>
</dependencies>
</project>