From 26dac667cb739d8c1e31cf7c1b20c4ad2ebe4231 Mon Sep 17 00:00:00 2001 From: tobixlea Date: Thu, 12 Feb 2026 14:52:40 -0800 Subject: [PATCH 1/5] improve HttpServletRequest for Springboot4 --- .../spring/AwsSpringHttpProcessingUtils.java | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java b/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java index 15984bc4..b2bac134 100644 --- a/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java +++ b/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java @@ -120,11 +120,33 @@ private static HttpServletRequest generateRequest1(String request, Context lambd SecurityContextWriter securityWriter, ObjectMapper mapper, ServletContext servletContext) { AwsProxyRequest v1Request = readValue(request, AwsProxyRequest.class, mapper); - // Use AWS container's servlet request instead of Spring Cloud Function's - AwsProxyHttpServletRequest httpServletRequest = new AwsProxyHttpServletRequest(v1Request, lambdaContext, securityWriter.writeSecurityContext(v1Request, lambdaContext)); - httpServletRequest.setServletContext(servletContext); - return httpServletRequest; + ServerlessHttpServletRequest httpRequest = new ServerlessHttpServletRequest(servletContext, v1Request.getHttpMethod(), v1Request.getPath()); + + populateQueryStringParametersV1(v1Request, httpRequest); + populateMultiValueQueryStringParametersV1(v1Request, httpRequest); + + if (v1Request.getMultiValueHeaders() != null) { + MultiValueMapAdapter headers = new MultiValueMapAdapter(v1Request.getMultiValueHeaders()); + httpRequest.setHeaders(headers); + } + populateContentAndContentType( + v1Request.getBody(), + v1Request.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE), + v1Request.isBase64Encoded(), + httpRequest + ); + if (v1Request.getRequestContext() != null) { + httpRequest.setAttribute(RequestReader.API_GATEWAY_CONTEXT_PROPERTY, v1Request.getRequestContext()); + httpRequest.setAttribute(RequestReader.ALB_CONTEXT_PROPERTY, v1Request.getRequestContext().getElb()); + } + httpRequest.setAttribute(RequestReader.API_GATEWAY_STAGE_VARS_PROPERTY, v1Request.getStageVariables()); + httpRequest.setAttribute(RequestReader.API_GATEWAY_EVENT_PROPERTY, v1Request); + httpRequest.setAttribute(RequestReader.LAMBDA_CONTEXT_PROPERTY, lambdaContext); + httpRequest.setAttribute(RequestReader.JAX_SECURITY_CONTEXT_PROPERTY, + securityWriter.writeSecurityContext(v1Request, lambdaContext)); + return httpRequest; } + From 7bdce8e49fc904b16cabd8831c6e32939014c224 Mon Sep 17 00:00:00 2001 From: tobixlea Date: Tue, 17 Feb 2026 13:10:56 -0800 Subject: [PATCH 2/5] add null check to generateRequest1 --- .../serverless/proxy/spring/AwsSpringHttpProcessingUtils.java | 4 +++- .../serverless/proxy/spring/AwsSpringHttpProcessingUtils.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/aws-serverless-java-container-springboot3/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java b/aws-serverless-java-container-springboot3/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java index 0f6270b3..c94de305 100644 --- a/aws-serverless-java-container-springboot3/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java +++ b/aws-serverless-java-container-springboot3/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java @@ -124,13 +124,15 @@ private static HttpServletRequest generateRequest1(String request, Context lambd populateQueryStringParametersV1(v1Request, httpRequest); populateMultiValueQueryStringParametersV1(v1Request, httpRequest); + String contentType = null; if (v1Request.getMultiValueHeaders() != null) { MultiValueMapAdapter headers = new MultiValueMapAdapter(v1Request.getMultiValueHeaders()); httpRequest.setHeaders(headers); + contentType = v1Request.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE); } populateContentAndContentType( v1Request.getBody(), - v1Request.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE), + contentType, v1Request.isBase64Encoded(), httpRequest ); diff --git a/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java b/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java index b2bac134..b2c05465 100644 --- a/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java +++ b/aws-serverless-java-container-springboot4/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java @@ -125,13 +125,15 @@ private static HttpServletRequest generateRequest1(String request, Context lambd populateQueryStringParametersV1(v1Request, httpRequest); populateMultiValueQueryStringParametersV1(v1Request, httpRequest); + String contentType = null; if (v1Request.getMultiValueHeaders() != null) { MultiValueMapAdapter headers = new MultiValueMapAdapter(v1Request.getMultiValueHeaders()); httpRequest.setHeaders(headers); + contentType = v1Request.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE); } populateContentAndContentType( v1Request.getBody(), - v1Request.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE), + contentType, v1Request.isBase64Encoded(), httpRequest ); From 87bda8f1fadb852c19c2a193169e6b4c5f723f03 Mon Sep 17 00:00:00 2001 From: tobixlea Date: Tue, 17 Feb 2026 14:56:54 -0800 Subject: [PATCH 3/5] add attribute and null tests to http process test in SB3/4 --- .../AwsSpringHttpProcessingUtilsTests.java | 45 +++++++++++++++++++ .../AwsSpringHttpProcessingUtilsTests.java | 45 +++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java b/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java index 94232cbf..60d7e906 100644 --- a/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java +++ b/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java @@ -4,6 +4,7 @@ import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collection; +import java.util.Map; import com.amazonaws.serverless.proxy.RequestReader; import com.amazonaws.serverless.proxy.model.AlbContext; @@ -218,6 +219,10 @@ public static Collection data() { return Arrays.asList(new String[]{API_GATEWAY_EVENT, API_GATEWAY_EVENT_V2, ALB_EVENT}); } + public static Collection v1Data() { + return Arrays.asList(new String[]{API_GATEWAY_EVENT, ALB_EVENT}); + } + @MethodSource("data") @ParameterizedTest public void validateHttpServletRequestGenerationWithInputStream(String jsonEvent) { @@ -268,6 +273,46 @@ public void validateRequestResponse(String jsonEvent) throws Exception { } } + + @MethodSource("v1Data") + @ParameterizedTest + public void validateLambdaContextAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.API_GATEWAY_EVENT_PROPERTY)); + } + + @MethodSource("v1Data") + @ParameterizedTest + public void validateSecurityContextAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.JAX_SECURITY_CONTEXT_PROPERTY)); + } + + @MethodSource("v1Data") + @ParameterizedTest + public void validateNullMultiValueHeaders(String jsonEvent) throws Exception { + Map event = mapper.readValue(jsonEvent, Map.class); + event.put("multiValueHeaders", null); + String modifiedEvent = mapper.writeValueAsString(event); + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(modifiedEvent, null, servletContext, mapper); + assertNotNull(request); + } + + @MethodSource("v1Data") + @ParameterizedTest + public void validateBase64EncodedBody(String jsonEvent) throws Exception { + String base64Body = java.util.Base64.getEncoder().encodeToString("test body".getBytes(StandardCharsets.UTF_8)); + Map event = mapper.readValue(jsonEvent, Map.class); + event.put("body", base64Body); + event.put("isBase64Encoded", true); + String modifiedEvent = mapper.writeValueAsString(event); + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(modifiedEvent, null, servletContext, mapper); + assertNotNull(request); + } @EnableAutoConfiguration @Configuration diff --git a/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java b/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java index b0271b7b..3ed34112 100644 --- a/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java +++ b/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java @@ -4,6 +4,7 @@ import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collection; +import java.util.Map; import com.amazonaws.serverless.proxy.RequestReader; import com.amazonaws.serverless.proxy.model.AlbContext; @@ -219,6 +220,10 @@ public static Collection data() { return Arrays.asList(new String[]{API_GATEWAY_EVENT, API_GATEWAY_EVENT_V2, ALB_EVENT}); } + public static Collection v1Data() { + return Arrays.asList(new String[]{API_GATEWAY_EVENT, ALB_EVENT}); + } + @MethodSource("data") @ParameterizedTest public void validateHttpServletRequestGenerationWithInputStream(String jsonEvent) { @@ -256,6 +261,46 @@ public void validateHttpServletRequestGenerationWithJson(String jsonEvent) { } + @MethodSource("v1Data") + @ParameterizedTest + public void validateLambdaContextAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.API_GATEWAY_EVENT_PROPERTY)); + } + + @MethodSource("v1Data") + @ParameterizedTest + public void validateSecurityContextAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.JAX_SECURITY_CONTEXT_PROPERTY)); + } + + @MethodSource("v1Data") + @ParameterizedTest + public void validateNullMultiValueHeaders(String jsonEvent) throws Exception { + Map event = mapper.readValue(jsonEvent, Map.class); + event.put("multiValueHeaders", null); + String modifiedEvent = mapper.writeValueAsString(event); + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(modifiedEvent, null, servletContext, mapper); + assertNotNull(request); + } + + @MethodSource("v1Data") + @ParameterizedTest + public void validateBase64EncodedBody(String jsonEvent) throws Exception { + String base64Body = java.util.Base64.getEncoder().encodeToString("test body".getBytes(StandardCharsets.UTF_8)); + Map event = mapper.readValue(jsonEvent, Map.class); + event.put("body", base64Body); + event.put("isBase64Encoded", true); + String modifiedEvent = mapper.writeValueAsString(event); + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(modifiedEvent, null, servletContext, mapper); + assertNotNull(request); + } + @EnableAutoConfiguration @Configuration @EnableWebSecurity From 1a699a178e2a4df23f5a358365f7f06fe642a102 Mon Sep 17 00:00:00 2001 From: tobixlea Date: Tue, 17 Feb 2026 15:27:40 -0800 Subject: [PATCH 4/5] add further testing for v2 requests --- .../AwsSpringHttpProcessingUtilsTests.java | 32 ++++++++++++- .../AwsSpringHttpProcessingUtilsTests.java | 47 ++++++++++++++++++- 2 files changed, 75 insertions(+), 4 deletions(-) diff --git a/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java b/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java index 60d7e906..066b616f 100644 --- a/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java +++ b/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java @@ -223,6 +223,10 @@ public static Collection v1Data() { return Arrays.asList(new String[]{API_GATEWAY_EVENT, ALB_EVENT}); } + public static Collection v2Data() { + return Arrays.asList(new String[]{API_GATEWAY_EVENT_V2}); + } + @MethodSource("data") @ParameterizedTest public void validateHttpServletRequestGenerationWithInputStream(String jsonEvent) { @@ -282,7 +286,7 @@ public void validateLambdaContextAttribute(String jsonEvent) { assertNotNull(request.getAttribute(RequestReader.API_GATEWAY_EVENT_PROPERTY)); } - @MethodSource("v1Data") + @MethodSource("data") @ParameterizedTest public void validateSecurityContextAttribute(String jsonEvent) { ServerlessServletContext servletContext = new ServerlessServletContext(); @@ -301,7 +305,7 @@ public void validateNullMultiValueHeaders(String jsonEvent) throws Exception { assertNotNull(request); } - @MethodSource("v1Data") + @MethodSource("data") @ParameterizedTest public void validateBase64EncodedBody(String jsonEvent) throws Exception { String base64Body = java.util.Base64.getEncoder().encodeToString("test body".getBytes(StandardCharsets.UTF_8)); @@ -313,6 +317,30 @@ public void validateBase64EncodedBody(String jsonEvent) throws Exception { HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(modifiedEvent, null, servletContext, mapper); assertNotNull(request); } + + @MethodSource("v2Data") + @ParameterizedTest + public void validateHttpApiContextAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_CONTEXT_PROPERTY)); + } + + @MethodSource("v2Data") + @ParameterizedTest + public void validateHttpApiStageVarsAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_STAGE_VARS_PROPERTY)); + } + + @MethodSource("v2Data") + @ParameterizedTest + public void validateHttpApiEventAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_EVENT_PROPERTY)); + } @EnableAutoConfiguration @Configuration diff --git a/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java b/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java index 3ed34112..f9215282 100644 --- a/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java +++ b/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java @@ -224,6 +224,10 @@ public static Collection v1Data() { return Arrays.asList(new String[]{API_GATEWAY_EVENT, ALB_EVENT}); } + public static Collection v2Data() { + return Arrays.asList(new String[]{API_GATEWAY_EVENT_V2}); + } + @MethodSource("data") @ParameterizedTest public void validateHttpServletRequestGenerationWithInputStream(String jsonEvent) { @@ -259,6 +263,21 @@ public void validateHttpServletRequestGenerationWithJson(String jsonEvent) { // spot check some headers assertRequest(request); } + + @MethodSource("data") + @ParameterizedTest + public void validateRequestResponse(String jsonEvent) throws Exception { + try (ConfigurableApplicationContext context = SpringApplication.run(EmptyApplication.class);) { + ServerlessMVC mvc = ServerlessMVC.INSTANCE((ServletWebServerApplicationContext) context); + AwsProxyHttpServletResponseWriter responseWriter = new AwsProxyHttpServletResponseWriter(); + AwsProxyResponse awsResponse = AwsSpringHttpProcessingUtils.processRequest( + AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, + mvc.getServletContext(), mapper), mvc, responseWriter); + assertEquals("hello", awsResponse.getBody()); + assertEquals(200, awsResponse.getStatusCode()); + } + + } @MethodSource("v1Data") @@ -269,7 +288,7 @@ public void validateLambdaContextAttribute(String jsonEvent) { assertNotNull(request.getAttribute(RequestReader.API_GATEWAY_EVENT_PROPERTY)); } - @MethodSource("v1Data") + @MethodSource("data") @ParameterizedTest public void validateSecurityContextAttribute(String jsonEvent) { ServerlessServletContext servletContext = new ServerlessServletContext(); @@ -288,7 +307,7 @@ public void validateNullMultiValueHeaders(String jsonEvent) throws Exception { assertNotNull(request); } - @MethodSource("v1Data") + @MethodSource("data") @ParameterizedTest public void validateBase64EncodedBody(String jsonEvent) throws Exception { String base64Body = java.util.Base64.getEncoder().encodeToString("test body".getBytes(StandardCharsets.UTF_8)); @@ -301,6 +320,30 @@ public void validateBase64EncodedBody(String jsonEvent) throws Exception { assertNotNull(request); } + @MethodSource("v2Data") + @ParameterizedTest + public void validateHttpApiContextAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_CONTEXT_PROPERTY)); + } + + @MethodSource("v2Data") + @ParameterizedTest + public void validateHttpApiStageVarsAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_STAGE_VARS_PROPERTY)); + } + + @MethodSource("v2Data") + @ParameterizedTest + public void validateHttpApiEventAttribute(String jsonEvent) { + ServerlessServletContext servletContext = new ServerlessServletContext(); + HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_EVENT_PROPERTY)); + } + @EnableAutoConfiguration @Configuration @EnableWebSecurity From 8b2db991ef5e99f0f61d86151157f0ed275bacfd Mon Sep 17 00:00:00 2001 From: tobixlea Date: Tue, 17 Feb 2026 15:34:16 -0800 Subject: [PATCH 5/5] combine v2 request tests into one test --- .../AwsSpringHttpProcessingUtilsTests.java | 18 ++---------------- .../AwsSpringHttpProcessingUtilsTests.java | 18 ++---------------- 2 files changed, 4 insertions(+), 32 deletions(-) diff --git a/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java b/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java index 066b616f..d09a4079 100644 --- a/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java +++ b/aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java @@ -324,22 +324,8 @@ public void validateHttpApiContextAttribute(String jsonEvent) { ServerlessServletContext servletContext = new ServerlessServletContext(); HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); assertNotNull(request.getAttribute(RequestReader.HTTP_API_CONTEXT_PROPERTY)); - } - - @MethodSource("v2Data") - @ParameterizedTest - public void validateHttpApiStageVarsAttribute(String jsonEvent) { - ServerlessServletContext servletContext = new ServerlessServletContext(); - HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); - assertNotNull(request.getAttribute(RequestReader.HTTP_API_STAGE_VARS_PROPERTY)); - } - - @MethodSource("v2Data") - @ParameterizedTest - public void validateHttpApiEventAttribute(String jsonEvent) { - ServerlessServletContext servletContext = new ServerlessServletContext(); - HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); - assertNotNull(request.getAttribute(RequestReader.HTTP_API_EVENT_PROPERTY)); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_STAGE_VARS_PROPERTY)); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_EVENT_PROPERTY)); } @EnableAutoConfiguration diff --git a/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java b/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java index f9215282..d02a4360 100644 --- a/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java +++ b/aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java @@ -326,22 +326,8 @@ public void validateHttpApiContextAttribute(String jsonEvent) { ServerlessServletContext servletContext = new ServerlessServletContext(); HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); assertNotNull(request.getAttribute(RequestReader.HTTP_API_CONTEXT_PROPERTY)); - } - - @MethodSource("v2Data") - @ParameterizedTest - public void validateHttpApiStageVarsAttribute(String jsonEvent) { - ServerlessServletContext servletContext = new ServerlessServletContext(); - HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); - assertNotNull(request.getAttribute(RequestReader.HTTP_API_STAGE_VARS_PROPERTY)); - } - - @MethodSource("v2Data") - @ParameterizedTest - public void validateHttpApiEventAttribute(String jsonEvent) { - ServerlessServletContext servletContext = new ServerlessServletContext(); - HttpServletRequest request = AwsSpringHttpProcessingUtils.generateHttpServletRequest(jsonEvent, null, servletContext, mapper); - assertNotNull(request.getAttribute(RequestReader.HTTP_API_EVENT_PROPERTY)); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_STAGE_VARS_PROPERTY)); + assertNotNull(request.getAttribute(RequestReader.HTTP_API_EVENT_PROPERTY)); } @EnableAutoConfiguration