Skip to content

Commit 9bdfecf

Browse files
Ndacyayisenga-droidslachiewicz
authored andcommitted
[MDEP-979] Clean up AbstractDependencyMojoTestCase setUp
1 parent 1deae67 commit 9bdfecf

22 files changed

+328
-31
lines changed

src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,25 +43,62 @@ public abstract class AbstractDependencyMojoTestCase extends AbstractMojoTestCas
4343

4444
protected DependencyArtifactStubFactory stubFactory;
4545

46-
protected void setUp(String testDirectoryName, boolean createFiles) throws Exception {
47-
setUp(testDirectoryName, createFiles, true);
48-
}
49-
50-
protected void setUp(String testDirectoryName, boolean createFiles, boolean flattenedPath) throws Exception {
51-
// required for mojo lookups to work
46+
/**
47+
* Initializes the test environment by creating a temporary directory and setting up the stub factory.
48+
* Subclasses must call super.setUp() in their own setUp method to ensure proper initialization.
49+
* To customize the test directory name, file creation, or path structure, override getTestDirectoryName(),
50+
* shouldCreateFiles(), and shouldUseFlattenedPath() respectively.
51+
*
52+
* @throws Exception if setup fails
53+
*/
54+
protected void setUp() throws Exception {
55+
// Required for mojo lookups to work
5256
super.setUp();
5357

54-
testDir = Files.createTempDirectory(testDirectoryName).toFile();
58+
testDir = Files.createTempDirectory(getTestDirectoryName()).toFile();
5559
testDir.deleteOnExit();
5660

57-
stubFactory = new DependencyArtifactStubFactory(this.testDir, createFiles, flattenedPath);
61+
stubFactory = new DependencyArtifactStubFactory(testDir, shouldCreateFiles(), shouldUseFlattenedPath());
62+
}
63+
64+
/**
65+
* Returns the name of the temporary test directory. Subclasses can override to customize.
66+
*
67+
* @return the test directory name
68+
*/
69+
protected String getTestDirectoryName() {
70+
return "test-dir";
71+
}
72+
73+
/**
74+
* Determines whether files should be created by the stub factory. Subclasses can override to customize.
75+
*
76+
* @return true if files should be created, false otherwise
77+
*/
78+
protected boolean shouldCreateFiles() {
79+
return true;
80+
}
81+
82+
/**
83+
* Determines whether the stub factory should use flattened paths. Subclasses can override to customize.
84+
*
85+
* @return true if flattened paths should be used, false otherwise
86+
*/
87+
protected boolean shouldUseFlattenedPath() {
88+
return true;
5889
}
5990

91+
/**
92+
* Cleans up the test environment by deleting the temporary directory.
93+
* Subclasses must call super.tearDown() in their own tearDown method to ensure proper cleanup.
94+
*
95+
* @throws Exception if cleanup fails
96+
*/
6097
@Override
6198
protected void tearDown() throws Exception {
6299
if (testDir != null) {
63100
FileUtils.deleteDirectory(testDir);
64-
assertFalse(testDir.exists());
101+
assertFalse("Test directory should not exist after cleanup", testDir.exists());
65102
}
66103
super.tearDown();
67104
}

src/test/java/org/apache/maven/plugins/dependency/TestCollectMojo.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,21 @@
3232

3333
public class TestCollectMojo extends AbstractDependencyMojoTestCase {
3434

35+
@Override
36+
protected String getTestDirectoryName() {
37+
return "markers";
38+
}
39+
40+
@Override
41+
protected boolean shouldCreateFiles() {
42+
return false;
43+
}
44+
3545
@Override
3646
protected void setUp() throws Exception {
3747
// required for mojo lookups to work
38-
super.setUp("markers", false);
48+
super.setUp();
49+
3950
MavenProject project = new DependencyProjectStub();
4051
getContainer().addComponent(project, MavenProject.class.getName());
4152

src/test/java/org/apache/maven/plugins/dependency/TestGetMojo.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,20 @@
4747
public class TestGetMojo extends AbstractDependencyMojoTestCase {
4848
private GetMojo mojo;
4949

50+
@Override
51+
protected String getTestDirectoryName() {
52+
return "markers";
53+
}
54+
55+
@Override
56+
protected boolean shouldCreateFiles() {
57+
return false;
58+
}
59+
60+
@Override
5061
protected void setUp() throws Exception {
5162
// required for mojo lookups to work
52-
super.setUp("markers", false);
63+
super.setUp();
5364
MavenProject project = new DependencyProjectStub();
5465
getContainer().addComponent(project, MavenProject.class.getName());
5566

src/test/java/org/apache/maven/plugins/dependency/TestListClassesMojo.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,19 @@
3838
public class TestListClassesMojo extends AbstractDependencyMojoTestCase {
3939
private ListClassesMojo mojo;
4040

41+
@Override
42+
protected String getTestDirectoryName() {
43+
return "markers";
44+
}
45+
46+
@Override
47+
protected boolean shouldCreateFiles() {
48+
return false;
49+
}
50+
51+
@Override
4152
protected void setUp() throws Exception {
42-
super.setUp("markers", false);
53+
super.setUp();
4354

4455
MavenProject project = new DependencyProjectStub();
4556
getContainer().addComponent(project, MavenProject.class.getName());

src/test/java/org/apache/maven/plugins/dependency/TestPropertiesMojo.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,21 @@
2727
import org.apache.maven.project.MavenProject;
2828

2929
public class TestPropertiesMojo extends AbstractDependencyMojoTestCase {
30+
31+
@Override
32+
protected String getTestDirectoryName() {
33+
return "markers";
34+
}
35+
36+
@Override
37+
protected boolean shouldCreateFiles() {
38+
return true;
39+
}
40+
41+
@Override
3042
protected void setUp() throws Exception {
3143
// required for mojo lookups to work
32-
super.setUp("markers", true);
44+
super.setUp();
3345

3446
MavenProject project = new DependencyProjectStub();
3547
getContainer().addComponent(project, MavenProject.class.getName());

src/test/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojoTest.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,24 @@ public class AnalyzeExclusionsMojoTest extends AbstractDependencyMojoTestCase {
6060
private ResolverUtil resolverUtil;
6161

6262
@Override
63-
public void setUp() throws Exception {
64-
super.setUp("analyze-exclusions", true, false);
63+
protected String getTestDirectoryName() {
64+
return "analyze-exclusions";
65+
}
66+
67+
@Override
68+
protected boolean shouldCreateFiles() {
69+
return true;
70+
}
71+
72+
@Override
73+
protected boolean shouldUseFlattenedPath() {
74+
return false;
75+
}
76+
77+
@Override
78+
protected void setUp() throws Exception {
79+
// required for mojo lookups to work
80+
super.setUp();
6581

6682
project = new DependencyProjectStub();
6783
project.setName("projectName");

src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestArtifactItem.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,20 @@
2525

2626
public class TestArtifactItem extends AbstractDependencyMojoTestCase {
2727

28+
@Override
29+
protected String getTestDirectoryName() {
30+
return "artifactItems";
31+
}
32+
33+
@Override
34+
protected boolean shouldCreateFiles() {
35+
return false;
36+
}
37+
38+
@Override
2839
protected void setUp() throws Exception {
29-
setUp("artifactItems", false);
40+
// required for mojo lookups to work
41+
super.setUp();
3042
}
3143

3244
public void testArtifactItemConstructor() throws IOException {

src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestCopyMojo.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,26 @@
3838
public class TestCopyMojo extends AbstractDependencyMojoTestCase {
3939
private CopyMojo mojo;
4040

41+
@Override
42+
protected String getTestDirectoryName() {
43+
return "copy";
44+
}
45+
46+
@Override
47+
protected boolean shouldCreateFiles() {
48+
return false;
49+
}
50+
51+
@Override
52+
protected boolean shouldUseFlattenedPath() {
53+
return false;
54+
}
55+
4156
@Override
4257
protected void setUp() throws Exception {
43-
super.setUp("copy", false, false);
58+
// required for mojo lookups to work
59+
super.setUp();
60+
4461
MavenProject project = new DependencyProjectStub();
4562
getContainer().addComponent(project, MavenProject.class.getName());
4663

src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestIncludeExcludeUnpackMojo.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,25 @@ public class TestIncludeExcludeUnpackMojo extends AbstractDependencyMojoTestCase
4343

4444
private UnpackMojo mojo;
4545

46+
@Override
47+
protected String getTestDirectoryName() {
48+
return "unpack";
49+
}
50+
51+
@Override
52+
protected boolean shouldCreateFiles() {
53+
return true;
54+
}
55+
56+
@Override
57+
protected boolean shouldUseFlattenedPath() {
58+
return false;
59+
}
60+
61+
@Override
4662
protected void setUp() throws Exception {
4763
// required for mojo lookups to work
48-
super.setUp("unpack", true, false);
64+
super.setUp();
4965

5066
MavenProject project = new DependencyProjectStub();
5167
getContainer().addComponent(project, MavenProject.class.getName());

src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestUnpackMojo.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,25 @@ public class TestUnpackMojo extends AbstractDependencyMojoTestCase {
4545

4646
UnpackMojo mojo;
4747

48+
@Override
49+
protected String getTestDirectoryName() {
50+
return "unpack";
51+
}
52+
53+
@Override
54+
protected boolean shouldCreateFiles() {
55+
return true;
56+
}
57+
58+
@Override
59+
protected boolean shouldUseFlattenedPath() {
60+
return false;
61+
}
62+
63+
@Override
4864
protected void setUp() throws Exception {
49-
super.setUp("unpack", true, false);
65+
// required for mojo lookups to work
66+
super.setUp();
5067

5168
MavenProject project = new DependencyProjectStub();
5269
getContainer().addComponent(project, MavenProject.class.getName());

0 commit comments

Comments
 (0)