From f584f12b6b0ab197ef9a9b41d2cf1442c9727002 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Wed, 30 Mar 2016 18:22:22 -0600 Subject: [PATCH] Fix DownloadManager tests. ERROR_CANNOT_RESUME is the correct code for one, and relative paths are supported by the RFC, so change the test to check for success. Bug: 27580939 Change-Id: Ife99c22a44dd71232466e35d38a2441c16a558f7 --- .../app/DownloadManagerFunctionalTest.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/core/tests/coretests/src/android/app/DownloadManagerFunctionalTest.java b/core/tests/coretests/src/android/app/DownloadManagerFunctionalTest.java index 4a5385256923a..d1a5d281326a4 100644 --- a/core/tests/coretests/src/android/app/DownloadManagerFunctionalTest.java +++ b/core/tests/coretests/src/android/app/DownloadManagerFunctionalTest.java @@ -284,20 +284,30 @@ public class DownloadManagerFunctionalTest extends DownloadManagerBaseTest { Uri uri = getServerUri(DEFAULT_FILENAME); enqueueResponse(buildResponse(HTTP_PARTIAL_CONTENT)); - doErrorTest(uri, DownloadManager.ERROR_UNHANDLED_HTTP_CODE); + doErrorTest(uri, DownloadManager.ERROR_CANNOT_RESUME); } /** * Tests the download failure error from an unhandled HTTP status code */ @LargeTest - public void testErrorHttpDataError_invalidRedirect() throws Exception { + public void testRelativeRedirect() throws Exception { Uri uri = getServerUri(DEFAULT_FILENAME); final MockResponse resp = buildResponse(HTTP_REDIRECT); - resp.setHeader("Location", "://blah.blah.blah.com"); + resp.setHeader("Location", ":" + uri.getSchemeSpecificPart()); enqueueResponse(resp); - doErrorTest(uri, DownloadManager.ERROR_HTTP_DATA_ERROR); + byte[] blobData = generateData(DEFAULT_FILE_SIZE, DataType.TEXT); + enqueueResponse(buildResponse(HTTP_OK, blobData)); + + Request request = new Request(uri); + request.setTitle(DEFAULT_FILENAME); + + long dlRequest = mDownloadManager.enqueue(request); + waitForDownloadOrTimeout(dlRequest); + + verifyAndCleanupSingleFileDownload(dlRequest, blobData); + assertEquals(1, mReceiver.numDownloadsCompleted()); } /**