Chromium Code Reviews| Index: components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java |
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java |
| index 55bb669a4533d577e9cc1e6155183aa7dfe494fd..75e6c1617d1a17ff59a034301562e38e09a0b81d 100644 |
| --- a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java |
| +++ b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java |
| @@ -18,6 +18,7 @@ import java.io.File; |
| import java.io.FileInputStream; |
| import java.io.FileNotFoundException; |
| import java.io.IOException; |
| +import java.util.Date; |
| import java.util.HashMap; |
| import java.util.concurrent.Executors; |
| @@ -231,4 +232,43 @@ public class QuicTest extends CronetTestBase { |
| mTestFramework.mCronetEngine.shutdown(); |
| } |
| + |
| + @SmallTest |
| + @OnlyRunNativeCronet |
| + @Feature({"Cronet"}) |
| + public void testMetricsWithQuic() throws Exception { |
| + mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, mBuilder); |
| + RequestFinishedInfoTest.TestExecutor testExecutor = |
| + new RequestFinishedInfoTest.TestExecutor(); |
| + RequestFinishedInfoTest.TestRequestFinishedListener requestFinishedListener = |
| + new RequestFinishedInfoTest.TestRequestFinishedListener(testExecutor); |
| + mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedListener); |
| + |
| + String quicURL = QuicTestServer.getServerURL() + "/simple.txt"; |
| + TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| + |
| + UrlRequest.Builder requestBuilder = new UrlRequest.Builder( |
| + quicURL, callback, callback.getExecutor(), mTestFramework.mCronetEngine); |
| + Date startTime = new Date(); |
| + requestBuilder.build().start(); |
| + callback.blockForDone(); |
| + Date endTime = new Date(); |
| + testExecutor.runAllTasks(); |
| + |
| + assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
| + assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtocol()); |
| + |
| + RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; |
| + assertNotNull(requestInfo); |
| + RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
| + assertNotNull(metrics); |
| + |
| + RequestFinishedInfoTest.checkTimingMetrics(requestInfo.getMetrics(), startTime, endTime); |
| + assertNotNull(metrics.getSslStart()); |
| + assertTrue(metrics.getSslStart().after(startTime)); |
| + assertNotNull(metrics.getSslEnd()); |
| + assertTrue(metrics.getSslEnd().before(endTime)); |
|
xunjieli
2016/09/20 14:32:46
Suggest having util functions equivalent to "Expec
mgersh
2016/09/20 20:48:25
Done.
|
| + |
| + mTestFramework.mCronetEngine.shutdown(); |
| + } |
| } |