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

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

Issue 884003004: Rename org.chromium.cronet_test_apk to org.chromium.net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 10 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
deleted file mode 100644
index e9dc2ae4492e28e8b870b5a3f4174a3685f42b07..0000000000000000000000000000000000000000
--- a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/MockUrlRequestJobTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-// 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.test.suitebuilder.annotation.LargeTest;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import org.chromium.base.test.util.Feature;
-import org.chromium.net.ChunkedWritableByteChannel;
-import org.chromium.net.HttpUrlRequest;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.HashMap;
-import java.util.List;
-import java.util.concurrent.Executors;
-
-/**
- * Tests that use mock URLRequestJobs to simulate URL requests.
- */
-public class MockUrlRequestJobTest extends CronetTestBase {
- private static final String TAG = "MockURLRequestJobTest";
-
- private CronetTestActivity mActivity;
- private MockUrlRequestJobFactory mMockUrlRequestJobFactory;
-
- // Helper function to create a HttpUrlRequest with the specified url.
- private TestHttpUrlRequestListener createRequestAndWaitForComplete(
- String url, boolean disableRedirects) {
- HashMap<String, String> headers = new HashMap<String, String>();
- TestHttpUrlRequestListener listener = new TestHttpUrlRequestListener();
-
- HttpUrlRequest request = mActivity.mRequestFactory.createRequest(
- url,
- HttpUrlRequest.REQUEST_PRIORITY_MEDIUM,
- headers,
- listener);
- if (disableRedirects) {
- request.disableRedirects();
- }
- request.start();
- listener.blockForComplete();
- return listener;
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mActivity = launchCronetTestApp();
- mMockUrlRequestJobFactory = new MockUrlRequestJobFactory(
- getInstrumentation().getTargetContext());
- }
-
- @SmallTest
- @Feature({"Cronet"})
- public void testSuccessURLRequest() throws Exception {
- TestHttpUrlRequestListener listener = createRequestAndWaitForComplete(
- MockUrlRequestJobFactory.SUCCESS_URL, false);
- assertEquals(MockUrlRequestJobFactory.SUCCESS_URL, listener.mUrl);
- assertEquals(200, listener.mHttpStatusCode);
- assertEquals("OK", listener.mHttpStatusText);
- assertEquals("this is a text file\n",
- new String(listener.mResponseAsBytes));
- }
-
- @SmallTest
- @Feature({"Cronet"})
- public void testRedirectURLRequest() throws Exception {
- TestHttpUrlRequestListener listener = createRequestAndWaitForComplete(
- MockUrlRequestJobFactory.REDIRECT_URL, false);
-
- // Currently Cronet does not expose the url after redirect.
- assertEquals(MockUrlRequestJobFactory.REDIRECT_URL, listener.mUrl);
- assertEquals(200, listener.mHttpStatusCode);
- assertEquals("OK", listener.mHttpStatusText);
- // Expect that the request is redirected to success.txt.
- assertEquals("this is a text file\n",
- new String(listener.mResponseAsBytes));
- }
-
- @SmallTest
- @Feature({"Cronet"})
- public void testNotFoundURLRequest() throws Exception {
- TestHttpUrlRequestListener listener = createRequestAndWaitForComplete(
- MockUrlRequestJobFactory.NOTFOUND_URL, false);
- assertEquals(MockUrlRequestJobFactory.NOTFOUND_URL, listener.mUrl);
- assertEquals(404, listener.mHttpStatusCode);
- assertEquals("Not Found", listener.mHttpStatusText);
- assertEquals(
- "<!DOCTYPE html>\n<html>\n<head>\n<title>Not found</title>\n"
- + "<p>Test page loaded.</p>\n</head>\n</html>\n",
- new String(listener.mResponseAsBytes));
- }
-
- @SmallTest
- @Feature({"Cronet"})
- public void testFailedURLRequest() throws Exception {
- TestHttpUrlRequestListener listener = createRequestAndWaitForComplete(
- MockUrlRequestJobFactory.FAILED_URL, false);
-
- assertEquals(MockUrlRequestJobFactory.FAILED_URL, listener.mUrl);
- assertEquals(null, listener.mHttpStatusText);
- assertEquals(0, listener.mHttpStatusCode);
- }
-
- @SmallTest
- @Feature({"Cronet"})
- // Test that redirect can be disabled for a request.
- public void testDisableRedirects() throws Exception {
- TestHttpUrlRequestListener listener = createRequestAndWaitForComplete(
- MockUrlRequestJobFactory.REDIRECT_URL, true);
- // Currently Cronet does not expose the url after redirect.
- assertEquals(MockUrlRequestJobFactory.REDIRECT_URL, listener.mUrl);
- assertEquals(302, listener.mHttpStatusCode);
- // Expect that the request is not redirected to success.txt.
- assertNotNull(listener.mResponseHeaders);
- List<String> entry = listener.mResponseHeaders.get("redirect-header");
- assertEquals(1, entry.size());
- assertEquals("header-value", entry.get(0));
- List<String> location = listener.mResponseHeaders.get("Location");
- assertEquals(1, location.size());
- assertEquals("/success.txt", location.get(0));
- assertEquals("Request failed because there were too many redirects or "
- + "redirects have been disabled",
- listener.mException.getMessage());
- }
-
- /**
- * TestByteChannel is used for making sure write is not called after the
- * channel has been closed. Can synchronously cancel a request when write is
- * called.
- */
- static class TestByteChannel extends ChunkedWritableByteChannel {
- HttpUrlRequest mRequestToCancelOnWrite;
-
- @Override
- public int write(ByteBuffer byteBuffer) throws IOException {
- assertTrue(isOpen());
- if (mRequestToCancelOnWrite != null) {
- assertFalse(mRequestToCancelOnWrite.isCanceled());
- mRequestToCancelOnWrite.cancel();
- mRequestToCancelOnWrite = null;
- }
- return super.write(byteBuffer);
- }
-
- @Override
- public void close() {
- assertTrue(isOpen());
- super.close();
- }
-
- /**
- * Set request that will be synchronously canceled when write is called.
- */
- public void setRequestToCancelOnWrite(HttpUrlRequest request) {
- mRequestToCancelOnWrite = request;
- }
- }
-
- @LargeTest
- @Feature({"Cronet"})
- public void testNoWriteAfterCancelOnAnotherThread() throws Exception {
- CronetTestActivity activity = launchCronetTestApp();
-
- // This test verifies that WritableByteChannel.write is not called after
- // WritableByteChannel.close if request is canceled from another
- // thread.
- for (int i = 0; i < 100; ++i) {
- HashMap<String, String> headers = new HashMap<String, String>();
- TestByteChannel channel = new TestByteChannel();
- TestHttpUrlRequestListener listener =
- new TestHttpUrlRequestListener();
-
- // Create request.
- final HttpUrlRequest request =
- activity.mRequestFactory.createRequest(
- MockUrlRequestJobFactory.SUCCESS_URL,
- HttpUrlRequest.REQUEST_PRIORITY_LOW, headers,
- channel, listener);
- request.start();
- listener.blockForStart();
- Runnable cancelTask = new Runnable() {
- public void run() {
- request.cancel();
- }
- };
- Executors.newCachedThreadPool().execute(cancelTask);
- listener.blockForComplete();
- assertFalse(channel.isOpen());
- }
- }
-
- @SmallTest
- @Feature({"Cronet"})
- public void testNoWriteAfterSyncCancel() throws Exception {
- CronetTestActivity activity = launchCronetTestApp();
-
- HashMap<String, String> headers = new HashMap<String, String>();
- TestByteChannel channel = new TestByteChannel();
- TestHttpUrlRequestListener listener = new TestHttpUrlRequestListener();
-
- String data = "MyBigFunkyData";
- int dataLength = data.length();
- int repeatCount = 10000;
- String mockUrl = mMockUrlRequestJobFactory.getMockUrlForData(data,
- repeatCount);
-
- // Create request.
- final HttpUrlRequest request =
- activity.mRequestFactory.createRequest(
- mockUrl,
- HttpUrlRequest.REQUEST_PRIORITY_LOW, headers,
- channel, listener);
- // Channel will cancel the request from the network thread during the
- // first write.
- channel.setRequestToCancelOnWrite(request);
- request.start();
- listener.blockForComplete();
- assertTrue(request.isCanceled());
- assertFalse(channel.isOpen());
- }
-
- @SmallTest
- @Feature({"Cronet"})
- public void testBigDataSyncReadRequest() throws Exception {
- String data = "MyBigFunkyData";
- int dataLength = data.length();
- int repeatCount = 100000;
- String mockUrl = mMockUrlRequestJobFactory.getMockUrlForData(data,
- repeatCount);
- TestHttpUrlRequestListener listener = createRequestAndWaitForComplete(
- mockUrl, false);
- assertEquals(mockUrl, listener.mUrl);
- String responseData = new String(listener.mResponseAsBytes);
- for (int i = 0; i < repeatCount; ++i) {
- assertEquals(data, responseData.substring(dataLength * i,
- dataLength * (i + 1)));
- }
- }
-}

Powered by Google App Engine
This is Rietveld 408576698