|
23 | 23 | package org.niis.xrd4j.common.util;
|
24 | 24 |
|
25 | 25 | import jakarta.xml.soap.SOAPElement;
|
| 26 | +import jakarta.xml.soap.SOAPMessage; |
26 | 27 | import org.junit.jupiter.api.Test;
|
27 | 28 | import org.w3c.dom.NodeList;
|
28 | 29 |
|
29 | 30 | import java.util.ArrayList;
|
30 | 31 | import java.util.List;
|
31 | 32 | import java.util.Map;
|
32 | 33 |
|
| 34 | +import static org.junit.jupiter.api.Assertions.assertArrayEquals; |
33 | 35 | import static org.junit.jupiter.api.Assertions.assertEquals;
|
| 36 | +import static org.junit.jupiter.api.Assertions.assertFalse; |
| 37 | +import static org.junit.jupiter.api.Assertions.assertTrue; |
34 | 38 | import static org.junit.jupiter.api.Assertions.fail;
|
35 | 39 |
|
36 | 40 | /**
|
@@ -352,4 +356,50 @@ void testGetXRdVersionInfo4() {
|
352 | 356 | assertEquals(0, results.size());
|
353 | 357 | }
|
354 | 358 |
|
| 359 | + @Test |
| 360 | + void testNodeToString() { |
| 361 | + var doc = SOAPHelper.xmlStrToSOAPElement("<test>a</test>"); |
| 362 | + |
| 363 | + var string = SOAPHelper.toString(doc); |
| 364 | + |
| 365 | + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><test>a</test>", string); |
| 366 | + } |
| 367 | + |
| 368 | + @Test |
| 369 | + void testSoapToString() { |
| 370 | + String soapString = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:id=\"http://x-road.eu/xsd/identifiers\" xmlns:xrd=\"http://x-road.eu/xsd/xroad.xsd\"><SOAP-ENV:Header><xrd:client id:objectType=\"SUBSYSTEM\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode></xrd:client><xrd:service id:objectType=\"SERVICE\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>COM</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode><id:serviceCode>getRandom</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:userId>EE1234567890</xrd:userId><xrd:id>ID-1234567890</xrd:id><xrd:protocolVersion>4.5</xrd:protocolVersion><xrd:requestHash algorithmId=\"SHA-512\">ZPbWPAOcJxzE81EmSk//R3DUQtqwMcuMMF9tsccJypdNcukzICQtlhhr3a/bTmexDrn8e/BrBVyl2t0ni/cUvw==</xrd:requestHash></SOAP-ENV:Header><SOAP-ENV:Body><ns1:getRandomResponse xmlns:ns1=\"http://producer.x-road.ee\"><ns1:data>9876543210</ns1:data></ns1:getRandomResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>"; |
| 371 | + |
| 372 | + SOAPMessage msg = SOAPHelper.toSOAP(soapString); |
| 373 | + |
| 374 | + assertEquals(soapString, SOAPHelper.toString(msg)); |
| 375 | + } |
| 376 | + |
| 377 | + @Test |
| 378 | + void testSoapToByteArray() { |
| 379 | + String soapString = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:id=\"http://x-road.eu/xsd/identifiers\" xmlns:xrd=\"http://x-road.eu/xsd/xroad.xsd\"><SOAP-ENV:Header><xrd:client id:objectType=\"SUBSYSTEM\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode></xrd:client><xrd:service id:objectType=\"SERVICE\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>COM</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode><id:serviceCode>getRandom</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:userId>EE1234567890</xrd:userId><xrd:id>ID-1234567890</xrd:id><xrd:protocolVersion>4.5</xrd:protocolVersion><xrd:requestHash algorithmId=\"SHA-512\">ZPbWPAOcJxzE81EmSk//R3DUQtqwMcuMMF9tsccJypdNcukzICQtlhhr3a/bTmexDrn8e/BrBVyl2t0ni/cUvw==</xrd:requestHash></SOAP-ENV:Header><SOAP-ENV:Body><ns1:getRandomResponse xmlns:ns1=\"http://producer.x-road.ee\"><ns1:data>9876543210</ns1:data></ns1:getRandomResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>"; |
| 380 | + |
| 381 | + SOAPMessage msg = SOAPHelper.toSOAP(soapString); |
| 382 | + |
| 383 | + assertArrayEquals(soapString.getBytes(), SOAPHelper.toByteArray(msg)); |
| 384 | + } |
| 385 | + |
| 386 | + @Test |
| 387 | + void testHasAttachments() { |
| 388 | + String soapString = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:id=\"http://x-road.eu/xsd/identifiers\" xmlns:xrd=\"http://x-road.eu/xsd/xroad.xsd\"><SOAP-ENV:Header><xrd:client id:objectType=\"SUBSYSTEM\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode></xrd:client><xrd:service id:objectType=\"SERVICE\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>COM</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode><id:serviceCode>getRandom</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:userId>EE1234567890</xrd:userId><xrd:id>ID-1234567890</xrd:id><xrd:protocolVersion>4.5</xrd:protocolVersion><xrd:requestHash algorithmId=\"SHA-512\">ZPbWPAOcJxzE81EmSk//R3DUQtqwMcuMMF9tsccJypdNcukzICQtlhhr3a/bTmexDrn8e/BrBVyl2t0ni/cUvw==</xrd:requestHash></SOAP-ENV:Header><SOAP-ENV:Body><ns1:getRandomResponse xmlns:ns1=\"http://producer.x-road.ee\"><ns1:data>9876543210</ns1:data></ns1:getRandomResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>"; |
| 389 | + |
| 390 | + SOAPMessage msg = SOAPHelper.toSOAP(soapString); |
| 391 | + msg.addAttachmentPart(msg.createAttachmentPart()); |
| 392 | + |
| 393 | + assertTrue(SOAPHelper.hasAttachments(msg)); |
| 394 | + } |
| 395 | + |
| 396 | + @Test |
| 397 | + void testHasAttachmentsFalse() { |
| 398 | + String soapString = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:id=\"http://x-road.eu/xsd/identifiers\" xmlns:xrd=\"http://x-road.eu/xsd/xroad.xsd\"><SOAP-ENV:Header><xrd:client id:objectType=\"SUBSYSTEM\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode></xrd:client><xrd:service id:objectType=\"SERVICE\"><id:xRoadInstance>FI</id:xRoadInstance><id:memberClass>COM</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>subsystem</id:subsystemCode><id:serviceCode>getRandom</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:userId>EE1234567890</xrd:userId><xrd:id>ID-1234567890</xrd:id><xrd:protocolVersion>4.5</xrd:protocolVersion><xrd:requestHash algorithmId=\"SHA-512\">ZPbWPAOcJxzE81EmSk//R3DUQtqwMcuMMF9tsccJypdNcukzICQtlhhr3a/bTmexDrn8e/BrBVyl2t0ni/cUvw==</xrd:requestHash></SOAP-ENV:Header><SOAP-ENV:Body><ns1:getRandomResponse xmlns:ns1=\"http://producer.x-road.ee\"><ns1:data>9876543210</ns1:data></ns1:getRandomResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>"; |
| 399 | + |
| 400 | + SOAPMessage msg = SOAPHelper.toSOAP(soapString); |
| 401 | + |
| 402 | + assertFalse(SOAPHelper.hasAttachments(msg)); |
| 403 | + } |
| 404 | + |
355 | 405 | }
|
0 commit comments