aboutsummaryrefslogtreecommitdiff
path: root/nanolets/src/test/java/fi/iki/elonen
diff options
context:
space:
mode:
authorritchie <ritchie@gmx.at>2015-09-27 06:54:54 +0200
committerritchie <ritchie@gmx.at>2015-09-27 06:54:54 +0200
commit2681f5f9a272a86cd75271747f29c8a2d98039c4 (patch)
treeaa489c1bcf6004330ea8208a1c3f4b041a542881 /nanolets/src/test/java/fi/iki/elonen
parent6a95983865c086f44853880e0454eff813bb8b45 (diff)
downloadnanohttpd-2681f5f9a272a86cd75271747f29c8a2d98039c4.tar.gz
more unit tests also for the special cases #214 #216
Diffstat (limited to 'nanolets/src/test/java/fi/iki/elonen')
-rw-r--r--nanolets/src/test/java/fi/iki/elonen/router/AppNanolets.java15
-rw-r--r--nanolets/src/test/java/fi/iki/elonen/router/TestNanolets.java9
2 files changed, 23 insertions, 1 deletions
diff --git a/nanolets/src/test/java/fi/iki/elonen/router/AppNanolets.java b/nanolets/src/test/java/fi/iki/elonen/router/AppNanolets.java
index ad01303..2d96eb8 100644
--- a/nanolets/src/test/java/fi/iki/elonen/router/AppNanolets.java
+++ b/nanolets/src/test/java/fi/iki/elonen/router/AppNanolets.java
@@ -39,8 +39,10 @@ package fi.iki.elonen.router;
* Read the source. Everything is there.
*/
+import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
@@ -118,6 +120,17 @@ public class AppNanolets extends RouterNanoHTTPD {
}
+ static class StaticPageTestHandler extends StaticPageHandler {
+
+ @Override
+ protected BufferedInputStream fileToInputStream(File fileOrdirectory) throws IOException {
+ if (fileOrdirectory.getName().equals("exception.html")) {
+ throw new IOException("trigger something wrong");
+ }
+ return super.fileToInputStream(fileOrdirectory);
+ }
+ }
+
/**
* Create the server instance
*/
@@ -146,7 +159,7 @@ public class AppNanolets extends RouterNanoHTTPD {
addRoute("/toBeDeleted", String.class);
removeRoute("/toBeDeleted");
addRoute("/stream", StreamUrl.class);
- addRoute("/browse/(.)+", StaticPageHandler.class, new File("src/test/resources").getAbsoluteFile());
+ addRoute("/browse/(.)+", StaticPageTestHandler.class, new File("src/test/resources").getAbsoluteFile());
}
/**
diff --git a/nanolets/src/test/java/fi/iki/elonen/router/TestNanolets.java b/nanolets/src/test/java/fi/iki/elonen/router/TestNanolets.java
index 62d4f1b..7b1ae56 100644
--- a/nanolets/src/test/java/fi/iki/elonen/router/TestNanolets.java
+++ b/nanolets/src/test/java/fi/iki/elonen/router/TestNanolets.java
@@ -55,6 +55,7 @@ import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import fi.iki.elonen.NanoHTTPD;
import fi.iki.elonen.router.RouterNanoHTTPD.GeneralHandler;
import fi.iki.elonen.router.RouterNanoHTTPD.UriResource;
@@ -354,6 +355,14 @@ public class TestNanolets {
string = new String(readContents(entity), "UTF-8");
Assert.assertEquals("<html><body><h3>just an index page</h3></body></html>", string);
response.close();
+
+ httphead = new HttpTrace("http://localhost:9090/browse/exception.html");
+ response = httpclient.execute(httphead);
+ Assert.assertEquals(NanoHTTPD.Response.Status.REQUEST_TIMEOUT.getRequestStatus(), response.getStatusLine().getStatusCode());
+ entity = response.getEntity();
+ string = new String(readContents(entity), "UTF-8");
+ Assert.assertEquals("", string);
+ response.close();
}
@AfterClass