forked from v1v/jenkinslint-plugin
/
TimerTriggerCheckerTestCase.java
135 lines (129 loc) · 5.5 KB
/
TimerTriggerCheckerTestCase.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package org.jenkins.ci.plugins.jenkinslint.check;
import hudson.matrix.MatrixProject;
import hudson.maven.MavenModuleSet;
import hudson.model.FreeStyleProject;
import hudson.plugins.ws_cleanup.WsCleanup;
import hudson.triggers.TimerTrigger;
import org.junit.Rule;
import org.junit.Test;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.JenkinsRule;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
/**
* TimerTriggerCheckerTestCase Test Case.
*
* @author Victor Martinez
*/
public class TimerTriggerCheckerTestCase {
private TimerTriggerChecker checker = new TimerTriggerChecker();
private static final String TIMER_WITHOUT_H = "20 * * * *";
private static final String TIMER_WITH_H = "H/15 * * * *";
private static final String TIMER_WITH_COMMENT = " # H 15 1 * * *";
@Rule public JenkinsRule j = new JenkinsRule();
@Test public void testDefaultJob() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
assertFalse(checker.executeCheck(project));
}
@Test public void testEmptyTriggerLabel() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
assertFalse(checker.executeCheck(project));
}
@Issue("JENKINS-42337")
@Test public void testWithAtTimerTrigger() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
TimerTrigger newTrigger = new TimerTrigger("@daily");
project.addTrigger(newTrigger);
project.save();
assertFalse(checker.executeCheck(project));
project.delete();
newTrigger = new TimerTrigger(TIMER_WITHOUT_H + "\n" +"@daily");
project.addTrigger(newTrigger);
project.save();
assertTrue(checker.executeCheck(project));
}
@Test public void testWithTimerTrigger() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
TimerTrigger newTrigger = new TimerTrigger(TIMER_WITHOUT_H);
project.addTrigger(newTrigger);
project.save();
assertTrue(checker.executeCheck(project));
}
@Test public void testWithHTimerTrigger() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
TimerTrigger newTrigger = new TimerTrigger(TIMER_WITH_H);
project.addTrigger(newTrigger);
project.save();
assertFalse(checker.executeCheck(project));
}
@Test public void testWithMultipleTimerTrigger() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
TimerTrigger newTrigger = new TimerTrigger(TIMER_WITHOUT_H + "\n" + TIMER_WITHOUT_H);
project.addTrigger(newTrigger);
project.save();
assertTrue(checker.executeCheck(project));
}
@Test public void testWithMultipleHTimerTrigger() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
TimerTrigger newTrigger = new TimerTrigger(TIMER_WITHOUT_H + "\n" + TIMER_WITH_H + "\n" + TIMER_WITH_H);
project.addTrigger(newTrigger);
project.save();
assertTrue(checker.executeCheck(project));
}
@Test public void testCommentedTimerTrigger() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
TimerTrigger newTrigger = new TimerTrigger(TIMER_WITHOUT_H + "\n#" + TIMER_WITH_H);
project.addTrigger(newTrigger);
project.save();
project.delete();
assertTrue(checker.executeCheck(project));
newTrigger = new TimerTrigger(TIMER_WITH_COMMENT);
project.addTrigger(newTrigger);
project.save();
assertFalse(checker.executeCheck(project));
}
@Issue("JENKINS-42310")
@Test public void testMavenModuleJob() throws Exception {
MavenModuleSet project = j.createMavenProject();
assertFalse(checker.executeCheck(project));
}
@Issue("JENKINS-42310")
@Test public void testMavenTimerTrigger() throws Exception {
MavenModuleSet project = j.createMavenProject();
TimerTrigger newTrigger = new TimerTrigger(TIMER_WITHOUT_H);
project.addTrigger(newTrigger);
project.save();
assertTrue(checker.executeCheck(project));
project.delete();
project = j.createMavenProject();
newTrigger = new TimerTrigger(TIMER_WITH_H);
project.addTrigger(newTrigger);
project.save();
assertFalse(checker.executeCheck(project));
}
@Issue("JENKINS-42310")
@Test public void testMatrixProject() throws Exception {
MatrixProject project = j.createMatrixProject();
assertFalse(checker.executeCheck(project));
}
@Issue("JENKINS-42310")
@Test public void testMatrixTimerTrigger() throws Exception {
MatrixProject project = j.createMatrixProject();
TimerTrigger newTrigger = new TimerTrigger(TIMER_WITHOUT_H);
project.addTrigger(newTrigger);
project.save();
assertTrue(checker.executeCheck(project));
project.delete();
project = j.createMatrixProject();
newTrigger = new TimerTrigger(TIMER_WITH_H);
project.addTrigger(newTrigger);
project.save();
assertFalse(checker.executeCheck(project));
}
@Test public void testControlComment() throws Exception {
FreeStyleProject project = j.createFreeStyleProject();
assertFalse(checker.isIgnored(project.getDescription()));
project.setDescription("#lint:ignore:" + checker.getClass().getSimpleName());
assertTrue(checker.isIgnored(project.getDescription()));
}
}