summaryrefslogtreecommitdiff
path: root/adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java
diff options
context:
space:
mode:
authorhanlixy <hanlixy@google.com>2022-10-27 22:57:41 +0000
committerHan Li <hanlixy@google.com>2022-10-27 23:22:09 +0000
commit3a6c054ef333227a5eb250da016ae209d7dbd1ba (patch)
treefd0dfc74bb2040f140ce9ccbd1ed74731bfa2ebd /adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java
parent35b7b4e7bdbc843a0390692483094a06f08726e1 (diff)
downloadAdServices-3a6c054ef333227a5eb250da016ae209d7dbd1ba.tar.gz
Prefactoring Tests to allow to Mock Flags
We're working on ag/20270887 to enable a flag to guard DB schema change. This requires to introduce FlagFactory in DBHelper. It results in many measurement tests to fail due to Device_config access issue to read production flag in test. In order to split the fix from actual logic, I raise this CL to prefactoring affected tests. I fix some of them by changing db to test db, and fix others by mocking the flag directly. Bug: 256028076 Test: atest AdServicesServiceCoreUnitTests AdServicesApkUITests Change-Id: I6d9a62c7e5caba9f705820bdb134aad33a683c48
Diffstat (limited to 'adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java')
-rw-r--r--adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java
index ac201c9134..b1a3948ab5 100644
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java
+++ b/adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java
@@ -24,6 +24,7 @@ import android.database.sqlite.SQLiteException;
import androidx.test.core.app.ApplicationProvider;
import com.android.adservices.data.DbHelper;
+import com.android.adservices.service.FlagsFactory;
import com.android.adservices.service.measurement.Attribution;
import com.android.adservices.service.measurement.EventReport;
import com.android.adservices.service.measurement.Source;
@@ -31,6 +32,7 @@ import com.android.adservices.service.measurement.Trigger;
import com.android.adservices.service.measurement.aggregation.AggregateEncryptionKey;
import com.android.adservices.service.measurement.aggregation.AggregateReport;
import com.android.adservices.service.measurement.util.UnsignedLong;
+import com.android.dx.mockito.inline.extended.ExtendedMockito;
import org.json.JSONArray;
import org.json.JSONException;
@@ -39,6 +41,8 @@ import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.MockitoSession;
+import org.mockito.quality.Strictness;
import java.io.IOException;
import java.io.InputStream;
@@ -64,8 +68,17 @@ public abstract class AbstractDbIntegrationTest {
public final DbState mInput;
public final DbState mOutput;
+ private MockitoSession mStaticMockSession;
+
@Before
public void before() {
+ mStaticMockSession =
+ ExtendedMockito.mockitoSession()
+ .spyStatic(FlagsFactory.class)
+ .strictness(Strictness.WARN)
+ .startMocking();
+ ExtendedMockito.doReturn(FlagsFactory.getFlagsForTest()).when(FlagsFactory::getFlags);
+
SQLiteDatabase db = DbHelper.getInstance(sContext).getWritableDatabase();
emptyTables(db);
seedTables(db, mInput);
@@ -75,6 +88,8 @@ public abstract class AbstractDbIntegrationTest {
public void after() {
SQLiteDatabase db = DbHelper.getInstance(sContext).getWritableDatabase();
emptyTables(db);
+
+ mStaticMockSession.finishMocking();
}
public AbstractDbIntegrationTest(DbState input, DbState output) {