From ae5d8341cc7173edd7e47c7bc4d1f4b14290988a Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 2 May 2024 10:12:40 +0200 Subject: [PATCH] refactor: use RequestService in ResponseProcessor --- .../processor/services/ResponseProcessor.kt | 7 +++---- .../services/ResponseProcessorTest.kt | 21 +++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/ResponseProcessor.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/ResponseProcessor.kt index 4048348..cabd26f 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/ResponseProcessor.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/ResponseProcessor.kt @@ -20,7 +20,6 @@ package dev.dnpm.etl.processor.services import dev.dnpm.etl.processor.monitoring.Report -import dev.dnpm.etl.processor.monitoring.RequestRepository import dev.dnpm.etl.processor.monitoring.RequestStatus import org.slf4j.LoggerFactory import org.springframework.context.event.EventListener @@ -31,7 +30,7 @@ import java.util.* @Service class ResponseProcessor( - private val requestRepository: RequestRepository, + private val requestService: RequestService, private val statisticsUpdateProducer: Sinks.Many ) { @@ -39,7 +38,7 @@ class ResponseProcessor( @EventListener(classes = [ResponseEvent::class]) fun handleResponseEvent(event: ResponseEvent) { - requestRepository.findByUuidEquals(event.requestUuid).ifPresentOrElse({ + requestService.findByUuid(event.requestUuid).ifPresentOrElse({ it.processedAt = event.timestamp it.status = event.status @@ -76,7 +75,7 @@ class ResponseProcessor( } } - requestRepository.save(it) + requestService.save(it) statisticsUpdateProducer.emitNext("", Sinks.EmitFailureHandler.FAIL_FAST) }, { diff --git a/src/test/kotlin/dev/dnpm/etl/processor/services/ResponseProcessorTest.kt b/src/test/kotlin/dev/dnpm/etl/processor/services/ResponseProcessorTest.kt index c96fe8f..92d899a 100644 --- a/src/test/kotlin/dev/dnpm/etl/processor/services/ResponseProcessorTest.kt +++ b/src/test/kotlin/dev/dnpm/etl/processor/services/ResponseProcessorTest.kt @@ -21,7 +21,6 @@ package dev.dnpm.etl.processor.services import dev.dnpm.etl.processor.Fingerprint 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 org.assertj.core.api.Assertions.assertThat @@ -41,7 +40,7 @@ import java.util.* @ExtendWith(MockitoExtension::class) class ResponseProcessorTest { - private lateinit var requestRepository: RequestRepository + private lateinit var requestService: RequestService private lateinit var statisticsUpdateProducer: Sinks.Many private lateinit var responseProcessor: ResponseProcessor @@ -58,20 +57,20 @@ class ResponseProcessorTest { @BeforeEach fun setup( - @Mock requestRepository: RequestRepository, + @Mock requestService: RequestService, @Mock statisticsUpdateProducer: Sinks.Many ) { - this.requestRepository = requestRepository + this.requestService = requestService this.statisticsUpdateProducer = statisticsUpdateProducer - this.responseProcessor = ResponseProcessor(requestRepository, statisticsUpdateProducer) + this.responseProcessor = ResponseProcessor(requestService, statisticsUpdateProducer) } @Test fun shouldNotSaveStatusForUnknownRequest() { doAnswer { Optional.empty() - }.whenever(requestRepository).findByUuidEquals(anyString()) + }.whenever(requestService).findByUuid(anyString()) val event = ResponseEvent( "TestID1234", @@ -81,14 +80,14 @@ class ResponseProcessorTest { this.responseProcessor.handleResponseEvent(event) - verify(requestRepository, never()).save(any()) + verify(requestService, never()).save(any()) } @Test fun shouldNotSaveStatusWithUnknownState() { doAnswer { Optional.of(testRequest) - }.whenever(requestRepository).findByUuidEquals(anyString()) + }.whenever(requestService).findByUuid(anyString()) val event = ResponseEvent( "TestID1234", @@ -98,7 +97,7 @@ class ResponseProcessorTest { this.responseProcessor.handleResponseEvent(event) - verify(requestRepository, never()).save(any()) + verify(requestService, never()).save(any()) } @ParameterizedTest @@ -106,7 +105,7 @@ class ResponseProcessorTest { fun shouldSaveStatusForKnownRequest(requestStatus: RequestStatus) { doAnswer { Optional.of(testRequest) - }.whenever(requestRepository).findByUuidEquals(anyString()) + }.whenever(requestService).findByUuid(anyString()) val event = ResponseEvent( "TestID1234", @@ -117,7 +116,7 @@ class ResponseProcessorTest { this.responseProcessor.handleResponseEvent(event) val captor = argumentCaptor() - verify(requestRepository, times(1)).save(captor.capture()) + verify(requestService, times(1)).save(captor.capture()) assertThat(captor.firstValue).isNotNull assertThat(captor.firstValue.status).isEqualTo(requestStatus) }