下面列出了 io.netty.handler.codec.DecoderResult # failure ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Test
public void doChannelRead_HttpRequest_throws_exception_when_failed_decoder_result() {
// given
HttpRequest msgMock = mock(HttpRequest.class);
Throwable decoderFailureCauseMock = mock(Throwable.class);
DecoderResult decoderResult = DecoderResult.failure(decoderFailureCauseMock);
doReturn(decoderResult).when(msgMock).decoderResult();
doReturn(null).when(stateMock).getRequestInfo();
// when
Throwable thrownException = Assertions.catchThrowable(() -> handler.doChannelRead(ctxMock, msgMock));
// then
assertThat(thrownException).isExactlyInstanceOf(InvalidHttpRequestException.class);
assertThat(thrownException.getCause()).isSameAs(decoderFailureCauseMock);
}
@Test
public void doChannelRead_HttpRequest_throws_exception_when_failed_decoder_result() {
// given
HttpRequest msgMock = mock(HttpRequest.class);
Throwable decoderFailureCauseMock = mock(Throwable.class);
DecoderResult decoderResult = DecoderResult.failure(decoderFailureCauseMock);
doReturn(decoderResult).when(msgMock).decoderResult();
doReturn(null).when(stateMock).getRequestInfo();
// when
Throwable thrownException = Assertions.catchThrowable(() -> handlerSpy.doChannelRead(ctxMock, msgMock));
// then
assertThat(thrownException).isExactlyInstanceOf(InvalidHttpRequestException.class);
assertThat(thrownException.getCause()).isSameAs(decoderFailureCauseMock);
}
@Test
public void doChannelRead_HttpContent_throws_exception_when_failed_decoder_result() {
// given
Throwable decoderFailureCauseMock = mock(Throwable.class);
DecoderResult decoderResult = DecoderResult.failure(decoderFailureCauseMock);
doReturn(decoderResult).when(httpContentMock).decoderResult();
// when
Throwable thrownException = Assertions.catchThrowable(() -> handler.doChannelRead(ctxMock, httpContentMock));
// then
assertThat(thrownException).isExactlyInstanceOf(InvalidHttpRequestException.class);
assertThat(thrownException.getCause()).isSameAs(decoderFailureCauseMock);
verify(httpContentMock).release();
}
@Test
public void doChannelRead_HttpRequest_throws_exception_when_failed_decoder_result() {
// given
Throwable decoderFailureCauseMock = mock(Throwable.class);
DecoderResult decoderResult = DecoderResult.failure(decoderFailureCauseMock);
doReturn(decoderResult).when(firstChunkMsgMock).decoderResult();
state.setRequestInfo(null);
// when
Throwable thrownException = Assertions.catchThrowable(() -> handlerSpy.doChannelRead(ctxMock, firstChunkMsgMock));
// then
assertThat(thrownException).isExactlyInstanceOf(InvalidHttpRequestException.class);
assertThat(thrownException.getCause()).isSameAs(decoderFailureCauseMock);
}
public static MqttMessage newInvalidMessage(Throwable cause) {
return new MqttMessage(null, null, null, DecoderResult.failure(cause));
}
public static MqttMessage newInvalidMessage(Throwable cause) {
return new MqttMessage(null, null, null, DecoderResult.failure(cause));
}