OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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.content.Context; | 9 import android.content.Context; |
10 import android.content.ContextWrapper; | 10 import android.content.ContextWrapper; |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 StrictMode.setThreadPolicy(threadPolicy); | 147 StrictMode.setThreadPolicy(threadPolicy); |
148 } | 148 } |
149 } | 149 } |
150 }); | 150 }); |
151 return mNetworkQualityThread; | 151 return mNetworkQualityThread; |
152 } | 152 } |
153 } | 153 } |
154 | 154 |
155 @SmallTest | 155 @SmallTest |
156 @Feature({"Cronet"}) | 156 @Feature({"Cronet"}) |
| 157 @SuppressWarnings("deprecation") |
157 public void testConfigUserAgent() throws Exception { | 158 public void testConfigUserAgent() throws Exception { |
158 String userAgentName = "User-Agent"; | 159 String userAgentName = "User-Agent"; |
159 String userAgentValue = "User-Agent-Value"; | 160 String userAgentValue = "User-Agent-Value"; |
160 CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(getC
ontext()); | 161 CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(getC
ontext()); |
161 if (testingJavaImpl()) { | 162 if (testingJavaImpl()) { |
162 cronetEngineBuilder.enableLegacyMode(true); | 163 cronetEngineBuilder.enableLegacyMode(true); |
163 } | 164 } |
164 cronetEngineBuilder.setUserAgent(userAgentValue); | 165 cronetEngineBuilder.setUserAgent(userAgentValue); |
165 cronetEngineBuilder.setLibraryName("cronet_tests"); | 166 cronetEngineBuilder.setLibraryName("cronet_tests"); |
166 mTestFramework = | 167 mTestFramework = |
167 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(mUrl, cron
etEngineBuilder); | 168 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(mUrl, cron
etEngineBuilder); |
168 NativeTestServer.shutdownNativeTestServer(); // startNativeTestServer re
turns false if it's | 169 NativeTestServer.shutdownNativeTestServer(); // startNativeTestServer re
turns false if it's |
169 // already running | 170 // already running |
170 assertTrue(NativeTestServer.startNativeTestServer(getContext())); | 171 assertTrue(NativeTestServer.startNativeTestServer(getContext())); |
171 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 172 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
172 UrlRequest.Builder urlRequestBuilder = | 173 UrlRequest.Builder urlRequestBuilder = |
173 new UrlRequest.Builder(NativeTestServer.getEchoHeaderURL(userAge
ntName), callback, | 174 new UrlRequest.Builder(NativeTestServer.getEchoHeaderURL(userAge
ntName), callback, |
174 callback.getExecutor(), mTestFramework.mCronetEngine); | 175 callback.getExecutor(), mTestFramework.mCronetEngine); |
175 urlRequestBuilder.build().start(); | 176 urlRequestBuilder.build().start(); |
176 callback.blockForDone(); | 177 callback.blockForDone(); |
177 assertEquals(userAgentValue, callback.mResponseAsString); | 178 assertEquals(userAgentValue, callback.mResponseAsString); |
178 } | 179 } |
179 | 180 |
180 @SmallTest | 181 @SmallTest |
181 @Feature({"Cronet"}) | 182 @Feature({"Cronet"}) |
182 @OnlyRunNativeCronet | 183 @OnlyRunNativeCronet |
183 // TODO(xunjieli): Remove annotation after crbug.com/539519 is fixed. | |
184 @SuppressWarnings("deprecation") | |
185 public void testDataReductionProxyEnabled() throws Exception { | 184 public void testDataReductionProxyEnabled() throws Exception { |
186 mTestFramework = startCronetTestFrameworkAndSkipLibraryInit(); | 185 mTestFramework = startCronetTestFrameworkAndSkipLibraryInit(); |
187 | 186 |
188 // Ensure native code is loaded before trying to start test server. | 187 // Ensure native code is loaded before trying to start test server. |
189 new CronetEngine.Builder(getContext()).setLibraryName("cronet_tests").bu
ild().shutdown(); | 188 new CronetEngine.Builder(getContext()).setLibraryName("cronet_tests").bu
ild().shutdown(); |
190 | 189 |
191 assertTrue(NativeTestServer.startNativeTestServer(getContext())); | 190 assertTrue(NativeTestServer.startNativeTestServer(getContext())); |
192 if (!NativeTestServer.isDataReductionProxySupported()) { | 191 if (!NativeTestServer.isDataReductionProxySupported()) { |
193 return; | 192 return; |
194 } | 193 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 mTestFramework.mCronetEngine.addRttListener(rttListener); | 236 mTestFramework.mCronetEngine.addRttListener(rttListener); |
238 fail("Should throw an exception."); | 237 fail("Should throw an exception."); |
239 } catch (IllegalStateException e) { | 238 } catch (IllegalStateException e) { |
240 } | 239 } |
241 try { | 240 try { |
242 mTestFramework.mCronetEngine.addThroughputListener(throughputListene
r); | 241 mTestFramework.mCronetEngine.addThroughputListener(throughputListene
r); |
243 fail("Should throw an exception."); | 242 fail("Should throw an exception."); |
244 } catch (IllegalStateException e) { | 243 } catch (IllegalStateException e) { |
245 } | 244 } |
246 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 245 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
247 UrlRequest urlRequest = | 246 UrlRequest.Builder builder = new UrlRequest.Builder( |
248 mTestFramework.mCronetEngine.createRequest(mUrl, callback, callb
ack.getExecutor()); | 247 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); |
| 248 UrlRequest urlRequest = builder.build(); |
| 249 |
249 urlRequest.start(); | 250 urlRequest.start(); |
250 callback.blockForDone(); | 251 callback.blockForDone(); |
251 assertEquals(0, rttListener.rttObservationCount()); | 252 assertEquals(0, rttListener.rttObservationCount()); |
252 assertEquals(0, throughputListener.throughputObservationCount()); | 253 assertEquals(0, throughputListener.throughputObservationCount()); |
253 mTestFramework.mCronetEngine.shutdown(); | 254 mTestFramework.mCronetEngine.shutdown(); |
254 } | 255 } |
255 | 256 |
256 @SmallTest | 257 @SmallTest |
257 @Feature({"Cronet"}) | 258 @Feature({"Cronet"}) |
258 public void testRealTimeNetworkQualityObservationsListenerRemoved() throws E
xception { | 259 public void testRealTimeNetworkQualityObservationsListenerRemoved() throws E
xception { |
259 CronetEngine.Builder mCronetEngineBuilder = new CronetEngine.Builder(get
Context()); | 260 CronetEngine.Builder mCronetEngineBuilder = new CronetEngine.Builder(get
Context()); |
260 TestExecutor networkQualityExecutor = new TestExecutor(); | 261 TestExecutor networkQualityExecutor = new TestExecutor(); |
261 TestNetworkQualityRttListener rttListener = | 262 TestNetworkQualityRttListener rttListener = |
262 new TestNetworkQualityRttListener(networkQualityExecutor); | 263 new TestNetworkQualityRttListener(networkQualityExecutor); |
263 mCronetEngineBuilder.enableNetworkQualityEstimator(true); | 264 mCronetEngineBuilder.enableNetworkQualityEstimator(true); |
264 mTestFramework = | 265 mTestFramework = |
265 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, mCro
netEngineBuilder); | 266 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, mCro
netEngineBuilder); |
266 mTestFramework.mCronetEngine.configureNetworkQualityEstimatorForTesting(
true, true); | 267 mTestFramework.mCronetEngine.configureNetworkQualityEstimatorForTesting(
true, true); |
267 | 268 |
268 mTestFramework.mCronetEngine.addRttListener(rttListener); | 269 mTestFramework.mCronetEngine.addRttListener(rttListener); |
269 mTestFramework.mCronetEngine.removeRttListener(rttListener); | 270 mTestFramework.mCronetEngine.removeRttListener(rttListener); |
270 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 271 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
271 UrlRequest urlRequest = | 272 UrlRequest.Builder builder = new UrlRequest.Builder( |
272 mTestFramework.mCronetEngine.createRequest(mUrl, callback, callb
ack.getExecutor()); | 273 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); |
| 274 UrlRequest urlRequest = builder.build(); |
273 urlRequest.start(); | 275 urlRequest.start(); |
274 callback.blockForDone(); | 276 callback.blockForDone(); |
275 networkQualityExecutor.runAllTasks(); | 277 networkQualityExecutor.runAllTasks(); |
276 assertEquals(0, rttListener.rttObservationCount()); | 278 assertEquals(0, rttListener.rttObservationCount()); |
277 mTestFramework.mCronetEngine.shutdown(); | 279 mTestFramework.mCronetEngine.shutdown(); |
278 } | 280 } |
279 | 281 |
280 @SmallTest | 282 @SmallTest |
281 @Feature({"Cronet"}) | 283 @Feature({"Cronet"}) |
282 public void testRealTimeNetworkQualityObservationsQuicDisabled() throws Exce
ption { | 284 public void testRealTimeNetworkQualityObservationsQuicDisabled() throws Exce
ption { |
(...skipping 13 matching lines...) Expand all Loading... |
296 mTestFramework.mCronetEngine.configureNetworkQualityEstimatorForTesting(
true, true); | 298 mTestFramework.mCronetEngine.configureNetworkQualityEstimatorForTesting(
true, true); |
297 // requestFinishedListenerExecutor should not be used for notifying the
RTT and | 299 // requestFinishedListenerExecutor should not be used for notifying the
RTT and |
298 // throughput listeners. | 300 // throughput listeners. |
299 mTestFramework.mCronetEngine.setRequestFinishedListenerExecutor( | 301 mTestFramework.mCronetEngine.setRequestFinishedListenerExecutor( |
300 requestFinishedListenerExecutor); | 302 requestFinishedListenerExecutor); |
301 | 303 |
302 mTestFramework.mCronetEngine.addRttListener(rttListener); | 304 mTestFramework.mCronetEngine.addRttListener(rttListener); |
303 mTestFramework.mCronetEngine.addThroughputListener(throughputListener); | 305 mTestFramework.mCronetEngine.addThroughputListener(throughputListener); |
304 | 306 |
305 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 307 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
306 UrlRequest urlRequest = | 308 UrlRequest.Builder builder = new UrlRequest.Builder( |
307 mTestFramework.mCronetEngine.createRequest(mUrl, callback, callb
ack.getExecutor()); | 309 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn
gine); |
| 310 UrlRequest urlRequest = builder.build(); |
308 urlRequest.start(); | 311 urlRequest.start(); |
309 callback.blockForDone(); | 312 callback.blockForDone(); |
310 | 313 |
311 // Throughput observation is posted to the network quality estimator on
the network thread | 314 // Throughput observation is posted to the network quality estimator on
the network thread |
312 // after the UrlRequest is completed. The observations are then eventual
ly posted to | 315 // after the UrlRequest is completed. The observations are then eventual
ly posted to |
313 // throughput listeners on the executor provided to network quality. | 316 // throughput listeners on the executor provided to network quality. |
314 waitForThroughput.block(); | 317 waitForThroughput.block(); |
315 assertTrue(throughputListener.throughputObservationCount() > 0); | 318 assertTrue(throughputListener.throughputObservationCount() > 0); |
316 | 319 |
317 // Check RTT observation count after throughput observation has been rec
eived. This ensures | 320 // Check RTT observation count after throughput observation has been rec
eived. This ensures |
(...skipping 962 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1280 } | 1283 } |
1281 }.start(); | 1284 }.start(); |
1282 otherThreadDone.block(); | 1285 otherThreadDone.block(); |
1283 builder.build().shutdown(); | 1286 builder.build().shutdown(); |
1284 uiThreadDone.open(); | 1287 uiThreadDone.open(); |
1285 } | 1288 } |
1286 }); | 1289 }); |
1287 assertTrue(uiThreadDone.block(1000)); | 1290 assertTrue(uiThreadDone.block(1000)); |
1288 } | 1291 } |
1289 } | 1292 } |
OLD | NEW |