From bd1d13b5d6b8c77473e602673610f508d7be60b7 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 26 Feb 2024 16:07:27 +0000 Subject: [PATCH] Add test for issue 2056 (#2061) When we add back `@SerdeImport(Object.class)` to aws-lambda-events-serde/src/main/java/io/micronaut/aws/lambda/events/serde/LambdaDestinationEventSerde.java, this test fails. --- .../build.gradle.kts | 1 + .../events/serde/tests/Issue2056Test.java | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 test-suite-aws-lambda-events-serde/src/test/java/io/micronaut/aws/lambda/events/serde/tests/Issue2056Test.java diff --git a/test-suite-aws-lambda-events-serde/build.gradle.kts b/test-suite-aws-lambda-events-serde/build.gradle.kts index fb8c8873b1..8e6583576c 100644 --- a/test-suite-aws-lambda-events-serde/build.gradle.kts +++ b/test-suite-aws-lambda-events-serde/build.gradle.kts @@ -4,6 +4,7 @@ plugins { } dependencies { testImplementation(projects.testSuiteAwsLambdaEvents) + testImplementation(projects.micronautFunctionAwsApiProxy) testImplementation(mnSerde.micronaut.serde.jackson) testImplementation(projects.micronautAwsLambdaEventsSerde) } diff --git a/test-suite-aws-lambda-events-serde/src/test/java/io/micronaut/aws/lambda/events/serde/tests/Issue2056Test.java b/test-suite-aws-lambda-events-serde/src/test/java/io/micronaut/aws/lambda/events/serde/tests/Issue2056Test.java new file mode 100644 index 0000000000..1cc4dd182b --- /dev/null +++ b/test-suite-aws-lambda-events-serde/src/test/java/io/micronaut/aws/lambda/events/serde/tests/Issue2056Test.java @@ -0,0 +1,37 @@ +package io.micronaut.aws.lambda.events.serde.tests; + +import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent; +import io.micronaut.function.aws.proxy.MockLambdaContext; +import io.micronaut.function.aws.proxy.payload1.ApiGatewayProxyRequestEventFunction; +import io.micronaut.http.HttpMethod; +import io.micronaut.http.HttpStatus; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class Issue2056Test { + + private ApiGatewayProxyRequestEventFunction handler; + + @BeforeEach + void setupSpec() { + handler = new ApiGatewayProxyRequestEventFunction(); + } + + @AfterEach + void cleanupSpec() throws Exception { + handler.close(); + } + + @Test + void testNotFoundEncoding() { + APIGatewayProxyRequestEvent request = new APIGatewayProxyRequestEvent(); + request.setPath("/not_a_valid_url"); + request.setHttpMethod(HttpMethod.GET.toString()); + var response = handler.handleRequest(request, new MockLambdaContext()); + + assertEquals(HttpStatus.NOT_FOUND.getCode(), response.getStatusCode()); + } +}