From f704c3ca51c7023128d3dc124f803884ca2cee6f Mon Sep 17 00:00:00 2001 From: Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> Date: Tue, 19 Mar 2019 13:07:48 +0100 Subject: Add Unit Tests "Reject Formally Incorrect Delivery Request" --- .../java/at/gv/egiz/moazs/App2MzsServiceTest.java | 29 +++++++++++- .../formallyIncorrectDeliveryRequest.soap | 52 ++++++++++++++++++++++ .../App2MzsServiceTest/validDeliveryRequest.soap | 52 ++++++++++++++++++++++ src/test/resources/delivery_request_app2mzs.soap | 52 ---------------------- 4 files changed, 131 insertions(+), 54 deletions(-) create mode 100644 src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/formallyIncorrectDeliveryRequest.soap create mode 100644 src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/validDeliveryRequest.soap delete mode 100644 src/test/resources/delivery_request_app2mzs.soap (limited to 'src') diff --git a/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java b/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java index 836bfab..5879fa2 100644 --- a/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java +++ b/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java @@ -16,6 +16,7 @@ import java.net.http.HttpResponse; import java.nio.file.Paths; import static java.net.http.HttpClient.*; +import static org.assertj.core.api.Assertions.assertThat; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT) @@ -24,12 +25,14 @@ public class App2MzsServiceTest { private final String serviceUri = "http://localhost:8080/services/DeliveryRequest"; - private final String payloadFile = "src/test/resources/delivery_request_app2mzs.soap"; + private final String basePath = "src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/"; Logger logger = LoggerFactory.getLogger(App2MzsServiceTest.class); @Test - public void testService() throws IOException, InterruptedException { + public void acceptValidDeliveryRequest() throws IOException, InterruptedException { + + final String payloadFile = basePath + "validDeliveryRequest.soap"; var client = HttpClient.newBuilder().version(Version.HTTP_1_1).build(); var request = HttpRequest.newBuilder() @@ -42,5 +45,27 @@ public class App2MzsServiceTest { var response = client.send(request, HttpResponse.BodyHandlers.ofString()); logger.info("response.body was " + response.body()); logger.info("response.code was " + response.statusCode()); + + //TODO Verify response + + } + + @Test + public void rejectFormallyIncorrectDeliveryRequest() throws IOException, InterruptedException { + + var invalidDeliveryRequest = basePath + "formallyIncorrectDeliveryRequest.soap"; + + var client = HttpClient.newBuilder().version(Version.HTTP_1_1).build(); + var request = HttpRequest.newBuilder() + .uri(URI.create(serviceUri)) + .header("Content-Type", "text/xml;charset=UTF-8") + .header("SOAPAction", "\"\"") + .POST(HttpRequest.BodyPublishers.ofFile(Paths.get(invalidDeliveryRequest))) + .build(); + + var response = client.send(request, HttpResponse.BodyHandlers.ofString()); + assertThat(response.statusCode()).isEqualTo(500); + } + } diff --git a/src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/formallyIncorrectDeliveryRequest.soap b/src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/formallyIncorrectDeliveryRequest.soap new file mode 100644 index 0000000..bf38ab1 --- /dev/null +++ b/src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/formallyIncorrectDeliveryRequest.soap @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<soapenv:Envelope + xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:mzs="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" + xmlns:p="http://reference.e-government.gv.at/namespace/persondata/20020228#" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<soapenv:Body> +<mzs:DeliveryRequest> + <mzs:Sender> + <mzs:ProfileID>SampleProfile2</mzs:ProfileID> + <mzs:SignatureKeyID></mzs:SignatureKeyID> + </mzs:Sender> + <mzs:Receiver> + <p:PhysicalPerson> + <p:Name> + <p:GivenName>Maxi</p:GivenName> + <p:FamilyName>Mustermann1</p:FamilyName> + </p:Name> + <p:DateOfBirth>1984-01-24</p:DateOfBirth> + </p:PhysicalPerson> + <p:PostalAddress> + <p:CountryCode>AT</p:CountryCode> + <p:PostalCode>1010</p:PostalCode> + <p:Municipality>Wien</p:Municipality> + <p:DeliveryAddress> + <p:StreetName>Muststrasse</p:StreetName> + <p:BuildingNumber>10</p:BuildingNumber> + </p:DeliveryAddress> + </p:PostalAddress> + </mzs:Receiver> + <mzs:MetaData> + <mzs:AppDeliveryID>asd</mzs:AppDeliveryID> + <mzs:DeliveryQuality>nonRSa</mzs:DeliveryQuality> + <mzs:RequiresEncryption>false</mzs:RequiresEncryption> + </mzs:MetaData> + <mzs:XMLDocument> + <mzs:XMLContent> + <message> + <subject>Hello There!</subject> + <body> + <p>How are you</p> + <p>Nice to hear from you!</p> + <p>Regards, V</p> + </body> + </message> + </mzs:XMLContent> + <mzs:XMLProfileID>deckblatt</mzs:XMLProfileID> + </mzs:XMLDocument> +</mzs:DeliveryRequest?> +</soapenv:Body> +</soapenv:Envelope> diff --git a/src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/validDeliveryRequest.soap b/src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/validDeliveryRequest.soap new file mode 100644 index 0000000..662a161 --- /dev/null +++ b/src/test/resources/at/gv/egiz/moazs/App2MzsServiceTest/validDeliveryRequest.soap @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<soapenv:Envelope + xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:mzs="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" + xmlns:p="http://reference.e-government.gv.at/namespace/persondata/20020228#" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<soapenv:Body> +<mzs:DeliveryRequest> + <mzs:Sender> + <mzs:ProfileID>SampleProfile2</mzs:ProfileID> + <mzs:SignatureKeyID></mzs:SignatureKeyID> + </mzs:Sender> + <mzs:Receiver> + <p:PhysicalPerson> + <p:Name> + <p:GivenName>Maxi</p:GivenName> + <p:FamilyName>Mustermann1</p:FamilyName> + </p:Name> + <p:DateOfBirth>1984-01-24</p:DateOfBirth> + </p:PhysicalPerson> + <p:PostalAddress> + <p:CountryCode>AT</p:CountryCode> + <p:PostalCode>1010</p:PostalCode> + <p:Municipality>Wien</p:Municipality> + <p:DeliveryAddress> + <p:StreetName>Muststrasse</p:StreetName> + <p:BuildingNumber>10</p:BuildingNumber> + </p:DeliveryAddress> + </p:PostalAddress> + </mzs:Receiver> + <mzs:MetaData> + <mzs:AppDeliveryID>asd</mzs:AppDeliveryID> + <mzs:DeliveryQuality>nonRSa</mzs:DeliveryQuality> + <mzs:RequiresEncryption>false</mzs:RequiresEncryption> + </mzs:MetaData> + <mzs:XMLDocument> + <mzs:XMLContent> + <message> + <subject>Hello There!</subject> + <body> + <p>How are you</p> + <p>Nice to hear from you!</p> + <p>Regards, V</p> + </body> + </message> + </mzs:XMLContent> + <mzs:XMLProfileID>deckblatt</mzs:XMLProfileID> + </mzs:XMLDocument> +</mzs:DeliveryRequest> +</soapenv:Body> +</soapenv:Envelope> diff --git a/src/test/resources/delivery_request_app2mzs.soap b/src/test/resources/delivery_request_app2mzs.soap deleted file mode 100644 index 662a161..0000000 --- a/src/test/resources/delivery_request_app2mzs.soap +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<soapenv:Envelope - xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:mzs="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" - xmlns:p="http://reference.e-government.gv.at/namespace/persondata/20020228#" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> -<soapenv:Body> -<mzs:DeliveryRequest> - <mzs:Sender> - <mzs:ProfileID>SampleProfile2</mzs:ProfileID> - <mzs:SignatureKeyID></mzs:SignatureKeyID> - </mzs:Sender> - <mzs:Receiver> - <p:PhysicalPerson> - <p:Name> - <p:GivenName>Maxi</p:GivenName> - <p:FamilyName>Mustermann1</p:FamilyName> - </p:Name> - <p:DateOfBirth>1984-01-24</p:DateOfBirth> - </p:PhysicalPerson> - <p:PostalAddress> - <p:CountryCode>AT</p:CountryCode> - <p:PostalCode>1010</p:PostalCode> - <p:Municipality>Wien</p:Municipality> - <p:DeliveryAddress> - <p:StreetName>Muststrasse</p:StreetName> - <p:BuildingNumber>10</p:BuildingNumber> - </p:DeliveryAddress> - </p:PostalAddress> - </mzs:Receiver> - <mzs:MetaData> - <mzs:AppDeliveryID>asd</mzs:AppDeliveryID> - <mzs:DeliveryQuality>nonRSa</mzs:DeliveryQuality> - <mzs:RequiresEncryption>false</mzs:RequiresEncryption> - </mzs:MetaData> - <mzs:XMLDocument> - <mzs:XMLContent> - <message> - <subject>Hello There!</subject> - <body> - <p>How are you</p> - <p>Nice to hear from you!</p> - <p>Regards, V</p> - </body> - </message> - </mzs:XMLContent> - <mzs:XMLProfileID>deckblatt</mzs:XMLProfileID> - </mzs:XMLDocument> -</mzs:DeliveryRequest> -</soapenv:Body> -</soapenv:Envelope> -- cgit v1.2.3