Skip to content

Commit

Permalink
remove helper class
Browse files Browse the repository at this point in the history
  • Loading branch information
mbfreder committed Oct 19, 2023
1 parent 5a0b1b3 commit a00d71f
Show file tree
Hide file tree
Showing 14 changed files with 364 additions and 699 deletions.

Large diffs are not rendered by default.

This file was deleted.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

import com.amazonaws.serverless.exceptions.InvalidRequestEventException;
import com.amazonaws.serverless.exceptions.InvalidResponseObjectException;
import com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequestHelper;
import com.amazonaws.serverless.proxy.model.ErrorModel;
import com.amazonaws.services.lambda.runtime.events.AwsProxyResponseEvent;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import static com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequest.getFirst;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
Expand Down Expand Up @@ -62,7 +62,7 @@ void typedHandle_InvalidRequestEventException_jsonContentTypeHeader() {

assertNotNull(resp);
assertTrue(resp.getMultiValueHeaders().containsKey(HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, AwsHttpServletRequestHelper.getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE)); //resp.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE)); //resp.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE));
}

@Test
Expand All @@ -89,7 +89,7 @@ void typedHandle_InvalidResponseObjectException_jsonContentTypeHeader() {

assertNotNull(resp);
assertTrue(resp.getMultiValueHeaders().containsKey(HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, AwsHttpServletRequestHelper.getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
}

@Test
Expand Down Expand Up @@ -127,7 +127,7 @@ void typedHandle_InternalServerErrorException_jsonContentTypeHeader() {

assertNotNull(resp);
assertTrue(resp.getMultiValueHeaders().containsKey(HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, AwsHttpServletRequestHelper.getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
}

@Test
Expand All @@ -138,7 +138,7 @@ void typedHandle_NullPointerException_responseObject()
assertNotNull(resp);
assertEquals(502, resp.getStatusCode());
assertTrue(resp.getMultiValueHeaders().containsKey(HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, AwsHttpServletRequestHelper.getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
String body = objectMapper.writeValueAsString(new ErrorModel(AwsProxyExceptionHandler.GATEWAY_TIMEOUT_ERROR));
assertEquals(body, resp.getBody());
}
Expand Down Expand Up @@ -181,7 +181,7 @@ void streamHandle_InvalidRequestEventException_jsonContentTypeHeader()
AwsProxyResponseEvent resp = objectMapper.readValue(new ByteArrayInputStream(respStream.toByteArray()), AwsProxyResponseEvent.class);
assertNotNull(resp);
assertTrue(resp.getMultiValueHeaders().containsKey(HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, AwsHttpServletRequestHelper.getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
}

@Test
Expand Down Expand Up @@ -222,7 +222,7 @@ void streamHandle_InvalidResponseObjectException_jsonContentTypeHeader()
AwsProxyResponseEvent resp = objectMapper.readValue(new ByteArrayInputStream(respStream.toByteArray()), AwsProxyResponseEvent.class);
assertNotNull(resp);
assertTrue(resp.getMultiValueHeaders().containsKey(HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, AwsHttpServletRequestHelper.getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
assertEquals(MediaType.APPLICATION_JSON, getFirst(resp.getMultiValueHeaders(), HttpHeaders.CONTENT_TYPE));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
package com.amazonaws.serverless.proxy.internal.testutils;

import com.amazonaws.serverless.proxy.internal.LambdaContainerHandler;
import com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequest;
import com.amazonaws.serverless.proxy.model.*;

import com.amazonaws.services.lambda.runtime.events.ApplicationLoadBalancerRequestEvent;
Expand Down Expand Up @@ -40,7 +41,7 @@
import java.nio.charset.StandardCharsets;
import java.util.*;

import static com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequestHelper.*;
import static com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequest.getFirst;


/**
Expand Down Expand Up @@ -330,23 +331,23 @@ public AwsProxyRequestBuilder cookie(String name, String value) {
}

cookies += (cookies.equals("")?"":"; ") + name + "=" + value;
putSingle(request.getMultiValueHeaders(), HttpHeaders.COOKIE, cookies);
AwsHttpServletRequest.putSingle(request.getMultiValueHeaders(), HttpHeaders.COOKIE, cookies);
return this;
}

public AwsProxyRequestBuilder scheme(String scheme) {
if (request.getMultiValueHeaders() == null) {
request.setMultiValueHeaders(new Headers());
}
putSingle(request.getMultiValueHeaders(),"CloudFront-Forwarded-Proto", scheme);
AwsHttpServletRequest.putSingle(request.getMultiValueHeaders(),"CloudFront-Forwarded-Proto", scheme);
return this;
}

public AwsProxyRequestBuilder serverName(String serverName) {
if (request.getMultiValueHeaders() == null) {
request.setMultiValueHeaders(new Headers());
}
putSingle(request.getMultiValueHeaders(), "Host", serverName);
AwsHttpServletRequest.putSingle(request.getMultiValueHeaders(), "Host", serverName);
return this;
}

Expand Down Expand Up @@ -379,7 +380,7 @@ public AwsProxyRequestBuilder basicAuth(String username, String password) {
// we remove the existing authorization strategy
request.getMultiValueHeaders().remove(HttpHeaders.AUTHORIZATION);
String authHeader = "Basic " + Base64.getMimeEncoder().encodeToString((username + ":" + password).getBytes(Charset.defaultCharset()));
List<String> values = findKey(request.getMultiValueHeaders(), HttpHeaders.AUTHORIZATION);
List<String> values = AwsHttpServletRequest.findKey(request.getMultiValueHeaders(), HttpHeaders.AUTHORIZATION);
values.add(authHeader);
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@


import com.amazonaws.serverless.proxy.internal.LambdaContainerHandler;
import com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequestHelper;
import com.amazonaws.serverless.proxy.internal.servlet.AwsServletContext;
import com.amazonaws.serverless.proxy.internal.testutils.AwsProxyRequestBuilder;
import com.amazonaws.serverless.proxy.internal.testutils.MockLambdaContext;
Expand Down Expand Up @@ -43,6 +42,7 @@
import java.util.Collection;
import java.util.UUID;

import static com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequest.getFirst;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
Expand Down Expand Up @@ -157,7 +157,7 @@ void headers_getHeaders_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateMapResponseModel(output);
}
Expand All @@ -172,7 +172,7 @@ void headers_servletRequest_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateMapResponseModel(output);
}
Expand All @@ -188,7 +188,7 @@ void headers_servletRequest_failedDependencyInjection_expectInternalServerError(
.build();

AwsProxyResponseEvent output = handlerWithoutRegisteredDependencies.proxy(request, lambdaContext);
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), output.getStatusCode());
}

Expand All @@ -211,7 +211,7 @@ void context_serverInfo_correctContext(String reqType) {
AwsProxyRequestBuilder request = getRequestBuilder("/echo/servlet-context", "GET");
AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateSingleValueModel(output, AwsServletContext.SERVER_INFO);
}
Expand All @@ -225,7 +225,7 @@ void requestScheme_valid_expectHttps(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateSingleValueModel(output, "https");
}
Expand All @@ -239,7 +239,7 @@ void requestFilter_injectsServletRequest_expectCustomAttribute(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateSingleValueModel(output, ServletRequestFilter.FILTER_ATTRIBUTE_VALUE);
}
Expand All @@ -255,7 +255,7 @@ void authorizer_securityContext_customPrincipalSuccess(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));
validateSingleValueModel(output, AUTHORIZER_PRINCIPAL_ID);
}

Expand All @@ -272,7 +272,7 @@ void authorizer_securityContext_customAuthorizerContextSuccess(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateSingleValueModel(output, CUSTOM_HEADER_VALUE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


import com.amazonaws.serverless.proxy.internal.LambdaContainerHandler;
import com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequestHelper;
import com.amazonaws.serverless.proxy.internal.testutils.AwsProxyRequestBuilder;
import com.amazonaws.serverless.proxy.internal.testutils.MockLambdaContext;
import com.amazonaws.serverless.proxy.jersey.model.MapResponseModel;
Expand Down Expand Up @@ -30,6 +29,7 @@
import java.util.Arrays;
import java.util.Collection;

import static com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequest.getFirst;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.fail;
Expand Down Expand Up @@ -136,7 +136,7 @@ void queryString_uriInfo_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateMapResponseModel(output, QUERY_STRING_KEY, QUERY_STRING_NON_ENCODED_VALUE);
}
Expand All @@ -151,7 +151,7 @@ void queryString_notEncoded_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateMapResponseModel(output, QUERY_STRING_KEY, QUERY_STRING_NON_ENCODED_VALUE);
}
Expand All @@ -167,7 +167,7 @@ void queryString_encoded_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type"));
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type"));

validateMapResponseModel(output, QUERY_STRING_KEY, QUERY_STRING_NON_ENCODED_VALUE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.amazonaws.serverless.exceptions.ContainerInitializationException;
import com.amazonaws.serverless.proxy.internal.LambdaContainerHandler;
import com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequestHelper;
import com.amazonaws.serverless.proxy.internal.servlet.AwsLambdaServletContainerHandler;
import com.amazonaws.serverless.proxy.internal.servlet.AwsServletRegistration;
import com.amazonaws.serverless.proxy.model.*;
Expand Down Expand Up @@ -41,6 +40,7 @@
import java.util.EnumSet;
import java.util.UUID;

import static com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequest.getFirst;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.assumeFalse;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
Expand Down Expand Up @@ -153,7 +153,7 @@ void headers_getHeaders_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
validateMapResponseModel(output);
}

Expand All @@ -167,7 +167,7 @@ void headers_servletRequest_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);

validateMapResponseModel(output);
}
Expand All @@ -182,7 +182,7 @@ void queryString_uriInfo_echo(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);

validateMapResponseModel(output);
}
Expand Down Expand Up @@ -263,7 +263,7 @@ void authorizer_securityContext_customPrincipalSuccess(String reqType) {

AwsProxyResponseEvent output = executeRequest(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("application/json", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals("application/json", getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);

validateSingleValueModel(output, AUTHORIZER_PRINCIPAL_ID);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.amazonaws.serverless.exceptions.ContainerInitializationException;
import com.amazonaws.serverless.proxy.internal.LambdaContainerHandler;
import com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequestHelper;
import com.amazonaws.serverless.proxy.internal.servlet.AwsServletContext;
import com.amazonaws.serverless.proxy.internal.testutils.AwsProxyRequestBuilder;
import com.amazonaws.serverless.proxy.internal.testutils.MockLambdaContext;
Expand All @@ -23,6 +22,7 @@

import java.util.EnumSet;

import static com.amazonaws.serverless.proxy.internal.servlet.AwsHttpServletRequest.getFirst;
import static org.junit.jupiter.api.Assertions.*;

// we don't use the spring annotations to pretend we are running in the actual container
Expand Down Expand Up @@ -58,7 +58,7 @@ void context_autowireValidContext_echoContext() {

AwsProxyResponseEvent output = handler.proxy(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("text/plain", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals("text/plain", getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals(STAGE, output.getBody());
}

Expand All @@ -71,7 +71,7 @@ void context_contextAware_contextEcho() {

AwsProxyResponseEvent output = handler.proxy(request, lambdaContext);
assertEquals(200, output.getStatusCode());
assertEquals("text/plain", AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals("text/plain", getFirst(output.getMultiValueHeaders(), "Content-Type").split(";")[0]);
assertEquals(STAGE, output.getBody());
}

Expand All @@ -86,7 +86,7 @@ void filter_customHeaderFilter_echoHeaders() {
assertNotNull(output.getMultiValueHeaders());
assertTrue(output.getMultiValueHeaders().size() > 0);
assertNotNull(output.getMultiValueHeaders().get(CustomHeaderFilter.HEADER_NAME));
assertEquals(CustomHeaderFilter.HEADER_VALUE, AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), CustomHeaderFilter.HEADER_NAME));
assertEquals(CustomHeaderFilter.HEADER_VALUE, getFirst(output.getMultiValueHeaders(), CustomHeaderFilter.HEADER_NAME));
}

@Test
Expand Down Expand Up @@ -128,8 +128,8 @@ void cookie_injectInResponse_expectCustomSetCookie() {
assertEquals(200, output.getStatusCode());
assertTrue(output.getMultiValueHeaders().containsKey(HttpHeaders.SET_COOKIE));

assertTrue(AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), HttpHeaders.SET_COOKIE).contains(ContextResource.COOKIE_NAME + "=" + ContextResource.COOKIE_VALUE));
assertTrue(AwsHttpServletRequestHelper.getFirst(output.getMultiValueHeaders(), HttpHeaders.SET_COOKIE).contains(ContextResource.COOKIE_DOMAIN));
assertTrue(getFirst(output.getMultiValueHeaders(), HttpHeaders.SET_COOKIE).contains(ContextResource.COOKIE_NAME + "=" + ContextResource.COOKIE_VALUE));
assertTrue(getFirst(output.getMultiValueHeaders(), HttpHeaders.SET_COOKIE).contains(ContextResource.COOKIE_DOMAIN));
}
}

Loading

0 comments on commit a00d71f

Please sign in to comment.