diff options
Diffstat (limited to 'core/src/test/java')
-rw-r--r-- | core/src/test/java/fi/iki/elonen/HttpServerTest.java | 5 | ||||
-rw-r--r-- | core/src/test/java/fi/iki/elonen/HttpSessionHeadersTest.java | 33 |
2 files changed, 38 insertions, 0 deletions
diff --git a/core/src/test/java/fi/iki/elonen/HttpServerTest.java b/core/src/test/java/fi/iki/elonen/HttpServerTest.java index 996f083..d9b99b3 100644 --- a/core/src/test/java/fi/iki/elonen/HttpServerTest.java +++ b/core/src/test/java/fi/iki/elonen/HttpServerTest.java @@ -5,6 +5,7 @@ import org.junit.Before; import org.junit.Test; import java.io.*; +import java.net.InetAddress; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -110,6 +111,10 @@ public class HttpServerTest { return new HTTPSession(tempFileManager, inputStream, outputStream); } + public HTTPSession createSession(TempFileManager tempFileManager, InputStream inputStream, OutputStream outputStream, InetAddress inetAddress) { + return new HTTPSession(tempFileManager, inputStream, outputStream, inetAddress); + } + @Override public Response serve(String uri, Method method, Map<String, String> header, Map<String, String> parms, Map<String, String> files) { this.uri = uri; diff --git a/core/src/test/java/fi/iki/elonen/HttpSessionHeadersTest.java b/core/src/test/java/fi/iki/elonen/HttpSessionHeadersTest.java new file mode 100644 index 0000000..75a0a49 --- /dev/null +++ b/core/src/test/java/fi/iki/elonen/HttpSessionHeadersTest.java @@ -0,0 +1,33 @@ +package fi.iki.elonen; + +import org.junit.Test; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.net.InetAddress; + +import static org.junit.Assert.assertEquals; + +public class HttpSessionHeadersTest extends HttpServerTest { + private static final String DUMMY_REQUEST_CONTENT = "dummy request content"; + private static final TestTempFileManager TEST_TEMP_FILE_MANAGER = new TestTempFileManager(); + + @Override + public void setUp() { + super.setUp(); + } + + @Test + public void testHeadersRemoteIp() throws Exception { + ByteArrayInputStream inputStream = new ByteArrayInputStream(DUMMY_REQUEST_CONTENT.getBytes()); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + String[] ipAddresses = { "127.0.0.1", "192.168.1.1", "192.30.252.129" }; + for(String ipAddress : ipAddresses) { + InetAddress inetAddress = InetAddress.getByName(ipAddress); + NanoHTTPD.HTTPSession session = testServer.createSession(TEST_TEMP_FILE_MANAGER, inputStream, outputStream, inetAddress); + assertEquals(ipAddress, session.getHeaders().get("remote-addr")); + assertEquals(ipAddress, session.getHeaders().get("http-client-ip")); + } + } + +} |