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

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

Issue 558333007: Setup initial mock url request job tests for Cronet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added one assert on request url Created 6 years, 3 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/MockURLRequestJobTest.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/MockURLRequestJobTest.java b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/MockURLRequestJobTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..fab1456cba996dac9ffc79ed074c451a2b7b4282
--- /dev/null
+++ b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/MockURLRequestJobTest.java
@@ -0,0 +1,93 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.cronet_test_apk;
+
+import android.os.ConditionVariable;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.util.Log;
+
+import org.chromium.base.test.util.Feature;
+import org.chromium.net.HttpUrlRequest;
+import org.chromium.net.HttpUrlRequestListener;
+
+import java.util.HashMap;
+
+// Tests that use mock URL request jobs to simulate URL requests.
+public class MockURLRequestJobTest extends CronetTestBase {
+ private static final String TAG = "MockURLRequestJobTest";
+ private static final String MOCK_CRONET_TEST_URL = "http://mock.cronet.success/";
+ private static final String MOCK_CRONET_TEST_FAILED_URL = "http://mock.cronet.failed/";
+
+ class MockHttpUrlRequestListener implements HttpUrlRequestListener {
+ ConditionVariable mComplete = new ConditionVariable();
+ public MockHttpUrlRequestListener() {
+ }
+
+ @Override
+ public void onResponseStarted(HttpUrlRequest request) {
+ Log.i(TAG, "****** Response Started, content length is "
+ + request.getContentLength());
+ Log.i(TAG, "*** Headers Are *** " + request.getAllHeaders());
+ }
+
+ public void blockForComplete() {
+ mComplete.block();
+ }
+
+ @Override
+ public void onRequestComplete(HttpUrlRequest request) {
+ mComplete.open();
+ Log.i(TAG, "****** Request Complete, status code is "
+ + request.getHttpStatusCode());
+ }
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testCreateURLRequest() throws Exception {
+ CronetTestActivity activity = launchCronetTestApp();
+ // Make sure the activity was created as expected.
+ assertNotNull(activity);
+
+ HashMap<String, String> headers = new HashMap<String, String>();
+ MockHttpUrlRequestListener listener = new MockHttpUrlRequestListener();
+
+ HttpUrlRequest request = activity.mChromiumRequestFactory.createRequest(
+ MOCK_CRONET_TEST_URL,
+ HttpUrlRequest.REQUEST_PRIORITY_MEDIUM,
+ headers,
+ listener);
+ request.start();
+ listener.blockForComplete();
+
+ // Make sure that the URL is set as expected.
+ assertEquals(MOCK_CRONET_TEST_URL, request.getUrl());
+ assertEquals(200, request.getHttpStatusCode());
mef 2014/09/17 20:03:49 This is probably flaky and works due to lucky timi
xunjieli 2014/09/17 22:16:00 Done.Thanks Misha! That's exactly what happened.
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ public void testFailedURLRequest() throws Exception {
+ CronetTestActivity activity = launchCronetTestApp();
+ // Make sure the activity was created as expected.
+ assertNotNull(activity);
+
+ HashMap<String, String> headers = new HashMap<String, String>();
+ MockHttpUrlRequestListener listener = new MockHttpUrlRequestListener();
+
+ HttpUrlRequest request = activity.mChromiumRequestFactory.createRequest(
+ MOCK_CRONET_TEST_FAILED_URL,
+ HttpUrlRequest.REQUEST_PRIORITY_MEDIUM,
+ headers,
+ listener);
+ request.start();
+ listener.blockForComplete();
+
+ // Make sure that the URL is set as expected.
+ assertEquals(MOCK_CRONET_TEST_FAILED_URL, request.getUrl());
+ assertEquals(0, request.getHttpStatusCode());
+ }
+
+}

Powered by Google App Engine
This is Rietveld 408576698