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 6b3bcd60c522a6ceb8a602486baa69b51a269c8c..8ab2ef0721098071ed195be0f18fcdd6a6e8f456 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,6 +1,7 @@ package de.ozgcloud.eingang.xta; import static org.assertj.core.api.Assertions.*; +import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.lang.annotation.ElementType; @@ -8,7 +9,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.util.List; -import java.util.Optional; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -18,16 +18,23 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import org.mockito.ArgumentCaptor; 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.annotation.Bean; import org.springframework.test.context.ActiveProfiles; import de.ozgcloud.eingang.Application; import de.ozgcloud.eingang.common.formdata.FormData; +import de.ozgcloud.eingang.router.ManagableStub; +import de.ozgcloud.eingang.router.VorgangManagerServerResolver; import de.ozgcloud.eingang.router.VorgangRemoteService; +import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServiceStub; import de.ozgcloud.vorgang.vorgang.GrpcEingang; +import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; +import io.grpc.Channel; @SpringBootTest(classes = { Application.class, @@ -36,8 +43,22 @@ import de.ozgcloud.vorgang.vorgang.GrpcEingang; @ActiveProfiles({ "itcase" }) class XtaITCase { - @MockBean + @SpyBean private VorgangRemoteService vorgangRemoteService; + @MockBean + private VorgangManagerServerResolver resolver; + + @Mock + private ManagableStub<VorgangServiceBlockingStub> vorgangManageableServiceStub; + @Mock + private VorgangServiceBlockingStub vorgangServiceStub; + @Mock + private ManagableStub<BinaryFileServiceStub> binaryFileManageableServiceStub; + @Mock + private BinaryFileServiceStub binaryFileServiceStub; + + @Mock + private Channel channel; @MockBean private XtaRemoteService xtaRemoteService; @@ -48,18 +69,26 @@ class XtaITCase { @Captor private ArgumentCaptor<GrpcEingang> eingangArgumentCaptor; - @Captor - private ArgumentCaptor<Optional<String>> organisationseinheitenIdArgumentCaptor; - @Autowired private XtaRunner runner; + @BeforeEach + void initTest() { + when(resolver.resolveVorgangServiceBlockingStubByOrganisationseinheitenId(any())).thenReturn(vorgangManageableServiceStub); + when(vorgangManageableServiceStub.get()).thenReturn(vorgangServiceStub); + when(vorgangServiceStub.getChannel()).thenReturn(channel); + when(channel.authority()).thenReturn("authorityDummy"); + + when(resolver.resolveBinaryFileServiceStubByOrganisationsEinheitId(any())).thenReturn(binaryFileManageableServiceStub); + when(binaryFileManageableServiceStub.get()).thenReturn(binaryFileServiceStub); + } + @DisplayName("run get xta messages") @Nested class TestRunGetXtaMessages { @BeforeEach void setup() { - when(vorgangRemoteService.createVorgang(any(), any(), any())).thenReturn("vorgangId(unused)"); + doReturn("vorgangId(unused)").when(vorgangRemoteService).createVorgang(any(), any(), any(), any()); } @DisplayName("should have three representations with pdf") @@ -190,12 +219,9 @@ class XtaITCase { verify(vorgangRemoteService, times(1)) .createVorgang( formDataArgumentCaptor.capture(), - eingangArgumentCaptor.capture(), - organisationseinheitenIdArgumentCaptor.capture() - ); + eingangArgumentCaptor.capture(), any(), any()); assertThat(formDataArgumentCaptor.getValue()).isNotNull(); - assertThat(eingangArgumentCaptor.getValue()).isNotNull(); return eingangArgumentCaptor.getValue(); } @@ -203,8 +229,7 @@ class XtaITCase { private void mockNachrichtenBroker(String zipFileName) { when(xtaRemoteService.getMessage(any(XtaMessageId.class))).thenReturn( - XtaResponseTestFactory.createGetMessageResponse(zipFileName) - ); + XtaResponseTestFactory.createGetMessageResponse(zipFileName)); when(xtaRemoteService.getMessagesMetadata()) .thenReturn(XtaResponseTestFactory.createGetStatusListResponse(List.of(zipFileName))); when(xtaRemoteService.getNextMessagesMetadata(any()))