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