diff options
| author | Paul-Christian Volkmer | 2025-11-06 16:02:29 +0100 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2025-11-07 10:45:31 +0100 |
| commit | ae3c9b8a9d9bfb0e2436f4964baaee430e6071d5 (patch) | |
| tree | f5a62c0445062d05391877fc9f7147f32f1de780 | |
| parent | fd315558ff0d97723bcb97bd87ee8018dcc6d0e5 (diff) | |
fix: docs uses APP_PSEUDOMYMIZE_GPAS_PID_DOMAIN (#184)
(cherry picked from commit 7f7304ebca5744edd8423e1486adcf77d623a745)
5 files changed, 68 insertions, 3 deletions
@@ -111,8 +111,8 @@ Ab Version 2025.1 (Multi-Pseudonym Support) * `APP_PSEUDONYMIZE_GPAS_URI`: URI der gPAS-Instanz REST API (e.g. http://127.0.0.1:9990/ttp-fhir/fhir/gpas) * `APP_PSEUDONYMIZE_GPAS_USERNAME`: gPas Basic-Auth Benutzername * `APP_PSEUDONYMIZE_GPAS_PASSWORD`: gPas Basic-Auth Passwort -* `APP_PSEUDONYMIZE_GPAS_PID_DOMAIN`: gPas Domänenname für Patienten ID -* `APP_PSEUDONYMIZE_GPAS_GENOM_DE_TAN_DOMAIN`: gPas Multi-Pseudonym-Domäne für genomDE Vorgangsnummern ( +* `APP_PSEUDONYMIZE_GPAS_PATIENT_DOMAIN`: gPas Domänenname für Patienten ID (ebenfalls gültig: `APP_PSEUDONYMIZE_GPAS_PID_DOMAIN`) +* `APP_PSEUDONYMIZE_GPAS_GENOM_DE_TAN_DOMAIN`: gPAS Multi-Pseudonym-Domäne für genomDE Vorgangsnummern ( Clinical data node) ### (Externe) Consent-Services @@ -336,6 +336,12 @@ für HTTP nicht gibt. Wird die Umgebungsvariable `APP_KAFKA_INPUT_TOPIC` gesetzt, kann eine Nachricht auch über dieses Kafka-Topic an den ETL-Prozessor übermittelt werden. +Soll eine SSL-gesicherte Verbindung zu Kafka verwendet werden, so sind die SSL-Zertifikate in +der Spring-Konfiguration anzugeben. +Ein Beispiel findet sich in [`application-dev.yml`](src/main/resources/application-dev.yml). +Dies kann auch mit Umgebungsvariablen wie `SPRING_KAFKA_SECURITY_...` und `SPRING_KAFKA_SSL_...` +umgesetzt werden. + ##### Retention Time Generell werden in Apache Kafka alle Records entsprechend der Konfiguration vorgehalten. diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/GPasConfigPropertiesTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/GPasConfigPropertiesTest.kt new file mode 100644 index 0000000..66e0660 --- /dev/null +++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/GPasConfigPropertiesTest.kt @@ -0,0 +1,54 @@ +package dev.dnpm.etl.processor.config + +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test +import org.springframework.boot.context.properties.EnableConfigurationProperties +import org.springframework.boot.test.context.SpringBootTest +import org.springframework.boot.test.context.runner.ApplicationContextRunner +import org.springframework.test.context.ContextConfiguration + + +@SpringBootTest +@ContextConfiguration( + classes = [ + GPasConfigProperties::class, + ] +) +class GPasConfigPropertiesTest { + + @EnableConfigurationProperties(GPasConfigProperties::class) + class TestConfig {} + + @Test + fun shouldUseConfiguredPatientDomainIfPidDomainGiven() { + ApplicationContextRunner() + .withUserConfiguration(TestConfig::class.java) + .withPropertyValues( + "app.pseudonymize.gpas.uri=http://localhost/", + "app.pseudonymize.gpas.pid-domain=test-pid-domain" + ) + .run { context -> + val properties = context.getBean(GPasConfigProperties::class.java) + + assertThat(properties).isNotNull + assertThat(properties.patientDomain).isEqualTo("test-pid-domain") + } + } + + @Test + fun shouldUseConfiguredPatientDomain() { + ApplicationContextRunner() + .withUserConfiguration(TestConfig::class.java) + .withPropertyValues( + "app.pseudonymize.gpas.uri=http://localhost/", + "app.pseudonymize.gpas.patient-domain=test-patient-domain" + ) + .run { context -> + val properties = context.getBean(GPasConfigProperties::class.java) + + assertThat(properties).isNotNull + assertThat(properties.patientDomain).isEqualTo("test-patient-domain") + } + } + +}
\ No newline at end of file diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGeneratorTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGeneratorTest.kt index c2a8ba6..10f2359 100644 --- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGeneratorTest.kt +++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGeneratorTest.kt @@ -50,6 +50,7 @@ class GpasPseudonymGeneratorTest { val retryTemplate = RetryTemplateBuilder().customPolicy(SimpleRetryPolicy(1)).build() val gPasConfigProperties = GPasConfigProperties( "https://localhost:9990/ttp-fhir/fhir/gpas", + null, "test", "test2", null, null diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt index 395dbd2..e5db63e 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt @@ -21,6 +21,7 @@ package dev.dnpm.etl.processor.config import dev.dnpm.etl.processor.security.Role import org.springframework.boot.context.properties.ConfigurationProperties +import org.springframework.boot.context.properties.DeprecatedConfigurationProperty @ConfigurationProperties(AppConfigProperties.NAME) data class AppConfigProperties( @@ -47,7 +48,9 @@ data class PseudonymizeConfigProperties( @ConfigurationProperties(GPasConfigProperties.NAME) data class GPasConfigProperties( val uri: String?, - val patientDomain: String = "etl-processor", + @get:DeprecatedConfigurationProperty(since = "0.12") + val pidDomain: String?, + val patientDomain: String = pidDomain ?: "etl-processor", val genomDeTanDomain: String = "ccdn", val username: String?, val password: String?, diff --git a/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt b/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt index 788ca6a..7205714 100644 --- a/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt +++ b/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt @@ -74,6 +74,7 @@ class ConnectionCheckServiceTest { val gpasTargetProperties = GPasConfigProperties( "http://localhost/gpas", + null, "patientDomain", "genomDeTanDomain", "username", |
