Index: components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java |
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java |
index 96f61ac0bc574c32e7fe6aec6e1422fc502528d0..63ea7fc69a05de048c068237a8a1ac1cf6ed2b2d 100644 |
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java |
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java |
@@ -84,6 +84,28 @@ public class BidirectionalStreamTest extends CronetTestBase { |
return urlResponseInfo; |
} |
+ private void runSimpleGetWithExpectedReceivedBytesCount(int expectedReceivedBytes) |
+ throws Exception { |
+ String url = Http2TestServer.getEchoMethodUrl(); |
+ TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback(); |
+ // Create stream. |
+ BidirectionalStream stream = new BidirectionalStream |
+ .Builder(url, callback, callback.getExecutor(), |
+ mTestFramework.mCronetEngine) |
+ .setHttpMethod("GET") |
+ .build(); |
+ stream.start(); |
+ callback.blockForDone(); |
+ assertTrue(stream.isDone()); |
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
+ // Default method is 'GET'. |
+ assertEquals("GET", callback.mResponseAsString); |
+ UrlResponseInfo urlResponseInfo = createUrlResponseInfo( |
+ new String[] {url}, "", 200, expectedReceivedBytes, ":status", "200"); |
+ assertResponseEquals(urlResponseInfo, callback.mResponseInfo); |
+ checkResponseInfo(callback.mResponseInfo, Http2TestServer.getEchoMethodUrl(), 200, ""); |
+ } |
+ |
@SmallTest |
@Feature({"Cronet"}) |
public void testBuilderChecks() throws Exception { |
@@ -163,24 +185,9 @@ public class BidirectionalStreamTest extends CronetTestBase { |
@Feature({"Cronet"}) |
@OnlyRunNativeCronet |
public void testSimpleGet() throws Exception { |
- String url = Http2TestServer.getEchoMethodUrl(); |
- TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback(); |
- // Create stream. |
- BidirectionalStream stream = new BidirectionalStream |
- .Builder(url, callback, callback.getExecutor(), |
- mTestFramework.mCronetEngine) |
- .setHttpMethod("GET") |
- .build(); |
- stream.start(); |
- callback.blockForDone(); |
- assertTrue(stream.isDone()); |
- assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
- // Default method is 'GET'. |
- assertEquals("GET", callback.mResponseAsString); |
- UrlResponseInfo urlResponseInfo = |
- createUrlResponseInfo(new String[] {url}, "", 200, 27, ":status", "200"); |
- assertResponseEquals(urlResponseInfo, callback.mResponseInfo); |
- checkResponseInfo(callback.mResponseInfo, Http2TestServer.getEchoMethodUrl(), 200, ""); |
+ // Since this is the first request on the connection, the expected received bytes count |
+ // must account for an HPACK dynamic table size update. |
+ runSimpleGetWithExpectedReceivedBytesCount(31); |
} |
@SmallTest |
@@ -201,7 +208,7 @@ public class BidirectionalStreamTest extends CronetTestBase { |
assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
assertEquals("HEAD", callback.mResponseAsString); |
UrlResponseInfo urlResponseInfo = |
- createUrlResponseInfo(new String[] {url}, "", 200, 28, ":status", "200"); |
+ createUrlResponseInfo(new String[] {url}, "", 200, 32, ":status", "200"); |
assertResponseEquals(urlResponseInfo, callback.mResponseInfo); |
checkResponseInfo(callback.mResponseInfo, Http2TestServer.getEchoMethodUrl(), 200, ""); |
} |
@@ -1073,7 +1080,10 @@ public class BidirectionalStreamTest extends CronetTestBase { |
// Make sure there are no other pending messages, which would trigger |
// asserts in TestBidirectionalCallback. |
- testSimpleGet(); |
+ // The expected received bytes count is lower than it would be for the first request on the |
+ // connection, because the server includes an HPACK dynamic table size update only in the |
+ // first response HEADERS frame. |
+ runSimpleGetWithExpectedReceivedBytesCount(27); |
} |
@SmallTest |