Search in sources :

Example 36 with PipelineContinuationBehavior

use of com.nike.riposte.server.handler.base.PipelineContinuationBehavior in project riposte by Nike-Inc.

the class ResponseSenderHandlerTest method doChannelRead_calls_sendResponse_with_expected_args_and_returns_CONTINUE.

@Test
public void doChannelRead_calls_sendResponse_with_expected_args_and_returns_CONTINUE() throws Exception {
    // given
    Object msg = new Object();
    // when
    PipelineContinuationBehavior result = handlerSpy.doChannelRead(ctxMock, msg);
    // then
    verify(handlerSpy).sendResponse(ctxMock, msg, false);
    assertThat(result).isEqualTo(PipelineContinuationBehavior.CONTINUE);
}
Also used : PipelineContinuationBehavior(com.nike.riposte.server.handler.base.PipelineContinuationBehavior) Test(org.junit.Test)

Example 37 with PipelineContinuationBehavior

use of com.nike.riposte.server.handler.base.PipelineContinuationBehavior in project riposte by Nike-Inc.

the class ResponseSenderHandlerTest method doExceptionCaught_closes_channel_but_does_not_propagate_exception_from_sendResponse.

@Test
public void doExceptionCaught_closes_channel_but_does_not_propagate_exception_from_sendResponse() throws JsonProcessingException {
    // given
    doThrow(new RuntimeException("intentional test exception")).when(handlerSpy).sendResponse(any(), any(), anyBoolean());
    // when
    PipelineContinuationBehavior result = handlerSpy.doExceptionCaught(ctxMock, mock(Throwable.class));
    // then
    verify(handlerSpy).sendResponse(ctxMock, null, true);
    assertThat(result).isEqualTo(PipelineContinuationBehavior.CONTINUE);
    verify(channelMock).close();
}
Also used : PipelineContinuationBehavior(com.nike.riposte.server.handler.base.PipelineContinuationBehavior) Assertions.catchThrowable(org.assertj.core.api.Assertions.catchThrowable) Test(org.junit.Test)

Example 38 with PipelineContinuationBehavior

use of com.nike.riposte.server.handler.base.PipelineContinuationBehavior in project riposte by Nike-Inc.

the class ResponseSenderHandlerTest method doExceptionCaught_calls_sendResponse_with_expected_args_and_returns_CONTINUE.

@Test
public void doExceptionCaught_calls_sendResponse_with_expected_args_and_returns_CONTINUE() throws Exception {
    // when
    PipelineContinuationBehavior result = handlerSpy.doExceptionCaught(ctxMock, new Exception("intentional test exception"));
    // then
    verify(handlerSpy).sendResponse(ctxMock, null, true);
    assertThat(result).isEqualTo(PipelineContinuationBehavior.CONTINUE);
    verify(channelMock, never()).close();
}
Also used : PipelineContinuationBehavior(com.nike.riposte.server.handler.base.PipelineContinuationBehavior) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException) Test(org.junit.Test)

Example 39 with PipelineContinuationBehavior

use of com.nike.riposte.server.handler.base.PipelineContinuationBehavior in project riposte by Nike-Inc.

the class RequestContentValidationHandlerTest method doChannelRead_does_nothing_if_endpoint_is_null.

@Test
public void doChannelRead_does_nothing_if_endpoint_is_null() throws Exception {
    // given
    doReturn(null).when(stateMock).getEndpointForExecution();
    // when
    PipelineContinuationBehavior result = handler.doChannelRead(ctxMock, msg);
    // then
    verifyNoMoreInteractions(requestValidatorMock);
    assertThat(result).isEqualTo(PipelineContinuationBehavior.CONTINUE);
}
Also used : PipelineContinuationBehavior(com.nike.riposte.server.handler.base.PipelineContinuationBehavior) Test(org.junit.Test)

Example 40 with PipelineContinuationBehavior

use of com.nike.riposte.server.handler.base.PipelineContinuationBehavior in project riposte by Nike-Inc.

the class RequestContentValidationHandlerTest method doChannelRead_does_nothing_if_content_is_null_and_require_content_is_false.

@Test
public void doChannelRead_does_nothing_if_content_is_null_and_require_content_is_false() throws Exception {
    // given
    doReturn(null).when(requestInfoMock).getContent();
    // when
    PipelineContinuationBehavior result = handler.doChannelRead(ctxMock, msg);
    // then
    verifyNoMoreInteractions(requestValidatorMock);
    assertThat(result).isEqualTo(PipelineContinuationBehavior.CONTINUE);
}
Also used : PipelineContinuationBehavior(com.nike.riposte.server.handler.base.PipelineContinuationBehavior) Test(org.junit.Test)

Aggregations

PipelineContinuationBehavior (com.nike.riposte.server.handler.base.PipelineContinuationBehavior)92 Test (org.junit.Test)90 DataProvider (com.tngtech.java.junit.dataprovider.DataProvider)26 HttpProcessingState (com.nike.riposte.server.http.HttpProcessingState)11 Assertions.catchThrowable (org.assertj.core.api.Assertions.catchThrowable)9 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)8 RequestInfo (com.nike.riposte.server.http.RequestInfo)7 Span (com.nike.wingtips.Span)6 IncompleteHttpCallTimeoutException (com.nike.riposte.server.error.exception.IncompleteHttpCallTimeoutException)5 TooManyOpenChannelsException (com.nike.riposte.server.error.exception.TooManyOpenChannelsException)5 ErrorResponseBody (com.nike.riposte.server.error.handler.ErrorResponseBody)5 RequestAndResponseFilter (com.nike.riposte.server.http.filter.RequestAndResponseFilter)5 HttpRequest (io.netty.handler.codec.http.HttpRequest)5 Pair (com.nike.internal.util.Pair)4 LastOutboundMessageSendFullResponseInfo (com.nike.riposte.server.channelpipeline.message.LastOutboundMessageSendFullResponseInfo)4 ResponseInfo (com.nike.riposte.server.http.ResponseInfo)4 ChannelFuture (io.netty.channel.ChannelFuture)4 LastHttpContent (io.netty.handler.codec.http.LastHttpContent)4 InvalidRipostePipelineException (com.nike.riposte.server.error.exception.InvalidRipostePipelineException)3 UseDataProvider (com.tngtech.java.junit.dataprovider.UseDataProvider)3