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 android.content.Context; | 7 import android.content.Context; |
8 import android.content.ContextWrapper; | 8 import android.content.ContextWrapper; |
9 import android.os.ConditionVariable; | 9 import android.os.ConditionVariable; |
10 import android.os.Handler; | 10 import android.os.Handler; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 | 72 |
73 @Override | 73 @Override |
74 public void onFailed(UrlRequest request, | 74 public void onFailed(UrlRequest request, |
75 ResponseInfo info, | 75 ResponseInfo info, |
76 UrlRequestException error) { | 76 UrlRequestException error) { |
77 super.onFailed(request, info, error); | 77 super.onFailed(request, info, error); |
78 mActivity.mUrlRequestContext.shutdown(); | 78 mActivity.mUrlRequestContext.shutdown(); |
79 } | 79 } |
80 } | 80 } |
81 | 81 |
| 82 static class TestNetworkQualityObserver |
| 83 implements NetworkQualityRTTObserver, NetworkQualityThroughputObserv
er { |
| 84 int mRTTObservationCount; |
| 85 int mThroughputObservationCount; |
| 86 |
| 87 public void onRTTObservation(int rttMs, long when, int source) { |
| 88 mRTTObservationCount++; |
| 89 } |
| 90 |
| 91 public void onThroughputObservation(int throughputKbps, long when, int s
ource) { |
| 92 mThroughputObservationCount++; |
| 93 } |
| 94 |
| 95 public int rttObservationCount() { |
| 96 return mRTTObservationCount; |
| 97 } |
| 98 |
| 99 public int throughputObservationCount() { |
| 100 return mThroughputObservationCount; |
| 101 } |
| 102 } |
| 103 |
82 @SmallTest | 104 @SmallTest |
83 @Feature({"Cronet"}) | 105 @Feature({"Cronet"}) |
84 public void testConfigUserAgent() throws Exception { | 106 public void testConfigUserAgent() throws Exception { |
85 String userAgentName = "User-Agent"; | 107 String userAgentName = "User-Agent"; |
86 String userAgentValue = "User-Agent-Value"; | 108 String userAgentValue = "User-Agent-Value"; |
87 UrlRequestContextConfig config = new UrlRequestContextConfig(); | 109 UrlRequestContextConfig config = new UrlRequestContextConfig(); |
88 config.setUserAgent(userAgentValue); | 110 config.setUserAgent(userAgentValue); |
89 config.setLibraryName("cronet_tests"); | 111 config.setLibraryName("cronet_tests"); |
90 String[] commandLineArgs = { | 112 String[] commandLineArgs = { |
91 CronetTestActivity.CONFIG_KEY, config.toString() | 113 CronetTestActivity.CONFIG_KEY, config.toString() |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 // Proxy logic configured to use the test server as its proxy. | 169 // Proxy logic configured to use the test server as its proxy. |
148 assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 170 assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); |
149 assertEquals(serverHostPort, listener.mResponseInfo.getProxyServer()); | 171 assertEquals(serverHostPort, listener.mResponseInfo.getProxyServer()); |
150 assertEquals( | 172 assertEquals( |
151 "http://DomainThatDoesnt.Resolve/datareductionproxysuccess.txt", | 173 "http://DomainThatDoesnt.Resolve/datareductionproxysuccess.txt", |
152 listener.mResponseInfo.getUrl()); | 174 listener.mResponseInfo.getUrl()); |
153 } | 175 } |
154 | 176 |
155 @SmallTest | 177 @SmallTest |
156 @Feature({"Cronet"}) | 178 @Feature({"Cronet"}) |
| 179 public void testRealTimeNetworkQualityObservationsNotEnabled() throws Except
ion { |
| 180 mActivity = launchCronetTestApp(); |
| 181 TestNetworkQualityObserver networkQualityObserver = new TestNetworkQuali
tyObserver(); |
| 182 mActivity.mUrlRequestContext.addRTTObserver(networkQualityObserver); |
| 183 mActivity.mUrlRequestContext.addThroughputObserver(networkQualityObserve
r); |
| 184 TestUrlRequestListener listener = new TestUrlRequestListener(); |
| 185 UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( |
| 186 TEST_URL, listener, listener.getExecutor()); |
| 187 urlRequest.start(); |
| 188 listener.blockForDone(); |
| 189 assertEquals(0, networkQualityObserver.rttObservationCount()); |
| 190 assertEquals(0, networkQualityObserver.throughputObservationCount()); |
| 191 mActivity.mUrlRequestContext.shutdown(); |
| 192 } |
| 193 |
| 194 @SmallTest |
| 195 @Feature({"Cronet"}) |
| 196 public void testRealTimeNetworkQualityObservationsObserverRemoved() throws E
xception { |
| 197 mActivity = launchCronetTestApp(); |
| 198 TestNetworkQualityObserver networkQualityObserver = new TestNetworkQuali
tyObserver(); |
| 199 mActivity.mUrlRequestContext.enableNetworkQualityEstimator(true, true); |
| 200 mActivity.mUrlRequestContext.addRTTObserver(networkQualityObserver); |
| 201 mActivity.mUrlRequestContext.addThroughputObserver(networkQualityObserve
r); |
| 202 mActivity.mUrlRequestContext.removeRTTObserver(networkQualityObserver); |
| 203 mActivity.mUrlRequestContext.removeThroughputObserver(networkQualityObse
rver); |
| 204 TestUrlRequestListener listener = new TestUrlRequestListener(); |
| 205 UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( |
| 206 TEST_URL, listener, listener.getExecutor()); |
| 207 urlRequest.start(); |
| 208 listener.blockForDone(); |
| 209 assertEquals(0, networkQualityObserver.rttObservationCount()); |
| 210 assertEquals(0, networkQualityObserver.throughputObservationCount()); |
| 211 mActivity.mUrlRequestContext.shutdown(); |
| 212 } |
| 213 |
| 214 @SmallTest |
| 215 @Feature({"Cronet"}) |
| 216 public void testRealTimeNetworkQualityObservations() throws Exception { |
| 217 mActivity = launchCronetTestApp(); |
| 218 TestNetworkQualityObserver networkQualityObserver = new TestNetworkQuali
tyObserver(); |
| 219 mActivity.mUrlRequestContext.enableNetworkQualityEstimator(true, true); |
| 220 mActivity.mUrlRequestContext.addRTTObserver(networkQualityObserver); |
| 221 mActivity.mUrlRequestContext.addThroughputObserver(networkQualityObserve
r); |
| 222 TestUrlRequestListener listener = new TestUrlRequestListener(); |
| 223 UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( |
| 224 TEST_URL, listener, listener.getExecutor()); |
| 225 urlRequest.start(); |
| 226 listener.blockForDone(); |
| 227 assertTrue(networkQualityObserver.rttObservationCount() > 0); |
| 228 assertTrue(networkQualityObserver.throughputObservationCount() > 0); |
| 229 mActivity.mUrlRequestContext.shutdown(); |
| 230 } |
| 231 |
| 232 @SmallTest |
| 233 @Feature({"Cronet"}) |
157 public void testShutdown() throws Exception { | 234 public void testShutdown() throws Exception { |
158 mActivity = launchCronetTestApp(); | 235 mActivity = launchCronetTestApp(); |
159 TestUrlRequestListener listener = new ShutdownTestUrlRequestListener(); | 236 TestUrlRequestListener listener = new ShutdownTestUrlRequestListener(); |
160 // Block listener when response starts to verify that shutdown fails | 237 // Block listener when response starts to verify that shutdown fails |
161 // if there are active requests. | 238 // if there are active requests. |
162 listener.setAutoAdvance(false); | 239 listener.setAutoAdvance(false); |
163 UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 240 UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( |
164 TEST_URL, listener, listener.getExecutor()); | 241 TEST_URL, listener, listener.getExecutor()); |
165 urlRequest.start(); | 242 urlRequest.start(); |
166 try { | 243 try { |
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
668 new CronetUrlRequestContext(mActivity, mActivity.getContextConfi
g()); | 745 new CronetUrlRequestContext(mActivity, mActivity.getContextConfi
g()); |
669 CronetUrlRequestContext secondContext = new CronetUrlRequestContext( | 746 CronetUrlRequestContext secondContext = new CronetUrlRequestContext( |
670 mActivity.getApplicationContext(), mActivity.getContextConfig())
; | 747 mActivity.getApplicationContext(), mActivity.getContextConfig())
; |
671 CronetUrlRequestContext thirdContext = new CronetUrlRequestContext( | 748 CronetUrlRequestContext thirdContext = new CronetUrlRequestContext( |
672 new ContextWrapper(mActivity), mActivity.getContextConfig()); | 749 new ContextWrapper(mActivity), mActivity.getContextConfig()); |
673 firstContext.shutdown(); | 750 firstContext.shutdown(); |
674 secondContext.shutdown(); | 751 secondContext.shutdown(); |
675 thirdContext.shutdown(); | 752 thirdContext.shutdown(); |
676 } | 753 } |
677 } | 754 } |
OLD | NEW |