From 4643643e335c62c511648d7a2c44c509510e5d5d Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Wed, 12 Feb 2025 11:06:57 +0100 Subject: [PATCH] OZG-4094 Throw exception for unexpected postfachIdentifier --- .../nachrichten/postfach/PostfachNachrichtMapper.java | 5 ++++- .../postfach/PostfachNachrichtMapperTest.java | 9 ++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java index 6ef2b4b..1fff1bd 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java @@ -240,6 +240,9 @@ public abstract class PostfachNachrichtMapper { private Map<String, Object> buildPostfachAddressIdentifierMap(PostfachAddress postfachAddress) { var identifier = postfachAddress.getIdentifier(); - return Map.of(PostfachAddress.FIELD_POSTFACH_ID, identifier.isStringBasedIdentifier() ? identifier.toString() : ""); + if (!identifier.isStringBasedIdentifier()) { + throw new IllegalStateException("Illegal Type of Postfach Identifier: " + identifier.getClass().getName()); + } + return Map.of(PostfachAddress.FIELD_POSTFACH_ID, identifier.toString()); } } \ No newline at end of file diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java index 469309f..30a5d0b 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java @@ -339,10 +339,9 @@ class PostfachNachrichtMapperTest { assertDoesNotThrow(() -> mapper.mapToMap(postfachMail)); } - @DisplayName("should map non string based identifier to empty") + @DisplayName("should throw if not string-based identifier") @Test - - void shouldMapNonStringBasedIdentifierToEmpty() { + void shouldThrowIfNotStringBasedIdentifier() { var postfachMail = PostfachNachrichtTestFactory.createBuilder() .postfachAddress(PostfachAddressTestFactory.createBuilder() .identifier(new PostfachAddressIdentifier() { @@ -350,9 +349,9 @@ class PostfachNachrichtMapperTest { .build() ).build(); - var postfachId = mapPostfachId(postfachMail); + assertThatThrownBy(() -> mapPostfachId(postfachMail)) + .isInstanceOf(IllegalStateException.class); - assertThat(postfachId).isEmpty(); } @DisplayName("should map string based identifier") -- GitLab