mirror of
https://github.com/fabioformosa/quartz-manager.git
synced 2025-12-27 04:33:20 +09:00
#62 added missing tests
This commit is contained in:
@@ -128,6 +128,11 @@
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
<version>${jacoco-maven-plugin.version}</version>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>**/OpenApiConfig.class</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
|
||||
@@ -17,7 +17,8 @@ public class SchedulerToSchedulerDTO extends AbstractBaseConverterToDTO<Schedule
|
||||
protected void convert(Scheduler source, SchedulerDTO target) {
|
||||
target.setName(source.getSchedulerName());
|
||||
target.setInstanceId(source.getSchedulerInstanceId());
|
||||
target.setTriggerKeys(source.getTriggerKeys(GroupMatcher.anyTriggerGroup()));
|
||||
if(!source.isShutdown())
|
||||
target.setTriggerKeys(source.getTriggerKeys(GroupMatcher.anyTriggerGroup()));
|
||||
target.setStatus(buildTheSchedulerStatus(source));
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
package it.fabioformosa.quartzmanager.api.services;
|
||||
|
||||
import it.fabioformosa.quartzmanager.api.dto.SchedulerDTO;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.quartz.Scheduler;
|
||||
import org.quartz.SchedulerException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class SchedulerServiceIntegrationTest {
|
||||
|
||||
@Autowired
|
||||
private SchedulerService schedulerService;
|
||||
|
||||
@Autowired
|
||||
private Scheduler scheduler;
|
||||
|
||||
@Test
|
||||
void givenASchedulerService_whenGetSchedulerIsCalled_thenReturnIt() throws SchedulerException {
|
||||
SchedulerDTO schedulerDTO = schedulerService.getScheduler();
|
||||
Assertions.assertThat(schedulerDTO).isNotNull();
|
||||
Assertions.assertThat(schedulerDTO.getName()).isEqualTo(scheduler.getSchedulerName());
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenASchedulerService_whenTheStatusIsChange_thenTheSchedulerReflectsTheSame() throws SchedulerException {
|
||||
Assertions.assertThat(scheduler.isStarted()).isFalse();
|
||||
schedulerService.start();
|
||||
Assertions.assertThat(scheduler.isStarted()).isTrue();
|
||||
|
||||
Assertions.assertThat(scheduler.isInStandbyMode()).isFalse();
|
||||
schedulerService.standby();
|
||||
Assertions.assertThat(scheduler.isInStandbyMode()).isTrue();
|
||||
|
||||
Assertions.assertThat(scheduler.isShutdown()).isFalse();
|
||||
schedulerService.shutdown();
|
||||
Assertions.assertThat(scheduler.isShutdown()).isTrue();
|
||||
|
||||
}
|
||||
|
||||
// @Test
|
||||
// void givenASchedulerService_whenStandByIsCalled_thenTheStandByIsPropagated() throws SchedulerException {
|
||||
// Assertions.assertThat(scheduler.isInStandbyMode()).isTrue();
|
||||
// schedulerService.start();
|
||||
// Assertions.assertThat(scheduler.isInStandbyMode()).isFalse();
|
||||
// schedulerService.standby();
|
||||
// Assertions.assertThat(scheduler.isInStandbyMode()).isTrue();
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void givenASchedulerService_whenShutdownIsCalled_thenTheShutdownIsPropagated() throws SchedulerException {
|
||||
// Assertions.assertThat(scheduler.isShutdown()).isFalse();
|
||||
// schedulerService.start();
|
||||
// schedulerService.shutdown();
|
||||
// Assertions.assertThat(scheduler.isShutdown()).isTrue();
|
||||
// }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package it.fabioformosa.quartzmanager.api.services;
|
||||
|
||||
import it.fabioformosa.quartzmanager.api.dto.SchedulerDTO;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.quartz.Scheduler;
|
||||
import org.quartz.SchedulerException;
|
||||
import org.springframework.core.convert.ConversionService;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.MockitoAnnotations.openMocks;
|
||||
|
||||
class SchedulerServiceTest {
|
||||
|
||||
@InjectMocks
|
||||
private SchedulerService schedulerService;
|
||||
|
||||
@Mock
|
||||
private Scheduler scheduler;
|
||||
|
||||
@Mock
|
||||
private ConversionService conversionService;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
openMocks(this);
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenASchedulerService_whenGetSchedulerIsCalled_thenReturnIt(){
|
||||
Mockito.when(conversionService.convert(any(Scheduler.class), eq(SchedulerDTO.class))).thenReturn(SchedulerDTO.builder()
|
||||
.name("testScheduler")
|
||||
.build());
|
||||
|
||||
SchedulerDTO schedulerDTO = schedulerService.getScheduler();
|
||||
Assertions.assertThat(schedulerDTO).isNotNull();
|
||||
Assertions.assertThat(schedulerDTO.getName()).isEqualTo("testScheduler");
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenASchedulerService_whenStandByIsCalled_thenTheStandByIsPropagated() throws SchedulerException {
|
||||
schedulerService.standby();
|
||||
Mockito.verify(scheduler).standby();
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenASchedulerService_whenShutdownIsCalled_thenTheShutdownIsPropagated() throws SchedulerException {
|
||||
schedulerService.shutdown();
|
||||
Mockito.verify(scheduler).shutdown(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenASchedulerService_whenStarted_thenTheSchedulerIsStarted() throws SchedulerException {
|
||||
schedulerService.start();
|
||||
Mockito.verify(scheduler).start();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user