Skip to content
Snippets Groups Projects
Commit e5df1f10 authored by OZG-Cloud Team's avatar OZG-Cloud Team
Browse files

OZG-6054 mantelantrag: Cleanup warning logging

parent 612c054c
No related branches found
No related tags found
No related merge requests found
...@@ -40,8 +40,6 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper { ...@@ -40,8 +40,6 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper {
static final String HAUSANSCHRIFT_ORT_FIELD = "zust_ort"; static final String HAUSANSCHRIFT_ORT_FIELD = "zust_ort";
static final String TELEFON_FIELD = "telefon"; static final String TELEFON_FIELD = "telefon";
static final String FAILURE_MESSAGE = "Failed mapping Zustaendigestelle of Mantelantrag";
private final Environment environment; private final Environment environment;
private Set<String> xtaIdentifiers; private Set<String> xtaIdentifiers;
...@@ -69,11 +67,15 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper { ...@@ -69,11 +67,15 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper {
try { try {
return adaptFormDataWithPossibleException(formData); return adaptFormDataWithPossibleException(formData);
} catch (TechnicalException exception) { } catch (TechnicalException exception) {
logWarning("%s: %s".formatted(FAILURE_MESSAGE, exception.getMessage())); logWarningForFailure(exception);
return formData; return formData;
} }
} }
void logWarningForFailure(Exception exception) {
LOG.warn("Failed mapping Zustaendigestelle of Mantelantrag: %s".formatted(exception.getMessage()));
}
FormData adaptFormDataWithPossibleException(FormData formData) { FormData adaptFormDataWithPossibleException(FormData formData) {
var fieldMap = formData.getFormData(); var fieldMap = formData.getFormData();
var slotIndex = findSlotIndex(fieldMap); var slotIndex = findSlotIndex(fieldMap);
...@@ -115,18 +117,22 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper { ...@@ -115,18 +117,22 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper {
private void verifyOneMatchingIdentifier(List<Integer> matchingSlots) { private void verifyOneMatchingIdentifier(List<Integer> matchingSlots) {
if (matchingSlots.size() != 1) { if (matchingSlots.size() != 1) {
var message = "Found %d matching nachrichtenbroker addresses! Expected one of '%s'." var message = getMultipleSlotsMessage(matchingSlots);
.formatted(matchingSlots.size(), Strings.join(xtaIdentifiers, ','));
if (matchingSlots.isEmpty()) { if (matchingSlots.isEmpty()) {
throw new TechnicalException(message); throw new TechnicalException(message);
} else { } else {
logWarning("Unexpected Zustaendigestelle in Mantelantrag: %s".formatted(message)); logWarningForUnexpected(message);
} }
} }
} }
void logWarning(String message) { void logWarningForUnexpected(String message) {
LOG.warn(message); LOG.warn("Unexpected Zustaendigestelle in Mantelantrag: %s".formatted(message));
}
String getMultipleSlotsMessage(List<Integer> matchingSlots) {
return "Found %d matching nachrichtenbroker addresses! Expected one of '%s'.".formatted(matchingSlots.size(),
Strings.join(xtaIdentifiers, ','));
} }
private List<Integer> getMatchingSlots(Map<String, Object> fieldMap) { private List<Integer> getMatchingSlots(Map<String, Object> fieldMap) {
......
...@@ -18,6 +18,8 @@ import org.junit.jupiter.params.ParameterizedTest; ...@@ -18,6 +18,8 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource; import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.ValueSource; import org.junit.jupiter.params.provider.ValueSource;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.Spy; import org.mockito.Spy;
...@@ -137,13 +139,12 @@ class MantelantragZustaendigeStelleMapperTest { ...@@ -137,13 +139,12 @@ class MantelantragZustaendigeStelleMapperTest {
@DisplayName("should log warning with exception") @DisplayName("should log warning with exception")
@Test @Test
void shouldLogWarningWithException() { void shouldLogWarningWithException() {
var errorMessage = "some error"; var exception = new TechnicalException("some error");
doThrow(new TechnicalException(errorMessage)).when(mapper).adaptFormDataWithPossibleException(formData); doThrow(exception).when(mapper).adaptFormDataWithPossibleException(formData);
doNothing().when(mapper).logWarning(anyString());
mapper.parseFormData(formData); mapper.parseFormData(formData);
verify(mapper).logWarning("%s: %s".formatted(FAILURE_MESSAGE, errorMessage)); verify(mapper).logWarningForFailure(exception);
} }
} }
...@@ -292,6 +293,9 @@ class MantelantragZustaendigeStelleMapperTest { ...@@ -292,6 +293,9 @@ class MantelantragZustaendigeStelleMapperTest {
private Map<String, Object> fieldMap; private Map<String, Object> fieldMap;
@Captor
private ArgumentCaptor<String> warningCaptor;
@BeforeEach @BeforeEach
void mock() { void mock() {
fieldMap = new HashMap<>(Map.of( fieldMap = new HashMap<>(Map.of(
...@@ -324,15 +328,14 @@ class MantelantragZustaendigeStelleMapperTest { ...@@ -324,15 +328,14 @@ class MantelantragZustaendigeStelleMapperTest {
@DisplayName("should log warning if multiple slots match") @DisplayName("should log warning if multiple slots match")
@Test @Test
void shouldThrowIfMultipleSlotsMatch() { void shouldLogWarningIfMultipleSlotsMatch() {
fieldMap.put(getZustaendigeStelleName(0), IDENTIFIER2); fieldMap.put(getZustaendigeStelleName(0), IDENTIFIER2);
fieldMap.put(getZustaendigeStelleName(2), IDENTIFIER); fieldMap.put(getZustaendigeStelleName(2), IDENTIFIER);
doNothing().when(mapper).logWarning(anyString());
mapper.findSlotIndex(fieldMap); mapper.findSlotIndex(fieldMap);
verify(mapper).logWarning(anyString()); verify(mapper).logWarningForUnexpected(warningCaptor.capture());
assertThat(warningCaptor.getValue()).isEqualTo(mapper.getMultipleSlotsMessage(List.of(0, 2)));
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment