summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/config/GPasConfigPropertiesTest.kt54
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGeneratorTest.kt3
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt5
-rw-r--r--src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt1
5 files changed, 62 insertions, 3 deletions
diff --git a/README.md b/README.md
index 9b3cba9..151214a 100644
--- a/README.md
+++ b/README.md
@@ -111,7 +111,7 @@ 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_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)
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 1bf443e..578810e 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGeneratorTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGeneratorTest.kt
@@ -53,6 +53,7 @@ class GpasPseudonymGeneratorTest {
val gPasConfigProperties = GPasConfigProperties(
CONFIGURED_URI,
null,
+ null,
"test", "test2",
null,
null
@@ -104,7 +105,7 @@ class GpasPseudonymGeneratorTest {
withStatus(HttpStatus.FOUND)
.header(
HttpHeaders.LOCATION,
- "https://localhost/ttp-fhir/fhir/gpas/\$pseudonymizeAllowCreate"
+ $$"https://localhost/ttp-fhir/fhir/gpas/$pseudonymizeAllowCreate"
)
.createResponse(it)
}
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 fc0727f..ee33114 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(
@@ -48,7 +49,9 @@ data class PseudonymizeConfigProperties(
data class GPasConfigProperties(
val uri: String?,
val soapEndpoint: 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 d34d2b8..a6d855c 100644
--- a/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt
+++ b/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt
@@ -115,6 +115,7 @@ class ConnectionCheckServiceTest {
val gpasTargetProperties = GPasConfigProperties(
"http://localhost/gpas",
null,
+ null,
"patientDomain",
"genomDeTanDomain",
"username",