From 50390a9c9b6bdbed7b5bb6313e511baf3e9397f4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Nov 2025 08:13:57 +0000 Subject: [PATCH 1/3] fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v4 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5923d53f..259bb292 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.8 + 4.0.0 From b18295951f0fe12382895c56b871fa4ba256769e Mon Sep 17 00:00:00 2001 From: Alice Lambois Date: Mon, 24 Nov 2025 14:52:19 +0100 Subject: [PATCH 2/3] fix: update for springboot 4 --- pom.xml | 12 ++++++++++- .../configuration/LogRequestFilter.java | 3 ++- .../rest/responses/ResponseController.java | 2 +- .../genesis/domain/model/surveyunit/Mode.java | 2 +- .../LunaticModelDefinitions.java | 2 +- .../functional_tests/RawDataDefinitions.java | 4 +++- .../config/CucumberSpringConfiguration.java | 19 ++++++------------ .../controller/rest/ControllerAccessTest.java | 20 +++++-------------- 8 files changed, 30 insertions(+), 34 deletions(-) diff --git a/pom.xml b/pom.xml index 1c72d446..1bc60975 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,6 @@ 2.8.14 1.6.3 7.32.0 - 5.13.4 0.8.14 @@ -74,6 +73,17 @@ spring-security-test test + + org.springframework.boot + spring-boot-resttestclient + test + + + org.springframework.boot + spring-boot-starter-webmvc-test + test + + diff --git a/src/main/java/fr/insee/genesis/configuration/LogRequestFilter.java b/src/main/java/fr/insee/genesis/configuration/LogRequestFilter.java index 3a18fc01..e93edcdb 100644 --- a/src/main/java/fr/insee/genesis/configuration/LogRequestFilter.java +++ b/src/main/java/fr/insee/genesis/configuration/LogRequestFilter.java @@ -32,9 +32,10 @@ public class LogRequestFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + int cacheLimit = -1;//<0 means no limit //Cache request to avoid calling twice the same inputStream - ContentCachingRequestWrapper req = new ContentCachingRequestWrapper(request); + ContentCachingRequestWrapper req = new ContentCachingRequestWrapper(request, cacheLimit); ContentCachingResponseWrapper resp = new ContentCachingResponseWrapper(response); log.info(REQUEST_MESSAGE_FORMAT, diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java index c228535b..cf5f7965 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java @@ -35,10 +35,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; +import org.jspecify.annotations.Nullable; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.lang.Nullable; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.DeleteMapping; diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/Mode.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/Mode.java index cbf45b86..4d18100f 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/Mode.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/Mode.java @@ -2,7 +2,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; -import org.springframework.lang.Nullable; +import org.jspecify.annotations.Nullable; @Getter public enum Mode { diff --git a/src/test/java/cucumber/functional_tests/LunaticModelDefinitions.java b/src/test/java/cucumber/functional_tests/LunaticModelDefinitions.java index efb5916c..462e7849 100644 --- a/src/test/java/cucumber/functional_tests/LunaticModelDefinitions.java +++ b/src/test/java/cucumber/functional_tests/LunaticModelDefinitions.java @@ -26,7 +26,7 @@ import lombok.extern.slf4j.Slf4j; import org.assertj.core.api.Assertions; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.boot.resttestclient.TestRestTemplate; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; diff --git a/src/test/java/cucumber/functional_tests/RawDataDefinitions.java b/src/test/java/cucumber/functional_tests/RawDataDefinitions.java index 137ffd4a..0583211f 100644 --- a/src/test/java/cucumber/functional_tests/RawDataDefinitions.java +++ b/src/test/java/cucumber/functional_tests/RawDataDefinitions.java @@ -29,7 +29,8 @@ import lombok.extern.slf4j.Slf4j; import org.assertj.core.api.Assertions; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.boot.resttestclient.TestRestTemplate; +import org.springframework.boot.resttestclient.autoconfigure.AutoConfigureTestRestTemplate; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -51,6 +52,7 @@ @Slf4j @ContextConfiguration(classes = CucumberSpringConfiguration.class) +@AutoConfigureTestRestTemplate public class RawDataDefinitions { diff --git a/src/test/java/cucumber/functional_tests/config/CucumberSpringConfiguration.java b/src/test/java/cucumber/functional_tests/config/CucumberSpringConfiguration.java index 81c8ef3d..9a2425d3 100644 --- a/src/test/java/cucumber/functional_tests/config/CucumberSpringConfiguration.java +++ b/src/test/java/cucumber/functional_tests/config/CucumberSpringConfiguration.java @@ -1,20 +1,12 @@ package cucumber.functional_tests.config; import fr.insee.genesis.GenesisApi; -import fr.insee.genesis.infrastructure.repository.ContextualExternalVariableMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.ContextualPreviousVariableMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.DataProcessingContextMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.LastJsonExtractionMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.LunaticJsonMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.LunaticModelMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.QuestionnaireMetadataMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.RundeckExecutionDBRepository; -import fr.insee.genesis.infrastructure.repository.SurveyUnitMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.VariableTypeMongoDBRepository; +import fr.insee.genesis.infrastructure.repository.*; import io.cucumber.spring.CucumberContextConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration; -import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; +import org.springframework.boot.data.mongodb.autoconfigure.DataMongoAutoConfiguration; +import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; +import org.springframework.boot.resttestclient.autoconfigure.AutoConfigureTestRestTemplate; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.test.context.ActiveProfiles; @@ -23,7 +15,8 @@ @CucumberContextConfiguration @SpringBootTest(classes = GenesisApi.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ActiveProfiles("test-cucumber") -@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class}) +@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class, DataMongoAutoConfiguration.class}) +@AutoConfigureTestRestTemplate public class CucumberSpringConfiguration { @MockitoBean private MongoTemplate mongoTemplate; diff --git a/src/test/java/fr/insee/genesis/controller/rest/ControllerAccessTest.java b/src/test/java/fr/insee/genesis/controller/rest/ControllerAccessTest.java index 1d29e9fa..bd9d65d8 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/ControllerAccessTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/ControllerAccessTest.java @@ -3,16 +3,7 @@ import fr.insee.genesis.domain.ports.api.DataProcessingContextApiPort; import fr.insee.genesis.domain.ports.api.LunaticJsonRawDataApiPort; import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort; -import fr.insee.genesis.infrastructure.repository.ContextualExternalVariableMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.ContextualPreviousVariableMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.DataProcessingContextMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.LastJsonExtractionMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.LunaticJsonMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.LunaticModelMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.QuestionnaireMetadataMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.RundeckExecutionDBRepository; -import fr.insee.genesis.infrastructure.repository.SurveyUnitMongoDBRepository; -import fr.insee.genesis.infrastructure.repository.VariableTypeMongoDBRepository; +import fr.insee.genesis.infrastructure.repository.*; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -22,10 +13,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration; -import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.data.mongodb.autoconfigure.DataMongoAutoConfiguration; +import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.http.HttpMethod; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -50,11 +41,10 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - @SpringBootTest @AutoConfigureMockMvc @ActiveProfiles("test") -@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class}) +@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class, DataMongoAutoConfiguration.class}) class ControllerAccessTest { // Constants for user roles From 54ad8fece0033f0c9d844fc54618bbac729d579d Mon Sep 17 00:00:00 2001 From: Alexis Szmundy <150004193+alexisszmundy@users.noreply.github.com> Date: Thu, 11 Dec 2025 09:32:13 +0100 Subject: [PATCH 3/3] fix: pom --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6059eb58..5625b6fc 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,6 @@ 2.8.14 1.6.3 7.33.0 - 5.13.4 0.8.14