Chromium Code Reviews| 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; |
| 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 Loading... | |
| 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 } |
| OLD | NEW |