Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(335)

Side by Side Diff: components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java

Issue 2339223002: Cronet API Refactoring (Closed)
Patch Set: Rebase & Conflict Resolution Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698