diff --git a/nachrichten-manager-interface/src/test/java/de/ozgcloud/nachrichten/postfach/GrpcPostfachMailTestFactory.java b/nachrichten-manager-interface/src/test/java/de/ozgcloud/nachrichten/postfach/GrpcPostfachMailTestFactory.java index c1cd02759d0ad7ec66bd264b9e1e748c5214fe36..ba5b03afea929314f41c94510e441ad82c05a6e2 100644 --- a/nachrichten-manager-interface/src/test/java/de/ozgcloud/nachrichten/postfach/GrpcPostfachMailTestFactory.java +++ b/nachrichten-manager-interface/src/test/java/de/ozgcloud/nachrichten/postfach/GrpcPostfachMailTestFactory.java @@ -37,7 +37,7 @@ public class GrpcPostfachMailTestFactory { public static final String SENT_AT = "2020-04-01T11:30:10Z"; public static final String MESSAGE_CODE = "message.code"; public static final GrpcDirection DIRECTION = GrpcDirection.IN; - private static final String SUBJECT = "Test Subject"; + public static final String SUBJECT = "Test Subject"; public static final String MAIL_BODY = "Body\nString"; public static final String REPLY_OPTION = "MANDATORY"; public static final String ATTACHMENT_FILE_ID = "21"; diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java index b92feadbfde4588baa60081f5b41244946cb34e4..857a8c1fe816e3fd24a50ff19a57abadd29d7666 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java @@ -48,7 +48,6 @@ import de.ozgcloud.nachrichten.attributes.ClientAttributeService; import de.ozgcloud.nachrichten.info.InfoManagerService; import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction; import de.ozgcloud.nachrichten.postfach.PostfachNachricht.ReplyOption; -import de.ozgcloud.nachrichten.postfach.osi.OsiPostfachServerProcessException; import de.ozgcloud.vorgang.callcontext.CurrentUserService; import lombok.NonNull; import lombok.extern.log4j.Log4j2; @@ -195,7 +194,7 @@ class PostfachService { boolean shouldNotifyAntragsraum(PostfachNachricht postfachNachricht) { return REPLY_POSSIBLE_OPTION.contains(postfachNachricht.getReplyOption()) && findPostfachRemoteService(postfachNachricht.getPostfachAddress().getServiceKontoType()).filter(this::isPostfachWithAntragsraum) - .isPresent(); + .isPresent(); } Optional<PostfachNachricht> adjustPostfachNachricht(PostfachNachricht nachricht) { @@ -203,8 +202,7 @@ class PostfachService { } void logSendPostfachNachrichtFailed(String commandId, PostfachException exception) { - if (exception instanceof OsiPostfachServerProcessException - || exception.getMessageCode() == PostfachMessageCode.SEND_FAILED_UNKNOWN_POSTFACH_ID_MESSAGE_CODE) { + if (exception.getMessageCode() == PostfachMessageCode.SEND_FAILED_UNKNOWN_POSTFACH_ID_MESSAGE_CODE) { LOG.warn("Failed to send mail with commandId: {}", commandId, exception); } else { LOG.error("Failed to send mail with commandId: {}", commandId, exception); 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 cde69a9d74df8dc17d6fa5aedf4859282c59e717..2429e3c82bb0fc001ec3ff1dc62bdd7ba0d783ee 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 @@ -60,7 +60,6 @@ import de.ozgcloud.nachrichten.common.vorgang.VorgangService; import de.ozgcloud.nachrichten.common.vorgang.VorgangTestFactory; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; import io.grpc.stub.CallStreamObserver; import io.grpc.stub.StreamObserver; @@ -364,7 +363,7 @@ class AntragraumGrpcServiceTest { void shouldCallVorgangService() { enhanceRueckfrage(); - verify(vorgangService).getVorgang(MessageTestFactory.VORGANG_ID); + verify(vorgangService).getVorgang(PostfachNachrichtTestFactory.VORGANG_ID); } @Test diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java index ffda45abc90ea43778a91908668c572f9f671ca3..d754f48b47af09afff48c253bd24cc47ddee373e 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java @@ -38,7 +38,6 @@ import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtMapper; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; import lombok.SneakyThrows; class AntragraumServiceTest { @@ -712,7 +711,7 @@ class AntragraumServiceTest { @BeforeEach void mock() { - when(vorgangService.getVorgang(MessageTestFactory.VORGANG_ID)).thenReturn(vorgang); + when(vorgangService.getVorgang(PostfachNachrichtTestFactory.VORGANG_ID)).thenReturn(vorgang); doNothing().when(service).verifyPostfachId(AttachmentFileRequestTestFactory.TOKEN, nachricht, vorgang); doNothing().when(service).verifyTrustLevel(AttachmentFileRequestTestFactory.TOKEN, nachricht, vorgang); } @@ -721,7 +720,7 @@ class AntragraumServiceTest { void shouldCallVorgangService() { verifyAccessToPostfach(); - verify(vorgangService).getVorgang(MessageTestFactory.VORGANG_ID); + verify(vorgangService).getVorgang(PostfachNachrichtTestFactory.VORGANG_ID); } @Test diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcNachrichtTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcNachrichtTestFactory.java index d68eddcfbe828b438ebd7665f23effd3899ec564..8847628a1177b4e5156b8a4765b0ebdc45cd45d4 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcNachrichtTestFactory.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcNachrichtTestFactory.java @@ -2,7 +2,7 @@ package de.ozgcloud.nachrichten.antragraum; import de.ozgcloud.info.nachricht.GrpcNachricht; import de.ozgcloud.nachrichten.info.InfoManagerRequestTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; +import de.ozgcloud.nachrichten.postfach.PostfachAddressTestFactory; public class GrpcNachrichtTestFactory { @@ -12,7 +12,7 @@ public class GrpcNachrichtTestFactory { public static GrpcNachricht.Builder createBuilder() { return GrpcNachricht.newBuilder() - .setPostfachId(MessageTestFactory.POSTFACH_ID) + .setPostfachId(PostfachAddressTestFactory.POSTFACH_ID) .setNachrichtenListUrl(InfoManagerRequestTestFactory.NACHRICHTEN_MANAGER_URL); } } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/RueckfrageMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/RueckfrageMapperTest.java index 7fc8bf3676f32b4c24aeb8795e43ee06193bcb86..0940589e9a36b3baf1f1568fdd8a57925ab90fbc 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/RueckfrageMapperTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/RueckfrageMapperTest.java @@ -16,7 +16,6 @@ import de.ozgcloud.nachrichten.common.vorgang.VorgangTestFactory; import de.ozgcloud.nachrichten.postfach.PostfachAddressTestFactory; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; class RueckfrageMapperTest { @@ -37,7 +36,7 @@ class RueckfrageMapperTest { void shouldMapVorgangId() { var mapped = mapFromPostfachNachricht(); - assertThat(mapped.getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID); + assertThat(mapped.getVorgangId()).isEqualTo(PostfachNachrichtTestFactory.VORGANG_ID); } @Test diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangServiceTest.java index 5a841932662527c5998a97e3746b2f295b633b53..28ea9d7db19f52148eae318bfeed5b9d21aafd3c 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangServiceTest.java @@ -14,8 +14,8 @@ import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; +import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; import de.ozgcloud.nachrichten.postfach.PostfachTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; class VorgangServiceTest { @@ -64,14 +64,14 @@ class VorgangServiceTest { @Test void shouldCallRemoteService() { - service.getVorgang(MessageTestFactory.VORGANG_ID); + service.getVorgang(PostfachNachrichtTestFactory.VORGANG_ID); - verify(remoteService).getVorgang(MessageTestFactory.VORGANG_ID); + verify(remoteService).getVorgang(PostfachNachrichtTestFactory.VORGANG_ID); } @Test void shouldReturnValue() { - var vorgang = service.getVorgang(MessageTestFactory.VORGANG_ID); + var vorgang = service.getVorgang(PostfachNachrichtTestFactory.VORGANG_ID); assertThat(vorgang).isEqualTo(returnedVorgang); } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/email/MailServiceITCase.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/email/MailServiceITCase.java index 3708772085cc7349c4aace9d0235c03f9ad2ef04..78bf7d8f7c7aeb4762063c1057ffb0279a2bd69b 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/email/MailServiceITCase.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/email/MailServiceITCase.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.function.Executable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.TestPropertySource; import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextAttachingInterceptor; import de.ozgcloud.common.test.ITCase; diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerRequestTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerRequestTestFactory.java index 0690a65817010332a7bb2a68ad277f0d57192777..2aedc66cac96c158cd356a6cee46c96419b90277 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerRequestTestFactory.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerRequestTestFactory.java @@ -1,7 +1,7 @@ package de.ozgcloud.nachrichten.info; +import de.ozgcloud.nachrichten.postfach.PostfachAddressTestFactory; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; public class InfoManagerRequestTestFactory { @@ -14,8 +14,8 @@ public class InfoManagerRequestTestFactory { private static InfoManagerRequest.InfoManagerRequestBuilder createBuilder() { return InfoManagerRequest.builder() .nachrichtId(PostfachNachrichtTestFactory.ID) - .vorgangId(MessageTestFactory.VORGANG_ID) - .postfachId(MessageTestFactory.POSTFACH_ID) + .vorgangId(PostfachNachrichtTestFactory.VORGANG_ID) + .postfachId(PostfachAddressTestFactory.POSTFACH_ID) .nachrichtenManagerUrl(NACHRICHTEN_MANAGER_URL); } } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java index ca6c910141e2ebbba0e3dee44fc398417411e56c..61e193c0cc603e5b52122946c94793a886d95ea9 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java @@ -18,7 +18,6 @@ import de.ozgcloud.nachrichten.postfach.PostfachException; import de.ozgcloud.nachrichten.postfach.PostfachMessageCode; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; class InfoManagerServiceTest { @@ -78,14 +77,14 @@ class InfoManagerServiceTest { void shouldSetVorgangId() { var request = buildInfomanagerNachricht(); - assertThat(request.getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID); + assertThat(request.getVorgangId()).isEqualTo(PostfachNachrichtTestFactory.VORGANG_ID); } @Test void shouldSetPostfachId() { var request = buildInfomanagerNachricht(); - assertThat(request.getPostfachId()).isEqualTo(MessageTestFactory.POSTFACH_ID); + assertThat(request.getPostfachId()).isEqualTo(PostfachAddressTestFactory.POSTFACH_ID); } @Test @@ -111,7 +110,7 @@ class InfoManagerServiceTest { var id = service.getPostfachId(address); - assertThat(id).isEqualTo(PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE); + assertThat(id).isEqualTo(PostfachAddressTestFactory.POSTFACH_ID); } @Test diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfomanagerNachrichtMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfomanagerNachrichtMapperTest.java index f76881fe82bfeef382eec11febba2267b4f34e97..2dab18c4d273028f29e11f2c705fe485e0ac9cc5 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfomanagerNachrichtMapperTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfomanagerNachrichtMapperTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Test; import org.mapstruct.factory.Mappers; import de.ozgcloud.info.nachricht.GrpcNachricht; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; +import de.ozgcloud.nachrichten.postfach.PostfachAddressTestFactory; class InfomanagerNachrichtMapperTest { @@ -16,7 +16,7 @@ class InfomanagerNachrichtMapperTest { void shouldMapPostfachId() { var result = map(); - assertThat(result.getPostfachId()).isEqualTo(MessageTestFactory.POSTFACH_ID); + assertThat(result.getPostfachId()).isEqualTo(PostfachAddressTestFactory.POSTFACH_ID); } @Test diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteServiceTest.java index 62969f468a20003d0446dd1d345f32f6c39d625a..571e8576eec45571c11da786717bf289901fbcee 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteServiceTest.java @@ -40,7 +40,6 @@ import org.mockito.Mock; import org.mockito.Spy; import de.ozgcloud.nachrichten.common.grpc.NachrichtenCallContextAttachingInterceptor; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; import de.ozgcloud.vorgang.common.GrpcObject; import de.ozgcloud.vorgang.common.GrpcProperty; import de.ozgcloud.vorgang.vorgangAttachedItem.GrpcFindVorgangAttachedItemRequest; @@ -81,30 +80,30 @@ class AttachedItemRemoteServiceTest { @Test void shouldCallGetVorgangAttachedItemServiceStub() { - service.findReplyAllowedPostfachNachrichts(MessageTestFactory.VORGANG_ID); + service.findReplyAllowedPostfachNachrichts(PostfachNachrichtTestFactory.VORGANG_ID); verify(service).getVorgangAttachedItemServiceStub(); } @Test void shouldCallBuildFindRequest() { - service.findReplyAllowedPostfachNachrichts(MessageTestFactory.VORGANG_ID); + service.findReplyAllowedPostfachNachrichts(PostfachNachrichtTestFactory.VORGANG_ID); - verify(service).buildFindRequest(MessageTestFactory.VORGANG_ID); + verify(service).buildFindRequest(PostfachNachrichtTestFactory.VORGANG_ID); } @Test void shouldCallFind() { doReturn(grpcFindVorgangAttachedItemRequest).when(service).buildFindRequest(anyString()); - service.findReplyAllowedPostfachNachrichts(MessageTestFactory.VORGANG_ID); + service.findReplyAllowedPostfachNachrichts(PostfachNachrichtTestFactory.VORGANG_ID); verify(vorgangAttachedItemServiceBlockingStub).find(grpcFindVorgangAttachedItemRequest); } @Test void shouldCallReplyAllowed() { - service.findReplyAllowedPostfachNachrichts(MessageTestFactory.VORGANG_ID).toList(); + service.findReplyAllowedPostfachNachrichts(PostfachNachrichtTestFactory.VORGANG_ID).toList(); verify(service).replyAllowed(GRPC_VORGANG_ATTACHED_ITEM); } @@ -113,7 +112,7 @@ class AttachedItemRemoteServiceTest { void shouldCallPostfachNachrichtMapper() { doReturn(true).when(service).replyAllowed(any()); - service.findReplyAllowedPostfachNachrichts(MessageTestFactory.VORGANG_ID).toList(); + service.findReplyAllowedPostfachNachrichts(PostfachNachrichtTestFactory.VORGANG_ID).toList(); verify(postfachNachrichtMapper).fromAttachedItem(GRPC_VORGANG_ATTACHED_ITEM); } @@ -122,7 +121,7 @@ class AttachedItemRemoteServiceTest { void shouldNotCallPostfachNachrichtMapper() { doReturn(false).when(service).replyAllowed(any()); - service.findReplyAllowedPostfachNachrichts(MessageTestFactory.VORGANG_ID).toList(); + service.findReplyAllowedPostfachNachrichts(PostfachNachrichtTestFactory.VORGANG_ID).toList(); verify(postfachNachrichtMapper, never()).fromAttachedItem(GRPC_VORGANG_ATTACHED_ITEM); } @@ -132,7 +131,7 @@ class AttachedItemRemoteServiceTest { doReturn(true).when(service).replyAllowed(any()); doReturn(postfachNachricht).when(postfachNachrichtMapper).fromAttachedItem(any()); - var result = service.findReplyAllowedPostfachNachrichts(MessageTestFactory.VORGANG_ID); + var result = service.findReplyAllowedPostfachNachrichts(PostfachNachrichtTestFactory.VORGANG_ID); assertThat(result).containsExactly(postfachNachricht); } @@ -169,21 +168,21 @@ class AttachedItemRemoteServiceTest { @Test void shouldSetVorgangId() { - var result = service.buildFindRequest(MessageTestFactory.VORGANG_ID); + var result = service.buildFindRequest(PostfachNachrichtTestFactory.VORGANG_ID); - assertThat(result.getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID); + assertThat(result.getVorgangId()).isEqualTo(PostfachNachrichtTestFactory.VORGANG_ID); } @Test void shouldSetClient() { - var result = service.buildFindRequest(MessageTestFactory.VORGANG_ID); + var result = service.buildFindRequest(PostfachNachrichtTestFactory.VORGANG_ID); assertThat(result.getClient()).isEqualTo(AttachedItemRemoteService.CLIENT); } @Test void shouldSetItemName() { - var result = service.buildFindRequest(MessageTestFactory.VORGANG_ID); + var result = service.buildFindRequest(PostfachNachrichtTestFactory.VORGANG_ID); assertThat(result.getItemName()).isEqualTo(AttachedItemRemoteService.ITEM_NAME); } @@ -240,28 +239,28 @@ class AttachedItemRemoteServiceTest { @Test void shouldGetServiceStub() { - service.findByVorgangId(MessageTestFactory.VORGANG_ID).toList(); + service.findByVorgangId(PostfachNachrichtTestFactory.VORGANG_ID).toList(); verify(service).getVorgangAttachedItemServiceStub(); } @Test void shouldCallServiceStub() { - service.findByVorgangId(MessageTestFactory.VORGANG_ID).toList(); + service.findByVorgangId(PostfachNachrichtTestFactory.VORGANG_ID).toList(); verify(vorgangAttachedItemServiceBlockingStub).find(grpcFindVorgangAttachedItemRequest); } @Test void shouldCallMapper() { - service.findByVorgangId(MessageTestFactory.VORGANG_ID).toList(); + service.findByVorgangId(PostfachNachrichtTestFactory.VORGANG_ID).toList(); verify(postfachNachrichtMapper).fromAttachedItem(GRPC_VORGANG_ATTACHED_ITEM); } @Test void shouldReturnMappedValue() { - var postfachNachrichten = service.findByVorgangId(MessageTestFactory.VORGANG_ID); + var postfachNachrichten = service.findByVorgangId(PostfachNachrichtTestFactory.VORGANG_ID); assertThat(postfachNachrichten).containsExactly(postfachNachricht); } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java index 844c0e77fa1221167695b1c49e89ca594e2b8fa6..385ce517cce6c9354fe882b218bf396483ad241a 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PersistPostfachNachrichtServiceImplTest.java @@ -25,7 +25,6 @@ import de.ozgcloud.apilib.common.command.OzgCloudCommandService; import de.ozgcloud.nachrichten.attributes.ClientAttributeService; import de.ozgcloud.nachrichten.common.vorgang.VorgangService; import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; class PersistPostfachNachrichtServiceImplTest { @@ -98,7 +97,7 @@ class PersistPostfachNachrichtServiceImplTest { void shouldContainVorgangId() { var command = service.createBaseCommandBuilder(userIdOpt, nachricht).build(); - assertThat(command.getVorgangId()).hasToString(MessageTestFactory.VORGANG_ID); + assertThat(command.getVorgangId()).hasToString(PostfachNachrichtTestFactory.VORGANG_ID); } @DisplayName("created by") @@ -335,7 +334,7 @@ class PersistPostfachNachrichtServiceImplTest { void shouldContainRelationId() { var command = buildCreateCommand(); - assertThat(command.getRelationId()).hasToString(MessageTestFactory.VORGANG_ID); + assertThat(command.getRelationId()).hasToString(PostfachNachrichtTestFactory.VORGANG_ID); } @Test @@ -373,7 +372,7 @@ class PersistPostfachNachrichtServiceImplTest { void shouldHaveSetVorgangId() { var body = service.buildCreateItem(postfachNachricht); - assertThat(body).containsEntry(PersistPostfachNachrichtServiceImpl.VORGANG_ID_FIELD, MessageTestFactory.VORGANG_ID); + assertThat(body).containsEntry(PersistPostfachNachrichtServiceImpl.VORGANG_ID_FIELD, PostfachNachrichtTestFactory.VORGANG_ID); } @Test @@ -408,7 +407,7 @@ class PersistPostfachNachrichtServiceImplTest { service.setHasNewPostfachNachricht(incomingNachricht); - verify(clientAttributeService).setHasNewPostfachNachricht(MessageTestFactory.VORGANG_ID); + verify(clientAttributeService).setHasNewPostfachNachricht(PostfachNachrichtTestFactory.VORGANG_ID); } @Test @@ -435,7 +434,7 @@ class PersistPostfachNachrichtServiceImplTest { @BeforeEach void mock() { - when(vorgangService.findVorgangIds(any(), any())).thenReturn(Stream.of(MessageTestFactory.VORGANG_ID)); + when(vorgangService.findVorgangIds(any(), any())).thenReturn(Stream.of(PostfachNachrichtTestFactory.VORGANG_ID)); when(attachedItemRemoteService.findByVorgangId(any())).thenReturn(Stream.of(postfachNachrichtWithNoReferencedNachricht, matchingPostfachNachricht, postfachNachrichtWithNonMatchingReferencedNachricht)); } @@ -444,14 +443,14 @@ class PersistPostfachNachrichtServiceImplTest { void shouldCallVorgangRemoteService() { doFindAnswers().toList(); - verify(vorgangService).findVorgangIds(serviceKontoType, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE); + verify(vorgangService).findVorgangIds(serviceKontoType, PostfachAddressTestFactory.POSTFACH_ID); } @Test void shouldCallAttachedItemRemoteService() { doFindAnswers().toList(); - verify(attachedItemRemoteService).findByVorgangId(MessageTestFactory.VORGANG_ID); + verify(attachedItemRemoteService).findByVorgangId(PostfachNachrichtTestFactory.VORGANG_ID); } @Test @@ -462,7 +461,7 @@ class PersistPostfachNachrichtServiceImplTest { } private Stream<PostfachNachricht> doFindAnswers() { - return service.findAnswers(serviceKontoType, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE, + return service.findAnswers(serviceKontoType, PostfachAddressTestFactory.POSTFACH_ID, GrpcPostfachMailTestFactory.REFERENCED_NACHRICHT_ID); } } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachAddressTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachAddressTestFactory.java index 94f5df83467203175a20f03facaa15f6e3ed33cd..de02e69654dfceb42050d038cd7547836cfadcbd 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachAddressTestFactory.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachAddressTestFactory.java @@ -1,12 +1,12 @@ package de.ozgcloud.nachrichten.postfach; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; +import java.util.UUID; public class PostfachAddressTestFactory { public final static int TYPE = 1; - public static final String STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE = MessageTestFactory.POSTFACH_ID; - public final static StringBasedIdentifier IDENTIFIER = StringBasedIdentifier.builder().postfachId(STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE) + public static final String POSTFACH_ID = UUID.randomUUID().toString(); + public final static StringBasedIdentifier IDENTIFIER = StringBasedIdentifier.builder().postfachId(POSTFACH_ID) .build(); public static final String VERSION = "1.0"; diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachEventListenerTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachEventListenerTest.java index ceceb14dfd71b40b39c898826c0ef22cbda3115e..5a6bebb7e9ff6890ac9f51efabc2c7e0e71f92e2 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachEventListenerTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachEventListenerTest.java @@ -48,7 +48,6 @@ import de.ozgcloud.command.CommandCreatedEvent; import de.ozgcloud.command.PostfachNachrichtReceivedEvent; import de.ozgcloud.command.VorgangAttachedItemCreatedEvent; import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; class PostfachEventListenerTest { @@ -76,8 +75,8 @@ class PostfachEventListenerTest { void mockCommand() { when(command.getId()).thenReturn(COMMAND_ID); when(command.getCreatedBy()).thenReturn(USER_ID); - when(command.getVorgangId()).thenReturn(MessageTestFactory.VORGANG_ID); - when(command.getRelationId()).thenReturn(MessageTestFactory.VORGANG_ID); + when(command.getVorgangId()).thenReturn(PostfachNachrichtTestFactory.VORGANG_ID); + when(command.getRelationId()).thenReturn(PostfachNachrichtTestFactory.VORGANG_ID); when(command.getBodyObject()).thenReturn(buildCommandBody()); } @@ -146,8 +145,8 @@ class PostfachEventListenerTest { PostfachAddress.TYPE_FIELD, PostfachAddressTestFactory.TYPE, PostfachAddress.SERVICEKONTO_TYPE_FIELD, PostfachTestFactory.POSTFACH_TYPE, PostfachAddress.IDENTIFIER_FIELD, // - Map.of(PostfachAddress.FIELD_POSTFACH_ID, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE)), - PostfachNachricht.FIELD_SUBJECT, MessageTestFactory.SUBJECT, + Map.of(PostfachAddress.FIELD_POSTFACH_ID, PostfachAddressTestFactory.POSTFACH_ID)), + PostfachNachricht.FIELD_SUBJECT, GrpcPostfachMailTestFactory.SUBJECT, PostfachNachricht.FIELD_MAIL_BODY, PostfachNachrichtTestFactory.MAIL_BODY, PostfachNachricht.FIELD_REPLY_OPTION, PostfachNachrichtTestFactory.REPLY_OPTION.name(), PostfachNachricht.FIELD_ATTACHMENTS, PostfachNachrichtTestFactory.ATTACHMENTS)); diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java index 1aa4ab376a231060253d04240da6f0598160b4b4..fdd504b8b727e836a07b61d7ff71ae7dfa3c695c 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java @@ -42,7 +42,6 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; import de.ozgcloud.vorgang.common.GrpcObject; import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper; import de.ozgcloud.vorgang.vorgangAttachedItem.GrpcVorgangAttachedItem; @@ -267,8 +266,8 @@ class PostfachNachrichtMapperTest { .setId(PostfachNachrichtTestFactory.ID) .setMessageCode(PostfachNachrichtTestFactory.MESSAGE_CODE) .setPostfachAddress(GrpcPostfachAddressTestFactory.createBuilder() - .setIdentifier(GrpcPostfachAddressTestFactory.createIdentifier(MessageTestFactory.POSTFACH_ID))) - .setVorgangId(MessageTestFactory.VORGANG_ID).build(); + .setIdentifier(GrpcPostfachAddressTestFactory.createIdentifier(PostfachAddressTestFactory.POSTFACH_ID))) + .setVorgangId(PostfachNachrichtTestFactory.VORGANG_ID).build(); } @Test diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtTestFactory.java index 4e028a95578a5bb01ac8464acfe24826b1e926c5..187262fb388c452a99113626f536e499c851e2fc 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtTestFactory.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtTestFactory.java @@ -24,7 +24,6 @@ package de.ozgcloud.nachrichten.postfach; import static de.ozgcloud.nachrichten.postfach.PostfachNachricht.ReplyOption.*; -import static de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory.*; import java.time.ZonedDateTime; import java.util.HashMap; @@ -36,6 +35,8 @@ import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction; public class PostfachNachrichtTestFactory { + public static final String MESSAGE_ID = UUID.randomUUID().toString(); + public static final String VORGANG_ID = UUID.randomUUID().toString(); public static final String ID = UUID.randomUUID().toString(); public static final String CREATED_AT_STR = "2020-04-01T10:30:10Z"; public static final ZonedDateTime CREATED_AT = ZonedDateTime.parse(CREATED_AT_STR); @@ -71,7 +72,7 @@ public class PostfachNachrichtTestFactory { .sentSuccessful(SENT_SUCCESSFUL) .messageCode(MESSAGE_CODE) .replyOption(REPLY_OPTION) - .subject(SUBJECT) + .subject(GrpcPostfachMailTestFactory.SUBJECT) .mailBody(MAIL_BODY) .attachments(ATTACHMENTS); } @@ -90,7 +91,7 @@ public class PostfachNachrichtTestFactory { map.put(PostfachNachricht.FIELD_SENT_SUCCESSFUL, SENT_SUCCESSFUL); map.put(PostfachNachricht.FIELD_MESSAGE_CODE, MESSAGE_CODE); map.put(PostfachNachricht.FIELD_REPLY_OPTION, REPLY_OPTION.name()); - map.put(PostfachNachricht.FIELD_SUBJECT, SUBJECT); + map.put(PostfachNachricht.FIELD_SUBJECT, GrpcPostfachMailTestFactory.SUBJECT); map.put(PostfachNachricht.FIELD_MAIL_BODY, MAIL_BODY); map.put(PostfachNachricht.FIELD_ATTACHMENTS, ATTACHMENTS); return map; @@ -104,6 +105,6 @@ public class PostfachNachrichtTestFactory { } private static Map<String, Object> getPostfachAddressIdentifierAsMap() { - return Map.of(PostfachAddress.FIELD_POSTFACH_ID, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE); + return Map.of(PostfachAddress.FIELD_POSTFACH_ID, PostfachAddressTestFactory.POSTFACH_ID); } } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java index 8dcd52fa6261aecd98a5bd22fc2cc5d4d6f191dd..edf87b517c8f2e1f15db781a43a317f18d79cdc0 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java @@ -56,8 +56,6 @@ import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.nachrichten.antragraum.AntragraumService; import de.ozgcloud.nachrichten.attributes.ClientAttributeService; import de.ozgcloud.nachrichten.info.InfoManagerService; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; -import de.ozgcloud.nachrichten.postfach.osi.OsiPostfachServerProcessExceptionTestFactory; import de.ozgcloud.vorgang.callcontext.CallContextUserTestFactory; import de.ozgcloud.vorgang.callcontext.CurrentUserService; import nl.altindag.log.LogCaptor; @@ -107,7 +105,7 @@ class PostfachServiceTest { @Test void shouldUseUserIdFromContext() { - service.saveDraft(MessageTestFactory.VORGANG_ID, PostfachNachrichtTestFactory.create()); + service.saveDraft(PostfachNachrichtTestFactory.VORGANG_ID, PostfachNachrichtTestFactory.create()); verify(service).persistPostfachNachricht(userIdCaptor.capture(), any()); assertThat(userIdCaptor.getValue()).contains(CallContextUserTestFactory.ID); @@ -115,17 +113,17 @@ class PostfachServiceTest { @Test void shouldPersistNachricht() { - service.saveDraft(MessageTestFactory.VORGANG_ID, PostfachNachrichtTestFactory.create()); + service.saveDraft(PostfachNachrichtTestFactory.VORGANG_ID, PostfachNachrichtTestFactory.create()); verify(service).persistPostfachNachricht(any(), any()); } @Test void shouldAddVorgangId() { - service.saveDraft(MessageTestFactory.VORGANG_ID, PostfachNachrichtTestFactory.createBuilder().vorgangId(null).build()); + service.saveDraft(PostfachNachrichtTestFactory.VORGANG_ID, PostfachNachrichtTestFactory.createBuilder().vorgangId(null).build()); verify(service).persistPostfachNachricht(any(), nachrichtCaptor.capture()); - assertThat(nachrichtCaptor.getValue().getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID); + assertThat(nachrichtCaptor.getValue().getVorgangId()).isEqualTo(PostfachNachrichtTestFactory.VORGANG_ID); } } @@ -501,7 +499,7 @@ class PostfachServiceTest { void shouldCallDeleteMessage() { service.fetchAndPersistReplies(postfachRemoteService); - verify(postfachRemoteService).deleteMessage(MessageTestFactory.MESSAGE_ID); + verify(postfachRemoteService).deleteMessage(PostfachNachrichtTestFactory.MESSAGE_ID); } } @@ -738,52 +736,12 @@ class PostfachServiceTest { } } - @DisplayName("OsiPostfachServerProcessException") - @Nested - class TestOsiPostfachServerProcessException { - - private static final String MESSAGE = "Postfach server returned false"; - - @BeforeEach - void mockService() { - doThrow(OsiPostfachServerProcessExceptionTestFactory.create()).when(postfachRemoteService).sendMessage(any()); - when(postfachRemoteService.getPostfachType()).thenReturn(PostfachTestFactory.POSTFACH_TYPE); - } - - @Test - void shouldPublishEvent() { - service.handleSendPostfachNachricht(COMMAND_ID, postfachNachricht); - - verify(publisher).publishEvent(eventFailedCaptor.capture()); - assertThat(eventFailedCaptor.getValue().getSource()).isEqualTo(COMMAND_ID); - assertThat(eventFailedCaptor.getValue().getErrorMessage()).startsWith(MESSAGE); - } - - @Test - void shouldReturnResponse() { - var response = service.handleSendPostfachNachricht(COMMAND_ID, postfachNachricht); - - assertThat(response.isSentSuccessful()).isFalse(); - assertThat(response.getMessageCode()).isEqualTo(PostfachMessageCode.PROCESS_FAILED_MESSAGE_CODE); - } - } } } @Nested class TestLogSendPostfachNachrichtFailed { - @DisplayName("should log warning on OsiPostfachServerProcessException") - @Test - void shouldLogWarningWhenOsiException() { - try (var logCaptor = LogCaptor.forClass(PostfachService.class)) { - var exception = OsiPostfachServerProcessExceptionTestFactory.create(); - - service.logSendPostfachNachrichtFailed(COMMAND_ID, exception); - - assertThat(logCaptor.getLogEvents()).hasSize(1).first().extracting(LogEvent::getLevel).isEqualTo(LogLevel.WARN.name()); - } - } @DisplayName("should log warning when error code is unknown postfach id") @Test @@ -1168,7 +1126,7 @@ class PostfachServiceTest { var result = service.linkToVorgang(POSTFACH_NACHRICHT); - assertThat(result.getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID); + assertThat(result.getVorgangId()).isEqualTo(PostfachNachrichtTestFactory.VORGANG_ID); } } @@ -1188,7 +1146,7 @@ class PostfachServiceTest { void shouldSetClientAttribute() { persistPostfachNachricht(); - verify(clientAttributeService).setHasPostfachNachricht(MessageTestFactory.VORGANG_ID); + verify(clientAttributeService).setHasPostfachNachricht(PostfachNachrichtTestFactory.VORGANG_ID); } @Test diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java index f8f9dee1eea29e1a5d4939e54e597a96b0c8a924..ff373b5b5062c6a6dda33c60c738cbe3815b8d02 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java @@ -11,13 +11,14 @@ import org.junit.jupiter.api.Test; import org.mapstruct.factory.Mappers; import org.mockito.Spy; +import de.ozgcloud.nachrichten.postfach.GrpcPostfachMailTestFactory; +import de.ozgcloud.nachrichten.postfach.PostfachAddressTestFactory; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcAttachmentMetadata; import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcAttachments; import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcBayernIdMessageMetadata; import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcSendBayernIdMessageRequest; -import de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory; class BayernIdPostfachNachrichtMapperTest { @@ -51,7 +52,7 @@ class BayernIdPostfachNachrichtMapperTest { void shouldSetMessageId() { var metadata = toMessageMetadata(); - assertThat(metadata.getMessageId()).isEqualTo(MessageTestFactory.MESSAGE_ID); + assertThat(metadata.getMessageId()).isEqualTo(PostfachNachrichtTestFactory.MESSAGE_ID); } @Nested @@ -78,7 +79,7 @@ class BayernIdPostfachNachrichtMapperTest { void shouldSetSubject() { var metadata = toMessageMetadata(); - assertThat(metadata.getSubject()).isEqualTo(MessageTestFactory.SUBJECT); + assertThat(metadata.getSubject()).isEqualTo(GrpcPostfachMailTestFactory.SUBJECT); } @Test @@ -92,7 +93,7 @@ class BayernIdPostfachNachrichtMapperTest { void shouldSetVorgangId() { var metadata = toMessageMetadata(); - assertThat(metadata.getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID); + assertThat(metadata.getVorgangId()).isEqualTo(PostfachNachrichtTestFactory.VORGANG_ID); } @Test @@ -149,7 +150,7 @@ class BayernIdPostfachNachrichtMapperTest { void shouldSetPostkorbId() { var metadata = toMessageMetadata(); - assertThat(metadata.getEmpfaenger().getPostkorbId()).isEqualTo(MessageTestFactory.POSTFACH_ID); + assertThat(metadata.getEmpfaenger().getPostkorbId()).isEqualTo(PostfachAddressTestFactory.POSTFACH_ID); } } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageAttachmentServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageAttachmentServiceTest.java deleted file mode 100644 index dc473e132bf0dff050351527495b0c78b211ff09..0000000000000000000000000000000000000000 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageAttachmentServiceTest.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.ozgcloud.nachrichten.postfach.osi; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.sql.Date; -import java.time.Instant; - -import org.bson.BsonObjectId; -import org.bson.BsonValue; -import org.bson.Document; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -import com.mongodb.client.gridfs.model.GridFSFile; - -import de.ozgcloud.nachrichten.postfach.BinaryFileService; -import de.ozgcloud.nachrichten.postfach.FileId; - -class MessageAttachmentServiceTest { - private static final FileId FILE_ID = FileId.from("42"); - - @InjectMocks - private MessageAttachmentService messageAttachmentService; - - @Mock - private BinaryFileService fileService; - - private GridFSFile gridFsfile; - - @Nested - class TestLoadingAttachment { - @BeforeEach - void init() { - Document metadata = new Document(); - metadata.put("name", MessageAttachmentTestFactory.FILENAME); - BsonValue id = new BsonObjectId(); - gridFsfile = new GridFSFile(id, FILE_ID.toString(), 0, 0, Date.from(Instant.now()), metadata); - - when(fileService.getFile(any())).thenReturn(gridFsfile); - when(fileService.getUploadedFileStream(any())) - .thenReturn(new ByteArrayInputStream(MessageAttachmentTestFactory.DECODED_CONTENT.getBytes())); - } - - @Test - void shouldHaveAttachmentWithFileName() { - MessageAttachment attachment = messageAttachmentService.getMessageAttachment(FILE_ID); - - assertThat(attachment.getFileName()).isEqualTo(MessageAttachmentTestFactory.FILENAME); - } - - @Test - void shouldHaveAttachmentContent() { - MessageAttachment attachment = messageAttachmentService.getMessageAttachment(FILE_ID); - - assertThat(attachment.getContent()).isEqualTo(MessageAttachmentTestFactory.CONTENT); - } - - } - - @Nested - class TestLoadingAttachmentContent { - @BeforeEach - void init() { - when(fileService.getUploadedFileStream(any())) - .thenReturn(new ByteArrayInputStream(MessageAttachmentTestFactory.DECODED_CONTENT.getBytes())); - } - - @Test - void shouldGetInputStream() { - InputStream input = messageAttachmentService.getAttachmentContentStream(FILE_ID); - - assertThat(input).isNotNull(); - } - - @Test - void shouldGetContent() throws IOException { - String input = messageAttachmentService.getAttachmentContent(FILE_ID); - - assertThat(input).isEqualTo(MessageAttachmentTestFactory.CONTENT); - } - } - - @Nested - class TestMapAttachmentFile { - - @Test - void shouldMapFileName() { - var attachmentFile = messageAttachmentService.mapAttachmentFile(MessageAttachmentTestFactory.create()); - - assertThat(attachmentFile.getName()).isEqualTo(MessageAttachmentTestFactory.FILENAME); - } - - @Test - void shouldMapContent() { - var attachmentFile = messageAttachmentService.mapAttachmentFile(MessageAttachmentTestFactory.create()); - - assertThat(attachmentFile.getContent()).hasContent(MessageAttachmentTestFactory.CONTENT); - } - } -} diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageAttachmentTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageAttachmentTestFactory.java deleted file mode 100644 index 17181b240ad7645e49afd5c977cefdb925226425..0000000000000000000000000000000000000000 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageAttachmentTestFactory.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.ozgcloud.nachrichten.postfach.osi; - -public class MessageAttachmentTestFactory { - - public final static String FILENAME = "test.txt"; - public static final String CONTENT = "dGVzdA=="; - public static final String DECODED_CONTENT = "test"; - public static final long SIZE = 4L; - - public static MessageAttachment create() { - return createBuilder().build(); - } - - public static MessageAttachment.MessageAttachmentBuilder createBuilder() { - return MessageAttachment.builder().fileName(FILENAME).content(CONTENT); - } -} diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageJsonReplyTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageJsonReplyTestFactory.java deleted file mode 100644 index ce467cfc04af79b62a1c95430efe16c819bd914b..0000000000000000000000000000000000000000 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageJsonReplyTestFactory.java +++ /dev/null @@ -1,64 +0,0 @@ -package de.ozgcloud.nachrichten.postfach.osi; - -import java.util.List; -import java.util.stream.Collectors; - -import de.ozgcloud.common.test.TestUtils; -import lombok.Builder; -import lombok.Singular; - -public class MessageJsonReplyTestFactory { - - public static final MessageAttachment MESSAGE_ATTACHMENT = MessageAttachmentTestFactory.create(); - - public static String create() { - return createBuilder().build(); - } - - public static MessageJsonReply.MessageJsonReplyBuilder createBuilder() { - return MessageJsonReply.builder() - .messageId(MessageTestFactory.MESSAGE_ID) - .postfachId(MessageTestFactory.POSTFACH_ID) - .mailBody(MessageTestFactory.MAIL_BODY) - .replyOption(MessageTestFactory.REPLY_OPTION) - .subject(MessageTestFactory.SUBJECT) - .vorgangId(MessageTestFactory.VORGANG_ID) - .attachment(MESSAGE_ATTACHMENT); - } - - @Builder - private static class MessageJsonReply { - - private static final String REPLY_MESSAGE_JSON_TMPL = "reply-message-json.tmpl"; - - private static final String ATTACHMENT_TMPL = """ - { - "fileName": "%s", - "content": "%s" - }"""; - - private String messageId; - private String postfachId; - private String mailBody; - private ReplyOption replyOption; - private String subject; - private String vorgangId; - @Singular - private List<MessageAttachment> attachments; - - public static class MessageJsonReplyBuilder { - - public String build() { - return TestUtils.loadTextFile(REPLY_MESSAGE_JSON_TMPL) - .formatted(messageId, postfachId, mailBody, replyOption.toValue(), subject, vorgangId, - buildAttachments()); - } - - public String buildAttachments() { - return attachments.stream().map(attachment -> ATTACHMENT_TMPL.formatted(attachment.getFileName(), attachment.getContent())) - .collect(Collectors.joining(",")); - } - } - } - -} diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageTestFactory.java deleted file mode 100644 index c281353f0f1d0a667c17e2e9117c195b43978256..0000000000000000000000000000000000000000 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/MessageTestFactory.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.ozgcloud.nachrichten.postfach.osi; - -import java.util.List; -import java.util.UUID; - -import de.ozgcloud.nachrichten.postfach.osi.Message.EidasLevel; - -public class MessageTestFactory { - - public static final String MESSAGE_ID = UUID.randomUUID().toString(); - public static final String POSTFACH_ID = UUID.randomUUID().toString(); - public static final String VORGANG_ID = UUID.randomUUID().toString(); - - public static final String MAIL_BODY = "Body<br>String"; - public static final boolean IS_HTML = false; - public static final ReplyOption REPLY_OPTION = ReplyOption.MANDATORY; - public static final String SUBJECT = "Test Subject"; - - public static final EidasLevel EIDAS_LEVEL = EidasLevel.MEDIUM; - public static final boolean RECHTSVERBINDLICH = true; - - public static final List<MessageAttachment> ATTACHMENTS = List.of(MessageAttachmentTestFactory.create()); - - public static Message create() { - return createBuilder().build(); - } - - public static Message.MessageBuilder createBuilder() { - return Message.builder() - .messageId(MESSAGE_ID) - .postfachId(POSTFACH_ID) - .mailBody(MAIL_BODY) - .isHtml(IS_HTML) - .replyOption(REPLY_OPTION) - .subject(SUBJECT) - .vorgangId(VORGANG_ID) - .eidasLevel(EIDAS_LEVEL) - .rechtsverbindlich(RECHTSVERBINDLICH) - .attachments(ATTACHMENTS); - } -} diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachMessageMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachMessageMapperTest.java deleted file mode 100644 index acbf9bdae93369065186749cd2c2361a1e828d96..0000000000000000000000000000000000000000 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachMessageMapperTest.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.ozgcloud.nachrichten.postfach.osi; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.Mockito.*; - -import java.time.ZonedDateTime; -import java.time.temporal.ChronoUnit; -import java.util.List; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mapstruct.factory.Mappers; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -import de.ozgcloud.nachrichten.postfach.FileId; -import de.ozgcloud.nachrichten.postfach.PostfachAddressTestFactory; -import de.ozgcloud.nachrichten.postfach.PostfachNachricht; -import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction; -import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper; - -class OsiPostfachMessageMapperTest { - - @InjectMocks - private OsiPostfachMessageMapper mapper = Mappers.getMapper(OsiPostfachMessageMapper.class); - @Mock - private MessageAttachmentService messageAttachmentService; - @Mock - private GrpcObjectMapper grpcObjectMapper; - - @DisplayName("To mail") - @Nested - class TestToNachricht { - - @Test - void shouldSetDirection() { - var mail = mapper.toPostfachNachricht(MessageTestFactory.create()); - - assertThat(mail.getDirection()).isEqualTo(Direction.IN); - } - - @Test - void shouldSetCreatedAt() { - var mail = mapper.toPostfachNachricht(MessageTestFactory.create()); - - assertThat(mail.getCreatedAt()).isNotNull().isCloseTo(ZonedDateTime.now(), within(2, ChronoUnit.SECONDS)); - } - - @Test - void shouldIgnoreSentInformation() { - var mail = mapper.toPostfachNachricht(MessageTestFactory.create()); - - assertThat(mail.getSentAt()).isNull(); - assertThat(mail.getSentSuccessful()).isNull(); - } - - @Test - void shouldPersistAttachment() { - mapper.toPostfachNachricht(MessageTestFactory.create()); - - verify(messageAttachmentService).persistAttachment(MessageTestFactory.VORGANG_ID, MessageTestFactory.ATTACHMENTS.get(0)); - } - - @Test - void shouldSetPostfachAddress() { - var expectedPostfachAddress = PostfachAddressTestFactory.createBuilder().serviceKontoType(OsiPostfachRemoteService.POSTFACH_TYPE).build(); - - var mail = toMail(); - - assertThat(mail.getPostfachAddress()).usingRecursiveComparison().isEqualTo(expectedPostfachAddress); - } - - @Test - void shouldPreserveNewLineInBody() { - var bodyText = "line\nline"; - var mail = mapper.toPostfachNachricht(MessageTestFactory.createBuilder().mailBody(bodyText).build()); - - assertThat(mail.getMailBody()).isEqualTo(bodyText); - } - - @Test - void shouldRecodeAND() { - var mail = mapper.toPostfachNachricht(MessageTestFactory.createBuilder().mailBody("this&that").build()); - - assertThat(mail.getMailBody()).isEqualTo("this&that"); - } - - private PostfachNachricht toMail() { - return mapper.toPostfachNachricht(MessageTestFactory.create()); - } - } - - @DisplayName("To osi message") - @Nested - class TestToOsiMessage { - - @Test - void shouldCallAttachmentService() { - var fileId = FileId.from("42"); - - toOsiMessage(PostfachNachrichtTestFactory.createBuilder().attachments(List.of(fileId.toString())).build()); - - verify(messageAttachmentService).getMessageAttachment(fileId); - } - - @Test - void shouldMapFields() { - var message = toOsiMessage(PostfachNachrichtTestFactory.create()); - - assertThat(message.getSubject()).isEqualTo(MessageTestFactory.SUBJECT); - assertThat(message.getAttachments()).hasSize(1); - } - - @Test - void shouldMapMailBody() { - var message = toOsiMessage(PostfachNachrichtTestFactory.create()); - - assertThat(message.getMailBody()).isEqualTo(MessageTestFactory.MAIL_BODY); - } - - @Test - void shouldReplaceNewLineToHtml() { - var bodyText = "line\nline&"; - var message = toOsiMessage(PostfachNachrichtTestFactory.createBuilder().mailBody(bodyText).build()); - - assertThat(message.getMailBody()).isEqualTo("line<br>line&"); - } - - @DisplayName("build postfachId") - @Nested - class TestToPostfachId { - - @DisplayName("by existing postfachAddress") - @Nested - class TestWithExistingPostfachAddress { - - @Test - void shouldMapPostfachAddressToPostfachId() { - var message = toOsiMessage(PostfachNachrichtTestFactory.create()); - - assertThat(message.getPostfachId()).isEqualTo(PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE); - } - } - - @DisplayName("by postfachId if postfachAddress not exists") - @Nested - class TestWithoutPostfachAddress { - - @Test - void shouldMapPostfachAddressToEmptyString() { - var message = toOsiMessage(PostfachNachrichtTestFactory.createBuilder().postfachAddress(null).build()); - - assertThat(message.getPostfachId()).isEmpty(); - } - } - } - - private Message toOsiMessage(PostfachNachricht postfachNachricht) { - return mapper.toOsiMessage(postfachNachricht); - } - } - - @DisplayName("To HTML body") - @Nested - class TestToHTMLBody { - - @Test - void shouldNotContainNewlines() { - var body = mapper.replaceNewlines(MessageTestFactory.MAIL_BODY); - - assertThat(body).doesNotContain("\n"); - } - - } -} \ No newline at end of file diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachRemoteServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachRemoteServiceTest.java deleted file mode 100644 index db3b32338093fcb94d5c639dfff0f44c1a125865..0000000000000000000000000000000000000000 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachRemoteServiceTest.java +++ /dev/null @@ -1,337 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.ozgcloud.nachrichten.postfach.osi; - -import static de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory.*; -import static org.assertj.core.api.Assertions.*; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; -import static org.springframework.test.web.client.match.MockRestRequestMatchers.*; -import static org.springframework.test.web.client.response.MockRestResponseCreators.*; - -import java.util.stream.Collectors; - -import org.assertj.core.api.InstanceOfAssertFactories; -import org.assertj.core.util.Arrays; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Spy; -import org.springframework.http.HttpMethod; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.test.util.ReflectionTestUtils; -import org.springframework.test.web.client.ExpectedCount; -import org.springframework.test.web.client.MockRestServiceServer; -import org.springframework.test.web.client.ResponseActions; -import org.springframework.web.client.RestTemplate; - -import de.ozgcloud.nachrichten.postfach.NotConfiguredException; -import de.ozgcloud.nachrichten.postfach.PostfachBadRequestException; -import de.ozgcloud.nachrichten.postfach.PostfachNachricht; -import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; - -class OsiPostfachRemoteServiceTest { - - private static final String TEST_URL = "https://testUrl.local"; - private static final String TEST_API_KEY = "dummyApiKey"; - private static final String TEST_API_REALM = "dummyApiRealm"; - - @InjectMocks - private OsiPostfachRemoteService service; - - @Mock - private OsiPostfachMessageMapper mapper; - - @Spy - private RestTemplate restTemplate; - - @Spy - private OsiPostfachProperties properties = new OsiPostfachProperties(); - { - properties.setUrl(TEST_URL); - properties.setRealm(TEST_API_REALM); - properties.setKey(TEST_API_KEY); - } - - private MockRestServiceServer mockServer; - - @BeforeEach - void initMockServer() { - mockServer = MockRestServiceServer.createServer(restTemplate); - } - - @Nested - class TestGetAllMessages { - - @BeforeEach - void init() { - prepareMockServer(); - } - - @Test - void shouldCallRestTemplateExchange() { - service.getAllMessages(); - - mockServer.verify(); - } - - @Test - void shouldFillMessage() { - when(mapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create()); - - var messages = service.getAllMessages(); - - assertThat(messages).hasSize(1).first().usingRecursiveComparison().isEqualTo(PostfachNachrichtTestFactory.create()); - } - - @Test - void shouldThrowExceptionIfNotConfigured() { - properties.setUrl(null); - - assertThrows(NotConfiguredException.class, () -> service.getAllMessages()); - } - - @Test - void shouldHaveAttachment() { - var messages = Arrays.array(MessageTestFactory.create()); - doReturn(ResponseEntity.ok().body(messages)).when(restTemplate).exchange(TEST_URL, HttpMethod.GET, null, Message[].class); - when(mapper.toPostfachNachricht(messages[0])).thenReturn(PostfachNachrichtTestFactory.create()); - - var postfachNachrichten = service.getAllMessages(); - - assertThat(postfachNachrichten).hasSize(1).first() - .extracting(PostfachNachricht::getAttachments, InstanceOfAssertFactories.LIST) - .hasSize(1) - .usingRecursiveComparison().isEqualTo(PostfachNachrichtTestFactory.ATTACHMENTS); - } - - @Test - void shouldCallMapper() { - prepareMockServer(); - - service.getAllMessages().collect(Collectors.toList()); - - verify(mapper).toPostfachNachricht(any()); - } - - private void prepareMockServer() { - mockServer.expect(ExpectedCount.once(), requestTo(TEST_URL)) - .andExpect(method(HttpMethod.GET)) - .andRespond(withSuccess(MessageJsonReplyTestFactory.create(), MediaType.APPLICATION_JSON)); - } - - } - - @Nested - class TestSendMessage { - - private final PostfachNachricht message = PostfachNachrichtTestFactory.create(); - - @Test - void shouldCallRestTemplateExchange() { - prepareMockServer(); - - service.sendMessage(message); - - mockServer.verify(); - } - - @Test - void shouldThrowExceptionUrlIfNotConfigured() { - prepareMockServer(); - - properties.setUrl(null); - - assertThrows(NotConfiguredException.class, () -> service.sendMessage(message)); - } - - @Test - void shouldThrowExceptionKeyIfNotConfigured() { - prepareMockServer(); - - properties.setKey(null); - - assertThrows(NotConfiguredException.class, () -> service.sendMessage(message)); - } - - @Test - void shouldThrowExceptionIfNoRestTemplate() { - ReflectionTestUtils.setField(service, "restTemplate", null); - - assertThrows(NotConfiguredException.class, () -> service.sendMessage(message)); - } - - @Test - void shouldThrowBadRequestExceptionOnHttpClientError() { - prepareMockServer().andRespond(withStatus(HttpStatus.BAD_REQUEST)); - - assertThrows(PostfachBadRequestException.class, () -> service.sendMessage(message)); - } - - @Test - void shouldCallMapper() { - prepareMockServer(); - - service.sendMessage(message); - - verify(mapper).toOsiMessage(any()); - } - - @Nested - class TestResponse { - - @Test - void shouldThrowServerProcessExceptionOnResponseBodyFalse() { - prepareMockServerWithResponseBody(false); - - assertThrows(OsiPostfachServerProcessException.class, () -> service.sendMessage(message)); - - mockServer.verify(); - } - - void prepareMockServerWithResponseBody(boolean body) { - mockServer.expect(ExpectedCount.once(), requestTo(TEST_URL)) - .andExpect(method(HttpMethod.POST)) - .andRespond(withSuccess(String.valueOf(body), MediaType.APPLICATION_JSON)); - } - } - - @DisplayName("rest request body") - @Nested - class TestRestRequestBody { - - @Test - void shouldHaveVorgangIdAsSequenceNumber() { - var postfachNachricht = PostfachNachrichtTestFactory.create(); - when(mapper.toOsiMessage(postfachNachricht)).thenReturn(MessageTestFactory.create()); - - prepareMockServer().andExpect(jsonPath("$.sequenceNumber").value(VORGANG_ID)); - - service.sendMessage(postfachNachricht); - } - - @Test - void shouldHavePostfachIdAsNameIdentifier() { - var postfachNachricht = PostfachNachrichtTestFactory.create(); - when(mapper.toOsiMessage(postfachNachricht)).thenReturn(MessageTestFactory.create()); - - prepareMockServer().andExpect(jsonPath("$.nameIdentifier").value(POSTFACH_ID)); - - service.sendMessage(postfachNachricht); - } - - @Test - void shouldHaveSubject() { - var postfachNachricht = PostfachNachrichtTestFactory.create(); - when(mapper.toOsiMessage(postfachNachricht)).thenReturn(MessageTestFactory.create()); - - prepareMockServer().andExpect(jsonPath("$.subject").value(SUBJECT)); - - service.sendMessage(postfachNachricht); - } - - @Test - void shouldHaveMailBodyAsBody() { - var postfachNachricht = PostfachNachrichtTestFactory.create(); - when(mapper.toOsiMessage(postfachNachricht)).thenReturn(MessageTestFactory.create()); - - prepareMockServer().andExpect(jsonPath("$.body").value(MAIL_BODY)); - - service.sendMessage(postfachNachricht); - } - - @Test - void shouldHaveNumericReplyOptionAsReplyAction() { - var postfachNachricht = PostfachNachrichtTestFactory.create(); - when(mapper.toOsiMessage(postfachNachricht)).thenReturn(MessageTestFactory.create()); - - prepareMockServer().andExpect(jsonPath("$.replyAction").value(REPLY_OPTION.toValue())); - - service.sendMessage(postfachNachricht); - } - } - - private ResponseActions prepareMockServer() { - var responseAction = mockServer.expect(ExpectedCount.once(), requestTo(TEST_URL)) - .andExpect(method(HttpMethod.POST)); - - responseAction.andRespond(withSuccess()); - return responseAction; - } - } - - @Nested - class TestDeleteMessage { - - private final String DELETE_URL = TEST_URL + "?messageGuid=" + MessageTestFactory.MESSAGE_ID; - - @Test - void shouldCallRestTemplateExchange() { - prepareMockServer(); - - service.deleteMessage(MessageTestFactory.MESSAGE_ID); - - mockServer.verify(); - } - - @Test - void shouldThrowExceptionIfNotConfigured() { - prepareMockServer(); - - properties.setUrl(null); - - assertThrows(NotConfiguredException.class, () -> service.deleteMessage(MessageTestFactory.MESSAGE_ID)); - } - - private void prepareMockServer() { - mockServer.expect(ExpectedCount.once(), requestTo(DELETE_URL)) - .andExpect(method(HttpMethod.DELETE)) - .andRespond(withSuccess()); - } - } - - @Nested - class TestGetPostfach { - - @Test - void shouldHasTyp() { - var postfachType = service.getPostfachType(); - - assertThat(postfachType).isEqualTo(OsiPostfachRemoteService.POSTFACH_TYPE); - } - - @Test - void shouldAllowReplys(){ - var isReplyAllowed = service.isReplyAllowed(); - - assertThat(isReplyAllowed).isTrue(); - } - } -} \ No newline at end of file diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachServerProcessExceptionTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachServerProcessExceptionTestFactory.java deleted file mode 100644 index 15e4c59df6f344321021502aeb0ff4887b86b2e8..0000000000000000000000000000000000000000 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/osi/OsiPostfachServerProcessExceptionTestFactory.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.ozgcloud.nachrichten.postfach.osi; - -public class OsiPostfachServerProcessExceptionTestFactory { - - public static OsiPostfachServerProcessException create() { - return new OsiPostfachServerProcessException(); - } - -}