diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java index 191bfb47838c787d7c14c3fa64abb352ea1e6610..79edf8e8c0e96bbb3c4c4ec887d57bdc799276b0 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java @@ -69,6 +69,7 @@ public class ElsterRestClient { } <T> T getForObject(String url, Class<T> clazz) { + LOG.info("Loading {} from address {}", clazz.getName(), url); return restClient .get() .uri(url) diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java index 72f4a0b68bfb11d3575b0a43ba44ac115fa172a3..eeeec4f97b073b1b235859ededd56657aac07491 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java @@ -212,6 +212,7 @@ public class ElsterTransferRemoteService { var nachrichtBuilder = PostfachNachricht.builder() .direction(PostfachNachricht.Direction.IN) + .subject(postfachProperties.getReplySubjectPrefix()) .mailBody(postfachProperties.getBody()); if (Objects.nonNull(antwortDetails.getZuordnungskriterium()) && CollectionUtils.isNotEmpty(antwortDetails.getAnhaenge())) { diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java index 2229a4bab8dd9e0f10cb7a51a32dcf9fd94f4cb0..e3864d0d7b1545852234e5f0f1710745dab49fb6 100644 --- a/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java @@ -263,6 +263,7 @@ class ElsterTransferRemoteServiceTest { @Nested class TestLoadingAntwort { byte[] data = "test data".getBytes(); + @Test void shouldLoadAntwort() { var antwort = elsterTransferService.getAntwort(AntwortDetailsTestFactory.create()); @@ -293,7 +294,8 @@ class ElsterTransferRemoteServiceTest { private void setupForAttachments() { when(postfachProperties.getServer()).thenReturn("http://localhost"); when(restClient.getForObject(matches(postfachProperties.getServer() + DOWNLOAD_URI), any())).thenReturn("Test,Data".getBytes()); - when(attachmentService.store(any(), any())).thenReturn(OzgCloudFileId.from(ObjectIdToUUIDConverter.toUUID(new ObjectId().toHexString()).toString())); + when(attachmentService.store(any(), any())).thenReturn( + OzgCloudFileId.from(ObjectIdToUUIDConverter.toUUID(new ObjectId().toHexString()).toString())); } @Test @@ -373,9 +375,65 @@ class ElsterTransferRemoteServiceTest { } } + @Nested + class TestCreatingNachricht { + PostfachNachricht nachricht; + + @BeforeEach + void setUp() { + when(elsterTransferService.loadAntworten()).thenReturn(AntwortDetailsTestFactory.createAntwortDetailsList()); + when(postfachProperties.getReplySubjectPrefix()).thenReturn("Antwort"); + when(postfachProperties.getBody()).thenReturn("Body"); + nachricht = elsterTransferService.getAllMessages().toList().getFirst(); + } + /*PostfachNachricht.FIELD_VORGANG_ID, nachricht.getVorgangId(), + PostfachNachricht.FIELD_CREATED_AT, nachricht.getCreatedAt().format(DateTimeFormatter.ISO_DATE_TIME), + PostfachNachricht.FIELD_DIRECTION, nachricht.getDirection().name(), + PostfachNachricht.FIELD_REPLY_OPTION, nachricht.getReplyOption().name(), + PostfachNachricht.FIELD_SUBJECT, nachricht.getSubject(), + PostfachNachricht.FIELD_MAIL_BODY, nachricht.getMailBody(), + PostfachNachricht.FIELD_ATTACHMENTS, nachricht.getAttachments()));*/ + + @Test + void shouldHaveVorgangId() { + assertThat(nachricht.getVorgangId()).isNotNull(); + } + + @Test + void shouldHaveCreatedAt() { + assertThat(nachricht.getCreatedAt()).isNotNull(); + } + + @Test + void shouldHaveDirection() { + assertThat(nachricht.getDirection()).isEqualTo(PostfachNachricht.Direction.IN); + } + + @Test + void shouldHaveReplyOption() { + assertThat(nachricht.getReplyOption()).isNotNull(); + } + + @Test + void shouldHaveSubject() { + assertThat(nachricht.getSubject()).isNotNull(); + } + + @Test + void shouldHaveMailBody() { + assertThat(nachricht.getMailBody()).isNotNull(); + } + + @Test + void shouldHaveAttachments() { + assertThat(nachricht.getAttachments()).isNotNull(); + } + } + @Nested class TestExceptionHandling { byte[] data = "test data".getBytes(); + @Test void shouldThrowTechnicalExceptionOnUpload() throws IOException { doThrow(IOException.class).when(elsterTransferService).uploadFile(any());