| 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 |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 @SmallTest | 100 @SmallTest |
| 101 @Feature({"Cronet"}) | 101 @Feature({"Cronet"}) |
| 102 @SuppressWarnings("deprecation") | 102 @SuppressWarnings("deprecation") |
| 103 public void testRequestFinishedListener() throws Exception { | 103 public void testRequestFinishedListener() throws Exception { |
| 104 mTestFramework = startCronetTestFramework(); | 104 mTestFramework = startCronetTestFramework(); |
| 105 TestExecutor testExecutor = new TestExecutor(); | 105 TestExecutor testExecutor = new TestExecutor(); |
| 106 TestRequestFinishedListener requestFinishedListener = | 106 TestRequestFinishedListener requestFinishedListener = |
| 107 new TestRequestFinishedListener(testExecutor); | 107 new TestRequestFinishedListener(testExecutor); |
| 108 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 108 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 109 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 109 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 110 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 110 ExperimentalUrlRequest.Builder urlRequestBuilder = |
| 111 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 111 (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.ne
wUrlRequestBuilder( |
| 112 mUrl, callback, callback.getExecutor()); |
| 112 urlRequestBuilder.addRequestAnnotation("request annotation") | 113 urlRequestBuilder.addRequestAnnotation("request annotation") |
| 113 .addRequestAnnotation(this) | 114 .addRequestAnnotation(this) |
| 114 .build() | 115 .build() |
| 115 .start(); | 116 .start(); |
| 116 callback.blockForDone(); | 117 callback.blockForDone(); |
| 117 testExecutor.runAllTasks(); | 118 testExecutor.runAllTasks(); |
| 118 | 119 |
| 119 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; | 120 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; |
| 120 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); | 121 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
| 121 assertEquals(mUrl, requestInfo.getUrl()); | 122 assertEquals(mUrl, requestInfo.getUrl()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 133 @SmallTest | 134 @SmallTest |
| 134 @Feature({"Cronet"}) | 135 @Feature({"Cronet"}) |
| 135 @SuppressWarnings("deprecation") | 136 @SuppressWarnings("deprecation") |
| 136 public void testRequestFinishedListenerDirectExecutor() throws Exception { | 137 public void testRequestFinishedListenerDirectExecutor() throws Exception { |
| 137 mTestFramework = startCronetTestFramework(); | 138 mTestFramework = startCronetTestFramework(); |
| 138 Executor testExecutor = new DirectExecutor(); | 139 Executor testExecutor = new DirectExecutor(); |
| 139 TestRequestFinishedListener requestFinishedListener = | 140 TestRequestFinishedListener requestFinishedListener = |
| 140 new TestRequestFinishedListener(testExecutor); | 141 new TestRequestFinishedListener(testExecutor); |
| 141 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 142 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 142 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 143 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 143 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 144 ExperimentalUrlRequest.Builder urlRequestBuilder = |
| 144 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 145 (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.ne
wUrlRequestBuilder( |
| 146 mUrl, callback, callback.getExecutor()); |
| 145 urlRequestBuilder.addRequestAnnotation("request annotation") | 147 urlRequestBuilder.addRequestAnnotation("request annotation") |
| 146 .addRequestAnnotation(this) | 148 .addRequestAnnotation(this) |
| 147 .build() | 149 .build() |
| 148 .start(); | 150 .start(); |
| 149 callback.blockForDone(); | 151 callback.blockForDone(); |
| 150 | 152 |
| 151 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; | 153 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; |
| 152 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); | 154 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
| 153 assertEquals(mUrl, requestInfo.getUrl()); | 155 assertEquals(mUrl, requestInfo.getUrl()); |
| 154 assertNotNull(requestInfo.getResponseInfo()); | 156 assertNotNull(requestInfo.getResponseInfo()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 166 @Feature({"Cronet"}) | 168 @Feature({"Cronet"}) |
| 167 @SuppressWarnings("deprecation") | 169 @SuppressWarnings("deprecation") |
| 168 public void testRequestFinishedListenerDifferentThreads() throws Exception { | 170 public void testRequestFinishedListenerDifferentThreads() throws Exception { |
| 169 mTestFramework = startCronetTestFramework(); | 171 mTestFramework = startCronetTestFramework(); |
| 170 ThreadExecutor testExecutor = new ThreadExecutor(); | 172 ThreadExecutor testExecutor = new ThreadExecutor(); |
| 171 TestRequestFinishedListener firstListener = new TestRequestFinishedListe
ner(testExecutor); | 173 TestRequestFinishedListener firstListener = new TestRequestFinishedListe
ner(testExecutor); |
| 172 TestRequestFinishedListener secondListener = new TestRequestFinishedList
ener(testExecutor); | 174 TestRequestFinishedListener secondListener = new TestRequestFinishedList
ener(testExecutor); |
| 173 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener); | 175 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener); |
| 174 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener); | 176 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener); |
| 175 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 177 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 176 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 178 ExperimentalUrlRequest.Builder urlRequestBuilder = |
| 177 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 179 (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.ne
wUrlRequestBuilder( |
| 180 mUrl, callback, callback.getExecutor()); |
| 178 urlRequestBuilder.addRequestAnnotation("request annotation") | 181 urlRequestBuilder.addRequestAnnotation("request annotation") |
| 179 .addRequestAnnotation(this) | 182 .addRequestAnnotation(this) |
| 180 .build() | 183 .build() |
| 181 .start(); | 184 .start(); |
| 182 callback.blockForDone(); | 185 callback.blockForDone(); |
| 183 testExecutor.joinAll(); | 186 testExecutor.joinAll(); |
| 184 | 187 |
| 185 RequestFinishedInfo firstRequestInfo = firstListener.mRequestInfo; | 188 RequestFinishedInfo firstRequestInfo = firstListener.mRequestInfo; |
| 186 RequestFinishedInfo secondRequestInfo = secondListener.mRequestInfo; | 189 RequestFinishedInfo secondRequestInfo = secondListener.mRequestInfo; |
| 187 assertNotNull("First RequestFinishedInfo.Listener must be called", first
RequestInfo); | 190 assertNotNull("First RequestFinishedInfo.Listener must be called", first
RequestInfo); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 211 @Feature({"Cronet"}) | 214 @Feature({"Cronet"}) |
| 212 @SuppressWarnings("deprecation") | 215 @SuppressWarnings("deprecation") |
| 213 public void testRequestFinishedListenerFailedRequest() throws Exception { | 216 public void testRequestFinishedListenerFailedRequest() throws Exception { |
| 214 String connectionRefusedUrl = "http://127.0.0.1:3"; | 217 String connectionRefusedUrl = "http://127.0.0.1:3"; |
| 215 mTestFramework = startCronetTestFramework(); | 218 mTestFramework = startCronetTestFramework(); |
| 216 TestExecutor testExecutor = new TestExecutor(); | 219 TestExecutor testExecutor = new TestExecutor(); |
| 217 TestRequestFinishedListener requestFinishedListener = | 220 TestRequestFinishedListener requestFinishedListener = |
| 218 new TestRequestFinishedListener(testExecutor); | 221 new TestRequestFinishedListener(testExecutor); |
| 219 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 222 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 220 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 223 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 221 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(connection
RefusedUrl, | 224 UrlRequest.Builder urlRequestBuilder = mTestFramework.mCronetEngine.newU
rlRequestBuilder( |
| 222 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 225 connectionRefusedUrl, callback, callback.getExecutor()); |
| 223 urlRequestBuilder.build().start(); | 226 urlRequestBuilder.build().start(); |
| 224 callback.blockForDone(); | 227 callback.blockForDone(); |
| 225 assertTrue(callback.mOnErrorCalled); | 228 assertTrue(callback.mOnErrorCalled); |
| 226 testExecutor.runAllTasks(); | 229 testExecutor.runAllTasks(); |
| 227 | 230 |
| 228 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; | 231 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; |
| 229 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); | 232 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
| 230 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); | 233 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); |
| 231 assertTrue(requestInfo.getAnnotations().isEmpty()); | 234 assertTrue(requestInfo.getAnnotations().isEmpty()); |
| 232 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); | 235 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
| 233 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); | 236 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 | 237 // The failure is occasionally fast enough that time reported is 0, so j
ust check for null |
| 235 assertNotNull(metrics.getTotalTimeMs()); | 238 assertNotNull(metrics.getTotalTimeMs()); |
| 236 assertNull(metrics.getTtfbMs()); | 239 assertNull(metrics.getTtfbMs()); |
| 237 assertTrue(metrics.getReceivedBytesCount() == null || metrics.getReceive
dBytesCount() == 0); | 240 assertTrue(metrics.getReceivedBytesCount() == null || metrics.getReceive
dBytesCount() == 0); |
| 238 mTestFramework.mCronetEngine.shutdown(); | 241 mTestFramework.mCronetEngine.shutdown(); |
| 239 } | 242 } |
| 240 | 243 |
| 241 @SmallTest | 244 @SmallTest |
| 242 @Feature({"Cronet"}) | 245 @Feature({"Cronet"}) |
| 243 @SuppressWarnings("deprecation") | 246 @SuppressWarnings("deprecation") |
| 244 public void testRequestFinishedListenerRemoved() throws Exception { | 247 public void testRequestFinishedListenerRemoved() throws Exception { |
| 245 mTestFramework = startCronetTestFramework(); | 248 mTestFramework = startCronetTestFramework(); |
| 246 TestExecutor testExecutor = new TestExecutor(); | 249 TestExecutor testExecutor = new TestExecutor(); |
| 247 TestRequestFinishedListener requestFinishedListener = | 250 TestRequestFinishedListener requestFinishedListener = |
| 248 new TestRequestFinishedListener(testExecutor); | 251 new TestRequestFinishedListener(testExecutor); |
| 249 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 252 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 250 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish
edListener); | 253 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish
edListener); |
| 251 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 254 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 252 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 255 UrlRequest.Builder urlRequestBuilder = mTestFramework.mCronetEngine.newU
rlRequestBuilder( |
| 253 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 256 mUrl, callback, callback.getExecutor()); |
| 254 urlRequestBuilder.build().start(); | 257 urlRequestBuilder.build().start(); |
| 255 callback.blockForDone(); | 258 callback.blockForDone(); |
| 256 testExecutor.runAllTasks(); | 259 testExecutor.runAllTasks(); |
| 257 | 260 |
| 258 assertNull("RequestFinishedInfo.Listener must not be called", | 261 assertNull("RequestFinishedInfo.Listener must not be called", |
| 259 requestFinishedListener.mRequestInfo); | 262 requestFinishedListener.mRequestInfo); |
| 260 mTestFramework.mCronetEngine.shutdown(); | 263 mTestFramework.mCronetEngine.shutdown(); |
| 261 } | 264 } |
| 262 } | 265 } |
| OLD | NEW |