Index: components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskServiceTest.java |
diff --git a/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskServiceTest.java b/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskServiceTest.java |
index b40366c83f7ff1a2d1a062cbffcfeac629f60c3e..2497c7e2e6143eb4e88c479916ff1d6067d3f09a 100644 |
--- a/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskServiceTest.java |
+++ b/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskServiceTest.java |
@@ -16,6 +16,8 @@ import com.google.android.gms.gcm.TaskParams; |
import org.junit.Before; |
import org.junit.Test; |
import org.junit.runner.RunWith; |
+import org.mockito.Mock; |
+import org.mockito.MockitoAnnotations; |
import org.robolectric.RuntimeEnvironment; |
import org.robolectric.annotation.Config; |
@@ -23,6 +25,8 @@ import org.chromium.base.ContextUtils; |
import org.chromium.base.test.util.Feature; |
import org.chromium.testing.local.LocalRobolectricTestRunner; |
+import java.util.concurrent.TimeUnit; |
+ |
/** Unit tests for {@link BackgroundTaskGcmTaskService}. */ |
@RunWith(LocalRobolectricTestRunner.class) |
@Config(manifest = Config.NONE) |
@@ -30,13 +34,19 @@ public class BackgroundTaskGcmTaskServiceTest { |
static TestBackgroundTaskWithParams sLastTask; |
static boolean sReturnThroughCallback; |
static boolean sNeedsRescheduling; |
+ @Mock |
+ private BackgroundTaskSchedulerDelegate mDelegate; |
@Before |
public void setUp() { |
+ MockitoAnnotations.initMocks(this); |
ContextUtils.initApplicationContextForTests(RuntimeEnvironment.application); |
+ BackgroundTaskSchedulerFactory.setSchedulerForTesting( |
+ new BackgroundTaskScheduler(mDelegate)); |
sReturnThroughCallback = false; |
sNeedsRescheduling = false; |
sLastTask = null; |
+ TestBackgroundTask.reset(); |
} |
private static class TestBackgroundTaskWithParams extends TestBackgroundTask { |
@@ -109,6 +119,20 @@ public class BackgroundTaskGcmTaskServiceTest { |
assertEquals(taskService.onRunTask(taskParams), GcmNetworkManager.RESULT_SUCCESS); |
} |
+ @Test |
+ @Feature({"BackgroundTaskScheduler"}) |
+ public void testOnInitializeTasks() { |
+ TaskInfo task = TaskInfo.createOneOffTask(TaskIds.TEST, TestBackgroundTask.class, |
+ TimeUnit.DAYS.toMillis(1)) |
+ .build(); |
+ BackgroundTaskSchedulerPrefs.addScheduledTask(task); |
+ assertEquals(0, TestBackgroundTask.getRescheduleCalls()); |
+ |
+ BackgroundTaskGcmTaskService taskService = new BackgroundTaskGcmTaskService(); |
+ taskService.onInitializeTasks(); |
+ assertEquals(1, TestBackgroundTask.getRescheduleCalls()); |
+ } |
+ |
private TaskParams buildTaskParams(Class clazz, Bundle taskExtras) { |
Bundle extras = new Bundle(); |
extras.putBundle( |