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

Unified Diff: components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java

Issue 726013002: [Cronet] Hook up library loader, system proxy and network change notifier to async api. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Self review, cl format Created 5 years, 12 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 side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java
index c282cf861b4bd3bbfc6c39fc16cd61e58a87ef96..6e40b10176e05ee04125d924d5e1043c2c9c17d7 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/CronetUrlRequestContextTest.java
@@ -13,6 +13,7 @@ import org.chromium.cronet_test_apk.TestUrlRequestListener.ResponseStep;
import org.chromium.net.ExtendedResponseInfo;
import org.chromium.net.ResponseInfo;
import org.chromium.net.UrlRequest;
+import org.chromium.net.UrlRequestContext;
import org.chromium.net.UrlRequestContextConfig;
import org.chromium.net.UrlRequestException;
@@ -26,6 +27,7 @@ import java.util.Arrays;
public class CronetUrlRequestContextTest extends CronetTestBase {
// URLs used for tests.
private static final String TEST_URL = "http://127.0.0.1:8000";
+ private static final String URL_404 = "http://127.0.0.1:8000/notfound404";
private static final String MOCK_CRONET_TEST_FAILED_URL =
"http://mock.failed.request/-2";
private static final String MOCK_CRONET_TEST_SUCCESS_URL =
@@ -276,4 +278,94 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
assertTrue(file.delete());
assertTrue(!file.exists());
}
+
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testInitContextAndStartRequest() {
+ CronetTestActivity activity = skipFactoryInitInOnCreate();
+
+ // Immediately make a request after initializing the context.
+ UrlRequestContext requestContext = activity.initRequestContext();
+ TestUrlRequestListener listener = new TestUrlRequestListener();
+ UrlRequest urlRequest =
+ requestContext.createRequest(TEST_URL, listener, listener.getExecutor());
+ urlRequest.start();
+ listener.blockForDone();
+ assertEquals(200, listener.mResponseInfo.getHttpStatusCode());
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testInitContextStartTwoRequests() throws Exception {
+ CronetTestActivity activity = skipFactoryInitInOnCreate();
+
+ // Make two requests after initializing the context.
+ UrlRequestContext requestContext = activity.initRequestContext();
+ int[] statusCodes = {0, 0};
+ String[] urls = {TEST_URL, URL_404};
+ for (int i = 0; i < 2; i++) {
+ TestUrlRequestListener listener = new TestUrlRequestListener();
+ UrlRequest urlRequest =
+ requestContext.createRequest(urls[i], listener, listener.getExecutor());
+ urlRequest.start();
+ listener.blockForDone();
+ statusCodes[i] = listener.mResponseInfo.getHttpStatusCode();
+ }
+ assertEquals(200, statusCodes[0]);
+ assertEquals(404, statusCodes[1]);
+ }
+
+ class RequestThread extends Thread {
+ public TestUrlRequestListener mListener;
+
+ final CronetTestActivity mActivity;
+ final String mUrl;
+
+ public RequestThread(CronetTestActivity activity, String url) {
+ mActivity = activity;
+ mUrl = url;
+ }
+
+ @Override
+ public void run() {
+ UrlRequestContext requestContext = mActivity.initRequestContext();
+ mListener = new TestUrlRequestListener();
+ UrlRequest urlRequest =
+ requestContext.createRequest(mUrl, mListener, mListener.getExecutor());
+ urlRequest.start();
+ mListener.blockForDone();
+ }
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testInitTwoContextsSimultaneously() throws Exception {
+ final CronetTestActivity activity = skipFactoryInitInOnCreate();
+
+ RequestThread thread1 = new RequestThread(activity, TEST_URL);
+ RequestThread thread2 = new RequestThread(activity, URL_404);
+
+ thread1.start();
+ thread2.start();
+ thread1.join();
+ thread2.join();
+ assertEquals(200, thread1.mListener.mResponseInfo.getHttpStatusCode());
+ assertEquals(404, thread2.mListener.mResponseInfo.getHttpStatusCode());
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testInitTwoContextsInSequence() throws Exception {
+ final CronetTestActivity activity = skipFactoryInitInOnCreate();
+
+ RequestThread thread1 = new RequestThread(activity, TEST_URL);
+ RequestThread thread2 = new RequestThread(activity, URL_404);
+
+ thread1.start();
+ thread1.join();
+ thread2.start();
+ thread2.join();
+ assertEquals(200, thread1.mListener.mResponseInfo.getHttpStatusCode());
+ assertEquals(404, thread2.mListener.mResponseInfo.getHttpStatusCode());
+ }
}

Powered by Google App Engine
This is Rietveld 408576698