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

Merge pull request 'OZG-6176-XTA-Job-beendet-sich-nicht' (#153) from...

Merge pull request 'OZG-6176-XTA-Job-beendet-sich-nicht' (#153) from OZG-6176-XTA-Job-beendet-sich-nicht into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/eingang-manager/pulls/153


Reviewed-by: default avatarOZG-Cloud Team <noreply@ozg-sh.de>
Reviewed-by: default avatarOZG-Cloud Team <noreply@ozg-sh.de>
parents f2e41e78 ee880af6
No related branches found
No related tags found
No related merge requests found
package de.ozgcloud.eingang.xta;
import java.math.BigInteger;
import java.util.Optional;
import java.util.stream.Stream;
import jakarta.xml.bind.JAXBElement;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import eu.osci.ws._2008._05.transport.MsgStatusListType;
import eu.osci.ws._2014._10.transport.MessageMetaData;
......@@ -26,19 +23,9 @@ interface XtaMessageMetaDataMapper {
return XtaMessageId.from(id);
}
@Mapping(target = "moreMessagesAvailable", source = ".", qualifiedByName = "moreMessagesAvailable")
@Mapping(target = "moreMessagesAvailable", constant = "false")
XtaMessageMetaDatasAndHeader msgStatusListFromSoap(MsgStatusListTypeAndHeaderResponse statusList);
@Named("moreMessagesAvailable")
default boolean moreMessagesAvailable(MsgStatusListTypeAndHeaderResponse statusList) {
if (statusList.isNoMessageAvailable()) {
return false;
}
return Optional.ofNullable(statusList.getMessageItemsPending())
.filter(messagesPending -> !BigInteger.ZERO.equals(messagesPending))
.isPresent();
}
default Stream<XtaMessageMetaData> map(JAXBElement<MsgStatusListType> msgStatusListResponse) {
return msgStatusListResponse.getValue().getMessageMetaData().stream().map(this::fromSoap);
}
......
......@@ -6,7 +6,7 @@ logging:
ozgcloud:
xta:
max-list-elements: 10
max-list-elements: 100
keystore:
type: PKCS12
actions:
......
......@@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.*;
import java.math.BigInteger;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
......@@ -14,55 +15,27 @@ class XtaMessageMetaDataMapperTest {
@Spy
private final XtaMessageMetaDataMapper mapper = Mappers.getMapper(XtaMessageMetaDataMapper.class);
@DisplayName("msg status list from soap")
@Nested
class TestMoreMessagesAvailable {
class TestMsgStatusListFromSoap {
@Test
void shouldReturnFalseOnNoMessagesAvailable() {
void shouldMap() {
var response = MsgStatusListTypeAndHeaderResponseTestFactory.createBuilder().build();
var response = mapper.moreMessagesAvailable(buildWithNoMessageAvailable());
var result = mapper.msgStatusListFromSoap(response);
assertThat(response).isFalse();
}
private MsgStatusListTypeAndHeaderResponse buildWithNoMessageAvailable() {
return MsgStatusListTypeAndHeaderResponseTestFactory.createBuilder().noMessageAvailable(true).build();
}
@Test
void shouldReturnFalseOnPendingMessagesNull() {
var response = mapper.moreMessagesAvailable(buildPendingMessagesNull());
assertThat(response).isFalse();
}
private MsgStatusListTypeAndHeaderResponse buildPendingMessagesNull() {
return MsgStatusListTypeAndHeaderResponseTestFactory.createBuilder().messageItemsPending(null).build();
assertThat(result).isNotNull();
}
@DisplayName("should set moreMessagesAvailable to false")
@Test
void shouldReturnFalseOnNoMessagesPending() {
void shouldSetMoreMessagesAvailableToFalse() {
var response = MsgStatusListTypeAndHeaderResponseTestFactory.createBuilder().build();
var response = mapper.moreMessagesAvailable(buildWithoutPendingMessages());
assertThat(response).isFalse();
}
private MsgStatusListTypeAndHeaderResponse buildWithoutPendingMessages() {
return MsgStatusListTypeAndHeaderResponseTestFactory.createBuilder().messageItemsPending(null).build();
}
@Test
void shouldReturnTrueOnMessagesPending() {
var response = mapper.moreMessagesAvailable(buildWithPendingMessages());
assertThat(response).isTrue();
}
var result = mapper.msgStatusListFromSoap(response);
private MsgStatusListTypeAndHeaderResponse buildWithPendingMessages() {
return MsgStatusListTypeAndHeaderResponseTestFactory.createBuilder().messageItemsPending(BigInteger.ONE).build();
assertThat(result.isMoreMessagesAvailable()).isFalse();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment