/** * Redirects requests by changing their URI. * @param request the request that is redirected */ public void reroute(final WilmaHttpRequest request) { if (routingService.redirectRequestToStub(request)) { try { request.setUri(getURI()); } catch (URISyntaxException e) { logger.error(e.getMessage()); } } }
@Test public void testRerouteWhenUriNotCorrectShouldLogError() throws URISyntaxException { //GIVEN doThrow(new URISyntaxException("", "")).when(underTest).getURI(); given(routingService.redirectRequestToStub(request)).willReturn(true); //WHEN underTest.reroute(request); //THEN verify(logger).error(Mockito.anyString()); }
@Test public void testRerouteShouldNotSetNewUri() throws URISyntaxException { //GIVEN uri = new URI("http://127.0.0.1:" + internalPort + "/stub/"); given(routingService.redirectRequestToStub(request)).willReturn(false); //WHEN underTest.reroute(request); //TEST verify(request, times(0)).setUri(uri); }
@Test public void testRerouteShouldSetNewUri() throws URISyntaxException { //GIVEN uri = new URI("http://127.0.0.1:" + internalPort + "/stub/"); given(routingService.redirectRequestToStub(request)).willReturn(true); //WHEN underTest.reroute(request); //TEST verify(request).setUri(uri); }
@Test public void testRerouteShouldReturnRequestWithNewUri() throws URISyntaxException { //GIVEN uri = new URI("http://127.0.0.1:" + internalPort + "/stub/"); given(request.getUri()).willReturn(uri); given(routingService.redirectRequestToStub(request)).willReturn(true); //WHEN underTest.reroute(request); //TEST verify(request).setUri(uri); }
@Test public void testRedirectRequestToStubShouldReturnTrueWhenNewResponseDescriptorIsCreated() { //GIVEN requestBody = MSG_ID; given(request.getBody()).willReturn(requestBody); given(stubDescriptorEvaluator.findResponseDescriptor(stubDescriptors, request)).willReturn(responseDescriptorDTO); //WHEN boolean actual = underTest.redirectRequestToStub(request); //THEN assertEquals(actual, true); }
@Test public void testRedirectRequestToStubShouldReturnFalseWhenResponseDescriptorIsNull() { //GIVEN given(request.getBody()).willReturn(requestBody); given(stubDescriptorEvaluator.findResponseDescriptor(stubDescriptors, request)).willReturn(null); //WHEN boolean actual = underTest.redirectRequestToStub(request); //THEN assertEquals(actual, false); }
@Test public void testRedirectRequestToStubShouldCallStubModeEvaluatorGetResponseDescriptorForStubModeMethod() { //GIVEN Whitebox.setInternalState(underTest, "operationMode", OperationMode.STUB); given(request.getBody()).willReturn(requestBody); given(stubDescriptorEvaluator.findResponseDescriptor(stubDescriptors, request)).willReturn(null); //WHEN underTest.redirectRequestToStub(request); //THEN verify(stubModeEvaluator).getResponseDescriptorForStubMode(request, OperationMode.STUB); }