mirror of
https://github.com/pcvolkmer/mv64e-etl-processor
synced 2025-09-14 01:12:51 +00:00
refactor: add types for patient id and pseudonym
This commit is contained in:
@@ -32,7 +32,6 @@ import org.apache.kafka.common.record.TimestampType
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
import org.mockito.ArgumentMatchers.anyString
|
||||
import org.mockito.Mock
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
import org.mockito.kotlin.any
|
||||
@@ -78,7 +77,7 @@ class KafkaInputListenerTest {
|
||||
|
||||
kafkaInputListener.onMessage(ConsumerRecord("testtopic", 0, 0, "", this.objectMapper.writeValueAsString(mtbFile)))
|
||||
|
||||
verify(requestProcessor, times(1)).processDeletion(anyString())
|
||||
verify(requestProcessor, times(1)).processDeletion(anyValueClass())
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -107,7 +106,7 @@ class KafkaInputListenerTest {
|
||||
kafkaInputListener.onMessage(
|
||||
ConsumerRecord("testtopic", 0, 0, -1L, TimestampType.NO_TIMESTAMP_TYPE, -1, -1, "", this.objectMapper.writeValueAsString(mtbFile), headers, Optional.empty())
|
||||
)
|
||||
verify(requestProcessor, times(1)).processDeletion(anyString(), anyValueClass())
|
||||
verify(requestProcessor, times(1)).processDeletion(anyValueClass(), anyValueClass())
|
||||
}
|
||||
|
||||
}
|
@@ -21,8 +21,8 @@ package dev.dnpm.etl.processor.input
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import de.ukw.ccc.bwhc.dto.*
|
||||
import dev.dnpm.etl.processor.anyValueClass
|
||||
import dev.dnpm.etl.processor.services.RequestProcessor
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
@@ -31,7 +31,6 @@ import org.mockito.Mockito.times
|
||||
import org.mockito.Mockito.verify
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
import org.mockito.kotlin.any
|
||||
import org.mockito.kotlin.argumentCaptor
|
||||
import org.springframework.http.MediaType
|
||||
import org.springframework.test.web.servlet.MockMvc
|
||||
import org.springframework.test.web.servlet.delete
|
||||
@@ -129,9 +128,7 @@ class MtbFileRestControllerTest {
|
||||
}
|
||||
}
|
||||
|
||||
val captor = argumentCaptor<String>()
|
||||
verify(requestProcessor, times(1)).processDeletion(captor.capture())
|
||||
assertThat(captor.firstValue).isEqualTo("TEST_12345678")
|
||||
verify(requestProcessor, times(1)).processDeletion(anyValueClass())
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -142,9 +139,7 @@ class MtbFileRestControllerTest {
|
||||
}
|
||||
}
|
||||
|
||||
val captor = argumentCaptor<String>()
|
||||
verify(requestProcessor, times(1)).processDeletion(captor.capture())
|
||||
assertThat(captor.firstValue).isEqualTo("TEST_12345678")
|
||||
verify(requestProcessor, times(1)).processDeletion(anyValueClass())
|
||||
}
|
||||
|
||||
}
|
@@ -21,6 +21,7 @@ package dev.dnpm.etl.processor.output
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import de.ukw.ccc.bwhc.dto.*
|
||||
import dev.dnpm.etl.processor.PatientPseudonym
|
||||
import dev.dnpm.etl.processor.RequestId
|
||||
import dev.dnpm.etl.processor.config.KafkaProperties
|
||||
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
||||
@@ -87,7 +88,7 @@ class KafkaMtbFileSenderTest {
|
||||
completedFuture(SendResult<String, String>(null, null))
|
||||
}.whenever(kafkaTemplate).send(anyString(), anyString(), anyString())
|
||||
|
||||
val response = kafkaMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, "PID"))
|
||||
val response = kafkaMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, TEST_PATIENT_PSEUDONYM))
|
||||
assertThat(response.status).isEqualTo(testData.requestStatus)
|
||||
}
|
||||
|
||||
@@ -113,7 +114,7 @@ class KafkaMtbFileSenderTest {
|
||||
completedFuture(SendResult<String, String>(null, null))
|
||||
}.whenever(kafkaTemplate).send(anyString(), anyString(), anyString())
|
||||
|
||||
kafkaMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, "PID"))
|
||||
kafkaMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, TEST_PATIENT_PSEUDONYM))
|
||||
|
||||
val captor = argumentCaptor<String>()
|
||||
verify(kafkaTemplate, times(1)).send(anyString(), captor.capture(), captor.capture())
|
||||
@@ -163,7 +164,7 @@ class KafkaMtbFileSenderTest {
|
||||
completedFuture(SendResult<String, String>(null, null))
|
||||
}.whenever(kafkaTemplate).send(anyString(), anyString(), anyString())
|
||||
|
||||
kafkaMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, "PID"))
|
||||
kafkaMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, TEST_PATIENT_PSEUDONYM))
|
||||
|
||||
val expectedCount = when (testData.exception) {
|
||||
// OK - No Retry
|
||||
@@ -177,6 +178,7 @@ class KafkaMtbFileSenderTest {
|
||||
|
||||
companion object {
|
||||
val TEST_REQUEST_ID = RequestId("TestId")
|
||||
val TEST_PATIENT_PSEUDONYM = PatientPseudonym("PID")
|
||||
|
||||
fun mtbFile(consentStatus: Consent.Status): MtbFile {
|
||||
return if (consentStatus == Consent.Status.ACTIVE) {
|
||||
|
@@ -20,6 +20,7 @@
|
||||
package dev.dnpm.etl.processor.output
|
||||
|
||||
import de.ukw.ccc.bwhc.dto.*
|
||||
import dev.dnpm.etl.processor.PatientPseudonym
|
||||
import dev.dnpm.etl.processor.RequestId
|
||||
import dev.dnpm.etl.processor.config.RestTargetProperties
|
||||
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
||||
@@ -65,7 +66,7 @@ class RestMtbFileSenderTest {
|
||||
withStatus(requestWithResponse.httpStatus).body(requestWithResponse.body).createResponse(it)
|
||||
}
|
||||
|
||||
val response = restMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, "PID"))
|
||||
val response = restMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, TEST_PATIENT_PSEUDONYM))
|
||||
assertThat(response.status).isEqualTo(requestWithResponse.response.status)
|
||||
assertThat(response.body).isEqualTo(requestWithResponse.response.body)
|
||||
}
|
||||
@@ -138,7 +139,7 @@ class RestMtbFileSenderTest {
|
||||
withStatus(requestWithResponse.httpStatus).body(requestWithResponse.body).createResponse(it)
|
||||
}
|
||||
|
||||
val response = restMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, "PID"))
|
||||
val response = restMtbFileSender.send(MtbFileSender.DeleteRequest(TEST_REQUEST_ID, TEST_PATIENT_PSEUDONYM))
|
||||
assertThat(response.status).isEqualTo(requestWithResponse.response.status)
|
||||
assertThat(response.body).isEqualTo(requestWithResponse.response.body)
|
||||
}
|
||||
@@ -151,6 +152,7 @@ class RestMtbFileSenderTest {
|
||||
)
|
||||
|
||||
val TEST_REQUEST_ID = RequestId("TestId")
|
||||
val TEST_PATIENT_PSEUDONYM = PatientPseudonym("PID")
|
||||
|
||||
private val warningBody = """
|
||||
{
|
||||
|
@@ -21,11 +21,11 @@ package dev.dnpm.etl.processor.pseudonym
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import de.ukw.ccc.bwhc.dto.*
|
||||
import dev.dnpm.etl.processor.anyValueClass
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
import org.mockito.ArgumentMatchers
|
||||
import org.mockito.Mock
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
import org.mockito.kotlin.doAnswer
|
||||
@@ -52,7 +52,7 @@ class ExtensionsTest {
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
"PSEUDO-ID"
|
||||
}.whenever(pseudonymizeService).patientPseudonym(ArgumentMatchers.anyString())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
val mtbFile = fakeMtbFile()
|
||||
|
||||
@@ -67,7 +67,7 @@ class ExtensionsTest {
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
"PSEUDO-ID"
|
||||
}.whenever(pseudonymizeService).patientPseudonym(ArgumentMatchers.anyString())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
"TESTDOMAIN"
|
||||
@@ -95,7 +95,7 @@ class ExtensionsTest {
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
"PSEUDO-ID"
|
||||
}.whenever(pseudonymizeService).patientPseudonym(ArgumentMatchers.anyString())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
"TESTDOMAIN"
|
||||
@@ -139,7 +139,7 @@ class ExtensionsTest {
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
"PSEUDO-ID"
|
||||
}.whenever(pseudonymizeService).patientPseudonym(ArgumentMatchers.anyString())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
"TESTDOMAIN"
|
||||
|
@@ -21,8 +21,7 @@ package dev.dnpm.etl.processor.services
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import de.ukw.ccc.bwhc.dto.*
|
||||
import dev.dnpm.etl.processor.Fingerprint
|
||||
import dev.dnpm.etl.processor.randomRequestId
|
||||
import dev.dnpm.etl.processor.*
|
||||
import dev.dnpm.etl.processor.config.AppConfigProperties
|
||||
import dev.dnpm.etl.processor.monitoring.Request
|
||||
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
||||
@@ -34,7 +33,6 @@ import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
import org.mockito.ArgumentMatchers.anyString
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.*
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
@@ -91,22 +89,22 @@ class RequestProcessorTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("zdlzv5s5ydmd4ktw2v5piohegc4jcyrm6j66bq6tv2uxuerndmga"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.SUCCESS,
|
||||
Instant.parse("2023-08-08T02:00:00Z")
|
||||
)
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyString())
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
false
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyString())
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0] as String
|
||||
}.whenever(pseudonymizeService).patientPseudonym(any())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
@@ -150,22 +148,22 @@ class RequestProcessorTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("zdlzv5s5ydmd4ktw2v5piohegc4jcyrm6j66bq6tv2uxuerndmga"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.SUCCESS,
|
||||
Instant.parse("2023-08-08T02:00:00Z")
|
||||
)
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyString())
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
false
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyString())
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0] as String
|
||||
}.whenever(pseudonymizeService).patientPseudonym(any())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
@@ -209,18 +207,18 @@ class RequestProcessorTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("different"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.SUCCESS,
|
||||
Instant.parse("2023-08-08T02:00:00Z")
|
||||
)
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyString())
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
false
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyString())
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
MtbFileSender.Response(status = RequestStatus.SUCCESS)
|
||||
@@ -228,7 +226,7 @@ class RequestProcessorTest {
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0] as String
|
||||
}.whenever(pseudonymizeService).patientPseudonym(any())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
@@ -272,18 +270,18 @@ class RequestProcessorTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("different"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.SUCCESS,
|
||||
Instant.parse("2023-08-08T02:00:00Z")
|
||||
)
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyString())
|
||||
}.whenever(requestService).lastMtbFileRequestForPatientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
false
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyString())
|
||||
}.whenever(requestService).isLastRequestWithKnownStatusDeletion(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
MtbFileSender.Response(status = RequestStatus.ERROR)
|
||||
@@ -291,7 +289,7 @@ class RequestProcessorTest {
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0] as String
|
||||
}.whenever(pseudonymizeService).patientPseudonym(any())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
@@ -333,13 +331,13 @@ class RequestProcessorTest {
|
||||
fun testShouldSendDeleteRequestAndSaveUnknownRequestStatusAtFirst() {
|
||||
doAnswer {
|
||||
"PSEUDONYM"
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyString())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
MtbFileSender.Response(status = RequestStatus.UNKNOWN)
|
||||
}.whenever(sender).send(any<MtbFileSender.DeleteRequest>())
|
||||
|
||||
this.requestProcessor.processDeletion("TEST_12345678901")
|
||||
this.requestProcessor.processDeletion(TEST_PATIENT_ID)
|
||||
|
||||
val requestCaptor = argumentCaptor<Request>()
|
||||
verify(requestService, times(1)).save(requestCaptor.capture())
|
||||
@@ -351,13 +349,13 @@ class RequestProcessorTest {
|
||||
fun testShouldSendDeleteRequestAndSendSuccessEvent() {
|
||||
doAnswer {
|
||||
"PSEUDONYM"
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyString())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
MtbFileSender.Response(status = RequestStatus.SUCCESS)
|
||||
}.whenever(sender).send(any<MtbFileSender.DeleteRequest>())
|
||||
|
||||
this.requestProcessor.processDeletion("TEST_12345678901")
|
||||
this.requestProcessor.processDeletion(TEST_PATIENT_ID)
|
||||
|
||||
val eventCaptor = argumentCaptor<ResponseEvent>()
|
||||
verify(applicationEventPublisher, times(1)).publishEvent(eventCaptor.capture())
|
||||
@@ -369,13 +367,13 @@ class RequestProcessorTest {
|
||||
fun testShouldSendDeleteRequestAndSendErrorEvent() {
|
||||
doAnswer {
|
||||
"PSEUDONYM"
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyString())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
MtbFileSender.Response(status = RequestStatus.ERROR)
|
||||
}.whenever(sender).send(any<MtbFileSender.DeleteRequest>())
|
||||
|
||||
this.requestProcessor.processDeletion("TEST_12345678901")
|
||||
this.requestProcessor.processDeletion(TEST_PATIENT_ID)
|
||||
|
||||
val eventCaptor = argumentCaptor<ResponseEvent>()
|
||||
verify(applicationEventPublisher, times(1)).publishEvent(eventCaptor.capture())
|
||||
@@ -385,9 +383,9 @@ class RequestProcessorTest {
|
||||
|
||||
@Test
|
||||
fun testShouldSendDeleteRequestWithPseudonymErrorAndSaveErrorRequestStatus() {
|
||||
doThrow(RuntimeException()).whenever(pseudonymizeService).patientPseudonym(anyString())
|
||||
doThrow(RuntimeException()).whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
this.requestProcessor.processDeletion("TEST_12345678901")
|
||||
this.requestProcessor.processDeletion(TEST_PATIENT_ID)
|
||||
|
||||
val requestCaptor = argumentCaptor<Request>()
|
||||
verify(requestService, times(1)).save(requestCaptor.capture())
|
||||
@@ -401,7 +399,7 @@ class RequestProcessorTest {
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0] as String
|
||||
}.whenever(pseudonymizeService).patientPseudonym(any())
|
||||
}.whenever(pseudonymizeService).patientPseudonym(anyValueClass())
|
||||
|
||||
doAnswer {
|
||||
it.arguments[0]
|
||||
@@ -443,4 +441,8 @@ class RequestProcessorTest {
|
||||
assertThat(eventCaptor.firstValue.status).isEqualTo(RequestStatus.SUCCESS)
|
||||
}
|
||||
|
||||
companion object {
|
||||
val TEST_PATIENT_ID = PatientId("TEST_12345678901")
|
||||
}
|
||||
|
||||
}
|
@@ -19,8 +19,7 @@
|
||||
|
||||
package dev.dnpm.etl.processor.services
|
||||
|
||||
import dev.dnpm.etl.processor.Fingerprint
|
||||
import dev.dnpm.etl.processor.randomRequestId
|
||||
import dev.dnpm.etl.processor.*
|
||||
import dev.dnpm.etl.processor.monitoring.Request
|
||||
import dev.dnpm.etl.processor.monitoring.RequestRepository
|
||||
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
||||
@@ -45,8 +44,8 @@ class RequestServiceTest {
|
||||
private fun anyRequest() = any(Request::class.java) ?: Request(
|
||||
0L,
|
||||
randomRequestId(),
|
||||
"TEST_dummy",
|
||||
"PX",
|
||||
PatientPseudonym("TEST_dummy"),
|
||||
PatientId("PX"),
|
||||
Fingerprint("dummy"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.SUCCESS,
|
||||
@@ -67,8 +66,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdef1"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.WARNING,
|
||||
@@ -77,8 +76,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
2L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdefd"),
|
||||
RequestType.DELETE,
|
||||
RequestStatus.WARNING,
|
||||
@@ -87,8 +86,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
3L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdef1"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.UNKNOWN,
|
||||
@@ -107,8 +106,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdef1"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.WARNING,
|
||||
@@ -117,8 +116,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
2L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdef1"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.WARNING,
|
||||
@@ -127,8 +126,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
3L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdef1"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.UNKNOWN,
|
||||
@@ -147,8 +146,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdef1"),
|
||||
RequestType.DELETE,
|
||||
RequestStatus.SUCCESS,
|
||||
@@ -157,8 +156,8 @@ class RequestServiceTest {
|
||||
Request(
|
||||
1L,
|
||||
randomRequestId(),
|
||||
"TEST_12345678902",
|
||||
"P2",
|
||||
PatientPseudonym("TEST_12345678902"),
|
||||
PatientId("P2"),
|
||||
Fingerprint("0123456789abcdef2"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.WARNING,
|
||||
@@ -190,8 +189,8 @@ class RequestServiceTest {
|
||||
|
||||
val request = Request(
|
||||
randomRequestId(),
|
||||
"TEST_12345678901",
|
||||
"P1",
|
||||
PatientPseudonym("TEST_12345678901"),
|
||||
PatientId("P1"),
|
||||
Fingerprint("0123456789abcdef1"),
|
||||
RequestType.DELETE,
|
||||
RequestStatus.SUCCESS,
|
||||
@@ -205,23 +204,23 @@ class RequestServiceTest {
|
||||
|
||||
@Test
|
||||
fun allRequestsByPatientPseudonymShouldRequestAllRequestsForPatientPseudonym() {
|
||||
requestService.allRequestsByPatientPseudonym("TEST_12345678901")
|
||||
requestService.allRequestsByPatientPseudonym(PatientPseudonym("TEST_12345678901"))
|
||||
|
||||
verify(requestRepository, times(1)).findAllByPatientIdOrderByProcessedAtDesc(anyString())
|
||||
verify(requestRepository, times(1)).findAllByPatientIdOrderByProcessedAtDesc(anyValueClass())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun lastMtbFileRequestForPatientPseudonymShouldRequestAllRequestsForPatientPseudonym() {
|
||||
requestService.lastMtbFileRequestForPatientPseudonym("TEST_12345678901")
|
||||
requestService.lastMtbFileRequestForPatientPseudonym(PatientPseudonym("TEST_12345678901"))
|
||||
|
||||
verify(requestRepository, times(1)).findAllByPatientIdOrderByProcessedAtDesc(anyString())
|
||||
verify(requestRepository, times(1)).findAllByPatientIdOrderByProcessedAtDesc(anyValueClass())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun isLastRequestDeletionShouldRequestAllRequestsForPatientPseudonym() {
|
||||
requestService.isLastRequestWithKnownStatusDeletion("TEST_12345678901")
|
||||
requestService.isLastRequestWithKnownStatusDeletion(PatientPseudonym("TEST_12345678901"))
|
||||
|
||||
verify(requestRepository, times(1)).findAllByPatientIdOrderByProcessedAtDesc(anyString())
|
||||
verify(requestRepository, times(1)).findAllByPatientIdOrderByProcessedAtDesc(anyValueClass())
|
||||
}
|
||||
|
||||
}
|
@@ -19,9 +19,7 @@
|
||||
|
||||
package dev.dnpm.etl.processor.services
|
||||
|
||||
import dev.dnpm.etl.processor.Fingerprint
|
||||
import dev.dnpm.etl.processor.RequestId
|
||||
import dev.dnpm.etl.processor.anyValueClass
|
||||
import dev.dnpm.etl.processor.*
|
||||
import dev.dnpm.etl.processor.monitoring.Request
|
||||
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
||||
import dev.dnpm.etl.processor.monitoring.RequestType
|
||||
@@ -49,8 +47,8 @@ class ResponseProcessorTest {
|
||||
private val testRequest = Request(
|
||||
1L,
|
||||
RequestId("TestID1234"),
|
||||
"PSEUDONYM-A",
|
||||
"1",
|
||||
PatientPseudonym("PSEUDONYM-A"),
|
||||
PatientId("1"),
|
||||
Fingerprint("dummyfingerprint"),
|
||||
RequestType.MTB_FILE,
|
||||
RequestStatus.UNKNOWN
|
||||
|
Reference in New Issue
Block a user