summaryrefslogtreecommitdiff
path: root/adservices/tests/unittest/service-core/src/com/android/adservices/service/customaudience/BackgroundFetchWorkerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'adservices/tests/unittest/service-core/src/com/android/adservices/service/customaudience/BackgroundFetchWorkerTest.java')
-rw-r--r--adservices/tests/unittest/service-core/src/com/android/adservices/service/customaudience/BackgroundFetchWorkerTest.java80
1 files changed, 55 insertions, 25 deletions
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/service/customaudience/BackgroundFetchWorkerTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/service/customaudience/BackgroundFetchWorkerTest.java
index 99d87cd12f..62dae9b7fe 100644
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/service/customaudience/BackgroundFetchWorkerTest.java
+++ b/adservices/tests/unittest/service-core/src/com/android/adservices/service/customaudience/BackgroundFetchWorkerTest.java
@@ -30,6 +30,7 @@ import static org.mockito.Mockito.verify;
import android.adservices.common.CommonFixture;
import android.annotation.NonNull;
import android.content.Context;
+import android.content.pm.PackageManager;
import androidx.room.Room;
import androidx.test.core.app.ApplicationProvider;
@@ -39,13 +40,15 @@ import com.android.adservices.customaudience.DBCustomAudienceBackgroundFetchData
import com.android.adservices.data.customaudience.CustomAudienceDao;
import com.android.adservices.data.customaudience.CustomAudienceDatabase;
import com.android.adservices.data.customaudience.DBCustomAudienceBackgroundFetchData;
+import com.android.adservices.data.enrollment.EnrollmentDao;
import com.android.adservices.service.Flags;
import com.android.adservices.service.FlagsFactory;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.Spy;
+import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -74,20 +77,29 @@ public class BackgroundFetchWorkerTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
- @Spy
- private CustomAudienceDao mCustomAudienceDaoSpy =
- Room.inMemoryDatabaseBuilder(CONTEXT, CustomAudienceDatabase.class)
- .build()
- .customAudienceDao();
-
- @Spy
- private BackgroundFetchRunner mBackgroundFetchRunnerSpy =
- new BackgroundFetchRunner(mCustomAudienceDaoSpy, mFlags);
+ @Mock private PackageManager mPackageManagerMock;
+ @Mock private EnrollmentDao mEnrollmentDaoMock;
+ private CustomAudienceDao mCustomAudienceDaoSpy;
+ private BackgroundFetchRunner mBackgroundFetchRunnerSpy;
private BackgroundFetchWorker mBackgroundFetchWorker;
@Before
public void setup() {
+ mCustomAudienceDaoSpy =
+ Mockito.spy(
+ Room.inMemoryDatabaseBuilder(CONTEXT, CustomAudienceDatabase.class)
+ .build()
+ .customAudienceDao());
+
+ mBackgroundFetchRunnerSpy =
+ Mockito.spy(
+ new BackgroundFetchRunner(
+ mCustomAudienceDaoSpy,
+ mPackageManagerMock,
+ mEnrollmentDaoMock,
+ mFlags));
+
mBackgroundFetchWorker =
new BackgroundFetchWorker(mCustomAudienceDaoSpy, mFlags, mBackgroundFetchRunnerSpy);
}
@@ -96,24 +108,21 @@ public class BackgroundFetchWorkerTest {
public void testBackgroundFetchWorkerNullInputsCauseFailure() {
assertThrows(
NullPointerException.class,
- () -> {
- new BackgroundFetchWorker(
- null, FlagsFactory.getFlagsForTest(), mBackgroundFetchRunnerSpy);
- });
+ () ->
+ new BackgroundFetchWorker(
+ null, FlagsFactory.getFlagsForTest(), mBackgroundFetchRunnerSpy));
assertThrows(
NullPointerException.class,
- () -> {
- new BackgroundFetchWorker(
- mCustomAudienceDaoSpy, null, mBackgroundFetchRunnerSpy);
- });
+ () ->
+ new BackgroundFetchWorker(
+ mCustomAudienceDaoSpy, null, mBackgroundFetchRunnerSpy));
assertThrows(
NullPointerException.class,
- () -> {
- new BackgroundFetchWorker(
- mCustomAudienceDaoSpy, FlagsFactory.getFlagsForTest(), null);
- });
+ () ->
+ new BackgroundFetchWorker(
+ mCustomAudienceDaoSpy, FlagsFactory.getFlagsForTest(), null));
}
@Test
@@ -145,7 +154,7 @@ public class BackgroundFetchWorkerTest {
class BackgroundFetchRunnerWithSleep extends BackgroundFetchRunner {
BackgroundFetchRunnerWithSleep(
@NonNull CustomAudienceDao customAudienceDao, @NonNull Flags flags) {
- super(customAudienceDao, flags);
+ super(customAudienceDao, mPackageManagerMock, mEnrollmentDaoMock, flags);
}
@Override
@@ -201,6 +210,12 @@ public class BackgroundFetchWorkerTest {
mBackgroundFetchWorker.runBackgroundFetch(CommonFixture.FIXED_NOW);
+ verify(mBackgroundFetchRunnerSpy).deleteExpiredCustomAudiences(any());
+ verify(mCustomAudienceDaoSpy).deleteAllExpiredCustomAudienceData(any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedOwnerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedOwnerCustomAudienceData(any(), any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedBuyerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedBuyerCustomAudienceData(any(), any());
verify(mBackgroundFetchRunnerSpy, never()).updateCustomAudience(any(), any());
}
@@ -220,6 +235,12 @@ public class BackgroundFetchWorkerTest {
mBackgroundFetchWorker.runBackgroundFetch(CommonFixture.FIXED_NOW);
+ verify(mBackgroundFetchRunnerSpy).deleteExpiredCustomAudiences(any());
+ verify(mCustomAudienceDaoSpy).deleteAllExpiredCustomAudienceData(any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedOwnerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedOwnerCustomAudienceData(any(), any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedBuyerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedBuyerCustomAudienceData(any(), any());
verify(mBackgroundFetchRunnerSpy).updateCustomAudience(any(), any());
}
@@ -245,6 +266,12 @@ public class BackgroundFetchWorkerTest {
mBackgroundFetchWorker.runBackgroundFetch(CommonFixture.FIXED_NOW);
+ verify(mBackgroundFetchRunnerSpy).deleteExpiredCustomAudiences(any());
+ verify(mCustomAudienceDaoSpy).deleteAllExpiredCustomAudienceData(any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedOwnerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedOwnerCustomAudienceData(any(), any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedBuyerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedBuyerCustomAudienceData(any(), any());
verify(mBackgroundFetchRunnerSpy, times(numEligibleCustomAudiences))
.updateCustomAudience(any(), any());
}
@@ -268,7 +295,6 @@ public class BackgroundFetchWorkerTest {
doReturn(fetchDataList)
.when(mCustomAudienceDaoSpy)
.getActiveEligibleCustomAudienceBackgroundFetchData(any(), anyLong());
- doNothing().when(mBackgroundFetchRunnerSpy).deleteExpiredCustomAudiences(any());
doAnswer(
unusedInvocation -> {
Thread.sleep(100);
@@ -298,6 +324,11 @@ public class BackgroundFetchWorkerTest {
bgfWorkStoppedLatch.await();
verify(mBackgroundFetchRunnerSpy).deleteExpiredCustomAudiences(any());
+ verify(mCustomAudienceDaoSpy).deleteAllExpiredCustomAudienceData(any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedOwnerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedOwnerCustomAudienceData(any(), any());
+ verify(mBackgroundFetchRunnerSpy).deleteDisallowedBuyerCustomAudiences();
+ verify(mCustomAudienceDaoSpy).deleteAllDisallowedBuyerCustomAudienceData(any(), any());
verify(mBackgroundFetchRunnerSpy, times(numEligibleCustomAudiences))
.updateCustomAudience(any(), any());
}
@@ -326,7 +357,6 @@ public class BackgroundFetchWorkerTest {
doReturn(fetchDataList)
.when(mCustomAudienceDaoSpy)
.getActiveEligibleCustomAudienceBackgroundFetchData(any(), anyLong());
- doNothing().when(mBackgroundFetchRunnerSpy).deleteExpiredCustomAudiences(any());
doAnswer(
unusedInvocation -> {
Thread.sleep(100);