Skip to content

Commit 95a8f63

Browse files
committed
Refine Quartz tests
1 parent ec7692e commit 95a8f63

File tree

3 files changed

+46
-2
lines changed

3 files changed

+46
-2
lines changed

tests/src/org.quartz-scheduler/quartz/2.3.2/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ plugins {
1414
String libraryVersion = TestUtils.testedLibraryVersion
1515

1616
dependencies {
17-
testImplementation("org.quartz-scheduler:quartz:$libraryVersion")
18-
testImplementation('org.assertj:assertj-core:3.22.0')
17+
testImplementation("org.slf4j:slf4j-api:1.7.36")
18+
testImplementation("org.slf4j:slf4j-simple:1.7.36")
19+
testImplementation("org.quartz-scheduler:quartz:$libraryVersion")
20+
testImplementation('org.assertj:assertj-core:3.22.0')
1921
}
2022

2123
graalvmNative {

tests/src/org.quartz-scheduler/quartz/2.3.2/src/test/java/org/quartz/QuartzTest.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77
package org.quartz;
88

99
import java.io.InputStream;
10+
import java.util.Properties;
1011

1112
import org.junit.jupiter.api.Test;
1213
import org.quartz.impl.StdSchedulerFactory;
14+
import org.quartz.simpl.SimpleThreadPool;
1315

1416
import static org.assertj.core.api.Assertions.assertThat;
1517

@@ -42,4 +44,29 @@ void initializeStdFactory() throws SchedulerException {
4244
Scheduler scheduler = factory.getScheduler();
4345
assertThat(scheduler.getSchedulerName()).isEqualTo("DefaultQuartzScheduler");
4446
}
47+
48+
@Test
49+
void typicalUseCase() throws SchedulerException, InterruptedException {
50+
Properties properties = new Properties();
51+
52+
properties.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS, SimpleThreadPool.class.getName());
53+
properties.put(StdSchedulerFactory.PROP_THREAD_POOL_PREFIX + ".threadCount", Integer.toString(2));
54+
55+
StdSchedulerFactory factory = new StdSchedulerFactory(properties);
56+
Scheduler scheduler = factory.getScheduler();
57+
scheduler.start();
58+
59+
JobDetail jobDetail = JobBuilder.newJob(SimpleJob.class).withIdentity("simpleJob").build();
60+
61+
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInMilliseconds(10).repeatForever();
62+
Trigger trigger = TriggerBuilder.newTrigger().forJob(jobDetail)
63+
.withIdentity("simpleJobTrigger")
64+
.withSchedule(scheduleBuilder).build();
65+
66+
// Tell quartz to schedule the job using our trigger
67+
scheduler.scheduleJob(jobDetail, trigger);
68+
69+
Thread.sleep(100);
70+
}
71+
4572
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* Copyright and related rights waived via CC0
3+
*
4+
* You should have received a copy of the CC0 legalcode along with this
5+
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
6+
*/
7+
package org.quartz;
8+
9+
public class SimpleJob implements Job {
10+
11+
@Override
12+
public void execute(JobExecutionContext context) {
13+
System.out.println("SimpleJob running");
14+
}
15+
}

0 commit comments

Comments
 (0)