summaryrefslogtreecommitdiff
path: root/src/test/kotlin/dev
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2025-10-27 13:52:08 +0100
committerGitHub2025-10-27 13:52:08 +0100
commitaf27399fcc8283ee2a2d1eab64280f200e85995d (patch)
tree9cd30eeb8410a6bcfdb51092ed842d64d11be12c /src/test/kotlin/dev
parenta5805ef288e524040b1298c867588d719f5fef3a (diff)
fix: use correct gPAS URI for connection test (#166)
Diffstat (limited to 'src/test/kotlin/dev')
-rw-r--r--src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt141
1 files changed, 141 insertions, 0 deletions
diff --git a/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt b/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt
new file mode 100644
index 0000000..7205714
--- /dev/null
+++ b/src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt
@@ -0,0 +1,141 @@
+package dev.dnpm.etl.processor.monitoring
+
+import dev.dnpm.etl.processor.config.GIcsConfigProperties
+import dev.dnpm.etl.processor.config.GPasConfigProperties
+import dev.dnpm.etl.processor.config.RestTargetProperties
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Nested
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.extension.ExtendWith
+import org.mockito.Mock
+import org.mockito.junit.jupiter.MockitoExtension
+import org.springframework.http.HttpMethod
+import org.springframework.http.MediaType
+import org.springframework.test.web.client.MockRestServiceServer
+import org.springframework.test.web.client.match.MockRestRequestMatchers.method
+import org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo
+import org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess
+import org.springframework.web.client.RestTemplate
+import reactor.core.publisher.Sinks
+
+@ExtendWith(MockitoExtension::class)
+class ConnectionCheckServiceTest {
+
+ @Nested
+ inner class RestConnectionCheckServiceTest {
+
+ lateinit var mockRestServiceServer: MockRestServiceServer
+ lateinit var service: RestConnectionCheckService
+
+ @BeforeEach
+ fun setUp(
+ @Mock sink: Sinks.Many<ConnectionCheckResult>
+ ) {
+ val restTemplate = RestTemplate()
+ this.mockRestServiceServer = MockRestServiceServer.createServer(restTemplate)
+
+ val restTargetProperties = RestTargetProperties(
+ "http://localhost/api",
+ "user",
+ "password",
+ )
+
+ this.service = RestConnectionCheckService(restTemplate, restTargetProperties, sink)
+ }
+
+ @Test
+ fun shouldSendRequestToCorrectUri() {
+ this.mockRestServiceServer
+ .expect(method(HttpMethod.GET))
+ .andExpect(requestTo("http://localhost/api/mtb/kaplan-meier/config"))
+ .andRespond(
+ withSuccess("OK", MediaType.APPLICATION_JSON),
+ )
+
+ this.service.check()
+
+ this.mockRestServiceServer.verify()
+
+ }
+ }
+
+ @Nested
+ inner class GPasConnectionCheckServiceTest {
+
+ lateinit var mockRestServiceServer: MockRestServiceServer
+ lateinit var service: GPasConnectionCheckService
+
+ @BeforeEach
+ fun setUp(
+ @Mock sink: Sinks.Many<ConnectionCheckResult>
+ ) {
+ val restTemplate = RestTemplate()
+ this.mockRestServiceServer = MockRestServiceServer.createServer(restTemplate)
+
+ val gpasTargetProperties = GPasConfigProperties(
+ "http://localhost/gpas",
+ null,
+ "patientDomain",
+ "genomDeTanDomain",
+ "username",
+ "password",
+ )
+
+ this.service = GPasConnectionCheckService(restTemplate, gpasTargetProperties, sink)
+ }
+
+ @Test
+ fun shouldSendRequestToCorrectUri() {
+ this.mockRestServiceServer
+ .expect(method(HttpMethod.GET))
+ .andExpect(requestTo("http://localhost/gpas/metadata"))
+ .andRespond(
+ withSuccess("OK", MediaType.APPLICATION_JSON),
+ )
+
+ this.service.check()
+
+ this.mockRestServiceServer.verify()
+
+ }
+ }
+
+ @Nested
+ inner class GIcsConnectionCheckServiceTest {
+
+ lateinit var mockRestServiceServer: MockRestServiceServer
+ lateinit var service: GIcsConnectionCheckService
+
+ @BeforeEach
+ fun setUp(
+ @Mock sink: Sinks.Many<ConnectionCheckResult>
+ ) {
+ val restTemplate = RestTemplate()
+ this.mockRestServiceServer = MockRestServiceServer.createServer(restTemplate)
+
+ val gicsTargetProperties = GIcsConfigProperties(
+ "http://localhost/gics",
+ "username",
+ "password",
+ )
+
+ this.service = GIcsConnectionCheckService(restTemplate, gicsTargetProperties, sink)
+ }
+
+ @Test
+ fun shouldSendRequestToCorrectUri() {
+ this.mockRestServiceServer
+ .expect(method(HttpMethod.GET))
+ .andExpect(requestTo("http://localhost/gics/metadata"))
+ .andRespond(
+ withSuccess("OK", MediaType.APPLICATION_JSON),
+ )
+
+ this.service.check()
+
+ this.mockRestServiceServer.verify()
+
+ }
+ }
+
+} \ No newline at end of file