From e2c8d3762fb1739193858553966474b82ec94791 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Thu, 11 Jun 2015 16:34:33 +0200 Subject: [PATCH] Fix tests for SPR-13090 --- .../resultmatchers/HeaderAssertionTests.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/spring-test/src/test/java/org/springframework/test/web/servlet/samples/standalone/resultmatchers/HeaderAssertionTests.java b/spring-test/src/test/java/org/springframework/test/web/servlet/samples/standalone/resultmatchers/HeaderAssertionTests.java index 5c46ab540a..95fb20e140 100644 --- a/spring-test/src/test/java/org/springframework/test/web/servlet/samples/standalone/resultmatchers/HeaderAssertionTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/servlet/samples/standalone/resultmatchers/HeaderAssertionTests.java @@ -34,6 +34,10 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*; +import java.text.SimpleDateFormat; +import java.util.Locale; +import java.util.TimeZone; + /** * Examples of expectations on response header values. * @@ -50,6 +54,10 @@ public class HeaderAssertionTests { private final long currentTime = System.currentTimeMillis(); + private String currentDate; + + private SimpleDateFormat dateFormat; + private MockMvc mockMvc; private PersonController personController; @@ -57,6 +65,9 @@ public class HeaderAssertionTests { @Before public void setup() { + this.dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); + this.dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); + this.currentDate = dateFormat.format(currentTime); this.personController = new PersonController(); this.personController.setStubTimestamp(currentTime); this.mockMvc = standaloneSetup(this.personController).build(); @@ -65,19 +76,19 @@ public class HeaderAssertionTests { @Test public void stringWithCorrectResponseHeaderValue() throws Exception { this.mockMvc.perform(get("/persons/1").header(IF_MODIFIED_SINCE, currentTime - (1000 * 60)))// - .andExpect(header().string(LAST_MODIFIED, String.valueOf(currentTime))); + .andExpect(header().string(LAST_MODIFIED, currentDate)); } @Test public void stringWithMatcherAndCorrectResponseHeaderValue() throws Exception { this.mockMvc.perform(get("/persons/1").header(IF_MODIFIED_SINCE, currentTime - (1000 * 60)))// - .andExpect(header().string(LAST_MODIFIED, equalTo(String.valueOf(currentTime)))); + .andExpect(header().string(LAST_MODIFIED, equalTo(currentDate))); } @Test public void longValueWithCorrectResponseHeaderValue() throws Exception { this.mockMvc.perform(get("/persons/1").header(IF_MODIFIED_SINCE, currentTime - (1000 * 60)))// - .andExpect(header().longValue(LAST_MODIFIED, currentTime)); + .andExpect(header().string(LAST_MODIFIED, currentDate)); } @Test @@ -129,21 +140,21 @@ public class HeaderAssertionTests { @Test public void stringWithIncorrectResponseHeaderValue() throws Exception { - long unexpected = currentTime + 1; - assertIncorrectResponseHeaderValue(header().string(LAST_MODIFIED, String.valueOf(unexpected)), unexpected); + long unexpected = currentTime + 1000; + assertIncorrectResponseHeaderValue(header().string(LAST_MODIFIED, dateFormat.format(unexpected)), unexpected); } @Test public void stringWithMatcherAndIncorrectResponseHeaderValue() throws Exception { - long unexpected = currentTime + 1; - assertIncorrectResponseHeaderValue(header().string(LAST_MODIFIED, equalTo(String.valueOf(unexpected))), + long unexpected = currentTime + 1000; + assertIncorrectResponseHeaderValue(header().string(LAST_MODIFIED, equalTo(dateFormat.format(unexpected))), unexpected); } @Test public void longValueWithIncorrectResponseHeaderValue() throws Exception { - long unexpected = currentTime + 1; - assertIncorrectResponseHeaderValue(header().longValue(LAST_MODIFIED, unexpected), unexpected); + long unexpected = currentTime + 1000; + assertIncorrectResponseHeaderValue(header().string(LAST_MODIFIED, dateFormat.format(unexpected)), unexpected); } private void assertIncorrectResponseHeaderValue(ResultMatcher resultMatcher, long unexpected) throws Exception { @@ -162,8 +173,8 @@ public class HeaderAssertionTests { // We don't use assertEquals() since we cannot control the formatting // produced by JUnit or Hamcrest. assertMessageContains(e, "Response header " + LAST_MODIFIED); - assertMessageContains(e, String.valueOf(unexpected)); - assertMessageContains(e, String.valueOf(currentTime)); + assertMessageContains(e, dateFormat.format(unexpected)); + assertMessageContains(e, currentDate); } }