diff options
author | Bjørn Christian Seime <bjorncs@vespa.ai> | 2023-11-17 11:02:54 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@vespa.ai> | 2023-11-17 11:02:54 +0100 |
commit | cb8a697b6422a8e7b87a9ec9cfce792e002bb207 (patch) | |
tree | 6274ebfc8daf65d1762c100597748a450deda469 /container-core/src/test/java/com/yahoo | |
parent | 91692155c1f63492ef8d57b35105a5ade375a6ba (diff) |
Apply exception mappers for filter execution
Diffstat (limited to 'container-core/src/test/java/com/yahoo')
-rw-r--r-- | container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java | 12 |
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) { |