diff options
Diffstat (limited to 'src/test/kotlin/dev')
| -rw-r--r-- | src/test/kotlin/dev/dnpm/etl/processor/services/ConsentProcessorTest.kt | 44 | ||||
| -rw-r--r-- | src/test/kotlin/dev/dnpm/etl/processor/services/TransformationServiceTest.kt | 8 |
2 files changed, 37 insertions, 15 deletions
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 5a3fad0..607234d 100644 --- a/src/test/kotlin/dev/dnpm/etl/processor/services/ConsentProcessorTest.kt +++ b/src/test/kotlin/dev/dnpm/etl/processor/services/ConsentProcessorTest.kt @@ -78,7 +78,7 @@ class ConsentProcessorTest { val checkResult = consentProcessor.consentGatedCheckAndTryEmbedding(inputMtb) assertThat(checkResult).isTrue - assertThat(inputMtb.metadata.researchConsents).hasSize(13) + assertThat(inputMtb.metadata.researchConsents).hasSize(26) } companion object { @@ -93,13 +93,13 @@ class ConsentProcessorTest { ) ) consent.provision.period.start = - Date.from(Instant.parse("2025-06-23T00:00:00.00Z")) + Date.from(Instant.parse("2025-08-15T00:00:00.00Z")) consent.provision.period.end = Date.from(Instant.parse("3000-01-01T00:00:00.00Z")) val addProvision1 = consent.provision.addProvision() addProvision1.setType(Consent.ConsentProvisionType.fromCode("permit")) - addProvision1.period.start = Date.from(Instant.parse("2025-06-23T00:00:00.00Z")) + addProvision1.period.start = Date.from(Instant.parse("2025-08-15T00:00:00.00Z")) addProvision1.period.end = Date.from(Instant.parse("3000-01-01T00:00:00.00Z")) addProvision1.code.addLast( CodeableConcept( @@ -113,7 +113,7 @@ class ConsentProcessorTest { val addProvision2 = consent.provision.addProvision() addProvision2.setType(Consent.ConsentProvisionType.fromCode("deny")) - addProvision2.period.start = Date.from(Instant.parse("2025-06-23T00:00:00.00Z")) + addProvision2.period.start = Date.from(Instant.parse("2025-08-15T00:00:00.00Z")) addProvision2.period.end = Date.from(Instant.parse("3000-01-01T00:00:00.00Z")) addProvision2.code.addLast( CodeableConcept( @@ -130,13 +130,14 @@ class ConsentProcessorTest { @ParameterizedTest @CsvSource( - "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2025-07-23T00:00:00+02:00,PERMIT,expect permit", - "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2025-06-23T00:00:00+02:00,PERMIT,expect permit date is exactly on start", - "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2055-06-23T00:00:00+02:00,PERMIT,expect permit date is exactly on end", - "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2021-06-23T00:00:00+02:00,NULL,date is before start", - "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2060-06-23T00:00:00+02:00,NULL,date is after end", - "2.16.840.1.113883.3.1937.777.24.5.3.8,XXXX,2025-07-23T00:00:00+02:00,NULL,system not found - therefore expect NULL", - "2.16.840.1.113883.3.1937.777.24.5.3.27,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2025-07-23T00:00:00+02:00,DENY,provision is denied" + "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2025-08-15T00:00:00+02:00,PERMIT,expect permit", + "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2025-08-15T00:00:00+02:00,PERMIT,expect permit date is exactly on start", + "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2055-08-15T00:00:00+02:00,PERMIT,expect permit date is exactly on end", + "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2021-08-15T00:00:00+02:00,NULL,date is before start", + "2.16.840.1.113883.3.1937.777.24.5.3.8,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2060-08-15T00:00:00+02:00,NULL,date is after end", + "2.16.840.1.113883.3.1937.777.24.5.3.27,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2025-08-15T00:00:00+02:00,DENY,provision is denied", + "unknownCode,urn:oid:2.16.840.1.113883.3.1937.777.24.5.3,2025-08-15T00:00:00+02:00,NULL,code does not exist - therefore expect NULL", + "2.16.840.1.113883.3.1937.777.24.5.3.8,XXXX,2025-08-15T00:00:00+02:00,NULL,system not found - therefore expect NULL", ) fun getProvisionTypeByPolicyCode( code: String?, system: String?, timeStamp: String, expected: String?, @@ -155,6 +156,27 @@ class ConsentProcessorTest { .isEqualTo(Consent.ConsentProvisionType.valueOf(expected!!)) } + @Test + fun getProvisionTypeOnEmptyConsent( + ) { + val emptyResources = Bundle().addEntry(Bundle.BundleEntryComponent().setResource(Consent())) + + val requestDate = Date.from(OffsetDateTime.parse("2025-08-15T00:00:00+02:00").toInstant()) + + val result: Consent.ConsentProvisionType = + consentProcessor.getProvisionTypeByPolicyCode( + emptyResources, + "anyCode", + "anySystem", + requestDate + ) + assertThat(result).isNotNull() + + + assertThat(result).`as`("empty consent resource - expect NULL") + .isEqualTo(Consent.ConsentProvisionType.NULL) + } + fun getDummyBroadConsentBundle(): Bundle { val bundle: InputStream? try { diff --git a/src/test/kotlin/dev/dnpm/etl/processor/services/TransformationServiceTest.kt b/src/test/kotlin/dev/dnpm/etl/processor/services/TransformationServiceTest.kt index 4a2d2d3..ba9d23f 100644 --- a/src/test/kotlin/dev/dnpm/etl/processor/services/TransformationServiceTest.kt +++ b/src/test/kotlin/dev/dnpm/etl/processor/services/TransformationServiceTest.kt @@ -97,18 +97,18 @@ class TransformationServiceTest { assertThat(mvhMetadata).isNotNull mvhMetadata.modelProjectConsent = - ModelProjectConsent.builder().date(Date.from(Instant.parse("2025-06-23T00:00:00.00Z"))) + ModelProjectConsent.builder().date(Date.from(Instant.parse("2025-08-15T00:00:00.00Z"))) .version("1").provisions( listOf( Provision.builder().type(ConsentProvision.PERMIT) .purpose(ModelProjectConsentPurpose.SEQUENCING) - .date(Date.from(Instant.parse("2025-06-23T00:00:00.00Z"))).build(), + .date(Date.from(Instant.parse("2025-08-15T00:00:00.00Z"))).build(), Provision.builder().type(ConsentProvision.PERMIT) .purpose(ModelProjectConsentPurpose.REIDENTIFICATION) - .date(Date.from(Instant.parse("2025-06-23T00:00:00.00Z"))).build(), + .date(Date.from(Instant.parse("2025-08-15T00:00:00.00Z"))).build(), Provision.builder().type(ConsentProvision.DENY) .purpose(ModelProjectConsentPurpose.CASE_IDENTIFICATION) - .date(Date.from(Instant.parse("2025-06-23T00:00:00.00Z"))).build() + .date(Date.from(Instant.parse("2025-08-15T00:00:00.00Z"))).build() ) ).build() val consent = ConsentProcessorTest.getDummyGenomDeConsent() |
