1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.release;
20
21 import java.io.File;
22
23 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
24 import org.apache.maven.shared.release.ReleaseCleanRequest;
25 import org.apache.maven.shared.release.ReleaseManager;
26 import org.mockito.ArgumentCaptor;
27
28 import static org.mockito.Mockito.mock;
29 import static org.mockito.Mockito.verify;
30 import static org.mockito.Mockito.verifyNoMoreInteractions;
31
32
33
34
35
36
37 public class CleanReleaseMojoTest extends AbstractMojoTestCase {
38 protected CleanReleaseMojo mojo;
39
40 private File workingDirectory;
41
42 protected void setUp() throws Exception {
43 super.setUp();
44
45 File testFile = getTestFile("target/test-classes/mojos/clean/clean.xml");
46 mojo = (CleanReleaseMojo) lookupMojo("clean", testFile);
47 workingDirectory = testFile.getParentFile();
48 mojo.setBasedir(workingDirectory);
49 }
50
51 public void testClean() throws Exception {
52
53 ArgumentCaptor<ReleaseCleanRequest> request = ArgumentCaptor.forClass(ReleaseCleanRequest.class);
54
55 ReleaseManager mock = mock(ReleaseManager.class);
56 mojo.setReleaseManager(mock);
57
58
59 mojo.execute();
60
61
62 verify(mock).clean(request.capture());
63
64 assertEquals(mojo.getReactorProjects(), request.getValue().getReactorProjects());
65
66 verifyNoMoreInteractions(mock);
67 }
68 }