summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author James Lemieux <jplemieux@google.com> 2018-12-14 18:29:12 -0800
committer James Lemieux <jplemieux@google.com> 2018-12-21 14:20:11 -0800
commitb7043a96d52fec3ca5e3548a69f4953ec01aef1a (patch)
tree57920e742de0c94d5d174a832ff4a7dce8d06a93
parent7f244606aa1ee3eaa8c7eb0cf17af9c018a2bf5b (diff)
Fix test cases for impending Robolectric merge
ShadowApplication.sendBroadcast(...) has been removed. Tests must call Context.sendBroadcast(...) just like normal code. ShadowInstrumentation now correctly models granted permissions by pid and uid. Tests must configure them both correctly. Bug: 121048884 Test: make -j56 RunFrameworksServicesRoboTests Change-Id: Ib4786ddacdfbe6592d8090331eb58495aebb4b55
-rw-r--r--services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java3
-rw-r--r--services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java5
-rw-r--r--services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java20
-rw-r--r--services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java10
4 files changed, 23 insertions, 15 deletions
diff --git a/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java b/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
index 1e468d44b8c7..bb60c27a2543 100644
--- a/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
@@ -71,7 +71,6 @@ import org.robolectric.annotation.Implements;
import org.robolectric.shadows.ShadowContextWrapper;
import org.robolectric.shadows.ShadowLooper;
import org.robolectric.shadows.ShadowPackageManager;
-import org.robolectric.shadows.ShadowSettings;
import java.io.File;
import java.util.List;
@@ -433,7 +432,7 @@ public class UserBackupManagerServiceTest {
}
private String getSettingsTransport() {
- return ShadowSettings.ShadowSecure.getString(
+ return Settings.Secure.getString(
mContext.getContentResolver(), Settings.Secure.BACKUP_TRANSPORT);
}
diff --git a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
index cf51e19edb00..5e84ab0d66f7 100644
--- a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
@@ -134,7 +134,6 @@ import org.mockito.stubbing.Answer;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
import org.robolectric.shadows.ShadowLooper;
import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.shadows.ShadowQueuedWork;
@@ -188,7 +187,6 @@ public class KeyValueBackupTaskTest {
private File mBaseStateDir;
private File mDataDir;
private Application mApplication;
- private ShadowApplication mShadowApplication;
private Looper mMainLooper;
private FrameworkShadowLooper mShadowMainLooper;
private Context mContext;
@@ -200,7 +198,6 @@ public class KeyValueBackupTaskTest {
mTransport = backupTransport();
mApplication = RuntimeEnvironment.application;
- mShadowApplication = shadowOf(mApplication);
mContext = mApplication;
mMainLooper = Looper.getMainLooper();
@@ -2439,7 +2436,7 @@ public class KeyValueBackupTaskTest {
packageData.packageName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);
PackageInfo packageInfo = getPackageInfo(packageData);
mShadowPackageManager.addPackage(packageInfo);
- mShadowApplication.sendBroadcast(getPackageAddedIntent(packageData));
+ mContext.sendBroadcast(getPackageAddedIntent(packageData));
// Run the backup looper because on the receiver we post MSG_SCHEDULE_BACKUP_PACKAGE
mShadowBackupLooper.runToEndOfTasks();
BackupAgent backupAgent = spy(BackupAgent.class);
diff --git a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
index 859392d80d36..4009876314e8 100644
--- a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
@@ -479,8 +479,11 @@ public class ActiveRestoreSessionTest {
@Test
public void testRestorePackage_whenCallerIsNotPackageAndPermissionGranted() throws Exception {
- mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
- ShadowBinder.setCallingUid(1);
+ final int pid = 1211;
+ final int uid = 1;
+ mShadowApplication.grantPermissions(pid, uid, android.Manifest.permission.BACKUP);
+ ShadowBinder.setCallingPid(pid);
+ ShadowBinder.setCallingUid(uid);
setUpPackage(PACKAGE_1, /* uid */ 2);
when(mBackupManagerService.getAvailableRestoreToken(PACKAGE_1)).thenReturn(TOKEN_1);
setUpTransport(mTransport);
@@ -494,8 +497,11 @@ public class ActiveRestoreSessionTest {
@Test
public void testRestorePackage_whenCallerIsNotPackageAndPermissionDenied() throws Exception {
- mShadowApplication.denyPermissions(android.Manifest.permission.BACKUP);
- ShadowBinder.setCallingUid(1);
+ final int pid = 1211;
+ final int uid = 1;
+ mShadowApplication.denyPermissions(pid, uid, android.Manifest.permission.BACKUP);
+ ShadowBinder.setCallingPid(pid);
+ ShadowBinder.setCallingUid(uid);
setUpPackage(PACKAGE_1, /* uid */ 2);
when(mBackupManagerService.getAvailableRestoreToken(PACKAGE_1)).thenReturn(TOKEN_1);
setUpTransport(mTransport);
@@ -508,7 +514,11 @@ public class ActiveRestoreSessionTest {
@Test
public void testRestorePackage_whenPackageNotFound() throws Exception {
- mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
+ final int pid = 1211;
+ final int uid = 1;
+ mShadowApplication.grantPermissions(pid, uid, android.Manifest.permission.BACKUP);
+ ShadowBinder.setCallingPid(pid);
+ ShadowBinder.setCallingUid(uid);
setUpPackage(PACKAGE_1, /* uid */ 1);
setUpTransport(mTransport);
IRestoreSession restoreSession = createActiveRestoreSession(null, mTransport);
diff --git a/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java b/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java
index b9785707fe96..47abcc5a2dd1 100644
--- a/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java
+++ b/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java
@@ -136,11 +136,13 @@ public class BackupManagerServiceTestUtils {
}
public static void setUpBinderCallerAndApplicationAsSystem(Application application) {
- ShadowBinder.setCallingUid(Process.SYSTEM_UID);
- ShadowBinder.setCallingPid(1211);
+ final int uid = Process.SYSTEM_UID;
+ final int pid = 1211;
+ ShadowBinder.setCallingUid(uid);
+ ShadowBinder.setCallingPid(pid);
ShadowApplication shadowApplication = shadowOf(application);
- shadowApplication.grantPermissions("android.permission.BACKUP");
- shadowApplication.grantPermissions("android.permission.CONFIRM_FULL_BACKUP");
+ shadowApplication.grantPermissions(pid, uid, "android.permission.BACKUP");
+ shadowApplication.grantPermissions(pid, uid, "android.permission.CONFIRM_FULL_BACKUP");
}
/**