Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(361)

Side by Side Diff: components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java

Issue 1856073002: Coalesce small buffers in net::BidirectionalStream (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Javadoc Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.net; 5 package org.chromium.net;
6 6
7 import android.test.suitebuilder.annotation.SmallTest; 7 import android.test.suitebuilder.annotation.SmallTest;
8 8
9 import org.chromium.base.test.util.Feature; 9 import org.chromium.base.test.util.Feature;
10 import org.chromium.net.CronetTestBase.OnlyRunNativeCronet; 10 import org.chromium.net.CronetTestBase.OnlyRunNativeCronet;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 callback.blockForDone(); 68 callback.blockForDone();
69 assertTrue(stream.isDone()); 69 assertTrue(stream.isDone());
70 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 70 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
71 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString); 71 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString);
72 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol()); 72 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol());
73 } 73 }
74 74
75 @SmallTest 75 @SmallTest
76 @Feature({"Cronet"}) 76 @Feature({"Cronet"})
77 @OnlyRunNativeCronet 77 @OnlyRunNativeCronet
78 public void testSimplePost() throws Exception {
79 setUp(QuicBidirectionalStreams.ENABLED);
80 String path = "/simple.txt";
81 String quicURL = QuicTestServer.getServerURL() + path;
82 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
83 // Although we have no way to verify data sent at this point, this test
84 // can make sure that onWriteCompleted is invoked appropriately.
85 callback.addWriteData("Test String".getBytes());
86 callback.addWriteData("1234567890".getBytes());
87 callback.addWriteData("woot!".getBytes());
88 BidirectionalStream stream = new BidirectionalStream
89 .Builder(quicURL, callback, callbac k.getExecutor(),
90 mTestFramework.mCronetEngin e)
91 .addHeader("foo", "bar")
92 .addHeader("empty", "")
93 .addHeader("Content-Type", "zebra")
94 .build();
95 stream.start();
96 callback.blockForDone();
97 assertTrue(stream.isDone());
98 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
99 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString);
100 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol());
101 }
102
103 @SmallTest
104 @Feature({"Cronet"})
105 @OnlyRunNativeCronet
106 public void testSimplePostWithFlush() throws Exception {
107 setUp(QuicBidirectionalStreams.ENABLED);
108 String path = "/simple.txt";
109 String quicURL = QuicTestServer.getServerURL() + path;
110 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
111 callback.setHandleFlush();
112 // Although we have no way to verify data sent at this point, this test
113 // can make sure that onWriteCompleted is invoked appropriately.
114 callback.addWriteData("Test String".getBytes(), false);
115 callback.addWriteData("1234567890".getBytes(), false);
116 callback.addWriteData("woot!".getBytes(), true);
117 BidirectionalStream stream = new BidirectionalStream
118 .Builder(quicURL, callback, callbac k.getExecutor(),
119 mTestFramework.mCronetEngin e)
120 .setDisableAutoFlush()
121 .addHeader("foo", "bar")
122 .addHeader("empty", "")
123 .addHeader("Content-Type", "zebra")
124 .build();
125 stream.start();
126 callback.blockForDone();
127 assertTrue(stream.isDone());
128 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
129 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString);
130 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol());
131 }
132
133 @SmallTest
134 @Feature({"Cronet"})
135 @OnlyRunNativeCronet
136 public void testSimplePostWithFlushTwice() throws Exception {
137 setUp(QuicBidirectionalStreams.ENABLED);
138 String path = "/simple.txt";
139 String quicURL = QuicTestServer.getServerURL() + path;
140 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
141 callback.setHandleFlush();
142 // Although we have no way to verify data sent at this point, this test
143 // can make sure that onWriteCompleted is invoked appropriately.
144 callback.addWriteData("Test String".getBytes(), false);
145 callback.addWriteData("1234567890".getBytes(), false);
146 callback.addWriteData("woot!".getBytes(), true);
147 callback.addWriteData("Test String".getBytes(), false);
148 callback.addWriteData("1234567890".getBytes(), false);
149 callback.addWriteData("woot!".getBytes(), true);
150 BidirectionalStream stream = new BidirectionalStream
151 .Builder(quicURL, callback, callbac k.getExecutor(),
152 mTestFramework.mCronetEngin e)
153 .setDisableAutoFlush()
154 .addHeader("foo", "bar")
155 .addHeader("empty", "")
156 .addHeader("Content-Type", "zebra")
157 .build();
158 stream.start();
159 callback.blockForDone();
160 assertTrue(stream.isDone());
161 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
162 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString);
163 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol());
164 }
165
166 @SmallTest
167 @Feature({"Cronet"})
168 @OnlyRunNativeCronet
78 public void testQuicBidirectionalStreamDisabled() throws Exception { 169 public void testQuicBidirectionalStreamDisabled() throws Exception {
79 setUp(QuicBidirectionalStreams.DISABLED); 170 setUp(QuicBidirectionalStreams.DISABLED);
80 String path = "/simple.txt"; 171 String path = "/simple.txt";
81 String quicURL = QuicTestServer.getServerURL() + path; 172 String quicURL = QuicTestServer.getServerURL() + path;
82 173
83 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback(); 174 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback();
84 BidirectionalStream stream = new BidirectionalStream 175 BidirectionalStream stream = new BidirectionalStream
85 .Builder(quicURL, callback, callbac k.getExecutor(), 176 .Builder(quicURL, callback, callbac k.getExecutor(),
86 mTestFramework.mCronetEngin e) 177 mTestFramework.mCronetEngin e)
87 .setHttpMethod("GET") 178 .setHttpMethod("GET")
88 .build(); 179 .build();
89 stream.start(); 180 stream.start();
90 callback.blockForDone(); 181 callback.blockForDone();
91 assertTrue(stream.isDone()); 182 assertTrue(stream.isDone());
92 assertTrue(callback.mOnErrorCalled); 183 assertTrue(callback.mOnErrorCalled);
93 assertNull(callback.mResponseInfo); 184 assertNull(callback.mResponseInfo);
94 } 185 }
95 } 186 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698