@Test public void message_only_constructor_works_as_expected() { // given String message = UUID.randomUUID().toString(); RequestTooBigException ex = new RequestTooBigException(message); // expect assertThat(ex) .hasMessage(message) .hasNoCause(); }
@Test public void kitchen_sink_constructor_works_as_expected() { // given String message = UUID.randomUUID().toString(); Throwable cause = mock(Throwable.class); RequestTooBigException ex = new RequestTooBigException(message, cause); // expect assertThat(ex) .hasMessage(message) .hasCause(cause); }
@Test public void cause_only_constructor_works_as_expected() { // given Throwable cause = mock(Throwable.class); RequestTooBigException ex = new RequestTooBigException(cause); // expect assertThat(ex) .hasMessage(cause.toString()) .hasCause(cause); }
private void throwExceptionIfContentLengthHeaderIsLargerThanConfiguredMaxRequestSize(HttpRequest msg, Endpoint<?> endpoint) { int configuredMaxRequestSize = getConfiguredMaxRequestSize(endpoint, globalConfiguredMaxRequestSizeInBytes); if (!isMaxRequestSizeValidationDisabled(configuredMaxRequestSize) && HttpHeaders.isContentLengthSet(msg) && HttpHeaders.getContentLength(msg) > configuredMaxRequestSize) { throw new RequestTooBigException( "Content-Length header value exceeded configured max request size of " + configuredMaxRequestSize ); } }
@Test public void no_arg_constructor_works_as_expected() { // given RequestTooBigException ex = new RequestTooBigException(); // expect assertThat(ex) .hasMessage(null) .hasNoCause(); }
private void throwExceptionIfContentLengthHeaderIsLargerThanConfiguredMaxRequestSize(HttpRequest msg, Endpoint<?> endpoint) { int configuredMaxRequestSize = getConfiguredMaxRequestSize(endpoint, globalConfiguredMaxRequestSizeInBytes); if (!isMaxRequestSizeValidationDisabled(configuredMaxRequestSize) && HttpHeaders.isContentLengthSet(msg) && HttpHeaders.getContentLength(msg) > configuredMaxRequestSize) { throw new RequestTooBigException( "Content-Length header value exceeded configured max request size of " + configuredMaxRequestSize ); } }
@Test public void should_handle_RequestTooBigException() { // given String exMsg = UUID.randomUUID().toString(); RequestTooBigException ex = new RequestTooBigException(exMsg); // when ApiExceptionHandlerListenerResult result = listener.shouldHandleException(ex); // then assertThat(result.shouldHandleResponse).isTrue(); assertThat(result.errors).isEqualTo(singletonError( new ApiErrorWithMetadata(testProjectApiErrors.getMalformedRequestApiError(), Pair.of("cause", "The request exceeded the maximum payload size allowed")) )); assertThat(result.extraDetailsForLogging.get(0).getLeft()).isEqualTo("exception_message"); assertThat(result.extraDetailsForLogging.get(0).getRight()).isEqualTo(exMsg); assertThat(result.extraDetailsForLogging.get(1).getLeft()).isEqualTo("decoder_exception"); assertThat(result.extraDetailsForLogging.get(1).getRight()).isEqualTo("true"); }
throw new RequestTooBigException( "Request raw content length exceeded configured max request size of " + configuredMaxRequestSize
throw new RequestTooBigException( "Request raw content length exceeded configured max request size of " + configuredMaxRequestSize