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

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java

Issue 2685873003: [Offline pages] Refactoring and code fix in BackgroundOffinerTask (Closed)
Patch Set: Addressing CR feedback: comment updated Created 3 years, 10 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
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
index f589465a3539cb10a4892012dbd3dca5744090d8..21e214ad6c1c2243a4b890071599890e64430797 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
@@ -113,44 +113,38 @@ public class BackgroundOfflinerTaskTest {
@Test
@Feature({"OfflinePages"})
- public void testIncomingTask() {
- BackgroundOfflinerTask task =
- new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
- ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1000);
- task.processBackgroundRequests(mTaskExtras, mDeviceConditions, waiter);
+ public void testStartBackgroundRequests() {
+ BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
+ ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
+ assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
+
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
- // Check with BackgroundSchedulerProcessor that it started processing.
+ // Check that the backup task was scheduled.
+ Task gcmTask = mGcmNetworkManager.getScheduledTask();
+ assertNotNull("Backup task scheduled", gcmTask);
+ assertEquals(mTriggerConditions,
+ TaskExtrasPacker.unpackTriggerConditionsFromBundle(gcmTask.getExtras()));
+
+ // Check with BackgroundSchedulerProcessor that processing stated.
assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
assertSame(mDeviceConditions, mStubBackgroundSchedulerProcessor.getDeviceConditions());
- // Call the callback and then waiter should not block.
+ // Waiter is only released at the end of the test, when the processing concludes.
mStubBackgroundSchedulerProcessor.callback();
waiter.startWaiting();
}
@Test
@Feature({"OfflinePages"})
- public void testIncomingTaskNotStarted() {
+ public void testStartBackgroundRequestsNotStarted() {
mStubBackgroundSchedulerProcessor.setFailToStart(true);
BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
- ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1000);
- task.processBackgroundRequests(mTaskExtras, mDeviceConditions, waiter);
-
- // Check with BackgroundSchedulerProcessor that it did not start.
- assertFalse(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
-
- // The waiter should not block if startScheduledProcessing returned false.
- waiter.startWaiting();
- }
-
- @Test
- @Feature({"OfflinePages"})
- public void testStartBackgroundRequests() {
- BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
- assertTrue(task.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter));
+
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
+ waiter.startWaiting();
// Check that the backup task was scheduled.
Task gcmTask = mGcmNetworkManager.getScheduledTask();
@@ -158,23 +152,24 @@ public class BackgroundOfflinerTaskTest {
assertEquals(mTriggerConditions,
TaskExtrasPacker.unpackTriggerConditionsFromBundle(gcmTask.getExtras()));
- // Check with BackgroundSchedulerProcessor that startScheduledProcessing got called.
- assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
- assertSame(mDeviceConditions, mStubBackgroundSchedulerProcessor.getDeviceConditions());
+ // Check with BackgroundSchedulerProcessor that it did not start.
+ assertFalse(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
}
@Test
@Feature({"OfflinePages"})
public void testStartBackgroundRequestsForLowBatteryLevel() {
+ // Setup low battery conditions.
DeviceConditions deviceConditionsLowBattery = new DeviceConditions(
!POWER_CONNECTED, MINIMUM_BATTERY_LEVEL - 1, ConnectionType.CONNECTION_WIFI);
when(mOfflinePageUtils.getDeviceConditionsImpl(any(Context.class)))
.thenReturn(deviceConditionsLowBattery);
+
BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
- assertFalse(task.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter));
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
+ waiter.startWaiting();
// Check that the backup task was scheduled.
Task gcmTask = mGcmNetworkManager.getScheduledTask();
@@ -190,11 +185,16 @@ public class BackgroundOfflinerTaskTest {
POWER_CONNECTED, MINIMUM_BATTERY_LEVEL - 1, ConnectionType.CONNECTION_WIFI);
when(mOfflinePageUtils.getDeviceConditionsImpl(any(Context.class)))
.thenReturn(deviceConditionsPowerConnected);
+
BackgroundOfflinerTask task2 =
new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter2 = new ChromeBackgroundServiceWaiter(1);
- assertTrue(task2.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter2));
+ task2.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter2);
+
+ assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
+
+ mStubBackgroundSchedulerProcessor.callback();
+ waiter2.startWaiting();
}
@Test
@@ -207,8 +207,8 @@ public class BackgroundOfflinerTaskTest {
// Transition the test Activity to a running state.
ApplicationStatus.onStateChangeForTesting(mTestActivity, ActivityState.STARTED);
- assertFalse(task.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter));
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
+ waiter.startWaiting();
// Check that the backup task was scheduled.
Task gcmTask = mGcmNetworkManager.getScheduledTask();
@@ -224,7 +224,11 @@ public class BackgroundOfflinerTaskTest {
BackgroundOfflinerTask task2 =
new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter2 = new ChromeBackgroundServiceWaiter(1);
- assertTrue(task2.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter2));
+ task2.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter2);
+
+ assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
+
+ mStubBackgroundSchedulerProcessor.callback();
+ waiter2.startWaiting();
}
}
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698