Merge "More cross-user Uri granting tests." into rvc-dev

This commit is contained in:
Jeff Sharkey
2020-05-01 18:11:50 +00:00
committed by Android (Google) Code Review

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.
*/