aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorritchie <ritchie@gmx.at>2015-09-13 06:22:54 +0200
committerritchie <ritchie@gmx.at>2015-09-13 06:22:54 +0200
commitffabe5fa1bbf87cffbfbaaa3ed255fa23d273535 (patch)
tree58aa705a1bb56a8ca4a6c7d82fba65898ba8953e
parentcebdea5194b468d09fa78f69c4b234c9a7acb080 (diff)
downloadnanohttpd-ffabe5fa1bbf87cffbfbaaa3ed255fa23d273535.tar.gz
file upload refactorings and set minimal coverage per module #219 #216
-rw-r--r--core/pom.xml3
-rw-r--r--fileupload/.gitignore2
-rw-r--r--fileupload/pom.xml3
-rw-r--r--fileupload/src/main/java/fi/iki/elonen/NanoFileUpload.java3
-rw-r--r--fileupload/src/test/java/fi/iki/elonen/TestNanoFileUpLoad.java7
-rw-r--r--markdown-plugin/pom.xml3
-rw-r--r--nanolets/pom.xml3
-rw-r--r--pom.xml23
-rw-r--r--samples/pom.xml3
-rw-r--r--webserver/pom.xml3
-rw-r--r--websocket/pom.xml3
-rw-r--r--websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java12
-rw-r--r--websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java12
13 files changed, 64 insertions, 16 deletions
diff --git a/core/pom.xml b/core/pom.xml
index 24e36a3..2f8f36e 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -22,4 +22,7 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <properties>
+ <minimal.coverage>0.77</minimal.coverage>
+ </properties>
</project>
diff --git a/fileupload/.gitignore b/fileupload/.gitignore
new file mode 100644
index 0000000..868a6b2
--- /dev/null
+++ b/fileupload/.gitignore
@@ -0,0 +1,2 @@
+/.settings/
+/LICENSE.txt
diff --git a/fileupload/pom.xml b/fileupload/pom.xml
index 2ed65d3..ebd9e9e 100644
--- a/fileupload/pom.xml
+++ b/fileupload/pom.xml
@@ -40,4 +40,7 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <properties>
+ <minimal.coverage>0.1</minimal.coverage>
+ </properties>
</project> \ No newline at end of file
diff --git a/fileupload/src/main/java/fi/iki/elonen/NanoFileUpload.java b/fileupload/src/main/java/fi/iki/elonen/NanoFileUpload.java
index 6dd06d5..ec02d4a 100644
--- a/fileupload/src/main/java/fi/iki/elonen/NanoFileUpload.java
+++ b/fileupload/src/main/java/fi/iki/elonen/NanoFileUpload.java
@@ -99,9 +99,6 @@ public class NanoFileUpload extends FileUpload {
return session.getMethod() == POST && FileUploadBase.isMultipartContent(new NanoHttpdContext(session));
}
- public NanoFileUpload() {
- }
-
public NanoFileUpload(FileItemFactory fileItemFactory) {
super(fileItemFactory);
}
diff --git a/fileupload/src/test/java/fi/iki/elonen/TestNanoFileUpLoad.java b/fileupload/src/test/java/fi/iki/elonen/TestNanoFileUpLoad.java
index 558ab01..f0d72e2 100644
--- a/fileupload/src/test/java/fi/iki/elonen/TestNanoFileUpLoad.java
+++ b/fileupload/src/test/java/fi/iki/elonen/TestNanoFileUpLoad.java
@@ -61,6 +61,8 @@ import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
+import fi.iki.elonen.NanoHTTPD.Response.Status;
+
public class TestNanoFileUpLoad {
protected TestServer testServer;
@@ -87,8 +89,7 @@ public class TestNanoFileUpLoad {
public TestServer() {
super(8192);
- uploader = new NanoFileUpload();
- uploader.setFileItemFactory(new DiskFileItemFactory());
+ uploader = new NanoFileUpload(new DiskFileItemFactory());
}
public HTTPSession createSession(TempFileManager tempFileManager, InputStream inputStream, OutputStream outputStream) {
@@ -116,8 +117,8 @@ public class TestNanoFileUpLoad {
if (NanoFileUpload.isMultipartContent(session)) {
try {
files = uploader.parseParameterMap(session);
-
} catch (FileUploadException e) {
+ this.response.setStatus(Status.INTERNAL_ERROR);
e.printStackTrace();
}
}
diff --git a/markdown-plugin/pom.xml b/markdown-plugin/pom.xml
index e13b042..6b7ad7a 100644
--- a/markdown-plugin/pom.xml
+++ b/markdown-plugin/pom.xml
@@ -56,4 +56,7 @@
</plugin>
</plugins>
</build>
+ <properties>
+ <minimal.coverage>0.0</minimal.coverage>
+ </properties>
</project>
diff --git a/nanolets/pom.xml b/nanolets/pom.xml
index f6d3239..a190abb 100644
--- a/nanolets/pom.xml
+++ b/nanolets/pom.xml
@@ -22,4 +22,7 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <properties>
+ <minimal.coverage>0.98</minimal.coverage>
+ </properties>
</project>
diff --git a/pom.xml b/pom.xml
index 91d1397..7e9deea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -233,6 +233,26 @@
<goal>report</goal>
</goals>
</execution>
+ <execution>
+ <id>default-check</id>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <rule>
+ <element>BUNDLE</element>
+ <limits>
+ <limit>
+ <counter>LINE</counter>
+ <value>COVEREDRATIO</value>
+ <minimum>${minimal.coverage}</minimum>
+ </limit>
+ </limits>
+ </rule>
+ </rules>
+ </configuration>
+ </execution>
</executions>
</plugin>
</plugins>
@@ -475,4 +495,7 @@
</build>
</profile>
</profiles>
+ <properties>
+ <minimal.coverage>0.76</minimal.coverage>
+ </properties>
</project>
diff --git a/samples/pom.xml b/samples/pom.xml
index 620349c..af27870 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -20,4 +20,7 @@
<version>${project.version}</version>
</dependency>
</dependencies>
+ <properties>
+ <minimal.coverage>0.0</minimal.coverage>
+ </properties>
</project>
diff --git a/webserver/pom.xml b/webserver/pom.xml
index 45f726b..3ecfd72 100644
--- a/webserver/pom.xml
+++ b/webserver/pom.xml
@@ -49,4 +49,7 @@
</plugin>
</plugins>
</build>
+ <properties>
+ <minimal.coverage>0.74</minimal.coverage>
+ </properties>
</project>
diff --git a/websocket/pom.xml b/websocket/pom.xml
index 8c7aee4..9b7fd2c 100644
--- a/websocket/pom.xml
+++ b/websocket/pom.xml
@@ -62,4 +62,7 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <properties>
+ <minimal.coverage>0.67</minimal.coverage>
+ </properties>
</project>
diff --git a/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java b/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java
index e23abe2..73e5f67 100644
--- a/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java
+++ b/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java
@@ -96,13 +96,13 @@ public abstract class NanoWebSocketServer extends NanoHTTPD {
this.handshakeResponse.addHeader(NanoWebSocketServer.HEADER_CONNECTION, NanoWebSocketServer.HEADER_CONNECTION_VALUE);
}
- public void close(CloseCode code, String reason) throws IOException {
+ public void close(CloseCode code, String reason, boolean initiatedByRemote) throws IOException {
State oldState = this.state;
this.state = State.CLOSING;
if (oldState == State.OPEN) {
sendFrame(new CloseFrame(code, reason));
} else {
- doClose(code, reason, false);
+ doClose(code, reason, initiatedByRemote);
}
}
@@ -149,13 +149,7 @@ public abstract class NanoWebSocketServer extends NanoHTTPD {
// Answer for my requested close
doClose(code, reason, false);
} else {
- // Answer close request from other endpoint and close self
- State oldState = this.state;
- this.state = State.CLOSING;
- if (oldState == State.OPEN) {
- sendFrame(new CloseFrame(code, reason));
- }
- doClose(code, reason, true);
+ close(code, reason, true);
}
}
diff --git a/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java b/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java
index 6061023..e90ae71 100644
--- a/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java
+++ b/websocket/src/test/java/fi/iki/elonen/samples/echo/EchoWebSocketsTest.java
@@ -68,6 +68,8 @@ public class EchoWebSocketsTest {
SimpleEchoSocket socket = new SimpleEchoSocket();
socket.getToSendMessages().add("Hello");
socket.getToSendMessages().add("Thanks for the conversation.");
+ socket.getToSendMessages().add(createString(31000));
+ socket.getToSendMessages().add(createString(65400));
try {
client.start();
URI echoUri = new URI(destUri);
@@ -84,9 +86,17 @@ public class EchoWebSocketsTest {
e.printStackTrace();
}
}
- Assert.assertEquals(2, socket.getReceivedMessages().size());
+ Assert.assertEquals(4, socket.getReceivedMessages().size());
Assert.assertEquals("Hello", socket.getReceivedMessages().get(0));
Assert.assertEquals("Thanks for the conversation.", socket.getReceivedMessages().get(1));
}
+
+ private String createString(int i) {
+ StringBuilder builder = new StringBuilder();
+ while (builder.length() < i) {
+ builder.append("A very long text.");
+ }
+ return builder.toString();
+ }
}