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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 callback.blockForDone(); | 92 callback.blockForDone(); |
93 requestFinishedListener.blockUntilDone(); | 93 requestFinishedListener.blockUntilDone(); |
94 Date endTime = new Date(); | 94 Date endTime = new Date(); |
95 | 95 |
96 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); | 96 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); |
97 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); | 97 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
98 assertEquals(mUrl, requestInfo.getUrl()); | 98 assertEquals(mUrl, requestInfo.getUrl()); |
99 assertNotNull(requestInfo.getResponseInfo()); | 99 assertNotNull(requestInfo.getResponseInfo()); |
100 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 100 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
101 new HashSet<Object>(requestInfo.getAnnotations())); | 101 new HashSet<Object>(requestInfo.getAnnotations())); |
| 102 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso
n()); |
| 103 assertNull(requestInfo.getException()); |
102 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); | 104 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
103 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); | 105 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
104 // Check old (deprecated) timing metrics | 106 // Check old (deprecated) timing metrics |
105 assertTrue(metrics.getTotalTimeMs() > 0); | 107 assertTrue(metrics.getTotalTimeMs() > 0); |
106 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); | 108 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); |
107 // Check new timing metrics | 109 // Check new timing metrics |
108 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); | 110 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); |
109 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); | 111 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); |
110 assertNull(metrics.getPushStart()); | 112 assertNull(metrics.getPushStart()); |
111 assertNull(metrics.getPushEnd()); | 113 assertNull(metrics.getPushEnd()); |
(...skipping 25 matching lines...) Expand all Loading... |
137 // it's created with a non-default executor. | 139 // it's created with a non-default executor. |
138 testExecutor.blockUntilDone(); | 140 testExecutor.blockUntilDone(); |
139 Date endTime = new Date(); | 141 Date endTime = new Date(); |
140 | 142 |
141 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); | 143 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); |
142 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); | 144 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
143 assertEquals(mUrl, requestInfo.getUrl()); | 145 assertEquals(mUrl, requestInfo.getUrl()); |
144 assertNotNull(requestInfo.getResponseInfo()); | 146 assertNotNull(requestInfo.getResponseInfo()); |
145 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 147 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
146 new HashSet<Object>(requestInfo.getAnnotations())); | 148 new HashSet<Object>(requestInfo.getAnnotations())); |
| 149 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso
n()); |
| 150 assertNull(requestInfo.getException()); |
147 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); | 151 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
148 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); | 152 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
149 assertTrue(metrics.getTotalTimeMs() > 0); | 153 assertTrue(metrics.getTotalTimeMs() > 0); |
150 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); | 154 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); |
151 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); | 155 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); |
152 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); | 156 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false
); |
153 assertTrue(metrics.getReceivedBytesCount() > 0); | 157 assertTrue(metrics.getReceivedBytesCount() > 0); |
154 mTestFramework.mCronetEngine.shutdown(); | 158 mTestFramework.mCronetEngine.shutdown(); |
155 } | 159 } |
156 | 160 |
(...skipping 25 matching lines...) Expand all Loading... |
182 assertNotNull("First RequestFinishedInfo.Listener must be called", first
RequestInfo); | 186 assertNotNull("First RequestFinishedInfo.Listener must be called", first
RequestInfo); |
183 assertNotNull("Second RequestFinishedInfo.Listener must be called", seco
ndRequestInfo); | 187 assertNotNull("Second RequestFinishedInfo.Listener must be called", seco
ndRequestInfo); |
184 assertEquals(mUrl, firstRequestInfo.getUrl()); | 188 assertEquals(mUrl, firstRequestInfo.getUrl()); |
185 assertEquals(mUrl, secondRequestInfo.getUrl()); | 189 assertEquals(mUrl, secondRequestInfo.getUrl()); |
186 assertNotNull(firstRequestInfo.getResponseInfo()); | 190 assertNotNull(firstRequestInfo.getResponseInfo()); |
187 assertNotNull(secondRequestInfo.getResponseInfo()); | 191 assertNotNull(secondRequestInfo.getResponseInfo()); |
188 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 192 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
189 new HashSet<Object>(firstRequestInfo.getAnnotations())); | 193 new HashSet<Object>(firstRequestInfo.getAnnotations())); |
190 assertEquals(newHashSet("request annotation", this), | 194 assertEquals(newHashSet("request annotation", this), |
191 new HashSet<Object>(secondRequestInfo.getAnnotations())); | 195 new HashSet<Object>(secondRequestInfo.getAnnotations())); |
| 196 assertEquals(RequestFinishedInfo.SUCCEEDED, firstRequestInfo.getFinished
Reason()); |
| 197 assertEquals(RequestFinishedInfo.SUCCEEDED, secondRequestInfo.getFinishe
dReason()); |
| 198 assertNull(firstRequestInfo.getException()); |
| 199 assertNull(secondRequestInfo.getException()); |
192 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics()
; | 200 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics()
; |
193 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first
Metrics); | 201 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first
Metrics); |
194 assertTrue(firstMetrics.getTotalTimeMs() > 0); | 202 assertTrue(firstMetrics.getTotalTimeMs() > 0); |
195 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); | 203 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); |
196 MetricsTestUtil.checkTimingMetrics(firstMetrics, startTime, endTime); | 204 MetricsTestUtil.checkTimingMetrics(firstMetrics, startTime, endTime); |
197 MetricsTestUtil.checkHasConnectTiming(firstMetrics, startTime, endTime,
false); | 205 MetricsTestUtil.checkHasConnectTiming(firstMetrics, startTime, endTime,
false); |
198 assertTrue(firstMetrics.getReceivedBytesCount() > 0); | 206 assertTrue(firstMetrics.getReceivedBytesCount() > 0); |
199 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics
(); | 207 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics
(); |
200 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon
dMetrics); | 208 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon
dMetrics); |
201 assertTrue(secondMetrics.getTotalTimeMs() > 0); | 209 assertTrue(secondMetrics.getTotalTimeMs() > 0); |
(...skipping 20 matching lines...) Expand all Loading... |
222 urlRequestBuilder.build().start(); | 230 urlRequestBuilder.build().start(); |
223 callback.blockForDone(); | 231 callback.blockForDone(); |
224 assertTrue(callback.mOnErrorCalled); | 232 assertTrue(callback.mOnErrorCalled); |
225 requestFinishedListener.blockUntilDone(); | 233 requestFinishedListener.blockUntilDone(); |
226 Date endTime = new Date(); | 234 Date endTime = new Date(); |
227 | 235 |
228 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); | 236 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); |
229 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); | 237 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
230 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); | 238 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); |
231 assertTrue(requestInfo.getAnnotations().isEmpty()); | 239 assertTrue(requestInfo.getAnnotations().isEmpty()); |
| 240 assertEquals(RequestFinishedInfo.FAILED, requestInfo.getFinishedReason()
); |
| 241 assertNotNull(requestInfo.getException()); |
| 242 assertEquals(UrlRequestException.ERROR_CONNECTION_REFUSED, |
| 243 requestInfo.getException().getErrorCode()); |
232 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); | 244 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
233 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); | 245 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
234 // The failure is occasionally fast enough that time reported is 0, so j
ust check for null | 246 // The failure is occasionally fast enough that time reported is 0, so j
ust check for null |
235 assertNotNull(metrics.getTotalTimeMs()); | 247 assertNotNull(metrics.getTotalTimeMs()); |
236 assertNull(metrics.getTtfbMs()); | 248 assertNull(metrics.getTtfbMs()); |
237 | 249 |
238 // Check the timing metrics | 250 // Check the timing metrics |
239 assertNotNull(metrics.getRequestStart()); | 251 assertNotNull(metrics.getRequestStart()); |
240 assertTrue(metrics.getRequestStart().after(startTime) | 252 assertTrue(metrics.getRequestStart().after(startTime) |
241 || metrics.getRequestStart().equals(startTime)); | 253 || metrics.getRequestStart().equals(startTime)); |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 assertEquals(new Date(sslEnd), metrics.getSslEnd()); | 369 assertEquals(new Date(sslEnd), metrics.getSslEnd()); |
358 assertEquals(new Date(pushStart), metrics.getPushStart()); | 370 assertEquals(new Date(pushStart), metrics.getPushStart()); |
359 assertEquals(new Date(pushEnd), metrics.getPushEnd()); | 371 assertEquals(new Date(pushEnd), metrics.getPushEnd()); |
360 assertEquals(new Date(responseStart), metrics.getResponseStart()); | 372 assertEquals(new Date(responseStart), metrics.getResponseStart()); |
361 assertEquals(new Date(responseEnd), metrics.getResponseEnd()); | 373 assertEquals(new Date(responseEnd), metrics.getResponseEnd()); |
362 assertEquals(socketReused, metrics.getSocketReused()); | 374 assertEquals(socketReused, metrics.getSocketReused()); |
363 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); | 375 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); |
364 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount())
; | 376 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount())
; |
365 } | 377 } |
366 } | 378 } |
OLD | NEW |