summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt19
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt2
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt2
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/monitoring/RequestRepositoryTest.kt6
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/web/ConfigControllerTest.kt16
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/web/HomeControllerTest.kt11
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/web/LoginControllerTest.kt2
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsControllerTest.kt2
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsRestControllerTest.kt2
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/EtlProcessorApplication.kt2
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt2
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppKafkaConfiguration.kt7
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt12
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/web/LoginController.kt2
-rw-r--r--src/test/java/dev/dnpm/etl/processor/consent/GicsConsentServiceTest.java2
-rw-r--r--src/test/java/dev/dnpm/etl/processor/consent/GicsGetBroadConsentServiceTest.java2
-rw-r--r--src/test/kotlin/dev/dnpm/etl/processor/helpers.kt2
-rw-r--r--src/test/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSenderTest.kt24
18 files changed, 76 insertions, 41 deletions
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt
index 7826702..cc1ff2b 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/EtlProcessorApplicationTests.kt
@@ -32,10 +32,11 @@ import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.mockito.kotlin.*
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
+import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.context.ApplicationContext
import org.springframework.http.MediaType
+import org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.user
import org.springframework.test.context.TestPropertySource
import org.springframework.test.context.bean.override.mockito.MockitoBean
import org.springframework.test.context.junit.jupiter.SpringExtension
@@ -69,6 +70,8 @@ class EtlProcessorApplicationTests : AbstractTestcontainerTest() {
@TestPropertySource(
properties =
[
+ "app.security.admin-user=admin",
+ "app.security.admin-password={noop}very-secret",
"app.pseudonymize.generator=buildin",
"app.consent.service=none",
"app.transformations[0].path=diagnoses[*].code.version",
@@ -80,12 +83,17 @@ class EtlProcessorApplicationTests : AbstractTestcontainerTest() {
@MockitoBean private lateinit var mtbFileSender: MtbFileSender
- @Autowired private lateinit var mockMvc: MockMvc
-
- @Autowired private lateinit var objectMapper: ObjectMapper
+ private lateinit var mockMvc: MockMvc
+ private lateinit var objectMapper: ObjectMapper
@BeforeEach
- fun setup(@Autowired requestRepository: RequestRepository) {
+ fun setup(
+ @Autowired mockMvc: MockMvc,
+ @Autowired objectMapper: ObjectMapper,
+ @Autowired requestRepository: RequestRepository
+ ) {
+ this.mockMvc = mockMvc
+ this.objectMapper = objectMapper
requestRepository.deleteAll()
}
@@ -129,6 +137,7 @@ class EtlProcessorApplicationTests : AbstractTestcontainerTest() {
.post("/mtbfile") {
content = objectMapper.writeValueAsString(mtbFile)
contentType = MediaType.APPLICATION_JSON
+ with(user("admin").roles("ADMIN"))
}
.andExpect { status { isAccepted() } }
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 2d1808a..a932ab7 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt
@@ -39,7 +39,7 @@ import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertThrows
import org.springframework.beans.factory.NoSuchBeanDefinitionException
-import org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
+import org.springframework.boot.kafka.autoconfigure.KafkaAutoConfiguration
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.context.ApplicationContext
import org.springframework.retry.support.RetryTemplate
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt
index 35551a9..afaca73 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt
@@ -39,7 +39,7 @@ import org.junit.jupiter.params.provider.ValueSource
import org.mockito.junit.jupiter.MockitoExtension
import org.mockito.kotlin.*
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
+import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest
import org.springframework.http.MediaType
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository
import org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.anonymous
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/monitoring/RequestRepositoryTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/monitoring/RequestRepositoryTest.kt
index 1f561da..98fee3f 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/monitoring/RequestRepositoryTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/monitoring/RequestRepositoryTest.kt
@@ -21,18 +21,18 @@ package dev.dnpm.etl.processor.monitoring
import dev.dnpm.etl.processor.*
import dev.dnpm.etl.processor.output.MtbFileSender
-import java.time.Instant
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.data.jdbc.DataJdbcTest
-import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase
+import org.springframework.boot.data.jdbc.test.autoconfigure.DataJdbcTest
+import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase
import org.springframework.test.context.TestPropertySource
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)
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/ConfigControllerTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/ConfigControllerTest.kt
index 89e1d6c..0e24870 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/ConfigControllerTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/ConfigControllerTest.kt
@@ -32,7 +32,6 @@ import dev.dnpm.etl.processor.security.TokenService
import dev.dnpm.etl.processor.security.UserRoleService
import dev.dnpm.etl.processor.services.RequestProcessor
import dev.dnpm.etl.processor.services.TransformationService
-import java.time.Instant
import org.assertj.core.api.Assertions.assertThat
import org.htmlunit.WebClient
import org.htmlunit.html.HtmlPage
@@ -47,7 +46,7 @@ import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
+import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest
import org.springframework.http.HttpHeaders
import org.springframework.http.MediaType
import org.springframework.http.MediaType.TEXT_EVENT_STREAM
@@ -65,6 +64,7 @@ import org.springframework.test.web.servlet.htmlunit.MockMvcWebClientBuilder
import org.springframework.web.context.WebApplicationContext
import reactor.core.publisher.Sinks
import reactor.test.StepVerifier
+import java.time.Instant
abstract class MockSink : Sinks.Many<Boolean>
@@ -73,7 +73,11 @@ abstract class MockSink : Sinks.Many<Boolean>
@ContextConfiguration(
classes = [ConfigController::class, AppConfiguration::class, AppSecurityConfiguration::class]
)
-@TestPropertySource(properties = ["app.pseudonymize.generator=BUILDIN"])
+@TestPropertySource(properties = [
+ "app.security.admin-user=admin",
+ "app.security.admin-password={noop}very-secret",
+ "app.pseudonymize.generator=BUILDIN"
+])
@MockitoBean(name = "configsUpdateProducer", types = [MockSink::class])
@MockitoBean(
types =
@@ -100,13 +104,15 @@ class ConfigControllerTest {
@Autowired mockMvc: MockMvc,
@Autowired requestProcessor: RequestProcessor,
@Autowired connectionCheckUpdateProducer: Sinks.Many<ConnectionCheckResult>,
+ @Autowired webApplicationContext: WebApplicationContext,
) {
this.mockMvc = mockMvc
- this.webClient = MockMvcWebClientBuilder.mockMvcSetup(mockMvc).build()
+ this.webClient = MockMvcWebClientBuilder.webAppContextSetup(webApplicationContext).build()
this.requestProcessor = requestProcessor
this.connectionCheckUpdateProducer = connectionCheckUpdateProducer
this.webClient.options.isJavaScriptEnabled = false
+ this.webClient.options.isCssEnabled = false
this.webClient.options.isThrowExceptionOnScriptError = false
}
@@ -132,7 +138,7 @@ class ConfigControllerTest {
}
.andExpect {
status { isFound() }
- header { stringValues(HttpHeaders.LOCATION, "http://localhost/login") }
+ header { stringValues(HttpHeaders.LOCATION, "/login") }
}
}
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/HomeControllerTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/HomeControllerTest.kt
index b4be1ff..9e85d08 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/HomeControllerTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/HomeControllerTest.kt
@@ -43,7 +43,7 @@ import org.mockito.junit.jupiter.MockitoExtension
import org.mockito.kotlin.any
import org.mockito.kotlin.whenever
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
+import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest
import org.springframework.data.domain.Page
import org.springframework.data.domain.PageImpl
import org.springframework.data.domain.Pageable
@@ -55,6 +55,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension
import org.springframework.test.web.servlet.MockMvc
import org.springframework.test.web.servlet.get
import org.springframework.test.web.servlet.htmlunit.MockMvcWebClientBuilder
+import org.springframework.web.context.WebApplicationContext
@WebMvcTest(controllers = [HomeController::class])
@ExtendWith(value = [MockitoExtension::class, SpringExtension::class])
@@ -76,9 +77,13 @@ class HomeControllerTest {
private lateinit var webClient: WebClient
@BeforeEach
- fun setup(@Autowired mockMvc: MockMvc, @Autowired requestService: RequestService) {
+ fun setup(
+ @Autowired mockMvc: MockMvc,
+ @Autowired requestService: RequestService,
+ @Autowired webApplicationContext: WebApplicationContext,
+ ) {
this.mockMvc = mockMvc
- this.webClient = MockMvcWebClientBuilder.mockMvcSetup(mockMvc).build()
+ this.webClient = MockMvcWebClientBuilder.webAppContextSetup(webApplicationContext).build()
this.webClient.options.isJavaScriptEnabled = false
whenever(requestService.findAll(any<Pageable>())).thenReturn(Page.empty())
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/LoginControllerTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/LoginControllerTest.kt
index bd8014a..efe36ae 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/LoginControllerTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/LoginControllerTest.kt
@@ -30,7 +30,7 @@ import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.mockito.junit.jupiter.MockitoExtension
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
+import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest
import org.springframework.test.context.ContextConfiguration
import org.springframework.test.context.TestPropertySource
import org.springframework.test.context.bean.override.mockito.MockitoBean
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsControllerTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsControllerTest.kt
index f91e3cf..cb19e1a 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsControllerTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsControllerTest.kt
@@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.mockito.junit.jupiter.MockitoExtension
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
+import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest
import org.springframework.test.context.ContextConfiguration
import org.springframework.test.context.TestPropertySource
import org.springframework.test.context.junit.jupiter.SpringExtension
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsRestControllerTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsRestControllerTest.kt
index aabd634..926f315 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsRestControllerTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/web/StatisticsRestControllerTest.kt
@@ -41,7 +41,7 @@ import org.mockito.junit.jupiter.MockitoExtension
import org.mockito.kotlin.doAnswer
import org.mockito.kotlin.whenever
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
+import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest
import org.springframework.http.MediaType.TEXT_EVENT_STREAM
import org.springframework.test.context.ContextConfiguration
import org.springframework.test.context.TestPropertySource
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/EtlProcessorApplication.kt b/src/main/kotlin/dev/dnpm/etl/processor/EtlProcessorApplication.kt
index 4b9b307..75147ea 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/EtlProcessorApplication.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/EtlProcessorApplication.kt
@@ -20,8 +20,8 @@
package dev.dnpm.etl.processor
import org.springframework.boot.autoconfigure.SpringBootApplication
-import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
import org.springframework.boot.runApplication
+import org.springframework.boot.security.autoconfigure.SecurityAutoConfiguration
@SpringBootApplication(exclude = [SecurityAutoConfiguration::class])
class EtlProcessorApplication
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt
index 40c290a..cb04db3 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt
@@ -40,7 +40,7 @@ import org.springframework.boot.autoconfigure.condition.AnyNestedCondition
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
import org.springframework.boot.context.properties.EnableConfigurationProperties
-import org.springframework.boot.web.client.RestTemplateBuilder
+import org.springframework.boot.restclient.RestTemplateBuilder
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Conditional
import org.springframework.context.annotation.Configuration
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppKafkaConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppKafkaConfiguration.kt
index 2f89dea..24fc58c 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppKafkaConfiguration.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppKafkaConfiguration.kt
@@ -70,7 +70,7 @@ class AppKafkaConfiguration {
kafkaResponseProcessor: KafkaResponseProcessor,
): KafkaMessageListenerContainer<String, String> {
val containerProperties = ContainerProperties(kafkaProperties.outputResponseTopic)
- containerProperties.messageListener = kafkaResponseProcessor
+ containerProperties.setMessageListener(kafkaResponseProcessor)
return KafkaMessageListenerContainer(consumerFactory, containerProperties)
}
@@ -87,8 +87,11 @@ class AppKafkaConfiguration {
kafkaProperties: KafkaProperties,
kafkaInputListener: KafkaInputListener,
): KafkaMessageListenerContainer<String, String> {
+ if (null == kafkaProperties.inputTopic) {
+ throw IllegalArgumentException("Kafka input topic cannot be null")
+ }
val containerProperties = ContainerProperties(kafkaProperties.inputTopic)
- containerProperties.messageListener = kafkaInputListener
+ containerProperties.setMessageListener(kafkaInputListener)
return KafkaMessageListenerContainer(consumerFactory, containerProperties)
}
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt
index e0f24cf..9b48d22 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt
@@ -95,12 +95,12 @@ class AppSecurityConfiguration(private val securityConfigProperties: SecurityCon
authorize("/mtb/**", hasAnyRole("MTBFILE", "ADMIN", "USER"))
authorize("/report/**", hasAnyRole("ADMIN", "USER"))
authorize("/submission/**", hasAnyRole("ADMIN", "USER"))
- authorize("*.css", permitAll)
- authorize("*.ico", permitAll)
- authorize("*.jpeg", permitAll)
- authorize("*.js", permitAll)
- authorize("*.svg", permitAll)
- authorize("*.css", permitAll)
+ authorize("/**/*.css", permitAll)
+ authorize("/**/*.ico", permitAll)
+ authorize("/**/*.jpeg", permitAll)
+ authorize("/**/*.js", permitAll)
+ authorize("/**/*.svg", permitAll)
+ authorize("/**/*.css", permitAll)
authorize("/login/**", permitAll)
authorize(anyRequest, permitAll)
}
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/web/LoginController.kt b/src/main/kotlin/dev/dnpm/etl/processor/web/LoginController.kt
index 7821bf9..9b49f5a 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/web/LoginController.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/web/LoginController.kt
@@ -20,7 +20,7 @@
package dev.dnpm.etl.processor.web
import dev.dnpm.etl.processor.config.SecurityConfigProperties
-import org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties
+import org.springframework.boot.security.oauth2.client.autoconfigure.OAuth2ClientProperties
import org.springframework.stereotype.Controller
import org.springframework.ui.Model
import org.springframework.web.bind.annotation.GetMapping
diff --git a/src/test/java/dev/dnpm/etl/processor/consent/GicsConsentServiceTest.java b/src/test/java/dev/dnpm/etl/processor/consent/GicsConsentServiceTest.java
index e450e4d..22f676b 100644
--- a/src/test/java/dev/dnpm/etl/processor/consent/GicsConsentServiceTest.java
+++ b/src/test/java/dev/dnpm/etl/processor/consent/GicsConsentServiceTest.java
@@ -26,7 +26,7 @@ import org.hl7.fhir.r4.model.Parameters.ParametersParameterComponent;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.client.RestClientTest;
+import org.springframework.boot.restclient.test.autoconfigure.RestClientTest;
import org.springframework.http.MediaType;
import org.springframework.retry.support.RetryTemplate;
import org.springframework.test.context.ContextConfiguration;
diff --git a/src/test/java/dev/dnpm/etl/processor/consent/GicsGetBroadConsentServiceTest.java b/src/test/java/dev/dnpm/etl/processor/consent/GicsGetBroadConsentServiceTest.java
index cced1cf..46da158 100644
--- a/src/test/java/dev/dnpm/etl/processor/consent/GicsGetBroadConsentServiceTest.java
+++ b/src/test/java/dev/dnpm/etl/processor/consent/GicsGetBroadConsentServiceTest.java
@@ -21,7 +21,7 @@ import org.hl7.fhir.r4.model.OperationOutcome.OperationOutcomeIssueComponent;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.client.RestClientTest;
+import org.springframework.boot.restclient.test.autoconfigure.RestClientTest;
import org.springframework.http.MediaType;
import org.springframework.retry.support.RetryTemplate;
import org.springframework.test.context.ContextConfiguration;
diff --git a/src/test/kotlin/dev/dnpm/etl/processor/helpers.kt b/src/test/kotlin/dev/dnpm/etl/processor/helpers.kt
index 495bf38..b7bf436 100644
--- a/src/test/kotlin/dev/dnpm/etl/processor/helpers.kt
+++ b/src/test/kotlin/dev/dnpm/etl/processor/helpers.kt
@@ -25,6 +25,6 @@ import org.junit.jupiter.params.provider.Arguments
import org.junit.jupiter.params.provider.ArgumentsProvider
open class ArgProvider(vararg val data: Arguments) : ArgumentsProvider {
- override fun provideArguments(context: ExtensionContext?): Stream<out Arguments> =
+ override fun provideArguments(context: ExtensionContext): Stream<out Arguments> =
Stream.of(*data)
}
diff --git a/src/test/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSenderTest.kt b/src/test/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSenderTest.kt
index 8adc21c..ac14366 100644
--- a/src/test/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSenderTest.kt
+++ b/src/test/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSenderTest.kt
@@ -31,6 +31,8 @@ import java.util.*
import java.util.concurrent.CompletableFuture.completedFuture
import java.util.concurrent.ExecutionException
import org.apache.kafka.clients.producer.ProducerRecord
+import org.apache.kafka.clients.producer.RecordMetadata
+import org.apache.kafka.common.TopicPartition
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Nested
@@ -77,7 +79,7 @@ class KafkaMtbFileSenderTest {
if (null != testData.exception) {
throw testData.exception
}
- completedFuture(SendResult<String, String>(null, null))
+ completedFuture(SendResult<String, String>(testProducerRecord(), testProducerRecordWithMetadata()))
}
.whenever(kafkaTemplate)
.send(any<ProducerRecord<String, String>>())
@@ -98,7 +100,7 @@ class KafkaMtbFileSenderTest {
if (null != testData.exception) {
throw testData.exception
}
- completedFuture(SendResult<String, String>(null, null))
+ completedFuture(SendResult<String, String>(testProducerRecord(), testProducerRecordWithMetadata()))
}
.whenever(kafkaTemplate)
.send(any<ProducerRecord<String, String>>())
@@ -145,7 +147,7 @@ class KafkaMtbFileSenderTest {
if (null != testData.exception) {
throw testData.exception
}
- completedFuture(SendResult<String, String>(null, null))
+ completedFuture(SendResult<String, String>(testProducerRecord(), testProducerRecordWithMetadata()))
}
.whenever(kafkaTemplate)
.send(any<ProducerRecord<String, String>>())
@@ -156,7 +158,7 @@ class KafkaMtbFileSenderTest {
@Test
fun shouldSendMtbFileRequestWithCorrectKeyAndHeaderAndBody() {
- doAnswer { completedFuture(SendResult<String, String>(null, null)) }
+ doAnswer { completedFuture(SendResult<String, String>(testProducerRecord(), testProducerRecordWithMetadata())) }
.whenever(kafkaTemplate)
.send(any<ProducerRecord<String, String>>())
@@ -182,7 +184,7 @@ class KafkaMtbFileSenderTest {
@Test
fun shouldSendDeleteRequestWithCorrectKeyAndHeaderAndBody() {
- doAnswer { completedFuture(SendResult<String, String>(null, null)) }
+ doAnswer { completedFuture(SendResult<String, String>(testProducerRecord(), testProducerRecordWithMetadata())) }
.whenever(kafkaTemplate)
.send(any<ProducerRecord<String, String>>())
@@ -216,7 +218,7 @@ class KafkaMtbFileSenderTest {
if (null != testData.exception) {
throw testData.exception
}
- completedFuture(SendResult<String, String>(null, null))
+ completedFuture(SendResult<String, String>(testProducerRecord(), testProducerRecordWithMetadata()))
}
.whenever(kafkaTemplate)
.send(any<ProducerRecord<String, String>>())
@@ -235,6 +237,16 @@ class KafkaMtbFileSenderTest {
}
}
+ fun testProducerRecord(): ProducerRecord<String, String> {
+ return ProducerRecord<String, String>("testtopic", "testkey", "testvalue")
+ }
+
+ fun testProducerRecordWithMetadata(): RecordMetadata {
+ return RecordMetadata(
+ TopicPartition("testtopic", 0), 0, 0, Instant.now().epochSecond, 0, 0
+ )
+ }
+
companion object {
val TEST_REQUEST_ID = RequestId("TestId")
val TEST_PATIENT_PSEUDONYM = PatientPseudonym("PID")