Commit 26d805ac authored by Henrique Nakashima's avatar Henrique Nakashima Committed by Commit Bot

Mock BackgroundTaskSchedulerExternalUma in NativeBackgroundTaskTest

Use this to add verifications that the expected calls are made to
BackgroundTaskSchedulerExternalUma.

Bug: 1017130
Change-Id: Ica99e12df6d1d655f1d2fdba8ad20b5065a2170a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1884821Reviewed-by: default avatarMohamed Heikal <mheikal@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711824}
parent 77e4c971
...@@ -49,8 +49,6 @@ public abstract class NativeBackgroundTask implements BackgroundTask { ...@@ -49,8 +49,6 @@ public abstract class NativeBackgroundTask implements BackgroundTask {
int DONE = 2; int DONE = 2;
} }
protected NativeBackgroundTask() {}
/** Indicates that the task has already been stopped. Should only be accessed on UI Thread. */ /** Indicates that the task has already been stopped. Should only be accessed on UI Thread. */
private boolean mTaskStopped; private boolean mTaskStopped;
...@@ -66,6 +64,17 @@ public abstract class NativeBackgroundTask implements BackgroundTask { ...@@ -66,6 +64,17 @@ public abstract class NativeBackgroundTask implements BackgroundTask {
/** Make sure that we do not double record task finished metric */ /** Make sure that we do not double record task finished metric */
private boolean mFinishMetricRecorded; private boolean mFinishMetricRecorded;
private BackgroundTaskSchedulerExternalUma mExternalUma;
protected NativeBackgroundTask() {
this(BackgroundTaskSchedulerExternalUma.getInstance());
}
@VisibleForTesting
NativeBackgroundTask(BackgroundTaskSchedulerExternalUma externalUma) {
mExternalUma = externalUma;
}
@Override @Override
public final boolean onStartTask( public final boolean onStartTask(
Context context, TaskParameters taskParameters, TaskFinishedCallback callback) { Context context, TaskParameters taskParameters, TaskFinishedCallback callback) {
...@@ -129,8 +138,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask { ...@@ -129,8 +138,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask {
final Runnable rescheduleRunnable) { final Runnable rescheduleRunnable) {
if (isNativeLoadedInFullBrowserMode()) { if (isNativeLoadedInFullBrowserMode()) {
mRunningInServiceManagerOnlyMode = false; mRunningInServiceManagerOnlyMode = false;
BackgroundTaskSchedulerExternalUma.reportNativeTaskStarted( mExternalUma.reportNativeTaskStarted(mTaskId, mRunningInServiceManagerOnlyMode);
mTaskId, mRunningInServiceManagerOnlyMode);
recordMemoryUsageWithRandomDelay(mRunningInServiceManagerOnlyMode); recordMemoryUsageWithRandomDelay(mRunningInServiceManagerOnlyMode);
PostTask.postTask(UiThreadTaskTraits.DEFAULT, startWithNativeRunnable); PostTask.postTask(UiThreadTaskTraits.DEFAULT, startWithNativeRunnable);
return; return;
...@@ -138,8 +146,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask { ...@@ -138,8 +146,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask {
boolean wasInServiceManagerOnlyMode = isNativeLoadedInServiceManagerOnlyMode(); boolean wasInServiceManagerOnlyMode = isNativeLoadedInServiceManagerOnlyMode();
mRunningInServiceManagerOnlyMode = supportsServiceManagerOnly(); mRunningInServiceManagerOnlyMode = supportsServiceManagerOnly();
BackgroundTaskSchedulerExternalUma.reportNativeTaskStarted( mExternalUma.reportNativeTaskStarted(mTaskId, mRunningInServiceManagerOnlyMode);
mTaskId, mRunningInServiceManagerOnlyMode);
final BrowserParts parts = new EmptyBrowserParts() { final BrowserParts parts = new EmptyBrowserParts() {
@Override @Override
...@@ -167,8 +174,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask { ...@@ -167,8 +174,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask {
// to Full Browser mode, but not cases in which Service Manager Only Mode was // to Full Browser mode, but not cases in which Service Manager Only Mode was
// already started. // already started.
if (!wasInServiceManagerOnlyMode) { if (!wasInServiceManagerOnlyMode) {
BackgroundTaskSchedulerExternalUma.reportTaskStartedNative( mExternalUma.reportTaskStartedNative(mTaskId, mRunningInServiceManagerOnlyMode);
mTaskId, mRunningInServiceManagerOnlyMode);
} }
try { try {
...@@ -270,8 +276,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask { ...@@ -270,8 +276,7 @@ public abstract class NativeBackgroundTask implements BackgroundTask {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
if (!mFinishMetricRecorded) { if (!mFinishMetricRecorded) {
mFinishMetricRecorded = true; mFinishMetricRecorded = true;
BackgroundTaskSchedulerExternalUma.reportNativeTaskFinished( mExternalUma.reportNativeTaskFinished(mTaskId, mRunningInServiceManagerOnlyMode);
mTaskId, mRunningInServiceManagerOnlyMode);
} }
} }
......
...@@ -317,8 +317,9 @@ public class ChromeBrowserInitializer { ...@@ -317,8 +317,9 @@ public class ChromeBrowserInitializer {
int startupMode = int startupMode =
getBrowserStartupController().getStartupMode(delegate.startServiceManagerOnly()); getBrowserStartupController().getStartupMode(delegate.startServiceManagerOnly());
tasks.add(UiThreadTaskTraits.DEFAULT, tasks.add(UiThreadTaskTraits.DEFAULT, () -> {
() -> { BackgroundTaskSchedulerExternalUma.reportStartupMode(startupMode); }); BackgroundTaskSchedulerExternalUma.getInstance().reportStartupMode(startupMode);
});
if (isAsync) { if (isAsync) {
// We want to start this queue once the C++ startup tasks have run; allow the // We want to start this queue once the C++ startup tasks have run; allow the
......
...@@ -14,9 +14,11 @@ import static org.mockito.Mockito.doThrow; ...@@ -14,9 +14,11 @@ import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.eq; import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import android.content.Context; import android.content.Context;
import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
...@@ -40,6 +42,7 @@ import org.chromium.chrome.browser.init.ChromeBrowserInitializer; ...@@ -40,6 +42,7 @@ import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.chrome.browser.metrics.BackgroundTaskMemoryMetricsEmitter; import org.chromium.chrome.browser.metrics.BackgroundTaskMemoryMetricsEmitter;
import org.chromium.chrome.browser.metrics.BackgroundTaskMemoryMetricsEmitterJni; import org.chromium.chrome.browser.metrics.BackgroundTaskMemoryMetricsEmitterJni;
import org.chromium.components.background_task_scheduler.BackgroundTask; import org.chromium.components.background_task_scheduler.BackgroundTask;
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerExternalUma;
import org.chromium.components.background_task_scheduler.TaskIds; import org.chromium.components.background_task_scheduler.TaskIds;
import org.chromium.components.background_task_scheduler.TaskParameters; import org.chromium.components.background_task_scheduler.TaskParameters;
import org.chromium.content_public.browser.BrowserStartupController; import org.chromium.content_public.browser.BrowserStartupController;
...@@ -125,6 +128,9 @@ public class NativeBackgroundTaskTest { ...@@ -125,6 +128,9 @@ public class NativeBackgroundTaskTest {
@Captor @Captor
ArgumentCaptor<BrowserParts> mBrowserParts; ArgumentCaptor<BrowserParts> mBrowserParts;
@Mock
private BackgroundTaskSchedulerExternalUma mExternalUmaMock;
private static class TaskFinishedCallback implements BackgroundTask.TaskFinishedCallback { private static class TaskFinishedCallback implements BackgroundTask.TaskFinishedCallback {
private boolean mWasCalled; private boolean mWasCalled;
private boolean mNeedsReschedule; private boolean mNeedsReschedule;
...@@ -164,7 +170,9 @@ public class NativeBackgroundTaskTest { ...@@ -164,7 +170,9 @@ public class NativeBackgroundTaskTest {
private boolean mWasOnStopTaskBeforeNativeLoadedCalled; private boolean mWasOnStopTaskBeforeNativeLoadedCalled;
private BrowserStartupController mBrowserStartupController; private BrowserStartupController mBrowserStartupController;
public TestNativeBackgroundTask(BrowserStartupController controller) { public TestNativeBackgroundTask(BrowserStartupController controller,
BackgroundTaskSchedulerExternalUma externalUma) {
super(externalUma);
mBrowserStartupController = controller; mBrowserStartupController = controller;
mWasOnStartTaskWithNativeCalled = false; mWasOnStartTaskWithNativeCalled = false;
mStartBeforeNativeResult = StartBeforeNativeResult.LOAD_NATIVE; mStartBeforeNativeResult = StartBeforeNativeResult.LOAD_NATIVE;
...@@ -239,11 +247,16 @@ public class NativeBackgroundTaskTest { ...@@ -239,11 +247,16 @@ public class NativeBackgroundTaskTest {
mocker.mock(BackgroundTaskMemoryMetricsEmitterJni.TEST_HOOKS, mEmitterNativeMock); mocker.mock(BackgroundTaskMemoryMetricsEmitterJni.TEST_HOOKS, mEmitterNativeMock);
mBrowserStartupController = new TestBrowserStartupController(); mBrowserStartupController = new TestBrowserStartupController();
mCallback = new TaskFinishedCallback(); mCallback = new TaskFinishedCallback();
mTask = new TestNativeBackgroundTask(mBrowserStartupController); mTask = new TestNativeBackgroundTask(mBrowserStartupController, mExternalUmaMock);
ChromeBrowserInitializer.setForTesting(mChromeBrowserInitializer); ChromeBrowserInitializer.setForTesting(mChromeBrowserInitializer);
ChromeBrowserInitializer.setBrowserStartupControllerForTesting(mBrowserStartupController); ChromeBrowserInitializer.setBrowserStartupControllerForTesting(mBrowserStartupController);
} }
@After
public void tearDown() {
verifyNoMoreInteractions(mExternalUmaMock);
}
private void setUpChromeBrowserInitializer(InitializerSetup setup) { private void setUpChromeBrowserInitializer(InitializerSetup setup) {
doNothing().when(mChromeBrowserInitializer).handlePreNativeStartup(any(BrowserParts.class)); doNothing().when(mChromeBrowserInitializer).handlePreNativeStartup(any(BrowserParts.class));
switch (setup) { switch (setup) {
...@@ -335,6 +348,7 @@ public class NativeBackgroundTaskTest { ...@@ -335,6 +348,7 @@ public class NativeBackgroundTaskTest {
verifyStartupCalls(0, 0); verifyStartupCalls(0, 0);
assertTrue(mTask.wasOnStartTaskWithNativeCalled()); assertTrue(mTask.wasOnStartTaskWithNativeCalled());
assertFalse(mCallback.wasCalled()); assertFalse(mCallback.wasCalled());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
} }
@Test @Test
...@@ -349,6 +363,8 @@ public class NativeBackgroundTaskTest { ...@@ -349,6 +363,8 @@ public class NativeBackgroundTaskTest {
verifyStartupCalls(1, 1); verifyStartupCalls(1, 1);
assertTrue(mTask.wasOnStartTaskWithNativeCalled()); assertTrue(mTask.wasOnStartTaskWithNativeCalled());
assertFalse(mCallback.wasCalled()); assertFalse(mCallback.wasCalled());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
verify(mExternalUmaMock).reportTaskStartedNative(TaskIds.TEST, false);
} }
@Test @Test
...@@ -364,6 +380,9 @@ public class NativeBackgroundTaskTest { ...@@ -364,6 +380,9 @@ public class NativeBackgroundTaskTest {
assertFalse(mTask.wasOnStartTaskWithNativeCalled()); assertFalse(mTask.wasOnStartTaskWithNativeCalled());
assertTrue(mCallback.wasCalled()); assertTrue(mCallback.wasCalled());
assertTrue(mCallback.needsRescheduling()); assertTrue(mCallback.needsRescheduling());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
verify(mExternalUmaMock).reportTaskStartedNative(TaskIds.TEST, false);
verify(mExternalUmaMock).reportNativeTaskFinished(TaskIds.TEST, false);
} }
@Test @Test
...@@ -379,6 +398,9 @@ public class NativeBackgroundTaskTest { ...@@ -379,6 +398,9 @@ public class NativeBackgroundTaskTest {
assertFalse(mTask.wasOnStartTaskWithNativeCalled()); assertFalse(mTask.wasOnStartTaskWithNativeCalled());
assertTrue(mCallback.wasCalled()); assertTrue(mCallback.wasCalled());
assertTrue(mCallback.needsRescheduling()); assertTrue(mCallback.needsRescheduling());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
verify(mExternalUmaMock).reportTaskStartedNative(TaskIds.TEST, false);
verify(mExternalUmaMock).reportNativeTaskFinished(TaskIds.TEST, false);
} }
@Test @Test
...@@ -391,6 +413,9 @@ public class NativeBackgroundTaskTest { ...@@ -391,6 +413,9 @@ public class NativeBackgroundTaskTest {
assertTrue(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters())); assertTrue(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters()));
assertTrue(mTask.wasOnStopTaskBeforeNativeLoadedCalled()); assertTrue(mTask.wasOnStopTaskBeforeNativeLoadedCalled());
assertFalse(mTask.wasOnStopTaskWithNativeCalled()); assertFalse(mTask.wasOnStopTaskWithNativeCalled());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
verify(mExternalUmaMock).reportTaskStartedNative(TaskIds.TEST, false);
verify(mExternalUmaMock).reportNativeTaskFinished(TaskIds.TEST, false);
} }
@Test @Test
...@@ -403,6 +428,9 @@ public class NativeBackgroundTaskTest { ...@@ -403,6 +428,9 @@ public class NativeBackgroundTaskTest {
assertFalse(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters())); assertFalse(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters()));
assertTrue(mTask.wasOnStopTaskBeforeNativeLoadedCalled()); assertTrue(mTask.wasOnStopTaskBeforeNativeLoadedCalled());
assertFalse(mTask.wasOnStopTaskWithNativeCalled()); assertFalse(mTask.wasOnStopTaskWithNativeCalled());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
verify(mExternalUmaMock).reportTaskStartedNative(TaskIds.TEST, false);
verify(mExternalUmaMock).reportNativeTaskFinished(TaskIds.TEST, false);
} }
@Test @Test
...@@ -415,6 +443,8 @@ public class NativeBackgroundTaskTest { ...@@ -415,6 +443,8 @@ public class NativeBackgroundTaskTest {
assertTrue(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters())); assertTrue(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters()));
assertFalse(mTask.wasOnStopTaskBeforeNativeLoadedCalled()); assertFalse(mTask.wasOnStopTaskBeforeNativeLoadedCalled());
assertTrue(mTask.wasOnStopTaskWithNativeCalled()); assertTrue(mTask.wasOnStopTaskWithNativeCalled());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
verify(mExternalUmaMock).reportNativeTaskFinished(TaskIds.TEST, false);
} }
@Test @Test
...@@ -427,5 +457,7 @@ public class NativeBackgroundTaskTest { ...@@ -427,5 +457,7 @@ public class NativeBackgroundTaskTest {
assertFalse(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters())); assertFalse(mTask.onStopTask(ContextUtils.getApplicationContext(), getTaskParameters()));
assertFalse(mTask.wasOnStopTaskBeforeNativeLoadedCalled()); assertFalse(mTask.wasOnStopTaskBeforeNativeLoadedCalled());
assertTrue(mTask.wasOnStopTaskWithNativeCalled()); assertTrue(mTask.wasOnStopTaskWithNativeCalled());
verify(mExternalUmaMock).reportNativeTaskStarted(TaskIds.TEST, false);
verify(mExternalUmaMock).reportNativeTaskFinished(TaskIds.TEST, false);
} }
} }
...@@ -4,12 +4,27 @@ ...@@ -4,12 +4,27 @@
package org.chromium.components.background_task_scheduler; package org.chromium.components.background_task_scheduler;
import org.chromium.base.VisibleForTesting;
/** /**
* Helper class to allow external code (typically Chrome-specific BackgroundTaskScheduler code) to * Helper class to allow external code (typically Chrome-specific BackgroundTaskScheduler code) to
* report UMA. * report UMA.
*/ */
public final class BackgroundTaskSchedulerExternalUma { public class BackgroundTaskSchedulerExternalUma {
private BackgroundTaskSchedulerExternalUma() {} @VisibleForTesting
BackgroundTaskSchedulerExternalUma() {}
private static class LazyHolder {
static final BackgroundTaskSchedulerExternalUma INSTANCE =
new BackgroundTaskSchedulerExternalUma();
}
/**
* @return the BackgroundTaskSchedulerExternalUma singleton
*/
public static BackgroundTaskSchedulerExternalUma getInstance() {
return LazyHolder.INSTANCE;
}
/** /**
* Reports metrics for when a NativeBackgroundTask loads the native library. * Reports metrics for when a NativeBackgroundTask loads the native library.
...@@ -17,7 +32,7 @@ public final class BackgroundTaskSchedulerExternalUma { ...@@ -17,7 +32,7 @@ public final class BackgroundTaskSchedulerExternalUma {
* @param serviceManagerOnlyMode Whether the task will start native in Service Manager Only Mode * @param serviceManagerOnlyMode Whether the task will start native in Service Manager Only Mode
* (Reduced Mode) instead of Full Browser Mode. * (Reduced Mode) instead of Full Browser Mode.
*/ */
public static void reportTaskStartedNative(int taskId, boolean serviceManagerOnlyMode) { public void reportTaskStartedNative(int taskId, boolean serviceManagerOnlyMode) {
BackgroundTaskSchedulerUma.getInstance().reportTaskStartedNative( BackgroundTaskSchedulerUma.getInstance().reportTaskStartedNative(
taskId, serviceManagerOnlyMode); taskId, serviceManagerOnlyMode);
} }
...@@ -29,7 +44,7 @@ public final class BackgroundTaskSchedulerExternalUma { ...@@ -29,7 +44,7 @@ public final class BackgroundTaskSchedulerExternalUma {
* @param serviceManagerOnlyMode Whether the task will run in Service Manager Only Mode (Reduced * @param serviceManagerOnlyMode Whether the task will run in Service Manager Only Mode (Reduced
* Mode) instead of Full Browser Mode. * Mode) instead of Full Browser Mode.
*/ */
public static void reportNativeTaskStarted(int taskId, boolean serviceManagerOnlyMode) { public void reportNativeTaskStarted(int taskId, boolean serviceManagerOnlyMode) {
BackgroundTaskSchedulerUma.getInstance().reportNativeTaskStarted( BackgroundTaskSchedulerUma.getInstance().reportNativeTaskStarted(
taskId, serviceManagerOnlyMode); taskId, serviceManagerOnlyMode);
} }
...@@ -42,7 +57,7 @@ public final class BackgroundTaskSchedulerExternalUma { ...@@ -42,7 +57,7 @@ public final class BackgroundTaskSchedulerExternalUma {
* @param serviceManagerOnlyMode Whether the task will run in Service Manager Only Mode (Reduced * @param serviceManagerOnlyMode Whether the task will run in Service Manager Only Mode (Reduced
* Mode) instead of Full Browser Mode. * Mode) instead of Full Browser Mode.
*/ */
public static void reportNativeTaskFinished(int taskId, boolean serviceManagerOnlyMode) { public void reportNativeTaskFinished(int taskId, boolean serviceManagerOnlyMode) {
BackgroundTaskSchedulerUma.getInstance().reportNativeTaskFinished( BackgroundTaskSchedulerUma.getInstance().reportNativeTaskFinished(
taskId, serviceManagerOnlyMode); taskId, serviceManagerOnlyMode);
} }
...@@ -53,7 +68,7 @@ public final class BackgroundTaskSchedulerExternalUma { ...@@ -53,7 +68,7 @@ public final class BackgroundTaskSchedulerExternalUma {
* See {@link org.chromium.content.browser.ServicificationStartupUma} for more details. * See {@link org.chromium.content.browser.ServicificationStartupUma} for more details.
* @param startupMode Chrome's startup mode. * @param startupMode Chrome's startup mode.
*/ */
public static void reportStartupMode(int startupMode) { public void reportStartupMode(int startupMode) {
BackgroundTaskSchedulerUma.getInstance().reportStartupMode(startupMode); BackgroundTaskSchedulerUma.getInstance().reportStartupMode(startupMode);
} }
......
...@@ -34,10 +34,13 @@ public class BackgroundTaskSchedulerUmaTest { ...@@ -34,10 +34,13 @@ public class BackgroundTaskSchedulerUmaTest {
@Spy @Spy
private BackgroundTaskSchedulerUma mUmaSpy; private BackgroundTaskSchedulerUma mUmaSpy;
private BackgroundTaskSchedulerExternalUma mExternalUma;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
BackgroundTaskSchedulerUma.setInstanceForTesting(mUmaSpy); BackgroundTaskSchedulerUma.setInstanceForTesting(mUmaSpy);
mExternalUma = new BackgroundTaskSchedulerExternalUma();
doNothing().when(mUmaSpy).assertNativeIsLoaded(); doNothing().when(mUmaSpy).assertNativeIsLoaded();
} }
...@@ -280,8 +283,7 @@ public class BackgroundTaskSchedulerUmaTest { ...@@ -280,8 +283,7 @@ public class BackgroundTaskSchedulerUmaTest {
@Feature({"BackgroundTaskScheduler"}) @Feature({"BackgroundTaskScheduler"})
public void testReportTaskStartedNativeFullBrowser() { public void testReportTaskStartedNativeFullBrowser() {
doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt()); doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt());
BackgroundTaskSchedulerExternalUma.reportTaskStartedNative( mExternalUma.reportTaskStartedNative(TaskIds.DOWNLOAD_SERVICE_JOB_ID, false);
TaskIds.DOWNLOAD_SERVICE_JOB_ID, false);
verify(mUmaSpy, times(1)) verify(mUmaSpy, times(1))
.cacheEvent(eq("Android.BackgroundTaskScheduler.TaskLoadedNative"), .cacheEvent(eq("Android.BackgroundTaskScheduler.TaskLoadedNative"),
eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE)); eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE));
...@@ -297,8 +299,7 @@ public class BackgroundTaskSchedulerUmaTest { ...@@ -297,8 +299,7 @@ public class BackgroundTaskSchedulerUmaTest {
@Feature({"BackgroundTaskScheduler"}) @Feature({"BackgroundTaskScheduler"})
public void testReportTaskStartedNativeReducedMode() { public void testReportTaskStartedNativeReducedMode() {
doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt()); doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt());
BackgroundTaskSchedulerExternalUma.reportTaskStartedNative( mExternalUma.reportTaskStartedNative(TaskIds.DOWNLOAD_SERVICE_JOB_ID, true);
TaskIds.DOWNLOAD_SERVICE_JOB_ID, true);
verify(mUmaSpy, times(1)) verify(mUmaSpy, times(1))
.cacheEvent(eq("Android.BackgroundTaskScheduler.TaskLoadedNative"), .cacheEvent(eq("Android.BackgroundTaskScheduler.TaskLoadedNative"),
eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE)); eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE));
...@@ -314,8 +315,7 @@ public class BackgroundTaskSchedulerUmaTest { ...@@ -314,8 +315,7 @@ public class BackgroundTaskSchedulerUmaTest {
@Feature({"BackgroundTaskScheduler"}) @Feature({"BackgroundTaskScheduler"})
public void testReportNativeTaskStartedFullBrowser() { public void testReportNativeTaskStartedFullBrowser() {
doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt()); doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt());
BackgroundTaskSchedulerExternalUma.reportNativeTaskStarted( mExternalUma.reportNativeTaskStarted(TaskIds.DOWNLOAD_SERVICE_JOB_ID, false);
TaskIds.DOWNLOAD_SERVICE_JOB_ID, false);
verify(mUmaSpy, times(1)) verify(mUmaSpy, times(1))
.cacheEvent(eq("Android.NativeBackgroundTask.TaskStarted"), .cacheEvent(eq("Android.NativeBackgroundTask.TaskStarted"),
eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE)); eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE));
...@@ -331,8 +331,7 @@ public class BackgroundTaskSchedulerUmaTest { ...@@ -331,8 +331,7 @@ public class BackgroundTaskSchedulerUmaTest {
@Feature({"BackgroundTaskScheduler"}) @Feature({"BackgroundTaskScheduler"})
public void testReportNativeTaskStartedReducedMode() { public void testReportNativeTaskStartedReducedMode() {
doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt()); doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt());
BackgroundTaskSchedulerExternalUma.reportNativeTaskStarted( mExternalUma.reportNativeTaskStarted(TaskIds.DOWNLOAD_SERVICE_JOB_ID, true);
TaskIds.DOWNLOAD_SERVICE_JOB_ID, true);
verify(mUmaSpy, times(1)) verify(mUmaSpy, times(1))
.cacheEvent(eq("Android.NativeBackgroundTask.TaskStarted"), .cacheEvent(eq("Android.NativeBackgroundTask.TaskStarted"),
eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE)); eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE));
...@@ -348,8 +347,7 @@ public class BackgroundTaskSchedulerUmaTest { ...@@ -348,8 +347,7 @@ public class BackgroundTaskSchedulerUmaTest {
@Feature({"BackgroundTaskScheduler"}) @Feature({"BackgroundTaskScheduler"})
public void testReportNativeTaskFinishedFullBrowser() { public void testReportNativeTaskFinishedFullBrowser() {
doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt()); doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt());
BackgroundTaskSchedulerExternalUma.reportNativeTaskFinished( mExternalUma.reportNativeTaskFinished(TaskIds.DOWNLOAD_SERVICE_JOB_ID, false);
TaskIds.DOWNLOAD_SERVICE_JOB_ID, false);
verify(mUmaSpy, times(1)) verify(mUmaSpy, times(1))
.cacheEvent(eq("Android.NativeBackgroundTask.TaskFinished"), .cacheEvent(eq("Android.NativeBackgroundTask.TaskFinished"),
eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE)); eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE));
...@@ -365,8 +363,7 @@ public class BackgroundTaskSchedulerUmaTest { ...@@ -365,8 +363,7 @@ public class BackgroundTaskSchedulerUmaTest {
@Feature({"BackgroundTaskScheduler"}) @Feature({"BackgroundTaskScheduler"})
public void testReportNativeTaskFinishedReducedMode() { public void testReportNativeTaskFinishedReducedMode() {
doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt()); doNothing().when(mUmaSpy).cacheEvent(anyString(), anyInt());
BackgroundTaskSchedulerExternalUma.reportNativeTaskFinished( mExternalUma.reportNativeTaskFinished(TaskIds.DOWNLOAD_SERVICE_JOB_ID, true);
TaskIds.DOWNLOAD_SERVICE_JOB_ID, true);
verify(mUmaSpy, times(1)) verify(mUmaSpy, times(1))
.cacheEvent(eq("Android.NativeBackgroundTask.TaskFinished"), .cacheEvent(eq("Android.NativeBackgroundTask.TaskFinished"),
eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE)); eq(BackgroundTaskSchedulerUma.BACKGROUND_TASK_DOWNLOAD_SERVICE));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment