aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/at/gv/egiz
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-10-03 16:09:47 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-10-03 16:09:47 +0200
commitee8c694c12850b27144a664c948c3b84398ead6f (patch)
treec04076dee3a38f882d3fb810a85fbc6a9a104dfa /src/test/java/at/gv/egiz
parentb3060f8ba40280d438e2b4b06b39aed84c587f7a (diff)
downloadmoa-zs-ee8c694c12850b27144a664c948c3b84398ead6f.tar.gz
moa-zs-ee8c694c12850b27144a664c948c3b84398ead6f.tar.bz2
moa-zs-ee8c694c12850b27144a664c948c3b84398ead6f.zip
Update zusemsg and zusetnvz to Newest Version & Accommodate Changes
Upgrade zusemsg 2.2.0 to 2.2.007: - msg:RelayedViaERV - Change from boolean to complex type (ervcode). - Move from msg:DeliveryRequestStatusType/Success into msg:DeliveryRequestStatusType, which affects Success, Error, and PartialSuccess. - Was removed from DeliveryNotificationType. - Change msg:DeliveryNotification/Answer from list to singleton. - Change msg:DeliveryRequestStatusType/PartialSuccess is to type AnswerType. - msg:DeliveryRequestStatusType and msg:DeliveryNotificationType receive the attribute ID (for signature referencing). - Add new optional element msg:AustrianAdressesOnly (IndicatorType) to DeliveryRequestType/Receiver/(choice sequence). - Add new optional element ClearingProfilID to DeliveryRequestType/Sender. - Add new element ERVConfirmedDelivery, which subsitutes msg:Answer and extends msg:AbstractOperation - Has element ErvCode (also new token256 type). - Has element ERVDeliveryTimestamp. - Add new optional element TargetIdentification of type p:IdentificationType to msg:DeliveryNotification/User/ as optional element. - Add new enumeration "System" to msg:DeliveryNotification/User/Role. - Rename type AustrianLanguageType from "AustrianEthicMinorityLanguageType" to "AustrianLanguageType" and add "DE" as value. - msg:Tags were unbounded, now they are limited to 20. - VersionNumberType: Patch version can have three digits. Upgrade zusetnvz 2.2.0 to 2.2.006: - Add StandardMimeTypeList to tnvz:QueryPersonResponse and tnvz:QueryAdressabilityResponse. - Add AllStandardMimeTypes (indicator) to tnvz:PersonResult/Success. - Add optional msg:MetadataList to tnvz:PersonQueryType/Metadata tnvz:AddressabilityQueryType/Metadata. - Move tnvz:AustrianAdressesOnly to msg namespace. Carry zusemsg changes into app2mzs interface: - Switch namespace of AustrianAdressesOnly from tnvz to msg. - Add new optional element ClearingProfilID to mzs:DeliveryRequestType/Sender; Reason: Element was added to zusemsg 2.2.007. - Add new choice in mzs:DeliveryNotification to forward new answer type msg:ERVConfirmedDelivery to the app. - Move msg:RelayedViaERV from SuccessType into MessageType (now it's available to all types that derive from MessageType). Accommodate zusemsg/tnvz changes in code base: - TNVZHelper: Consider StandardMimeTypeList when assessing if DeliveryRequest/mimetypes overlap with TNVZ's Accepted Mimetypes. - Msg2MzsConverter: - Put getRelayedViaERV() into all DeliveryStatusRequest replies. - Honor that Notification/Answer is Singleton instead of List. - Handle case were DeliveryNotification/Answer is of type ERVConfirmedDeliveryType. - Remove RelayedViaERV from DeliveryNotification as this element is not available anymore. - NotificationResponse: Honor that Notification/Answer is Singleton instead of List. Fix all testcases and sample soap messages to comply with schema changes.
Diffstat (limited to 'src/test/java/at/gv/egiz')
-rw-r--r--src/test/java/at/gv/egiz/moazs/ITEndToEndTest.java9
-rw-r--r--src/test/java/at/gv/egiz/moazs/TnvzHelperTest.java35
2 files changed, 26 insertions, 18 deletions
diff --git a/src/test/java/at/gv/egiz/moazs/ITEndToEndTest.java b/src/test/java/at/gv/egiz/moazs/ITEndToEndTest.java
index 95c7140..2794fcd 100644
--- a/src/test/java/at/gv/egiz/moazs/ITEndToEndTest.java
+++ b/src/test/java/at/gv/egiz/moazs/ITEndToEndTest.java
@@ -12,8 +12,6 @@ import at.gv.zustellung.msg.xsd.DeliveryRequestStatusType;
import at.gv.zustellung.msg.xsd.DeliveryRequestType;
import at.gv.zustellung.tnvz.xsd.TNVZServicePort;
import org.apache.commons.io.FileUtils;
-import org.awaitility.Awaitility;
-import org.awaitility.Duration;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -42,7 +40,7 @@ import java.util.function.Consumer;
import static at.gv.zustellung.app2mzs.xsd.DeliveryNotificationACKType.deliveryNotificationACKTypeBuilder;
import static at.gv.zustellung.app2mzs.xsd.persondata.IdentificationType.Value.valueBuilder;
import static at.gv.zustellung.app2mzs.xsd.persondata.IdentificationType.identificationTypeBuilder;
-import static at.gv.zustellung.msg.xsd.DeliveryAnswerType.deliveryAnswerTypeBuilder;
+import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.PartialSuccess.partialSuccessBuilder;
import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.deliveryRequestStatusTypeBuilder;
import static java.net.http.HttpResponse.BodyHandlers.ofString;
import static org.apache.commons.io.FileUtils.readFileToString;
@@ -82,7 +80,6 @@ public class ITEndToEndTest {
public Consumer<byte[]> signatureVerifier() {
return bytes -> {};
}
-
@Bean
@Primary
public ClientFactory mockClientFactory() {
@@ -116,7 +113,7 @@ public class ITEndToEndTest {
.withValue(value).withId("id").withType("type").build();
var tnvzHelperTest = new TnvzHelperTest();
tnvzHelperTest.setup();
- var tnvzSuccess = tnvzHelperTest.tnvzSuccess(List.of("*/*"), receiverId);
+ var tnvzSuccess = tnvzHelperTest.tnvzSuccess(List.of(""), true, receiverId);
when(tnvz.queryPerson(any())).thenReturn(tnvzSuccess);
return tnvz;
@@ -133,7 +130,7 @@ public class ITEndToEndTest {
var appDeliveryID = request.getMetaData().getAppDeliveryID();
var zsDeliveryID = "ZSDID-" + appDeliveryID;
var responseID = RequestStatusResponse.getResponseID(appDeliveryID);
- var answer = deliveryAnswerTypeBuilder()
+ var answer = partialSuccessBuilder()
.withDeliverySystem(DELIVERY_SYSTEM)
.withAppDeliveryID(appDeliveryID)
.withZSDeliveryID(zsDeliveryID)
diff --git a/src/test/java/at/gv/egiz/moazs/TnvzHelperTest.java b/src/test/java/at/gv/egiz/moazs/TnvzHelperTest.java
index 550f089..0d5fe9d 100644
--- a/src/test/java/at/gv/egiz/moazs/TnvzHelperTest.java
+++ b/src/test/java/at/gv/egiz/moazs/TnvzHelperTest.java
@@ -1,13 +1,13 @@
package at.gv.egiz.moazs;
-import at.gv.egiz.moazs.scheme.Mzs2MsgConverter;
import at.gv.egiz.moazs.client.TnvzHelper;
+import at.gv.egiz.moazs.scheme.Mzs2MsgConverter;
import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
import at.gv.zustellung.app2mzs.xsd.persondata.IdentificationType;
-import at.gv.zustellung.msg.xsd.MetaData;
-import at.gv.zustellung.msg.xsd.SystemComponentType;
+import at.gv.zustellung.msg.xsd.ObjectFactory;
import at.gv.zustellung.tnvz.xsd.MimeTypeList;
+import at.gv.zustellung.tnvz.xsd.MimeTypeListType;
import at.gv.zustellung.tnvz.xsd.QueryPersonResponse;
import at.gv.zustellung.tnvz.xsd.TNVZServicePort;
import org.junit.Before;
@@ -29,6 +29,7 @@ import static at.gv.zustellung.msg.xsd.ErrorInfoType.errorInfoTypeBuilder;
import static at.gv.zustellung.msg.xsd.MetaData.metaDataBuilder;
import static at.gv.zustellung.msg.xsd.SystemComponentType.systemComponentTypeBuilder;
import static at.gv.zustellung.tnvz.xsd.MimeTypeList.mimeTypeListBuilder;
+import static at.gv.zustellung.tnvz.xsd.MimeTypeListType.mimeTypeListTypeBuilder;
import static at.gv.zustellung.tnvz.xsd.PersonResultSuccessType.personResultSuccessTypeBuilder;
import static at.gv.zustellung.tnvz.xsd.PersonResultType.Error.errorBuilder;
import static at.gv.zustellung.tnvz.xsd.PersonResultType.personResultTypeBuilder;
@@ -42,6 +43,8 @@ import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class TnvzHelperTest {
+ private static final ObjectFactory FACTORY = new ObjectFactory();
+
private TnvzHelper helper;
@Mock
@@ -57,11 +60,11 @@ public class TnvzHelperTest {
@Test
public void acceptWildcardMimetype() {
- List<String> acceptedTypes = List.of("*/*");
+ List<String> acceptedTypes = List.of();
List<String> attachedTypes = List.of("pdf", "xml", "html", "random/attachedtype");
var receiverId = identification("zbpk", "receiver-id-value");
var deliveryRequest = deliveryRequest(attachedTypes, receiverId);
- var success = tnvzSuccess(acceptedTypes, receiverId);
+ var success = tnvzSuccess(acceptedTypes, true, receiverId);
when(port.queryPerson(any())).thenReturn(success);
var actual = helper.performQueryPersonRequest(deliveryRequest, port);
@@ -86,7 +89,7 @@ public class TnvzHelperTest {
List<String> attachedTypes = List.of("pdf", "xml", "html", "random/attachedtype");
var receiverId = identification("zbpk", "receiver-id-value");
var deliveryRequest = deliveryRequest(attachedTypes, receiverId);
- var success = tnvzSuccess(acceptedTypes, receiverId);
+ var success = tnvzSuccess(acceptedTypes, false, receiverId);
when(port.queryPerson(any())).thenReturn(success);
helper.performQueryPersonRequest(deliveryRequest, port);
@@ -98,7 +101,7 @@ public class TnvzHelperTest {
List<String> attachedTypes = List.of("pdf", "xml");
var receiverId = identification("zbpk", "receiver-id-value");
var deliveryRequest = deliveryRequest(attachedTypes, receiverId);
- var success = tnvzSuccess(acceptedTypes, receiverId);
+ var success = tnvzSuccess(acceptedTypes, false, receiverId);
when(port.queryPerson(any())).thenReturn(success);
var actual = helper.performQueryPersonRequest(deliveryRequest, port);
@@ -156,23 +159,31 @@ public class TnvzHelperTest {
.collect(toList());
}
- public QueryPersonResponse tnvzSuccess(List<String> mimeTypes, IdentificationType receiverId) {
+ public QueryPersonResponse tnvzSuccess(List<String> mimeTypes, boolean allMimetypesAccepted, IdentificationType receiverId) {
- var success = personResultSuccessTypeBuilder()
+ var successBuilder = personResultSuccessTypeBuilder()
.withMimeTypeList(setupMimeTypeList(mimeTypes))
- .withIdentification(converter.convert(receiverId))
- .build();
+ .withIdentification(converter.convert(receiverId));
+
+ if(allMimetypesAccepted) {
+ successBuilder.withAllStandardMimeTypes(FACTORY.createIndicatorType());
+ }
var personResult = personResultTypeBuilder()
- .withSuccess(success)
+ .withSuccess(successBuilder.build())
.build();
var queryResultList = queryResultListBuilder()
.withQueryResult(List.of(personResult))
.build();
+ MimeTypeListType standardList = mimeTypeListTypeBuilder()
+ .withMimeType(List.of())
+ .build();
+
return queryPersonResponseBuilder()
.withQueryResultList(queryResultList)
+ .withStandardMimeTypeList(standardList)
.build();
}