Skip to content
Snippets Groups Projects
Commit 5b629c2e authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6640 fix status mapping

parent 488663df
No related branches found
No related tags found
No related merge requests found
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.nachrichten.postfach.bayernid;
import java.util.Optional;
import de.ozgcloud.nachrichten.postfach.PostfachException;
import de.ozgcloud.nachrichten.postfach.PostfachMessageCode;
......@@ -23,9 +44,11 @@ class BayernIdServerException extends PostfachException { // NOSONAR "This class
}
static PostfachMessageCode getPostfachMessageCode(MailSendingResponseStatus mailSendingResponseStatus) {
return Optional.ofNullable(mailSendingResponseStatus).filter(status -> status == MailSendingResponseStatus.INVALID_POSTKORB_ID)
.map(status -> PostfachMessageCode.SEND_FAILED_UNKNOWN_POSTFACH_ID_MESSAGE_CODE)
.orElse(PostfachMessageCode.PROCESS_FAILED_MESSAGE_CODE);
return switch (mailSendingResponseStatus) {
case INVALID_POSTKORB_ID -> PostfachMessageCode.SEND_FAILED_UNKNOWN_POSTFACH_ID_MESSAGE_CODE;
case SUCCESS -> PostfachMessageCode.SEND_SUCCESSFUL_MESSAGE_CODE;
default -> PostfachMessageCode.PROCESS_FAILED_MESSAGE_CODE;
};
}
@Override
......
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.nachrichten.postfach.bayernid;
import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import de.ozgcloud.nachrichten.postfach.PostfachMessageCode;
class BayernIdServerExceptionTest {
@Nested
class TestGetPostfachMessageCode {
@Test
void shouldReturnSendFailedUnknownPostfachId() {
var result = BayernIdServerException.getPostfachMessageCode(MailSendingResponseStatus.INVALID_POSTKORB_ID);
assertThat(result).isEqualTo(PostfachMessageCode.SEND_FAILED_UNKNOWN_POSTFACH_ID_MESSAGE_CODE);
}
@Test
void shouldReturnSendingSuccessful() {
var result = BayernIdServerException.getPostfachMessageCode(MailSendingResponseStatus.SUCCESS);
assertThat(result).isEqualTo(PostfachMessageCode.SEND_SUCCESSFUL_MESSAGE_CODE);
}
@DisplayName("should return process failed")
@ParameterizedTest(name = "for {0}")
@EnumSource(value = MailSendingResponseStatus.class, names = { "INVALID_POSTKORB_ID", "SUCCESS" }, mode = EnumSource.Mode.EXCLUDE)
void shouldReturnProcessFailed(MailSendingResponseStatus status) {
var result = BayernIdServerException.getPostfachMessageCode(status);
assertThat(result).isEqualTo(PostfachMessageCode.PROCESS_FAILED_MESSAGE_CODE);
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment