Browse Source

Stop setting local port in HtmlUnitRequestBuilder

This commit picks up where commit a0baeae9cf left off.

Specifically, in order to align with the behavior of
AbstractMockHttpServletRequestBuilder, HtmlUnitRequestBuilder no longer
sets the local port in the MockHttpServletRequest.

See gh-35709
pull/34993/merge
Sam Brannen 1 month ago
parent
commit
e4f8ae0338
  1. 1
      spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilder.java
  2. 9
      spring-test/src/test/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilderTests.java

1
spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilder.java

@ -216,7 +216,6 @@ final class HtmlUnitRequestBuilder implements RequestBuilder, Mergeable {
} }
if (serverPort != -1) { if (serverPort != -1) {
request.setServerPort(serverPort); request.setServerPort(serverPort);
request.setLocalPort(serverPort);
} }
} }

9
spring-test/src/test/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilderTests.java

@ -897,11 +897,12 @@ public class HtmlUnitRequestBuilderTests {
private static void assertUrlAndPorts(HttpServletRequest request, String url, int serverPort, boolean secure) { private static void assertUrlAndPorts(HttpServletRequest request, String url, int serverPort, boolean secure) {
assertThat(request.getRequestURL()).asString().as("url").isEqualTo(url); assertThat(request.getRequestURL()).asString().as("url").isEqualTo(url);
assertThat(request.getServerPort()).as("server port").isEqualTo(serverPort); assertThat(request.getServerPort()).as("server port").isEqualTo(serverPort);
// In a mocked request, the local port is always the same as the server port. // Local port is always MockHttpServletRequest.DEFAULT_SERVER_PORT,
assertThat(request.getLocalPort()).as("local port").isEqualTo(serverPort); // since a mocked request does not influence the local port.
// Remote port is always 80 (MockHttpServletRequest.DEFAULT_SERVER_PORT), assertThat(request.getLocalPort()).as("local port").isEqualTo(MockHttpServletRequest.DEFAULT_SERVER_PORT);
// Remote port is always MockHttpServletRequest.DEFAULT_SERVER_PORT,
// since a mocked request does not influence the remote host, port, or address. // since a mocked request does not influence the remote host, port, or address.
assertThat(request.getRemotePort()).as("remote port").isEqualTo(80); assertThat(request.getRemotePort()).as("remote port").isEqualTo(MockHttpServletRequest.DEFAULT_SERVER_PORT);
if (secure) { if (secure) {
assertThat(request.isSecure()).as("secure").isTrue(); assertThat(request.isSecure()).as("secure").isTrue();

Loading…
Cancel
Save