summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2024-01-19 13:10:36 +0100
committerPaul-Christian Volkmer2024-01-19 13:10:36 +0100
commitf5df0b5d22a80e5d9ada3c46fba9c32742a33db6 (patch)
tree27788579952103989792e1ae473aa8aeb4dc3f4e /src
parent972ac745e9b263e6c406f0447b5f5347fabfc751 (diff)
test: add tests to ensure TokenService is present if required
Diffstat (limited to 'src')
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt48
1 files changed, 47 insertions, 1 deletions
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 d67b23a..b4e4b92 100644
--- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt
+++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/config/AppConfigurationTest.kt
@@ -25,6 +25,8 @@ import dev.dnpm.etl.processor.output.KafkaMtbFileSender
import dev.dnpm.etl.processor.output.RestMtbFileSender
import dev.dnpm.etl.processor.pseudonym.AnonymizingGenerator
import dev.dnpm.etl.processor.pseudonym.GpasPseudonymGenerator
+import dev.dnpm.etl.processor.services.TokenRepository
+import dev.dnpm.etl.processor.services.TokenService
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test
@@ -33,12 +35,21 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException
import org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.boot.test.mock.mockito.MockBean
+import org.springframework.boot.test.mock.mockito.MockBeans
import org.springframework.context.ApplicationContext
+import org.springframework.security.crypto.password.PasswordEncoder
+import org.springframework.security.provisioning.InMemoryUserDetailsManager
import org.springframework.test.context.ContextConfiguration
import org.springframework.test.context.TestPropertySource
@SpringBootTest
-@ContextConfiguration(classes = [AppConfiguration::class, KafkaAutoConfiguration::class, AppKafkaConfiguration::class, AppRestConfiguration::class])
+@ContextConfiguration(classes = [
+ AppConfiguration::class,
+ AppSecurityConfiguration::class,
+ KafkaAutoConfiguration::class,
+ AppKafkaConfiguration::class,
+ AppRestConfiguration::class
+])
@MockBean(ObjectMapper::class)
@TestPropertySource(
properties = [
@@ -190,6 +201,41 @@ class AppConfigurationTest {
}
+ @Nested
+ @TestPropertySource(
+ properties = [
+ "app.security.enable-tokens=true"
+ ]
+ )
+ @MockBeans(value = [
+ MockBean(InMemoryUserDetailsManager::class),
+ MockBean(PasswordEncoder::class),
+ MockBean(TokenRepository::class)
+ ])
+ inner class AppConfigurationTokenEnabledTest(private val context: ApplicationContext) {
+
+ @Test
+ fun checkTokenService() {
+ assertThat(context.getBean(TokenService::class.java)).isNotNull
+ }
+
+ }
+
+ @Nested
+ @MockBeans(value = [
+ MockBean(InMemoryUserDetailsManager::class),
+ MockBean(PasswordEncoder::class),
+ MockBean(TokenRepository::class)
+ ])
+ inner class AppConfigurationTokenDisabledTest(private val context: ApplicationContext) {
+
+ @Test
+ fun checkTokenService() {
+ assertThrows<NoSuchBeanDefinitionException> { context.getBean(TokenService::class.java) }
+ }
+
+ }
+
}
} \ No newline at end of file