From af27399fcc8283ee2a2d1eab64280f200e85995d Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 27 Oct 2025 13:52:08 +0100 Subject: fix: use correct gPAS URI for connection test (#166) --- .../monitoring/ConnectionCheckServiceTest.kt | 141 +++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 src/test/kotlin/dev/dnpm/etl/processor/monitoring/ConnectionCheckServiceTest.kt (limited to 'src/test/kotlin/dev/dnpm/etl/processor') 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 + ) { + 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 + ) { + 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 + ) { + 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 -- cgit v1.2.3