diff options
Diffstat (limited to 'src/test/java/org/traccar/helper/IpRetrieverTest.java')
-rw-r--r-- | src/test/java/org/traccar/helper/IpRetrieverTest.java | 38 |
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)); + + } + +} |