From bd5d14712587a2da7ee3a70c50e52bdb659ddd2c Mon Sep 17 00:00:00 2001
From: Joerg Bolay <joerg.bolay@dataport.de>
Date: Thu, 19 Dec 2024 13:40:35 +0100
Subject: [PATCH] fix sonarqube findings

---
 .../transfer/PostfachApiFacadeService.java    | 16 +++--------
 .../PostfachApiFacadeServiceTest.java         | 27 ++++++++++++++++---
 2 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
index 87cb296..336143e 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
@@ -1,7 +1,5 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
 
-import java.util.List;
-import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -28,22 +26,14 @@ public record PostfachApiFacadeService(
 	}
 
 	public Stream<PostfachNachricht> receiveMessages() {
-		// TODO fetch message by guid and map to PostfachNachricht
-		var response = messageExchangeApi.receiveMessages(100, 0)
-				.block();
-		LOG.info("receive-message-guids: {}", String.join(", ",
-				response.getMessages().stream().map(message -> message.getGuid().toString()).toList()));
+		var response = messageExchangeApi.receiveMessages(100, 0).block();
 
-		var stream = response.getMessages().stream()
-				.map(message -> fetchMessageByGuid(message));
-
-		return stream;
+		return response.getMessages().stream().map(this::fetchMessageByGuid);
 	}
 
 	PostfachNachricht fetchMessageByGuid(final MessageExchangeReceiveMessage message) {
 		var messageReply = messageExchangeApi.getMessage(message.getGuid()).block();
-		var postfachNachricht = responseMapper.toPostfachNachricht(messageReply);
-		return PostfachNachricht.builder().build();
+		return responseMapper.toPostfachNachricht(messageReply);
 	}
 
 }
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
index 518a05a..911e86e 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
@@ -1,12 +1,9 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
 
 import static de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachAddressTestFactory.*;
+import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
-import java.util.Arrays;
-import java.util.UUID;
-import java.util.stream.Stream;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -107,6 +104,28 @@ class PostfachApiFacadeServiceTest {
 
 			verify(messageExchangeApi).getMessage(any());
 		}
+
+		@Test
+		void shouldCallResponseMapper(){
+			var replyMono = Mono.just(replyMessage);
+			when(messageExchangeApi.getMessage(any())).thenReturn(replyMono);
+			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
+
+			postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
+
+			verify(responseMapper).toPostfachNachricht(any());
+		}
+
+		@Test
+		void shouldReturnPostfachNachricht(){
+			var replyMono = Mono.just(replyMessage);
+			when(messageExchangeApi.getMessage(any())).thenReturn(replyMono);
+			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
+
+			var postfachNachricht = postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
+
+			assertThat(postfachNachricht).isInstanceOf(PostfachNachricht.class);
+		}
 	}
 
 }
\ No newline at end of file
-- 
GitLab