diff options
author | Steve Howard <showard@google.com> | 2010-07-15 15:57:31 -0700 |
---|---|---|
committer | Steve Howard <showard@google.com> | 2010-07-15 16:22:52 -0700 |
commit | af28400b74de05862b470412a5c92f68e99f59f8 (patch) | |
tree | 9bed7e915f12354803cba98c51d81cac82c94e9a /tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java | |
parent | 88ea0b39bb74c7f8204ba74d3e83bce440a59d88 (diff) | |
download | android_packages_providers_DownloadProvider-af28400b74de05862b470412a5c92f68e99f59f8.tar.gz android_packages_providers_DownloadProvider-af28400b74de05862b470412a5c92f68e99f59f8.tar.bz2 android_packages_providers_DownloadProvider-af28400b74de05862b470412a5c92f68e99f59f8.zip |
Introduce a seam to ConnectivityManager and TelephonyManager
This change abstracts access to ConnectivityManager and
TelephonyManager behind methods on SystemFacade, moving the code from
Helpers into RealSystemFacade and adding fake implementations to
FakeSystemFacade. This facilitates new connectivity tests.
Change-Id: Id6c6b861e1d4ca45b3c1572bfb8ae0aa26af756b
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); } |