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 95f35eed336afe712c640f82540cbb353600e2fb..79c0e072423f7fdf16140fad42ae6c2ede205f9f 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 |
@@ -20,10 +20,12 @@ import org.chromium.base.test.util.FlakyTest; |
import org.chromium.net.CronetEngine.UrlRequestInfo; |
import org.chromium.net.TestUrlRequestCallback.ResponseStep; |
import org.chromium.net.test.EmbeddedTestServer; |
+import org.json.JSONObject; |
import java.io.BufferedReader; |
import java.io.File; |
import java.io.FileReader; |
+import java.net.URL; |
import java.util.Arrays; |
import java.util.HashSet; |
import java.util.LinkedList; |
@@ -1174,4 +1176,28 @@ public class CronetUrlRequestContextTest extends CronetTestBase { |
}); |
assertTrue(uiThreadDone.block(1000)); |
} |
+ |
+ @SmallTest |
+ @Feature({"Cronet"}) |
+ public void testHostResolverRules() throws Exception { |
+ String resolverTestHostname = "some-weird-hostname"; |
+ URL testUrl = new URL(mUrl); |
+ CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(getContext()); |
+ JSONObject hostResolverRules = new JSONObject().put( |
+ "host_resolver_rules", "MAP " + resolverTestHostname + " " + testUrl.getHost()); |
+ JSONObject experimentalOptions = |
+ new JSONObject().put("HostResolverRules", hostResolverRules); |
+ cronetEngineBuilder.setExperimentalOptions(experimentalOptions.toString()); |
+ |
+ mTestFramework = |
+ startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, cronetEngineBuilder); |
+ TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
+ URL requestUrl = |
+ new URL("http", resolverTestHostname, testUrl.getPort(), testUrl.getFile()); |
+ UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(requestUrl.toString(), |
+ callback, callback.getExecutor(), mTestFramework.mCronetEngine); |
+ urlRequestBuilder.build().start(); |
+ callback.blockForDone(); |
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
+ } |
} |