From ec34be3a85e1a89fc508b224643d9755c6299828 Mon Sep 17 00:00:00 2001 From: Torsten Will Date: Mon, 12 Aug 2024 11:10:32 +0200 Subject: [PATCH] test: add test for request with multiple tasks --- .../com/sipgate/li/lib/x1/ConverterTest.java | 18 ++++++++++++++++++ src/test/resources/MultiRequest_example.xml | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 src/test/resources/MultiRequest_example.xml diff --git a/src/test/java/com/sipgate/li/lib/x1/ConverterTest.java b/src/test/java/com/sipgate/li/lib/x1/ConverterTest.java index ba41622..7d7697f 100644 --- a/src/test/java/com/sipgate/li/lib/x1/ConverterTest.java +++ b/src/test/java/com/sipgate/li/lib/x1/ConverterTest.java @@ -9,6 +9,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.nio.charset.StandardCharsets; +import java.util.List; import java.util.Objects; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; @@ -18,6 +19,7 @@ import org.etsi.uri._03221.x1._2017._10.ListOfDids; import org.etsi.uri._03221.x1._2017._10.ListOfTargetIdentifiers; import org.etsi.uri._03221.x1._2017._10.OK; +import org.etsi.uri._03221.x1._2017._10.PingRequest; import org.etsi.uri._03221.x1._2017._10.RequestContainer; import org.etsi.uri._03221.x1._2017._10.ResponseContainer; import org.etsi.uri._03221.x1._2017._10.TargetIdentifier; @@ -169,6 +171,22 @@ void it_protects_from_xxe() throws IOException { ); } + @Test + void it_parses_multi_request() + throws IOException, JAXBException, DatatypeConfigurationException { + // GIVEN + final var xml = readResource("MultiRequest_example.xml"); + + // WHEN + final var actual = underTest.parseRequest(xml); + + // THEN + final var list = actual.getX1RequestMessage(); + assertThat(list.size()).isEqualTo(2); + assertThat(list.get(0)).isInstanceOf(PingRequest.class); + assertThat(list.get(1)).isInstanceOf(PingRequest.class); + } + private String readResource(final String name) throws IOException { try (final var is = getClass().getClassLoader().getResourceAsStream(name)) { Objects.requireNonNull(is); diff --git a/src/test/resources/MultiRequest_example.xml b/src/test/resources/MultiRequest_example.xml new file mode 100644 index 0000000..5bb6acd --- /dev/null +++ b/src/test/resources/MultiRequest_example.xml @@ -0,0 +1,17 @@ + + + + admfID + neID + 2017-10-06T18:46:21.247432Z + v1.6.1 + 3741800e-971b-4aa9-85f4-466d2b1adc7f + + + admfID + neID + 2017-10-06T18:46:21.247432Z + v1.6.1 + 3741800e-971b-4aa9-85f4-466d2b1adc80 + +