You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2021/03/05 13:03:02 UTC

[wicket] branch master updated: Cleanup code and updated tests for new getRemoteAddr behavior

This is an automated email from the ASF dual-hosted git repository.

papegaaij pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
     new a9adfe6  Cleanup code and updated tests for new getRemoteAddr behavior
a9adfe6 is described below

commit a9adfe62931c97dde55ccf21c4c91e1992aecf08
Author: Emond Papegaaij <em...@topicus.nl>
AuthorDate: Fri Mar 5 14:02:39 2021 +0100

    Cleanup code and updated tests for new getRemoteAddr behavior
---
 .../protocol/http/request/WebClientInfo.java       |  5 --
 .../protocol/http/request/WebClientInfoTest.java   | 64 +---------------------
 2 files changed, 2 insertions(+), 67 deletions(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
index d8e552c..dc3d2c4 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
@@ -16,18 +16,13 @@
  */
 package org.apache.wicket.protocol.http.request;
 
-import java.net.InetAddress;
-import java.net.UnknownHostException;
 import java.util.Locale;
 
-import javax.servlet.http.HttpServletRequest;
-
 import org.apache.wicket.core.request.ClientInfo;
 import org.apache.wicket.markup.html.pages.BrowserInfoPage;
 import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
index 2c01d91..02b0b10 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
@@ -25,9 +25,7 @@ import javax.servlet.http.HttpServletRequest;
 import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
 
 /**
  * Tests the WebClientInfo class
@@ -54,75 +52,17 @@ class WebClientInfoTest
 	}
 
 	/**
-	 * Test X-Forwarded-For ip address extraction.
-	 */
-	@Test
-	void testExtractFromXForwardedForHeader()
-	{
-		String expected = "127.0.0.1";
-		when(webRequest.getHeader("X-Forwarded-For")).thenReturn(expected);
-		WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent");
-		String actual = clientInfo.getRemoteAddr(requestCycleMock);
-		assertEquals(expected, actual);
-		Mockito.verifyNoInteractions(servletRequest);
-	}
-
-	/**
-	 * Test X-Forwarded-For ip address extraction with fallback when no ip is contained.
-	 *
-	 * Note mgrigorov: this test could fail in network setups where unknown addresses, like "blah",
-	 * will resolve to some DNS service saying "'blah' domain is free. Buy it."
-	 */
-	@Test
-	@Disabled
-	void testExtractFromContainerRequestUnknownXForwardedFor()
-	{
-		String expected = "10.17.37.8";
-		when(servletRequest.getRemoteAddr()).thenReturn(expected);
-		when(webRequest.getHeader("X-Forwarded-For")).thenReturn("unknown");
-		WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent");
-		String actual = clientInfo.getRemoteAddr(requestCycleMock);
-		assertEquals(expected, actual);
-	}
-
-	/**
 	 * Test default ip address extraction for container request.
 	 */
 	@Test
 	void testExtractFromContainerRequestNoXForwardedFor()
 	{
 		String expected = "10.17.37.8";
+		String invalid = "10.17.9.55";
 		when(servletRequest.getRemoteAddr()).thenReturn(expected);
+		when(webRequest.getHeader("X-Forwarded-For")).thenReturn(invalid);
 		WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent");
 		String actual = clientInfo.getRemoteAddr(requestCycleMock);
 		assertEquals(expected, actual);
 	}
-
-	/**
-	 * Test X-Forwarded-For ip address extraction when proxy chain is given.
-	 */
-	@Test
-	void testExtractFromXForwardedForHeaderChainedIps()
-	{
-		String expected = "10.17.37.156";
-		when(servletRequest.getRemoteAddr()).thenReturn("10.17.1.1");
-		when(webRequest.getHeader("X-Forwarded-For")).thenReturn(expected + ", 10.17.37.1");
-		WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent");
-		String actual = clientInfo.getRemoteAddr(requestCycleMock);
-		assertEquals(expected, actual);
-	}
-
-	/**
-	 * Test X-Forwarded-For ipv6 address extraction.
-	 */
-	@Test
-	void testExtractFromXForwardedForHeaderIPv6()
-	{
-		String expected = "2001:db8::1428:57";
-		when(webRequest.getHeader("X-Forwarded-For")).thenReturn("2001:db8::1428:57");
-		WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent");
-		String actual = clientInfo.getRemoteAddr(requestCycleMock);
-		assertEquals(expected, actual);
-	}
-
 }