OLD | NEW |
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; |
| 28 import java.net.URL; |
27 import java.util.Arrays; | 29 import java.util.Arrays; |
28 import java.util.HashSet; | 30 import java.util.HashSet; |
29 import java.util.LinkedList; | 31 import java.util.LinkedList; |
30 import java.util.NoSuchElementException; | 32 import java.util.NoSuchElementException; |
31 import java.util.concurrent.Executor; | 33 import java.util.concurrent.Executor; |
32 import java.util.concurrent.Executors; | 34 import java.util.concurrent.Executors; |
33 | 35 |
34 /** | 36 /** |
35 * Test CronetEngine. | 37 * Test CronetEngine. |
36 */ | 38 */ |
(...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1167 cronetEngine.shutdown(); | 1169 cronetEngine.shutdown(); |
1168 } | 1170 } |
1169 }.start(); | 1171 }.start(); |
1170 otherThreadDone.block(); | 1172 otherThreadDone.block(); |
1171 builder.build().shutdown(); | 1173 builder.build().shutdown(); |
1172 uiThreadDone.open(); | 1174 uiThreadDone.open(); |
1173 } | 1175 } |
1174 }); | 1176 }); |
1175 assertTrue(uiThreadDone.block(1000)); | 1177 assertTrue(uiThreadDone.block(1000)); |
1176 } | 1178 } |
| 1179 |
| 1180 @SmallTest |
| 1181 @Feature({"Cronet"}) |
| 1182 public void testHostResolverRules() throws Exception { |
| 1183 String resolverTestHostname = "some-weird-hostname"; |
| 1184 URL testUrl = new URL(mUrl); |
| 1185 CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(getC
ontext()); |
| 1186 JSONObject hostResolverRules = new JSONObject().put( |
| 1187 "host_resolver_rules", "MAP " + resolverTestHostname + " " + tes
tUrl.getHost()); |
| 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 URL requestUrl = |
| 1196 new URL("http", resolverTestHostname, testUrl.getPort(), testUrl
.getFile()); |
| 1197 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(requestUrl
.toString(), |
| 1198 callback, callback.getExecutor(), mTestFramework.mCronetEngine); |
| 1199 urlRequestBuilder.build().start(); |
| 1200 callback.blockForDone(); |
| 1201 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
| 1202 } |
1177 } | 1203 } |
OLD | NEW |