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

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: Fix error caused by conflicting change, and rebase Created 4 years, 8 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.FlakyTest; 14 import android.test.FlakyTest;
15 import android.test.suitebuilder.annotation.SmallTest; 15 import android.test.suitebuilder.annotation.SmallTest;
16 16
17 import org.chromium.base.PathUtils; 17 import org.chromium.base.PathUtils;
18 import org.chromium.base.annotations.JNINamespace; 18 import org.chromium.base.annotations.JNINamespace;
19 import org.chromium.base.test.util.DisabledTest; 19 import org.chromium.base.test.util.DisabledTest;
20 import org.chromium.base.test.util.Feature; 20 import org.chromium.base.test.util.Feature;
21 import org.chromium.net.CronetEngine.UrlRequestInfo; 21 import org.chromium.net.CronetEngine.UrlRequestInfo;
22 import org.chromium.net.TestUrlRequestCallback.ResponseStep; 22 import org.chromium.net.TestUrlRequestCallback.ResponseStep;
23 import org.chromium.net.test.EmbeddedTestServer; 23 import org.chromium.net.test.EmbeddedTestServer;
24 import org.json.JSONObject;
24 25
25 import java.io.BufferedReader; 26 import java.io.BufferedReader;
26 import java.io.File; 27 import java.io.File;
27 import java.io.FileReader; 28 import java.io.FileReader;
28 import java.util.Arrays; 29 import java.util.Arrays;
29 import java.util.HashSet; 30 import java.util.HashSet;
30 import java.util.LinkedList; 31 import java.util.LinkedList;
31 import java.util.NoSuchElementException; 32 import java.util.NoSuchElementException;
32 import java.util.concurrent.Executor; 33 import java.util.concurrent.Executor;
33 34
34 /** 35 /**
35 * Test CronetEngine. 36 * Test CronetEngine.
36 */ 37 */
37 @JNINamespace("cronet") 38 @JNINamespace("cronet")
38 public class CronetUrlRequestContextTest extends CronetTestBase { 39 public class CronetUrlRequestContextTest extends CronetTestBase {
39 // URLs used for tests. 40 // URLs used for tests.
40 private static final String MOCK_CRONET_TEST_FAILED_URL = 41 private static final String MOCK_CRONET_TEST_FAILED_URL =
41 "http://mock.failed.request/-2"; 42 "http://mock.failed.request/-2";
42 private static final String MOCK_CRONET_TEST_SUCCESS_URL = 43 private static final String MOCK_CRONET_TEST_SUCCESS_URL =
43 "http://mock.http/success.txt"; 44 "http://mock.http/success.txt";
45 private static final String RESOLVER_TEST_HOSTNAME = "some-weird-hostname";
pauljensen 2016/04/07 16:29:15 if this is just used for one test, how about we mo
mgersh 2016/06/08 18:31:14 Done.
44 46
45 private EmbeddedTestServer mTestServer; 47 private EmbeddedTestServer mTestServer;
46 private String mUrl; 48 private String mUrl;
47 private String mUrl404; 49 private String mUrl404;
48 CronetTestFramework mTestFramework; 50 CronetTestFramework mTestFramework;
49 51
50 @Override 52 @Override
51 protected void setUp() throws Exception { 53 protected void setUp() throws Exception {
52 super.setUp(); 54 super.setUp();
53 mTestServer = EmbeddedTestServer.createAndStartDefaultServer(getContext( )); 55 mTestServer = EmbeddedTestServer.createAndStartDefaultServer(getContext( ));
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after
1012 builder.setLibraryLoader(loader).setLibraryName("cronet_tests"); 1014 builder.setLibraryLoader(loader).setLibraryName("cronet_tests");
1013 try { 1015 try {
1014 // ensureInitialized() calls native code to check the version right after library load 1016 // ensureInitialized() calls native code to check the version right after library load
1015 // and will error with the message below if library loading was skip ped 1017 // and will error with the message below if library loading was skip ped
1016 CronetLibraryLoader.ensureInitialized(getContext(), builder); 1018 CronetLibraryLoader.ensureInitialized(getContext(), builder);
1017 fail("Native library should not be loaded"); 1019 fail("Native library should not be loaded");
1018 } catch (UnsatisfiedLinkError e) { 1020 } catch (UnsatisfiedLinkError e) {
1019 assertTrue(loader.wasCalled()); 1021 assertTrue(loader.wasCalled());
1020 } 1022 }
1021 } 1023 }
1024
1025 @SmallTest
1026 @Feature({"Cronet"})
1027 public void testHostResolverRules() throws Exception {
1028 CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(getC ontext());
1029 JSONObject hostResolverRules = new JSONObject().put(
1030 "host_resolver_rules", "MAP " + RESOLVER_TEST_HOSTNAME + " 127.0 .0.1:8000");
pauljensen 2016/04/07 16:29:15 I think port 8000 is the python test server runnin
mgersh 2016/06/08 18:31:13 Done, with some fiddling to get the right parts of
1031 JSONObject experimentalOptions =
1032 new JSONObject().put("HostResolverRules", hostResolverRules);
1033 cronetEngineBuilder.setExperimentalOptions(experimentalOptions.toString( ));
1034
1035 mTestFramework =
1036 startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, cron etEngineBuilder);
1037 TestUrlRequestCallback callback = new TestUrlRequestCallback();
1038 UrlRequest.Builder urlRequestBuilder =
1039 new UrlRequest.Builder("http://" + RESOLVER_TEST_HOSTNAME, callb ack,
pauljensen 2016/04/07 16:29:15 can this also use mUrl?
mgersh 2016/06/08 18:31:14 Done.
1040 callback.getExecutor(), mTestFramework.mCronetEngine);
1041 urlRequestBuilder.build().start();
1042 callback.blockForDone();
1043 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
1044 }
1022 } 1045 }
OLDNEW
« no previous file with comments | « no previous file | components/cronet/url_request_context_config.cc » ('j') | components/cronet/url_request_context_config.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698