This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-dependency-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new 9876c7e8 Migration to JUnit 5 - avoid using AbstractMojoTestCase
9876c7e8 is described below
commit 9876c7e8ce99387c021f5d85f5e0716ec539372a
Author: Slawomir Jaranowski <[email protected]>
AuthorDate: Sun Dec 28 13:22:48 2025 +0100
Migration to JUnit 5 - avoid using AbstractMojoTestCase
Next part
---
.../plugins/dependency/TestListClassesMojo.java | 213 +++++++-------
.../ExcludeReactorProjectsArtifactFilterTest.java | 54 ++--
...ExcludeReactorProjectsDependencyFilterTest.java | 53 ++--
.../dependency/resolvers/GoOfflineMojoTest.java | 318 ++++++---------------
.../dependency/utils/TestDependencyStatusSets.java | 63 ++--
5 files changed, 284 insertions(+), 417 deletions(-)
diff --git
a/src/test/java/org/apache/maven/plugins/dependency/TestListClassesMojo.java
b/src/test/java/org/apache/maven/plugins/dependency/TestListClassesMojo.java
index 1569b917..bc26ecbc 100644
--- a/src/test/java/org/apache/maven/plugins/dependency/TestListClassesMojo.java
+++ b/src/test/java/org/apache/maven/plugins/dependency/TestListClassesMojo.java
@@ -18,161 +18,156 @@
*/
package org.apache.maven.plugins.dependency;
+import javax.inject.Inject;
+
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.Arrays;
import java.util.List;
+import org.apache.maven.api.di.Provides;
+import org.apache.maven.api.plugin.testing.Basedir;
+import org.apache.maven.api.plugin.testing.InjectMojo;
+import org.apache.maven.api.plugin.testing.MojoParameter;
+import org.apache.maven.api.plugin.testing.MojoTest;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory;
import org.apache.maven.plugin.logging.Log;
-import
org.apache.maven.plugins.dependency.testUtils.stubs.DependencyProjectStub;
-import org.apache.maven.plugins.dependency.utils.ResolverUtil;
-import org.apache.maven.project.MavenProject;
-import org.eclipse.aether.RepositorySystem;
-import org.junit.Assert;
+import org.eclipse.aether.RepositorySystemSession;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
import org.mockito.Mockito;
+import org.mockito.junit.jupiter.MockitoExtension;
-public class TestListClassesMojo extends AbstractDependencyMojoTestCase {
- private ListClassesMojo mojo;
-
- @Override
- protected String getTestDirectoryName() {
- return "markers";
- }
-
- @Override
- protected boolean shouldCreateFiles() {
- return false;
- }
+import static org.apache.maven.api.plugin.testing.MojoExtension.getBasedir;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+@ExtendWith(MockitoExtension.class)
+@MojoTest
+class TestListClassesMojo {
- MavenProject project = new DependencyProjectStub();
- getContainer().addComponent(project, MavenProject.class.getName());
+ @Inject
+ private MavenSession mavenSession;
- MavenSession session = newMavenSession(project);
+ @Inject
+ private DefaultRepositorySystemSessionFactory repoSessionFactory;
- RepositorySystem repositorySystem = lookup(RepositorySystem.class);
- ResolverUtil resolverUtil = new ResolverUtil(repositorySystem, () ->
session);
- getContainer().addComponent(resolverUtil,
ResolverUtil.class.getName());
+ @Mock
+ private Log log;
- getContainer().addComponent(session, MavenSession.class.getName());
-
- File testPom = new File(getBasedir(),
"target/test-classes/unit/get-test/plugin-config.xml");
+ @Provides
+ @SuppressWarnings("unused")
+ private Log logProvides() {
+ return log;
+ }
- assertTrue(testPom.exists());
- mojo = (ListClassesMojo) lookupMojo("list-classes", testPom);
+ @BeforeEach
+ void setUp() {
+ ArtifactRepository localRepo = Mockito.mock(ArtifactRepository.class);
+ when(localRepo.getBasedir()).thenReturn(new File(getBasedir(),
"target/local-repo").getAbsolutePath());
- assertNotNull(mojo);
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest();
+ request.setLocalRepository(localRepo);
- installLocalRepository(session.getRepositorySession());
+ RepositorySystemSession systemSession =
repoSessionFactory.newRepositorySession(request);
+ when(mavenSession.getRepositorySession()).thenReturn(systemSession);
+ when(mavenSession.getRequest()).thenReturn(request);
}
- public void testListClassesNotTransitive() throws Exception {
- Path path =
Paths.get("src/test/resources/unit/list-test/testListClassesNotTransitive.txt");
+ @Test
+ @InjectMojo(goal = "list-classes")
+ @MojoParameter(
+ name = "remoteRepositories",
+ value = "central::default::https://repo.maven.apache.org/maven2,"
+ + "central::::https://repo.maven.apache.org/maven2,"
+ + "https://repo.maven.apache.org/maven2")
+ @MojoParameter(name = "transitive", value = "false")
+ @MojoParameter(name = "artifact", value =
"org.apache.commons:commons-lang3:3.6")
+ @Basedir("/unit/list-test")
+ void testListClassesNotTransitive(ListClassesMojo mojo) throws Exception {
+ Path path = Paths.get(getBasedir(),
"testListClassesNotTransitive.txt");
List<String> expectedLogArgs = Files.readAllLines(path);
ArgumentCaptor<String> infoArgsCaptor =
ArgumentCaptor.forClass(String.class);
- setVariableValueToObject(
- mojo,
- "remoteRepositories",
- Arrays.asList(
-
"central::default::https://repo.maven.apache.org/maven2",
- "central::::https://repo.maven.apache.org/maven2",
- "https://repo.maven.apache.org/maven2"));
- mojo.setArtifact("org.apache.commons:commons-lang3:3.6");
- setVariableValueToObject(mojo, "transitive", Boolean.FALSE);
-
- Log log = Mockito.mock(Log.class);
- mojo.setLog(log);
-
mojo.execute();
- Mockito.verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
- Assert.assertEquals(expectedLogArgs, infoArgsCaptor.getAllValues());
+ verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
+ Assertions.assertEquals(expectedLogArgs,
infoArgsCaptor.getAllValues());
}
- public void testListClassesNotTransitiveByGAV() throws Exception {
- Path path =
Paths.get("src/test/resources/unit/list-test/testListClassesNotTransitive.txt");
+ @Test
+ @InjectMojo(goal = "list-classes")
+ @MojoParameter(
+ name = "remoteRepositories",
+ value = "central::default::https://repo.maven.apache.org/maven2,"
+ + "central::::https://repo.maven.apache.org/maven2,"
+ + "https://repo.maven.apache.org/maven2")
+ @MojoParameter(name = "transitive", value = "false")
+ @MojoParameter(name = "groupId", value = "org.apache.commons")
+ @MojoParameter(name = "artifactId", value = "commons-lang3")
+ @MojoParameter(name = "version", value = "3.6")
+ @Basedir("/unit/list-test")
+ void testListClassesNotTransitiveByGAV(ListClassesMojo mojo) throws
Exception {
+ Path path = Paths.get(getBasedir(),
"testListClassesNotTransitive.txt");
List<String> expectedLogArgs = Files.readAllLines(path);
ArgumentCaptor<String> infoArgsCaptor =
ArgumentCaptor.forClass(String.class);
- setVariableValueToObject(
- mojo,
- "remoteRepositories",
- Arrays.asList(
-
"central1::default::https://repo.maven.apache.org/maven2",
- "central2::::https://repo.maven.apache.org/maven2",
- "https://repo.maven.apache.org/maven2"));
-
- mojo.setGroupId("org.apache.commons");
- mojo.setArtifactId("commons-lang3");
- mojo.setVersion("3.6");
-
- setVariableValueToObject(mojo, "transitive", Boolean.FALSE);
-
- Log log = Mockito.mock(Log.class);
- mojo.setLog(log);
-
mojo.execute();
- Mockito.verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
- Assert.assertEquals(expectedLogArgs, infoArgsCaptor.getAllValues());
+ verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
+ Assertions.assertEquals(expectedLogArgs,
infoArgsCaptor.getAllValues());
}
- public void testListClassesTransitive() throws Exception {
- Path path =
Paths.get("src/test/resources/unit/list-test/testListClassesTransitive.txt");
+ @Test
+ @InjectMojo(goal = "list-classes")
+ @MojoParameter(
+ name = "remoteRepositories",
+ value = "central::default::https://repo.maven.apache.org/maven2,"
+ + "central::::https://repo.maven.apache.org/maven2,"
+ + "https://repo.maven.apache.org/maven2")
+ @MojoParameter(name = "transitive", value = "true")
+ @MojoParameter(name = "artifact", value =
"org.apache.commons:commons-lang3:3.6")
+ @Basedir("/unit/list-test")
+ void testListClassesTransitive(ListClassesMojo mojo) throws Exception {
+ Path path = Paths.get(getBasedir(), "testListClassesTransitive.txt");
List<String> expectedLogArgs = Files.readAllLines(path);
ArgumentCaptor<String> infoArgsCaptor =
ArgumentCaptor.forClass(String.class);
- setVariableValueToObject(
- mojo,
- "remoteRepositories",
- Arrays.asList(
-
"central::default::https://repo.maven.apache.org/maven2",
- "central::::https://repo.maven.apache.org/maven2",
- "https://repo.maven.apache.org/maven2"));
-
- mojo.setArtifact("org.apache.commons:commons-lang3:3.6");
- setVariableValueToObject(mojo, "transitive", Boolean.TRUE);
-
- Log log = Mockito.mock(Log.class);
- mojo.setLog(log);
-
mojo.execute();
- Mockito.verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
- Assert.assertEquals(expectedLogArgs, infoArgsCaptor.getAllValues());
+ verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
+ Assertions.assertEquals(expectedLogArgs,
infoArgsCaptor.getAllValues());
}
- public void testListClassesTransitiveByGAV() throws Exception {
- Path path =
Paths.get("src/test/resources/unit/list-test/testListClassesTransitive.txt");
+ @Test
+ @InjectMojo(goal = "list-classes")
+ @MojoParameter(
+ name = "remoteRepositories",
+ value = "central::default::https://repo.maven.apache.org/maven2,"
+ + "central::::https://repo.maven.apache.org/maven2,"
+ + "https://repo.maven.apache.org/maven2")
+ @MojoParameter(name = "transitive", value = "true")
+ @MojoParameter(name = "groupId", value = "org.apache.commons")
+ @MojoParameter(name = "artifactId", value = "commons-lang3")
+ @MojoParameter(name = "version", value = "3.6")
+ @Basedir("/unit/list-test")
+ void testListClassesTransitiveByGAV(ListClassesMojo mojo) throws Exception
{
+ Path path = Paths.get(getBasedir(), "testListClassesTransitive.txt");
List<String> expectedLogArgs = Files.readAllLines(path);
ArgumentCaptor<String> infoArgsCaptor =
ArgumentCaptor.forClass(String.class);
- setVariableValueToObject(
- mojo,
- "remoteRepositories",
- Arrays.asList(
-
"central::default::https://repo.maven.apache.org/maven2",
- "central::::https://repo.maven.apache.org/maven2",
- "https://repo.maven.apache.org/maven2"));
- mojo.setGroupId("org.apache.commons");
- mojo.setArtifactId("commons-lang3");
- mojo.setVersion("3.6");
- setVariableValueToObject(mojo, "transitive", Boolean.TRUE);
-
- Log log = Mockito.mock(Log.class);
- mojo.setLog(log);
-
mojo.execute();
- Mockito.verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
- Assert.assertEquals(expectedLogArgs, infoArgsCaptor.getAllValues());
+ verify(log,
Mockito.times(expectedLogArgs.size())).info(infoArgsCaptor.capture());
+ Assertions.assertEquals(expectedLogArgs,
infoArgsCaptor.getAllValues());
}
}
diff --git
a/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsArtifactFilterTest.java
b/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsArtifactFilterTest.java
index 203d7654..0c4e7dc4 100644
---
a/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsArtifactFilterTest.java
+++
b/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsArtifactFilterTest.java
@@ -22,43 +22,44 @@ import java.util.HashSet;
import java.util.Set;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugin.testing.stubs.ArtifactStub;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-import org.apache.maven.plugins.dependency.AbstractDependencyMojoTestCase;
import org.apache.maven.project.MavenProject;
import
org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
import static java.util.Collections.singleton;
import static java.util.Collections.singletonList;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-public class ExcludeReactorProjectsArtifactFilterTest extends
AbstractDependencyMojoTestCase {
+@ExtendWith(MockitoExtension.class)
+class ExcludeReactorProjectsArtifactFilterTest {
- public void testFilter() throws ArtifactFilterException {
- Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId("org.apache.maven.plugins");
- artifact1.setArtifactId("maven-dependency-plugin-dummy");
- artifact1.setVersion("1.0");
+ @Mock
+ private Log log;
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId("org.apache.maven.plugins");
- artifact2.setArtifactId("maven-dependency-plugin-other-dummy");
- artifact2.setVersion("1.0");
+ @Mock
+ private MavenProject project;
+
+ @Test
+ void testFilter() throws ArtifactFilterException {
+ Artifact artifact1 = anArtifact("maven-dependency-plugin-dummy");
+ Artifact artifact2 = anArtifact("maven-dependency-plugin-other-dummy");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
artifacts.add(artifact2);
- MavenProject project = new MavenProjectStub();
- project.setArtifact(artifact1);
-
- Log log = mock(Log.class);
+ when(project.getArtifact()).thenReturn(artifact1);
when(log.isDebugEnabled()).thenReturn(false);
ExcludeReactorProjectsArtifactFilter filter =
@@ -70,16 +71,11 @@ public class ExcludeReactorProjectsArtifactFilterTest
extends AbstractDependency
verify(log, never()).debug(any(String.class));
}
- public void testFilterWithLogging() throws ArtifactFilterException {
- Artifact artifact = new ArtifactStub();
- artifact.setGroupId("org.apache.maven.plugins");
- artifact.setArtifactId("maven-dependency-plugin-dummy");
- artifact.setVersion("1.0");
-
- MavenProject project = new MavenProjectStub();
- project.setArtifact(artifact);
+ @Test
+ void testFilterWithLogging() throws ArtifactFilterException {
+ Artifact artifact = anArtifact("maven-dependency-plugin-dummy");
- Log log = mock(Log.class);
+ when(project.getArtifact()).thenReturn(artifact);
when(log.isDebugEnabled()).thenReturn(true);
ExcludeReactorProjectsArtifactFilter filter =
@@ -91,4 +87,8 @@ public class ExcludeReactorProjectsArtifactFilterTest extends
AbstractDependency
verify(log).debug(captor.capture());
assertTrue(captor.getValue().contains("Skipped artifact"));
}
+
+ private Artifact anArtifact(String artifactId) {
+ return new DefaultArtifact("org.apache.maven.plugins", artifactId,
"1.0", null, "jar", "", null);
+ }
}
diff --git
a/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsDependencyFilterTest.java
b/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsDependencyFilterTest.java
index e1460e31..68778cd4 100644
---
a/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsDependencyFilterTest.java
+++
b/src/test/java/org/apache/maven/plugins/dependency/resolvers/ExcludeReactorProjectsDependencyFilterTest.java
@@ -19,28 +19,30 @@
package org.apache.maven.plugins.dependency.resolvers;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.model.Dependency;
-import org.apache.maven.plugin.testing.stubs.ArtifactStub;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-import org.apache.maven.plugins.dependency.AbstractDependencyMojoTestCase;
import org.apache.maven.project.MavenProject;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
import static java.util.Collections.singletonList;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.when;
-public class ExcludeReactorProjectsDependencyFilterTest extends
AbstractDependencyMojoTestCase {
- public void testReject() {
- final Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId("org.apache.maven.plugins");
- artifact1.setArtifactId("maven-dependency-plugin-dummy");
- artifact1.setVersion("1.0");
+@ExtendWith(MockitoExtension.class)
+class ExcludeReactorProjectsDependencyFilterTest {
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId("org.apache.maven.plugins");
- artifact2.setArtifactId("maven-dependency-plugin-other-dummy");
- artifact2.setVersion("1.0");
+ @Mock
+ private MavenProject project;
- MavenProject project = new MavenProjectStub();
- project.setArtifact(artifact1);
+ @Test
+ void testReject() {
+ Artifact artifact1 = anArtifact();
+
+ when(project.getArtifact()).thenReturn(artifact1);
ExcludeReactorProjectsDependencyFilter filter =
new
ExcludeReactorProjectsDependencyFilter(singletonList(project));
@@ -53,19 +55,11 @@ public class ExcludeReactorProjectsDependencyFilterTest
extends AbstractDependen
assertFalse(filter.test(dependency));
}
- public void testAccept() {
- final Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId("org.apache.maven.plugins");
- artifact1.setArtifactId("maven-dependency-plugin-dummy");
- artifact1.setVersion("1.0");
-
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId("org.apache.maven.plugins");
- artifact2.setArtifactId("maven-dependency-plugin-other-dummy");
- artifact2.setVersion("1.0");
+ @Test
+ void testAccept() {
+ Artifact artifact1 = anArtifact();
- MavenProject project = new MavenProjectStub();
- project.setArtifact(artifact1);
+ when(project.getArtifact()).thenReturn(artifact1);
ExcludeReactorProjectsDependencyFilter filter =
new
ExcludeReactorProjectsDependencyFilter(singletonList(project));
@@ -77,4 +71,9 @@ public class ExcludeReactorProjectsDependencyFilterTest
extends AbstractDependen
assertTrue(filter.test(dependency));
}
+
+ private Artifact anArtifact() {
+ return new DefaultArtifact(
+ "org.apache.maven.plugins", "maven-dependency-plugin-dummy",
"1.0", null, "jar", "", null);
+ }
}
diff --git
a/src/test/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojoTest.java
b/src/test/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojoTest.java
index 9c48d72c..96691cf1 100644
---
a/src/test/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojoTest.java
+++
b/src/test/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojoTest.java
@@ -18,42 +18,23 @@
*/
package org.apache.maven.plugins.dependency.resolvers;
-import java.io.File;
import java.util.HashSet;
import java.util.Set;
+import org.apache.maven.api.plugin.testing.Basedir;
+import org.apache.maven.api.plugin.testing.InjectMojo;
+import org.apache.maven.api.plugin.testing.MojoTest;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.testing.stubs.ArtifactStub;
-import org.apache.maven.plugins.dependency.AbstractDependencyMojoTestCase;
-import
org.apache.maven.plugins.dependency.testUtils.stubs.DependencyProjectStub;
-import org.apache.maven.project.MavenProject;
+import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.shared.artifact.filter.collection.FilterArtifacts;
-import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
-public class GoOfflineMojoTest extends AbstractDependencyMojoTestCase {
- private GoOfflineMojo subject;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
- @Override
- protected String getTestDirectoryName() {
- return "go-offline";
- }
-
- @Override
- protected boolean shouldCreateFiles() {
- return true;
- }
-
- @Override
- protected void setUp() throws Exception {
- // required for mojo lookups to work
- super.setUp();
- MavenProject project = new DependencyProjectStub();
- getContainer().addComponent(project, MavenProject.class.getName());
-
- MavenSession session = newMavenSession(project);
- getContainer().addComponent(session, MavenSession.class.getName());
- }
+@MojoTest
+class GoOfflineMojoTest {
private static final String GROUP_EXCLUDE_PREFIX = "skip.this.groupid";
@@ -67,26 +48,14 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
private static final String VALID_GROUP = "org.junit.jupiter";
- public void testExcludeGroupIds() throws Exception {
- File testPom = new File(getBasedir(),
"target/test-classes/unit/go-offline-test/exclude-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId(GROUP_EXCLUDE_PREFIX);
- artifact1.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact1.setVersion(STUB_ARTIFACT_VERSION);
-
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId(GROUP_EXCLUDE_PREFIX + ".too");
- artifact2.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact2.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
-
- Artifact artifact3 = new ArtifactStub();
- artifact3.setGroupId("dont.skip.me");
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion("1.0");
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "exclude-plugin-config.xml")
+ void testExcludeGroupIds(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifact(GROUP_EXCLUDE_PREFIX,
DUMMY_ARTIFACT_NAME, STUB_ARTIFACT_VERSION);
+ Artifact artifact2 =
+ anArtifact(GROUP_EXCLUDE_PREFIX + ".too", DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION + "-SNAPSHOT");
+ Artifact artifact3 = anArtifact("dont.skip.me", DUMMY_ARTIFACT_NAME,
"1.0");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -102,26 +71,13 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
assertFalse(artifacts.contains(artifact2));
}
- public void testExcludeArtifactIds() throws Exception {
- File testPom = new File(getBasedir(),
"target/test-classes/unit/go-offline-test/exclude-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId(VALID_GROUP);
- artifact1.setArtifactId(ARTIFACT_EXCLUDE_PREFIX);
- artifact1.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
-
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId(VALID_GROUP);
- artifact2.setArtifactId(ARTIFACT_EXCLUDE_PREFIX + "-too");
- artifact2.setVersion(STUB_ARTIFACT_VERSION);
-
- Artifact artifact3 = new ArtifactStub();
- artifact3.setGroupId("dont.skip.me");
- artifact3.setArtifactId("dummy-artifact");
- artifact3.setVersion("1.0");
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "exclude-plugin-config.xml")
+ void testExcludeArtifactIds(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifact(VALID_GROUP, ARTIFACT_EXCLUDE_PREFIX,
STUB_ARTIFACT_VERSION + "-SNAPSHOT");
+ Artifact artifact2 = anArtifact(VALID_GROUP, ARTIFACT_EXCLUDE_PREFIX +
"-too", STUB_ARTIFACT_VERSION);
+ Artifact artifact3 = anArtifact("dont.skip.me", "dummy-artifact",
"1.0");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -137,27 +93,13 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
assertFalse(artifacts.contains(artifact2));
}
- public void testExcludeScope() throws Exception {
- File testPom = new File(getBasedir(),
"target/test-classes/unit/go-offline-test/exclude-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId(VALID_GROUP);
- artifact1.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact1.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
-
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId(VALID_GROUP);
- artifact2.setArtifactId(DUMMY_ARTIFACT_NAME + "-too");
- artifact2.setVersion(STUB_ARTIFACT_VERSION);
- artifact2.setScope("system");
-
- Artifact artifact3 = new ArtifactStub();
- artifact3.setGroupId(VALID_GROUP);
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion(STUB_ARTIFACT_VERSION);
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "exclude-plugin-config.xml")
+ void testExcludeScope(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifact(VALID_GROUP, DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION + "-SNAPSHOT");
+ Artifact artifact2 = anArtifactScope(DUMMY_ARTIFACT_NAME + "-too",
STUB_ARTIFACT_VERSION, "system");
+ Artifact artifact3 = anArtifact(VALID_GROUP, DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION);
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -173,29 +115,13 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
assertFalse(artifacts.contains(artifact2));
}
- public void testExcludeTypes() throws Exception {
- File testPom = new File(getBasedir(),
"target/test-classes/unit/go-offline-test/exclude-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- ArtifactStub artifact1 = new ArtifactStub();
- artifact1.setGroupId(VALID_GROUP);
- artifact1.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact1.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
- artifact1.setType("ear");
-
- ArtifactStub artifact2 = new ArtifactStub();
- artifact2.setGroupId(VALID_GROUP);
- artifact2.setArtifactId(DUMMY_ARTIFACT_NAME + "-too");
- artifact2.setVersion(STUB_ARTIFACT_VERSION);
- artifact2.setType("war");
-
- ArtifactStub artifact3 = new ArtifactStub();
- artifact3.setGroupId(VALID_GROUP);
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion(STUB_ARTIFACT_VERSION);
- artifact3.setType("pom");
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "exclude-plugin-config.xml")
+ void testExcludeTypes(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifactType(DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION + "-SNAPSHOT", "ear");
+ Artifact artifact2 = anArtifactType(DUMMY_ARTIFACT_NAME + "-too",
STUB_ARTIFACT_VERSION, "war");
+ Artifact artifact3 = anArtifactType(DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION, "pom");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -218,29 +144,15 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
*
* @throws Exception
*/
- @Disabled("Requires update to maven-plugin-test-harness to support this
test")
- public void xtestExcludeClassifiers() throws Exception {
- File testPom = new File(getBasedir(),
"target/test-classes/unit/go-offline-test/exclude-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- ArtifactStub artifact1 = new ArtifactStub();
- artifact1.setGroupId(VALID_GROUP);
- artifact1.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact1.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
- // artifact1.setClassifier(CLASSIFIER_EXCLUDE_PREFIX);
-
- ArtifactStub artifact2 = new ArtifactStub();
- artifact2.setGroupId(VALID_GROUP);
- artifact2.setArtifactId(DUMMY_ARTIFACT_NAME + "-too");
- artifact2.setVersion(STUB_ARTIFACT_VERSION);
- // artifact2.setClassifier(CLASSIFIER_EXCLUDE_PREFIX + "Too");
-
- ArtifactStub artifact3 = new ArtifactStub();
- artifact3.setGroupId(VALID_GROUP);
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion(STUB_ARTIFACT_VERSION);
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "exclude-plugin-config.xml")
+ void testExcludeClassifiers(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifactClassifier(
+ DUMMY_ARTIFACT_NAME, STUB_ARTIFACT_VERSION + "-SNAPSHOT",
CLASSIFIER_EXCLUDE_PREFIX);
+ Artifact artifact2 = anArtifactClassifier(
+ DUMMY_ARTIFACT_NAME + "-too", STUB_ARTIFACT_VERSION,
CLASSIFIER_EXCLUDE_PREFIX + "Too");
+ Artifact artifact3 = anArtifact(VALID_GROUP, DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION);
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -262,26 +174,14 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
private static final String CLASSIFIER_INCLUDE_PREFIX =
"includeThisClassifier";
- public void testIncludeGroupIds() throws Exception {
- File testPom = new File(getBasedir(),
"target/test-classes/unit/go-offline-test/include-gid-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId(GROUP_INCLUDE_PREFIX);
- artifact1.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact1.setVersion(STUB_ARTIFACT_VERSION);
-
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId(GROUP_INCLUDE_PREFIX + ".too");
- artifact2.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact2.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
-
- Artifact artifact3 = new ArtifactStub();
- artifact3.setGroupId("skip.me");
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion("1.0");
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "include-gid-plugin-config.xml")
+ void testIncludeGroupIds(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifact(GROUP_INCLUDE_PREFIX,
DUMMY_ARTIFACT_NAME, STUB_ARTIFACT_VERSION);
+ Artifact artifact2 =
+ anArtifact(GROUP_INCLUDE_PREFIX + ".too", DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION + "-SNAPSHOT");
+ Artifact artifact3 = anArtifact("skip.me", DUMMY_ARTIFACT_NAME, "1.0");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -298,26 +198,14 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
assertTrue(artifacts.contains(artifact2));
}
- public void testIncludeArtifactIds() throws Exception {
- File testPom = new File(getBasedir(),
"target/test-classes/unit/go-offline-test/include-aid-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId(VALID_GROUP);
- artifact1.setArtifactId(ARTIFACT_INCLUDE_PREFIX);
- artifact1.setVersion(STUB_ARTIFACT_VERSION);
-
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId(VALID_GROUP);
- artifact2.setArtifactId(ARTIFACT_INCLUDE_PREFIX + "-too");
- artifact2.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
-
- Artifact artifact3 = new ArtifactStub();
- artifact3.setGroupId(VALID_GROUP);
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion("1.0");
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "include-aid-plugin-config.xml")
+ void testIncludeArtifactIds(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifact(VALID_GROUP, ARTIFACT_INCLUDE_PREFIX,
STUB_ARTIFACT_VERSION);
+ Artifact artifact2 =
+ anArtifact(VALID_GROUP, ARTIFACT_INCLUDE_PREFIX + "-too",
STUB_ARTIFACT_VERSION + "-SNAPSHOT");
+ Artifact artifact3 = anArtifact(VALID_GROUP, DUMMY_ARTIFACT_NAME,
"1.0");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -334,30 +222,13 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
assertTrue(artifacts.contains(artifact2));
}
- public void testIncludeScope() throws Exception {
- File testPom =
- new File(getBasedir(),
"target/test-classes/unit/go-offline-test/include-scope-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- Artifact artifact1 = new ArtifactStub();
- artifact1.setGroupId(VALID_GROUP);
- artifact1.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact1.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
- artifact1.setScope("provided");
-
- Artifact artifact2 = new ArtifactStub();
- artifact2.setGroupId(VALID_GROUP);
- artifact2.setArtifactId(DUMMY_ARTIFACT_NAME + "-too");
- artifact2.setVersion(STUB_ARTIFACT_VERSION);
- artifact2.setScope("system");
-
- Artifact artifact3 = new ArtifactStub();
- artifact3.setGroupId(VALID_GROUP);
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion(STUB_ARTIFACT_VERSION);
- artifact3.setScope("test");
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "include-scope-plugin-config.xml")
+ void testIncludeScope(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifactScope(DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION + "-SNAPSHOT", "provided");
+ Artifact artifact2 = anArtifactScope(DUMMY_ARTIFACT_NAME + "-too",
STUB_ARTIFACT_VERSION, "system");
+ Artifact artifact3 = anArtifactScope(DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION, "test");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -374,30 +245,13 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
assertFalse(artifacts.contains(artifact3));
}
- public void testIncludeTypes() throws Exception {
- File testPom =
- new File(getBasedir(),
"target/test-classes/unit/go-offline-test/include-types-plugin-config.xml");
-
- subject = (GoOfflineMojo) lookupMojo("go-offline", testPom);
- assertNotNull(subject);
-
- ArtifactStub artifact1 = new ArtifactStub();
- artifact1.setGroupId(VALID_GROUP);
- artifact1.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact1.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
- artifact1.setType("ear");
-
- ArtifactStub artifact2 = new ArtifactStub();
- artifact2.setGroupId(VALID_GROUP);
- artifact2.setArtifactId(DUMMY_ARTIFACT_NAME + "-too");
- artifact2.setVersion(STUB_ARTIFACT_VERSION);
- artifact2.setType("pom");
-
- ArtifactStub artifact3 = new ArtifactStub();
- artifact3.setGroupId(VALID_GROUP);
- artifact3.setArtifactId(DUMMY_ARTIFACT_NAME);
- artifact3.setVersion(STUB_ARTIFACT_VERSION + "-SNAPSHOT");
- artifact3.setType("war");
+ @Test
+ @Basedir("/unit/go-offline-test")
+ @InjectMojo(goal = "go-offline", pom = "include-types-plugin-config.xml")
+ void testIncludeTypes(GoOfflineMojo subject) throws Exception {
+ Artifact artifact1 = anArtifactType(DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION + "-SNAPSHOT", "ear");
+ Artifact artifact2 = anArtifactType(DUMMY_ARTIFACT_NAME + "-too",
STUB_ARTIFACT_VERSION, "pom");
+ Artifact artifact3 = anArtifactType(DUMMY_ARTIFACT_NAME,
STUB_ARTIFACT_VERSION + "-SNAPSHOT", "war");
Set<Artifact> artifacts = new HashSet<>();
artifacts.add(artifact1);
@@ -413,4 +267,20 @@ public class GoOfflineMojoTest extends
AbstractDependencyMojoTestCase {
assertTrue(artifacts.contains(artifact2));
assertFalse(artifacts.contains(artifact3));
}
+
+ private Artifact anArtifact(String groupId, String artifactId, String
version) {
+ return new DefaultArtifact(groupId, artifactId, version, null, "jar",
"", null);
+ }
+
+ private Artifact anArtifactScope(String version, String artifactId, String
scope) {
+ return new DefaultArtifact(VALID_GROUP, artifactId, version, scope,
"jar", "", null);
+ }
+
+ private Artifact anArtifactType(String artifactId, String version, String
type) {
+ return new DefaultArtifact(VALID_GROUP, artifactId, version, null,
type, "", null);
+ }
+
+ private Artifact anArtifactClassifier(String artifactId, String version,
String classifier) {
+ return new DefaultArtifact(VALID_GROUP, artifactId, version, null,
"jar", classifier, null);
+ }
}
diff --git
a/src/test/java/org/apache/maven/plugins/dependency/utils/TestDependencyStatusSets.java
b/src/test/java/org/apache/maven/plugins/dependency/utils/TestDependencyStatusSets.java
index 58b33a84..466cd3a8 100644
---
a/src/test/java/org/apache/maven/plugins/dependency/utils/TestDependencyStatusSets.java
+++
b/src/test/java/org/apache/maven/plugins/dependency/utils/TestDependencyStatusSets.java
@@ -18,42 +18,45 @@
*/
package org.apache.maven.plugins.dependency.utils;
-import org.apache.maven.plugins.dependency.AbstractDependencyMojoTestCase;
+import java.util.HashSet;
+import java.util.Set;
-public class TestDependencyStatusSets extends AbstractDependencyMojoTestCase {
+import org.apache.maven.artifact.Artifact;
+import org.junit.jupiter.api.Test;
- @Override
- protected String getTestDirectoryName() {
- return "dss";
- }
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
- @Override
- protected boolean shouldCreateFiles() {
- return true;
- }
+class TestDependencyStatusSets {
- @Override
- protected void setUp() throws Exception {
- // required for mojo lookups to work
- super.setUp();
- }
+ @Test
+ void testDependencyStatusSettersGetters() {
+ DependencyStatusSets dss = new DependencyStatusSets();
+ Set<Artifact> set = new HashSet<>();
+ dss.setResolvedDependencies(set);
+ assertEquals(set, dss.getResolvedDependencies());
+
+ set = new HashSet<>();
+ dss.setUnResolvedDependencies(set);
+ assertEquals(set, dss.getUnResolvedDependencies());
+
+ set = new HashSet<>();
+ dss.setSkippedDependencies(set);
+ assertEquals(set, dss.getSkippedDependencies());
- public void testDependencyStatusSettersGetters() {
- /*
- * DependencyStatusSets dss = new DependencyStatusSets(); Set set =
new HashSet(); dss.setResolvedDependencies(
- * set ); assertSame( set, dss.getResolvedDependencies() ); set = new
HashSet(); dss.setUnResolvedDependencies(
- * set ); assertSame( set, dss.getUnResolvedDependencies() ); set =
new HashSet(); dss.setSkippedDependencies(
- * set ); assertSame( set, dss.getSkippedDependencies() );
assertNotSame( dss.getResolvedDependencies(),
- * dss.getSkippedDependencies() ); assertNotSame(
dss.getResolvedDependencies(), dss.getUnResolvedDependencies()
- * ); assertNotSame( dss.getSkippedDependencies(),
dss.getUnResolvedDependencies() );
- */
+ assertNotSame(dss.getResolvedDependencies(),
dss.getSkippedDependencies());
+ assertNotSame(dss.getResolvedDependencies(),
dss.getUnResolvedDependencies());
+ assertNotSame(dss.getSkippedDependencies(),
dss.getUnResolvedDependencies());
}
- public void testDependencyStatusConstructor() {
- /*
- * Set r = new HashSet(); Set u = new HashSet(); Set s = new
HashSet(); DependencyStatusSets dss = new
- * DependencyStatusSets( r, u, s ); assertSame( r,
dss.getResolvedDependencies() ); assertSame( u,
- * dss.getUnResolvedDependencies() ); assertSame( s,
dss.getSkippedDependencies() );
- */
+ @Test
+ void testDependencyStatusConstructor() {
+ Set<Artifact> r = new HashSet<>();
+ Set<Artifact> u = new HashSet<>();
+ Set<Artifact> s = new HashSet<>();
+ DependencyStatusSets dss = new DependencyStatusSets(r, u, s);
+ assertEquals(r, dss.getResolvedDependencies());
+ assertEquals(u, dss.getUnResolvedDependencies());
+ assertEquals(s, dss.getSkippedDependencies());
}
}