#62 added missing tests

This commit is contained in:
Fabio Formosa
2022-12-01 00:30:47 +01:00
parent 6d22207e27
commit 5b33bd4dca
4 changed files with 130 additions and 1 deletions

View File

@@ -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>

View File

@@ -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));
}

View File

@@ -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();
// }
}

View File

@@ -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();
}
}