aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/traccar/helper/IpRetrieverTest.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/java/org/traccar/helper/IpRetrieverTest.java b/src/test/java/org/traccar/helper/IpRetrieverTest.java
new file mode 100644
index 000000000..628b5dd63
--- /dev/null
+++ b/src/test/java/org/traccar/helper/IpRetrieverTest.java
@@ -0,0 +1,38 @@
+package org.traccar.helper;
+
+
+import org.junit.Before;
+import org.junit.Test;
+import org.springframework.mock.web.MockHttpServletRequest;
+
+import static org.junit.Assert.assertEquals;
+
+public class IpRetrieverTest {
+
+ private static final String NORMAL_IP_ADDRESS = "231.23.45.65";
+ private static final String GATEWAY_IP_ADDRESS = "147.120.1.5";
+ private static final String IP_ADDRESS_BEHIND_REVERSE_PROXY = "231.23.45.65, 10.20.10.33, 10.20.20.34";
+
+ private MockHttpServletRequest mockHttpServletRequest;
+
+ @Before
+ public void init(){
+ mockHttpServletRequest = new MockHttpServletRequest();
+ }
+
+ @Test
+ public void testIpBehindReverseProxy(){
+ mockHttpServletRequest.setRemoteAddr(GATEWAY_IP_ADDRESS);
+ mockHttpServletRequest.addHeader("X-FORWARDED-FOR",IP_ADDRESS_BEHIND_REVERSE_PROXY);
+
+ assertEquals(NORMAL_IP_ADDRESS, IpRetriever.retrieveIP(mockHttpServletRequest));
+ }
+
+ @Test
+ public void testNormalIp(){
+ mockHttpServletRequest.setRemoteAddr(NORMAL_IP_ADDRESS);
+ assertEquals(NORMAL_IP_ADDRESS, IpRetriever.retrieveIP(mockHttpServletRequest));
+
+ }
+
+}