summaryrefslogtreecommitdiff
path: root/src/integrationTest/kotlin/dev/dnpm/etl
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2026-09-21 11:43:03 +0200
committerGitHub2026-09-21 11:43:03 +0200
commitd9961a9baccaff511662b1aa1de18bdd02f94f5e (patch)
treeb4d47b8eed6aaceebaead375e8265e5f245bff82 /src/integrationTest/kotlin/dev/dnpm/etl
parentb0fb01d12fcadf86cabbe71b16cce60fb88b0ca4 (diff)
feat: add switch/routing to send dedicated data to nNGM (#322)
Diffstat (limited to 'src/integrationTest/kotlin/dev/dnpm/etl')
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt6
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt21
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/services/RequestServiceIntegrationTest.kt15
3 files changed, 31 insertions, 11 deletions
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt
index 9f1e183..d54c0bf 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt
@@ -24,6 +24,8 @@ import dev.dnpm.etl.processor.monitoring.RequestRepository
import dev.dnpm.etl.processor.monitoring.RequestStatus
import dev.dnpm.etl.processor.output.DnpmV2MtbFileRequest
import dev.dnpm.etl.processor.output.MtbFileSender
+import dev.dnpm.etl.processor.output.RestDipMtbFileSender
+import dev.dnpm.etl.processor.output.RestMtbFileSender
import dev.pcvolkmer.mv64e.model.Coding
import dev.pcvolkmer.mv64e.model.ConsentProvisionType
import dev.pcvolkmer.mv64e.model.ModelProjectConsentPurpose
@@ -57,7 +59,7 @@ import tools.jackson.databind.json.JsonMapper
@Testcontainers
@ExtendWith(SpringExtension::class)
@SpringBootTest
-@MockitoBean(types = [MtbFileSender::class])
+@MockitoBean(types = [RestMtbFileSender::class])
@TestPropertySource(
properties =
[
@@ -91,7 +93,7 @@ class EtlProcessorApplicationTests : AbstractTestcontainerTest() {
)
inner class TransformationTest {
- @MockitoBean private lateinit var mtbFileSender: MtbFileSender
+ @MockitoBean private lateinit var mtbFileSender: RestMtbFileSender
private lateinit var mockMvc: MockMvc
private lateinit var jsonMapper: JsonMapper
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt
index 8052ed2..f2bfd90 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt
@@ -29,6 +29,8 @@ import dev.dnpm.etl.processor.input.KafkaInputListener
import dev.dnpm.etl.processor.monitoring.RequestRepository
import dev.dnpm.etl.processor.output.KafkaMtbFileSender
import dev.dnpm.etl.processor.output.RestDipMtbFileSender
+import dev.dnpm.etl.processor.output.RestNngmMtbFileSender
+import dev.dnpm.etl.processor.output.RoutedRestNngmMtbFileSender
import dev.dnpm.etl.processor.pseudonym.AnonymizingGenerator
import dev.dnpm.etl.processor.pseudonym.GpasPseudonymGenerator
import dev.dnpm.etl.processor.pseudonym.GpasSoapPseudonymGenerator
@@ -61,6 +63,7 @@ import tools.jackson.databind.json.JsonMapper
KafkaAutoConfiguration::class,
AppKafkaConfiguration::class,
AppRestConfiguration::class,
+ AppRoutedRestConfiguration::class,
ConsentEvaluator::class,
],
)
@@ -83,6 +86,24 @@ class AppConfigurationTest {
assertThrows<NoSuchBeanDefinitionException> {
context.getBean<KafkaMtbFileSender>()
}
+ assertThrows<NoSuchBeanDefinitionException> {
+ context.getBean<RestNngmMtbFileSender>()
+ }
+ }
+ }
+
+ @Nested
+ @TestPropertySource(properties = ["app.rest.uri=http://localhost:9000", "app.routing.nngm.uri=http://localhost:9999"])
+ inner class AppConfigurationSwitchedRestTest(
+ private val context: ApplicationContext,
+ ) {
+ @Test
+ fun shouldUseRestMtbFileSenderAndSwitchedNngmFileSender() {
+ assertThat(context.getBean<RestDipMtbFileSender>()).isNotNull
+ assertThat(context.getBean<RoutedRestNngmMtbFileSender>()).isNotNull
+ assertThrows<NoSuchBeanDefinitionException> {
+ context.getBean<KafkaMtbFileSender>()
+ }
}
}
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/services/RequestServiceIntegrationTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/services/RequestServiceIntegrationTest.kt
index bbade1c..b599134 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/services/RequestServiceIntegrationTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/services/RequestServiceIntegrationTest.kt
@@ -21,13 +21,9 @@
package dev.dnpm.etl.processor.services
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
-import dev.dnpm.etl.processor.monitoring.RequestType
-import dev.dnpm.etl.processor.monitoring.SubmissionType
-import dev.dnpm.etl.processor.output.MtbFileSender
-import java.time.Instant
+import dev.dnpm.etl.processor.monitoring.*
+import dev.dnpm.etl.processor.output.RestDipMtbFileSender
+import dev.dnpm.etl.processor.output.RestMtbFileSender
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
@@ -39,14 +35,15 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean
import org.springframework.test.context.junit.jupiter.SpringExtension
import org.springframework.transaction.annotation.Transactional
import org.testcontainers.junit.jupiter.Testcontainers
+import java.time.Instant
@Testcontainers
@ExtendWith(SpringExtension::class)
@SpringBootTest
@Transactional
-@MockitoBean(types = [MtbFileSender::class])
+@MockitoBean(types = [RestMtbFileSender::class])
@TestPropertySource(
- properties = ["app.pseudonymize.generator=buildin", "app.rest.uri=http://example.com"]
+ properties = ["app.pseudonymize.generator=buildin", "app.rest.uri=http://example.com", "app.rest.type=dip"]
)
class RequestServiceIntegrationTest : AbstractTestcontainerTest() {