Skip to content

MODWRKFLOW-46: Make compatible with spring-boot 3.4 upgrades. #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

<properties>
<openapi.server.port>9000</openapi.server.port>
<folio-spring.version>8.2.2</folio-spring.version>
<folio-spring.version>8.3.0-SNAPSHOT</folio-spring.version>
</properties>

<dependencies>
Expand Down
Original file line number Diff line number Diff line change
@@ -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();
}

}
10 changes: 4 additions & 6 deletions service/src/main/resources/application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -72,10 +72,10 @@ class ActionControllerTest {
@Autowired
private ActionController actionController;

@MockBean
@MockitoBean
private OkapiDiscoveryService okapiDiscoveryService;

@MockBean
@MockitoBean
private TenantProperties tenantProperties;

@BeforeEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<TriggerDto> triggers;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@
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;

@ExtendWith(SpringExtension.class)
@ExtendWith(MockitoExtension.class)
class EventProducerTest {

@MockBean
@MockitoBean
private KafkaTemplate<String, Event> eventTemplate;

@InjectMocks
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
Expand All @@ -40,7 +40,7 @@ class OkapiDiscoveryServiceWithDefaultPropertiesTest {
@InjectMocks
protected OkapiDiscoveryService okapiDiscoveryService;

@MockBean
@MockitoBean
protected HttpService mockHttpService;

@Mock
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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<Workflow> 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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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)
Expand All @@ -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
Expand Down
10 changes: 4 additions & 6 deletions service/src/test/resources/application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down