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

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

Issue 860893002: [Cronet] Allow UrlRequest bypass cache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 10 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/cronet_test_apk/CronetUrlRequestContextTest.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java
index f907d91fb4a2141544df52215c575736ea6dfe18..8e1bd548afca9314421c17d0f0aa999d8651a2e9 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java
@@ -297,9 +297,17 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
}
private void checkRequestCaching(String url, boolean expectCached) {
+ checkRequestCaching(url, expectCached, false);
+ }
+
+ private void checkRequestCaching(String url, boolean expectCached,
+ boolean disableCache) {
TestUrlRequestListener listener = new TestUrlRequestListener();
UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest(
url, listener, listener.getExecutor());
+ if (disableCache) {
+ urlRequest.disableCache();
+ }
urlRequest.start();
listener.blockForDone();
assertEquals(expectCached, listener.mResponseInfo.wasCached());
@@ -348,6 +356,36 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
checkRequestCaching(url, false);
}
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testDisableCache() throws Exception {
+ enableCache(UrlRequestContextConfig.HttpCache.DISK);
+ String url = NativeTestServer.getFileURL("/cacheable.txt");
+
+ // When cache is disabled, making a request does not write to the cache.
+ checkRequestCaching(url, false, true /** disable cache */);
+ checkRequestCaching(url, false);
+
+ // When cache is enabled, the second request is cached.
+ checkRequestCaching(url, false, true /** disable cache */);
+ checkRequestCaching(url, true);
+
+ // Shut down the server, next request should have a cached response.
+ NativeTestServer.shutdownNativeTestServer();
+ checkRequestCaching(url, true);
+
+ // Cache is disabled after server is shut down, request should fail.
+ TestUrlRequestListener listener = new TestUrlRequestListener();
+ UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest(
+ url, listener, listener.getExecutor());
+ urlRequest.disableCache();
+ urlRequest.start();
+ listener.blockForDone();
+ assertNotNull(listener.mError);
+ assertEquals("Exception in CronetUrlRequest: net::ERR_CONNECTION_REFUSED",
+ listener.mError.getMessage());
+ }
+
// TODO(mef): Simple cache uses global thread pool that is not affected by
// shutdown of UrlRequestContext. This test can be flaky unless that thread
// pool is destroyed and recreated. Enable the test when crbug.com/442321 is fixed.

Powered by Google App Engine
This is Rietveld 408576698