diff options
Diffstat (limited to 'src/test/java/at/gv/egiz/moazs/SOAPUtilsTest.java')
-rw-r--r-- | src/test/java/at/gv/egiz/moazs/SOAPUtilsTest.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/test/java/at/gv/egiz/moazs/SOAPUtilsTest.java b/src/test/java/at/gv/egiz/moazs/SOAPUtilsTest.java new file mode 100644 index 0000000..31aa197 --- /dev/null +++ b/src/test/java/at/gv/egiz/moazs/SOAPUtilsTest.java @@ -0,0 +1,63 @@ +package at.gv.egiz.moazs; + +import at.gv.egiz.moazs.scheme.SOAPUtils; +import org.junit.Before; +import org.junit.Test; +import org.w3c.dom.Element; +import org.xml.sax.SAXException; + +import javax.xml.parsers.ParserConfigurationException; +import java.io.IOException; +import java.nio.charset.StandardCharsets; + +import static org.assertj.core.api.Assertions.assertThat; + +public class SOAPUtilsTest { + + SOAPUtils utils; + + private static final String SOAP_MESSAGE = + "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body>" + + "<DeliveryResponse xmlns=\"http://reference.e-government.gv.at/namespace/zustellung/msg/phas" + + "e2/20181206#\" xmlns:ns2=\"http://reference.e-government.gv.at/namespace/persondata/phase2/" + + "20181206#\" xmlns:ns3=\"http://www.w3.org/2000/09/xmldsig#\"><PartialSuccess><DeliverySyste" + + "m>https://testzustellsystem.egiz.gv.at</DeliverySystem><ZSDeliveryID>zs-valid-delivery-requ" + + "est-id</ZSDeliveryID><AppDeliveryID>valid-delivery-request-id</AppDeliveryID><GZ>12345</GZ>" + + "</PartialSuccess></DeliveryResponse></soap:Body></soap:Envelope>"; + + @Before + public void setup() { + utils = new SOAPUtils(); + } + + @Test + public void toDom() throws ParserConfigurationException, SAXException, IOException { + byte[] bytes = SOAP_MESSAGE.getBytes(StandardCharsets.UTF_8); + + Element root = utils.toDOM(bytes); + + assertThat(root.getTagName()).isEqualTo("soap:Envelope"); + } + + @Test + public void unwrapSoapEnvelope() throws ParserConfigurationException, SAXException, IOException { + byte[] bytes = SOAP_MESSAGE.getBytes(StandardCharsets.UTF_8); + Element soapRoot = utils.toDOM(bytes); + + byte[] unwrappedMessage = utils.unwrapSoapEnvelope(soapRoot); + + Element deliveryResponseRoot = utils.toDOM(unwrappedMessage); + assertThat(deliveryResponseRoot.getTagName()).isEqualTo("DeliveryResponse"); + } + + @Test + public void getAppDeliveryID() throws ParserConfigurationException, SAXException, IOException { + byte[] bytes = SOAP_MESSAGE.getBytes(StandardCharsets.UTF_8); + Element soapRoot = utils.toDOM(bytes); + + String appDeliveryID = utils.getAppDeliveryIDFrom(soapRoot); + + assertThat(appDeliveryID).isEqualTo("valid-delivery-request-id"); + } + +} |