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 d9ec33225bde9b06c4ed58a412a517d291d29660..dd291f5db7f7454e9c45040904de2bc6f344ae0e 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 6efa60a53808485f8b1ed5c8252887c1a10f6905..757f4730444a5e988ceada63381471e641f04908 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();