From 0302f3bfe1c80c9e605e12e014b6e80427a42bb5 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 24 Jun 2024 09:47:53 +0200 Subject: [PATCH] OZG-5666 throw exception if no rueckfrage exists --- .../nachrichten/antragraum/AntragraumGrpcService.java | 4 +++- .../nachrichten/antragraum/AntragraumGrpcServiceTest.java | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java index 40f4824..3684ce3 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java @@ -30,6 +30,7 @@ import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import io.grpc.stub.StreamObserver; import lombok.RequiredArgsConstructor; @@ -79,7 +80,8 @@ class AntragraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplB Rueckfrage getRueckfrage(String samlToken, String postfachNachrichtId) { return antragraumService.findRueckfragen(samlToken) .filter(rueckfrage -> StringUtils.equals(rueckfrage.getId(), postfachNachrichtId)) - .toList().getFirst(); + .findFirst() + .orElseThrow(() -> new TechnicalException(String.format("No rueckfrage found for answer with id %s", postfachNachrichtId))); } PostfachNachricht enrichRueckfrageAnswer(PostfachNachricht answer, Rueckfrage rueckfrage) { diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java index f995413..6b96cc3 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java @@ -37,6 +37,7 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; +import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; import io.grpc.stub.StreamObserver; @@ -183,6 +184,13 @@ class AntragraumGrpcServiceTest { assertThat(rueckfrage).isEqualTo(matchingRueckfrage); } + @Test + void shouldThrowExceptionIfNoRueckfrageExists() { + when(service.findRueckfragen(any())).thenReturn(Stream.empty()); + + assertThatThrownBy(() -> getRueckfrage()).isInstanceOf(TechnicalException.class); + } + private Rueckfrage getRueckfrage() { return grpcService.getRueckfrage(GrpcSendRueckfrageAnswerRequestTestFactory.SAML_TOKEN, GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID); -- GitLab