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