diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-03-25 17:01:14 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-03-26 13:49:39 +0100 |
commit | c58704ff3dd6b204c4df28499e418bb8e77f72d2 (patch) | |
tree | 2bfab01b11d442b1aa37611c365f2c00fed7cced /container-core/src/test | |
parent | a9c2fe028dbec15644923a9de800320c15b90579 (diff) |
Optional inject request entity to handler for POST,PUT,PATCH
Diffstat (limited to 'container-core/src/test')
-rw-r--r-- | container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java | 14 |
1 files changed, 8 insertions, 6 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 16cc2353986..1de8184ce22 100644 --- a/container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java +++ b/container-core/src/test/java/com/yahoo/restapi/RestApiImplTest.java @@ -43,7 +43,7 @@ class RestApiImplTest { @Test void executes_filters_and_handler_in_correct_order() { List<String> actualEvaluationOrdering = new ArrayList<>(); - RestApi.MethodHandler<HttpResponse> handler = context -> { + RestApi.Handler<HttpResponse> handler = context -> { actualEvaluationOrdering.add("handler"); return new MessageResponse("get-method-response"); }; @@ -83,8 +83,8 @@ class RestApiImplTest { .disableDefaultResponseMappers() .addRoute(route("/long").get(ctx -> 123456L)) .addRoute(route("/exception").get(ctx -> 123L / 0L)) - .addResponseMapper(Long.class, (entity, ctx) -> new MessageResponse("long value is " + entity)) - .addExceptionMapper(ArithmeticException.class, (exception, ctx) -> ErrorResponse.internalServerError("oops division by zero")) + .addResponseMapper(Long.class, (ctx, entity) -> new MessageResponse("long value is " + entity)) + .addExceptionMapper(ArithmeticException.class, (ctx, exception) -> ErrorResponse.internalServerError("oops division by zero")) .build(); verifyJsonResponse(restApi, Method.GET, "/long", null, 200, "{\"message\":\"long value is 123456\"}"); verifyJsonResponse(restApi, Method.GET, "/exception", null, 500, "{\"message\":\"oops division by zero\", \"error-code\":\"INTERNAL_SERVER_ERROR\"}"); @@ -92,9 +92,11 @@ class RestApiImplTest { @Test void method_handler_can_consume_and_produce_json() { + RestApi.HandlerWithRequestEntity<TestEntity, TestEntity> handler = (context, requestEntity) -> requestEntity; RestApi restApi = RestApi.builder() - .addRoute(route("/api").post( - ctx -> ctx.requestContent().get().consumeJacksonEntity(TestEntity.class))) + .registerJacksonRequestEntity(TestEntity.class) + .registerJacksonResponseEntity(TestEntity.class) + .addRoute(route("/api").post(TestEntity.class, handler)) .build(); String rawJson = "{\"mystring\":\"my-string-value\", \"myinstant\":\"2000-01-01T00:00:00Z\"}"; verifyJsonResponse(restApi, Method.POST, "/api", rawJson, 200, rawJson); @@ -118,7 +120,7 @@ class RestApiImplTest { } } - public static class TestEntity implements RestApi.JacksonRequestEntity, RestApi.JacksonResponseEntity { + public static class TestEntity { @JsonProperty("mystring") public String stringValue; @JsonProperty("myinstant") public Instant instantValue; } |