Skip to content

Commit 4f79a99

Browse files
committed
Added Spring unit tests for #122.
1 parent b6965bd commit 4f79a99

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
import javax.ws.rs.core.HttpHeaders;
2929
import javax.ws.rs.core.MediaType;
3030
import java.io.IOException;
31+
import java.time.ZonedDateTime;
32+
import java.time.format.DateTimeFormatter;
33+
import java.time.temporal.ChronoUnit;
3134
import java.util.UUID;
3235

3336
import static org.junit.Assert.*;
@@ -112,6 +115,36 @@ public void queryString_uriInfo_echo() {
112115
validateMapResponseModel(output);
113116
}
114117

118+
@Test
119+
public void dateHeader_notModified_expect304() {
120+
AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/last-modified", "GET")
121+
.json()
122+
.header(
123+
HttpHeaders.IF_MODIFIED_SINCE,
124+
DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now().minus(1, ChronoUnit.SECONDS))
125+
)
126+
.build();
127+
128+
AwsProxyResponse output = handler.proxy(request, lambdaContext);
129+
assertEquals(304, output.getStatusCode());
130+
assertEquals("", output.getBody());
131+
}
132+
133+
@Test
134+
public void dateHeader_notModified_expect200() {
135+
AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/last-modified", "GET")
136+
.json()
137+
.header(
138+
HttpHeaders.IF_MODIFIED_SINCE,
139+
DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now().minus(5, ChronoUnit.DAYS))
140+
)
141+
.build();
142+
143+
AwsProxyResponse output = handler.proxy(request, lambdaContext);
144+
assertEquals(200, output.getStatusCode());
145+
assertEquals(EchoResource.STRING_BODY, output.getBody());
146+
}
147+
115148
@Test
116149
public void authorizer_securityContext_customPrincipalSuccess() {
117150
AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/authorizer-principal", "GET")

aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import javax.servlet.http.HttpServletRequest;
1515

1616
import java.net.URI;
17+
import java.time.Instant;
18+
import java.time.temporal.ChronoUnit;
1719
import java.util.Enumeration;
1820
import java.util.Map;
1921
import java.util.Optional;
@@ -28,6 +30,7 @@
2830
@RequestMapping("/echo")
2931
public class EchoResource {
3032
public static final String TEST_GENERATE_URI = "test";
33+
public static final String STRING_BODY = "Hello";
3134

3235
@Autowired
3336
ServletContext servletContext;
@@ -149,4 +152,11 @@ public SingleValueModel echoGeneratedResourceLink() {
149152
return valueModel;
150153
}
151154

155+
@RequestMapping(path = "/last-modified", method = RequestMethod.GET)
156+
public ResponseEntity<String> echoLastModified() {
157+
return ResponseEntity
158+
.ok()
159+
.lastModified(Instant.now().minus(1, ChronoUnit.DAYS).toEpochMilli())
160+
.body(STRING_BODY);
161+
}
152162
}

0 commit comments

Comments
 (0)