From 0d0441a5ab578477445be29129cdac7d1cb4d88e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 28 Nov 2025 09:45:10 +0100 Subject: [PATCH 1/3] feat: for region endpoints : /code, /precedents, /projetes, /precedents --- magma-oas/src/main/resources/openapi-diffusion.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/magma-oas/src/main/resources/openapi-diffusion.yaml b/magma-oas/src/main/resources/openapi-diffusion.yaml index bf41ea5e..6f184a99 100644 --- a/magma-oas/src/main/resources/openapi-diffusion.yaml +++ b/magma-oas/src/main/resources/openapi-diffusion.yaml @@ -7489,7 +7489,7 @@ components: CodeReg: description: 'Code d''une région' - pattern: '^(01|02|03|04|06|11|24|27|28|32|44|52|53|75|76|84|93|94)$' + pattern: '^[0-9]{2}$' type: string xml: attribute: true @@ -7515,7 +7515,7 @@ components: CodeRegPrecProj: description: 'Code d''une région' - pattern: '^(01|02|03|04|06|11|24|27|28|32|44|52|53|75|76|84|93|94)$' + pattern: '^[0-9]{2}$' type: string xml: attribute: true From 28637e4153686efd89f84ac204bb8e44d0716375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 28 Nov 2025 11:22:38 +0100 Subject: [PATCH 2/3] test --- .../queries/GeoRegionQueriesTest.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java index b423cbfb..cc854255 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java @@ -51,6 +51,25 @@ void should_return_region06_when_regionCode06_date20250904() { ); } +// geo/region/82?date=1990-01-01 (region 82 does not exist anymore in 2025) +@Test +void should_return_region82_when_regionCode82_date19900101() { + var response = endpoints.getcogreg("82", LocalDate.of(1990, 1, 1)); + var result = response.getBody(); + assertNotNull(result); + assertAll( + () -> assertEquals("82", result.getCode()), + () -> assertEquals("http://id.insee.fr/geo/region/b332a45b-1a2d-4012-912b-c7b494e51be0", result.getUri()), + () -> assertEquals(Region.TypeEnum.REGION, result.getType()), + () -> assertEquals(LocalDate.of(1982,3,2), result.getDateCreation()), + () -> assertEquals(LocalDate.of(2016,1,1), result.getDateSuppression()), + () -> assertEquals("Rhône-Alpes", result.getIntituleSansArticle()), + () -> assertEquals(Region.TypeArticleEnum._0, result.getTypeArticle()), + () -> assertEquals("69123", result.getChefLieu()), + () -> assertEquals("Rhône-Alpes", result.getIntitule()) + ); +} + ///////////////////////////////////////////////////////////////////// /// geo/region/{code}/descendants /// From 581306f674bfba4a665805fc7a7b1beb5f83306e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Mon, 1 Dec 2025 15:01:10 +0100 Subject: [PATCH 3/3] test: for region end-points --- .../queries/GeoRegionQueriesTest.java | 55 ++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java index cc854255..b772a14a 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java @@ -114,6 +114,14 @@ void should_return_1_cantonOuVIlle_when_RegionCodeDescendants_code06_date2025090 ); } + // geo/region/82/descendants?date=2025-09-04 + @Test + void should_return_404_when_RegionCodeDescendants_code82_date20250904() throws Exception{ + mockMvc.perform(get("/geo/region/82/descendants") + .param("date", "2025-09-04")) + .andExpect(status().isNotFound()); + } + ///////////////////////////////////////////////////////////////////// /// geo/regions /// ///////////////////////////////////////////////////////////////////// @@ -184,7 +192,7 @@ void should_return_2_regions_when_RegionsCodePrecedents_date20250904(){ ); } - // geo/region/44/precedents?date=201-01-01 + // geo/region/44/precedents?date=2010-01-01 @Test void should_return_404_when_RegionCodePrecedents_code44_date20100101() throws Exception{ mockMvc.perform(get("/geo/region/44/precedents") @@ -192,6 +200,14 @@ void should_return_404_when_RegionCodePrecedents_code44_date20100101() throws Ex .andExpect(status().isNotFound()); } + // geo/region/82/precedents?date=2025-09-04 (region 82 does not in exist in 2025) + @Test + void should_return_404_when_RegionCodePrecedents_code82_date20250904() throws Exception{ + mockMvc.perform(get("/geo/region/82/precedents") + .param("date", "2025-01-01")) + .andExpect(status().isNotFound()); + } + ///////////////////////////////////////////////////////// /// geo/region/{code}/projetes /// ///////////////////////////////////////////////////////// @@ -234,6 +250,26 @@ void should_return_5_regions_when_RegionsCodeProjetes_date20250904_dateProjectio ); } + // geo/region/82?date=1990-01-01&dateProjection=2000-01-01 + @Test + void should_return_1_region_when_RegionsCodeProjetes_date19900101_dateProjection20000101(){ + var response = endpoints.getcogregproj("82", LocalDate.of(1990, 1, 1), LocalDate.of(2000,1,1)); + var result = response.getBody(); + assertNotNull(result); + var resultItem1= result.getFirst(); + assertAll( + () -> assertEquals(1, result.size()), + () -> assertEquals("82", resultItem1.getCode()), + () -> assertEquals("http://id.insee.fr/geo/region/b332a45b-1a2d-4012-912b-c7b494e51be0", resultItem1.getUri()), + () -> assertEquals(TerritoireTousAttributs.TypeEnum.REGION, resultItem1.getType()), + () -> assertEquals(LocalDate.of(1982,3,2), resultItem1.getDateCreation()), + () -> assertEquals(LocalDate.of(2016,1,1), resultItem1.getDateSuppression()), + () -> assertEquals("Rhône-Alpes", resultItem1.getIntituleSansArticle()), + () -> assertEquals(TerritoireTousAttributs.TypeArticleEnum._0, resultItem1.getTypeArticle()), + () -> assertEquals("69123", resultItem1.getChefLieu()), + () -> assertEquals("Rhône-Alpes", resultItem1.getIntitule()) + ); + } ///////////////////////////////////////////////////////// /// geo/region/{code}/suivants /// @@ -266,5 +302,22 @@ void should_return_1_region_when_RegionCodeSuivants_code41_date20000101(){ assertEquals("Alsace-Champagne-Ardenne-Lorraine", resultItem1.getIntitule()); } + // geo/region/82/suivants?date=2000-01-01 (region 82 does not exist in 2025) + @Test + void should_return_1_region_when_RegionCodeSuivants_code82_date20000101(){ + var response = endpoints.getcogregsuiv("82", LocalDate.of(2000,1,1)); + var result = response.getBody(); + assertNotNull(result); + var resultItem1= result.getFirst(); + assertEquals(1, result.size()); + assertEquals("84", resultItem1.getCode()); + assertEquals("http://id.insee.fr/geo/region/c12b23e7-d2e7-4443-ac4b-de8de5ce22f2", resultItem1.getUri()); + assertEquals(TerritoireTousAttributs.TypeEnum.REGION, resultItem1.getType()); + assertEquals(LocalDate.of(2016,1,1), resultItem1.getDateCreation()); + assertEquals("Auvergne-Rhône-Alpes", resultItem1.getIntituleSansArticle()); + assertEquals(TerritoireTousAttributs.TypeArticleEnum._1, resultItem1.getTypeArticle()); + assertEquals("69123", resultItem1.getChefLieu()); + assertEquals("Auvergne-Rhône-Alpes", resultItem1.getIntitule()); + } }