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 = 2; |
| 270 long dnsEnd = -1; |
| 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 // -1 timestamp should translate to null |
| 291 assertNull(metrics.getDnsEnd()); |
| 292 assertEquals(new Date(dnsStart), metrics.getDnsStart()); |
| 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 |