Skip to content

Commit 4fcfb3a

Browse files
committed
+ tests for nullable query parameters
1 parent aad4409 commit 4fcfb3a

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

aws-serverless-java-container-core/src/test/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequestTest.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
import javax.ws.rs.core.HttpHeaders;
99
import javax.ws.rs.core.MediaType;
1010

11+
import java.util.Collections;
12+
import java.util.Enumeration;
13+
import java.util.List;
14+
1115
import static org.junit.Assert.*;
1216

1317
public class AwsProxyHttpServletRequestTest {
@@ -39,6 +43,16 @@ public class AwsProxyHttpServletRequestTest {
3943
private static final AwsProxyRequest REQUEST_MALFORMED_COOKIE = new AwsProxyRequestBuilder("/hello", "GET")
4044
.header(HttpHeaders.COOKIE, QUERY_STRING_NAME_VALUE).build();
4145

46+
private static final AwsProxyRequest REQUEST_NULL_QUERY_STRING;
47+
static {
48+
AwsProxyRequest awsProxyRequest = new AwsProxyRequestBuilder("/hello", "GET").build();
49+
awsProxyRequest.setQueryStringParameters(null);
50+
REQUEST_NULL_QUERY_STRING = awsProxyRequest;
51+
}
52+
53+
private static final AwsProxyRequest REQUEST_QUERY = new AwsProxyRequestBuilder("/hello", "POST")
54+
.queryString(FORM_PARAM_NAME, QUERY_STRING_NAME_VALUE).build();
55+
4256

4357
@Test
4458
public void headers_getHeader_validRequest() {
@@ -131,4 +145,36 @@ public void cookie_getCookies_emptyCookies() {
131145
assertNotNull(request.getCookies());
132146
assertEquals(0, request.getCookies().length);
133147
}
148+
149+
@Test
150+
public void queryParameters_getParameterMap_null() {
151+
HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_NULL_QUERY_STRING, null, null);
152+
assertNotNull(request);
153+
assertEquals(0, request.getParameterMap().size());
154+
}
155+
156+
@Test
157+
public void queryParameters_getParameterMap_nonNull() {
158+
HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_QUERY, null, null);
159+
assertNotNull(request);
160+
assertEquals(1, request.getParameterMap().size());
161+
assertEquals(QUERY_STRING_NAME_VALUE, request.getParameterMap().get(FORM_PARAM_NAME)[0]);
162+
}
163+
164+
@Test
165+
public void queryParameters_getParameterNames_null() {
166+
HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_NULL_QUERY_STRING, null, null);
167+
List<String> parameterNames = Collections.list(request.getParameterNames());
168+
assertNotNull(request);
169+
assertEquals(0, parameterNames.size());
170+
}
171+
172+
@Test
173+
public void queryParameters_getParameterNames_nonNull() {
174+
HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_QUERY, null, null);
175+
List<String> parameterNames = Collections.list(request.getParameterNames());
176+
assertNotNull(request);
177+
assertEquals(1, parameterNames.size());
178+
assertTrue(parameterNames.contains(FORM_PARAM_NAME));
179+
}
134180
}

0 commit comments

Comments
 (0)