From a14885bf2f9234e5cd4c58a30340bea4b54c4381 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 10 Dec 2024 14:21:04 +0100 Subject: [PATCH] OZG-7363 Handle null OE-id --- alfa-client/pom.xml | 5 +- alfa-server/pom.xml | 2 +- alfa-service/pom.xml | 5 +- .../postfach/PostfachSettingsService.java | 10 ++- .../postfach/PostfachSettingsServiceTest.java | 66 ++++++++++++------- pom.xml | 2 +- 6 files changed, 55 insertions(+), 35 deletions(-) diff --git a/alfa-client/pom.xml b/alfa-client/pom.xml index cc55992013..65fcfa2877 100644 --- a/alfa-client/pom.xml +++ b/alfa-client/pom.xml @@ -24,13 +24,12 @@ unter der Lizenz sind dem Lizenztext zu entnehmen. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <groupId>de.ozgcloud.alfa</groupId> <artifactId>alfa</artifactId> - <version>2.17.0</version> + <version>2.17.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/alfa-server/pom.xml b/alfa-server/pom.xml index c1f9487c22..b310933cdb 100644 --- a/alfa-server/pom.xml +++ b/alfa-server/pom.xml @@ -30,7 +30,7 @@ <parent> <groupId>de.ozgcloud.alfa</groupId> <artifactId>alfa</artifactId> - <version>2.17.0</version> + <version>2.17.1-SNAPSHOT</version> </parent> <artifactId>alfa-server</artifactId> diff --git a/alfa-service/pom.xml b/alfa-service/pom.xml index 5987635d5c..e357bb2ad2 100644 --- a/alfa-service/pom.xml +++ b/alfa-service/pom.xml @@ -24,15 +24,14 @@ unter der Lizenz sind dem Lizenztext zu entnehmen. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>de.ozgcloud.alfa</groupId> <artifactId>alfa</artifactId> - <version>2.17.0</version> + <version>2.17.1-SNAPSHOT</version> </parent> <artifactId>alfa-service</artifactId> diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachSettingsService.java b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachSettingsService.java index 5e5ca6852b..71d81170a9 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachSettingsService.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachSettingsService.java @@ -99,12 +99,18 @@ class PostfachSettingsService { .orElse(false); } - Optional<OrganisationsEinheitSettings> getOrganisationsEinheitSettings(final String organisationId) { - return Optional.ofNullable(postfachProperties.getOrganisationsEinheitSettings().get(organisationId)).map(this::mapOrganisationsEinheitSettings); + Optional<OrganisationsEinheitSettings> getOrganisationsEinheitSettings(String organisationId) { + return Optional.ofNullable(organisationId) + .map(this::getOrganisationsEinheitPostfachSettings) + .map(this::mapOrganisationsEinheitSettings); } OrganisationsEinheitSettings mapOrganisationsEinheitSettings(Map<String, Object> organisationsEinheitSettings) { var signatur = Optional.ofNullable(organisationsEinheitSettings.get(FIELD_SIGNATUR)).map(Object::toString).orElse(null); return OrganisationsEinheitSettings.builder().signatur(signatur).build(); } + + private Map<String, Object> getOrganisationsEinheitPostfachSettings(String organisationId) { + return postfachProperties.getOrganisationsEinheitSettings().get(organisationId); + } } diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachSettingsServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachSettingsServiceTest.java index 82811fbf49..23af6bf579 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachSettingsServiceTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachSettingsServiceTest.java @@ -384,41 +384,57 @@ class PostfachSettingsServiceTest { @Nested class TestGetOrganisationsEinheitSettings { - private final OrganisationsEinheitSettings organisationsEinheitSettings = OrganisationsEinheitSettingsTestFactory.create(); - private final Map<String, Object> organisationsEinheitSettingsMap = Map.of(PostfachSettingsService.FIELD_SIGNATUR, OrganisationsEinheitSettingsTestFactory.TEST_SIGNATUR); + @Nested + class OnOrganisationIdNotNull { - @BeforeEach - void setUp() { - when(postfachProperties.getOrganisationsEinheitSettings()).thenReturn( - Map.of(OrganisationsEinheitTestFactory.ID, organisationsEinheitSettingsMap)); - } + private final OrganisationsEinheitSettings organisationsEinheitSettings = OrganisationsEinheitSettingsTestFactory.create(); + private final Map<String, Object> organisationsEinheitSettingsMap = Map.of(PostfachSettingsService.FIELD_SIGNATUR, + OrganisationsEinheitSettingsTestFactory.TEST_SIGNATUR); - @Test - void shouldGetOrganisationsEinheitSettings() { - service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID); + @BeforeEach + void setUp() { + when(postfachProperties.getOrganisationsEinheitSettings()).thenReturn( + Map.of(OrganisationsEinheitTestFactory.ID, organisationsEinheitSettingsMap)); + } - verify(postfachProperties).getOrganisationsEinheitSettings(); - } + @Test + void shouldGetOrganisationsEinheitSettings() { + service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID); - @Test - void shouldMapToOrganisationsEinheitSettings() { - service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID); + verify(postfachProperties).getOrganisationsEinheitSettings(); + } - verify(service).mapOrganisationsEinheitSettings(organisationsEinheitSettingsMap); - } + @Test + void shouldMapToOrganisationsEinheitSettings() { + service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID); - @Test - void shouldReturnSettings() { - var settings = service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID); + verify(service).mapOrganisationsEinheitSettings(organisationsEinheitSettingsMap); + } + + @Test + void shouldReturnSettings() { + var settings = service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID); + + assertThat(settings).isPresent().get().usingRecursiveComparison().isEqualTo(organisationsEinheitSettings); + } + + @Test + void shouldReturnEmpty() { + var settings = service.getOrganisationsEinheitSettings(UUID.randomUUID().toString()); - assertThat(settings).isPresent().get().usingRecursiveComparison().isEqualTo(organisationsEinheitSettings); + assertThat(settings).isEmpty(); + } } - @Test - void shouldReturnEmpty() { - var settings = service.getOrganisationsEinheitSettings(UUID.randomUUID().toString()); + @Nested + class OnOrganisationIdNull { - assertThat(settings).isEmpty(); + @Test + void shouldReturnEmpty() { + var settings = service.getOrganisationsEinheitSettings(null); + + assertThat(settings).isEmpty(); + } } } diff --git a/pom.xml b/pom.xml index 000974e00f..2c536af25a 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ <groupId>de.ozgcloud.alfa</groupId> <artifactId>alfa</artifactId> - <version>2.17.0</version> + <version>2.17.1-SNAPSHOT</version> <name>Alfa Parent</name> <packaging>pom</packaging> <inceptionYear>2020</inceptionYear> -- GitLab