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

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

Issue 1817553002: Add host resolver rules experimental flag for Cronet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 6 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 unified diff | Download patch
OLDNEW
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 static org.chromium.base.CollectionUtil.newHashSet; 7 import static org.chromium.base.CollectionUtil.newHashSet;
8 8
9 import android.content.Context; 9 import android.content.Context;
10 import android.content.ContextWrapper; 10 import android.content.ContextWrapper;
11 import android.os.ConditionVariable; 11 import android.os.ConditionVariable;
12 import android.os.Handler; 12 import android.os.Handler;
13 import android.os.Looper; 13 import android.os.Looper;
14 import android.test.suitebuilder.annotation.SmallTest; 14 import android.test.suitebuilder.annotation.SmallTest;
15 15
16 import org.chromium.base.PathUtils; 16 import org.chromium.base.PathUtils;
17 import org.chromium.base.annotations.JNINamespace; 17 import org.chromium.base.annotations.JNINamespace;
18 import org.chromium.base.test.util.Feature; 18 import org.chromium.base.test.util.Feature;
19 import org.chromium.base.test.util.FlakyTest; 19 import org.chromium.base.test.util.FlakyTest;
20 import org.chromium.net.CronetEngine.UrlRequestInfo; 20 import org.chromium.net.CronetEngine.UrlRequestInfo;
21 import org.chromium.net.TestUrlRequestCallback.ResponseStep; 21 import org.chromium.net.TestUrlRequestCallback.ResponseStep;
22 import org.chromium.net.test.EmbeddedTestServer; 22 import org.chromium.net.test.EmbeddedTestServer;
23 import org.json.JSONObject;
23 24
24 import java.io.BufferedReader; 25 import java.io.BufferedReader;
25 import java.io.File; 26 import java.io.File;
26 import java.io.FileReader; 27 import java.io.FileReader;
27 import java.util.Arrays; 28 import java.util.Arrays;
28 import java.util.HashSet; 29 import java.util.HashSet;
29 import java.util.LinkedList; 30 import java.util.LinkedList;
30 import java.util.NoSuchElementException; 31 import java.util.NoSuchElementException;
31 import java.util.concurrent.Executor; 32 import java.util.concurrent.Executor;
32 import java.util.concurrent.Executors; 33 import java.util.concurrent.Executors;
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1167 cronetEngine.shutdown(); 1168 cronetEngine.shutdown();
1168 } 1169 }
1169 }.start(); 1170 }.start();
1170 otherThreadDone.block(); 1171 otherThreadDone.block();
1171 builder.build().shutdown(); 1172 builder.build().shutdown();
1172 uiThreadDone.open(); 1173 uiThreadDone.open();
1173 } 1174 }
1174 }); 1175 });
1175 assertTrue(uiThreadDone.block(1000)); 1176 assertTrue(uiThreadDone.block(1000));
1176 } 1177 }
1178
1179 @SmallTest
1180 @Feature({"Cronet"})
1181 public void testHostResolverRules() throws Exception {
1182 String resolverTestHostname = "some-weird-hostname";
1183 // Split mUrl into "http:", "", hostname, relative URL
1184 String[] testUrlParts = mUrl.split("/");
pauljensen 2016/06/10 14:19:37 this is pretty confusing, why not: URL testUrl = n
mgersh 2016/06/29 17:43:31 I didn't know that existed. Done.
1185 CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(getC ontext());
1186 JSONObject hostResolverRules = new JSONObject().put(
1187 "host_resolver_rules", "MAP " + resolverTestHostname + " " + tes tUrlParts[2]);
1188 JSONObject experimentalOptions =
1189 new JSONObject().put("HostResolverRules", hostResolverRules);
1190 cronetEngineBuilder.setExperimentalOptions(experimentalOptions.toString( ));
1191
1192 mTestFramework =
1193 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, cron etEngineBuilder);
1194 TestUrlRequestCallback callback = new TestUrlRequestCallback();
1195 UrlRequest.Builder urlRequestBuilder =
1196 new UrlRequest.Builder("http://" + resolverTestHostname + "/" + testUrlParts[3],
pauljensen 2016/06/10 14:19:37 nit: maybe build the URL with: new URL("h
mgersh 2016/06/29 17:43:31 Done.
1197 callback, callback.getExecutor(), mTestFramework.mCronet Engine);
1198 urlRequestBuilder.build().start();
1199 callback.blockForDone();
1200 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
1201 }
1177 } 1202 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698