diff --git a/kates/src/test/java/com/bmscomp/kates/SchedulerOffTestProfile.java b/kates/src/test/java/com/bmscomp/kates/SchedulerOffTestProfile.java new file mode 100644 index 00000000..122b06d0 --- /dev/null +++ b/kates/src/test/java/com/bmscomp/kates/SchedulerOffTestProfile.java @@ -0,0 +1,22 @@ +package com.bmscomp.kates; + +import java.util.Map; + +import io.quarkus.test.junit.QuarkusTestProfile; + +/** + * Turns every {@code @Scheduled} job off, for a test that stubs an + * {@code @InjectMock} bean a job also calls. + * + *

Mockito ties {@code when(mock.call()).thenReturn(...)} to the last call + * made on that mock, from any thread. A job that calls the mock while the + * test stubs it, as the timeout reaper's {@code findByStatus} did, takes the + * stub, and the test fails with {@code WrongTypeOfReturnValue}. + */ +public class SchedulerOffTestProfile implements QuarkusTestProfile { + + @Override + public Map getConfigOverrides() { + return Map.of("quarkus.scheduler.enabled", "false"); + } +} diff --git a/kates/src/test/java/com/bmscomp/kates/api/AdvisorResourceTest.java b/kates/src/test/java/com/bmscomp/kates/api/AdvisorResourceTest.java index 515ea496..1ecf76fc 100644 --- a/kates/src/test/java/com/bmscomp/kates/api/AdvisorResourceTest.java +++ b/kates/src/test/java/com/bmscomp/kates/api/AdvisorResourceTest.java @@ -7,16 +7,19 @@ import io.quarkus.test.InjectMock; import io.quarkus.test.junit.QuarkusTest; +import io.quarkus.test.junit.TestProfile; import io.restassured.RestAssured; import org.junit.jupiter.api.Test; import org.mockito.Mockito; +import com.bmscomp.kates.SchedulerOffTestProfile; import com.bmscomp.kates.domain.TestRun; import com.bmscomp.kates.domain.TestType; import com.bmscomp.kates.service.AdvisorService; import com.bmscomp.kates.service.TestRunRepository; @QuarkusTest +@TestProfile(SchedulerOffTestProfile.class) class AdvisorResourceTest { @InjectMock diff --git a/kates/src/test/java/com/bmscomp/kates/api/TestResourceTest.java b/kates/src/test/java/com/bmscomp/kates/api/TestResourceTest.java index 49412c75..04d0f059 100644 --- a/kates/src/test/java/com/bmscomp/kates/api/TestResourceTest.java +++ b/kates/src/test/java/com/bmscomp/kates/api/TestResourceTest.java @@ -10,6 +10,7 @@ import io.quarkus.test.InjectMock; import io.quarkus.test.junit.QuarkusTest; +import io.quarkus.test.junit.TestProfile; import org.eclipse.microprofile.rest.client.inject.RestClient; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -17,6 +18,7 @@ import org.junit.jupiter.params.provider.EnumSource; import org.mockito.ArgumentCaptor; +import com.bmscomp.kates.SchedulerOffTestProfile; import com.bmscomp.kates.domain.TestResult; import com.bmscomp.kates.domain.TestRun; import com.bmscomp.kates.domain.TestSpec; @@ -28,6 +30,7 @@ import com.bmscomp.kates.trogdor.spec.ProduceBenchSpec; @QuarkusTest +@TestProfile(SchedulerOffTestProfile.class) class TestResourceTest { @InjectMock diff --git a/kates/src/test/java/com/bmscomp/kates/report/ReportResourceTest.java b/kates/src/test/java/com/bmscomp/kates/report/ReportResourceTest.java index f17447f6..9d6c499a 100644 --- a/kates/src/test/java/com/bmscomp/kates/report/ReportResourceTest.java +++ b/kates/src/test/java/com/bmscomp/kates/report/ReportResourceTest.java @@ -8,17 +8,20 @@ import io.quarkus.test.InjectMock; import io.quarkus.test.junit.QuarkusTest; +import io.quarkus.test.junit.TestProfile; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.Test; import org.mockito.Mockito; +import com.bmscomp.kates.SchedulerOffTestProfile; import com.bmscomp.kates.domain.TestResult; import com.bmscomp.kates.domain.TestRun; import com.bmscomp.kates.domain.TestType; import com.bmscomp.kates.service.TestRunRepository; @QuarkusTest +@TestProfile(SchedulerOffTestProfile.class) class ReportResourceTest { @InjectMock diff --git a/kates/src/test/java/com/bmscomp/kates/schedule/ScheduleResourceTest.java b/kates/src/test/java/com/bmscomp/kates/schedule/ScheduleResourceTest.java index 500c25d3..862849ff 100644 --- a/kates/src/test/java/com/bmscomp/kates/schedule/ScheduleResourceTest.java +++ b/kates/src/test/java/com/bmscomp/kates/schedule/ScheduleResourceTest.java @@ -19,6 +19,7 @@ import io.quarkus.test.InjectMock; import io.quarkus.test.junit.QuarkusTest; +import io.quarkus.test.junit.TestProfile; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.eclipse.microprofile.rest.client.inject.RestClient; @@ -33,11 +34,13 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mockito; +import com.bmscomp.kates.SchedulerOffTestProfile; import com.bmscomp.kates.domain.TestType; import com.bmscomp.kates.service.TopicService; import com.bmscomp.kates.trogdor.TrogdorClient; @QuarkusTest +@TestProfile(SchedulerOffTestProfile.class) class ScheduleResourceTest { @InjectMock diff --git a/kates/src/test/java/com/bmscomp/kates/trend/TrendServiceTest.java b/kates/src/test/java/com/bmscomp/kates/trend/TrendServiceTest.java index 81113807..391c180d 100644 --- a/kates/src/test/java/com/bmscomp/kates/trend/TrendServiceTest.java +++ b/kates/src/test/java/com/bmscomp/kates/trend/TrendServiceTest.java @@ -13,11 +13,13 @@ import io.quarkus.test.InjectMock; import io.quarkus.test.junit.QuarkusTest; +import io.quarkus.test.junit.TestProfile; import io.restassured.RestAssured; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.Mockito; +import com.bmscomp.kates.SchedulerOffTestProfile; import com.bmscomp.kates.domain.TestResult; import com.bmscomp.kates.domain.TestRun; import com.bmscomp.kates.domain.TestSpec; @@ -37,6 +39,7 @@ * found it. */ @QuarkusTest +@TestProfile(SchedulerOffTestProfile.class) class TrendServiceTest { private static final String TOPIC = "trend-topic";