Skip to content
Snippets Groups Projects
Commit 02ff9af0 authored by Jan Zickermann's avatar Jan Zickermann
Browse files

OZG-5412 XTAITCase: Remove grpcmock

parent 637af627
Branches
Tags
No related merge requests found
...@@ -63,7 +63,6 @@ ...@@ -63,7 +63,6 @@
<jaxb2-plugin.version>0.15.2</jaxb2-plugin.version> <jaxb2-plugin.version>0.15.2</jaxb2-plugin.version>
<jaxb3-plugin.version>0.15.0</jaxb3-plugin.version> <jaxb3-plugin.version>0.15.0</jaxb3-plugin.version>
<mojo-jaxb2-plugin.version>3.1.0</mojo-jaxb2-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> <okio.version>3.9.0</okio.version>
</properties> </properties>
...@@ -124,12 +123,6 @@ ...@@ -124,12 +123,6 @@
<type>test-jar</type> <type>test-jar</type>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.grpcmock</groupId>
<artifactId>grpcmock-spring-boot</artifactId>
<version>${grpcmock.version}</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>com.squareup.okio</groupId> <groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId> <artifactId>okio</artifactId>
......
...@@ -87,11 +87,6 @@ ...@@ -87,11 +87,6 @@
<artifactId>mockwebserver</artifactId> <artifactId>mockwebserver</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.grpcmock</groupId>
<artifactId>grpcmock-spring-boot</artifactId>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>common</artifactId> <artifactId>common</artifactId>
......
package de.ozgcloud.eingang.xta; package de.ozgcloud.eingang.xta;
import static org.assertj.core.api.Assertions.*; 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.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import java.util.List; 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.AfterEach;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource; 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.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import de.ozgcloud.eingang.Application; import de.ozgcloud.eingang.Application;
import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc; import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.vorgang.grpc.binaryFile.GrpcUploadBinaryFileRequest; import de.ozgcloud.eingang.router.VorgangRemoteService;
import de.ozgcloud.vorgang.grpc.binaryFile.GrpcUploadBinaryFileResponse;
import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangRequest;
import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangResponse;
import de.ozgcloud.vorgang.vorgang.GrpcEingang; import de.ozgcloud.vorgang.vorgang.GrpcEingang;
import de.ozgcloud.vorgang.vorgang.GrpcFinishCreationResponse;
import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc;
@SpringBootTest(classes = { @SpringBootTest(classes = {
Application.class, Application.class,
XtaITCase.ActivateXTARunnerConfig.class XtaITCase.ActivateXTARunnerConfig.class
}) })
@ActiveProfiles({ "itcase" }) @ActiveProfiles({ "itcase" })
@AutoConfigureGrpcMock(name = "vorgang-manager-itcase", useInProcessServer = true)
class XtaITCase { class XtaITCase {
@Autowired @Autowired
...@@ -46,64 +42,29 @@ class XtaITCase { ...@@ -46,64 +42,29 @@ class XtaITCase {
@Autowired @Autowired
private XtaRunner runner; 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") @DisplayName("run get xta messages")
@Nested @Nested
class TestRunGetXtaMessages { class TestRunGetXtaMessages {
@BeforeEach @BeforeEach
void setup() { void setup() {
mockStartVorgangCreation(); when(vorgangRemoteService.createVorgang(any(), any(), any())).thenReturn("vorgangId(unused)");
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()));
} }
@AfterEach @AfterEach
void teardown() { void teardown() {
try {
expectOneVorgangCreateAndFinishCall();
expectTwoUploadCallsForXmlRepresentations();
} finally {
xtaMocker.teardownServer(); 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));
} }
@DisplayName("should have three representations with pdf") @DisplayName("should have three representations with pdf")
...@@ -194,12 +155,18 @@ class XtaITCase { ...@@ -194,12 +155,18 @@ class XtaITCase {
} }
private GrpcEingang captureEingang() { private GrpcEingang captureEingang() {
return capturedRequestsFor( verify(vorgangRemoteService, times(1))
calledMethod(VorgangServiceGrpc.getStartCreationMethod())) .createVorgang(
.getFirst() formDataArgumentCaptor.capture(),
.requests() eingangArgumentCaptor.capture(),
.getFirst() organisationseinheitenIdArgumentCaptor.capture()
.getEingang(); );
assertThat(formDataArgumentCaptor.getValue()).isNotNull();
assertThat(eingangArgumentCaptor.getValue()).isNotNull();
assertThat(organisationseinheitenIdArgumentCaptor.getValue()).isPresent();
return eingangArgumentCaptor.getValue();
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment