diff --git a/src/test/java/de/ozgcloud/xta/client/extension/Patch.java b/src/test/java/de/ozgcloud/xta/client/extension/Patch.java index d5763badc00b701dc03499b96c95bebf1068f9e3..d71dd28b0807cc10e3050e5ed8c0e2dca3892ab3 100644 --- a/src/test/java/de/ozgcloud/xta/client/extension/Patch.java +++ b/src/test/java/de/ozgcloud/xta/client/extension/Patch.java @@ -27,6 +27,7 @@ public record Patch( patchedContent.append(patchedLine).append("\n"); } } + lines.forEachRemaining(patchedContent::append); } catch (TechnicalException exception) { throw new TechnicalException("Error applying patch! filePath=" + filePath, exception); } diff --git a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java index 1fbac8bffce5809c634c65e566949b46d556cb77..4005d3b0cccfc52ff0625ed5e077920101f1cb93 100644 --- a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java +++ b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java @@ -92,6 +92,19 @@ class XdomeaXtaMessageFactoryITCase { assertThat(xtaMessage.metaData().messageTypeCode()).isEqualTo(MESSAGE_TYPE_CODE_0401); } + + @DisplayName("should throw client exception for invalid message 0401") + @Test + @SneakyThrows + void shouldThrowClientExceptionForInvalidMessage0401() { + var invalidMessageZipFile = XtaMessageExampleLoader.load(createExampleConfigBuilder() + .messageLabel("abgabe0401-kleiner-waffenschein") + .patchLabel("invalid-ProzessID.patch") + .build()).messageFile(); + + assertThatThrownBy(() -> creator.createMessage(invalidMessageZipFile)) + .isInstanceOf(ClientException.class); + } } private XtaMessageExampleLoader.MessageExampleConfig.MessageExampleConfigBuilder createExampleConfigBuilder() { diff --git a/src/test/resources/messages/abgabe0401-kleiner-waffenschein/invalid-ProzessID.patch b/src/test/resources/messages/abgabe0401-kleiner-waffenschein/invalid-ProzessID.patch new file mode 100644 index 0000000000000000000000000000000000000000..9b876572e68157f36e092ca9d293895777ad4fbb --- /dev/null +++ b/src/test/resources/messages/abgabe0401-kleiner-waffenschein/invalid-ProzessID.patch @@ -0,0 +1,13 @@ +diff --git a/src/test/resources/messages/abgabe0401-kleiner-waffenschein/message/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.zip/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.xml b/src/test/resources/messages/abgabe0401-kleiner-waffenschein/message/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.zip/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.xml +index cac00bf..d36bfc6 100644 +--- a/src/test/resources/messages/abgabe0401-kleiner-waffenschein/message/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.zip/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.xml ++++ b/src/test/resources/messages/abgabe0401-kleiner-waffenschein/message/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.zip/84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.xml +@@ -1,7 +1,7 @@ + <?xml version="1.0" encoding="UTF-8" standalone="yes"?> + <xdomea:Abgabe.Abgabe.0401 xmlns:xdomea="urn:xoev-de:xdomea:schema:3.0.0"> + <xdomea:Kopf> +- <xdomea:ProzessID>84be3140-e069-4d4a-80c7-889b5eec539e</xdomea:ProzessID> ++ <xdomea:ProzessID>66a76331-3872-3519-5ad8-00000000e7d7</xdomea:ProzessID> + <xdomea:Nachrichtentyp listURI="urn:xoev-de:xdomea:codeliste:nachrichtentyp" listVersionID="2.0"> + <code>0401</code> + </xdomea:Nachrichtentyp>