From 85827df7a5d4d2cafe5f74019829b93409f1d69e Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Wed, 4 Sep 2024 13:52:14 +0100 Subject: [PATCH 1/2] fix: solve issue with dataset unit test --- .github/workflows/quality.yml | 16 ++++++++++--- .../datasets/DatasetServiceImpl.java | 24 ++++++++++++------- .../datasets/DatasetServiceImplTest.java | 2 +- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 31e6308f6..8c976d53f 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -19,7 +19,7 @@ jobs: key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Cache Maven packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} @@ -29,8 +29,18 @@ jobs: with: java-version: '21' distribution: 'temurin' - - name: Build, Test and analyze + - name: Run unit tests + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: mvn -B clean test + - name: Run TestContainer + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: mvn -B clean test -Ptest-containers + - name: Run Sonar env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: mvn -B clean test -Ptest-containers verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar + run: mvn -B clean verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar diff --git a/src/main/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImpl.java b/src/main/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImpl.java index 90ab93818..e23e2f32c 100644 --- a/src/main/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImpl.java +++ b/src/main/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImpl.java @@ -188,18 +188,24 @@ public Dataset getDatasetByID(String id) throws RmesException { private void addKeywordsToDataset(String id, JSONObject dataset) throws RmesException { JSONArray keywords = this.repoGestion.getResponseAsArray(DatasetQueries.getKeywords(id, getDatasetsGraph())); + + List lg1 = new ArrayList<>(); List lg2 = new ArrayList<>(); - keywords.forEach((k) -> { - JSONObject keyword = (JSONObject) k; - if(keyword.getString("lang").equalsIgnoreCase(config.getLg1())){ - lg1.add(keyword.getString("keyword")); - } - if(keyword.getString("lang").equalsIgnoreCase(config.getLg2())){ - lg2.add(keyword.getString("keyword")); - } - }); + if(keywords != null){ + keywords.forEach((k) -> { + JSONObject keyword = (JSONObject) k; + if(keyword.getString("lang").equalsIgnoreCase(config.getLg1())){ + lg1.add(keyword.getString("keyword")); + } + if(keyword.getString("lang").equalsIgnoreCase(config.getLg2())){ + lg2.add(keyword.getString("keyword")); + } + }); + } + + JSONObject formattedKeywords = new JSONObject(); formattedKeywords.put("lg1", lg1); formattedKeywords.put("lg2", lg2); diff --git a/src/test/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImplTest.java b/src/test/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImplTest.java index 6b760d57a..14c7bf0c9 100644 --- a/src/test/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImplTest.java +++ b/src/test/java/fr/insee/rmes/bauhaus_services/datasets/DatasetServiceImplTest.java @@ -134,7 +134,7 @@ void shouldReturnDataset() throws RmesException, JSONException, JsonProcessingEx mockedFactory.when(() -> DatasetQueries.getDatasetStatisticalUnits(eq("1"), any())).thenReturn("query-statisticalUnits"); Dataset response = datasetService.getDatasetByID("1"); String responseJson = objectMapper.writeValueAsString(response); - Assertions.assertEquals("{\"creators\":[\"creator-1\"],\"statisticalUnit\":[\"statisticalUnit-1\"],\"spacialResolutions\":[\"spacialResolutions-1\"],\"id\":\"1\",\"themes\":[],\"catalogRecord\":{\"creator\":null,\"contributor\":null,\"created\":null,\"updated\":null}}", responseJson); + Assertions.assertEquals("{\"creators\":[\"creator-1\"],\"keywords\":{\"lg1\":[],\"lg2\":[]},\"statisticalUnit\":[\"statisticalUnit-1\"],\"spacialResolutions\":[\"spacialResolutions-1\"],\"id\":\"1\",\"themes\":[],\"catalogRecord\":{\"creator\":null,\"contributor\":null,\"created\":null,\"updated\":null}}", responseJson); } } From 4d6075a5e088dd3e115dfa3a0c5b9608aebc86d8 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Wed, 4 Sep 2024 13:58:26 +0100 Subject: [PATCH 2/2] fix: remove tokens --- .github/workflows/quality.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 8c976d53f..8998aecd0 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -31,13 +31,9 @@ jobs: distribution: 'temurin' - name: Run unit tests env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: mvn -B clean test - name: Run TestContainer env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: mvn -B clean test -Ptest-containers - name: Run Sonar env: