From 1f98ed6bf670fe71eb03d69200bcbb3db0e58bfe Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 14 Jan 2022 11:50:28 +0100 Subject: [PATCH] OZG-1952 OZG-1975 OZG-1976 add null check on body --- .../ozg/mail/postfach/OsiPostfachService.java | 5 +++++ .../mail/postfach/OsiPostfachServiceITCase.java | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/mail-service/src/main/java/de/itvsh/ozg/mail/postfach/OsiPostfachService.java b/mail-service/src/main/java/de/itvsh/ozg/mail/postfach/OsiPostfachService.java index 113d242f9..5054483b9 100644 --- a/mail-service/src/main/java/de/itvsh/ozg/mail/postfach/OsiPostfachService.java +++ b/mail-service/src/main/java/de/itvsh/ozg/mail/postfach/OsiPostfachService.java @@ -40,6 +40,11 @@ class OsiPostfachService { ResponseEntity<Message[]> response = executeHandlingException( () -> restTemplate.exchange(properties.getUrl(), HttpMethod.GET, null, Message[].class)); + + if (Objects.isNull(response.getBody())) { + LOG.warn("OSI Postfach response with an empty body"); + return Stream.empty(); + } return Arrays.stream(response.getBody()); } diff --git a/pluto-server/src/test/java/de/itvsh/ozg/mail/postfach/OsiPostfachServiceITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/mail/postfach/OsiPostfachServiceITCase.java index 722f1ac9b..36898b503 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/mail/postfach/OsiPostfachServiceITCase.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/mail/postfach/OsiPostfachServiceITCase.java @@ -82,7 +82,20 @@ class OsiPostfachServiceITCase { mockServer.expect(header(PostfachConfiguration.HEADER_API_REALM, API_REALM)) .andRespond(withSuccess(String.valueOf(false), MediaType.APPLICATION_JSON)); - assertThrows(OsiPostfachException.class, () -> service.sendMessage(MessageTestFactory.create())); + assertThrows(OsiPostfachException.class, () -> service.sendMessage(MessageTestFactory.create()));// NOSONAR + + mockServer.verify(); + } + } + + @Nested + class TestGetMessages { + + @Test + void shouldNotThrowErrorOnEmptyBody() { + mockServer.expect(requestTo(URL)).andRespond(withSuccess()); + + assertDoesNotThrow(() -> service.getAllMessages()); mockServer.verify(); } -- GitLab