More cross-user Uri granting tests.
Bug: 155466646
Test: atest FrameworksServicesTests:com.android.server.uri
Change-Id: I6bc958b0cce5ecd876bfb14f53a552e470b61fe4
diff --git a/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
index e548647..0e48e7e 100644
--- a/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
@@ -70,8 +70,12 @@
mLocalService = mService.getLocalService();
}
+ /**
+ * Verify that a camera sharing a normally-private photo with a social media
+ * app in the same user issues a grant.
+ */
@Test
- public void testNeeded_normal() {
+ public void testNeeded_normal_sameUser() {
final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PHOTO_1).addFlags(FLAG_READ);
final GrantUri expectedGrant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
@@ -85,6 +89,24 @@
}
/**
+ * Verify that a camera sharing a normally-private photo with a social media
+ * app in a different user issues a grant.
+ */
+ @Test
+ public void testNeeded_normal_differentUser() {
+ final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PHOTO_1).addFlags(FLAG_READ);
+ final GrantUri expectedGrant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+
+ final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+ UID_PRIMARY_CAMERA, PKG_SOCIAL, intent, intent.getFlags(), null,
+ USER_SECONDARY);
+ assertEquals(PKG_SOCIAL, needed.targetPkg);
+ assertEquals(UID_SECONDARY_SOCIAL, needed.targetUid);
+ assertEquals(FLAG_READ, needed.flags);
+ assertEquals(asSet(expectedGrant), needed.uris);
+ }
+
+ /**
* No need to issue grants for public authorities.
*/
@Test