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(); |
+ } |
} |