diff options
author | Steve Howard <showard@google.com> | 2010-07-19 10:58:58 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-07-19 10:58:58 -0700 |
commit | 1aa26989047495ff58d3e2598d3f9549465cbb65 (patch) | |
tree | 78826ba7ac8cd747f1fa695eb7d747f78e958920 /tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java | |
parent | abb997df34680a8b2b733acbc2313991226c69d6 (diff) | |
parent | af28400b74de05862b470412a5c92f68e99f59f8 (diff) | |
download | android_packages_providers_DownloadProvider-1aa26989047495ff58d3e2598d3f9549465cbb65.tar.gz android_packages_providers_DownloadProvider-1aa26989047495ff58d3e2598d3f9549465cbb65.tar.bz2 android_packages_providers_DownloadProvider-1aa26989047495ff58d3e2598d3f9549465cbb65.zip |
Merge "Introduce a seam to ConnectivityManager and TelephonyManager" into gingerbread
Diffstat (limited to 'tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java')
-rw-r--r-- | tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java b/tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java index 7de90de5..3cd9cf58 100644 --- a/tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java +++ b/tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java @@ -18,7 +18,7 @@ package com.android.providers.downloads; import android.content.ContentValues; import android.database.Cursor; -import android.net.NetworkInfo; +import android.net.ConnectivityManager; import android.net.Uri; import android.os.Environment; import android.provider.Downloads; @@ -102,12 +102,35 @@ public class DownloadManagerFunctionalTest extends AbstractDownloadManagerFuncti Uri downloadUri = requestDownload("/path"); // without connectivity, download immediately pauses - mTestContext.mFakeIConnectivityManager.setNetworkState(NetworkInfo.State.DISCONNECTED); + mSystemFacade.mActiveNetworkType = null; startService(null); - super.waitForDownloadToStop(getStatusReader(downloadUri), Downloads.STATUS_RUNNING_PAUSED); + waitForDownloadToStop(getStatusReader(downloadUri), Downloads.STATUS_RUNNING_PAUSED); // connecting should start the download - mTestContext.mFakeIConnectivityManager.setNetworkState(NetworkInfo.State.CONNECTED); + mSystemFacade.mActiveNetworkType = ConnectivityManager.TYPE_WIFI; + runUntilStatus(downloadUri, Downloads.STATUS_SUCCESS); + } + + public void testRoaming() throws Exception { + mSystemFacade.mActiveNetworkType = ConnectivityManager.TYPE_MOBILE; + mSystemFacade.mIsRoaming = true; + + // for a normal download, roaming is fine + enqueueResponse(HTTP_OK, FILE_CONTENT); + Uri downloadUri = requestDownload("/path"); + startService(null); + runUntilStatus(downloadUri, Downloads.STATUS_SUCCESS); + + // when roaming is disallowed, the download should pause... + downloadUri = requestDownload("/path"); + updateDownload(downloadUri, Downloads.COLUMN_DESTINATION, + Integer.toString(Downloads.DESTINATION_CACHE_PARTITION_NOROAMING)); + startService(null); + waitForDownloadToStop(getStatusReader(downloadUri), Downloads.STATUS_RUNNING_PAUSED); + + // ...and pick up when we're off roaming + enqueueResponse(HTTP_OK, FILE_CONTENT); + mSystemFacade.mIsRoaming = false; runUntilStatus(downloadUri, Downloads.STATUS_SUCCESS); } |