From 6970a5106c27a384e3708f53b181b8098f86882d Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 25 Oct 2024 12:16:42 +0200 Subject: [PATCH] OZG-6944 remove runtime exception handling on file download in AntragraumService --- .../antragraum/AntragraumService.java | 8 +-- .../antragraum/AntragraumServiceTest.java | 65 ++++--------------- 2 files changed, 13 insertions(+), 60 deletions(-) diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java index 35e0f7b..315c455 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java @@ -34,7 +34,6 @@ import java.util.stream.Stream; import jakarta.annotation.PostConstruct; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.opensaml.saml.saml2.core.Response; import org.springframework.beans.factory.annotation.Qualifier; @@ -175,12 +174,7 @@ public class AntragraumService { } public void getAttachmentContent(AttachmentFileRequest request, OutputStream outputStream) { - try { - verifyAccessToFile(request); - } catch (RuntimeException e) { - IOUtils.closeQuietly(outputStream); - throw e; - } + verifyAccessToFile(request); ozgCloudFileService.writeFileDataToStream(OzgCloudFileId.from(request.getFileId()), outputStream); } 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 aaeb23c..ffda45a 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 @@ -13,15 +13,12 @@ import java.util.Optional; import java.util.UUID; import java.util.stream.Stream; -import org.apache.commons.io.IOUtils; -import org.junit.jupiter.api.AfterEach; 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.MockedStatic; import org.mockito.Spy; import org.opensaml.saml.saml2.core.Response; @@ -596,61 +593,23 @@ class AntragraumServiceTest { private final AttachmentFileRequest request = AttachmentFileRequestTestFactory.create(); - @Nested - class OnSuccessfullVerification { - - @BeforeEach - void mock() { - doNothing().when(service).verifyAccessToFile(request); - } - - @Test - void shouldCallVerifyAccessToFile() { - callGetAttachmentContent(); - - verify(service).verifyAccessToFile(request); - } - - @Test - void shouldCallOzgCloudFileServiceToWriteData() { - callGetAttachmentContent(); - - verify(ozgCloudFileService).writeFileDataToStream(OzgCloudFileId.from(AttachmentFileRequestTestFactory.FILE_ID), outputStream); - } - + @BeforeEach + void mock() { + doNothing().when(service).verifyAccessToFile(request); } - @Nested - class OnUnsuccessfullVerification { - - private MockedStatic<IOUtils> mockedIOUtils; - private RuntimeException exception; - - @BeforeEach - @SneakyThrows - void setUpMock() { - doThrow(exception = new RuntimeException()).when(service).verifyAccessToFile(request); - mockedIOUtils = mockStatic(IOUtils.class); - } + @Test + void shouldCallVerifyAccessToFile() { + callGetAttachmentContent(); - @AfterEach - void cleanUp() { - mockedIOUtils.close(); - } + verify(service).verifyAccessToFile(request); + } - @Test - void shouldClosePipedOutPutStream() { - try { - callGetAttachmentContent(); - } catch (RuntimeException e) { - } - mockedIOUtils.verify(() -> IOUtils.closeQuietly(outputStream)); - } + @Test + void shouldCallOzgCloudFileServiceToWriteData() { + callGetAttachmentContent(); - @Test - void shouldRethrowException() { - assertThatThrownBy(() -> callGetAttachmentContent()).isEqualTo(exception); - } + verify(ozgCloudFileService).writeFileDataToStream(OzgCloudFileId.from(AttachmentFileRequestTestFactory.FILE_ID), outputStream); } @SneakyThrows -- GitLab