Index: components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java |
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java |
index 10557b5cbc65c07290ef90cd294c2c00e141911c..446c081cf5bc499b0510342b38bb13c2e80b6534 100644 |
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java |
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java |
@@ -75,6 +75,95 @@ public class BidirectionalStreamQuicTest extends CronetTestBase { |
@SmallTest |
@Feature({"Cronet"}) |
@OnlyRunNativeCronet |
+ public void testSimplePost() throws Exception { |
+ setUp(QuicBidirectionalStreams.ENABLED); |
+ String path = "/simple.txt"; |
+ String quicURL = QuicTestServer.getServerURL() + path; |
+ TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback(); |
+ // Although we have no way to verify data sent at this point, this test |
+ // can make sure that onWriteCompleted is invoked appropriately. |
+ callback.addWriteData("Test String".getBytes()); |
+ callback.addWriteData("1234567890".getBytes()); |
+ callback.addWriteData("woot!".getBytes()); |
+ BidirectionalStream stream = new BidirectionalStream |
+ .Builder(quicURL, callback, callback.getExecutor(), |
+ mTestFramework.mCronetEngine) |
+ .addHeader("foo", "bar") |
+ .addHeader("empty", "") |
+ .addHeader("Content-Type", "zebra") |
+ .build(); |
+ stream.start(); |
+ callback.blockForDone(); |
+ assertTrue(stream.isDone()); |
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
+ assertEquals("This is a simple text file served by QUIC.\n", callback.mResponseAsString); |
+ assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtocol()); |
+ } |
+ |
+ @SmallTest |
+ @Feature({"Cronet"}) |
+ @OnlyRunNativeCronet |
+ public void testSimplePostWithFlush() throws Exception { |
+ setUp(QuicBidirectionalStreams.ENABLED); |
+ String path = "/simple.txt"; |
+ String quicURL = QuicTestServer.getServerURL() + path; |
+ TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback(); |
+ // Although we have no way to verify data sent at this point, this test |
+ // can make sure that onWriteCompleted is invoked appropriately. |
+ callback.addWriteData("Test String".getBytes(), false); |
+ callback.addWriteData("1234567890".getBytes(), false); |
+ callback.addWriteData("woot!".getBytes(), true); |
+ BidirectionalStream stream = new BidirectionalStream |
+ .Builder(quicURL, callback, callback.getExecutor(), |
+ mTestFramework.mCronetEngine) |
+ .disableAutoFlush(true) |
+ .addHeader("foo", "bar") |
+ .addHeader("empty", "") |
+ .addHeader("Content-Type", "zebra") |
+ .build(); |
+ stream.start(); |
+ callback.blockForDone(); |
+ assertTrue(stream.isDone()); |
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
+ assertEquals("This is a simple text file served by QUIC.\n", callback.mResponseAsString); |
+ assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtocol()); |
+ } |
+ |
+ @SmallTest |
+ @Feature({"Cronet"}) |
+ @OnlyRunNativeCronet |
+ public void testSimplePostWithFlushTwice() throws Exception { |
+ setUp(QuicBidirectionalStreams.ENABLED); |
+ String path = "/simple.txt"; |
+ String quicURL = QuicTestServer.getServerURL() + path; |
+ TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback(); |
+ // Although we have no way to verify data sent at this point, this test |
+ // can make sure that onWriteCompleted is invoked appropriately. |
+ callback.addWriteData("Test String".getBytes(), false); |
+ callback.addWriteData("1234567890".getBytes(), false); |
+ callback.addWriteData("woot!".getBytes(), true); |
+ callback.addWriteData("Test String".getBytes(), false); |
+ callback.addWriteData("1234567890".getBytes(), false); |
+ callback.addWriteData("woot!".getBytes(), true); |
+ BidirectionalStream stream = new BidirectionalStream |
+ .Builder(quicURL, callback, callback.getExecutor(), |
+ mTestFramework.mCronetEngine) |
+ .disableAutoFlush(true) |
+ .addHeader("foo", "bar") |
+ .addHeader("empty", "") |
+ .addHeader("Content-Type", "zebra") |
+ .build(); |
+ stream.start(); |
+ callback.blockForDone(); |
+ assertTrue(stream.isDone()); |
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
+ assertEquals("This is a simple text file served by QUIC.\n", callback.mResponseAsString); |
+ assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtocol()); |
+ } |
+ |
+ @SmallTest |
+ @Feature({"Cronet"}) |
+ @OnlyRunNativeCronet |
public void testQuicBidirectionalStreamDisabled() throws Exception { |
setUp(QuicBidirectionalStreams.DISABLED); |
String path = "/simple.txt"; |