diff options
author | Krishang Garodia <krishang@google.com> | 2024-02-14 18:37:16 +0000 |
---|---|---|
committer | Cherrypicker Worker <android-build-cherrypicker-worker@google.com> | 2024-02-19 11:37:49 +0000 |
commit | d04aaddaf6f1dcd95bf1e88804d3fe46b4096b1d (patch) | |
tree | 0523713cf0dcd17699f19d9ffbf92ada4281c83e | |
parent | 6a96d097cc1076180a8b7b1e218da5346c2e2442 (diff) | |
download | MediaProvider-d04aaddaf6f1dcd95bf1e88804d3fe46b4096b1d.tar.gz |
Fix picker sync worker tests
The picker sync worker tests are updated to get an instance of the
Workers using the public TestWorkerBuilder lib instead of the private
Worker constructor.
Test: atest MediaProviderTests
Bug: 325099689
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dcc33f3d3c9da9591755079ddc7a463cc62579aa)
Merged-In: I903bad9001f73c7a87f0bd46c199396213494c64
Change-Id: I903bad9001f73c7a87f0bd46c199396213494c64
5 files changed, 23 insertions, 44 deletions
diff --git a/tests/src/com/android/providers/media/photopicker/sync/ImmediateAlbumSyncWorkerTest.java b/tests/src/com/android/providers/media/photopicker/sync/ImmediateAlbumSyncWorkerTest.java index aa1f2f467..5c5d65cfc 100644 --- a/tests/src/com/android/providers/media/photopicker/sync/ImmediateAlbumSyncWorkerTest.java +++ b/tests/src/com/android/providers/media/photopicker/sync/ImmediateAlbumSyncWorkerTest.java @@ -18,11 +18,11 @@ package com.android.providers.media.photopicker.sync; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_CHANNEL_ID; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_ID; +import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.buildTestWorker; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getCloudAlbumSyncInputData; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAlbumSyncInputData; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudAlbumSyncInputData; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudSyncInputData; -import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudSyncTestWorkParams; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.initializeTestWorkManager; import static com.google.common.truth.Truth.assertThat; @@ -255,7 +255,7 @@ public class ImmediateAlbumSyncWorkerTest { public void testImmediateAlbumSyncWorkerOnStopped() { // Setup final ImmediateAlbumSyncWorker immediateAlbumSyncWorker = - new ImmediateAlbumSyncWorker(mContext, getLocalAndCloudSyncTestWorkParams()); + buildTestWorker(mContext, ImmediateAlbumSyncWorker.class); // Test onStopped immediateAlbumSyncWorker.onStopped(); @@ -276,8 +276,8 @@ public class ImmediateAlbumSyncWorkerTest { @Test public void testGetForegroundInfo() { - final ForegroundInfo foregroundInfo = new ImmediateAlbumSyncWorker( - mContext, getLocalAndCloudSyncTestWorkParams()).getForegroundInfo(); + final ForegroundInfo foregroundInfo = + buildTestWorker(mContext, ImmediateAlbumSyncWorker.class).getForegroundInfo(); assertThat(foregroundInfo.getNotificationId()).isEqualTo(NOTIFICATION_ID); assertThat(foregroundInfo.getNotification().getChannelId()) diff --git a/tests/src/com/android/providers/media/photopicker/sync/ImmediateSyncWorkerTest.java b/tests/src/com/android/providers/media/photopicker/sync/ImmediateSyncWorkerTest.java index c28e3b203..a87caece8 100644 --- a/tests/src/com/android/providers/media/photopicker/sync/ImmediateSyncWorkerTest.java +++ b/tests/src/com/android/providers/media/photopicker/sync/ImmediateSyncWorkerTest.java @@ -18,10 +18,10 @@ package com.android.providers.media.photopicker.sync; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_CHANNEL_ID; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_ID; +import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.buildTestWorker; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getCloudSyncInputData; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudSyncInputData; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalSyncInputData; -import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudSyncTestWorkParams; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.initializeTestWorkManager; import static com.google.common.truth.Truth.assertThat; @@ -217,7 +217,7 @@ public class ImmediateSyncWorkerTest { public void testImmediateSyncWorkerOnStopped() { // Setup final ImmediateSyncWorker immediateSyncWorker = - new ImmediateSyncWorker(mContext, getLocalAndCloudSyncTestWorkParams()); + buildTestWorker(mContext, ImmediateSyncWorker.class); // Test onStopped immediateSyncWorker.onStopped(); @@ -238,8 +238,8 @@ public class ImmediateSyncWorkerTest { @Test public void testGetForegroundInfo() { - final ForegroundInfo foregroundInfo = new ImmediateSyncWorker( - mContext, getLocalAndCloudSyncTestWorkParams()).getForegroundInfo(); + final ForegroundInfo foregroundInfo = + buildTestWorker(mContext, ImmediateSyncWorker.class).getForegroundInfo(); assertThat(foregroundInfo.getNotificationId()).isEqualTo(NOTIFICATION_ID); assertThat(foregroundInfo.getNotification().getChannelId()) diff --git a/tests/src/com/android/providers/media/photopicker/sync/MediaResetWorkerTest.java b/tests/src/com/android/providers/media/photopicker/sync/MediaResetWorkerTest.java index 18f89fb19..537de6146 100644 --- a/tests/src/com/android/providers/media/photopicker/sync/MediaResetWorkerTest.java +++ b/tests/src/com/android/providers/media/photopicker/sync/MediaResetWorkerTest.java @@ -24,8 +24,8 @@ import static com.android.providers.media.photopicker.sync.PickerSyncManager.SYN import static com.android.providers.media.photopicker.sync.PickerSyncManager.SYNC_WORKER_TAG_IS_PERIODIC; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_CHANNEL_ID; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_ID; +import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.buildTestWorker; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getAlbumResetInputData; -import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudSyncTestWorkParams; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.initializeTestWorkManager; import static com.google.common.truth.Truth.assertThat; @@ -367,7 +367,7 @@ public class MediaResetWorkerTest { @Test public void testMediaResetWorkerOnStopped() { - new MediaResetWorker(mContext, getLocalAndCloudSyncTestWorkParams()).onStopped(); + buildTestWorker(mContext, MediaResetWorker.class).onStopped(); verify(mMockLocalAlbumSyncTracker, times(/* wantedNumberOfInvocations */ 0)) .createSyncFuture(any()); @@ -382,8 +382,8 @@ public class MediaResetWorkerTest { @Test public void testGetForegroundInfo() { - final ForegroundInfo foregroundInfo = new MediaResetWorker( - mContext, getLocalAndCloudSyncTestWorkParams()).getForegroundInfo(); + final ForegroundInfo foregroundInfo = + buildTestWorker(mContext, MediaResetWorker.class).getForegroundInfo(); assertThat(foregroundInfo.getNotificationId()).isEqualTo(NOTIFICATION_ID); assertThat(foregroundInfo.getNotification().getChannelId()) diff --git a/tests/src/com/android/providers/media/photopicker/sync/ProactiveSyncWorkerTest.java b/tests/src/com/android/providers/media/photopicker/sync/ProactiveSyncWorkerTest.java index 5d11b3e11..0039635b8 100644 --- a/tests/src/com/android/providers/media/photopicker/sync/ProactiveSyncWorkerTest.java +++ b/tests/src/com/android/providers/media/photopicker/sync/ProactiveSyncWorkerTest.java @@ -18,9 +18,9 @@ package com.android.providers.media.photopicker.sync; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_CHANNEL_ID; import static com.android.providers.media.photopicker.sync.PickerSyncNotificationHelper.NOTIFICATION_ID; +import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.buildTestWorker; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getCloudSyncInputData; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudSyncInputData; -import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalAndCloudSyncTestWorkParams; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.getLocalSyncInputData; import static com.android.providers.media.photopicker.sync.SyncWorkerTestUtils.initializeTestWorkManager; @@ -213,7 +213,7 @@ public class ProactiveSyncWorkerTest { public void testProactiveSyncWorkerOnStopped() { // Setup final ProactiveSyncWorker proactiveSyncWorker = - new ProactiveSyncWorker(mContext, getLocalAndCloudSyncTestWorkParams()); + buildTestWorker(mContext, ProactiveSyncWorker.class); // Test onStopped proactiveSyncWorker.onStopped(); @@ -234,8 +234,8 @@ public class ProactiveSyncWorkerTest { @Test public void testGetForegroundInfo() { - final ForegroundInfo foregroundInfo = new ProactiveSyncWorker( - mContext, getLocalAndCloudSyncTestWorkParams()).getForegroundInfo(); + final ForegroundInfo foregroundInfo = + buildTestWorker(mContext, ProactiveSyncWorker.class).getForegroundInfo(); assertThat(foregroundInfo.getNotificationId()).isEqualTo(NOTIFICATION_ID); assertThat(foregroundInfo.getNotification().getChannelId()) diff --git a/tests/src/com/android/providers/media/photopicker/sync/SyncWorkerTestUtils.java b/tests/src/com/android/providers/media/photopicker/sync/SyncWorkerTestUtils.java index 7307c157b..7eb9326a5 100644 --- a/tests/src/com/android/providers/media/photopicker/sync/SyncWorkerTestUtils.java +++ b/tests/src/com/android/providers/media/photopicker/sync/SyncWorkerTestUtils.java @@ -25,27 +25,19 @@ import static com.android.providers.media.photopicker.sync.PickerSyncManager.SYN import static com.android.providers.media.photopicker.sync.PickerSyncManager.SYNC_WORKER_INPUT_RESET_TYPE; import static com.android.providers.media.photopicker.sync.PickerSyncManager.SYNC_WORKER_INPUT_SYNC_SOURCE; -import static org.mockito.Mockito.mock; - import android.content.Context; import android.util.Log; import androidx.annotation.NonNull; import androidx.work.Configuration; import androidx.work.Data; -import androidx.work.ForegroundUpdater; -import androidx.work.ProgressUpdater; -import androidx.work.WorkerFactory; -import androidx.work.WorkerParameters; -import androidx.work.impl.utils.taskexecutor.TaskExecutor; +import androidx.work.Worker; import androidx.work.testing.SynchronousExecutor; +import androidx.work.testing.TestWorkerBuilder; import androidx.work.testing.WorkManagerTestInitHelper; -import java.util.Collections; import java.util.Map; import java.util.Objects; -import java.util.UUID; -import java.util.concurrent.Executor; public class SyncWorkerTestUtils { public static void initializeTestWorkManager(@NonNull Context context) { @@ -106,23 +98,10 @@ public class SyncWorkerTestUtils { SYNC_WORKER_INPUT_ALBUM_ID, albumId)); } - /** - * All the values used in the construction of {@link WorkerParameters} here are default - * {@link NonNull} values except the {@link Data inputData} which is derived from - * {@link SyncWorkerTestUtils#getLocalAndCloudSyncInputData()}. - */ - static WorkerParameters getLocalAndCloudSyncTestWorkParams() { - return new WorkerParameters( - UUID.randomUUID(), - getLocalAndCloudSyncInputData(), - /* tags= */ Collections.emptyList(), - new WorkerParameters.RuntimeExtras(), - /* runAttemptCount= */ 0, - /* generation= */ 0, - mock(Executor.class), - mock(TaskExecutor.class), - mock(WorkerFactory.class), - mock(ProgressUpdater.class), - mock(ForegroundUpdater.class)); + static <W extends Worker> W buildTestWorker(@NonNull Context context, + @NonNull Class<W> workerClass) { + return TestWorkerBuilder.from(context, workerClass) + .setInputData(getLocalAndCloudSyncInputData()) + .build(); } } |