1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.eluder.coveralls.maven.plugin.logging;
25
26 import static org.junit.jupiter.api.Assertions.assertEquals;
27 import static org.junit.jupiter.api.Assertions.assertThrows;
28 import static org.mockito.Mockito.verify;
29 import static org.mockito.Mockito.verifyNoInteractions ;
30 import static org.mockito.Mockito.when;
31
32 import java.io.File;
33
34 import org.apache.maven.plugin.logging.Log;
35 import org.eluder.coveralls.maven.plugin.logging.Logger.Position;
36 import org.junit.jupiter.api.Test;
37 import org.junit.jupiter.api.extension.ExtendWith;
38 import org.mockito.Mock;
39 import org.mockito.junit.jupiter.MockitoExtension;
40
41 @ExtendWith(MockitoExtension.class)
42 class DryRunLoggerTest {
43
44 @Mock
45 private Log logMock;
46
47 @Mock
48 private File coverallsFileMock;
49
50 @Test
51 void testMissingCoverallsFile() {
52 assertThrows(IllegalArgumentException.class, () -> {
53 new DryRunLogger(true, null);
54 });
55 }
56
57 @Test
58 void testGetPosition() {
59 assertEquals(Position.AFTER, new DryRunLogger(true, coverallsFileMock).getPosition());
60 }
61
62 @Test
63 void testLogDryRunDisabled() {
64 new DryRunLogger(false, coverallsFileMock).log(logMock);
65
66 verifyNoInteractions(logMock);
67 }
68
69 @Test
70 void testLogDryRunEnabled() {
71 when(coverallsFileMock.length()).thenReturn(1024l);
72 when(coverallsFileMock.getAbsolutePath()).thenReturn("/target/coveralls.json");
73
74 new DryRunLogger(true, coverallsFileMock).log(logMock);
75
76 verify(logMock).info("Dry run enabled, Coveralls report will NOT be submitted to API");
77 verify(logMock).info("1024 bytes of data was recorded in /target/coveralls.json");
78 }
79 }