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

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

Issue 1751183002: Precache uses GcmNetworkManager for task scheduling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments and fixed tests Created 4 years, 9 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/ChromeBackgroundServiceTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java
index 2a176d9e7f374e9b3fa18abdfcc88c3c88191a6b..d07b2bf26ce414b4f29b1656421cd347d16efe65 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java
@@ -16,6 +16,7 @@ import org.chromium.base.test.util.AdvancedMockContext;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.ntp.snippets.SnippetsController;
import org.chromium.chrome.browser.ntp.snippets.SnippetsLauncher;
+import org.chromium.chrome.browser.precache.PrecacheController;
/**
* Tests {@link ChromeBackgroundService}.
@@ -29,23 +30,43 @@ public class ChromeBackgroundServiceTest extends InstrumentationTestCase {
static class MockTaskService extends ChromeBackgroundService {
private boolean mDidLaunchBrowser = false;
+ private boolean mHasPrecacheInstance = true;
+ private boolean mPrecachingStarted = false;
@Override
protected void launchBrowser(Context context) {
mDidLaunchBrowser = true;
}
+ @Override
+ protected boolean hasPrecacheInstance() {
+ return mHasPrecacheInstance;
+ }
+
+ @Override
+ protected void precache(Context context, String tag) {
+ if (!mHasPrecacheInstance) {
+ mPrecachingStarted = true;
+ }
+ }
+
// Posts an assertion task to the UI thread. Since this is only called after the call
// to onRunTask, it will be enqueued after any possible call to launchBrowser, and we
// can reliably check whether launchBrowser was called.
- protected void checkExpectations(final boolean expectedLaunchBrowser) {
+ protected void checkExpectations(
+ final boolean expectedLaunchBrowser, final boolean expectedPrecacheStarted) {
ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
assertEquals("StartedService", expectedLaunchBrowser, mDidLaunchBrowser);
+ assertEquals("StartedPrecache", expectedPrecacheStarted, mPrecachingStarted);
}
});
}
+
+ protected void deletePrecacheInstance() {
+ mHasPrecacheInstance = false;
+ }
}
static class MockSnippetsController extends SnippetsController {
@@ -93,39 +114,52 @@ public class ChromeBackgroundServiceTest extends InstrumentationTestCase {
}
private void startOnRunTaskAndVerify(String taskTag, boolean shouldStart,
- boolean shouldFetchSnippets) {
+ boolean shouldPrecache, boolean shouldFetchSnippets) {
mTaskService.onRunTask(new TaskParams(taskTag));
- mTaskService.checkExpectations(shouldStart);
+ mTaskService.checkExpectations(shouldStart, shouldPrecache);
mSnippetsController.checkExpectations(shouldFetchSnippets);
}
@SmallTest
@Feature({"BackgroundSync"})
public void testBackgroundSyncNoLaunchBrowserWhenInstanceExists() {
- startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, false, false);
+ startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, false, false, false);
}
@SmallTest
@Feature({"BackgroundSync"})
public void testBackgroundSyncLaunchBrowserWhenInstanceDoesNotExist() {
deleteSyncLauncherInstance();
- startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, true, false);
+ startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, true, false, false);
}
@SmallTest
@Feature({"NTPSnippets"})
public void testNTPSnippetsNoLaunchBrowserWhenInstanceExists() {
- startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, false, true);
- startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, false, true);
- startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, false, true);
+ startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, false, false, true);
+ startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, false, false, true);
+ startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, false, false, true);
}
@SmallTest
@Feature({"NTPSnippets"})
public void testNTPSnippetsLaunchBrowserWhenInstanceDoesNotExist() {
deleteSnippetsLauncherInstance();
- startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, true, true);
- startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, true, true);
- startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, true, true);
+ startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, true, false, true);
+ startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, true, false, true);
+ startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, true, false, true);
+ }
+
+ @SmallTest
+ @Feature({"Precache"})
+ public void testPrecacheNoLaunchBrowserWhenInstanceExists() {
+ startOnRunTaskAndVerify(PrecacheController.PERIODIC_TASK_TAG, false, false, false);
+ }
+
+ @SmallTest
+ @Feature({"Precache"})
+ public void testPrecacheLaunchBrowserWhenInstanceDoesNotExist() {
+ mTaskService.deletePrecacheInstance();
+ startOnRunTaskAndVerify(PrecacheController.PERIODIC_TASK_TAG, true, true, false);
}
}

Powered by Google App Engine
This is Rietveld 408576698