Skip to content

Commit abdc76d

Browse files
Fix assertions and cleanups in Mojo Tests
1 parent 7b7a48e commit abdc76d

File tree

13 files changed

+110
-226
lines changed

13 files changed

+110
-226
lines changed

maven-release-plugin/src/test/java/org/apache/maven/plugins/release/CleanReleaseMojoTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,12 @@
3737
public class CleanReleaseMojoTest extends AbstractMojoTestCase {
3838
protected CleanReleaseMojo mojo;
3939

40-
private File workingDirectory;
41-
4240
protected void setUp() throws Exception {
4341
super.setUp();
4442

4543
File testFile = getTestFile("target/test-classes/mojos/clean/clean.xml");
46-
mojo = (CleanReleaseMojo) lookupMojo("clean", testFile);
47-
workingDirectory = testFile.getParentFile();
44+
mojo = lookupMojo("clean", testFile);
45+
File workingDirectory = testFile.getParentFile();
4846
mojo.setBasedir(workingDirectory);
4947
}
5048

maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java

Lines changed: 53 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@
2020

2121
import java.io.File;
2222
import java.util.Arrays;
23-
import java.util.List;
2423

2524
import org.apache.maven.execution.MavenSession;
2625
import org.apache.maven.model.DistributionManagement;
27-
import org.apache.maven.model.Profile;
2826
import org.apache.maven.model.Site;
2927
import org.apache.maven.plugin.MojoExecutionException;
3028
import org.apache.maven.plugin.MojoFailureException;
@@ -54,12 +52,6 @@ public class PerformReleaseMojoTest extends AbstractMojoTestCase {
5452
public void testPerform() throws Exception {
5553
PerformReleaseMojo mojo = getMojoWithProjectSite("perform.xml");
5654

57-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
58-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
59-
File checkoutDirectory = getTestFile("target/checkout");
60-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
61-
builder.setPerformGoals("deploy site-deploy");
62-
6355
ReleaseManager mock = mock(ReleaseManager.class);
6456
mojo.setReleaseManager(mock);
6557

@@ -73,19 +65,17 @@ public void testPerform() throws Exception {
7365
assertNotNull(argument.getValue().getReleaseEnvironment());
7466
assertNotNull(argument.getValue().getReactorProjects());
7567
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
68+
69+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
70+
argument.getValue().getReleaseDescriptorBuilder().build();
71+
assertEquals("deploy site-deploy", releaseDescriptor.getPerformGoals());
72+
7673
verifyNoMoreInteractions(mock);
7774
}
7875

7976
public void testPerformWithFlatStructure() throws Exception {
8077
PerformReleaseMojo mojo = getMojoWithProjectSite("perform-with-flat-structure.xml");
8178

82-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
83-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
84-
File checkoutDirectory = getTestFile("target/checkout");
85-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
86-
builder.setPerformGoals("deploy");
87-
builder.setScmSourceUrl("scm:svn:file://localhost/target/svnroot/flat-multi-module/trunk/root-project");
88-
8979
ReleaseManager mock = mock(ReleaseManager.class);
9080
mojo.setReleaseManager(mock);
9181

@@ -99,25 +89,26 @@ public void testPerformWithFlatStructure() throws Exception {
9989
assertNotNull(argument.getValue().getReleaseEnvironment());
10090
assertNotNull(argument.getValue().getReactorProjects());
10191
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
92+
93+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
94+
argument.getValue().getReleaseDescriptorBuilder().build();
95+
assertEquals("deploy", releaseDescriptor.getPerformGoals());
96+
assertEquals(
97+
"scm:svn:file://localhost/target/svnroot/flat-multi-module/trunk/root-project",
98+
releaseDescriptor.getScmSourceUrl());
99+
102100
verifyNoMoreInteractions(mock);
103101
}
104102

105103
public void testPerformWithoutSite() throws Exception {
106104
File testFileDirectory = getTestFile("target/test-classes/mojos/perform/");
107-
PerformReleaseMojo mojo =
108-
(PerformReleaseMojo) lookupMojo("perform", new File(testFileDirectory, "perform-without-site.xml"));
105+
PerformReleaseMojo mojo = lookupMojo("perform", new File(testFileDirectory, "perform-without-site.xml"));
109106
mojo.setBasedir(testFileDirectory);
110107
mojo.setPomFileName("pom.xml");
111108

112-
MavenProject project = (MavenProject) getVariableValueFromObject(mojo, "project");
109+
MavenProject project = getVariableValueFromObject(mojo, "project");
113110
setVariableValueToObject(mojo, "session", newMavenSession(project));
114111

115-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
116-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
117-
File checkoutDirectory = getTestFile("target/checkout");
118-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
119-
builder.setPerformGoals("deploy");
120-
121112
ReleaseManager mock = mock(ReleaseManager.class);
122113
mojo.setReleaseManager(mock);
123114

@@ -132,14 +123,18 @@ public void testPerformWithoutSite() throws Exception {
132123
assertNotNull(argument.getValue().getReactorProjects());
133124
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
134125
verifyNoMoreInteractions(mock);
126+
127+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
128+
argument.getValue().getReleaseDescriptorBuilder().build();
129+
assertEquals("deploy", releaseDescriptor.getPerformGoals());
135130
}
136131

137132
private PerformReleaseMojo getMojoWithProjectSite(String fileName) throws Exception {
138-
PerformReleaseMojo mojo = (PerformReleaseMojo) lookupMojo("perform", new File(workingDirectory, fileName));
133+
PerformReleaseMojo mojo = lookupMojo("perform", new File(workingDirectory, fileName));
139134
mojo.setBasedir(workingDirectory);
140135
mojo.setPomFileName(fileName);
141136

142-
MavenProject project = (MavenProject) getVariableValueFromObject(mojo, "project");
137+
MavenProject project = getVariableValueFromObject(mojo, "project");
143138
DistributionManagement distributionManagement = new DistributionManagement();
144139
distributionManagement.setSite(new Site());
145140
project.setDistributionManagement(distributionManagement);
@@ -152,12 +147,6 @@ private PerformReleaseMojo getMojoWithProjectSite(String fileName) throws Except
152147
public void testPerformWithExecutionException() throws Exception {
153148
PerformReleaseMojo mojo = getMojoWithProjectSite("perform.xml");
154149

155-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
156-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
157-
File checkoutDirectory = getTestFile("target/checkout");
158-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
159-
builder.setPerformGoals("deploy site-deploy");
160-
161150
ReleaseManager mock = mock(ReleaseManager.class);
162151
doThrow(new ReleaseExecutionException("...")).when(mock).perform(isA(ReleasePerformRequest.class));
163152
mojo.setReleaseManager(mock);
@@ -180,18 +169,16 @@ public void testPerformWithExecutionException() throws Exception {
180169
assertNotNull(argument.getValue().getReactorProjects());
181170
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
182171

172+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
173+
argument.getValue().getReleaseDescriptorBuilder().build();
174+
assertEquals("deploy site-deploy", releaseDescriptor.getPerformGoals());
175+
183176
verifyNoMoreInteractions(mock);
184177
}
185178

186179
public void testPerformWithExecutionFailure() throws Exception {
187180
PerformReleaseMojo mojo = getMojoWithProjectSite("perform.xml");
188181

189-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
190-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
191-
File checkoutDirectory = getTestFile("target/checkout");
192-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
193-
builder.setPerformGoals("deploy site-deploy");
194-
195182
ReleaseManager mock = mock(ReleaseManager.class);
196183
ReleaseFailureException cause = new ReleaseFailureException("...");
197184
doThrow(cause).when(mock).perform(isA(ReleasePerformRequest.class));
@@ -215,19 +202,16 @@ public void testPerformWithExecutionFailure() throws Exception {
215202
assertNotNull(argument.getValue().getReactorProjects());
216203
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
217204

205+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
206+
argument.getValue().getReleaseDescriptorBuilder().build();
207+
assertEquals("deploy site-deploy", releaseDescriptor.getPerformGoals());
208+
218209
verifyNoMoreInteractions(mock);
219210
}
220211

221212
public void testPerformWithScm() throws Exception {
222213
PerformReleaseMojo mojo = getMojoWithProjectSite("perform-with-scm.xml");
223214

224-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
225-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
226-
File checkoutDirectory = getTestFile("target/checkout");
227-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
228-
builder.setPerformGoals("deploy site-deploy");
229-
builder.setScmSourceUrl("scm-url");
230-
231215
ReleaseManager mock = mock(ReleaseManager.class);
232216
mojo.setReleaseManager(mock);
233217

@@ -242,26 +226,18 @@ public void testPerformWithScm() throws Exception {
242226
assertNotNull(argument.getValue().getReactorProjects());
243227
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
244228

229+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
230+
argument.getValue().getReleaseDescriptorBuilder().build();
231+
assertEquals("deploy site-deploy", releaseDescriptor.getPerformGoals());
232+
assertEquals("scm-url", releaseDescriptor.getScmSourceUrl());
233+
245234
verifyNoMoreInteractions(mock);
246235
}
247236

248237
public void testPerformWithProfiles() throws Exception {
249238
PerformReleaseMojo mojo = getMojoWithProjectSite("perform.xml");
250239

251-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
252-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
253-
File checkoutDirectory = getTestFile("target/checkout");
254-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
255-
builder.setPerformGoals("deploy site-deploy");
256-
builder.setAdditionalArguments("-P prof1,2prof");
257-
258-
MavenSession session = (MavenSession) getVariableValueFromObject(mojo, "session");
259-
Profile profile1 = new Profile();
260-
profile1.setId("prof1");
261-
session.getRequest().addProfile(profile1);
262-
Profile profile2 = new Profile();
263-
profile2.setId("2prof");
264-
session.getRequest().addProfile(profile2);
240+
MavenSession session = getVariableValueFromObject(mojo, "session");
265241
session.getRequest().setActiveProfiles(Arrays.asList("prof1", "2prof"));
266242

267243
ReleaseManager mock = mock(ReleaseManager.class);
@@ -278,26 +254,19 @@ public void testPerformWithProfiles() throws Exception {
278254
assertNotNull(argument.getValue().getReactorProjects());
279255
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
280256

257+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
258+
argument.getValue().getReleaseDescriptorBuilder().build();
259+
assertEquals("deploy site-deploy", releaseDescriptor.getPerformGoals());
260+
assertTrue(releaseDescriptor.getActivateProfiles().contains("prof1"));
261+
assertTrue(releaseDescriptor.getActivateProfiles().contains("2prof"));
262+
281263
verifyNoMoreInteractions(mock);
282264
}
283265

284266
public void testPerformWithProfilesAndArguments() throws Exception {
285267
PerformReleaseMojo mojo = getMojoWithProjectSite("perform-with-args.xml");
286268

287-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
288-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
289-
File checkoutDirectory = getTestFile("target/checkout");
290-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
291-
builder.setPerformGoals("deploy site-deploy");
292-
builder.setAdditionalArguments("-Dmaven.test.skip=true -P prof1,2prof");
293-
294-
MavenSession session = (MavenSession) getVariableValueFromObject(mojo, "session");
295-
Profile profile1 = new Profile();
296-
profile1.setId("prof1");
297-
session.getRequest().addProfile(profile1);
298-
Profile profile2 = new Profile();
299-
profile2.setId("2prof");
300-
session.getRequest().addProfile(profile2);
269+
MavenSession session = getVariableValueFromObject(mojo, "session");
301270
session.getRequest().setActiveProfiles(Arrays.asList("prof1", "2prof"));
302271

303272
ReleaseManager mock = mock(ReleaseManager.class);
@@ -314,18 +283,19 @@ public void testPerformWithProfilesAndArguments() throws Exception {
314283
assertNotNull(argument.getValue().getReactorProjects());
315284
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
316285

286+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
287+
argument.getValue().getReleaseDescriptorBuilder().build();
288+
assertEquals("deploy site-deploy", releaseDescriptor.getPerformGoals());
289+
assertTrue(releaseDescriptor.getActivateProfiles().contains("prof1"));
290+
assertTrue(releaseDescriptor.getActivateProfiles().contains("2prof"));
291+
assertEquals("-Dmaven.test.skip=true", releaseDescriptor.getAdditionalArguments());
292+
317293
verifyNoMoreInteractions(mock);
318294
}
319295

320296
public void testPerformWithMultilineGoals() throws Exception {
321297
PerformReleaseMojo mojo = getMojoWithProjectSite("perform-with-multiline-goals.xml");
322298

323-
ReleaseDescriptorBuilder builder = createReleaseDescriptorBuilder(mojo);
324-
builder.setWorkingDirectory(workingDirectory.getAbsolutePath());
325-
File checkoutDirectory = getTestFile("target/checkout");
326-
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
327-
builder.setPerformGoals("deploy site-deploy");
328-
329299
ReleaseManager mock = mock(ReleaseManager.class);
330300
mojo.setReleaseManager(mock);
331301

@@ -340,20 +310,11 @@ public void testPerformWithMultilineGoals() throws Exception {
340310
assertNotNull(argument.getValue().getReactorProjects());
341311
assertEquals(Boolean.FALSE, argument.getValue().getDryRun());
342312

343-
verifyNoMoreInteractions(mock);
344-
}
345-
346-
private ReleaseDescriptorBuilder createReleaseDescriptorBuilder(PerformReleaseMojo mojo) throws Exception {
347-
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
348-
349-
@SuppressWarnings("unchecked")
350-
List<MavenProject> reactorProjects = (List<MavenProject>) getVariableValueFromObject(mojo, "reactorProjects");
313+
ReleaseDescriptorBuilder.BuilderReleaseDescriptor releaseDescriptor =
314+
argument.getValue().getReleaseDescriptorBuilder().build();
315+
assertEquals("deploy site-deploy", releaseDescriptor.getPerformGoals());
351316

352-
for (MavenProject project : reactorProjects) {
353-
builder.putOriginalVersion(project.getGroupId() + ':' + project.getArtifactId(), project.getVersion());
354-
}
355-
356-
return builder;
317+
verifyNoMoreInteractions(mock);
357318
}
358319

359320
protected void setUp() throws Exception {

0 commit comments

Comments
 (0)