| Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| index d9cc5578e7169c741dd1b7ec1095a251996df6bc..59ac4fd9969582a40db0e0b9fd342083f30e0666 100644
|
| --- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| +++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| @@ -79,6 +79,28 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
|
| }
|
| }
|
|
|
| + static class TestNetworkQualityObserver
|
| + implements NetworkQualityRTTObserver, NetworkQualityThroughputObserver {
|
| + int mRTTObservationCount;
|
| + int mThroughputObservationCount;
|
| +
|
| + public void onRTTObservation(int rttMs, int when, int source) {
|
| + mRTTObservationCount++;
|
| + }
|
| +
|
| + public void onThroughputObservation(int throughputKbps, int when, int source) {
|
| + mThroughputObservationCount++;
|
| + }
|
| +
|
| + public int rttObservationCount() {
|
| + return mRTTObservationCount;
|
| + }
|
| +
|
| + public int throughputObservationCount() {
|
| + return mThroughputObservationCount;
|
| + }
|
| + }
|
| +
|
| @SmallTest
|
| @Feature({"Cronet"})
|
| public void testConfigUserAgent() throws Exception {
|
| @@ -154,6 +176,61 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
|
|
|
| @SmallTest
|
| @Feature({"Cronet"})
|
| + public void testRealTimeNetworkQualityObservationsNotEnabled() throws Exception {
|
| + mActivity = launchCronetTestApp();
|
| + TestNetworkQualityObserver networkQualityObserver = new TestNetworkQualityObserver();
|
| + mActivity.mUrlRequestContext.addRTTObserver(networkQualityObserver);
|
| + mActivity.mUrlRequestContext.addThroughputObserver(networkQualityObserver);
|
| + TestUrlRequestListener listener = new TestUrlRequestListener();
|
| + UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest(
|
| + TEST_URL, listener, listener.getExecutor());
|
| + urlRequest.start();
|
| + listener.blockForDone();
|
| + assertEquals(0, networkQualityObserver.rttObservationCount());
|
| + assertEquals(0, networkQualityObserver.throughputObservationCount());
|
| + mActivity.mUrlRequestContext.shutdown();
|
| + }
|
| +
|
| + @SmallTest
|
| + @Feature({"Cronet"})
|
| + public void testRealTimeNetworkQualityObservationsObserverRemoved() throws Exception {
|
| + mActivity = launchCronetTestApp();
|
| + TestNetworkQualityObserver networkQualityObserver = new TestNetworkQualityObserver();
|
| + mActivity.mUrlRequestContext.enableNetworkQualityEstimator(true, true);
|
| + mActivity.mUrlRequestContext.addRTTObserver(networkQualityObserver);
|
| + mActivity.mUrlRequestContext.addThroughputObserver(networkQualityObserver);
|
| + mActivity.mUrlRequestContext.removeRTTObserver(networkQualityObserver);
|
| + mActivity.mUrlRequestContext.removeThroughputObserver(networkQualityObserver);
|
| + TestUrlRequestListener listener = new TestUrlRequestListener();
|
| + UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest(
|
| + TEST_URL, listener, listener.getExecutor());
|
| + urlRequest.start();
|
| + listener.blockForDone();
|
| + assertEquals(0, networkQualityObserver.rttObservationCount());
|
| + assertEquals(0, networkQualityObserver.throughputObservationCount());
|
| + mActivity.mUrlRequestContext.shutdown();
|
| + }
|
| +
|
| + @SmallTest
|
| + @Feature({"Cronet"})
|
| + public void testRealTimeNetworkQualityObservations() throws Exception {
|
| + mActivity = launchCronetTestApp();
|
| + TestNetworkQualityObserver networkQualityObserver = new TestNetworkQualityObserver();
|
| + mActivity.mUrlRequestContext.enableNetworkQualityEstimator(true, true);
|
| + mActivity.mUrlRequestContext.addRTTObserver(networkQualityObserver);
|
| + mActivity.mUrlRequestContext.addThroughputObserver(networkQualityObserver);
|
| + TestUrlRequestListener listener = new TestUrlRequestListener();
|
| + UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest(
|
| + TEST_URL, listener, listener.getExecutor());
|
| + urlRequest.start();
|
| + listener.blockForDone();
|
| + assertTrue(networkQualityObserver.rttObservationCount() > 0);
|
| + assertTrue(networkQualityObserver.throughputObservationCount() > 0);
|
| + mActivity.mUrlRequestContext.shutdown();
|
| + }
|
| +
|
| + @SmallTest
|
| + @Feature({"Cronet"})
|
| public void testShutdown() throws Exception {
|
| mActivity = launchCronetTestApp();
|
| TestUrlRequestListener listener = new ShutdownTestUrlRequestListener();
|
|
|