From cb02ba1e3ea6fa07edd2dd314887bf556d433fce Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Wed, 8 Mar 2023 13:41:59 +0000 Subject: [PATCH] Fix the RemoteAddressTest in the TCK by providing a resolved IP address (#1637) The test gets the IP address, and this is null if the InetAddress is unresolveable Co-authored-by: Sergio del Amo --- .../http/server/tck/lambda/LambdaServerUnderTest.java | 11 ++++++++++- .../MicronautLambdaHandlerHttpServerTestSuite.java | 1 - 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/LambdaServerUnderTest.java b/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/LambdaServerUnderTest.java index be849c28bd..df5cc795fc 100644 --- a/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/LambdaServerUnderTest.java +++ b/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/LambdaServerUnderTest.java @@ -2,6 +2,7 @@ import com.amazonaws.serverless.exceptions.ContainerInitializationException; import com.amazonaws.serverless.proxy.internal.testutils.MockLambdaContext; +import com.amazonaws.serverless.proxy.model.ApiGatewayRequestIdentity; import com.amazonaws.serverless.proxy.model.AwsProxyRequest; import com.amazonaws.serverless.proxy.model.AwsProxyRequestContext; import com.amazonaws.serverless.proxy.model.AwsProxyResponse; @@ -68,7 +69,15 @@ private AwsProxyRequest adaptRequest(HttpRequest request) throws Unsuppor AwsProxyRequest input = new AwsProxyRequest(); input.setHttpMethod(request.getMethodName()); input.setRequestContext(new AwsProxyRequestContext() { - + @Override + public ApiGatewayRequestIdentity getIdentity() { + return new ApiGatewayRequestIdentity() { + @Override + public String getSourceIp() { + return "127.0.0.1"; + } + }; + } }); input.setPath(request.getPath()); for (String headerName : request.getHeaders().names()) { diff --git a/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/tests/MicronautLambdaHandlerHttpServerTestSuite.java b/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/tests/MicronautLambdaHandlerHttpServerTestSuite.java index 90a4f307e4..bf93a2b86c 100644 --- a/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/tests/MicronautLambdaHandlerHttpServerTestSuite.java +++ b/test-suite-http-server-tck-function-aws-api-proxy/src/test/java/io/micronaut/http/server/tck/lambda/tests/MicronautLambdaHandlerHttpServerTestSuite.java @@ -9,7 +9,6 @@ @SelectPackages("io.micronaut.http.server.tck.tests") @SuiteDisplayName("HTTP Server TCK for Function AWS API Proxy") @ExcludeClassNamePatterns({ - "io.micronaut.http.server.tck.tests.RemoteAddressTest", // CaptureRemoteAddressFiter throws NPE getting the address "io.micronaut.http.server.tck.tests.filter.ClientRequestFilterTest", "|io.micronaut.http.server.tck.tests.ErrorHandlerTest", // 2 tests Fail as CORs headers are not added to the response after deserialization fails "io.micronaut.http.server.tck.tests.BodyTest", // Fails with a multi-value publisher as the body type