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

Unified Diff: components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java

Issue 937513003: Add Data Saver support to Cronet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added test Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
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 b74554520b83b940556ad479154f3a2af83a136c..94b173868a8ee88941c05d3376a0116713a02ef0 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
@@ -122,6 +122,45 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
@SmallTest
@Feature({"Cronet"})
+ public void testDataReductionProxyEnabled() throws Exception {
+ UrlRequestContextConfig config = new UrlRequestContextConfig();
+ config.enableDataReductionProxy(false, "test-key");
+ config.setLibraryName("cronet_tests");
+ String[] commandLineArgs = {
+ CronetTestActivity.CONFIG_KEY, config.toString()
+ };
+ mActivity = launchCronetTestAppWithUrlAndCommandLineArgs(null,
+ commandLineArgs);
+ assertTrue(NativeTestServer.startNativeTestServer(
+ getInstrumentation().getTargetContext()));
+
+ String serverHostPort = "127.0.0.1:" + NativeTestServer.getPort();
mmenke 2015/04/01 16:48:53 Can we just use getHostPortPair instead of getPort
bengr 2015/04/24 02:30:43 NativeTestServer doesn't hold onto the host.
mmenke 2015/04/24 15:54:59 It does. That's how the other NativeTestServer me
bengr 2015/04/24 21:13:50 Done.
+ // Shutdown the original context and create a new context that uses the
+ // NativeTestServer as the data reduction proxy.
+ mActivity.mUrlRequestContext.shutdown();
mmenke 2015/04/01 16:48:53 Why can't we just start the test server first, and
bengr 2015/04/24 02:30:43 This was a chicken and egg problem. The server nee
mmenke 2015/04/24 15:54:59 See skipFactoryInitInOnCreate.
+ UrlRequestContextConfig config2 = new UrlRequestContextConfig();
+ config2.enableDataReductionProxy(true, "test-key");
+ config2.setDataReductionProxyOptions(
+ serverHostPort + ","
+ + "unused.net:9999" + ","
+ + NativeTestServer.getFileURL("/secureproxychecksuccess.txt"));
+ config2.setLibraryName("cronet_tests");
+ mActivity.mUrlRequestContext =
+ mActivity.mUrlRequestContext.createContext(
+ getInstrumentation().getTargetContext(), config2);
+ TestUrlRequestListener listener = new TestUrlRequestListener();
+ UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest(
+ "http://google.com/datareductionproxysuccess.txt",
+ listener, listener.getExecutor());
+
+ urlRequest.start();
+ listener.blockForDone();
+ assertEquals(200, listener.mResponseInfo.getHttpStatusCode());
+ assertEquals(serverHostPort, listener.mResponseInfo.getProxyServer());
mmenke 2015/04/01 16:48:53 Should we check that the other parameters work as
mmenke 2015/04/01 16:48:53 Check the URL as well? (http://google.com/datared
bengr 2015/04/24 02:30:43 What other parameters? The race doesn't matter. Th
bengr 2015/04/24 02:30:43 Done.
mmenke 2015/04/24 15:54:59 Other parameters -> The second proxy and the proxy
bengr 2015/04/24 21:13:50 These aren't exposed easily. setDataReductionProxy
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
public void testShutdown() throws Exception {
mActivity = launchCronetTestApp();
TestUrlRequestListener listener = new ShutdownTestUrlRequestListener();

Powered by Google App Engine
This is Rietveld 408576698