diff options
author | mikaelpeltier <mikaelpeltier@google.com> | 2015-06-24 14:31:11 +0200 |
---|---|---|
committer | Mikael Peltier <mikaelpeltier@google.com> | 2015-06-24 14:59:36 +0000 |
commit | 04563874ddaac702d6c715eaa89c29b253f4c54e (patch) | |
tree | c305fa98670c3e80be494cc054a8e31b51bfe7f2 /simple/simple-http/src/test/java/org/simpleframework/http/core/AccumulatorTest.java | |
parent | f1828481ebcfee3bddc323fca178a4502a60ceef (diff) | |
download | toolchain_jack-04563874ddaac702d6c715eaa89c29b253f4c54e.zip toolchain_jack-04563874ddaac702d6c715eaa89c29b253f4c54e.tar.gz toolchain_jack-04563874ddaac702d6c715eaa89c29b253f4c54e.tar.bz2 |
Add simpleframework source files
Change-Id: I18d01df16de2868ca5458f79a88e6070b75db2c3
(cherry picked from commit 3e9f84cf7b22f6970eb8041ca38d12d75c6bb270)
Diffstat (limited to 'simple/simple-http/src/test/java/org/simpleframework/http/core/AccumulatorTest.java')
-rw-r--r-- | simple/simple-http/src/test/java/org/simpleframework/http/core/AccumulatorTest.java | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/simple/simple-http/src/test/java/org/simpleframework/http/core/AccumulatorTest.java b/simple/simple-http/src/test/java/org/simpleframework/http/core/AccumulatorTest.java new file mode 100644 index 0000000..70db4a3 --- /dev/null +++ b/simple/simple-http/src/test/java/org/simpleframework/http/core/AccumulatorTest.java @@ -0,0 +1,99 @@ +package org.simpleframework.http.core; + +import java.io.IOException; + +import junit.framework.TestCase; + +public class AccumulatorTest extends TestCase { + + public void testAccumulator() throws IOException { + MockChannel channel = new MockChannel(null); + MockObserver monitor = new MockObserver(); + MockRequest request = new MockRequest(); + MockResponse response = new MockResponse(); + Conversation support = new Conversation(request, response); + ResponseBuffer buffer = new ResponseBuffer(monitor, response, support, channel); + + byte[] content = { 'T', 'E', 'S', 'T' }; + + // Start a HTTP/1.1 conversation + request.setMajor(1); + request.setMinor(1); + + // Write to a zero capacity buffer + buffer.expand(0); + buffer.write(content, 0, content.length); + + assertEquals(response.getValue("Connection"), "keep-alive"); + assertEquals(response.getValue("Transfer-Encoding"), "chunked"); + assertEquals(response.getValue("Content-Length"), null); + assertEquals(response.getContentLength(), -1); + assertTrue(response.isCommitted()); + + channel = new MockChannel(null); + monitor = new MockObserver(); + request = new MockRequest(); + response = new MockResponse(); + support = new Conversation(request, response); + buffer = new ResponseBuffer(monitor, response, support, channel); + + // Start a HTTP/1.0 conversation + request.setMajor(1); + request.setMinor(0); + + // Write to a zero capacity buffer + buffer.expand(0); + buffer.write(content, 0, content.length); + + assertEquals(response.getValue("Connection"), "close"); + assertEquals(response.getValue("Transfer-Encoding"), null); + assertEquals(response.getValue("Content-Length"), null); + assertEquals(response.getContentLength(), -1); + assertTrue(response.isCommitted()); + + channel = new MockChannel(null); + monitor = new MockObserver(); + request = new MockRequest(); + response = new MockResponse(); + support = new Conversation(request, response); + buffer = new ResponseBuffer(monitor, response, support, channel); + + // Start a HTTP/1.1 conversation + request.setMajor(1); + request.setMinor(1); + + // Write to a large capacity buffer + buffer.expand(1024); + buffer.write(content, 0, content.length); + + assertEquals(response.getValue("Connection"), null); + assertEquals(response.getValue("Transfer-Encoding"), null); + assertEquals(response.getValue("Content-Length"), null); + assertEquals(response.getContentLength(), -1); + assertFalse(response.isCommitted()); + assertFalse(monitor.isReady()); + assertFalse(monitor.isClose()); + assertFalse(monitor.isError()); + + // Flush the buffer + buffer.close(); + + assertEquals(response.getValue("Connection"), "keep-alive"); + assertEquals(response.getValue("Transfer-Encoding"), null); + assertEquals(response.getValue("Content-Length"), "4"); + assertEquals(response.getContentLength(), 4); + assertTrue(response.isCommitted()); + assertTrue(monitor.isReady()); + assertFalse(monitor.isClose()); + assertFalse(monitor.isError()); + + boolean catchOverflow = false; + + try { + buffer.write(content, 0, content.length); + } catch(Exception e) { + catchOverflow = true; + } + assertTrue(catchOverflow); + } +} |