aboutsummaryrefslogtreecommitdiff
path: root/core/src/test/java
diff options
context:
space:
mode:
authorsynapticloop <contact@synapticloop.com>2013-10-18 11:28:13 +0100
committersynapticloop <contact@synapticloop.com>2013-10-18 11:28:13 +0100
commit7e4e4ae652c755faea626f1e2538d495f96e648e (patch)
tree2cf7592787f8ecf1194db9f5d565cafb0c693a48 /core/src/test/java
parent866241d4c51b84a7e4c000d76865f100b0878655 (diff)
downloadnanohttpd-7e4e4ae652c755faea626f1e2538d495f96e648e.tar.gz
Issue 69 added remote ip to session headers
Diffstat (limited to 'core/src/test/java')
-rw-r--r--core/src/test/java/fi/iki/elonen/HttpServerTest.java5
-rw-r--r--core/src/test/java/fi/iki/elonen/HttpSessionHeadersTest.java33
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"));
+ }
+ }
+
+}