Skip to content

Commit 5b33bd4

Browse files
committed
#62 added missing tests
1 parent 6d22207 commit 5b33bd4

File tree

4 files changed

+130
-1
lines changed

4 files changed

+130
-1
lines changed

quartz-manager-parent/pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,11 @@
128128
<groupId>org.jacoco</groupId>
129129
<artifactId>jacoco-maven-plugin</artifactId>
130130
<version>${jacoco-maven-plugin.version}</version>
131+
<configuration>
132+
<excludes>
133+
<exclude>**/OpenApiConfig.class</exclude>
134+
</excludes>
135+
</configuration>
131136
<executions>
132137
<execution>
133138
<goals>

quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/converters/SchedulerToSchedulerDTO.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public class SchedulerToSchedulerDTO extends AbstractBaseConverterToDTO<Schedule
1717
protected void convert(Scheduler source, SchedulerDTO target) {
1818
target.setName(source.getSchedulerName());
1919
target.setInstanceId(source.getSchedulerInstanceId());
20-
target.setTriggerKeys(source.getTriggerKeys(GroupMatcher.anyTriggerGroup()));
20+
if(!source.isShutdown())
21+
target.setTriggerKeys(source.getTriggerKeys(GroupMatcher.anyTriggerGroup()));
2122
target.setStatus(buildTheSchedulerStatus(source));
2223
}
2324

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package it.fabioformosa.quartzmanager.api.services;
2+
3+
import it.fabioformosa.quartzmanager.api.dto.SchedulerDTO;
4+
import org.assertj.core.api.Assertions;
5+
import org.junit.jupiter.api.Test;
6+
import org.quartz.Scheduler;
7+
import org.quartz.SchedulerException;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.boot.test.context.SpringBootTest;
10+
11+
@SpringBootTest
12+
class SchedulerServiceIntegrationTest {
13+
14+
@Autowired
15+
private SchedulerService schedulerService;
16+
17+
@Autowired
18+
private Scheduler scheduler;
19+
20+
@Test
21+
void givenASchedulerService_whenGetSchedulerIsCalled_thenReturnIt() throws SchedulerException {
22+
SchedulerDTO schedulerDTO = schedulerService.getScheduler();
23+
Assertions.assertThat(schedulerDTO).isNotNull();
24+
Assertions.assertThat(schedulerDTO.getName()).isEqualTo(scheduler.getSchedulerName());
25+
}
26+
27+
@Test
28+
void givenASchedulerService_whenTheStatusIsChange_thenTheSchedulerReflectsTheSame() throws SchedulerException {
29+
Assertions.assertThat(scheduler.isStarted()).isFalse();
30+
schedulerService.start();
31+
Assertions.assertThat(scheduler.isStarted()).isTrue();
32+
33+
Assertions.assertThat(scheduler.isInStandbyMode()).isFalse();
34+
schedulerService.standby();
35+
Assertions.assertThat(scheduler.isInStandbyMode()).isTrue();
36+
37+
Assertions.assertThat(scheduler.isShutdown()).isFalse();
38+
schedulerService.shutdown();
39+
Assertions.assertThat(scheduler.isShutdown()).isTrue();
40+
41+
}
42+
43+
// @Test
44+
// void givenASchedulerService_whenStandByIsCalled_thenTheStandByIsPropagated() throws SchedulerException {
45+
// Assertions.assertThat(scheduler.isInStandbyMode()).isTrue();
46+
// schedulerService.start();
47+
// Assertions.assertThat(scheduler.isInStandbyMode()).isFalse();
48+
// schedulerService.standby();
49+
// Assertions.assertThat(scheduler.isInStandbyMode()).isTrue();
50+
// }
51+
//
52+
// @Test
53+
// void givenASchedulerService_whenShutdownIsCalled_thenTheShutdownIsPropagated() throws SchedulerException {
54+
// Assertions.assertThat(scheduler.isShutdown()).isFalse();
55+
// schedulerService.start();
56+
// schedulerService.shutdown();
57+
// Assertions.assertThat(scheduler.isShutdown()).isTrue();
58+
// }
59+
60+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package it.fabioformosa.quartzmanager.api.services;
2+
3+
import it.fabioformosa.quartzmanager.api.dto.SchedulerDTO;
4+
import org.assertj.core.api.Assertions;
5+
import org.junit.jupiter.api.BeforeEach;
6+
import org.junit.jupiter.api.Test;
7+
import org.mockito.InjectMocks;
8+
import org.mockito.Mock;
9+
import org.mockito.Mockito;
10+
import org.quartz.Scheduler;
11+
import org.quartz.SchedulerException;
12+
import org.springframework.core.convert.ConversionService;
13+
14+
import static org.mockito.ArgumentMatchers.any;
15+
import static org.mockito.ArgumentMatchers.eq;
16+
import static org.mockito.MockitoAnnotations.openMocks;
17+
18+
class SchedulerServiceTest {
19+
20+
@InjectMocks
21+
private SchedulerService schedulerService;
22+
23+
@Mock
24+
private Scheduler scheduler;
25+
26+
@Mock
27+
private ConversionService conversionService;
28+
29+
@BeforeEach
30+
void setUp() {
31+
openMocks(this);
32+
}
33+
34+
@Test
35+
void givenASchedulerService_whenGetSchedulerIsCalled_thenReturnIt(){
36+
Mockito.when(conversionService.convert(any(Scheduler.class), eq(SchedulerDTO.class))).thenReturn(SchedulerDTO.builder()
37+
.name("testScheduler")
38+
.build());
39+
40+
SchedulerDTO schedulerDTO = schedulerService.getScheduler();
41+
Assertions.assertThat(schedulerDTO).isNotNull();
42+
Assertions.assertThat(schedulerDTO.getName()).isEqualTo("testScheduler");
43+
}
44+
45+
@Test
46+
void givenASchedulerService_whenStandByIsCalled_thenTheStandByIsPropagated() throws SchedulerException {
47+
schedulerService.standby();
48+
Mockito.verify(scheduler).standby();
49+
}
50+
51+
@Test
52+
void givenASchedulerService_whenShutdownIsCalled_thenTheShutdownIsPropagated() throws SchedulerException {
53+
schedulerService.shutdown();
54+
Mockito.verify(scheduler).shutdown(true);
55+
}
56+
57+
@Test
58+
void givenASchedulerService_whenStarted_thenTheSchedulerIsStarted() throws SchedulerException {
59+
schedulerService.start();
60+
Mockito.verify(scheduler).start();
61+
}
62+
63+
}

0 commit comments

Comments
 (0)