diff options
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.java | 80 |
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); |