| 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 android.content.Context; | 7 import android.content.Context; |
| 8 import android.content.ContextWrapper; | 8 import android.content.ContextWrapper; |
| 9 import android.os.ConditionVariable; | 9 import android.os.ConditionVariable; |
| 10 import android.os.Handler; | 10 import android.os.Handler; |
| 11 import android.os.Looper; | 11 import android.os.Looper; |
| 12 import android.test.suitebuilder.annotation.SmallTest; | 12 import android.test.suitebuilder.annotation.SmallTest; |
| 13 | 13 |
| 14 import org.chromium.base.PathUtils; | 14 import org.chromium.base.PathUtils; |
| 15 import org.chromium.base.annotations.JNINamespace; | |
| 16 import org.chromium.base.test.util.Feature; | 15 import org.chromium.base.test.util.Feature; |
| 17 import org.chromium.net.TestUrlRequestCallback.ResponseStep; | 16 import org.chromium.net.TestUrlRequestCallback.ResponseStep; |
| 18 | 17 |
| 19 import java.io.BufferedReader; | 18 import java.io.BufferedReader; |
| 20 import java.io.File; | 19 import java.io.File; |
| 21 import java.io.FileReader; | 20 import java.io.FileReader; |
| 22 import java.util.Arrays; | 21 import java.util.Arrays; |
| 23 import java.util.LinkedList; | 22 import java.util.LinkedList; |
| 24 import java.util.NoSuchElementException; | 23 import java.util.NoSuchElementException; |
| 25 import java.util.concurrent.Executor; | 24 import java.util.concurrent.Executor; |
| 26 | 25 |
| 27 /** | 26 /** |
| 28 * Test CronetEngine. | 27 * Test CronetEngine. |
| 29 */ | 28 */ |
| 30 @JNINamespace("cronet") | |
| 31 public class CronetUrlRequestContextTest extends CronetTestBase { | 29 public class CronetUrlRequestContextTest extends CronetTestBase { |
| 32 // URLs used for tests. | 30 // URLs used for tests. |
| 33 private static final String TEST_URL = "http://127.0.0.1:8000"; | 31 private static final String TEST_URL = "http://127.0.0.1:8000"; |
| 34 private static final String URL_404 = "http://127.0.0.1:8000/notfound404"; | 32 private static final String URL_404 = "http://127.0.0.1:8000/notfound404"; |
| 35 private static final String MOCK_CRONET_TEST_FAILED_URL = | 33 private static final String MOCK_CRONET_TEST_FAILED_URL = |
| 36 "http://mock.failed.request/-2"; | 34 "http://mock.failed.request/-2"; |
| 37 private static final String MOCK_CRONET_TEST_SUCCESS_URL = | 35 private static final String MOCK_CRONET_TEST_SUCCESS_URL = |
| 38 "http://mock.http/success.txt"; | 36 "http://mock.http/success.txt"; |
| 39 | 37 |
| 40 CronetTestFramework mTestFramework; | 38 CronetTestFramework mTestFramework; |
| (...skipping 745 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 786 | 784 |
| 787 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 785 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 788 UrlRequest.Builder builder = new UrlRequest.Builder( | 786 UrlRequest.Builder builder = new UrlRequest.Builder( |
| 789 TEST_URL, callback, callback.getExecutor(), mTestFramework.mCron
etEngine); | 787 TEST_URL, callback, callback.getExecutor(), mTestFramework.mCron
etEngine); |
| 790 builder.build().start(); | 788 builder.build().start(); |
| 791 callback.blockForDone(); | 789 callback.blockForDone(); |
| 792 byte delta2[] = mTestFramework.mCronetEngine.getGlobalMetricsDeltas(); | 790 byte delta2[] = mTestFramework.mCronetEngine.getGlobalMetricsDeltas(); |
| 793 assertTrue(delta2.length != 0); | 791 assertTrue(delta2.length != 0); |
| 794 assertFalse(Arrays.equals(delta1, delta2)); | 792 assertFalse(Arrays.equals(delta1, delta2)); |
| 795 } | 793 } |
| 796 | |
| 797 @SmallTest | |
| 798 @Feature({"Cronet"}) | |
| 799 public void testCronetEngineBuilderConfig() throws Exception { | |
| 800 // This is to prompt load of native library. | |
| 801 startCronetTestFramework(); | |
| 802 // Verify CronetEngine.Builder config is passed down accurately to nativ
e code. | |
| 803 CronetEngine.Builder builder = new CronetEngine.Builder(getContext()); | |
| 804 builder.enableHTTP2(false); | |
| 805 builder.enableQUIC(true); | |
| 806 builder.enableSDCH(true); | |
| 807 builder.addQuicHint("example.com", 12, 34); | |
| 808 builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_IN_MEMORY, 54321
); | |
| 809 builder.enableDataReductionProxy("abcd"); | |
| 810 builder.setUserAgent("efgh"); | |
| 811 builder.setExperimentalOptions("ijkl"); | |
| 812 builder.setDataReductionProxyOptions("mnop", "qrst", "uvwx"); | |
| 813 builder.setStoragePath(CronetTestFramework.getTestStorage(getContext()))
; | |
| 814 nativeVerifyUrlRequestContextConfig( | |
| 815 CronetUrlRequestContext.createNativeUrlRequestContextConfig(buil
der), | |
| 816 CronetTestFramework.getTestStorage(getContext())); | |
| 817 } | |
| 818 | |
| 819 // Verifies that CronetEngine.Builder config from testCronetEngineBuilderCon
fig() is properly | |
| 820 // translated to a native UrlRequestContextConfig. | |
| 821 private static native void nativeVerifyUrlRequestContextConfig(long config,
String storagePath); | |
| 822 } | 794 } |
| OLD | NEW |