Skip to content
Snippets Groups Projects
Commit 35e67171 authored by OZGCloud's avatar OZGCloud
Browse files

Merge branch 'master' into OZG-6720-revert-fix-patch-signatur

parents c47633ca 3e9da2ab
No related branches found
No related tags found
No related merge requests found
......@@ -46,6 +46,6 @@ public class PostfachProperties {
/**
* Settings that are linked to an Organisationseinheit. Configured by administration config server.
*/
private Map<String, OrganisationsEinheitSettings> organisationsEinheitSettings = Map.of();
private Map<String, Map<String, Object>> organisationsEinheitSettings = Map.of();
}
package de.ozgcloud.alfa.postfach;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
......@@ -15,6 +16,8 @@ import lombok.RequiredArgsConstructor;
@Service
class PostfachSettingsService {
static final String FIELD_SIGNATUR = "signatur";
private PostfachConfigGroup postfachConfigGroup;
private final PostfachMailRemoteService remoteService;
......@@ -74,6 +77,11 @@ class PostfachSettingsService {
}
Optional<OrganisationsEinheitSettings> getOrganisationsEinheitSettings(final String organisationId) {
return Optional.ofNullable(postfachProperties.getOrganisationsEinheitSettings().get(organisationId));
return Optional.ofNullable(postfachProperties.getOrganisationsEinheitSettings().get(organisationId)).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();
}
}
......@@ -3,6 +3,7 @@ package de.ozgcloud.alfa.postfach;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
......@@ -361,11 +362,12 @@ class PostfachSettingsServiceTest {
class TestGetOrganisationsEinheitSettings {
private final OrganisationsEinheitSettings organisationsEinheitSettings = OrganisationsEinheitSettingsTestFactory.create();
private final Map<String, Object> organisationsEinheitSettingsMap = Map.of(PostfachSettingsService.FIELD_SIGNATUR, OrganisationsEinheitSettingsTestFactory.TEST_SIGNATUR);
@BeforeEach
void setUp() {
when(postfachProperties.getOrganisationsEinheitSettings()).thenReturn(
Map.of(OrganisationsEinheitTestFactory.ID, organisationsEinheitSettings));
Map.of(OrganisationsEinheitTestFactory.ID, organisationsEinheitSettingsMap));
}
@Test
......@@ -375,11 +377,18 @@ class PostfachSettingsServiceTest {
verify(postfachProperties).getOrganisationsEinheitSettings();
}
@Test
void shouldMapToOrganisationsEinheitSettings() {
service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID);
verify(service).mapOrganisationsEinheitSettings(organisationsEinheitSettingsMap);
}
@Test
void shouldReturnSettings() {
var settings = service.getOrganisationsEinheitSettings(OrganisationsEinheitTestFactory.ID);
assertThat(settings).hasValue(organisationsEinheitSettings);
assertThat(settings).isPresent().get().usingRecursiveComparison().isEqualTo(organisationsEinheitSettings);
}
@Test
......@@ -389,4 +398,25 @@ class PostfachSettingsServiceTest {
assertThat(settings).isEmpty();
}
}
@Nested
class TestMapOrganisationsEinheitSettings {
private final String signatur = LoremIpsum.getInstance().getWords(2);
private final Map<String, Object> organisationsEinheitSettings = Map.of(PostfachSettingsService.FIELD_SIGNATUR, signatur);
@Test
void shouldMap() {
var settings = service.mapOrganisationsEinheitSettings(organisationsEinheitSettings);
assertThat(settings.getSignatur()).isEqualTo(signatur);
}
@Test
void shouldReturnSettingsWithNullSignatur() {
var settings = service.mapOrganisationsEinheitSettings(Collections.emptyMap());
assertThat(settings.getSignatur()).isNull();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment