From 81b74f81c2f631a139b53e47e0f7b31de935f7b5 Mon Sep 17 00:00:00 2001 From: Evgeny Bardin <evgeny.bardin@external.mgm-cp.com> Date: Thu, 30 Jan 2025 09:02:27 +0100 Subject: [PATCH] OZG-7426 handle empty/missing file content --- .../ozgcloud/vorgang/files/OzgCloudFileRepository.java | 3 +++ .../vorgang/files/OzgCloudFileRepositoryITCase.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java index d9ec33225..dd291f5db 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java @@ -89,6 +89,9 @@ class OzgCloudFileRepository { } private long getContentSize(String contentId) { + if (Objects.isNull(contentId)) { + return 0; + } var contentGridFsFile = gridFsTemplate.find(queryByObjectId(contentId)).first(); if (Objects.isNull(contentGridFsFile)) { throw new NotFoundException(GridFSFile.class, contentId); diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java index 6efa60a53..757f47304 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java @@ -100,6 +100,15 @@ class OzgCloudFileRepositoryITCase { assertThat(result.getSize()).isEqualTo(OzgCloudFileTestFactory.SIZE); } + @Test + void shouldSetContentSizeToZero() { + var ozgCloudFile = OzgCloudFileTestFactory.createBuilder().id(null).version(0).contentId(null).build(); + + var result = repository.save(ozgCloudFile); + + assertThat(result.getSize()).isZero(); + } + @Test void shouldFailIfContentMissing() { var ozgCloudFile = OzgCloudFileTestFactory.createBuilder().id(null).version(0).contentId("missing").build(); -- GitLab