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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 75 |
76 @SmallTest | 76 @SmallTest |
77 @OnlyRunNativeCronet | 77 @OnlyRunNativeCronet |
78 @Feature({"Cronet"}) | 78 @Feature({"Cronet"}) |
79 @SuppressWarnings("deprecation") | 79 @SuppressWarnings("deprecation") |
80 public void testRequestFinishedListener() throws Exception { | 80 public void testRequestFinishedListener() throws Exception { |
81 mTestFramework = startCronetTestFramework(); | 81 mTestFramework = startCronetTestFramework(); |
82 TestRequestFinishedListener requestFinishedListener = new TestRequestFin
ishedListener(); | 82 TestRequestFinishedListener requestFinishedListener = new TestRequestFin
ishedListener(); |
83 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 83 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
84 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 84 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
85 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 85 ExperimentalUrlRequest.Builder urlRequestBuilder = |
86 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 86 (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.ne
wUrlRequestBuilder( |
| 87 mUrl, callback, callback.getExecutor()); |
87 Date startTime = new Date(); | 88 Date startTime = new Date(); |
88 urlRequestBuilder.addRequestAnnotation("request annotation") | 89 urlRequestBuilder.addRequestAnnotation("request annotation") |
89 .addRequestAnnotation(this) | 90 .addRequestAnnotation(this) |
90 .build() | 91 .build() |
91 .start(); | 92 .start(); |
92 callback.blockForDone(); | 93 callback.blockForDone(); |
93 requestFinishedListener.blockUntilDone(); | 94 requestFinishedListener.blockUntilDone(); |
94 Date endTime = new Date(); | 95 Date endTime = new Date(); |
95 | 96 |
96 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); | 97 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); |
97 MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, e
ndTime); | 98 MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, e
ndTime); |
98 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso
n()); | 99 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso
n()); |
99 MetricsTestUtil.checkHasConnectTiming(requestInfo.getMetrics(), startTim
e, endTime, false); | 100 MetricsTestUtil.checkHasConnectTiming(requestInfo.getMetrics(), startTim
e, endTime, false); |
100 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 101 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
101 new HashSet<Object>(requestInfo.getAnnotations())); | 102 new HashSet<Object>(requestInfo.getAnnotations())); |
102 mTestFramework.mCronetEngine.shutdown(); | 103 mTestFramework.mCronetEngine.shutdown(); |
103 } | 104 } |
104 | 105 |
105 @SmallTest | 106 @SmallTest |
106 @OnlyRunNativeCronet | 107 @OnlyRunNativeCronet |
107 @Feature({"Cronet"}) | 108 @Feature({"Cronet"}) |
108 @SuppressWarnings("deprecation") | 109 @SuppressWarnings("deprecation") |
109 public void testRequestFinishedListenerDirectExecutor() throws Exception { | 110 public void testRequestFinishedListenerDirectExecutor() throws Exception { |
110 mTestFramework = startCronetTestFramework(); | 111 mTestFramework = startCronetTestFramework(); |
111 DirectExecutor testExecutor = new DirectExecutor(); | 112 DirectExecutor testExecutor = new DirectExecutor(); |
112 TestRequestFinishedListener requestFinishedListener = | 113 TestRequestFinishedListener requestFinishedListener = |
113 new TestRequestFinishedListener(testExecutor); | 114 new TestRequestFinishedListener(testExecutor); |
114 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 115 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
115 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 116 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
116 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 117 ExperimentalUrlRequest.Builder urlRequestBuilder = |
117 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 118 (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.ne
wUrlRequestBuilder( |
| 119 mUrl, callback, callback.getExecutor()); |
118 Date startTime = new Date(); | 120 Date startTime = new Date(); |
119 urlRequestBuilder.addRequestAnnotation("request annotation") | 121 urlRequestBuilder.addRequestAnnotation("request annotation") |
120 .addRequestAnnotation(this) | 122 .addRequestAnnotation(this) |
121 .build() | 123 .build() |
122 .start(); | 124 .start(); |
123 callback.blockForDone(); | 125 callback.blockForDone(); |
124 // Block on the executor, not the listener, since blocking on the listen
er doesn't work when | 126 // Block on the executor, not the listener, since blocking on the listen
er doesn't work when |
125 // it's created with a non-default executor. | 127 // it's created with a non-default executor. |
126 testExecutor.blockUntilDone(); | 128 testExecutor.blockUntilDone(); |
127 Date endTime = new Date(); | 129 Date endTime = new Date(); |
(...skipping 11 matching lines...) Expand all Loading... |
139 @OnlyRunNativeCronet | 141 @OnlyRunNativeCronet |
140 @Feature({"Cronet"}) | 142 @Feature({"Cronet"}) |
141 @SuppressWarnings("deprecation") | 143 @SuppressWarnings("deprecation") |
142 public void testRequestFinishedListenerDifferentThreads() throws Exception { | 144 public void testRequestFinishedListenerDifferentThreads() throws Exception { |
143 mTestFramework = startCronetTestFramework(); | 145 mTestFramework = startCronetTestFramework(); |
144 TestRequestFinishedListener firstListener = new TestRequestFinishedListe
ner(); | 146 TestRequestFinishedListener firstListener = new TestRequestFinishedListe
ner(); |
145 TestRequestFinishedListener secondListener = new TestRequestFinishedList
ener(); | 147 TestRequestFinishedListener secondListener = new TestRequestFinishedList
ener(); |
146 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener); | 148 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener); |
147 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener); | 149 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener); |
148 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 150 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
149 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 151 ExperimentalUrlRequest.Builder urlRequestBuilder = |
150 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 152 (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.ne
wUrlRequestBuilder( |
| 153 mUrl, callback, callback.getExecutor()); |
151 Date startTime = new Date(); | 154 Date startTime = new Date(); |
152 urlRequestBuilder.addRequestAnnotation("request annotation") | 155 urlRequestBuilder.addRequestAnnotation("request annotation") |
153 .addRequestAnnotation(this) | 156 .addRequestAnnotation(this) |
154 .build() | 157 .build() |
155 .start(); | 158 .start(); |
156 callback.blockForDone(); | 159 callback.blockForDone(); |
157 firstListener.blockUntilDone(); | 160 firstListener.blockUntilDone(); |
158 secondListener.blockUntilDone(); | 161 secondListener.blockUntilDone(); |
159 Date endTime = new Date(); | 162 Date endTime = new Date(); |
160 | 163 |
(...skipping 20 matching lines...) Expand all Loading... |
181 @SmallTest | 184 @SmallTest |
182 @OnlyRunNativeCronet | 185 @OnlyRunNativeCronet |
183 @Feature({"Cronet"}) | 186 @Feature({"Cronet"}) |
184 @SuppressWarnings("deprecation") | 187 @SuppressWarnings("deprecation") |
185 public void testRequestFinishedListenerFailedRequest() throws Exception { | 188 public void testRequestFinishedListenerFailedRequest() throws Exception { |
186 String connectionRefusedUrl = "http://127.0.0.1:3"; | 189 String connectionRefusedUrl = "http://127.0.0.1:3"; |
187 mTestFramework = startCronetTestFramework(); | 190 mTestFramework = startCronetTestFramework(); |
188 TestRequestFinishedListener requestFinishedListener = new TestRequestFin
ishedListener(); | 191 TestRequestFinishedListener requestFinishedListener = new TestRequestFin
ishedListener(); |
189 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 192 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
190 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 193 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
191 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(connection
RefusedUrl, | 194 UrlRequest.Builder urlRequestBuilder = mTestFramework.mCronetEngine.newU
rlRequestBuilder( |
192 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 195 connectionRefusedUrl, callback, callback.getExecutor()); |
193 Date startTime = new Date(); | 196 Date startTime = new Date(); |
194 urlRequestBuilder.build().start(); | 197 urlRequestBuilder.build().start(); |
195 callback.blockForDone(); | 198 callback.blockForDone(); |
196 assertTrue(callback.mOnErrorCalled); | 199 assertTrue(callback.mOnErrorCalled); |
197 requestFinishedListener.blockUntilDone(); | 200 requestFinishedListener.blockUntilDone(); |
198 Date endTime = new Date(); | 201 Date endTime = new Date(); |
199 | 202 |
200 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); | 203 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); |
201 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); | 204 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
202 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); | 205 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); |
(...skipping 30 matching lines...) Expand all Loading... |
233 @OnlyRunNativeCronet | 236 @OnlyRunNativeCronet |
234 @Feature({"Cronet"}) | 237 @Feature({"Cronet"}) |
235 @SuppressWarnings("deprecation") | 238 @SuppressWarnings("deprecation") |
236 public void testRequestFinishedListenerRemoved() throws Exception { | 239 public void testRequestFinishedListenerRemoved() throws Exception { |
237 mTestFramework = startCronetTestFramework(); | 240 mTestFramework = startCronetTestFramework(); |
238 TestExecutor testExecutor = new TestExecutor(); | 241 TestExecutor testExecutor = new TestExecutor(); |
239 TestRequestFinishedListener requestFinishedListener = | 242 TestRequestFinishedListener requestFinishedListener = |
240 new TestRequestFinishedListener(testExecutor); | 243 new TestRequestFinishedListener(testExecutor); |
241 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 244 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
242 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 245 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
243 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 246 UrlRequest.Builder urlRequestBuilder = mTestFramework.mCronetEngine.newU
rlRequestBuilder( |
244 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 247 mUrl, callback, callback.getExecutor()); |
245 UrlRequest request = urlRequestBuilder.build(); | 248 UrlRequest request = urlRequestBuilder.build(); |
246 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish
edListener); | 249 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish
edListener); |
247 request.start(); | 250 request.start(); |
248 callback.blockForDone(); | 251 callback.blockForDone(); |
249 testExecutor.runAllTasks(); | 252 testExecutor.runAllTasks(); |
250 | 253 |
251 assertNull("RequestFinishedInfo.Listener must not be called", | 254 assertNull("RequestFinishedInfo.Listener must not be called", |
252 requestFinishedListener.getRequestInfo()); | 255 requestFinishedListener.getRequestInfo()); |
253 mTestFramework.mCronetEngine.shutdown(); | 256 mTestFramework.mCronetEngine.shutdown(); |
254 } | 257 } |
255 | 258 |
256 @SmallTest | 259 @SmallTest |
257 @OnlyRunNativeCronet | 260 @OnlyRunNativeCronet |
258 @Feature({"Cronet"}) | 261 @Feature({"Cronet"}) |
259 public void testRequestFinishedListenerCanceledRequest() throws Exception { | 262 public void testRequestFinishedListenerCanceledRequest() throws Exception { |
260 mTestFramework = startCronetTestFramework(); | 263 mTestFramework = startCronetTestFramework(); |
261 TestRequestFinishedListener requestFinishedListener = new TestRequestFin
ishedListener(); | 264 TestRequestFinishedListener requestFinishedListener = new TestRequestFin
ishedListener(); |
262 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 265 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
263 TestUrlRequestCallback callback = new TestUrlRequestCallback() { | 266 TestUrlRequestCallback callback = new TestUrlRequestCallback() { |
264 @Override | 267 @Override |
265 public void onResponseStarted(UrlRequest request, UrlResponseInfo in
fo) { | 268 public void onResponseStarted(UrlRequest request, UrlResponseInfo in
fo) { |
266 super.onResponseStarted(request, info); | 269 super.onResponseStarted(request, info); |
267 request.cancel(); | 270 request.cancel(); |
268 } | 271 } |
269 }; | 272 }; |
270 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 273 ExperimentalUrlRequest.Builder urlRequestBuilder = |
271 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 274 mTestFramework.mCronetEngine.newUrlRequestBuilder( |
| 275 mUrl, callback, callback.getExecutor()); |
272 Date startTime = new Date(); | 276 Date startTime = new Date(); |
273 urlRequestBuilder.addRequestAnnotation("request annotation") | 277 urlRequestBuilder.addRequestAnnotation("request annotation") |
274 .addRequestAnnotation(this) | 278 .addRequestAnnotation(this) |
275 .build() | 279 .build() |
276 .start(); | 280 .start(); |
277 callback.blockForDone(); | 281 callback.blockForDone(); |
278 requestFinishedListener.blockUntilDone(); | 282 requestFinishedListener.blockUntilDone(); |
279 Date endTime = new Date(); | 283 Date endTime = new Date(); |
280 | 284 |
281 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); | 285 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo
(); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 assertEquals(new Date(sslEnd), metrics.getSslEnd()); | 326 assertEquals(new Date(sslEnd), metrics.getSslEnd()); |
323 assertEquals(new Date(pushStart), metrics.getPushStart()); | 327 assertEquals(new Date(pushStart), metrics.getPushStart()); |
324 assertEquals(new Date(pushEnd), metrics.getPushEnd()); | 328 assertEquals(new Date(pushEnd), metrics.getPushEnd()); |
325 assertEquals(new Date(responseStart), metrics.getResponseStart()); | 329 assertEquals(new Date(responseStart), metrics.getResponseStart()); |
326 assertEquals(new Date(requestEnd), metrics.getRequestEnd()); | 330 assertEquals(new Date(requestEnd), metrics.getRequestEnd()); |
327 assertEquals(socketReused, metrics.getSocketReused()); | 331 assertEquals(socketReused, metrics.getSocketReused()); |
328 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); | 332 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); |
329 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount())
; | 333 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount())
; |
330 } | 334 } |
331 } | 335 } |
OLD | NEW |