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
23
24
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 }