[ 
https://issues.apache.org/jira/browse/MDEP-979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17954342#comment-17954342
 ] 

ASF GitHub Bot commented on MDEP-979:
-------------------------------------

elharo commented on code in PR #532:
URL: 
https://github.com/apache/maven-dependency-plugin/pull/532#discussion_r2109220394


##########
src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java:
##########
@@ -35,26 +35,49 @@
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.junit.Before;
 import org.sonatype.plexus.build.incremental.DefaultBuildContext;
 
 public abstract class AbstractDependencyMojoTestCase extends 
AbstractMojoTestCase {
 
     protected File testDir;
-
     protected DependencyArtifactStubFactory stubFactory;
 
-    protected void setUp(String testDirectoryName, boolean createFiles) throws 
Exception {
-        setUp(testDirectoryName, createFiles, true);
+    @Before
+    public void setUp() throws Exception {
+        // Initialize mojo lookups as required by AbstractMojoTestCase
+        super.setUp();
+
+        // Create temporary test directory
+        testDir = Files.createTempDirectory("test-dependency").toFile();
+        testDir.deleteOnExit();
+
+        // Initialize stub factory with default settings
+        stubFactory = new DependencyArtifactStubFactory(testDir, true, true);
     }
 
-    protected void setUp(String testDirectoryName, boolean createFiles, 
boolean flattenedPath) throws Exception {
-        // required for mojo lookups to work
-        super.setUp();
+    /**
+     * Allows subclasses to customize the setup with specific test directory 
name and stub factory settings.
+     *
+     * @param testDirectoryName The name for the temporary test directory.

Review Comment:
   the name for the temporary test directory



##########
src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java:
##########
@@ -35,26 +35,49 @@
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.junit.Before;
 import org.sonatype.plexus.build.incremental.DefaultBuildContext;
 
 public abstract class AbstractDependencyMojoTestCase extends 
AbstractMojoTestCase {
 
     protected File testDir;
-
     protected DependencyArtifactStubFactory stubFactory;
 
-    protected void setUp(String testDirectoryName, boolean createFiles) throws 
Exception {
-        setUp(testDirectoryName, createFiles, true);
+    @Before
+    public void setUp() throws Exception {
+        // Initialize mojo lookups as required by AbstractMojoTestCase
+        super.setUp();
+
+        // Create temporary test directory
+        testDir = Files.createTempDirectory("test-dependency").toFile();
+        testDir.deleteOnExit();
+
+        // Initialize stub factory with default settings
+        stubFactory = new DependencyArtifactStubFactory(testDir, true, true);
     }
 
-    protected void setUp(String testDirectoryName, boolean createFiles, 
boolean flattenedPath) throws Exception {
-        // required for mojo lookups to work
-        super.setUp();
+    /**
+     * Allows subclasses to customize the setup with specific test directory 
name and stub factory settings.
+     *
+     * @param testDirectoryName The name for the temporary test directory.
+     * @param createFiles Whether to create files in the stub factory.
+     * @param flattenedPath Whether to use flattened paths in the stub factory.
+     * @throws Exception If setup fails.
+     */
+    protected void customizeSetUp(String testDirectoryName, boolean 
createFiles, boolean flattenedPath)
+            throws Exception {
+        // Clean up existing test directory if present
+        if (testDir != null) {
+            FileUtils.deleteDirectory(testDir);
+            assertFalse(testDir.exists());

Review Comment:
   probably don't need this assert. If you do need to check this, it should be 
an exception, not an assert



##########
src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java:
##########
@@ -35,26 +35,49 @@
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.junit.Before;
 import org.sonatype.plexus.build.incremental.DefaultBuildContext;
 
 public abstract class AbstractDependencyMojoTestCase extends 
AbstractMojoTestCase {
 
     protected File testDir;
-
     protected DependencyArtifactStubFactory stubFactory;
 
-    protected void setUp(String testDirectoryName, boolean createFiles) throws 
Exception {
-        setUp(testDirectoryName, createFiles, true);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestUnpackMojo.java:
##########
@@ -38,15 +38,19 @@
 import 
org.apache.maven.plugins.dependency.utils.markers.UnpackFileMarkerHandler;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.archiver.manager.ArchiverManager;
+import org.junit.Before;
 
 import static org.junit.Assert.assertNotEquals;
 
 public class TestUnpackMojo extends AbstractDependencyMojoTestCase {
 
-    UnpackMojo mojo;
+    private UnpackMojo mojo;
 
-    protected void setUp() throws Exception {
-        super.setUp("unpack", true, false);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java:
##########
@@ -35,26 +35,49 @@
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.junit.Before;
 import org.sonatype.plexus.build.incremental.DefaultBuildContext;
 
 public abstract class AbstractDependencyMojoTestCase extends 
AbstractMojoTestCase {
 
     protected File testDir;
-
     protected DependencyArtifactStubFactory stubFactory;
 
-    protected void setUp(String testDirectoryName, boolean createFiles) throws 
Exception {
-        setUp(testDirectoryName, createFiles, true);
+    @Before
+    public void setUp() throws Exception {
+        // Initialize mojo lookups as required by AbstractMojoTestCase
+        super.setUp();
+
+        // Create temporary test directory
+        testDir = Files.createTempDirectory("test-dependency").toFile();
+        testDir.deleteOnExit();
+
+        // Initialize stub factory with default settings
+        stubFactory = new DependencyArtifactStubFactory(testDir, true, true);
     }
 
-    protected void setUp(String testDirectoryName, boolean createFiles, 
boolean flattenedPath) throws Exception {
-        // required for mojo lookups to work
-        super.setUp();
+    /**
+     * Allows subclasses to customize the setup with specific test directory 
name and stub factory settings.
+     *
+     * @param testDirectoryName The name for the temporary test directory.
+     * @param createFiles Whether to create files in the stub factory.
+     * @param flattenedPath Whether to use flattened paths in the stub factory.
+     * @throws Exception If setup fails.
+     */
+    protected void customizeSetUp(String testDirectoryName, boolean 
createFiles, boolean flattenedPath)
+            throws Exception {
+        // Clean up existing test directory if present
+        if (testDir != null) {

Review Comment:
   This could be very wonky when  tests are run in parallel. Tests should clean 
up after themselves, not when the next test method is set up.



##########
src/test/java/org/apache/maven/plugins/dependency/fromDependencies/TestCopyDependenciesMojo2.java:
##########
@@ -46,15 +46,19 @@
 import org.apache.maven.plugins.dependency.utils.ResolverUtil;
 import org.apache.maven.project.MavenProject;
 import org.eclipse.aether.RepositorySystem;
+import org.junit.Before;
 
 public class TestCopyDependenciesMojo2 extends AbstractDependencyMojoTestCase {
 
     private CopyDependenciesMojo mojo;
 
-    @Override
-    protected void setUp() throws Exception {
-        // required for mojo lookups to work
-        super.setUp("copy-dependencies", true);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/TestSkip.java:
##########
@@ -37,9 +38,12 @@
 
 public class TestSkip extends AbstractDependencyMojoTestCase {
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/fromDependencies/TestIncludeExcludeUnpackDependenciesMojo.java:
##########
@@ -38,9 +39,11 @@ public class TestIncludeExcludeUnpackDependenciesMojo 
extends AbstractDependency
 
     private UnpackDependenciesMojo mojo;
 
-    protected void setUp() throws Exception {
-        // required for mojo lookups to work
-        super.setUp("unpack-dependencies", true);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestArtifactItem.java:
##########
@@ -22,11 +22,15 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugins.dependency.AbstractDependencyMojoTestCase;
+import org.junit.Before;
 
 public class TestArtifactItem extends AbstractDependencyMojoTestCase {
 
-    protected void setUp() throws Exception {
-        setUp("artifactItems", false);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java:
##########
@@ -35,26 +35,49 @@
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.junit.Before;
 import org.sonatype.plexus.build.incremental.DefaultBuildContext;
 
 public abstract class AbstractDependencyMojoTestCase extends 
AbstractMojoTestCase {
 
     protected File testDir;
-
     protected DependencyArtifactStubFactory stubFactory;
 
-    protected void setUp(String testDirectoryName, boolean createFiles) throws 
Exception {
-        setUp(testDirectoryName, createFiles, true);
+    @Before
+    public void setUp() throws Exception {
+        // Initialize mojo lookups as required by AbstractMojoTestCase
+        super.setUp();
+
+        // Create temporary test directory
+        testDir = Files.createTempDirectory("test-dependency").toFile();
+        testDir.deleteOnExit();
+
+        // Initialize stub factory with default settings
+        stubFactory = new DependencyArtifactStubFactory(testDir, true, true);
     }
 
-    protected void setUp(String testDirectoryName, boolean createFiles, 
boolean flattenedPath) throws Exception {
-        // required for mojo lookups to work
-        super.setUp();
+    /**
+     * Allows subclasses to customize the setup with specific test directory 
name and stub factory settings.
+     *
+     * @param testDirectoryName The name for the temporary test directory.
+     * @param createFiles Whether to create files in the stub factory.
+     * @param flattenedPath Whether to use flattened paths in the stub factory.

Review Comment:
   whether to use flattened paths in the stub factory



##########
src/test/java/org/apache/maven/plugins/dependency/utils/TestDependencyStatusSets.java:
##########
@@ -19,12 +19,15 @@
 package org.apache.maven.plugins.dependency.utils;
 
 import org.apache.maven.plugins.dependency.AbstractDependencyMojoTestCase;
+import org.junit.Before;
 
 public class TestDependencyStatusSets extends AbstractDependencyMojoTestCase {
 
-    protected void setUp() throws Exception {
-        // required for mojo lookups to work
-        super.setUp("dss", true);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java:
##########
@@ -35,26 +35,49 @@
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.junit.Before;
 import org.sonatype.plexus.build.incremental.DefaultBuildContext;
 
 public abstract class AbstractDependencyMojoTestCase extends 
AbstractMojoTestCase {
 
     protected File testDir;
-
     protected DependencyArtifactStubFactory stubFactory;
 
-    protected void setUp(String testDirectoryName, boolean createFiles) throws 
Exception {
-        setUp(testDirectoryName, createFiles, true);
+    @Before
+    public void setUp() throws Exception {
+        // Initialize mojo lookups as required by AbstractMojoTestCase
+        super.setUp();
+
+        // Create temporary test directory
+        testDir = Files.createTempDirectory("test-dependency").toFile();
+        testDir.deleteOnExit();
+
+        // Initialize stub factory with default settings
+        stubFactory = new DependencyArtifactStubFactory(testDir, true, true);
     }
 
-    protected void setUp(String testDirectoryName, boolean createFiles, 
boolean flattenedPath) throws Exception {
-        // required for mojo lookups to work
-        super.setUp();
+    /**
+     * Allows subclasses to customize the setup with specific test directory 
name and stub factory settings.
+     *
+     * @param testDirectoryName The name for the temporary test directory.
+     * @param createFiles Whether to create files in the stub factory.
+     * @param flattenedPath Whether to use flattened paths in the stub factory.
+     * @throws Exception If setup fails.
+     */
+    protected void customizeSetUp(String testDirectoryName, boolean 
createFiles, boolean flattenedPath)

Review Comment:
   Is this meant to be invoked or overridden? If the former, then make it 
final. But consider calling this from setUp and letting subclasses override it 
instead.



##########
src/test/java/org/apache/maven/plugins/dependency/utils/translators/TestClassifierTypeTranslator.java:
##########
@@ -48,9 +49,11 @@ public class TestClassifierTypeTranslator extends 
AbstractDependencyMojoTestCase
 
     private ArtifactHandlerManager artifactHandlerManager;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp("classifiertype-translator", false);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/fromDependencies/TestUnpackDependenciesMojo.java:
##########
@@ -48,11 +49,13 @@ public class TestUnpackDependenciesMojo extends 
AbstractDependencyMojoTestCase {
     private static final String UNPACKABLE_FILE_PATH =
             "target/test-classes/unit/unpack-dependencies-test/" + 
UNPACKABLE_FILE;
 
-    UnpackDependenciesMojo mojo;
+    private UnpackDependenciesMojo mojo;
 
-    protected void setUp() throws Exception {
-        // required for mojo lookups to work
-        super.setUp("unpack-dependencies", true, false);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override



##########
src/test/java/org/apache/maven/plugins/dependency/TestGetMojo.java:
##########
@@ -43,13 +43,17 @@
 import org.eclipse.jetty.server.handler.ContextHandler;
 import org.eclipse.jetty.server.handler.ResourceHandler;
 import org.eclipse.jetty.util.security.Constraint;
+import org.junit.Before;
 
 public class TestGetMojo extends AbstractDependencyMojoTestCase {
     private GetMojo mojo;
 
-    protected void setUp() throws Exception {
-        // required for mojo lookups to work
-        super.setUp("markers", false);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   should this have an @Override?



##########
src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java:
##########
@@ -35,26 +35,49 @@
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.junit.Before;
 import org.sonatype.plexus.build.incremental.DefaultBuildContext;
 
 public abstract class AbstractDependencyMojoTestCase extends 
AbstractMojoTestCase {
 
     protected File testDir;
-
     protected DependencyArtifactStubFactory stubFactory;
 
-    protected void setUp(String testDirectoryName, boolean createFiles) throws 
Exception {
-        setUp(testDirectoryName, createFiles, true);
+    @Before
+    public void setUp() throws Exception {
+        // Initialize mojo lookups as required by AbstractMojoTestCase
+        super.setUp();
+
+        // Create temporary test directory
+        testDir = Files.createTempDirectory("test-dependency").toFile();
+        testDir.deleteOnExit();
+
+        // Initialize stub factory with default settings
+        stubFactory = new DependencyArtifactStubFactory(testDir, true, true);
     }
 
-    protected void setUp(String testDirectoryName, boolean createFiles, 
boolean flattenedPath) throws Exception {
-        // required for mojo lookups to work
-        super.setUp();
+    /**
+     * Allows subclasses to customize the setup with specific test directory 
name and stub factory settings.
+     *
+     * @param testDirectoryName The name for the temporary test directory.
+     * @param createFiles Whether to create files in the stub factory.

Review Comment:
   whether to create files in the stub factory



##########
src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestIncludeExcludeUnpackMojo.java:
##########
@@ -43,9 +44,11 @@ public class TestIncludeExcludeUnpackMojo extends 
AbstractDependencyMojoTestCase
 
     private UnpackMojo mojo;
 
-    protected void setUp() throws Exception {
-        // required for mojo lookups to work
-        super.setUp("unpack", true, false);
+    @Before
+    public void setUp() throws Exception {

Review Comment:
   @Override





> Clean up AbstractDependencyMojoTestCase setUp
> ---------------------------------------------
>
>                 Key: MDEP-979
>                 URL: https://issues.apache.org/jira/browse/MDEP-979
>             Project: Maven Dependency Plugin (Moved to GitHub Issues)
>          Issue Type: Task
>            Reporter: Elliotte Rusty Harold
>            Priority: Minor
>
> The setUp methods here are a mess and do not follow JUnit conventions. 
> Furthermore, subclasses do not always properly invoke super.setUp



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to