| 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 |
| 11 import org.chromium.base.test.util.Feature; | 11 import org.chromium.base.test.util.Feature; |
| 12 import org.chromium.net.CronetEngine.UrlRequestInfo; | |
| 13 import org.chromium.net.test.EmbeddedTestServer; | 12 import org.chromium.net.test.EmbeddedTestServer; |
| 14 | 13 |
| 15 import java.util.ArrayList; | 14 import java.util.ArrayList; |
| 16 import java.util.HashSet; | 15 import java.util.HashSet; |
| 17 import java.util.LinkedList; | 16 import java.util.LinkedList; |
| 18 import java.util.List; | 17 import java.util.List; |
| 19 import java.util.NoSuchElementException; | 18 import java.util.NoSuchElementException; |
| 20 import java.util.concurrent.Executor; | 19 import java.util.concurrent.Executor; |
| 21 | 20 |
| 22 /** | 21 /** |
| 23 * Test RequestFinishedListener and the metrics information it provides. | 22 * Test RequestFinishedInfo.Listener and the metrics information it provides. |
| 24 */ | 23 */ |
| 25 public class RequestFinishedListenerTest extends CronetTestBase { | 24 public class RequestFinishedInfoTest extends CronetTestBase { |
| 26 CronetTestFramework mTestFramework; | 25 CronetTestFramework mTestFramework; |
| 27 private EmbeddedTestServer mTestServer; | 26 private EmbeddedTestServer mTestServer; |
| 28 private String mUrl; | 27 private String mUrl; |
| 29 | 28 |
| 30 @Override | 29 @Override |
| 31 protected void setUp() throws Exception { | 30 protected void setUp() throws Exception { |
| 32 super.setUp(); | 31 super.setUp(); |
| 33 mTestServer = EmbeddedTestServer.createAndStartDefaultServer(getContext(
)); | 32 mTestServer = EmbeddedTestServer.createAndStartDefaultServer(getContext(
)); |
| 34 mUrl = mTestServer.getURL("/echo?status=200"); | 33 mUrl = mTestServer.getURL("/echo?status=200"); |
| 35 } | 34 } |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 newThread.start(); | 75 newThread.start(); |
| 77 } | 76 } |
| 78 | 77 |
| 79 public void joinAll() throws InterruptedException { | 78 public void joinAll() throws InterruptedException { |
| 80 for (Thread thread : mThreads) { | 79 for (Thread thread : mThreads) { |
| 81 thread.join(); | 80 thread.join(); |
| 82 } | 81 } |
| 83 } | 82 } |
| 84 } | 83 } |
| 85 | 84 |
| 86 private static class TestRequestFinishedListener extends RequestFinishedList
ener { | 85 private static class TestRequestFinishedListener extends RequestFinishedInfo
.Listener { |
| 87 private UrlRequestInfo mRequestInfo; | 86 private RequestFinishedInfo mRequestInfo; |
| 88 | 87 |
| 89 public TestRequestFinishedListener(Executor executor) { | 88 public TestRequestFinishedListener(Executor executor) { |
| 90 super(executor); | 89 super(executor); |
| 91 } | 90 } |
| 92 | 91 |
| 93 @Override | 92 @Override |
| 94 public void onRequestFinished(UrlRequestInfo requestInfo) { | 93 public void onRequestFinished(RequestFinishedInfo requestInfo) { |
| 95 assertNull("onRequestFinished called repeatedly", mRequestInfo); | 94 assertNull("onRequestFinished called repeatedly", mRequestInfo); |
| 96 assertNotNull(requestInfo); | 95 assertNotNull(requestInfo); |
| 97 mRequestInfo = requestInfo; | 96 mRequestInfo = requestInfo; |
| 98 } | 97 } |
| 99 } | 98 } |
| 100 | 99 |
| 101 @SmallTest | 100 @SmallTest |
| 102 @Feature({"Cronet"}) | 101 @Feature({"Cronet"}) |
| 103 @SuppressWarnings("deprecation") | 102 @SuppressWarnings("deprecation") |
| 104 public void testRequestFinishedListener() throws Exception { | 103 public void testRequestFinishedListener() throws Exception { |
| 105 mTestFramework = startCronetTestFramework(); | 104 mTestFramework = startCronetTestFramework(); |
| 106 TestExecutor testExecutor = new TestExecutor(); | 105 TestExecutor testExecutor = new TestExecutor(); |
| 107 TestRequestFinishedListener requestFinishedListener = | 106 TestRequestFinishedListener requestFinishedListener = |
| 108 new TestRequestFinishedListener(testExecutor); | 107 new TestRequestFinishedListener(testExecutor); |
| 109 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 108 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 110 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 109 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 111 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 110 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
| 112 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 111 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); |
| 113 urlRequestBuilder.addRequestAnnotation("request annotation") | 112 urlRequestBuilder.addRequestAnnotation("request annotation") |
| 114 .addRequestAnnotation(this) | 113 .addRequestAnnotation(this) |
| 115 .build() | 114 .build() |
| 116 .start(); | 115 .start(); |
| 117 callback.blockForDone(); | 116 callback.blockForDone(); |
| 118 testExecutor.runAllTasks(); | 117 testExecutor.runAllTasks(); |
| 119 | 118 |
| 120 CronetEngine.UrlRequestInfo requestInfo = requestFinishedListener.mReque
stInfo; | 119 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; |
| 121 assertNotNull("RequestFinishedListener must be called", requestInfo); | 120 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
| 122 assertEquals(mUrl, requestInfo.getUrl()); | 121 assertEquals(mUrl, requestInfo.getUrl()); |
| 123 assertNotNull(requestInfo.getResponseInfo()); | 122 assertNotNull(requestInfo.getResponseInfo()); |
| 124 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 123 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
| 125 new HashSet<Object>(requestInfo.getAnnotations())); | 124 new HashSet<Object>(requestInfo.getAnnotations())); |
| 126 CronetEngine.UrlRequestMetrics metrics = requestInfo.getMetrics(); | 125 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
| 127 assertNotNull("UrlRequestInfo.getMetrics() must not be null", metrics); | 126 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
| 128 assertTrue(metrics.getTotalTimeMs() > 0); | 127 assertTrue(metrics.getTotalTimeMs() > 0); |
| 129 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); | 128 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); |
| 130 assertTrue(metrics.getReceivedBytesCount() > 0); | 129 assertTrue(metrics.getReceivedBytesCount() > 0); |
| 131 mTestFramework.mCronetEngine.shutdown(); | 130 mTestFramework.mCronetEngine.shutdown(); |
| 132 } | 131 } |
| 133 | 132 |
| 134 @SmallTest | 133 @SmallTest |
| 135 @Feature({"Cronet"}) | 134 @Feature({"Cronet"}) |
| 136 @SuppressWarnings("deprecation") | 135 @SuppressWarnings("deprecation") |
| 137 public void testRequestFinishedListenerDirectExecutor() throws Exception { | 136 public void testRequestFinishedListenerDirectExecutor() throws Exception { |
| 138 mTestFramework = startCronetTestFramework(); | 137 mTestFramework = startCronetTestFramework(); |
| 139 Executor testExecutor = new DirectExecutor(); | 138 Executor testExecutor = new DirectExecutor(); |
| 140 TestRequestFinishedListener requestFinishedListener = | 139 TestRequestFinishedListener requestFinishedListener = |
| 141 new TestRequestFinishedListener(testExecutor); | 140 new TestRequestFinishedListener(testExecutor); |
| 142 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 141 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 143 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 142 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 144 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 143 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
| 145 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 144 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); |
| 146 urlRequestBuilder.addRequestAnnotation("request annotation") | 145 urlRequestBuilder.addRequestAnnotation("request annotation") |
| 147 .addRequestAnnotation(this) | 146 .addRequestAnnotation(this) |
| 148 .build() | 147 .build() |
| 149 .start(); | 148 .start(); |
| 150 callback.blockForDone(); | 149 callback.blockForDone(); |
| 151 | 150 |
| 152 CronetEngine.UrlRequestInfo requestInfo = requestFinishedListener.mReque
stInfo; | 151 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; |
| 153 assertNotNull("RequestFinishedListener must be called", requestInfo); | 152 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
| 154 assertEquals(mUrl, requestInfo.getUrl()); | 153 assertEquals(mUrl, requestInfo.getUrl()); |
| 155 assertNotNull(requestInfo.getResponseInfo()); | 154 assertNotNull(requestInfo.getResponseInfo()); |
| 156 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 155 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
| 157 new HashSet<Object>(requestInfo.getAnnotations())); | 156 new HashSet<Object>(requestInfo.getAnnotations())); |
| 158 CronetEngine.UrlRequestMetrics metrics = requestInfo.getMetrics(); | 157 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
| 159 assertNotNull("UrlRequestInfo.getMetrics() must not be null", metrics); | 158 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
| 160 assertTrue(metrics.getTotalTimeMs() > 0); | 159 assertTrue(metrics.getTotalTimeMs() > 0); |
| 161 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); | 160 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); |
| 162 assertTrue(metrics.getReceivedBytesCount() > 0); | 161 assertTrue(metrics.getReceivedBytesCount() > 0); |
| 163 mTestFramework.mCronetEngine.shutdown(); | 162 mTestFramework.mCronetEngine.shutdown(); |
| 164 } | 163 } |
| 165 | 164 |
| 166 @SmallTest | 165 @SmallTest |
| 167 @Feature({"Cronet"}) | 166 @Feature({"Cronet"}) |
| 168 @SuppressWarnings("deprecation") | 167 @SuppressWarnings("deprecation") |
| 169 public void testRequestFinishedListenerDifferentThreads() throws Exception { | 168 public void testRequestFinishedListenerDifferentThreads() throws Exception { |
| 170 mTestFramework = startCronetTestFramework(); | 169 mTestFramework = startCronetTestFramework(); |
| 171 ThreadExecutor testExecutor = new ThreadExecutor(); | 170 ThreadExecutor testExecutor = new ThreadExecutor(); |
| 172 TestRequestFinishedListener firstListener = new TestRequestFinishedListe
ner(testExecutor); | 171 TestRequestFinishedListener firstListener = new TestRequestFinishedListe
ner(testExecutor); |
| 173 TestRequestFinishedListener secondListener = new TestRequestFinishedList
ener(testExecutor); | 172 TestRequestFinishedListener secondListener = new TestRequestFinishedList
ener(testExecutor); |
| 174 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener); | 173 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener); |
| 175 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener); | 174 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener); |
| 176 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 175 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 177 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 176 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
| 178 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 177 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); |
| 179 urlRequestBuilder.addRequestAnnotation("request annotation") | 178 urlRequestBuilder.addRequestAnnotation("request annotation") |
| 180 .addRequestAnnotation(this) | 179 .addRequestAnnotation(this) |
| 181 .build() | 180 .build() |
| 182 .start(); | 181 .start(); |
| 183 callback.blockForDone(); | 182 callback.blockForDone(); |
| 184 testExecutor.joinAll(); | 183 testExecutor.joinAll(); |
| 185 | 184 |
| 186 CronetEngine.UrlRequestInfo firstRequestInfo = firstListener.mRequestInf
o; | 185 RequestFinishedInfo firstRequestInfo = firstListener.mRequestInfo; |
| 187 CronetEngine.UrlRequestInfo secondRequestInfo = secondListener.mRequestI
nfo; | 186 RequestFinishedInfo secondRequestInfo = secondListener.mRequestInfo; |
| 188 assertNotNull("First RequestFinishedListener must be called", firstReque
stInfo); | 187 assertNotNull("First RequestFinishedInfo.Listener must be called", first
RequestInfo); |
| 189 assertNotNull("Second RequestFinishedListener must be called", secondReq
uestInfo); | 188 assertNotNull("Second RequestFinishedInfo.Listener must be called", seco
ndRequestInfo); |
| 190 assertEquals(mUrl, firstRequestInfo.getUrl()); | 189 assertEquals(mUrl, firstRequestInfo.getUrl()); |
| 191 assertEquals(mUrl, secondRequestInfo.getUrl()); | 190 assertEquals(mUrl, secondRequestInfo.getUrl()); |
| 192 assertNotNull(firstRequestInfo.getResponseInfo()); | 191 assertNotNull(firstRequestInfo.getResponseInfo()); |
| 193 assertNotNull(secondRequestInfo.getResponseInfo()); | 192 assertNotNull(secondRequestInfo.getResponseInfo()); |
| 194 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. | 193 assertEquals(newHashSet("request annotation", this), // Use sets for uno
rdered comparison. |
| 195 new HashSet<Object>(firstRequestInfo.getAnnotations())); | 194 new HashSet<Object>(firstRequestInfo.getAnnotations())); |
| 196 assertEquals(newHashSet("request annotation", this), | 195 assertEquals(newHashSet("request annotation", this), |
| 197 new HashSet<Object>(secondRequestInfo.getAnnotations())); | 196 new HashSet<Object>(secondRequestInfo.getAnnotations())); |
| 198 CronetEngine.UrlRequestMetrics firstMetrics = firstRequestInfo.getMetric
s(); | 197 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics()
; |
| 199 assertNotNull("UrlRequestInfo.getMetrics() must not be null", firstMetri
cs); | 198 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first
Metrics); |
| 200 assertTrue(firstMetrics.getTotalTimeMs() > 0); | 199 assertTrue(firstMetrics.getTotalTimeMs() > 0); |
| 201 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); | 200 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); |
| 202 assertTrue(firstMetrics.getReceivedBytesCount() > 0); | 201 assertTrue(firstMetrics.getReceivedBytesCount() > 0); |
| 203 CronetEngine.UrlRequestMetrics secondMetrics = secondRequestInfo.getMetr
ics(); | 202 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics
(); |
| 204 assertNotNull("UrlRequestInfo.getMetrics() must not be null", secondMetr
ics); | 203 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon
dMetrics); |
| 205 assertTrue(secondMetrics.getTotalTimeMs() > 0); | 204 assertTrue(secondMetrics.getTotalTimeMs() > 0); |
| 206 assertTrue(secondMetrics.getTotalTimeMs() >= secondMetrics.getTtfbMs()); | 205 assertTrue(secondMetrics.getTotalTimeMs() >= secondMetrics.getTtfbMs()); |
| 207 assertTrue(secondMetrics.getReceivedBytesCount() > 0); | 206 assertTrue(secondMetrics.getReceivedBytesCount() > 0); |
| 208 mTestFramework.mCronetEngine.shutdown(); | 207 mTestFramework.mCronetEngine.shutdown(); |
| 209 } | 208 } |
| 210 | 209 |
| 211 @SmallTest | 210 @SmallTest |
| 212 @Feature({"Cronet"}) | 211 @Feature({"Cronet"}) |
| 213 @SuppressWarnings("deprecation") | 212 @SuppressWarnings("deprecation") |
| 214 public void testRequestFinishedListenerFailedRequest() throws Exception { | 213 public void testRequestFinishedListenerFailedRequest() throws Exception { |
| 215 String connectionRefusedUrl = "http://127.0.0.1:3"; | 214 String connectionRefusedUrl = "http://127.0.0.1:3"; |
| 216 mTestFramework = startCronetTestFramework(); | 215 mTestFramework = startCronetTestFramework(); |
| 217 TestExecutor testExecutor = new TestExecutor(); | 216 TestExecutor testExecutor = new TestExecutor(); |
| 218 TestRequestFinishedListener requestFinishedListener = | 217 TestRequestFinishedListener requestFinishedListener = |
| 219 new TestRequestFinishedListener(testExecutor); | 218 new TestRequestFinishedListener(testExecutor); |
| 220 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 219 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 221 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 220 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 222 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(connection
RefusedUrl, | 221 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(connection
RefusedUrl, |
| 223 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 222 callback, callback.getExecutor(), mTestFramework.mCronetEngine); |
| 224 urlRequestBuilder.build().start(); | 223 urlRequestBuilder.build().start(); |
| 225 callback.blockForDone(); | 224 callback.blockForDone(); |
| 226 assertTrue(callback.mOnErrorCalled); | 225 assertTrue(callback.mOnErrorCalled); |
| 227 testExecutor.runAllTasks(); | 226 testExecutor.runAllTasks(); |
| 228 | 227 |
| 229 CronetEngine.UrlRequestInfo requestInfo = requestFinishedListener.mReque
stInfo; | 228 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; |
| 230 assertNotNull("RequestFinishedListener must be called", requestInfo); | 229 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo
); |
| 231 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); | 230 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); |
| 232 assertTrue(requestInfo.getAnnotations().isEmpty()); | 231 assertTrue(requestInfo.getAnnotations().isEmpty()); |
| 233 CronetEngine.UrlRequestMetrics metrics = requestInfo.getMetrics(); | 232 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); |
| 234 assertNotNull("UrlRequestInfo.getMetrics() must not be null", metrics); | 233 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri
cs); |
| 235 // The failure is occasionally fast enough that time reported is 0, so j
ust check for null | 234 // The failure is occasionally fast enough that time reported is 0, so j
ust check for null |
| 236 assertNotNull(metrics.getTotalTimeMs()); | 235 assertNotNull(metrics.getTotalTimeMs()); |
| 237 assertNull(metrics.getTtfbMs()); | 236 assertNull(metrics.getTtfbMs()); |
| 238 assertTrue(metrics.getReceivedBytesCount() == null || metrics.getReceive
dBytesCount() == 0); | 237 assertTrue(metrics.getReceivedBytesCount() == null || metrics.getReceive
dBytesCount() == 0); |
| 239 mTestFramework.mCronetEngine.shutdown(); | 238 mTestFramework.mCronetEngine.shutdown(); |
| 240 } | 239 } |
| 241 | 240 |
| 242 @SmallTest | 241 @SmallTest |
| 243 @Feature({"Cronet"}) | 242 @Feature({"Cronet"}) |
| 244 @SuppressWarnings("deprecation") | 243 @SuppressWarnings("deprecation") |
| 245 public void testRequestFinishedListenerRemoved() throws Exception { | 244 public void testRequestFinishedListenerRemoved() throws Exception { |
| 246 mTestFramework = startCronetTestFramework(); | 245 mTestFramework = startCronetTestFramework(); |
| 247 TestExecutor testExecutor = new TestExecutor(); | 246 TestExecutor testExecutor = new TestExecutor(); |
| 248 TestRequestFinishedListener requestFinishedListener = | 247 TestRequestFinishedListener requestFinishedListener = |
| 249 new TestRequestFinishedListener(testExecutor); | 248 new TestRequestFinishedListener(testExecutor); |
| 250 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); | 249 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL
istener); |
| 251 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish
edListener); | 250 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish
edListener); |
| 252 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 251 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 253 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 252 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
| 254 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); | 253 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); |
| 255 urlRequestBuilder.build().start(); | 254 urlRequestBuilder.build().start(); |
| 256 callback.blockForDone(); | 255 callback.blockForDone(); |
| 257 testExecutor.runAllTasks(); | 256 testExecutor.runAllTasks(); |
| 258 | 257 |
| 259 assertNull( | 258 assertNull("RequestFinishedInfo.Listener must not be called", |
| 260 "RequestFinishedListener must not be called", requestFinishedLis
tener.mRequestInfo); | 259 requestFinishedListener.mRequestInfo); |
| 261 mTestFramework.mCronetEngine.shutdown(); | 260 mTestFramework.mCronetEngine.shutdown(); |
| 262 } | 261 } |
| 263 } | 262 } |
| OLD | NEW |