Merge "Skip BlockedNumberProvider tests on system user." into pie-cts-dev
diff --git a/tests/tests/provider/AndroidTest.xml b/tests/tests/provider/AndroidTest.xml
index b4a2280..64fe88c 100644
--- a/tests/tests/provider/AndroidTest.xml
+++ b/tests/tests/provider/AndroidTest.xml
@@ -16,9 +16,6 @@
<configuration description="Config for CTS Provider test cases">
<option name="test-suite-tag" value="cts" />
<option name="config-descriptor:metadata" key="component" value="framework" />
- <target_preparer class="com.android.tradefed.targetprep.SwitchUserTargetPreparer">
- <option name="user-type" value="system"/>
- </target_preparer>
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="cleanup-apks" value="true" />
<option name="test-file-name" value="CtsProviderTestCases.apk" />
diff --git a/tests/tests/provider/src/android/provider/cts/BlockedNumberBackupRestoreTest.java b/tests/tests/provider/src/android/provider/cts/BlockedNumberBackupRestoreTest.java
index adf558b..d98a25a 100644
--- a/tests/tests/provider/src/android/provider/cts/BlockedNumberBackupRestoreTest.java
+++ b/tests/tests/provider/src/android/provider/cts/BlockedNumberBackupRestoreTest.java
@@ -21,6 +21,7 @@
import android.content.ContentValues;
import android.content.Context;
import android.content.pm.PackageManager;
+import android.os.UserManager;
import android.provider.BlockedNumberContract;
import android.telecom.Log;
@@ -44,6 +45,7 @@
private String mOldTransport;
private boolean mOldBackupEnabled;
private boolean mHasFeature;
+ private boolean mIsSystemUser;
@Override
protected void setUp() throws Exception {
@@ -54,8 +56,9 @@
mUiAutomation = getInstrumentation().getUiAutomation();
mHasFeature = isFeatureSupported();
+ mIsSystemUser = isSystemUser(mContext);
- if (mHasFeature) {
+ if (mHasFeature && mIsSystemUser) {
ProviderTestUtils.setDefaultSmsApp(true, mContext.getPackageName(), mUiAutomation);
mOldTransport = ProviderTestUtils.setBackupTransport(
@@ -68,7 +71,7 @@
@Override
protected void tearDown() throws Exception {
- if (mHasFeature) {
+ if (mHasFeature && mIsSystemUser) {
wipeBackup();
clearBlockedNumbers();
ProviderTestUtils.setBackupEnabled(mOldBackupEnabled, mUiAutomation);
@@ -80,7 +83,7 @@
}
public void testBackupAndRestoreForSingleNumber() throws Exception {
- if (!mHasFeature) {
+ if (!mHasFeature || !mIsSystemUser) {
Log.i(TAG, "skipping BlockedNumberBackupRestoreTest");
return;
}
@@ -101,7 +104,7 @@
}
public void testBackupAndRestoreWithDeletion() throws Exception {
- if (!mHasFeature) {
+ if (!mHasFeature || !mIsSystemUser) {
Log.i(TAG, "skipping BlockedNumberBackupRestoreTest");
return;
}
@@ -175,4 +178,8 @@
ProviderTestUtils.wipeBackup(LOCAL_BACKUP_COMPONENT, BLOCKED_NUMBERS_PROVIDER_PACKAGE,
mUiAutomation);
}
+
+ private static boolean isSystemUser(Context context) {
+ return context.getSystemService(UserManager.class).isSystemUser();
+ }
}
diff --git a/tests/tests/provider/src/android/provider/cts/BlockedNumberContractTest.java b/tests/tests/provider/src/android/provider/cts/BlockedNumberContractTest.java
index 30fdf24..756fa76 100644
--- a/tests/tests/provider/src/android/provider/cts/BlockedNumberContractTest.java
+++ b/tests/tests/provider/src/android/provider/cts/BlockedNumberContractTest.java
@@ -24,9 +24,11 @@
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
+import android.os.UserManager;
import android.provider.BlockedNumberContract;
import android.provider.BlockedNumberContract.BlockedNumbers;
import android.telephony.TelephonyManager;
+import android.util.Log;
import junit.framework.Assert;
@@ -42,9 +44,11 @@
// cts-tradefed
// run cts -m CtsProviderTestCases --test android.provider.cts.BlockedNumberContractTest
public class BlockedNumberContractTest extends TestCaseThatRunsIfTelephonyIsEnabled {
+ private static final String TAG = "BlockedNumberContractTest";
private ContentResolver mContentResolver;
private Context mContext;
private ArrayList<Uri> mAddedUris;
+ private boolean mIsSystemUser;
private static final String[] BLOCKED_NUMBERS_PROJECTION = new String[]{
BlockedNumbers.COLUMN_ORIGINAL_NUMBER,
@@ -56,6 +60,7 @@
mContext = getInstrumentation().getContext();
mContentResolver = mContext.getContentResolver();
mAddedUris = new ArrayList<>();
+ mIsSystemUser = isSystemUser(mContext);
}
@Override
@@ -70,6 +75,10 @@
}
public void testProviderInteractionsAsRegularApp_fails() {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
// Don't run this test if we're carrier privileged.
if (telephonyManager.checkCarrierPrivilegesForPackage(mContext.getPackageName())
@@ -123,6 +132,10 @@
}
public void testInsertAndBlockCheck_succeeds() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
assertTrue(BlockedNumberContract.canCurrentUserBlockNumbers(mContext));
@@ -150,6 +163,10 @@
}
public void testUnblock_succeeds() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
// Unblocking non-existent blocked number should return 0.
@@ -165,6 +182,10 @@
}
public void testInsert_failsWithInvalidInputs() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
try {
@@ -206,6 +227,10 @@
}
public void testUpdate_isUnsupported() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
try {
mContentResolver.update(
@@ -216,12 +241,20 @@
}
public void testIsBlocked_returnsFalseForNullAndEmpty() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
assertFalse(BlockedNumberContract.isBlocked(mContext, null));
assertFalse(BlockedNumberContract.isBlocked(mContext, ""));
}
public void testDelete() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
assertInsertBlockedNumberSucceeds("12345", "+112345");
@@ -264,6 +297,10 @@
}
public void testDelete_failsOnInvalidInputs() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
try {
@@ -285,6 +322,10 @@
}
public void testProviderNotifiesChangesUsingContentObserver() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
Cursor cursor = mContentResolver.query(BlockedNumbers.CONTENT_URI, null, null, null, null);
@@ -311,6 +352,10 @@
}
public void testAccessingNonExistentMethod_fails() throws Exception {
+ if (!mIsSystemUser) {
+ Log.i(TAG, "skipping BlockedNumberContractTest");
+ return;
+ }
setDefaultSmsApp(true);
try {
@@ -358,4 +403,8 @@
ProviderTestUtils.setDefaultSmsApp(
setToSmsApp, mContext.getPackageName(), getInstrumentation().getUiAutomation());
}
+
+ private static boolean isSystemUser(Context context) {
+ return context.getSystemService(UserManager.class).isSystemUser();
+ }
}