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

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

Issue 2349973006: Implement exception and finished reason in RequestFinishedInfo (Closed)
Patch Set: rebase again? Created 4 years, 2 months 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
« no previous file with comments | « components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 callback.blockForDone(); 92 callback.blockForDone();
93 requestFinishedListener.blockUntilDone(); 93 requestFinishedListener.blockUntilDone();
94 Date endTime = new Date(); 94 Date endTime = new Date();
95 95
96 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo (); 96 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo ();
97 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo ); 97 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo );
98 assertEquals(mUrl, requestInfo.getUrl()); 98 assertEquals(mUrl, requestInfo.getUrl());
99 assertNotNull(requestInfo.getResponseInfo()); 99 assertNotNull(requestInfo.getResponseInfo());
100 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. 100 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison.
101 new HashSet<Object>(requestInfo.getAnnotations())); 101 new HashSet<Object>(requestInfo.getAnnotations()));
102 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso n());
103 assertNull(requestInfo.getException());
102 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); 104 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics();
103 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs); 105 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs);
104 // Check old (deprecated) timing metrics 106 // Check old (deprecated) timing metrics
105 assertTrue(metrics.getTotalTimeMs() > 0); 107 assertTrue(metrics.getTotalTimeMs() > 0);
106 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); 108 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs());
107 // Check new timing metrics 109 // Check new timing metrics
108 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); 110 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime);
109 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false ); 111 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false );
110 assertNull(metrics.getPushStart()); 112 assertNull(metrics.getPushStart());
111 assertNull(metrics.getPushEnd()); 113 assertNull(metrics.getPushEnd());
(...skipping 25 matching lines...) Expand all
137 // it's created with a non-default executor. 139 // it's created with a non-default executor.
138 testExecutor.blockUntilDone(); 140 testExecutor.blockUntilDone();
139 Date endTime = new Date(); 141 Date endTime = new Date();
140 142
141 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo (); 143 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo ();
142 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo ); 144 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo );
143 assertEquals(mUrl, requestInfo.getUrl()); 145 assertEquals(mUrl, requestInfo.getUrl());
144 assertNotNull(requestInfo.getResponseInfo()); 146 assertNotNull(requestInfo.getResponseInfo());
145 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. 147 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison.
146 new HashSet<Object>(requestInfo.getAnnotations())); 148 new HashSet<Object>(requestInfo.getAnnotations()));
149 assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReaso n());
150 assertNull(requestInfo.getException());
147 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); 151 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics();
148 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs); 152 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs);
149 assertTrue(metrics.getTotalTimeMs() > 0); 153 assertTrue(metrics.getTotalTimeMs() > 0);
150 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); 154 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs());
151 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime); 155 MetricsTestUtil.checkTimingMetrics(metrics, startTime, endTime);
152 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false ); 156 MetricsTestUtil.checkHasConnectTiming(metrics, startTime, endTime, false );
153 assertTrue(metrics.getReceivedBytesCount() > 0); 157 assertTrue(metrics.getReceivedBytesCount() > 0);
154 mTestFramework.mCronetEngine.shutdown(); 158 mTestFramework.mCronetEngine.shutdown();
155 } 159 }
156 160
(...skipping 25 matching lines...) Expand all
182 assertNotNull("First RequestFinishedInfo.Listener must be called", first RequestInfo); 186 assertNotNull("First RequestFinishedInfo.Listener must be called", first RequestInfo);
183 assertNotNull("Second RequestFinishedInfo.Listener must be called", seco ndRequestInfo); 187 assertNotNull("Second RequestFinishedInfo.Listener must be called", seco ndRequestInfo);
184 assertEquals(mUrl, firstRequestInfo.getUrl()); 188 assertEquals(mUrl, firstRequestInfo.getUrl());
185 assertEquals(mUrl, secondRequestInfo.getUrl()); 189 assertEquals(mUrl, secondRequestInfo.getUrl());
186 assertNotNull(firstRequestInfo.getResponseInfo()); 190 assertNotNull(firstRequestInfo.getResponseInfo());
187 assertNotNull(secondRequestInfo.getResponseInfo()); 191 assertNotNull(secondRequestInfo.getResponseInfo());
188 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. 192 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison.
189 new HashSet<Object>(firstRequestInfo.getAnnotations())); 193 new HashSet<Object>(firstRequestInfo.getAnnotations()));
190 assertEquals(newHashSet("request annotation", this), 194 assertEquals(newHashSet("request annotation", this),
191 new HashSet<Object>(secondRequestInfo.getAnnotations())); 195 new HashSet<Object>(secondRequestInfo.getAnnotations()));
196 assertEquals(RequestFinishedInfo.SUCCEEDED, firstRequestInfo.getFinished Reason());
197 assertEquals(RequestFinishedInfo.SUCCEEDED, secondRequestInfo.getFinishe dReason());
198 assertNull(firstRequestInfo.getException());
199 assertNull(secondRequestInfo.getException());
192 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics() ; 200 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics() ;
193 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first Metrics); 201 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first Metrics);
194 assertTrue(firstMetrics.getTotalTimeMs() > 0); 202 assertTrue(firstMetrics.getTotalTimeMs() > 0);
195 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); 203 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs());
196 MetricsTestUtil.checkTimingMetrics(firstMetrics, startTime, endTime); 204 MetricsTestUtil.checkTimingMetrics(firstMetrics, startTime, endTime);
197 MetricsTestUtil.checkHasConnectTiming(firstMetrics, startTime, endTime, false); 205 MetricsTestUtil.checkHasConnectTiming(firstMetrics, startTime, endTime, false);
198 assertTrue(firstMetrics.getReceivedBytesCount() > 0); 206 assertTrue(firstMetrics.getReceivedBytesCount() > 0);
199 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics (); 207 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics ();
200 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon dMetrics); 208 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon dMetrics);
201 assertTrue(secondMetrics.getTotalTimeMs() > 0); 209 assertTrue(secondMetrics.getTotalTimeMs() > 0);
(...skipping 20 matching lines...) Expand all
222 urlRequestBuilder.build().start(); 230 urlRequestBuilder.build().start();
223 callback.blockForDone(); 231 callback.blockForDone();
224 assertTrue(callback.mOnErrorCalled); 232 assertTrue(callback.mOnErrorCalled);
225 requestFinishedListener.blockUntilDone(); 233 requestFinishedListener.blockUntilDone();
226 Date endTime = new Date(); 234 Date endTime = new Date();
227 235
228 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo (); 236 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo ();
229 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo ); 237 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo );
230 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); 238 assertEquals(connectionRefusedUrl, requestInfo.getUrl());
231 assertTrue(requestInfo.getAnnotations().isEmpty()); 239 assertTrue(requestInfo.getAnnotations().isEmpty());
240 assertEquals(RequestFinishedInfo.FAILED, requestInfo.getFinishedReason() );
241 assertNotNull(requestInfo.getException());
242 assertEquals(UrlRequestException.ERROR_CONNECTION_REFUSED,
243 requestInfo.getException().getErrorCode());
232 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); 244 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics();
233 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs); 245 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 246 // The failure is occasionally fast enough that time reported is 0, so j ust check for null
235 assertNotNull(metrics.getTotalTimeMs()); 247 assertNotNull(metrics.getTotalTimeMs());
236 assertNull(metrics.getTtfbMs()); 248 assertNull(metrics.getTtfbMs());
237 249
238 // Check the timing metrics 250 // Check the timing metrics
239 assertNotNull(metrics.getRequestStart()); 251 assertNotNull(metrics.getRequestStart());
240 assertTrue(metrics.getRequestStart().after(startTime) 252 assertTrue(metrics.getRequestStart().after(startTime)
241 || metrics.getRequestStart().equals(startTime)); 253 || metrics.getRequestStart().equals(startTime));
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 assertEquals(new Date(sslEnd), metrics.getSslEnd()); 369 assertEquals(new Date(sslEnd), metrics.getSslEnd());
358 assertEquals(new Date(pushStart), metrics.getPushStart()); 370 assertEquals(new Date(pushStart), metrics.getPushStart());
359 assertEquals(new Date(pushEnd), metrics.getPushEnd()); 371 assertEquals(new Date(pushEnd), metrics.getPushEnd());
360 assertEquals(new Date(responseStart), metrics.getResponseStart()); 372 assertEquals(new Date(responseStart), metrics.getResponseStart());
361 assertEquals(new Date(responseEnd), metrics.getResponseEnd()); 373 assertEquals(new Date(responseEnd), metrics.getResponseEnd());
362 assertEquals(socketReused, metrics.getSocketReused()); 374 assertEquals(socketReused, metrics.getSocketReused());
363 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); 375 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount());
364 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount()) ; 376 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount()) ;
365 } 377 }
366 } 378 }
OLDNEW
« no previous file with comments | « components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698