summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java')
-rw-r--r--tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
index 3d32ae3c..00419a3d 100644
--- a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
+++ b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
@@ -485,6 +485,24 @@ public class PublicApiFunctionalTest extends AbstractDownloadManagerFunctionalTe
assertTrue(mResolver.mNotifyWasCalled);
}
+ public void testNotifications() throws Exception {
+ enqueueEmptyResponse(HTTP_OK);
+ Download download = enqueueRequest(getRequest()); // no visibility requested
+ download.runUntilStatus(DownloadManager.STATUS_SUCCESSFUL);
+ assertEquals(0, mSystemFacade.mActiveNotifications.size());
+ assertEquals(0, mSystemFacade.mCanceledNotifications.size());
+
+ enqueueEmptyResponse(HTTP_OK);
+ download = enqueueRequest(
+ getRequest()
+ .setShowNotification(DownloadManager.Request.NOTIFICATION_WHEN_RUNNING));
+ download.runUntilStatus(DownloadManager.STATUS_SUCCESSFUL);
+ assertEquals(1, mSystemFacade.mActiveNotifications.size());
+ // The notification doesn't actually get canceled until the UpdateThread runs again, which
+ // gets triggered by the DownloadThread updating the status in the provider. This is
+ // tough to test right now, so I'll leave it until the overall structure is changed.
+ }
+
private void runSimpleFailureTest(int expectedErrorCode) throws Exception {
Download download = enqueueRequest(getRequest());
download.runUntilStatus(DownloadManager.STATUS_FAILED);