From db4ac32255bd33b4f27d976bec8a4c5ef72c9490 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 19 Apr 2024 13:36:28 +0200 Subject: [PATCH] PR Kommentare bearbeitet --- .../antragraum/AntragraumNachrichtMapper.java | 2 +- .../antragraum/AntragraumGrpcServiceTest.java | 7 ++++ .../AntragraumNachrichtMapperTest.java | 7 ++++ .../antragraum/AntragraumServiceTest.java | 32 +++++++++++++++++++ .../GrpcRueckfrageAnswerTestFactory.java | 23 +++++++++++++ ...endRueckfrageAnswerRequestTestFactory.java | 19 +++++++++++ 6 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcRueckfrageAnswerTestFactory.java create mode 100644 src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcSendRueckfrageAnswerRequestTestFactory.java diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java index da60d2b..cb54984 100644 --- a/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java +++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java @@ -49,7 +49,7 @@ interface AntragraumNachrichtMapper { @Mapping(target = "direction", ignore = true) @Mapping(target = "id", ignore = true) @Mapping(target = "messageCode", ignore = true) - @Mapping(target = "messageId", ignore = true) + @Mapping(target = "messageId", source = "rueckfrageId") @Mapping(target = "postfachAddress", ignore = true) @Mapping(target = "postfachId", ignore = true) @Mapping(target = "replyOption", ignore = true) diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java index c4a452e..968c13b 100644 --- a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcServiceTest.java @@ -103,6 +103,13 @@ class AntragraumGrpcServiceTest { verify(mapper).toPostfachNachricht(any(GrpcRueckfrageAnswer.class)); } + @Test + void shouldCallAntragraumService() { + antragsraumGrpcService.sendRueckfrageAnswer(GrpcSendRueckfrageAnswerRequestTestFactory.create(), streamObserver); + + verify(antragraumService).sendRueckfrageAnswer(anyString(), anyString(), any(PostfachNachricht.class)); + } + @Test void shouldCallOnNext() { antragsraumGrpcService.sendRueckfrageAnswer(GrpcSendRueckfrageAnswerRequestTestFactory.create(), streamObserver); diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java index 8c071bb..5ff78a9 100644 --- a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java @@ -104,6 +104,13 @@ class AntragraumNachrichtMapperTest { assertThat(result.getMailBody()).isEqualTo(GrpcRueckfrageAnswerTestFactory.TEXT); } + @Test + void shouldMapMessageId() { + var result = map(); + + assertThat(result.getMessageId()).isEqualTo(GrpcRueckfrageAnswerTestFactory.RUECKFRAGE_ID); + } + @Test void shouldMapAttachmentIds() { var result = map(); diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java index 887e0f4..1b8cfe1 100644 --- a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java @@ -4,6 +4,8 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; +import java.util.UUID; + import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; @@ -13,6 +15,8 @@ import org.opensaml.saml.saml2.core.Response; import de.ozgcloud.nachrichten.NachrichtenManagerProperties; import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService; +import de.ozgcloud.nachrichten.postfach.PostfachNachricht; +import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; class AntragraumServiceTest { @Spy @@ -84,4 +88,32 @@ class AntragraumServiceTest { verify(postfachNachrichtService).findRueckfragen(anyString()); } } + + @Nested + class TestSendRueckfragenAnswers { + static final String SAML_TOKEN = "TOKEN"; + static final String RUECKFRAGE_ID = UUID.randomUUID().toString(); + static final PostfachNachricht NACHRICHT = PostfachNachrichtTestFactory.create(); + + @Test + void shouldCallVerify() { + service.sendRueckfrageAnswer(SAML_TOKEN, RUECKFRAGE_ID, NACHRICHT); + + verify(service).verifyToken(anyString()); + } + + @Test + void shouldCallVerifier() { + service.findRueckfragen(SAML_TOKEN); + + verify(verifier).verify(anyString()); + } + + @Test + void shouldCallPostfachService() { + service.sendRueckfrageAnswer(SAML_TOKEN, RUECKFRAGE_ID, NACHRICHT); + + verify(postfachNachrichtService).persistAnswer(anyString(), any(PostfachNachricht.class)); + } + } } \ No newline at end of file diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcRueckfrageAnswerTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcRueckfrageAnswerTestFactory.java new file mode 100644 index 0000000..6c0fb28 --- /dev/null +++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcRueckfrageAnswerTestFactory.java @@ -0,0 +1,23 @@ +package de.ozgcloud.nachrichten.antragraum; + +import java.util.List; +import java.util.UUID; + +import com.thedeanda.lorem.LoremIpsum; + +public class GrpcRueckfrageAnswerTestFactory { + static final String RUECKFRAGE_ID = UUID.randomUUID().toString(); + static final String TEXT = LoremIpsum.getInstance().getParagraphs(2, 4); + static final List<String> ATTACHMENT_ID_LIST = List.of(UUID.randomUUID().toString()); + + static GrpcRueckfrageAnswer create() { + return createBuilder().build(); + } + + static GrpcRueckfrageAnswer.Builder createBuilder() { + return GrpcRueckfrageAnswer.newBuilder() + .setRueckfrageId(RUECKFRAGE_ID) + .setAnswerText(TEXT) + .addAllAttachmentFileId(ATTACHMENT_ID_LIST); + } +} diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcSendRueckfrageAnswerRequestTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcSendRueckfrageAnswerRequestTestFactory.java new file mode 100644 index 0000000..f1fa9bc --- /dev/null +++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcSendRueckfrageAnswerRequestTestFactory.java @@ -0,0 +1,19 @@ +package de.ozgcloud.nachrichten.antragraum; + +import de.ozgcloud.common.test.TestUtils; + +public class GrpcSendRueckfrageAnswerRequestTestFactory { + static final String SAML_TOKEN = TestUtils.loadTextFile("SamlResponse.xml"); + static final GrpcRueckfrageAnswer ANSWER = GrpcRueckfrageAnswerTestFactory.create(); + + static GrpcSendRueckfrageAnswerRequest create() { + return createBuilder().build(); + } + + static GrpcSendRueckfrageAnswerRequest.Builder createBuilder() { + return GrpcSendRueckfrageAnswerRequest.newBuilder() + .setAnswer(ANSWER) + .setSamlToken(SAML_TOKEN); + } + +} -- GitLab