More cross-user Uri granting tests.

Bug: 155466646
Test: atest FrameworksServicesTests:com.android.server.uri
Change-Id: I6bc958b0cce5ecd876bfb14f53a552e470b61fe4
This commit is contained in:
Jeff Sharkey
2020-05-01 10:12:51 -06:00
parent 64b88db3d2
commit f81e9e9dc3

View File

@@ -70,8 +70,12 @@ public class UriGrantsManagerServiceTest {
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);
@@ -84,6 +88,24 @@ public class UriGrantsManagerServiceTest {
assertEquals(asSet(expectedGrant), needed.uris);
}
/**
* 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.
*/