From 02ff9af06a51a9a0b0f9dd6fbca6ec0157d45fa0 Mon Sep 17 00:00:00 2001 From: "Zickermann, Jan" <jan.zickermann@dataport.de> Date: Fri, 24 May 2024 09:41:27 +0200 Subject: [PATCH] OZG-5412 XTAITCase: Remove grpcmock --- pom.xml | 7 -- xta-adapter/pom.xml | 5 - .../de/ozgcloud/eingang/xta/XtaITCase.java | 99 +++++++------------ 3 files changed, 33 insertions(+), 78 deletions(-) diff --git a/pom.xml b/pom.xml index 98b1ecff1..4bc431cb6 100644 --- a/pom.xml +++ b/pom.xml @@ -63,7 +63,6 @@ <jaxb2-plugin.version>0.15.2</jaxb2-plugin.version> <jaxb3-plugin.version>0.15.0</jaxb3-plugin.version> <mojo-jaxb2-plugin.version>3.1.0</mojo-jaxb2-plugin.version> - <grpcmock.version>0.13.0</grpcmock.version> <okio.version>3.9.0</okio.version> </properties> @@ -124,12 +123,6 @@ <type>test-jar</type> <scope>test</scope> </dependency> - <dependency> - <groupId>org.grpcmock</groupId> - <artifactId>grpcmock-spring-boot</artifactId> - <version>${grpcmock.version}</version> - <scope>test</scope> - </dependency> <dependency> <groupId>com.squareup.okio</groupId> <artifactId>okio</artifactId> diff --git a/xta-adapter/pom.xml b/xta-adapter/pom.xml index 94e51b759..ffa561640 100644 --- a/xta-adapter/pom.xml +++ b/xta-adapter/pom.xml @@ -87,11 +87,6 @@ <artifactId>mockwebserver</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.grpcmock</groupId> - <artifactId>grpcmock-spring-boot</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>de.ozgcloud.eingang</groupId> <artifactId>common</artifactId> diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java index 5782d7f62..2b5ded74d 100644 --- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java @@ -1,43 +1,39 @@ package de.ozgcloud.eingang.xta; import static org.assertj.core.api.Assertions.*; -import static org.grpcmock.GrpcMock.*; +import static org.mockito.Mockito.*; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.util.List; -import java.util.function.Predicate; +import java.util.Optional; -import org.grpcmock.springboot.AutoConfigureGrpcMock; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; 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.context.annotation.Bean; import org.springframework.test.context.ActiveProfiles; import de.ozgcloud.eingang.Application; -import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc; -import de.ozgcloud.vorgang.grpc.binaryFile.GrpcUploadBinaryFileRequest; -import de.ozgcloud.vorgang.grpc.binaryFile.GrpcUploadBinaryFileResponse; -import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangRequest; -import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangResponse; +import de.ozgcloud.eingang.common.formdata.FormData; +import de.ozgcloud.eingang.router.VorgangRemoteService; import de.ozgcloud.vorgang.vorgang.GrpcEingang; -import de.ozgcloud.vorgang.vorgang.GrpcFinishCreationResponse; -import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc; @SpringBootTest(classes = { Application.class, XtaITCase.ActivateXTARunnerConfig.class }) @ActiveProfiles({ "itcase" }) -@AutoConfigureGrpcMock(name = "vorgang-manager-itcase", useInProcessServer = true) class XtaITCase { @Autowired @@ -46,64 +42,29 @@ class XtaITCase { @Autowired private XtaRunner runner; + @MockBean + private VorgangRemoteService vorgangRemoteService; + + @Captor + private ArgumentCaptor<FormData> formDataArgumentCaptor; + + @Captor + private ArgumentCaptor<GrpcEingang> eingangArgumentCaptor; + + @Captor + private ArgumentCaptor<Optional<String>> organisationseinheitenIdArgumentCaptor; + @DisplayName("run get xta messages") @Nested class TestRunGetXtaMessages { @BeforeEach void setup() { - mockStartVorgangCreation(); - mockUploadBinaryFiles(); - mockFinishVorgangCreation(); - } - - private void mockStartVorgangCreation() { - stubFor( - unaryMethod(VorgangServiceGrpc.getStartCreationMethod()) - .willReturn(GrpcCreateVorgangResponse.getDefaultInstance())); - } - - private void mockUploadBinaryFiles() { - stubFor( - clientStreamingMethod(BinaryFileServiceGrpc.getUploadBinaryFileAsStreamMethod()) - .willReturn(GrpcUploadBinaryFileResponse.getDefaultInstance())); - } - - private void mockFinishVorgangCreation() { - stubFor( - unaryMethod(VorgangServiceGrpc.getFinishCreationMethod()) - .willReturn(GrpcFinishCreationResponse.getDefaultInstance())); + when(vorgangRemoteService.createVorgang(any(), any(), any())).thenReturn("vorgangId(unused)"); } @AfterEach void teardown() { - try { - expectOneVorgangCreateAndFinishCall(); - expectTwoUploadCallsForXmlRepresentations(); - } finally { - xtaMocker.teardownServer(); - resetMappings(); - } - } - - private void expectOneVorgangCreateAndFinishCall() { - verifyThat( - calledMethod(VorgangServiceGrpc.getStartCreationMethod()) - .withRequest(GrpcCreateVorgangRequest::hasEingang), - times(1)); - verifyThat( - calledMethod(VorgangServiceGrpc.getFinishCreationMethod()), - times(1)); - } - - private void expectTwoUploadCallsForXmlRepresentations() { - Predicate<GrpcUploadBinaryFileRequest> hasXMLContentType = request -> request.hasMetadata() && request - .getMetadata() - .getContentType() - .contains("xml"); - verifyThat( - calledMethod(BinaryFileServiceGrpc.getUploadBinaryFileAsStreamMethod()) - .withRequestsContaining(hasXMLContentType), - times(2)); + xtaMocker.teardownServer(); } @DisplayName("should have three representations with pdf") @@ -194,12 +155,18 @@ class XtaITCase { } private GrpcEingang captureEingang() { - return capturedRequestsFor( - calledMethod(VorgangServiceGrpc.getStartCreationMethod())) - .getFirst() - .requests() - .getFirst() - .getEingang(); + verify(vorgangRemoteService, times(1)) + .createVorgang( + formDataArgumentCaptor.capture(), + eingangArgumentCaptor.capture(), + organisationseinheitenIdArgumentCaptor.capture() + ); + + assertThat(formDataArgumentCaptor.getValue()).isNotNull(); + assertThat(eingangArgumentCaptor.getValue()).isNotNull(); + assertThat(organisationseinheitenIdArgumentCaptor.getValue()).isPresent(); + + return eingangArgumentCaptor.getValue(); } } -- GitLab