void throwExceptionIfNotSuccessfullyDecoded(HttpObject httpObject) { Throwable decoderFailure = getDecoderFailure(httpObject); if (decoderFailure == null) { return; } throw new InvalidHttpRequestException( "Detected HttpObject that was not successfully decoded.", decoderFailure ); }
void throwExceptionIfNotSuccessfullyDecoded(HttpObject httpObject) { Throwable decoderFailure = getDecoderFailure(httpObject); if (decoderFailure == null) { return; } throw new InvalidHttpRequestException( "Detected HttpObject that was not successfully decoded.", decoderFailure ); }
@Test public void getDecoderFailure_returns_null_when_DecoderResult_is_null() { // given HttpObject httpObjectMock = mock(HttpObject.class); doReturn(null).when(httpObjectMock).decoderResult(); // when Throwable result = implSpy.getDecoderFailure(httpObjectMock); // then assertThat(result).isNull(); }
@Test public void getDecoderFailure_returns_null_when_passed_null() { // expect assertThat(implSpy.getDecoderFailure(null)).isNull(); }
@Test public void getDecoderFailure_returns_DecoderResult_cause_when_it_is_a_failure() { // given HttpObject httpObjectMock = mock(HttpObject.class); Throwable expectedResult = mock(Throwable.class); doReturn(DecoderResult.failure(expectedResult)).when(httpObjectMock).decoderResult(); // when Throwable result = implSpy.getDecoderFailure(httpObjectMock); // then assertThat(result).isEqualTo(expectedResult); }
@DataProvider(value = { "true", "false" }) @Test public void getDecoderFailure_returns_null_when_DecoderResult_is_not_a_failure( boolean isUnfinished ) { // given HttpObject httpObjectMock = mock(HttpObject.class); DecoderResult nonFailureDecoderResult = (isUnfinished) ? DecoderResult.UNFINISHED : DecoderResult.SUCCESS; doReturn(nonFailureDecoderResult).when(httpObjectMock).decoderResult(); // when Throwable result = implSpy.getDecoderFailure(httpObjectMock); // then assertThat(result).isNull(); }
Throwable decoderFailureCause = getDecoderFailure(httpRequest);
Throwable decoderFailureCause = getDecoderFailure(httpRequest);