package org.codehaus.gmavenplus.mojo; import org.apache.maven.plugin.MojoExecution; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.project.MavenProject; import org.apache.maven.shared.model.fileset.FileSet; import org.apache.maven.shared.model.fileset.util.FileSetManager; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import java.io.File; import java.util.Properties; import static java.util.Collections.emptyList; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyListOf; import static org.mockito.Matchers.anyObject; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; /** * Unit tests for the AbstractGroovyDocMojo class. * * @author Rick Venutolo */ public class AbstractGroovyDocMojoTest { @Spy private TestMojo testMojo; @Mock private MojoExecution mojoExecution; @Mock private MojoDescriptor mojoDescriptor; @Mock private MavenProject project; @Before public void setup() throws Exception { MockitoAnnotations.initMocks(this); testMojo.mojoExecution = mojoExecution; doReturn(mojoDescriptor).when(mojoExecution).getMojoDescriptor(); testMojo.project = project; doReturn(new Properties()).when(testMojo).setupProperties(); doReturn(emptyList()).when(testMojo).setupGroovyDocSources(any(FileSet[].class), any(FileSetManager.class)); doNothing().when(testMojo).generateGroovyDoc(any(File.class), any(Class.class), any(Class.class), anyObject(), anyListOf(String.class), anyObject()); } @Test public void testDontSkipGroovyDoc() throws Exception { testMojo.doGroovyDocGeneration(new FileSet[]{new FileSet()}, emptyList(), new File("")); verify(testMojo, times(1)).generateGroovyDoc(any(File.class), any(Class.class), any(Class.class), anyObject(), anyListOf(String.class), anyObject()); } @Test public void testSkipGroovyDoc() throws Exception { testMojo.skipGroovyDoc = true; testMojo.doGroovyDocGeneration(new FileSet[]{new FileSet()}, emptyList(), new File("")); verify(testMojo, never()).generateGroovyDoc(any(File.class), any(Class.class), any(Class.class), anyObject(), anyListOf(String.class), anyObject()); } public static class TestMojo extends AbstractGroovyDocMojo { public void execute() throws MojoExecutionException, MojoFailureException { } } }