Skip to content

Commit 904e5dd

Browse files
isidoreJayBazuziScottBob
committed
*** better tests
Co-Authored-By: Jay Bazuzi <1259628+JayBazuzi@users.noreply.github.com> Co-Authored-By: Scott Wierschem <28421044+ScottBob@users.noreply.github.com>
1 parent d4f6f59 commit 904e5dd

1 file changed

Lines changed: 27 additions & 43 deletions

File tree

approvaltests-util-tests/src/test/java/com/spun/util/quartz/QuartzUtilsTest.java

Lines changed: 27 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,47 +6,31 @@
66
import org.quartz.Trigger;
77
import org.quartz.impl.triggers.SimpleTriggerImpl;
88

9-
import java.util.Date;
10-
11-
import static org.junit.jupiter.api.Assertions.assertEquals;
12-
import static org.junit.jupiter.api.Assertions.assertNotNull;
13-
import static org.junit.jupiter.api.Assertions.assertTrue;
14-
15-
class QuartzUtilsTest
16-
{
17-
@Test
18-
void testCreateTrigger()
19-
{
20-
// Arrange
21-
SimpleTriggerImpl oldTrigger = new SimpleTriggerImpl();
22-
oldTrigger.setName("oldName");
23-
oldTrigger.setGroup("oldGroup");
24-
// A JobKey is required for getTriggerBuilder() and for the trigger to be valid for scheduling with a scheduler
25-
oldTrigger.setJobKey(new JobKey("jobName", "jobGroup"));
26-
String newName = "testTriggerName";
27-
String newGroup = "testTriggerGroup";
28-
long beforeTime = System.currentTimeMillis();
29-
// Act
30-
Trigger newTrigger = QuartzUtils.createTrigger(oldTrigger, newName, newGroup);
31-
long afterTime = System.currentTimeMillis();
32-
// Assert
33-
assertNotNull(newTrigger, "New trigger should not be null");
34-
assertEquals(newName, newTrigger.getKey().getName(), "Trigger name should be updated");
35-
assertEquals(newGroup, newTrigger.getKey().getGroup(), "Trigger group should be updated");
36-
assertNotNull(newTrigger.getStartTime(), "Start time should be set");
37-
// Check if start time is within a small delta (e.g., 100ms) of the call time to account for execution time
38-
assertTrue(
39-
newTrigger.getStartTime().getTime() >= beforeTime
40-
&& newTrigger.getStartTime().getTime() <= afterTime + 100,
41-
"Start time should be approximately now. Expected between " + beforeTime + " and " + (afterTime + 100)
42-
+ " but was " + newTrigger.getStartTime().getTime());
43-
assertNotNull(newTrigger.getEndTime(), "End time should be set");
44-
assertEquals(new Date(Long.MAX_VALUE).getTime(), newTrigger.getEndTime().getTime(),
45-
"End time should be Long.MAX_VALUE");
46-
// Verify that the JobKey is carried over
47-
assertEquals(oldTrigger.getJobKey(), newTrigger.getJobKey(), "JobKey should be carried over from old trigger");
48-
// Use ApprovalTests to verify the trigger's key aspects
49-
Approvals.verify(String.format("Trigger Key: %s\nJob Key: %s\nStart Time: %s\nEnd Time: %s",
50-
newTrigger.getKey(), newTrigger.getJobKey(), newTrigger.getStartTime(), newTrigger.getEndTime()));
51-
}
9+
class QuartzUtilsTest {
10+
@Test
11+
void testCreateTrigger() {
12+
// Arrange
13+
SimpleTriggerImpl oldTrigger = new SimpleTriggerImpl();
14+
oldTrigger.setName("oldName");
15+
oldTrigger.setGroup("oldGroup");
16+
oldTrigger.setJobKey(new JobKey("jobName", "jobGroup"));
17+
18+
// Act
19+
Trigger newTrigger = QuartzUtils.createTrigger(oldTrigger, "testTriggerName", "testTriggerGroup");
20+
21+
// Verify
22+
String output = String.format(
23+
"Trigger:\n" +
24+
" Key: %s\n" +
25+
" Job Key: %s\n" +
26+
" Start Time: %s\n" +
27+
" End Time: %s",
28+
newTrigger.getKey(),
29+
newTrigger.getJobKey(),
30+
newTrigger.getStartTime(),
31+
newTrigger.getEndTime()
32+
);
33+
34+
Approvals.verify(output);
35+
}
5236
}

0 commit comments

Comments
 (0)