diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java index df39403250bbf6ef883f1797174e92d1897fbc26..bef62d1fa98eb1adcdcc1daf4cea9204de9f339f 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java @@ -34,8 +34,12 @@ import org.mockito.Mock; import org.mockito.Spy; import de.ozgcloud.eingang.forwarder.RouteForwardingServiceGrpc; +import de.ozgcloud.eingang.forwarding.GrpcRouteForwarding; import de.ozgcloud.eingang.forwarding.GrpcRouteForwardingRequest; import de.ozgcloud.vorgang.callcontext.VorgangManagerClientCallContextAttachingInterceptor; +import de.ozgcloud.vorgang.vorgang.Eingang; +import de.ozgcloud.vorgang.vorgang.EingangTestFactory; +import de.ozgcloud.vorgang.vorgang.Vorgang; import de.ozgcloud.vorgang.vorgang.VorgangService; import de.ozgcloud.vorgang.vorgang.VorgangTestFactory; import de.ozgcloud.vorgang.vorgang.redirect.ForwardingRemoteService.ForwardingResponseObserver; @@ -46,7 +50,7 @@ class ForwardingRemoteServiceTest { @Mock private VorgangService vorgangService; @Mock - private ForwardingRemoteService forwardingRemoteService; + private ForwardingRequestMapper forwardingRequestMapper; @Mock private RouteForwardingServiceGrpc.RouteForwardingServiceStub serviceStub; @Spy @@ -56,10 +60,13 @@ class ForwardingRemoteServiceTest { @Mock private StreamObserver<GrpcRouteForwardingRequest> requestObserver; private final ForwardingRequest request = ForwardingRequestTestFactory.create(); + private final Eingang eingang = EingangTestFactory.create(); + private final Vorgang vorgang = VorgangTestFactory.createBuilder().clearEingangs().eingang(eingang).build(); @Nested class TestForward { + } @Nested @@ -156,10 +163,12 @@ class ForwardingRemoteServiceTest { @Nested class TestSendEingang { + private final GrpcRouteForwardingRequest routeForwardingRequest = GrpcRouteForwardingRequestTestFactory.create(); + @BeforeEach void init() { - when(vorgangService.getById(any())).thenReturn(VorgangTestFactory.create()); - doReturn(GrpcRouteForwardingRequestTestFactory.create()).when(service).buildRouteForwardingRequest(any(), any()); + when(vorgangService.getById(any())).thenReturn(vorgang); + doReturn(routeForwardingRequest).when(service).buildRouteForwardingRequest(any(), any()); } @Test @@ -169,8 +178,51 @@ class ForwardingRemoteServiceTest { verify(vorgangService).getById(VorgangTestFactory.ID); } + @Test + void shouldBuildRouteForwardingRequest() { + sendEingang(); + + verify(service).buildRouteForwardingRequest(request, eingang); + } + + @Test + void shouldSendForwardingRequest() { + sendEingang(); + + verify(requestObserver).onNext(routeForwardingRequest); + } + private void sendEingang() { service.sendEingang(request, requestObserver); } } + + @Nested + class TestBuildRouteForwardingRequest { + + private final GrpcRouteForwarding routeForwarding = GrpcRouteForwardingTestFactory.create(); + + @BeforeEach + void init() { + when(forwardingRequestMapper.toGrpcRouteForwarding(any(), any())).thenReturn(routeForwarding); + } + + @Test + void shouldMapToRouteForwarding() { + buildRouteForwardingRequest(); + + verify(forwardingRequestMapper).toGrpcRouteForwarding(request, eingang); + } + + @Test + void shouldReturnRouteForwardingRequest() { + var builtRequest = buildRouteForwardingRequest(); + + assertThat(builtRequest).isEqualTo(GrpcRouteForwardingRequestTestFactory.create()); + } + + private GrpcRouteForwardingRequest buildRouteForwardingRequest() { + return service.buildRouteForwardingRequest(request, eingang); + } + } } diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java index d09b7af528eab7e5bab4e7e7a1fbf5a44fa64103..bd937f9781ff2b5386c73c4909b95946eb072b82 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java @@ -32,6 +32,7 @@ class GrpcRouteForwardingRequestTestFactory { } public static GrpcRouteForwardingRequest.Builder createBuilder() { - return GrpcRouteForwardingRequest.newBuilder(); + return GrpcRouteForwardingRequest.newBuilder() + .setRouteForwarding(GrpcRouteForwardingTestFactory.create()); } }