1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.javadoc;
20
21 import java.io.File;
22
23 import org.apache.maven.plugin.logging.Log;
24 import org.junit.Before;
25 import org.junit.Test;
26
27 import static org.assertj.core.api.Assertions.assertThat;
28 import static org.mockito.ArgumentMatchers.anyString;
29 import static org.mockito.Mockito.mock;
30 import static org.mockito.Mockito.never;
31 import static org.mockito.Mockito.times;
32 import static org.mockito.Mockito.verify;
33 import static org.mockito.Mockito.when;
34
35 public class AbstractJavadocMojoTest {
36 AbstractJavadocMojo mojo;
37
38 @Before
39 public void setUp() {
40 mojo = new AbstractJavadocMojo() {
41 @Override
42 public void doExecute() {}
43 };
44 }
45
46 @Test
47 public void testMJAVADOC432_DetectLinksMessages() {
48 Log log = mock(Log.class);
49 when(log.isErrorEnabled()).thenReturn(true);
50 mojo.setLog(log);
51 mojo.outputDirectory = new File("target/test-classes");
52
53
54 assertThat(mojo.isValidJavadocLink(new File("pom.xml").getPath(), true)).isFalse();
55 assertThat(mojo.isValidJavadocLink("file://%%", true)).isFalse();
56 assertThat(mojo.isValidJavadocLink(new File("pom.xml").toURI().toString(), true))
57 .isFalse();
58 verify(log, times(4)).warn(anyString());
59 verify(log, never()).error(anyString());
60
61
62 assertThat(mojo.isValidJavadocLink(new File("pom.xml").getPath(), false))
63 .isFalse();
64 assertThat(mojo.isValidJavadocLink("file://%%", false)).isFalse();
65 assertThat(mojo.isValidJavadocLink(new File("pom.xml").toURI().toString(), false))
66 .isFalse();
67 verify(log, times(4)).error(anyString());
68 verify(log, times(4)).warn(anyString());
69 }
70
71 @Test
72 public void testMJAVADOC527_DetectLinksRecursion() {
73 Log log = mock(Log.class);
74 when(log.isErrorEnabled()).thenReturn(true);
75 mojo.setLog(log);
76 mojo.outputDirectory = new File("target/test-classes");
77
78 assertThat(mojo.isValidJavadocLink("http://javamail.java.net/mailapi/apidocs", false))
79 .isFalse();
80 assertThat(mojo.isValidJavadocLink("http://commons.apache.org/proper/commons-lang/apidocs", false))
81 .isTrue();
82 }
83 }