Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java

Issue 1993873003: deprecate notificationId for downloads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java
index a776f291791cdd98f061298ad7e7ac2432309cbf..7be60648bfb3db1c89e08d704d47f1a2fcfb06fb 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java
@@ -17,6 +17,7 @@ import android.util.Log;
import android.util.Pair;
import org.chromium.base.ContextUtils;
+import org.chromium.base.ThreadUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.test.util.AdvancedMockContext;
import org.chromium.base.test.util.Feature;
@@ -51,8 +52,10 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
* The MockDownloadNotifier. Currently there is no support for creating mock objects this is a
* simple mock object that provides testing support for checking a sequence of calls.
*/
- static class MockDownloadNotifier
- implements org.chromium.chrome.browser.download.DownloadNotifier {
+ static class MockDownloadNotifier extends SystemDownloadNotifier {
+ private final Context mContext;
+ private MockDownloadNotificationService mService;
+
/**
* The Ids of different methods in this mock object.
*/
@@ -68,10 +71,28 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
private final Queue<Pair<MethodID, Object>> mExpectedCalls =
new ConcurrentLinkedQueue<Pair<MethodID, Object>>();
- public MockDownloadNotifier() {
+ public MockDownloadNotifier(Context context) {
+ super(context);
+ mContext = context;
expect(MethodID.CLEAR_PENDING_DOWNLOADS, null);
}
+ /**
+ * Helper method to simulate that the DownloadNotificationService is connected.
+ */
+ public void onServiceConnected() {
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ mService = new MockDownloadNotificationService();
+ mService.setContext(new AdvancedMockContext(
+ mContext.getApplicationContext()));
+ mService.onCreate();
+ }
+ });
+ setDownloadNotificationService(mService);
+ }
+
public MockDownloadNotifier expect(MethodID method, Object param) {
mExpectedCalls.clear();
mExpectedCalls.add(getMethodSignature(method, param));
@@ -112,8 +133,11 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
}
@Override
- public void notifyDownloadSuccessful(DownloadInfo downloadInfo, Intent intent) {
+ public void notifyDownloadSuccessful(DownloadInfo downloadInfo,
+ long systemDownloadId, boolean canResolve, Intent intent) {
assertCorrectExpectedCall(MethodID.DOWNLOAD_SUCCESSFUL, downloadInfo);
+ super.notifyDownloadSuccessful(
+ downloadInfo, systemDownloadId, canResolve, intent);
}
@Override
@@ -134,8 +158,8 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
}
@Override
- public void cancelNotification(int notificationId, String downloadGuid) {
- assertCorrectExpectedCall(MethodID.CANCEL_DOWNLOAD_ID, notificationId);
+ public void notifyDownloadCanceled(String downloadGuid) {
+ assertCorrectExpectedCall(MethodID.CANCEL_DOWNLOAD_ID, downloadGuid);
}
@Override
@@ -169,7 +193,8 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@Override
public void onDownloadSucceeded(
- DownloadInfo downloadInfo, final long downloadId, boolean canBeResolved) {
+ DownloadInfo downloadInfo, int notificationId, long downloadId,
+ boolean canBeResolved) {
mSucceeded = true;
}
@@ -308,7 +333,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@MediumTest
@Feature({"Download"})
public void testDownloadProgressIsCalled() throws InterruptedException {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
DownloadInfo downloadInfo = getDownloadInfo();
@@ -339,7 +364,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@MediumTest
@Feature({"Download"})
public void testOnlyOneProgressForFastUpdates() throws InterruptedException {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, LONG_UPDATE_DELAY_FOR_TEST);
DownloadInfo downloadInfo = getDownloadInfo();
@@ -364,14 +389,20 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@MediumTest
@Feature({"Download"})
public void testDownloadCompletedIsCalled() throws InterruptedException {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
MockDownloadSnackbarController snackbarController = new MockDownloadSnackbarController();
- DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
+ final DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ DownloadManagerService.setDownloadManagerService(dService);
+ }
+ });
dService.setDownloadSnackbarController(snackbarController);
// Try calling download completed directly.
DownloadInfo successful = getDownloadInfo();
-
+ notifier.onServiceConnected();
notifier.expect(MethodID.DOWNLOAD_SUCCESSFUL, successful);
dService.onDownloadCompleted(successful);
@@ -392,7 +423,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@MediumTest
@Feature({"Download"})
public void testDownloadFailedIsCalled() throws InterruptedException {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
// Check that if an interrupted download cannot be resumed, it will trigger a download
@@ -407,7 +438,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@MediumTest
@Feature({"Download"})
public void testDownloadPausedIsCalled() throws InterruptedException {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
DownloadManagerService.disableNetworkListenerForTest();
@@ -421,7 +452,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@MediumTest
@Feature({"Download"})
public void testMultipleDownloadProgress() {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
@@ -443,7 +474,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@MediumTest
@Feature({"Download"})
public void testInterruptedDownloadAreAutoResumed() throws InterruptedException {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
final DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
DownloadManagerService.disableNetworkListenerForTest();
@@ -470,7 +501,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
@Feature({"Download"})
public void testInterruptedUnmeteredDownloadCannotAutoResumeOnMeteredNetwork() throws
InterruptedException {
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
final DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
DownloadManagerService.disableNetworkListenerForTest();
@@ -501,7 +532,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
"test", "test", false, "text/html",
UrlUtils.getIsolatedTestFilePath("chrome/test/data/android/download/download.txt"),
4, true);
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
final MockOMADownloadHandler handler = new MockOMADownloadHandler(getTestContext());
@@ -535,7 +566,7 @@ public class DownloadManagerServiceTest extends InstrumentationTestCase {
.setFileName("test.gzip")
.setUrl(testServer.getURL("/chrome/test/data/android/download/test.gzip"))
.build();
- MockDownloadNotifier notifier = new MockDownloadNotifier();
+ MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext());
Context context = getTestContext();
DownloadManagerServiceForTest dService = new DownloadManagerServiceForTest(
context, notifier, UPDATE_DELAY_FOR_TEST);

Powered by Google App Engine
This is Rietveld 408576698