1 package org.apache.turbine.services.schedule;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertThat;
27 import static org.junit.Assert.assertTrue;
28 import static org.junit.Assert.fail;
29
30 import org.apache.turbine.modules.scheduledjobs.SimpleJob;
31 import org.apache.turbine.services.TurbineServices;
32 import org.apache.turbine.util.TurbineConfig;
33 import org.apache.turbine.util.TurbineException;
34 import org.hamcrest.CoreMatchers;
35 import org.junit.After;
36 import org.junit.Before;
37 import org.junit.Test;
38
39
40
41
42
43
44
45 public class TurbineNonPersistentSchedulerServiceTest
46 {
47 private TurbineConfig tc = null;
48
49 private ScheduleService scheduler = null;
50
51 @Before
52 public void setUp() throws Exception
53 {
54 tc =
55 new TurbineConfig(
56 ".",
57 "/conf/test/TurbineNonPersistentSchedulerServiceTest.properties");
58 tc.initialize();
59
60 scheduler = (ScheduleService)TurbineServices.getInstance().getService(ScheduleService.SERVICE_NAME);
61 }
62
63 @After
64 public void tearDown() throws Exception
65 {
66 if (tc != null)
67 {
68 tc.dispose();
69 }
70 }
71
72
73
74
75 @Test public void testEnableDisable()
76 {
77 try
78 {
79 scheduler.startScheduler();
80 assertTrue(scheduler.isEnabled());
81
82 scheduler.stopScheduler();
83 assertFalse(scheduler.isEnabled());
84 }
85 catch (Exception e)
86 {
87 e.printStackTrace();
88 fail();
89 }
90 }
91
92
93
94
95
96 @Test public void testAddRemoveJob()
97 {
98 try
99 {
100
101 int jobCount = scheduler.listJobs().size();
102
103
104 JobEntry je = scheduler.newJob(0, 1, -1, -1, -1, "SimpleJob");
105
106 scheduler.addJob(je);
107 assertEquals(jobCount + 1, scheduler.listJobs().size());
108
109 assertTrue(scheduler.listJobs().contains( je ));
110 scheduler.removeJob(je);
111 assertTrue(!scheduler.listJobs().contains( je ));
112 assertEquals(jobCount, scheduler.listJobs().size());
113
114 }
115 catch (Exception e)
116 {
117 e.printStackTrace();
118 fail();
119 }
120 }
121
122
123
124
125 @Test public void testGetJob()
126 {
127 try
128 {
129 JobEntry je = scheduler.getJob(1);
130 assertThat(je, CoreMatchers.instanceOf(JobEntryNonPersistent.class));
131 JobEntryNonPersistent jenp = (JobEntryNonPersistent)je;
132 assertEquals(1, jenp.getJobId());
133 assertEquals(1, jenp.getSecond());
134 assertEquals(-1, jenp.getMinute());
135 assertEquals(-1, jenp.getHour());
136 assertEquals(-1, jenp.getDayOfMonth());
137 assertEquals(-1, jenp.getWeekDay());
138 assertEquals("SimpleJob", jenp.getTask());
139 }
140 catch (TurbineException e)
141 {
142 e.printStackTrace();
143 fail();
144 }
145 }
146
147
148
149
150 @Test public void testRunningJob()
151 {
152 try
153 {
154 int beforeCount = SimpleJob.getCounter();
155 Thread.sleep(1200);
156 int afterCount = SimpleJob.getCounter();
157 assertTrue(beforeCount < afterCount);
158
159 }
160 catch (Exception e)
161 {
162 e.printStackTrace();
163 fail();
164 }
165 }
166
167 }