Skip to content
Snippets Groups Projects
Commit 83ed91ad authored by Jan Zickermann's avatar Jan Zickermann
Browse files

OZG-6239 Move lookup service request and response mapping to mapper

parent d7e81766
No related branches found
No related tags found
No related merge requests found
Showing
with 281 additions and 103 deletions
......@@ -15,11 +15,13 @@ import de.ozgcloud.xta.test.app.exception.TechnicalException;
import de.ozgcloud.xta.test.app.model.XtaCloseRequest;
import de.ozgcloud.xta.test.app.model.XtaFile;
import de.ozgcloud.xta.test.app.model.XtaGetMessageRequest;
import de.ozgcloud.xta.test.app.model.XtaLookupServiceRequest;
import de.ozgcloud.xta.test.app.model.XtaMessage;
import de.ozgcloud.xta.test.app.model.XtaMessageMetaData;
import de.ozgcloud.xta.test.app.model.XtaMessageMetaDataListingRequest;
import genv3.de.xoev.transport.xta.x211.ContentType;
import genv3.de.xoev.transport.xta.x211.GenericContentContainer;
import genv3.de.xoev.transport.xta.x211.LookupServiceRequest;
import genv3.eu.osci.ws.x2008.x05.transport.MsgBoxCloseRequestType;
import genv3.eu.osci.ws.x2008.x05.transport.MsgBoxFetchRequest;
import genv3.eu.osci.ws.x2008.x05.transport.MsgBoxStatusListRequestType;
......@@ -88,4 +90,9 @@ public interface RequestMapper {
@Mapping(target = "messageId", source = "fetchRequest.msgSelector.messageID.first.value")
@Mapping(target = "clientIdentifierValue", source = "authorIdentifier.identifier.value")
XtaGetMessageRequest mapXtaGetMessageRequest(MsgBoxFetchRequest fetchRequest, PartyType authorIdentifier);
@Mapping(target = "service", source = "lookupServiceRequest.lookupServiceRequestList.first.lookupService.serviceType")
@Mapping(target = "readerIdentifierValue", source = "lookupServiceRequest.lookupServiceRequestList.first.lookupService.reader.identifier.value")
@Mapping(target = "authorIdentifierValue", source = "authorIdentifier.identifier.value")
XtaLookupServiceRequest mapXtaLookupServiceRequest(LookupServiceRequest lookupServiceRequest, PartyType authorIdentifier);
}
......@@ -22,12 +22,15 @@ import org.mapstruct.TargetPropertyName;
import de.ozgcloud.xta.test.app.model.Identifier;
import de.ozgcloud.xta.test.app.model.XtaFile;
import de.ozgcloud.xta.test.app.model.XtaLookupServiceRequest;
import de.ozgcloud.xta.test.app.model.XtaMessage;
import de.ozgcloud.xta.test.app.model.XtaMessageMetaData;
import de.ozgcloud.xta.test.app.model.XtaMessageMetaDataListing;
import de.ozgcloud.xta.test.app.util.XtaIdGenerator;
import genv3.de.xoev.transport.xta.x211.ContentType;
import genv3.de.xoev.transport.xta.x211.GenericContentContainer;
import genv3.de.xoev.transport.xta.x211.LookupServiceResponse;
import genv3.de.xoev.transport.xta.x211.LookupServiceResultType;
import genv3.eu.osci.ws.x2008.x05.transport.MsgBoxResponseType;
import genv3.eu.osci.ws.x2008.x05.transport.MsgStatusListType;
import genv3.eu.osci.ws.x2014.x10.transport.DeliveryAttributesType;
......@@ -62,7 +65,7 @@ public interface ResponseMapper {
@Mapping(target = "destinations.reader.identifier", source = "readerIdentifier")
@Mapping(target = "msgSize", source = "messageSize")
@Mapping(target = "testMsg", ignore = true)
@Mapping(target = "deliveryAttributes", expression = "java( defaultDeliveryAttributes() )")
@Mapping(target = "deliveryAttributes", expression = "java( createDefaultDeliveryAttributes(createNowXmlGregorianCalendarFromLocalDateTime()) )")
@Mapping(target = "messageProperties", ignore = true)
MessageMetaData mapMessageMetaData(XtaMessageMetaData xtaMessageMetaData);
......@@ -112,21 +115,20 @@ public interface ResponseMapper {
return new DataHandler(dataSource);
}
default DeliveryAttributesType defaultDeliveryAttributes() {
XMLGregorianCalendar calendarNow = xmlGregorianCalendarFromLocalDateTime(LocalDateTime.now());
DeliveryAttributesType deliveryAttributes = new DeliveryAttributesType();
deliveryAttributes.setDelivery(calendarNow);
deliveryAttributes.setInitialFetch(calendarNow);
deliveryAttributes.setInitialSend(calendarNow);
deliveryAttributes.setOrigin(calendarNow);
return deliveryAttributes;
}
@Mapping(target = "delivery", source = ".")
@Mapping(target = "initialFetch", source = ".")
@Mapping(target = "initialSend", source = ".")
@Mapping(target = "origin", source = ".")
@Mapping(target = "notBefore", ignore = true)
@Mapping(target = "obsoleteAfter", ignore = true)
@Mapping(target = "reception", ignore = true)
@Mapping(target = "serviceQuality", ignore = true)
@Mapping(target = "receiptRequests", ignore = true)
DeliveryAttributesType createDefaultDeliveryAttributes(XMLGregorianCalendar timestamp);
@SneakyThrows
default XMLGregorianCalendar xmlGregorianCalendarFromLocalDateTime(LocalDateTime localDateTime) {
var isoTimeString = DateTimeFormatter.ISO_DATE_TIME.format(localDateTime);
default XMLGregorianCalendar createNowXmlGregorianCalendarFromLocalDateTime() {
var isoTimeString = DateTimeFormatter.ISO_DATE_TIME.format(LocalDateTime.now());
return DatatypeFactory.newInstance().newXMLGregorianCalendar(isoTimeString);
}
......@@ -170,4 +172,12 @@ public interface ResponseMapper {
@Mapping(target = "noMessageAvailable.reason", source = "errorString")
MsgBoxResponseType mapMsgBoxResponseTypeError(String errorString);
@Mapping(target = "isServiceAvailableValue.serviceIsAvailable", expression = "java( true )")
@Mapping(target = "serviceType", source = "service")
@Mapping(target = "reader.identifier.value", source = "readerIdentifierValue")
@Mapping(target = "serviceParameter", ignore = true)
LookupServiceResultType mapLookupServiceResultType(XtaLookupServiceRequest xtaLookupServiceRequest);
@Mapping(target = "lookupServiceResultList.lookupServiceResult", expression = "java( List.of( mapLookupServiceResultType(xtaLookupServiceRequest) ) )")
LookupServiceResponse mapLookupServiceResponse(XtaLookupServiceRequest xtaLookupServiceRequest);
}
package de.ozgcloud.xta.test.app.model;
import lombok.Builder;
@Builder
public record XtaLookupServiceRequest(
String service,
String readerIdentifierValue,
String authorIdentifierValue
) {
}
package de.ozgcloud.xta.test.app.server;
import java.util.List;
import genv3.de.xoev.transport.xta.x211.*;
import genv3.de.xoev.transport.xta.x211.LookupServiceRequest.LookupServiceRequestList;
import genv3.de.xoev.transport.xta.x211.LookupServiceResponse.LookupServiceResultList;
import genv3.eu.osci.ws.x2014.x10.transport.PartyType;
import jakarta.annotation.Generated;
import jakarta.jws.WebService;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.apache.cxf.annotations.SchemaValidation;
import org.apache.cxf.ws.addressing.AttributedURIType;
import org.springframework.stereotype.Component;
import de.ozgcloud.xta.test.app.mapper.RequestMapper;
import de.ozgcloud.xta.test.app.mapper.ResponseMapper;
import de.ozgcloud.xta.test.app.service.ParameterValidatorService;
import de.ozgcloud.xta.test.app.service.XtaParameter;
import de.ozgcloud.xta.test.app.util.XtaIdGenerator;
import genv3.de.xoev.transport.xta.x211.CancelDeniedException;
import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException;
import genv3.de.xoev.transport.xta.x211.LookupServiceRequest;
import genv3.de.xoev.transport.xta.x211.ManagementPortType;
import genv3.de.xoev.transport.xta.x211.ParameterIsNotValidException;
import genv3.de.xoev.transport.xta.x211.PermissionDeniedException;
import genv3.de.xoev.transport.xta.x211.TransportReport;
import genv3.de.xoev.transport.xta.x211.XTAWSTechnicalProblemException;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@WebService(serviceName = "XTAService", portName = "ManagementPort", targetNamespace = "http://xoev.de/transport/xta/211", wsdlLocation = "classpath:wsdl/XTA.wsdl", endpointInterface = "genv3.de.xoev.transport.xta.x211.ManagementPortType")
@SchemaValidation(type = SchemaValidation.SchemaValidationType.BOTH)
......@@ -28,8 +32,9 @@ public class ManagementPortImpl implements ManagementPortType {
private final ParameterValidatorService validator;
private final XtaIdGenerator xtaIdGenerator;
private final ResponseMapper responseMapper;
private final RequestMapper requestMapper;
/*
* (non-Javadoc)
......@@ -71,32 +76,9 @@ public class ManagementPortImpl implements ManagementPortType {
throws XTAWSTechnicalProblemException, PermissionDeniedException, ParameterIsNotValidException {
log.info("Executing operation lookupService");
LookupServiceResponse lookupResponse = new LookupServiceResponse();
var request = requestMapper.mapXtaLookupServiceRequest(lookupServiceRequest, authorIdentifier);
LookupServiceResultList lookupServiceResultList = new LookupServiceResultList();
lookupResponse.setLookupServiceResultList(lookupServiceResultList);
List<LookupServiceResultType> resultlist = lookupServiceResultList.getLookupServiceResult();
for (LookupServiceRequestList lookupServiceRequestList : lookupServiceRequest.getLookupServiceRequestList()) {
handleLookupServiceRequest(lookupServiceRequestList, resultlist);
}
return lookupResponse;
}
private void handleLookupServiceRequest(LookupServiceRequestList lookupServiceRequestList, List<LookupServiceResultType> resultlist) {
LookupServiceResultType lookupServiceResult = new LookupServiceResultType();
lookupServiceResult.setServiceType(lookupServiceRequestList.getLookupService().getServiceType());
IsServiceAvailableValueType serviceAvailable = new IsServiceAvailableValueType();
serviceAvailable.setServiceIsAvailable(true);
lookupServiceResult.setIsServiceAvailableValue(serviceAvailable);
PartyType requestReader = lookupServiceRequestList.getLookupService().getReader();
PartyType reader = new PartyType();
reader.setIdentifier(requestReader.getIdentifier());
reader.getSecurityToken().addAll(requestReader.getSecurityToken());
lookupServiceResult.setReader(reader);
resultlist.add(lookupServiceResult);
return responseMapper.mapLookupServiceResponse(request);
}
/*
......@@ -111,8 +93,7 @@ public class ManagementPortImpl implements ManagementPortType {
throws XTAWSTechnicalProblemException, CancelDeniedException, PermissionDeniedException,
ParameterIsNotValidException {
log.info("Executing operation cancelMessage");
log.info("cancelMessage called, author: {}", authorIdentifier);
throw new XTAWSTechnicalProblemException("Method not supported");
}
/*
......
......@@ -7,6 +7,7 @@ import genv3.eu.osci.ws.x2014.x10.transport.PartyType;
public class LookupServiceRequestTestFactory {
public static final String SERVICE_TYPE = "http://www.osci.de/xmeld181/xmeld181Rueckmeldung.wsdl";
public static final PartyType READER_PARTY_TYPE = createReaderPartyType();
public static final String LOOKUP_SERVICE_REQUEST_READER = "gae:reader";
public static LookupServiceRequest create() {
var lookupServiceRequest = new LookupServiceRequest();
......@@ -31,7 +32,7 @@ public class LookupServiceRequestTestFactory {
private static PartyType createReaderPartyType() {
var readerPartyType = new PartyType();
var readerIdentifier = PartyIdentifierTypeTestFactory.createReader("gae:reader");
var readerIdentifier = PartyIdentifierTypeTestFactory.createReader(LOOKUP_SERVICE_REQUEST_READER);
readerPartyType.setIdentifier(readerIdentifier);
return readerPartyType;
}
......
package de.ozgcloud.xta.test.app.factory;
import genv3.eu.osci.ws.x2008.x05.transport.MsgBoxCloseRequestType;
import org.apache.cxf.ws.addressing.AttributedURIType;
public class MsgBoxCloseRequestTypeTestFactory {
public static final AttributedURIType MESSAGE_ID = AttributedURITypeTestFactory.create("de:xta:messageid:xta-test-server:close-id");
public static final String CLOSE_REQUEST_MESSAGE_ID = "de:xta:messageid:xta-test-server:close-id";
public static MsgBoxCloseRequestType create() {
var closeRequest = new MsgBoxCloseRequestType();
closeRequest.getLastMsgReceived().add(MESSAGE_ID);
closeRequest.getLastMsgReceived().add(AttributedURITypeTestFactory.create(CLOSE_REQUEST_MESSAGE_ID));
return closeRequest;
}
}
......@@ -2,15 +2,14 @@ package de.ozgcloud.xta.test.app.factory;
import genv3.eu.osci.ws.x2008.x05.transport.MsgBoxFetchRequest;
import genv3.eu.osci.ws.x2008.x05.transport.MsgSelector;
import org.apache.cxf.ws.addressing.AttributedURIType;
public class MsgBoxFetchRequestTestFactory {
public static final AttributedURIType MESSAGE_ID = AttributedURITypeTestFactory.create("urn:de:xta:messageId:xta-test-server:1234");
public static final String GET_MESSAGE_REQUEST_MESSAGE_ID = "urn:de:xta:messageId:xta-test-server:1234";
public static MsgBoxFetchRequest create() {
MsgBoxFetchRequest fetchRequest = new MsgBoxFetchRequest();
MsgSelector msgSelector = new MsgSelector();
msgSelector.getMessageID().add(MESSAGE_ID);
msgSelector.getMessageID().add(AttributedURITypeTestFactory.create(GET_MESSAGE_REQUEST_MESSAGE_ID));
fetchRequest.setMsgSelector(msgSelector);
return fetchRequest;
}
......
......@@ -2,23 +2,20 @@ package de.ozgcloud.xta.test.app.mapper;
import static de.ozgcloud.xta.test.app.factory.MessageMetaDataTestFactory.*;
import genv3.eu.osci.ws.x2014.x10.transport.PartyIdentifierType;
import genv3.eu.osci.ws.x2014.x10.transport.PartyType;
public class PartyTypeTestFactory {
public static PartyType create() {
var partyIdentifier = new PartyType();
partyIdentifier.setIdentifier(createIdentifier());
partyIdentifier.setIdentifier(READER_IDENTIFIER);
return partyIdentifier;
}
private static PartyIdentifierType createIdentifier() {
var identifier = new PartyIdentifierType();
identifier.setName(READER_IDENTIFIER.getName());
identifier.setCategory(READER_IDENTIFIER.getCategory());
identifier.setValue(READER_IDENTIFIER.getValue());
return identifier;
public static PartyType createWithAuthor() {
var partyIdentifier = new PartyType();
partyIdentifier.setIdentifier(AUTHOR_IDENTIFIER);
return partyIdentifier;
}
}
package de.ozgcloud.xta.test.app.mapper;
import static de.ozgcloud.xta.test.app.factory.LookupServiceRequestTestFactory.*;
import static de.ozgcloud.xta.test.app.factory.MsgBoxCloseRequestTypeTestFactory.*;
import static de.ozgcloud.xta.test.app.factory.MsgBoxFetchRequestTestFactory.*;
import static de.ozgcloud.xta.test.app.factory.XtaMessageMetaDataTestFactory.*;
import static org.assertj.core.api.Assertions.*;
......@@ -15,11 +18,17 @@ import org.mapstruct.factory.Mappers;
import de.ozgcloud.xta.test.app.factory.AttributedURITypeTestFactory;
import de.ozgcloud.xta.test.app.factory.ContentTypeTestFactory;
import de.ozgcloud.xta.test.app.factory.GenericContentContainerTestFactory;
import de.ozgcloud.xta.test.app.factory.LookupServiceRequestTestFactory;
import de.ozgcloud.xta.test.app.factory.MessageMetaDataTestFactory;
import de.ozgcloud.xta.test.app.factory.MsgBoxCloseRequestTypeTestFactory;
import de.ozgcloud.xta.test.app.factory.MsgBoxFetchRequestTestFactory;
import de.ozgcloud.xta.test.app.factory.MsgBoxStatusListRequestTypeTestFactory;
import de.ozgcloud.xta.test.app.factory.QualifierTypeBusinessScenarioTestFactory;
import de.ozgcloud.xta.test.app.model.Identifier;
import de.ozgcloud.xta.test.app.model.XtaCloseRequest;
import de.ozgcloud.xta.test.app.model.XtaFile;
import de.ozgcloud.xta.test.app.model.XtaGetMessageRequest;
import de.ozgcloud.xta.test.app.model.XtaLookupServiceRequest;
import de.ozgcloud.xta.test.app.model.XtaMessageMetaDataListingRequest;
import genv3.de.xoev.transport.xta.x211.ContentType;
import genv3.de.xoev.transport.xta.x211.GenericContentContainer;
......@@ -27,6 +36,7 @@ import genv3.eu.osci.ws.x2008.x05.transport.MsgBoxFetchRequest;
import genv3.eu.osci.ws.x2008.x05.transport.MsgSelector;
import genv3.eu.osci.ws.x2014.x10.transport.MessageMetaData;
import genv3.eu.osci.ws.x2014.x10.transport.PartyIdentifierType;
import genv3.eu.osci.ws.x2014.x10.transport.PartyType;
import lombok.SneakyThrows;
public class RequestMapperTest {
......@@ -182,7 +192,91 @@ public class RequestMapperTest {
return requestMapper.mapMessageMetaDataListingRequest(MsgBoxStatusListRequestTypeTestFactory.create(MAX_LIST_ITEMS),
PartyTypeTestFactory.create());
}
}
@DisplayName("map xta close request")
@Nested
class TestMapXtaCloseRequest {
@DisplayName("should map message id")
@Test
void shouldMapMessageId() {
var result = doMapping();
assertThat(result.messageId()).isEqualTo(CLOSE_REQUEST_MESSAGE_ID);
}
@DisplayName("should map client identifier value")
@Test
void shouldMapClientIdentifierValue() {
var result = doMapping();
assertThat(result.clientIdentifierValue()).isEqualTo(READER_IDENTIFIER.value());
}
private XtaCloseRequest doMapping() {
return requestMapper.mapXtaCloseRequest(MsgBoxCloseRequestTypeTestFactory.create(),
PartyTypeTestFactory.create());
}
}
@DisplayName("map xta get message request")
@Nested
class TestMapXtaGetMessageRequest {
@DisplayName("should map message id")
@Test
void shouldMapMessageId() {
var result = doMapping();
assertThat(result.messageId()).isEqualTo(GET_MESSAGE_REQUEST_MESSAGE_ID);
}
@DisplayName("should map client identifier value")
@Test
void shouldMapClientIdentifierValue() {
var result = doMapping();
assertThat(result.clientIdentifierValue()).isEqualTo(READER_IDENTIFIER.value());
}
private XtaGetMessageRequest doMapping() {
return requestMapper.mapXtaGetMessageRequest(MsgBoxFetchRequestTestFactory.create(),
PartyTypeTestFactory.create());
}
}
@DisplayName("map xta lookup service request")
@Nested
class TestMapXtaLookupServiceRequest {
private static final PartyType partyType = PartyTypeTestFactory.create();
@DisplayName("should map service")
@Test
void shouldMapService() {
var result = doMapping();
assertThat(result.service()).isEqualTo(SERVICE_TYPE);
}
@DisplayName("should map reader identifier value")
@Test
void shouldMapReaderIdentifierValue() {
var result = doMapping();
assertThat(result.readerIdentifierValue()).isEqualTo(LOOKUP_SERVICE_REQUEST_READER);
}
@DisplayName("should map author identifier value")
@Test
void shouldMapAuthorIdentifierValue() {
var result = doMapping();
assertThat(result.authorIdentifierValue()).isEqualTo(partyType.getIdentifier().getValue());
}
private XtaLookupServiceRequest doMapping() {
return requestMapper.mapXtaLookupServiceRequest(LookupServiceRequestTestFactory.create(),
partyType);
}
}
}
......@@ -2,6 +2,7 @@ package de.ozgcloud.xta.test.app.mapper;
import static de.ozgcloud.xta.test.app.factory.XtaMessageMetaDataTestFactory.*;
import static de.ozgcloud.xta.test.app.mapper.ResponseMapper.*;
import static de.ozgcloud.xta.test.app.mapper.XtaLookupServiceRequestTestFactory.*;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
......@@ -22,7 +23,10 @@ import de.ozgcloud.xta.test.app.model.XtaMessageMetaDataListing;
import de.ozgcloud.xta.test.app.util.XtaId;
import de.ozgcloud.xta.test.app.util.XtaIdGenerator;
import genv3.de.xoev.transport.xta.x211.ContentType;
import genv3.de.xoev.transport.xta.x211.LookupServiceResponse;
import genv3.de.xoev.transport.xta.x211.LookupServiceResultType;
import genv3.eu.osci.ws.x2008.x05.transport.MsgStatusListType;
import genv3.eu.osci.ws.x2014.x10.transport.DeliveryAttributesType;
import genv3.eu.osci.ws.x2014.x10.transport.MessageMetaData;
import genv3.eu.osci.ws.x2014.x10.transport.QualifierType;
import lombok.SneakyThrows;
......@@ -277,10 +281,14 @@ public class ResponseMapperTest {
.isEqualTo(mapper.mapPartyIdentifierType(AUTHOR_IDENTIFIER));
}
@DisplayName("should default sender identifier")
@DisplayName("should set default sender identifier")
@Test
void shouldSetDefaultSenderIdentifier() {
// TODO
var result = mapFirstMessageMetaData();
assertThat(result.getOriginators().getSender().getIdentifier())
.usingRecursiveComparison()
.isEqualTo(mapper.mapPartyIdentifierType(SENDER_IDENTIFIER));
}
@DisplayName("should map reader identifier")
......@@ -296,19 +304,43 @@ public class ResponseMapperTest {
@DisplayName("should set default delivery attribute delivery")
@Test
void shouldSetDefaultDeliveryAttributeDelivery() {
// TODO
var result = mapFirstMessageMetaDataDelivery();
assertThat(result.getDelivery()).isNotNull();
}
@DisplayName("should set default delivery attribute inital fetch")
@DisplayName("should set default delivery attribute initial fetch")
@Test
void shouldSetDefaultDeliveryAttributeInitialFetch() {
// TODO
var result = mapFirstMessageMetaDataDelivery();
assertThat(result.getInitialFetch()).isNotNull();
}
@DisplayName("should set default delivery attribute initial send")
@Test
void shouldSetDefaultDeliveryAttributeInitialSend() {
var result = mapFirstMessageMetaDataDelivery();
assertThat(result.getInitialSend()).isNotNull();
}
@DisplayName("should set default delivery attribute origin")
@Test
void shouldSetDefaultDeliveryAttributeOrigin() {
var result = mapFirstMessageMetaDataDelivery();
assertThat(result.getOrigin()).isNotNull();
}
private MsgStatusListType doMapping() {
return mapper.mapMsgStatusListType(xtaMessageMetaDataListing);
}
private DeliveryAttributesType mapFirstMessageMetaDataDelivery() {
return mapFirstMessageMetaData().getDeliveryAttributes();
}
private MessageMetaData mapFirstMessageMetaData() {
return doMapping().getMessageMetaData().getFirst();
}
......@@ -419,4 +451,41 @@ public class ResponseMapperTest {
assertThat(result.getNoMessageAvailable()).isNull();
}
}
@DisplayName("map lookup service response")
@Nested
class TestMapLookupServiceResponse {
@DisplayName("should map service type")
@Test
void shouldMapServiceType() {
var result = getFirstLookupServiceResult();
assertThat(result.getServiceType()).isEqualTo(LOOKUP_SERVICE_SERVICE);
}
@DisplayName("should map reader identifier value")
@Test
void shouldMapReaderIdentifierValue() {
var result = getFirstLookupServiceResult();
assertThat(result.getReader().getIdentifier().getValue()).isEqualTo(LOOKUP_SERVICE_READER_IDENTIFIER_VALUE);
}
@DisplayName("should map service is available value")
@Test
void shouldMapServiceIsAvailableValue() {
var result = getFirstLookupServiceResult();
assertThat(result.getIsServiceAvailableValue().isServiceIsAvailable()).isTrue();
}
private LookupServiceResultType getFirstLookupServiceResult() {
return doMapping().getLookupServiceResultList().getLookupServiceResult().getFirst();
}
private LookupServiceResponse doMapping() {
return mapper.mapLookupServiceResponse(XtaLookupServiceRequestTestFactory.create());
}
}
}
package de.ozgcloud.xta.test.app.mapper;
import de.ozgcloud.xta.test.app.model.XtaLookupServiceRequest;
public class XtaLookupServiceRequestTestFactory {
public static String LOOKUP_SERVICE_SERVICE = "lookup-request-service";
public static String LOOKUP_SERVICE_READER_IDENTIFIER_VALUE = "reader-identifier-value";
public static String LOOKUP_SERVICE_AUTHOR_IDENTIFIER_VALUE = "author-identifier-value";
public static XtaLookupServiceRequest create() {
return createBuilder().build();
}
public static XtaLookupServiceRequest.XtaLookupServiceRequestBuilder createBuilder() {
return XtaLookupServiceRequest.builder()
.service(LOOKUP_SERVICE_SERVICE)
.readerIdentifierValue(LOOKUP_SERVICE_READER_IDENTIFIER_VALUE)
.authorIdentifierValue(LOOKUP_SERVICE_AUTHOR_IDENTIFIER_VALUE);
}
}
package de.ozgcloud.xta.test.app.server;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.mockito.Mockito.when;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import genv3.de.xoev.transport.xta.x211.LookupServiceRequest;
import genv3.de.xoev.transport.xta.x211.LookupServiceResultType;
import genv3.eu.osci.ws.x2014.x10.transport.PartyType;
import lombok.SneakyThrows;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
......@@ -20,6 +15,10 @@ import de.ozgcloud.xta.test.app.factory.LookupServiceRequestTestFactory;
import de.ozgcloud.xta.test.app.service.ParameterValidatorService;
import de.ozgcloud.xta.test.app.util.XtaId;
import de.ozgcloud.xta.test.app.util.XtaIdGenerator;
import genv3.de.xoev.transport.xta.x211.LookupServiceRequest;
import genv3.de.xoev.transport.xta.x211.LookupServiceResultType;
import genv3.eu.osci.ws.x2014.x10.transport.PartyType;
import lombok.SneakyThrows;
public class ManagementPortImplTest {
@Spy
......@@ -29,8 +28,9 @@ public class ManagementPortImplTest {
@InjectMocks
private ManagementPortImpl managementPortImpl;
@DisplayName("create message id")
@Nested
class CreateMessageId {
class TestCreateMessageId {
@Mock
private PartyType authorIdentifier;
......@@ -41,38 +41,33 @@ public class ManagementPortImplTest {
when(xtaIdGenerator.generateMessageId()).thenReturn(MESSAGE_ID);
}
@DisplayName("Should always accept request")
@Test
void shouldAccecptRequest() {
assertThatNoException().isThrownBy(() -> managementPortImpl.createMessageId(authorIdentifier));
}
@DisplayName("Should return new message id")
@DisplayName("should return")
@Test
@SneakyThrows
void shouldCreateMessageId() {
try{
var messageId = managementPortImpl.createMessageId(authorIdentifier);
assertThat(messageId.getValue()).matches(MESSAGE_ID.toString());
} catch (Exception e) {
// ignore
}
}
}
@DisplayName("check account active")
@Nested
class CheckAccountActive {
class TestCheckAccountActive {
@Mock
private PartyType authorIdentifier;
@DisplayName("Should always accept request")
@DisplayName("should return")
@Test
void shouldAccecptRequest() {
assertThatNoException().isThrownBy(() -> managementPortImpl.checkAccountActive(authorIdentifier));
@SneakyThrows
void shouldAcceptRequest() {
managementPortImpl.checkAccountActive(authorIdentifier);
}
}
@DisplayName("lookup service")
@Nested
class LookupService {
class TestLookupService {
@Mock
private PartyType authorIdentifier;
private LookupServiceRequest lookupServiceRequest;
......@@ -82,12 +77,6 @@ public class ManagementPortImplTest {
lookupServiceRequest = LookupServiceRequestTestFactory.create();
}
@DisplayName("Should always accept request")
@Test
void shouldAccecptRequest() {
assertThatNoException().isThrownBy(() -> managementPortImpl.lookupService(lookupServiceRequest, authorIdentifier));
}
@DisplayName("Should return IsServiceAvailableValue as true")
@Test
void shouldReturnIsServiceAvailableValue() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment