diff --git a/service/pom.xml b/service/pom.xml index ad025339..a3222692 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -18,7 +18,7 @@ 9000 - 8.2.2 + 8.3.0-SNAPSHOT diff --git a/service/src/main/java/org/folio/rest/workflow/config/FolioSpringLiquibaseConfig.java b/service/src/main/java/org/folio/rest/workflow/config/FolioSpringLiquibaseConfig.java new file mode 100644 index 00000000..d60265c5 --- /dev/null +++ b/service/src/main/java/org/folio/rest/workflow/config/FolioSpringLiquibaseConfig.java @@ -0,0 +1,15 @@ +package org.folio.rest.workflow.config; + +import org.folio.spring.liquibase.FolioSpringLiquibase; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class FolioSpringLiquibaseConfig { + + @Bean + public FolioSpringLiquibase folioSpringLiquibase() { + return new FolioSpringLiquibase(); + } + +} diff --git a/service/src/main/resources/application.yaml b/service/src/main/resources/application.yaml index 9443b2d2..fccec1d3 100644 --- a/service/src/main/resources/application.yaml +++ b/service/src/main/resources/application.yaml @@ -137,20 +137,18 @@ okapi: # https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html management: endpoints: - enabled-by-default: false + access.default: none web: base-path: /admin exposure: include: flyway,health,info endpoint: - flyway: - enabled: true + flyway.access: read-only health: - enabled: true + access: read-only show-details: always show-components: always - info: - enabled: true + info.access: read-only health: defaults: enabled: true diff --git a/service/src/test/java/org/folio/rest/workflow/controller/ActionControllerTest.java b/service/src/test/java/org/folio/rest/workflow/controller/ActionControllerTest.java index f7691561..fb1107bd 100644 --- a/service/src/test/java/org/folio/rest/workflow/controller/ActionControllerTest.java +++ b/service/src/test/java/org/folio/rest/workflow/controller/ActionControllerTest.java @@ -49,9 +49,9 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; @@ -72,10 +72,10 @@ class ActionControllerTest { @Autowired private ActionController actionController; - @MockBean + @MockitoBean private OkapiDiscoveryService okapiDiscoveryService; - @MockBean + @MockitoBean private TenantProperties tenantProperties; @BeforeEach diff --git a/service/src/test/java/org/folio/rest/workflow/controller/EventControllerTest.java b/service/src/test/java/org/folio/rest/workflow/controller/EventControllerTest.java index 798ce236..1c33d9a5 100644 --- a/service/src/test/java/org/folio/rest/workflow/controller/EventControllerTest.java +++ b/service/src/test/java/org/folio/rest/workflow/controller/EventControllerTest.java @@ -30,9 +30,9 @@ import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.mock.web.MockMultipartFile; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -46,16 +46,16 @@ class EventControllerTest { @Autowired private EventController eventController; - @MockBean + @MockitoBean private EventProducer eventProducer; - @MockBean + @MockitoBean private TriggerRepo triggerRepo; @Mock private TriggerDto trigger; - @MockBean + @MockitoBean private TenantProperties tenantProperties; private List triggers; diff --git a/service/src/test/java/org/folio/rest/workflow/controller/WorkflowControllerTest.java b/service/src/test/java/org/folio/rest/workflow/controller/WorkflowControllerTest.java index c703ca58..faec8eb8 100644 --- a/service/src/test/java/org/folio/rest/workflow/controller/WorkflowControllerTest.java +++ b/service/src/test/java/org/folio/rest/workflow/controller/WorkflowControllerTest.java @@ -66,11 +66,11 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.mock.web.MockMultipartFile; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; @@ -161,19 +161,19 @@ class WorkflowControllerTest { @Autowired private WorkflowController workflowController; - @MockBean + @MockitoBean private WorkflowCqlService workflowCqlService; - @MockBean + @MockitoBean private WorkflowEngineService workflowEngineService; - @MockBean + @MockitoBean private WorkflowImportService workflowImportService; - @MockBean + @MockitoBean private WorkflowRepo workflowRepo; - @MockBean + @MockitoBean private TenantProperties tenantProperties; @BeforeEach diff --git a/service/src/test/java/org/folio/rest/workflow/kafka/EventProducerTest.java b/service/src/test/java/org/folio/rest/workflow/kafka/EventProducerTest.java index 04395af2..3239b8a8 100644 --- a/service/src/test/java/org/folio/rest/workflow/kafka/EventProducerTest.java +++ b/service/src/test/java/org/folio/rest/workflow/kafka/EventProducerTest.java @@ -16,8 +16,8 @@ import org.mockito.InjectMocks; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.verification.VerificationMode; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.util.ReflectionTestUtils; @@ -25,7 +25,7 @@ @ExtendWith(MockitoExtension.class) class EventProducerTest { - @MockBean + @MockitoBean private KafkaTemplate eventTemplate; @InjectMocks diff --git a/service/src/test/java/org/folio/rest/workflow/service/OkapiDiscoveryServiceWithDefaultPropertiesTest.java b/service/src/test/java/org/folio/rest/workflow/service/OkapiDiscoveryServiceWithDefaultPropertiesTest.java index 8f71f881..fbead70a 100644 --- a/service/src/test/java/org/folio/rest/workflow/service/OkapiDiscoveryServiceWithDefaultPropertiesTest.java +++ b/service/src/test/java/org/folio/rest/workflow/service/OkapiDiscoveryServiceWithDefaultPropertiesTest.java @@ -18,10 +18,10 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatusCode; import org.springframework.http.ResponseEntity; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; /** @@ -40,7 +40,7 @@ class OkapiDiscoveryServiceWithDefaultPropertiesTest { @InjectMocks protected OkapiDiscoveryService okapiDiscoveryService; - @MockBean + @MockitoBean protected HttpService mockHttpService; @Mock diff --git a/service/src/test/java/org/folio/rest/workflow/service/WorkflowCqlServiceTest.java b/service/src/test/java/org/folio/rest/workflow/service/WorkflowCqlServiceTest.java index cbe5be88..6a54dbba 100644 --- a/service/src/test/java/org/folio/rest/workflow/service/WorkflowCqlServiceTest.java +++ b/service/src/test/java/org/folio/rest/workflow/service/WorkflowCqlServiceTest.java @@ -22,9 +22,11 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.mock.mockito.SpyBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.data.domain.Page; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import org.springframework.test.context.junit.jupiter.SpringExtension; @ExtendWith(SpringExtension.class) @@ -38,16 +40,26 @@ class WorkflowCqlServiceTest { @InjectMocks private WorkflowCqlService workflowCqlService; - @MockBean + @MockitoBean private WorkflowRepo repo; // Work-around to get ObjectMapper to be loaded in AbstractCqlService. - @SpyBean + @MockitoSpyBean protected ObjectMapper mapper; @Mock private Page page; + // Provide a bean for `@MockitoSpyBean` above to work without requiring a full spring boot runner. + @Configuration + static class Config { + + @Bean + ObjectMapper objectMapper() { + return new ObjectMapper(); + } + } + @Test void getTypeNameWorksTest() throws IOException { final String name = workflowCqlService.getTypeName(); diff --git a/service/src/test/java/org/folio/rest/workflow/service/WorkflowImportServiceTest.java b/service/src/test/java/org/folio/rest/workflow/service/WorkflowImportServiceTest.java index a5cf9d8b..1ca91f23 100644 --- a/service/src/test/java/org/folio/rest/workflow/service/WorkflowImportServiceTest.java +++ b/service/src/test/java/org/folio/rest/workflow/service/WorkflowImportServiceTest.java @@ -7,9 +7,8 @@ import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.when; -import java.io.IOException; - import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; import org.apache.commons.compress.archivers.ArchiveException; import org.apache.commons.compress.compressors.CompressorException; import org.folio.rest.workflow.exception.WorkflowImportAlreadyImported; @@ -29,11 +28,11 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.core.io.Resource; import org.springframework.data.domain.Page; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; @SpringBootTest(webEnvironment = WebEnvironment.MOCK) @ExtendWith(MockitoExtension.class) @@ -45,16 +44,16 @@ class WorkflowImportServiceTest { @InjectMocks private WorkflowImportService workflowImportService; - @MockBean + @MockitoBean private NodeRepo nodeRepo; - @MockBean + @MockitoBean private TriggerRepo triggerRepo; - @MockBean + @MockitoBean private WorkflowRepo workflowRepo; - @SpyBean + @MockitoSpyBean private ObjectMapper objectMapper; @Mock diff --git a/service/src/test/resources/application.yaml b/service/src/test/resources/application.yaml index 668e133b..e664d61f 100644 --- a/service/src/test/resources/application.yaml +++ b/service/src/test/resources/application.yaml @@ -134,20 +134,18 @@ okapi: # https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html management: endpoints: - enabled-by-default: false + access.default: none web: base-path: /admin exposure: include: flyway,health,info endpoint: - flyway: - enabled: false + flyway.access: none health: - enabled: false + access: none show-details: always show-components: always - info: - enabled: false + info.access: none health: defaults: enabled: true