summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrishang Garodia <krishang@google.com>2024-02-14 18:37:16 +0000
committerCherrypicker Worker <android-build-cherrypicker-worker@google.com>2024-02-19 11:37:49 +0000
commitd04aaddaf6f1dcd95bf1e88804d3fe46b4096b1d (patch)
tree0523713cf0dcd17699f19d9ffbf92ada4281c83e
parent6a96d097cc1076180a8b7b1e218da5346c2e2442 (diff)
downloadMediaProvider-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
-rw-r--r--tests/src/com/android/providers/media/photopicker/sync/ImmediateAlbumSyncWorkerTest.java8
-rw-r--r--tests/src/com/android/providers/media/photopicker/sync/ImmediateSyncWorkerTest.java8
-rw-r--r--tests/src/com/android/providers/media/photopicker/sync/MediaResetWorkerTest.java8
-rw-r--r--tests/src/com/android/providers/media/photopicker/sync/ProactiveSyncWorkerTest.java8
-rw-r--r--tests/src/com/android/providers/media/photopicker/sync/SyncWorkerTestUtils.java35
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();
}
}