OLD | NEW |
---|---|
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 static org.chromium.base.CollectionUtil.newHashSet; | 7 import static org.chromium.base.CollectionUtil.newHashSet; |
8 | 8 |
9 import android.test.suitebuilder.annotation.SmallTest; | 9 import android.test.suitebuilder.annotation.SmallTest; |
10 | 10 |
11 import org.chromium.base.test.util.Feature; | 11 import org.chromium.base.test.util.Feature; |
12 import org.chromium.net.CronetTestBase.OnlyRunNativeCronet; | 12 import org.chromium.net.CronetTestBase.OnlyRunNativeCronet; |
13 import org.chromium.net.MetricsTestUtil.TestExecutor; | |
14 import org.chromium.net.MetricsTestUtil.TestRequestFinishedListener; | 13 import org.chromium.net.MetricsTestUtil.TestRequestFinishedListener; |
xunjieli
2016/10/05 19:00:28
Any idea on why presubmit script gives the followi
mgersh
2016/10/05 19:36:47
I think this must have been a recent change to the
xunjieli
2016/10/06 03:51:47
Done. That's good to know. Thanks!
| |
15 import org.json.JSONObject; | 14 import org.json.JSONObject; |
16 | 15 |
17 import java.nio.ByteBuffer; | 16 import java.nio.ByteBuffer; |
18 import java.util.HashSet; | 17 import java.util.HashSet; |
19 | 18 |
20 /** | 19 /** |
21 * Tests functionality of BidirectionalStream's QUIC implementation. | 20 * Tests functionality of BidirectionalStream's QUIC implementation. |
22 */ | 21 */ |
23 public class BidirectionalStreamQuicTest extends CronetTestBase { | 22 public class BidirectionalStreamQuicTest extends CronetTestBase { |
24 private CronetTestFramework mTestFramework; | 23 private CronetTestFramework mTestFramework; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
87 public void testSimplePost() throws Exception { | 86 public void testSimplePost() throws Exception { |
88 setUp(QuicBidirectionalStreams.ENABLED); | 87 setUp(QuicBidirectionalStreams.ENABLED); |
89 String path = "/simple.txt"; | 88 String path = "/simple.txt"; |
90 String quicURL = QuicTestServer.getServerURL() + path; | 89 String quicURL = QuicTestServer.getServerURL() + path; |
91 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback(); | 90 TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCa llback(); |
92 // Although we have no way to verify data sent at this point, this test | 91 // Although we have no way to verify data sent at this point, this test |
93 // can make sure that onWriteCompleted is invoked appropriately. | 92 // can make sure that onWriteCompleted is invoked appropriately. |
94 callback.addWriteData("Test String".getBytes()); | 93 callback.addWriteData("Test String".getBytes()); |
95 callback.addWriteData("1234567890".getBytes()); | 94 callback.addWriteData("1234567890".getBytes()); |
96 callback.addWriteData("woot!".getBytes()); | 95 callback.addWriteData("woot!".getBytes()); |
97 TestExecutor testExecutor = new TestExecutor(); | 96 TestRequestFinishedListener requestFinishedListener = new TestRequestFin ishedListener(); |
98 TestRequestFinishedListener requestFinishedListener = | |
99 new TestRequestFinishedListener(testExecutor); | |
100 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); | 97 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); |
101 BidirectionalStream stream = new BidirectionalStream | 98 BidirectionalStream stream = new BidirectionalStream |
102 .Builder(quicURL, callback, callbac k.getExecutor(), | 99 .Builder(quicURL, callback, callbac k.getExecutor(), |
103 mTestFramework.mCronetEngin e) | 100 mTestFramework.mCronetEngin e) |
104 .addHeader("foo", "bar") | 101 .addHeader("foo", "bar") |
105 .addHeader("empty", "") | 102 .addHeader("empty", "") |
106 .addHeader("Content-Type", "zebra") | 103 .addHeader("Content-Type", "zebra") |
107 .addRequestAnnotation("request anno tation") | 104 .addRequestAnnotation("request anno tation") |
108 .addRequestAnnotation(this) | 105 .addRequestAnnotation(this) |
109 .build(); | 106 .build(); |
110 stream.start(); | 107 stream.start(); |
111 callback.blockForDone(); | 108 callback.blockForDone(); |
112 testExecutor.runAllTasks(); | |
113 assertTrue(stream.isDone()); | 109 assertTrue(stream.isDone()); |
110 requestFinishedListener.blockUntilDone(); | |
mgersh
2016/10/05 19:36:47
Can we also do some checks on the timing metrics h
xunjieli
2016/10/06 03:51:47
Done.
| |
114 RequestFinishedInfo finishedInfo = requestFinishedListener.getRequestInf o(); | 111 RequestFinishedInfo finishedInfo = requestFinishedListener.getRequestInf o(); |
115 assertNotNull("RequestFinishedInfo.Listener must be called", finishedInf o); | 112 assertNotNull("RequestFinishedInfo.Listener must be called", finishedInf o); |
116 assertEquals(quicURL, finishedInfo.getUrl()); | 113 assertEquals(quicURL, finishedInfo.getUrl()); |
117 assertEquals(newHashSet("request annotation", this), | 114 assertEquals(newHashSet("request annotation", this), |
118 new HashSet<Object>(finishedInfo.getAnnotations())); | 115 new HashSet<Object>(finishedInfo.getAnnotations())); |
119 assertNotNull(finishedInfo.getResponseInfo()); | 116 assertNotNull(finishedInfo.getResponseInfo()); |
120 // TODO(xunjieli): Check other fields once metrics support is in crbug.c om/648346. | 117 // TODO(xunjieli): Check other fields once metrics support is in crbug.c om/648346. |
121 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | 118 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
122 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString); | 119 assertEquals("This is a simple text file served by QUIC.\n", callback.mR esponseAsString); |
123 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol()); | 120 assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtoc ol()); |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
362 builder.enableQuic(true); | 359 builder.enableQuic(true); |
363 builder.setMockCertVerifierForTesting(QuicTestServer.createMockCertVerif ier()); | 360 builder.setMockCertVerifierForTesting(QuicTestServer.createMockCertVerif ier()); |
364 builder.setCertVerifierData(serialized_data); | 361 builder.setCertVerifierData(serialized_data); |
365 | 362 |
366 CronetTestFramework testFramework = | 363 CronetTestFramework testFramework = |
367 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, buil der); | 364 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, buil der); |
368 String deserialized_data = testFramework.mCronetEngine.getCertVerifierDa ta(100); | 365 String deserialized_data = testFramework.mCronetEngine.getCertVerifierDa ta(100); |
369 assertEquals(deserialized_data, serialized_data); | 366 assertEquals(deserialized_data, serialized_data); |
370 } | 367 } |
371 } | 368 } |
OLD | NEW |