View Javadoc
1   package org.codehaus.gmavenplus.mojo;
2   
3   import org.apache.maven.execution.MavenSession;
4   import org.apache.maven.plugin.MojoExecution;
5   import org.apache.maven.plugin.descriptor.MojoDescriptor;
6   import org.apache.maven.project.MavenProject;
7   import org.apache.maven.shared.model.fileset.FileSet;
8   import org.apache.maven.toolchain.ToolchainManager;
9   import org.junit.Before;
10  import org.junit.Test;
11  import org.mockito.Mock;
12  import org.mockito.MockitoAnnotations;
13  import org.mockito.Spy;
14  
15  import java.io.File;
16  import java.util.Properties;
17  
18  import static java.util.Collections.emptyList;
19  import static org.mockito.Mockito.*;
20  
21  /**
22   * Unit tests for the AbstractGroovyDocMojo class.
23   *
24   * @author Rick Venutolo
25   */
26  public class AbstractGroovyDocMojoTest {
27      @Spy
28      private TestMojo testMojo;
29  
30      @Mock
31      private MojoExecution mojoExecution;
32  
33      @Mock
34      private MojoDescriptor mojoDescriptor;
35  
36      @Mock
37      private MavenProject project;
38  
39      @Mock
40      private ToolchainManager toolchainManager;
41  
42      @Mock
43      private MavenSession session;
44  
45      @Before
46      public void setup() throws Exception {
47          MockitoAnnotations.openMocks(this);
48          testMojo.mojoExecution = mojoExecution;
49          doReturn(mojoDescriptor).when(mojoExecution).getMojoDescriptor();
50          testMojo.project = project;
51          testMojo.toolchainManager = toolchainManager;
52          testMojo.session = session;
53          doReturn(new Properties()).when(testMojo).setupProperties();
54          doNothing().when(testMojo).performInProcessGroovyDocGeneration(any(org.codehaus.gmavenplus.model.GroovyDocConfiguration.class));
55      }
56  
57      @Test
58      public void testDontSkipGroovyDoc() throws Exception {
59          testMojo.doGroovyDocGeneration(new FileSet[]{new FileSet()}, emptyList(), new File(""));
60          verify(testMojo, times(1)).performInProcessGroovyDocGeneration(any(org.codehaus.gmavenplus.model.GroovyDocConfiguration.class));
61      }
62  
63      @Test
64      public void testSkipGroovyDoc() throws Exception {
65          testMojo.skipGroovyDoc = true;
66          testMojo.doGroovyDocGeneration(new FileSet[]{new FileSet()}, emptyList(), new File(""));
67          verify(testMojo, never()).performInProcessGroovyDocGeneration(any(org.codehaus.gmavenplus.model.GroovyDocConfiguration.class));
68      }
69  
70      public static class TestMojo extends AbstractGroovyDocMojo {
71          @Override
72          public void execute() {
73          }
74      }
75  
76  }