| 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.os.ConditionVariable; | 9 import android.os.ConditionVariable; |
| 10 import android.test.suitebuilder.annotation.SmallTest; | 10 import android.test.suitebuilder.annotation.SmallTest; |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); | 105 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
| 106 // Check old (deprecated) timing metrics | 106 // Check old (deprecated) timing metrics |
| 107 assertTrue(metrics.getTotalTimeMs() > 0); | 107 assertTrue(metrics.getTotalTimeMs() > 0); |
| 108 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); | 108 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); |
| 109 // Check new timing metrics | 109 // Check new timing metrics |
| 110 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); | 110 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); |
| 111 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); | 111 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); |
| 112 assertNull(metrics.getPushStart()); | 112 assertNull(metrics.getPushStart()); |
| 113 assertNull(metrics.getPushEnd()); | 113 assertNull(metrics.getPushEnd()); |
| 114 // Check data use metrics | 114 // Check data use metrics |
| 115 assertTrue(metrics.getSentBytesCount() > 0); |
| 115 assertTrue(metrics.getReceivedBytesCount() > 0); | 116 assertTrue(metrics.getReceivedBytesCount() > 0); |
| 116 mTestFramework.mCronetEngine.shutdown(); | 117 mTestFramework.mCronetEngine.shutdown(); |
| 117 } | 118 } |
| 118 | 119 |
| 119 @SmallTest | 120 @SmallTest |
| 120 @OnlyRunNativeCronet | 121 @OnlyRunNativeCronet |
| 121 @Feature({"Cronet"}) | 122 @Feature({"Cronet"}) |
| 122 @SuppressWarnings("deprecation") | 123 @SuppressWarnings("deprecation") |
| 123 public void testRequestFinishedListenerDirectExecutor() throws Exception { | 124 public void testRequestFinishedListenerDirectExecutor() throws Exception { |
| 124 mTestFramework = startCronetTestFramework(); | 125 mTestFramework = startCronetTestFramework(); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 147 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 148 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
| 148 new HashSet<Object>(requestInfo.getAnnotations())); | 149 new HashSet<Object>(requestInfo.getAnnotations())); |
| 149 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso
n()); | 150 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso
n()); |
| 150 assertNull(requestInfo.getException()); | 151 assertNull(requestInfo.getException()); |
| 151 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); | 152 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
| 152 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); | 153 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
| 153 assertTrue(metrics.getTotalTimeMs() > 0); | 154 assertTrue(metrics.getTotalTimeMs() > 0); |
| 154 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); | 155 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); |
| 155 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); | 156 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); |
| 156 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); | 157 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); |
| 158 assertTrue(metrics.getSentBytesCount() > 0); |
| 157 assertTrue(metrics.getReceivedBytesCount() > 0); | 159 assertTrue(metrics.getReceivedBytesCount() > 0); |
| 158 mTestFramework.mCronetEngine.shutdown(); | 160 mTestFramework.mCronetEngine.shutdown(); |
| 159 } | 161 } |
| 160 | 162 |
| 161 @SmallTest | 163 @SmallTest |
| 162 @OnlyRunNativeCronet | 164 @OnlyRunNativeCronet |
| 163 @Feature({"Cronet"}) | 165 @Feature({"Cronet"}) |
| 164 @SuppressWarnings("deprecation") | 166 @SuppressWarnings("deprecation") |
| 165 public void testRequestFinishedListenerDifferentThreads() throws Exception { | 167 public void testRequestFinishedListenerDifferentThreads() throws Exception { |
| 166 mTestFramework = startCronetTestFramework(); | 168 mTestFramework = startCronetTestFramework(); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 196 assertEquals(RequestFinishedInfo.SUCCEEDED, firstRequestInfo.getFinished
Reason()); | 198 assertEquals(RequestFinishedInfo.SUCCEEDED, firstRequestInfo.getFinished
Reason()); |
| 197 assertEquals(RequestFinishedInfo.SUCCEEDED, secondRequestInfo.getFinishe
dReason()); | 199 assertEquals(RequestFinishedInfo.SUCCEEDED, secondRequestInfo.getFinishe
dReason()); |
| 198 assertNull(firstRequestInfo.getException()); | 200 assertNull(firstRequestInfo.getException()); |
| 199 assertNull(secondRequestInfo.getException()); | 201 assertNull(secondRequestInfo.getException()); |
| 200 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics()
; | 202 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics()
; |
| 201 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first
Metrics); | 203 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first
Metrics); |
| 202 assertTrue(firstMetrics.getTotalTimeMs() > 0); | 204 assertTrue(firstMetrics.getTotalTimeMs() > 0); |
| 203 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); | 205 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); |
| 204 MetricsTestUtil.checkTimingMetrics(firstMetrics, startTime, endTime); | 206 MetricsTestUtil.checkTimingMetrics(firstMetrics, startTime, endTime); |
| 205 MetricsTestUtil.checkHasConnectTiming(firstMetrics, startTime, endTime,
false); | 207 MetricsTestUtil.checkHasConnectTiming(firstMetrics, startTime, endTime,
false); |
| 208 assertTrue(firstMetrics.getSentBytesCount() > 0); |
| 206 assertTrue(firstMetrics.getReceivedBytesCount() > 0); | 209 assertTrue(firstMetrics.getReceivedBytesCount() > 0); |
| 207 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics
(); | 210 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics
(); |
| 208 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon
dMetrics); | 211 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon
dMetrics); |
| 209 assertTrue(secondMetrics.getTotalTimeMs() > 0); | 212 assertTrue(secondMetrics.getTotalTimeMs() > 0); |
| 210 assertTrue(secondMetrics.getTotalTimeMs() >= secondMetrics.getTtfbMs()); | 213 assertTrue(secondMetrics.getTotalTimeMs() >= secondMetrics.getTtfbMs()); |
| 211 MetricsTestUtil.checkTimingMetrics(secondMetrics, startTime, endTime); | 214 MetricsTestUtil.checkTimingMetrics(secondMetrics, startTime, endTime); |
| 212 MetricsTestUtil.checkHasConnectTiming(secondMetrics, startTime, endTime,
false); | 215 MetricsTestUtil.checkHasConnectTiming(secondMetrics, startTime, endTime,
false); |
| 216 assertTrue(secondMetrics.getSentBytesCount() > 0); |
| 213 assertTrue(secondMetrics.getReceivedBytesCount() > 0); | 217 assertTrue(secondMetrics.getReceivedBytesCount() > 0); |
| 214 mTestFramework.mCronetEngine.shutdown(); | 218 mTestFramework.mCronetEngine.shutdown(); |
| 215 } | 219 } |
| 216 | 220 |
| 217 @SmallTest | 221 @SmallTest |
| 218 @OnlyRunNativeCronet | 222 @OnlyRunNativeCronet |
| 219 @Feature({"Cronet"}) | 223 @Feature({"Cronet"}) |
| 220 @SuppressWarnings("deprecation") | 224 @SuppressWarnings("deprecation") |
| 221 public void testRequestFinishedListenerFailedRequest() throws Exception { | 225 public void testRequestFinishedListenerFailedRequest() throws Exception { |
| 222 String connectionRefusedUrl = "http://127.0.0.1:3"; | 226 String connectionRefusedUrl = "http://127.0.0.1:3"; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 253 || metrics.getRequestStart().equals(startTime)); | 257 || metrics.getRequestStart().equals(startTime)); |
| 254 MetricsTestUtil.checkNoConnectTiming(metrics); | 258 MetricsTestUtil.checkNoConnectTiming(metrics); |
| 255 assertNull(metrics.getSendingStart()); | 259 assertNull(metrics.getSendingStart()); |
| 256 assertNull(metrics.getSendingEnd()); | 260 assertNull(metrics.getSendingEnd()); |
| 257 assertNull(metrics.getResponseStart()); | 261 assertNull(metrics.getResponseStart()); |
| 258 assertNotNull(metrics.getResponseEnd()); | 262 assertNotNull(metrics.getResponseEnd()); |
| 259 assertTrue(metrics.getResponseEnd().before(endTime) | 263 assertTrue(metrics.getResponseEnd().before(endTime) |
| 260 || metrics.getResponseEnd().equals(endTime)); | 264 || metrics.getResponseEnd().equals(endTime)); |
| 261 // Entire request should take more than 0 ms | 265 // Entire request should take more than 0 ms |
| 262 assertTrue(metrics.getResponseEnd().getTime() - metrics.getRequestStart(
).getTime() > 0); | 266 assertTrue(metrics.getResponseEnd().getTime() - metrics.getRequestStart(
).getTime() > 0); |
| 263 | 267 assertTrue(metrics.getSentBytesCount() == 0); |
| 264 assertTrue(metrics.getReceivedBytesCount() == null || metrics.getReceive
dBytesCount() == 0); | 268 assertTrue(metrics.getReceivedBytesCount() == 0); |
| 265 mTestFramework.mCronetEngine.shutdown(); | 269 mTestFramework.mCronetEngine.shutdown(); |
| 266 } | 270 } |
| 267 | 271 |
| 268 @SmallTest | 272 @SmallTest |
| 269 @OnlyRunNativeCronet | 273 @OnlyRunNativeCronet |
| 270 @Feature({"Cronet"}) | 274 @Feature({"Cronet"}) |
| 271 @SuppressWarnings("deprecation") | 275 @SuppressWarnings("deprecation") |
| 272 public void testRequestFinishedListenerRemoved() throws Exception { | 276 public void testRequestFinishedListenerRemoved() throws Exception { |
| 273 mTestFramework = startCronetTestFramework(); | 277 mTestFramework = startCronetTestFramework(); |
| 274 TestExecutor testExecutor = new TestExecutor(); | 278 TestExecutor testExecutor = new TestExecutor(); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); | 328 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
| 325 // Check old (deprecated) timing metrics | 329 // Check old (deprecated) timing metrics |
| 326 assertTrue(metrics.getTotalTimeMs() > 0); | 330 assertTrue(metrics.getTotalTimeMs() > 0); |
| 327 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); | 331 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); |
| 328 // Check new timing metrics | 332 // Check new timing metrics |
| 329 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); | 333 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); |
| 330 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); | 334 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); |
| 331 assertNull(metrics.getPushStart()); | 335 assertNull(metrics.getPushStart()); |
| 332 assertNull(metrics.getPushEnd()); | 336 assertNull(metrics.getPushEnd()); |
| 333 // Check data use metrics | 337 // Check data use metrics |
| 338 assertTrue(metrics.getSentBytesCount() > 0); |
| 334 assertTrue(metrics.getReceivedBytesCount() > 0); | 339 assertTrue(metrics.getReceivedBytesCount() > 0); |
| 335 mTestFramework.mCronetEngine.shutdown(); | 340 mTestFramework.mCronetEngine.shutdown(); |
| 336 } | 341 } |
| 337 | 342 |
| 338 @SmallTest | 343 @SmallTest |
| 339 @Feature({"Cronet"}) | 344 @Feature({"Cronet"}) |
| 340 public void testMetricsGetters() throws Exception { | 345 public void testMetricsGetters() throws Exception { |
| 341 long requestStart = 1; | 346 long requestStart = 1; |
| 342 long dnsStart = 2; | 347 long dnsStart = 2; |
| 343 long dnsEnd = -1; | 348 long dnsEnd = -1; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 369 assertEquals(new Date(sslEnd), metrics.getSslEnd()); | 374 assertEquals(new Date(sslEnd), metrics.getSslEnd()); |
| 370 assertEquals(new Date(pushStart), metrics.getPushStart()); | 375 assertEquals(new Date(pushStart), metrics.getPushStart()); |
| 371 assertEquals(new Date(pushEnd), metrics.getPushEnd()); | 376 assertEquals(new Date(pushEnd), metrics.getPushEnd()); |
| 372 assertEquals(new Date(responseStart), metrics.getResponseStart()); | 377 assertEquals(new Date(responseStart), metrics.getResponseStart()); |
| 373 assertEquals(new Date(responseEnd), metrics.getResponseEnd()); | 378 assertEquals(new Date(responseEnd), metrics.getResponseEnd()); |
| 374 assertEquals(socketReused, metrics.getSocketReused()); | 379 assertEquals(socketReused, metrics.getSocketReused()); |
| 375 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); | 380 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); |
| 376 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount())
; | 381 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount())
; |
| 377 } | 382 } |
| 378 } | 383 } |
| OLD | NEW |