diff options
author | hanlixy <hanlixy@google.com> | 2022-10-27 22:57:41 +0000 |
---|---|---|
committer | Han Li <hanlixy@google.com> | 2022-10-27 23:22:09 +0000 |
commit | 3a6c054ef333227a5eb250da016ae209d7dbd1ba (patch) | |
tree | fd0dfc74bb2040f140ce9ccbd1ed74731bfa2ebd /adservices/tests/unittest/service-core/src/com/android/adservices/data/measurement/AbstractDbIntegrationTest.java | |
parent | 35b7b4e7bdbc843a0390692483094a06f08726e1 (diff) | |
download | AdServices-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.java | 15 |
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) { |