MockHttpServletRequest.getRequestURL aligns with getServerName/Port

Issue: SPR-16138
This commit is contained in:
Juergen Hoeller
2017-11-05 16:11:21 +01:00
parent db050ac38c
commit 0edf4d6509
3 changed files with 60 additions and 33 deletions

View File

@@ -82,7 +82,7 @@ public class MockHttpServletRequestTests {
}
@Test
public void setContentAndGetContentAsByteArray() throws IOException {
public void setContentAndGetContentAsByteArray() {
byte[] bytes = "request body".getBytes();
request.setContent(bytes);
assertEquals(bytes.length, request.getContentLength());
@@ -152,9 +152,7 @@ public class MockHttpServletRequestTests {
assertEquals("UTF-8", request.getCharacterEncoding());
}
// SPR-12677
@Test
@Test // SPR-12677
public void setContentTypeHeaderWithMoreComplexCharsetSyntax() {
String contentType = "test/plain;charset=\"utf-8\";foo=\"charset=bar\";foocharset=bar;foo=bar";
request.addHeader("Content-Type", contentType);
@@ -182,7 +180,7 @@ public class MockHttpServletRequestTests {
}
@Test
public void httpHeaderNameCasingIsPreserved() throws Exception {
public void httpHeaderNameCasingIsPreserved() {
String headerName = "Header1";
request.addHeader(headerName, "value1");
Enumeration<String> requestHeaders = request.getHeaderNames();
@@ -402,6 +400,22 @@ public class MockHttpServletRequestTests {
assertEquals("http://localhost", requestURL.toString());
}
@Test // SPR-16138
public void getRequestURLWithHostHeader() {
String testServer = "test.server";
request.addHeader(HOST, testServer);
StringBuffer requestURL = request.getRequestURL();
assertEquals("http://" + testServer, requestURL.toString());
}
@Test // SPR-16138
public void getRequestURLWithHostHeaderAndPort() {
String testServer = "test.server:9999";
request.addHeader(HOST, testServer);
StringBuffer requestURL = request.getRequestURL();
assertEquals("http://" + testServer, requestURL.toString());
}
@Test
public void getRequestURLWithNullRequestUri() {
request.setRequestURI(null);
@@ -457,39 +471,39 @@ public class MockHttpServletRequestTests {
}
@Test
public void httpHeaderDate() throws Exception {
public void httpHeaderDate() {
Date date = new Date();
request.addHeader(IF_MODIFIED_SINCE, date);
assertEquals(date.getTime(), request.getDateHeader(IF_MODIFIED_SINCE));
}
@Test
public void httpHeaderTimestamp() throws Exception {
public void httpHeaderTimestamp() {
long timestamp = new Date().getTime();
request.addHeader(IF_MODIFIED_SINCE, timestamp);
assertEquals(timestamp, request.getDateHeader(IF_MODIFIED_SINCE));
}
@Test
public void httpHeaderRfcFormatedDate() throws Exception {
public void httpHeaderRfcFormatedDate() {
request.addHeader(IF_MODIFIED_SINCE, "Tue, 21 Jul 2015 10:00:00 GMT");
assertEquals(1437472800000L, request.getDateHeader(IF_MODIFIED_SINCE));
}
@Test
public void httpHeaderFirstVariantFormatedDate() throws Exception {
public void httpHeaderFirstVariantFormatedDate() {
request.addHeader(IF_MODIFIED_SINCE, "Tue, 21-Jul-15 10:00:00 GMT");
assertEquals(1437472800000L, request.getDateHeader(IF_MODIFIED_SINCE));
}
@Test
public void httpHeaderSecondVariantFormatedDate() throws Exception {
public void httpHeaderSecondVariantFormatedDate() {
request.addHeader(IF_MODIFIED_SINCE, "Tue Jul 21 10:00:00 2015");
assertEquals(1437472800000L, request.getDateHeader(IF_MODIFIED_SINCE));
}
@Test(expected = IllegalArgumentException.class)
public void httpHeaderFormatedDateError() throws Exception {
public void httpHeaderFormatedDateError() {
request.addHeader(IF_MODIFIED_SINCE, "This is not a date");
request.getDateHeader(IF_MODIFIED_SINCE);
}