summaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java')
-rw-r--r--container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java b/container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java
index bf0ccb95887..a7f0474aeef 100644
--- a/container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java
+++ b/container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java
@@ -158,6 +158,18 @@ class RestApiImplTest {
assertRequiredCapability(restApi, Method.POST, "/api2", Capability.CONTENT__DOCUMENT_API);
}
+ @Test
+ void maps_exception_for_filter_throwing() {
+ RestApi.Filter throwingFilter = (ctx) -> {
+ throw new RestApiException.Forbidden("forbidden");
+ };
+ var restApi = RestApi.builder()
+ .setDefaultRoute(route("{*}").defaultHandler(ctx -> "hello world"))
+ .addFilter(throwingFilter)
+ .build();
+ verifyJsonResponse(restApi, Method.GET, "/", null, 403, "{\"error-code\":\"FORBIDDEN\",\"message\":\"forbidden\"}");
+ }
+
private static void verifyJsonResponse(
RestApi restApi, Method method, String path, String requestContent, int expectedStatusCode,
String expectedJson) {