From 72cdfc19f9e3e9017e34623ac68c946bb629853c Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Fri, 16 May 2025 19:12:16 +0200
Subject: [PATCH] WIP

Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at>
---
 .gitlab-ci.yml                                | 29 +++++++++++--------
 dbrepo-data-service/pom.xml                   | 10 ++-----
 dbrepo-data-service/report/pom.xml            |  5 ----
 dbrepo-data-service/rest-service/pom.xml      | 12 --------
 .../ifs/dbrepo/config/MariadbConfigTest.java  |  9 +++---
 dbrepo-data-service/services/pom.xml          |  2 +-
 .../dbrepo/service/impl/DataConnector.java    |  2 --
 dbrepo-metadata-service/pom.xml               |  8 +----
 dbrepo-metadata-service/report/pom.xml        |  5 ++++
 .../impl/DataCiteIdentifierServiceImpl.java   | 14 +++++----
 .../service/impl/IdentifierServiceImpl.java   |  3 +-
 .../tuwien/ifs/dbrepo/core/test/BaseTest.java |  1 +
 sonar-project.properties                      | 12 ++++----
 13 files changed, 48 insertions(+), 64 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dd4b98d03a..e1dcf30bf1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -180,7 +180,7 @@ build-analyse-service:
     PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
   script:
     - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+    - "pipenv install --dev --system --deploy"
 
 build-python-lib:
   image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
@@ -192,7 +192,7 @@ build-python-lib:
     PIPENV_PIPFILE: "./lib/python/Pipfile"
   script:
     - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+    - "pipenv install --dev --system --deploy"
 
 build-java-lib:
   image: maven:3-openjdk-${JAVA_VERSION}
@@ -355,7 +355,7 @@ test-analyse-service:
     - build-analyse-service
   before_script:
     - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+    - "pipenv install --dev --system --deploy"
     - "mkdir -p /var/log/app/service/analyse"
   script:
     - cd ./dbrepo-analyse-service/ && coverage run --rcfile=.coveragerc -m pytest tests/test_determine_dt.py tests/test_determine_pk.py && coverage html && coverage xml && coverage report > ./coverage.txt
@@ -382,7 +382,7 @@ test-auth-service-init:
   before_script:
     - "apk add --no-cache alpine-sdk gcc python3-dev mariadb-connector-c-dev"
     - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+    - "pipenv install --dev --system --deploy"
   script:
     - cd ./dbrepo-auth-service/init/ && coverage run --rcfile=.coveragerc -m pytest tests/test_unit_app.py && coverage html && coverage xml && coverage report > ./coverage.txt
     - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
@@ -410,7 +410,7 @@ test-search-service:
     - build-search-service
   before_script:
     - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+    - "pipenv install --dev --system --deploy"
     - "mkdir -p /var/log/app/service/search"
   script:
     - cd ./dbrepo-search-service/ && coverage run --rcfile=.coveragerc -m pytest tests/test_app.py && coverage html && coverage xml && coverage report > ./coverage.txt
@@ -440,7 +440,7 @@ test-dashboard-service:
     - build-dashboard-service
   before_script:
     - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+    - "pipenv install --dev --system --deploy"
     - "mkdir -p /var/log/app/service/dashboard"
   script:
     - cd ./dbrepo-dashboard-service/ && coverage run --rcfile=.coveragerc -m pytest tests/test_integration_app.py && coverage html && coverage xml && coverage report > ./coverage.txt
@@ -470,7 +470,7 @@ test-python-lib:
     - build-python-lib
   script:
     - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+    - "pipenv install --dev --system --deploy"
     - cd ./lib/python/ && coverage run --rcfile=.coveragerc -m pytest tests/test_unit_container.py tests/test_unit_messages.py tests/test_unit_image.py tests/test_unit_concept.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py tests/test_unit_unit.py && coverage html && coverage xml && coverage report > ./coverage.txt
     - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
   artifacts:
@@ -679,14 +679,19 @@ scan-sonarqube:
   only:
     - master
   needs:
-    - build-data-service
-    - build-java-lib
+    - test-analyse-service
+    - test-dashboard-service
+    - test-data-service
+    - test-metadata-service
+    - test-search-service
   dependencies:
-    - build-data-service
-    - build-java-lib
+    - test-analyse-service
+    - test-dashboard-service
+    - test-data-service
+    - test-metadata-service
+    - test-search-service
   script:
     - 'sonar-scanner -Dsonar.token="${CI_SONAR_TOKEN}"'
-  allow_failure: true
   cache:
     policy: pull
     key: "${CI_COMMIT_SHORT_SHA}"
diff --git a/dbrepo-data-service/pom.xml b/dbrepo-data-service/pom.xml
index 948ef79672..111eb228e9 100644
--- a/dbrepo-data-service/pom.xml
+++ b/dbrepo-data-service/pom.xml
@@ -13,13 +13,13 @@
         <url>https://www.tuwien.ac.at</url>
     </organization>
 
+    <name>data-service</name>
+    <description>Service that manages the data</description>
+
     <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
     <artifactId>data-service</artifactId>
-    <name>data-service</name>
     <version>1.8.2</version>
 
-    <description>Service that manages the data</description>
-
     <packaging>pom</packaging>
     <modules>
         <module>querystore</module>
@@ -66,9 +66,6 @@
         <!-- see https://github.com/apache/spark/blob/cde8e4a82e20a363861f451ebd5138efb3194ab8/pom.xml -->
         <hadoop.version>3.4.0</hadoop.version>
         <jakarta-servlet.version>5.0.0</jakarta-servlet.version>
-        <sonar.coverage.jacoco.xmlReportPaths>
-            ./report/target/site/jacoco-aggregate/jacoco.xml
-        </sonar.coverage.jacoco.xmlReportPaths>
         <CodeCacheSize>128m</CodeCacheSize>
         <extraJavaTestArgs>
             -XX:+IgnoreUnrecognizedVMOptions
@@ -300,7 +297,6 @@
                 <filtering>true</filtering>
                 <includes>
                     <include>**/application*.yml</include>
-                    <include>**/jars/*.jar</include>
                 </includes>
             </resource>
         </resources>
diff --git a/dbrepo-data-service/report/pom.xml b/dbrepo-data-service/report/pom.xml
index 97bdf9f50c..1e1b37f880 100644
--- a/dbrepo-data-service/report/pom.xml
+++ b/dbrepo-data-service/report/pom.xml
@@ -13,11 +13,6 @@
     <artifactId>report</artifactId>
     <version>1.8.2</version>
 
-    <description>
-        This module is only intended for the pipeline coverage report. See the detailed report in the
-        respective modules
-    </description>
-
     <dependencies>
         <dependency>
             <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
diff --git a/dbrepo-data-service/rest-service/pom.xml b/dbrepo-data-service/rest-service/pom.xml
index 5386a2bc5e..10f18524c4 100644
--- a/dbrepo-data-service/rest-service/pom.xml
+++ b/dbrepo-data-service/rest-service/pom.xml
@@ -21,10 +21,6 @@
         </dependency>
     </dependencies>
 
-    <properties>
-        <jacoco.version>0.8.7</jacoco.version>
-    </properties>
-
     <build>
         <plugins>
             <plugin>
@@ -38,14 +34,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>9</source>
-                    <target>9</target>
-                </configuration>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java
index eee4b27b44..c1ebee8e11 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java
@@ -1,13 +1,11 @@
 package at.ac.tuwien.ifs.dbrepo.config;
 
-import at.ac.tuwien.ifs.dbrepo.service.DatabaseService;
 import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.testcontainers.containers.MariaDBContainer;
@@ -18,6 +16,7 @@ import java.sql.SQLException;
 import java.sql.SQLTimeoutException;
 
 import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @Log4j2
 @SpringBootTest
@@ -25,18 +24,17 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 @Testcontainers
 public class MariadbConfigTest extends BaseTest {
 
-    @Autowired
-    private DatabaseService databaseService;
-
     @Container
     private static MariaDBContainer<?> mariaDBContainer = MariaDbContainerConfig.getContainer();
 
     @BeforeAll
+    @SuppressWarnings("java:S2925")
     public static void beforeAll() throws InterruptedException {
         Thread.sleep(1000) /* wait for test container some more */;
     }
 
     @BeforeEach
+    @SuppressWarnings("java:S2925")
     public void beforeEach() throws SQLException, InterruptedException {
         /* metadata database */
         MariaDbConfig.dropDatabase(CONTAINER_1_PRIVILEGED_DTO, DATABASE_1_INTERNAL_NAME);
@@ -49,6 +47,7 @@ public class MariadbConfigTest extends BaseTest {
 
         /* test */
         MariaDbConfig.execute(DATABASE_1_PRIVILEGED_DTO, "SELECT SLEEP(8);"); // -2
+        assertTrue(true);
     }
 
     @Test
diff --git a/dbrepo-data-service/services/pom.xml b/dbrepo-data-service/services/pom.xml
index 99f93df1fa..45586a2526 100644
--- a/dbrepo-data-service/services/pom.xml
+++ b/dbrepo-data-service/services/pom.xml
@@ -47,4 +47,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java
index 1100b0e7b9..ed9fcfe7cd 100644
--- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java
+++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java
@@ -26,8 +26,6 @@ public abstract class DataConnector {
         dataSource.setAcquireIncrement(5);
         dataSource.setMaxPoolSize(20);
         dataSource.setMaxStatements(100);
-        log.trace("mapped datasource, jdbcUrl={}, user={}, password={}", getJdbcUrl(container, databaseName),
-                container.getUsername(), container.getPassword());
         return dataSource;
     }
 
diff --git a/dbrepo-metadata-service/pom.xml b/dbrepo-metadata-service/pom.xml
index 2567b704b2..5f6269fc33 100644
--- a/dbrepo-metadata-service/pom.xml
+++ b/dbrepo-metadata-service/pom.xml
@@ -24,8 +24,8 @@
     <modules>
         <module>oai</module>
         <module>repositories</module>
-        <module>services</module>
         <module>rest-service</module>
+        <module>services</module>
         <module>report</module>
     </modules>
 
@@ -58,9 +58,6 @@
         <aws-s3.version>2.25.23</aws-s3.version>
         <jackson.version>2.15.2</jackson.version>
         <minio.version>8.5.7</minio.version>
-        <sonar.coverage.jacoco.xmlReportPaths>
-            ./report/target/site/jacoco-aggregate/jacoco.xml
-        </sonar.coverage.jacoco.xmlReportPaths>
         <CodeCacheSize>128m</CodeCacheSize>
         <extraJavaTestArgs></extraJavaTestArgs>
     </properties>
@@ -280,9 +277,6 @@
         <repository>
             <id>dbrepo-maven-repo</id>
             <url>file:///${project.basedir}/lib</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
             <snapshots>
                 <enabled>true</enabled>
             </snapshots>
diff --git a/dbrepo-metadata-service/report/pom.xml b/dbrepo-metadata-service/report/pom.xml
index ffbe87d0cc..5b69d28ea9 100644
--- a/dbrepo-metadata-service/report/pom.xml
+++ b/dbrepo-metadata-service/report/pom.xml
@@ -14,6 +14,11 @@
     <version>1.8.2</version>
 
     <dependencies>
+        <dependency>
+            <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+            <artifactId>rest-service</artifactId>
+            <version>1.8.2</version>
+        </dependency>
         <dependency>
             <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
             <artifactId>services</artifactId>
diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java
index e5bf8efa9b..0ce9c93a54 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java
@@ -48,6 +48,8 @@ public class DataCiteIdentifierServiceImpl implements IdentifierService {
     private final IdentifierService identifierService;
     private final IdentifierRepository identifierRepository;
 
+    private static final String LOG_MINT_FAILED = "Failed to mint doi";
+
     private final ParameterizedTypeReference<DataCiteBody<DataCiteDoi>> dataCiteBodyParameterizedTypeReference = new ParameterizedTypeReference<>() {
     };
 
@@ -152,8 +154,8 @@ public class DataCiteIdentifierServiceImpl implements IdentifierService {
             final ResponseEntity<DataCiteBody<DataCiteDoi>> response = restTemplate.exchange(url, HttpMethod.POST,
                     request, dataCiteBodyParameterizedTypeReference);
             if (response.getStatusCode() != HttpStatus.CREATED || response.getBody() == null) {
-                log.error("Failed to mint doi: {}", response);
-                throw new ExternalServiceException("Failed to mint doi: " + response.getBody());
+                log.error(LOG_MINT_FAILED + ": {}", response);
+                throw new ExternalServiceException(LOG_MINT_FAILED + ": " + response.getBody());
             }
             final String doi = response.getBody()
                     .getData()
@@ -166,16 +168,16 @@ public class DataCiteIdentifierServiceImpl implements IdentifierService {
             return doi;
         } catch (HttpClientErrorException e) {
             log.atError()
-                    .setMessage("Failed to mint doi")
+                    .setMessage(LOG_MINT_FAILED)
                     .setCause(e)
                     .log();
-            throw new MalformedException("Failed to mint doi: " + e.getMessage(), e);
+            throw new MalformedException(LOG_MINT_FAILED + ": " + e.getMessage(), e);
         } catch (RestClientException e) {
             log.atError()
-                    .setMessage("Failed to mint doi")
+                    .setMessage(LOG_MINT_FAILED)
                     .setCause(e)
                     .log();
-            throw new DataServiceConnectionException("Failed to mint doi: " + e.getMessage(), e);
+            throw new DataServiceConnectionException(LOG_MINT_FAILED + ": " + e.getMessage(), e);
         }
     }
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java
index c04d388f8c..d32e2c75b9 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java
@@ -334,8 +334,7 @@ public class IdentifierServiceImpl implements IdentifierService {
         /* map */
         final String body = templateEngine.process("record_oai_datacite.xml", context)
                 .replaceAll("\\s+", " ");
-        final InputStreamResource resource = new InputStreamResource(IOUtils.toInputStream(body, Charset.defaultCharset()));
-        return resource;
+        return new InputStreamResource(IOUtils.toInputStream(body, Charset.defaultCharset()));
     }
 
     @Override
diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/test/BaseTest.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/test/BaseTest.java
index 78269ab308..e5437b5cd9 100644
--- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/test/BaseTest.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/test/BaseTest.java
@@ -262,6 +262,7 @@ public class BaseTest {
             .type(AccessTypeDto.WRITE_ALL)
             .build();
 
+    @SuppressWarnings("java:S6418")
     public final static String TOKEN_ACCESS_TOKEN = "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0Mk9DZUNoZUo5dXdvQmJOUWpHX25ONldLaUxjY2VUSUFabWlUYkdPREZNIn0.eyJleHAiOjE3NDQxMTI1MzksImlhdCI6MTc0NDExMTYzOSwiYXV0aF90aW1lIjoxNzQ0MDkzNTMwLCJqdGkiOiI2MWNlODZjNi1kOTYzLTQxOTUtODE2NS00MTdiNDBkZjNhMmUiLCJpc3MiOiJodHRwczovL2RicmVwbzEuZWMudHV3aWVuLmFjLmF0L3JlYWxtcy9kYnJlcG8iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiN2JkMWE2MDEtZjYyOS00MjA3LWEyMDEtNTY3MDRiYzI5ZTVlIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZGJyZXBvLWNsaWVudCIsInNpZCI6ImQ5Y2FjN2NiLTc2OTctNGM3OS1iODRhLWViN2ViYzgzNDFhZCIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJkZWxldGUtZGF0YWJhc2UtdmlldyIsImV4cG9ydC1xdWVyeS1kYXRhIiwiZXhlY3V0ZS1xdWVyeSIsImRlZmF1bHQtdXNlci1oYW5kbGluZyIsImRlbGV0ZS10YWJsZS1kYXRhIiwiZmluZC1xdWVyeSIsImxpc3QtZGF0YWJhc2Utdmlld3MiLCJwZXJzaXN0LXF1ZXJ5IiwiZGVsZXRlLWRhdGFiYXNlLWFjY2VzcyIsInZpZXctdGFibGUtaGlzdG9yeSIsIm1vZGlmeS11c2VyLXRoZW1lIiwibW9kaWZ5LXZpZXctdmlzaWJpbGl0eSIsImNyZWF0ZS1zZW1hbnRpYy1jb25jZXB0IiwiZGVmYXVsdC1jb250YWluZXItaGFuZGxpbmciLCJjcmVhdGUtdGFibGUiLCJkZWZhdWx0LWJyb2tlci1oYW5kbGluZyIsImV4ZWN1dGUtc2VtYW50aWMtcXVlcnkiLCJ0YWJsZS1zZW1hbnRpYy1hbmFseXNlIiwiY2hlY2stZGF0YWJhc2UtYWNjZXNzIiwiZGVmYXVsdC12aWV3LWhhbmRsaW5nIiwiZGVsZXRlLWlkZW50aWZpZXIiLCJtb2RpZnktZGF0YWJhc2Utb3duZXIiLCJsaXN0LXRhYmxlcyIsImV4cG9ydC10YWJsZS1kYXRhIiwiY3JlYXRlLWRhdGFiYXNlLWFjY2VzcyIsInJlLWV4ZWN1dGUtcXVlcnkiLCJjcmVhdGUtc2VtYW50aWMtdW5pdCIsInVwZGF0ZS10YWJsZS1zdGF0aXN0aWMiLCJkZWZhdWx0LWRhdGFiYXNlLWhhbmRsaW5nIiwiZmluZC1kYXRhYmFzZSIsImZpbmQtZGF0YWJhc2UtdmlldyIsImltcG9ydC1kYXRhYmFzZS1kYXRhIiwicHVibGlzaC1pZGVudGlmaWVyIiwidXBkYXRlLWRhdGFiYXNlLXZpZXciLCJkZWZhdWx0LXJvbGVzLWRicmVwbyIsImNyZWF0ZS1kYXRhYmFzZSIsImRlZmF1bHQtcmVzZWFyY2hlci1yb2xlcyIsImRlZmF1bHQtaWRlbnRpZmllci1oYW5kbGluZyIsIm1vZGlmeS11c2VyLWluZm9ybWF0aW9uIiwiY3JlYXRlLWRhdGFiYXNlLXZpZXciLCJmaW5kLWNvbnRhaW5lciIsImluc2VydC10YWJsZS1kYXRhIiwidXBkYXRlLXRhYmxlIiwibW9kaWZ5LWRhdGFiYXNlLWltYWdlIiwibW9kaWZ5LXRhYmxlLWNvbHVtbi1zZW1hbnRpY3MiLCJkZWZhdWx0LXNlbWFudGljcy1oYW5kbGluZyIsInVwZGF0ZS1kYXRhYmFzZS1hY2Nlc3MiLCJkZWZhdWx0LXF1ZXJ5LWhhbmRsaW5nIiwiZmluZC10YWJsZSIsImxpc3QtcXVlcmllcyIsImNyZWF0ZS1pZGVudGlmaWVyIiwiZmluZC1pZGVudGlmaWVyIiwidmlldy10YWJsZS1kYXRhIiwiZGVmYXVsdC1zdG9yYWdlLXJvbGVzIiwiZGVmYXVsdC10YWJsZS1oYW5kbGluZyIsImxpc3QtaWRlbnRpZmllcnMiLCJsaXN0LWRhdGFiYXNlcyIsIm1vZGlmeS1kYXRhYmFzZS12aXNpYmlsaXR5IiwidXBsb2FkLWZpbGUiLCJkZWxldGUtdGFibGUiXX0sInNjb3BlIjoib3BlbmlkIiwidWlkIjoiNmY1YTc0MzQtYTQwOS0xMDNmLTk2NmItMTFiNjU4OGRkOTEzIiwiaWRlbnRpdHlfcHJvdmlkZXIiOiJzYW1sIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiMjg3NzIyIiwiZ2l2ZW5fbmFtZSI6Ik1hcnRpbiIsImZhbWlseV9uYW1lIjoiV2Vpc2UifQ.Nfp0MIKuqjrEZqQXjPNRU2MuYyIJXhQVjdg7XY5_oqkYIngCoQ0y3ioBhMGT2XHd8kufk7FEP6Kme9Ihvm1Qx6rAejcSLaA6xnhQDrX6SGGQ9Kfm_9Ewv6IHoX--Yt3aKLu_YQ4eiDdxxEP4jbl-H6hM4_vwaJYe7vcfSE1lkewno_yYrhW6btPRfrbLy4_57vBK6MLN1h8A-ePx1037KnIXIRDOu0hZwidz4mVZjQ6x3arBYT9iFQmIkgucLMriuRPF_PoEHkUajJ06Y9xQuSa9MNtr_ALkUEbGnzBCAeNwIChavxdz7Be_x1qRTeOsdVD0mHJf_ePeXjmDUtV45w";
     public final static String TOKEN_ACCESS_SCOPE = "openid";
 
diff --git a/sonar-project.properties b/sonar-project.properties
index e8c334eb9b..e03bd285ec 100644
--- a/sonar-project.properties
+++ b/sonar-project.properties
@@ -1,15 +1,17 @@
 # sonarqube
 sonar.projectKey=fair-data-austria-db-repository_fda-services_a57fa043-ab99-4cdd-a721-162d9a916d77
-sonar.host.url=https://s39.datalab.tuwien.ac.at
+sonar.host.url=https://s39.datalab.tuwien.ac.at/sonarqube/
 # project
 sonar.projectVersion=1.8.2
 # general
 sonar.qualitygate.wait=true
 sonar.projectCreation.mainBranchName=master
 # java services
-sonar.sources=./lib/java/dbrepo-core/src/main,./dbrepo-metadata-service/services/src/main,./dbrepo-metadata-service/repositories/src/main,./dbrepo-metadata-service/rest-service/src/main,./dbrepo-metadata-service/api/src/main,./dbrepo-metadata-service/oai/src/main,./dbrepo-data-service/services/src/main,./dbrepo-data-service/rest-service/src/main,./dbrepo-data-service/querystore/src/main
-sonar.java.binaries=./lib/java/dbrepo-core/target/classes,./dbrepo-metadata-service/services/target/classes,./dbrepo-metadata-service/repositories/target/classes,./dbrepo-metadata-service/rest-service/target/classes,./dbrepo-metadata-service/api/target/classes,./dbrepo-metadata-service/oai/target/classes,./dbrepo-data-service/services/target/classes,./dbrepo-data-service/rest-service/target/classes,./dbrepo-data-service/querystore/target/classes
+sonar.coverage.jacoco.xmlReportPaths=./dbrepo-data-service/report/target/site/jacoco-aggregate/jacoco.xml,./dbrepo-metadata-service/report/target/site/jacoco-aggregate/jacoco.xml
+sonar.tests=./dbrepo-metadata-service/rest-service/src/test,./dbrepo-data-service/rest-service/src/test
+sonar.sources=./lib/java/dbrepo-core/src/main,./dbrepo-metadata-service/services/src/main,./dbrepo-metadata-service/repositories/src/main,./dbrepo-metadata-service/rest-service/src/main,./dbrepo-metadata-service/oai/src/main,./dbrepo-data-service/services/src/main,./dbrepo-data-service/rest-service/src/main,./dbrepo-data-service/querystore/src/main
+sonar.java.binaries=./lib/java/dbrepo-core/target/classes,./dbrepo-metadata-service/services/target/classes,./dbrepo-metadata-service/repositories/target/classes,./dbrepo-metadata-service/rest-service/target/classes,./dbrepo-metadata-service/oai/target/classes,./dbrepo-data-service/services/target/classes,./dbrepo-data-service/rest-service/target/classes,./dbrepo-data-service/querystore/target/classes
 sonar.junit.reportPaths=./dbrepo-metadata-service/rest-service/target/surefire-reports,./dbrepo-data-service/rest-service/target/surefire-reports
-sonar.coverage.jacoco.xmlReportPaths=./dbrepo-metadata-service/report/target/site/jacoco-aggregate/jacoco.xml,./dbrepo-data-service/report/target/site/jacoco-aggregate/jacoco.xml
 # python services
-sonar.python.version=3.11
+sonar.python.coverage.reportPaths=./dbrepo-analyse-service/coverage.xml,./dbrepo-dashboard-service/coverage.xml,./dbrepo-search-service/coverage.xml
+sonar.python.version=3.11
\ No newline at end of file
-- 
GitLab