aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoeze <Hoeze@users.noreply.github.com>2015-10-21 18:56:48 +0200
committerHoeze <Hoeze@users.noreply.github.com>2015-10-21 18:56:48 +0200
commit4c3db1479b17ae004301a6214e9adb88040fefc4 (patch)
treef312653532fc64a40fb496260e7a7c9e723ff10a
parent1ea2389061205bf7872a02794f652616ab204a41 (diff)
downloadnanohttpd-4c3db1479b17ae004301a6214e9adb88040fefc4.tar.gz
Added more tests; all coverage checks are met now.
-rw-r--r--core/src/main/java/fi/iki/elonen/NanoHTTPD.java33
-rw-r--r--core/src/test/java/fi/iki/elonen/ServerSocketFactoryTest.java27
2 files changed, 38 insertions, 22 deletions
diff --git a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
index 2f3c665..530ba94 100644
--- a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
+++ b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
@@ -481,13 +481,8 @@ public abstract class NanoHTTPD {
public static class DefaultServerSocketFactory implements ServerSocketFactory {
@Override
- public ServerSocket create() {
- try {
- return new ServerSocket();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
+ public ServerSocket create() throws IOException {
+ return new ServerSocket();
}
}
@@ -507,21 +502,17 @@ public abstract class NanoHTTPD {
}
@Override
- public ServerSocket create() {
+ public ServerSocket create() throws IOException {
SSLServerSocket ss = null;
- try {
- ss = (SSLServerSocket) this.sslServerSocketFactory.createServerSocket();
- if (this.sslProtocols != null) {
- ss.setEnabledProtocols(this.sslProtocols);
- } else {
- ss.setEnabledProtocols(ss.getSupportedProtocols());
- }
- ss.setUseClientMode(false);
- ss.setWantClientAuth(false);
- ss.setNeedClientAuth(false);
- } catch (IOException e) {
- e.printStackTrace();
+ ss = (SSLServerSocket) this.sslServerSocketFactory.createServerSocket();
+ if (this.sslProtocols != null) {
+ ss.setEnabledProtocols(this.sslProtocols);
+ } else {
+ ss.setEnabledProtocols(ss.getSupportedProtocols());
}
+ ss.setUseClientMode(false);
+ ss.setWantClientAuth(false);
+ ss.setNeedClientAuth(false);
return ss;
}
@@ -1621,7 +1612,7 @@ public abstract class NanoHTTPD {
*/
public interface ServerSocketFactory {
- public ServerSocket create();
+ public ServerSocket create() throws IOException;
}
diff --git a/core/src/test/java/fi/iki/elonen/ServerSocketFactoryTest.java b/core/src/test/java/fi/iki/elonen/ServerSocketFactoryTest.java
index beca284..17112ef 100644
--- a/core/src/test/java/fi/iki/elonen/ServerSocketFactoryTest.java
+++ b/core/src/test/java/fi/iki/elonen/ServerSocketFactoryTest.java
@@ -1,5 +1,7 @@
package fi.iki.elonen;
+import java.io.File;
+
/*
* #%L
* NanoHttpd-Core
@@ -39,6 +41,9 @@ import java.net.ServerSocket;
import org.junit.Assert;
import org.junit.Test;
+import fi.iki.elonen.HttpServerTest.TestServer;
+import fi.iki.elonen.NanoHTTPD.SecureServerSocketFactory;
+
public class ServerSocketFactoryTest extends NanoHTTPD {
public static final int PORT = 8192;
@@ -58,10 +63,30 @@ public class ServerSocketFactoryTest extends NanoHTTPD {
@Test
public void testCreateServerSocket() {
System.out.println("CreateServerSocket test");
- ServerSocket ss = this.getServerSocketFactory().create();
+ ServerSocket ss = null;
+ try {
+ ss = this.getServerSocketFactory().create();
+ } catch (IOException e) {
+ }
Assert.assertTrue(ss != null);
}
+ @Test
+ public void testSSLServerSocketFail() {
+ String[] protocols = {
+ ""
+ };
+ System.setProperty("javax.net.ssl.trustStore", new File("src/test/resources/keystore.jks").getAbsolutePath());
+ ServerSocketFactory ssFactory = new SecureServerSocketFactory(null, protocols);
+ ServerSocket ss = null;
+ try {
+ ss = ssFactory.create();
+ } catch (Exception e) {
+ }
+ Assert.assertTrue(ss == null);
+
+ }
+
private class TestFactory implements ServerSocketFactory {
@Override