| 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 |