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.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 Loading... | |
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 } |
OLD | NEW |