summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java
diff options
context:
space:
mode:
authorSteve Howard <showard@google.com>2010-07-19 10:58:58 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-07-19 10:58:58 -0700
commit1aa26989047495ff58d3e2598d3f9549465cbb65 (patch)
tree78826ba7ac8cd747f1fa695eb7d747f78e958920 /tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java
parentabb997df34680a8b2b733acbc2313991226c69d6 (diff)
parentaf28400b74de05862b470412a5c92f68e99f59f8 (diff)
downloadandroid_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.java31
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);
}