Chromium Code Reviews| 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.impl.CronetMetrics; | |
| 12 import org.chromium.net.test.EmbeddedTestServer; | 13 import org.chromium.net.test.EmbeddedTestServer; |
| 13 | 14 |
| 14 import java.util.ArrayList; | 15 import java.util.ArrayList; |
| 16 import java.util.Date; | |
| 15 import java.util.HashSet; | 17 import java.util.HashSet; |
| 16 import java.util.LinkedList; | 18 import java.util.LinkedList; |
| 17 import java.util.List; | 19 import java.util.List; |
| 18 import java.util.NoSuchElementException; | 20 import java.util.NoSuchElementException; |
| 19 import java.util.concurrent.Executor; | 21 import java.util.concurrent.Executor; |
| 20 | 22 |
| 21 /** | 23 /** |
| 22 * Test RequestFinishedInfo.Listener and the metrics information it provides. | 24 * Test RequestFinishedInfo.Listener and the metrics information it provides. |
| 23 */ | 25 */ |
| 24 public class RequestFinishedInfoTest extends CronetTestBase { | 26 public class RequestFinishedInfoTest extends CronetTestBase { |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 252 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 254 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
| 253 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine); | 255 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine); |
| 254 urlRequestBuilder.build().start(); | 256 urlRequestBuilder.build().start(); |
| 255 callback.blockForDone(); | 257 callback.blockForDone(); |
| 256 testExecutor.runAllTasks(); | 258 testExecutor.runAllTasks(); |
| 257 | 259 |
| 258 assertNull("RequestFinishedInfo.Listener must not be called", | 260 assertNull("RequestFinishedInfo.Listener must not be called", |
| 259 requestFinishedListener.mRequestInfo); | 261 requestFinishedListener.mRequestInfo); |
| 260 mTestFramework.mCronetEngine.shutdown(); | 262 mTestFramework.mCronetEngine.shutdown(); |
| 261 } | 263 } |
| 264 | |
| 265 @SmallTest | |
| 266 @Feature({"Cronet"}) | |
| 267 public void testMetricsGetters() throws Exception { | |
| 268 long requestStart = 1; | |
| 269 long dnsStart = 0; | |
| 270 long dnsEnd = 3; | |
|
xunjieli
2016/09/05 23:24:17
Shouldn't this test case trigger an assertion?
Pas
mgersh
2016/09/07 22:09:58
Good point, that wouldn't make any sense if it wer
| |
| 271 long connectStart = 4; | |
| 272 long connectEnd = 5; | |
| 273 long sslStart = 6; | |
| 274 long sslEnd = 7; | |
| 275 long sendingStart = 8; | |
| 276 long sendingEnd = 9; | |
| 277 long pushStart = 10; | |
| 278 long pushEnd = 11; | |
| 279 long responseStart = 12; | |
| 280 long responseEnd = 13; | |
| 281 boolean socketReused = true; | |
| 282 long sentBytesCount = 14; | |
| 283 long receivedBytesCount = 15; | |
| 284 // Make sure nothing gets reordered inside the Metrics class | |
| 285 RequestFinishedInfo.Metrics metrics = new CronetMetrics(requestStart, dn sStart, dnsEnd, | |
| 286 connectStart, connectEnd, sslStart, sslEnd, sendingStart, sendin gEnd, pushStart, | |
| 287 pushEnd, responseStart, responseEnd, socketReused, sentBytesCoun t, | |
| 288 receivedBytesCount); | |
| 289 assertEquals(new Date(requestStart), metrics.getRequestStart()); | |
| 290 // 0 timestamp should translate to null, not 1/1/1970 | |
| 291 assertNull(metrics.getDnsStart()); | |
| 292 assertEquals(new Date(dnsEnd), metrics.getDnsEnd()); | |
| 293 assertEquals(new Date(connectStart), metrics.getConnectStart()); | |
| 294 assertEquals(new Date(connectEnd), metrics.getConnectEnd()); | |
| 295 assertEquals(new Date(sslStart), metrics.getSslStart()); | |
| 296 assertEquals(new Date(sslEnd), metrics.getSslEnd()); | |
| 297 assertEquals(new Date(pushStart), metrics.getPushStart()); | |
| 298 assertEquals(new Date(pushEnd), metrics.getPushEnd()); | |
| 299 assertEquals(new Date(responseStart), metrics.getResponseStart()); | |
| 300 assertEquals(new Date(responseEnd), metrics.getResponseEnd()); | |
| 301 assertEquals(socketReused, metrics.getSocketReused()); | |
| 302 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); | |
| 303 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount()) ; | |
| 304 } | |
| 262 } | 305 } |
| OLD | NEW |