From 9eb8d74117c4c363f787fbc3e02a90e7f21a402e Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 6 Mar 2026 21:15:35 +0100 Subject: fix: ensure metadata is initialized using MtbFileConsentService --- .../etl/processor/services/ConsentProcessor.kt | 4 ++-- .../etl/processor/services/ConsentProcessorTest.kt | 24 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt index 1880528..4a9a6bd 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt @@ -47,13 +47,13 @@ class ConsentProcessor( * @return true if consent is given */ fun consentGatedCheckAndTryEmbedding(mtbFile: Mtb): Boolean { + mtbFile.ensureMetaDataIsInitialized() + if (consentService is MtbFileConsentService) { // consent check is disabled return true } - mtbFile.ensureMetaDataIsInitialized() - val personIdentifierValue = mtbFile.patient.id val requestDate = Date.from(Instant.now(Clock.systemUTC())) diff --git a/src/test/kotlin/dev/dnpm/etl/processor/services/ConsentProcessorTest.kt b/src/test/kotlin/dev/dnpm/etl/processor/services/ConsentProcessorTest.kt index 02165a6..331a816 100644 --- a/src/test/kotlin/dev/dnpm/etl/processor/services/ConsentProcessorTest.kt +++ b/src/test/kotlin/dev/dnpm/etl/processor/services/ConsentProcessorTest.kt @@ -7,6 +7,7 @@ import dev.dnpm.etl.processor.config.GIcsConfigProperties import dev.dnpm.etl.processor.config.JacksonConfig import dev.dnpm.etl.processor.consent.ConsentDomain import dev.dnpm.etl.processor.consent.GicsConsentService +import dev.dnpm.etl.processor.consent.MtbFileConsentService import dev.pcvolkmer.mv64e.mtb.Mtb import dev.pcvolkmer.mv64e.mtb.MvhSubmissionType import dev.pcvolkmer.mv64e.mtb.Patient @@ -87,6 +88,29 @@ class ConsentProcessorTest { assertThat(inputMtb.metadata.researchConsents).isNotEmpty } + @Test + fun ensureMetaDataIsInitializedUsingMtbFileConsentService() { + this.consentProcessor = + ConsentProcessor( + appConfigProperties, + gIcsConfigProperties, + objectMapper, + fhirContext, + MtbFileConsentService(), + ) + + assertThat(consentProcessor.toString()).isNotNull + + val inputMtb = + Mtb.builder() + .patient(Patient.builder().id("d611d429-5003-11f0-a144-661e92ac9503").build()) + .build() + val checkResult = consentProcessor.consentGatedCheckAndTryEmbedding(inputMtb) + + assertThat(checkResult).isTrue + assertThat(inputMtb.metadata).isNotNull + } + companion object { fun getDummyGenomDeConsent(): Consent { val consent = Consent() -- cgit v1.2.3