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.validation;
25
26 import static org.junit.jupiter.api.Assertions.assertThrows;
27
28 import org.assertj.core.api.Assertions;
29 import org.eluder.coveralls.maven.plugin.domain.Git;
30 import org.eluder.coveralls.maven.plugin.domain.Git.Head;
31 import org.eluder.coveralls.maven.plugin.domain.Job;
32 import org.eluder.coveralls.maven.plugin.validation.ValidationError.Level;
33 import org.junit.jupiter.api.Test;
34
35 class JobValidatorTest {
36
37 @Test
38 void testMissingJob() {
39 assertThrows(IllegalArgumentException.class, () -> {
40 new JobValidator(null);
41 });
42 }
43
44 @Test
45 void testValidateWithoutRepoTokenOrTravis() {
46 ValidationErrors errors = new JobValidator(new Job()).validate();
47 Assertions.assertThat(errors).hasSize(1);
48 Assertions.assertThat(errors.get(0).getLevel()).isEqualByComparingTo(Level.ERROR);
49 }
50
51 @Test
52 void testValidateWithoutRepoTokenOrTravisForDryRun() {
53 ValidationErrors errors = new JobValidator(new Job().withDryRun(true)).validate();
54 Assertions.assertThat(errors).hasSize(1);
55 Assertions.assertThat(errors.get(0).getLevel()).isEqualByComparingTo(Level.WARN);
56 }
57
58 @Test
59 void testValidateWithInvalidTravis() {
60 ValidationErrors errors = new JobValidator(new Job().withServiceName("travis-ci")).validate();
61 Assertions.assertThat(errors).hasSize(1);
62 Assertions.assertThat(errors.get(0).getLevel()).isEqualByComparingTo(Level.ERROR);
63 }
64
65 @Test
66 void testValidateWithRepoToken() {
67 ValidationErrors errors = new JobValidator(new Job().withRepoToken("ad3fg5")).validate();
68 Assertions.assertThat(errors).isEmpty();
69 }
70
71 @Test
72 void testValidateWithTravis() {
73 ValidationErrors errors = new JobValidator(new Job().withServiceName("travis-ci").withServiceJobId("123")).validate();
74 Assertions.assertThat(errors).isEmpty();
75 }
76
77 @Test
78 void testValidateWithoutGitCommitId() {
79 Git git = new Git(null, new Head(null, null, null, null, null, null), null, null);
80 ValidationErrors errors = new JobValidator(new Job().withRepoToken("ad3fg5").withGit(git)).validate();
81 Assertions.assertThat(errors).hasSize(1);
82 Assertions.assertThat(errors.get(0).getLevel()).isEqualByComparingTo(Level.ERROR);
83 }
84
85 @Test
86 void testValidateWithGit() {
87 Git git = new Git(null, new Head("bc23af5", null, null, null, null, null), null, null);
88 ValidationErrors errors = new JobValidator(new Job().withRepoToken("ad3fg5").withGit(git)).validate();
89 Assertions.assertThat(errors).isEmpty();
90 }
91
92 @Test
93 void testValidateWithParallel() {
94 ValidationErrors errors = new JobValidator(new Job().withRepoToken("ad3fg5").withParallel(true)).validate();
95 Assertions.assertThat(errors).isEmpty();
96 }
97
98 }