diff --git a/src/main/java/de/ozgcloud/eingang/intelliform/FormDataEndpoint.java b/src/main/java/de/ozgcloud/eingang/intelliform/FormDataEndpoint.java index 340276763a73457f180db5233f64e91d3dbc6e44..4d0e16df8bb1b3775a8b978ddf7073782cfe325f 100644 --- a/src/main/java/de/ozgcloud/eingang/intelliform/FormDataEndpoint.java +++ b/src/main/java/de/ozgcloud/eingang/intelliform/FormDataEndpoint.java @@ -24,23 +24,22 @@ package de.ozgcloud.eingang.intelliform; import java.io.IOException; - import javax.xml.namespace.QName; import javax.xml.parsers.ParserConfigurationException; import jakarta.xml.bind.JAXBElement; - -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; +import lombok.extern.log4j.Log4j2; import org.springframework.ws.server.endpoint.annotation.Endpoint; import org.springframework.ws.server.endpoint.annotation.PayloadRoot; import org.springframework.ws.server.endpoint.annotation.RequestPayload; import org.springframework.ws.server.endpoint.annotation.ResponsePayload; import de.ozgcloud.eingang.semantik.SemantikAdapter; -import lombok.extern.log4j.Log4j2; @Endpoint @Log4j2 +@RequiredArgsConstructor public class FormDataEndpoint { static final String NAMESPACE_URI = "http://xmlns.cit.de/intelliform/2009/webservices/backend"; @@ -51,11 +50,8 @@ public class FormDataEndpoint { private static final QName _DepositResponse_QNAME = new QName(NAMESPACE_URI, "depositResponse"); private static final QName _PrefillResponse_QNAME = new QName(NAMESPACE_URI, "prefillResponse"); - - @Autowired - private DepositDataMapper depositDataMapper; - @Autowired - private SemantikAdapter semantikAdapter; + private final DepositDataMapper depositDataMapper; + private final SemantikAdapter semantikAdapter; @PayloadRoot(namespace = NAMESPACE_URI, localPart = PAYLOAD_LOCAL_PART) @ResponsePayload diff --git a/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java b/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java index 131accf21541b7a9a13beab5e54e8392db53a07d..b565bf3b9bbb0f7f5dd0a7b9d3c7160f890b32f0 100644 --- a/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java +++ b/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java @@ -23,27 +23,29 @@ */ package de.ozgcloud.eingang.intelliform; -import static de.ozgcloud.eingang.intelliform.AttachmentTestFactory.*; -import static de.ozgcloud.eingang.intelliform.DepositDataTestFactory.*; -import static de.ozgcloud.eingang.intelliform.FormDataEndpoint.*; -import static de.ozgcloud.eingang.intelliform.XmlDaten1Container.*; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; +import static de.ozgcloud.eingang.intelliform.AttachmentTestFactory.*; +import static de.ozgcloud.eingang.intelliform.DepositDataTestFactory.MANY_ATTACHMENTS; +import static de.ozgcloud.eingang.intelliform.FormDataEndpoint.NAMESPACE_URI; +import static de.ozgcloud.eingang.intelliform.FormDataEndpoint.PAYLOAD_LOCAL_PART; +import static de.ozgcloud.eingang.intelliform.XmlDaten1Container.REQUEST_XML_NAME; + import java.io.StringReader; import java.io.StringWriter; import java.util.Collection; import java.util.List; import java.util.UUID; - import javax.xml.namespace.QName; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; +import io.grpc.Channel; import jakarta.xml.bind.JAXBElement; - +import lombok.SneakyThrows; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -54,11 +56,11 @@ import org.mockito.Captor; import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.context.ApplicationContext; import org.springframework.core.io.Resource; import org.springframework.oxm.jaxb.Jaxb2Marshaller; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import org.springframework.ws.test.server.MockWebServiceClient; import org.springframework.ws.test.server.RequestCreators; import org.springframework.ws.test.server.ResponseActions; @@ -76,16 +78,14 @@ import de.ozgcloud.vorgang.vorgang.GrpcFormData; import de.ozgcloud.vorgang.vorgang.GrpcIncomingFile; import de.ozgcloud.vorgang.vorgang.GrpcIncomingFileGroup; import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; -import io.grpc.Channel; -import lombok.SneakyThrows; @SpringBootTest class FormDataEndpointITCase { - private final static String TEST_FILE_PATH = "classpath:itcase/"; + private static final String TEST_FILE_PATH = "classpath:itcase/"; - private final static String REQUEST = "EinfachesFormularZweiAnhaengeSoapRequest.xml"; - private final static String RESPONSE = "EinfachesFormularZweiAnhaengeSoapResponse.xml"; + private static final String REQUEST = "EinfachesFormularZweiAnhaengeSoapRequest.xml"; + private static final String RESPONSE = "EinfachesFormularZweiAnhaengeSoapResponse.xml"; private static final String SOAP_REQUEST_OTHER_NAME = "XML-Daten-1-other_name_SoapRequest.xml"; private static Jaxb2Marshaller marshaller; @@ -93,9 +93,9 @@ class FormDataEndpointITCase { @Autowired private ApplicationContext applicationContext; - @SpyBean + @MockitoSpyBean private VorgangRemoteService vorgangRemoteService; - @MockBean + @MockitoBean private VorgangManagerServerResolver resolver; @Mock diff --git a/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointTest.java b/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointTest.java index caa77acc9a6d0b07d8d084c96ea7251df1341d96..5d9407b92307c91416ab2ea06439de7436d290b8 100644 --- a/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointTest.java +++ b/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointTest.java @@ -23,20 +23,17 @@ */ package de.ozgcloud.eingang.intelliform; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; import java.io.IOException; -import java.net.URISyntaxException; - import javax.xml.parsers.ParserConfigurationException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.xml.sax.SAXException; import de.ozgcloud.common.test.TestUtils; import de.ozgcloud.eingang.common.formdata.FormDataTestFactory; @@ -52,18 +49,18 @@ class FormDataEndpointTest { private SemantikAdapter semantikAdapter; @BeforeEach - void init() throws SAXException, IOException, ParserConfigurationException { + void init() { when(depositDataMapper.mapToFormData(any())).thenReturn(FormDataTestFactory.create()); } @Test - void testDepositFormData() throws SAXException, IOException, ParserConfigurationException, URISyntaxException { + void testDepositFormData() throws IOException, ParserConfigurationException { var response = formdataEndpointIntelli.inputFormData(buildRequest("intelliform/XML-Daten-1.xml")); assertThat(response).isNotNull(); } - private Deposit buildRequest(String fileName) throws SAXException, IOException, ParserConfigurationException, URISyntaxException { + private Deposit buildRequest(String fileName) { var depositData = new DepositData(); var attachment = new Attachment(); diff --git a/src/test/java/de/ozgcloud/eingang/intelliform/XmlDaten1Container.java b/src/test/java/de/ozgcloud/eingang/intelliform/XmlDaten1Container.java index 7f56b618af0487d4d0fcdbed5046beb748a4e511..abfe2922a529d1c115b592c334f4ca0f6c5bde0f 100644 --- a/src/test/java/de/ozgcloud/eingang/intelliform/XmlDaten1Container.java +++ b/src/test/java/de/ozgcloud/eingang/intelliform/XmlDaten1Container.java @@ -9,7 +9,7 @@ import de.ozgcloud.vorgang.vorgang.GrpcFormField; public class XmlDaten1Container { - public final static String REQUEST_XML_NAME = "XML-Daten-1-SoapRequest.xml"; + public static final String REQUEST_XML_NAME = "XML-Daten-1-SoapRequest.xml"; public static final List<GrpcFormField> EINGANG_FIELDS = List.of( create("kontaktsystemtypid", "233034600"),