diff --git a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java similarity index 83% rename from src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java rename to src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java index 4005d3b0cccfc52ff0625ed5e077920101f1cb93..4859c4cda6c4cdb80157f882c6fc817ea70e3fa2 100644 --- a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java +++ b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java @@ -16,7 +16,7 @@ import de.ozgcloud.xta.client.extension.XtaMessageExampleLoader; import de.ozgcloud.xta.client.model.XtaFile; import lombok.SneakyThrows; -class XdomeaXtaMessageFactoryITCase { +class XdomeaXtaMessageCreatorITCase { private XdomeaXtaMessageCreator creator; @@ -82,6 +82,18 @@ class XdomeaXtaMessageFactoryITCase { .isInstanceOf(ClientException.class); } + @DisplayName("should not throw with valid message 0201") + @Test + void shouldNotThrowWithValidMessage0201() { + var validMessageZipFile = loadMessageFileWithPatch( + "dfoerdermittel", + "valid-behoerdenkennung-name.patch" + ); + + assertThatCode(() -> creator.createMessage(validMessageZipFile)) + .doesNotThrowAnyException(); + } + @DisplayName("should use message type code for 0401") @Test @SneakyThrows @@ -97,14 +109,15 @@ class XdomeaXtaMessageFactoryITCase { @Test @SneakyThrows void shouldThrowClientExceptionForInvalidMessage0401() { - var invalidMessageZipFile = XtaMessageExampleLoader.load(createExampleConfigBuilder() - .messageLabel("abgabe0401-kleiner-waffenschein") - .patchLabel("invalid-ProzessID.patch") - .build()).messageFile(); + var invalidMessageZipFile = loadMessageFileWithPatch( + "abgabe0401-kleiner-waffenschein", + "invalid-ProzessID.patch" + ); assertThatThrownBy(() -> creator.createMessage(invalidMessageZipFile)) .isInstanceOf(ClientException.class); } + } private XtaMessageExampleLoader.MessageExampleConfig.MessageExampleConfigBuilder createExampleConfigBuilder() { @@ -113,11 +126,15 @@ class XdomeaXtaMessageFactoryITCase { .reader(READER_IDENTIFIER); } - private XtaFile loadMessageFile(String messageLabel) { - var message = XtaMessageExampleLoader.load(createExampleConfigBuilder() + private XtaFile loadMessageFileWithPatch(String messageLabel, String patchLabel) { + return XtaMessageExampleLoader.load(createExampleConfigBuilder() .messageLabel(messageLabel) - .build()); - return message.messageFile(); + .patchLabel(patchLabel) + .build()).messageFile(); + } + + private XtaFile loadMessageFile(String messageLabel) { + return loadMessageFileWithPatch(messageLabel, null); } } \ No newline at end of file diff --git a/src/test/resources/messages/dfoerdermittel/valid-behoerdenkennung-name.patch b/src/test/resources/messages/dfoerdermittel/valid-behoerdenkennung-name.patch new file mode 100644 index 0000000000000000000000000000000000000000..61f1f0617d27570ef47353135bc6b08005d42a61 --- /dev/null +++ b/src/test/resources/messages/dfoerdermittel/valid-behoerdenkennung-name.patch @@ -0,0 +1,16 @@ +diff --git a/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml b/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml +index 7815e7b..23763f3 100644 +--- a/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml ++++ b/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml +@@ -12,9 +12,11 @@ + <Behoerdenkennung> + <Kennung listURI="" listVersionID=""> + <code xmlns="">${authorIdentifier.value}</code> ++ <name xmlns="">An optional description of the value</name> + </Kennung> + <Praefix listURI="" listVersionID=""> + <code xmlns="">${authorIdentifier.prefix}</code> ++ <name xmlns="">An optional description of the prefix</name> + </Praefix> + </Behoerdenkennung> + </Absender>