diff options
author | Liahav Eitan <liahav@google.com> | 2022-11-11 19:29:08 +0000 |
---|---|---|
committer | Liahav Eitan <liahav@google.com> | 2022-12-14 13:22:35 +0000 |
commit | f021dbcd60deed89ec8ff77b8dc3c9df4095f24b (patch) | |
tree | b299ec8056a49c8cc366c849bbc841efdc763214 /tests/src/com/android | |
parent | 86b48519c4ae3873b377735aa2944820486d1c6d (diff) | |
download | ContactsProvider-f021dbcd60deed89ec8ff77b8dc3c9df4095f24b.tar.gz |
Support listing all work profile contacts in personal CP2.
This includes the existing Phone.ENTERPRISE_CONTENT_URI that is
now becoming public, and the new Contacts.ENTERPRISE_CONTENT_URI.
See ag/20580387 for the API changes.
Test: atest ManagedProfileContactsTest, EnterprisePolicyGuardTest
Bug: 240954287
Change-Id: I8ac33c236d95954f4fc16027669b67cc204fcbdb
Diffstat (limited to 'tests/src/com/android')
-rw-r--r-- | tests/src/com/android/providers/contacts/enterprise/EnterprisePolicyGuardTest.java | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/tests/src/com/android/providers/contacts/enterprise/EnterprisePolicyGuardTest.java b/tests/src/com/android/providers/contacts/enterprise/EnterprisePolicyGuardTest.java index 2e5241fb..9b5fca1a 100644 --- a/tests/src/com/android/providers/contacts/enterprise/EnterprisePolicyGuardTest.java +++ b/tests/src/com/android/providers/contacts/enterprise/EnterprisePolicyGuardTest.java @@ -17,6 +17,7 @@ package com.android.providers.contacts.enterprise; import android.app.admin.DevicePolicyManager; import android.content.Context; +import android.content.pm.PackageManager; import android.content.pm.UserInfo; import android.net.Uri; import android.os.UserHandle; @@ -31,6 +32,9 @@ import org.mockito.Matchers; import java.util.Arrays; import java.util.List; +import static android.Manifest.permission.INTERACT_ACROSS_USERS; +import static android.content.pm.PackageManager.PERMISSION_GRANTED; + import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -49,6 +53,7 @@ public class EnterprisePolicyGuardTest extends FixedAndroidTestCase { private static final String CONTACT_EMAIL = "david.green@android.com"; private static final String CONTACT_PHONE = "+1234567890"; private static final long DIRECTORY_ID = Directory.ENTERPRISE_DEFAULT; + private static final String CALLING_PACKAGE = "package"; private static final Uri URI_CONTACTS_ID_PHOTO = Uri.parse("content://com.android.contacts/contacts/" + CONTACT_ID + "/photo"); @@ -231,13 +236,13 @@ public class EnterprisePolicyGuardTest extends FixedAndroidTestCase { } } - private static void checkCrossProfile(EnterprisePolicyGuard guard, Uri uri, boolean expected) { + private void checkCrossProfile(EnterprisePolicyGuard guard, Uri uri, boolean expected) { if (expected) { assertTrue("Expected true but got false for uri: " + uri, - guard.isCrossProfileAllowed(uri)); + guard.isCrossProfileAllowed(uri, CALLING_PACKAGE)); } else { assertFalse("Expected false but got true for uri: " + uri, - guard.isCrossProfileAllowed(uri)); + guard.isCrossProfileAllowed(uri, CALLING_PACKAGE)); } } @@ -269,7 +274,11 @@ public class EnterprisePolicyGuardTest extends FixedAndroidTestCase { when(mockUm.getProfiles(Matchers.anyInt())).thenReturn(userInfos); when(mockUm.getProfileParent(WORK_USER_ID)).thenReturn(CURRENT_USER_INFO); - Context mockContext = new TestMockContext(getContext(), mockDpm, mockUm); + PackageManager mockPm = mock(PackageManager.class); + when(mockPm.checkPermission(INTERACT_ACROSS_USERS, CALLING_PACKAGE)) + .thenReturn(PERMISSION_GRANTED); + + Context mockContext = new TestMockContext(getContext(), mockDpm, mockUm, mockPm); return mockContext; } @@ -278,11 +287,19 @@ public class EnterprisePolicyGuardTest extends FixedAndroidTestCase { private Context mRealContext; private DevicePolicyManager mDpm; private UserManager mUm; + private PackageManager mPm; - public TestMockContext(Context realContext, DevicePolicyManager dpm, UserManager um) { + public TestMockContext( + Context realContext, DevicePolicyManager dpm, UserManager um, PackageManager pm) { mRealContext = realContext; mDpm = dpm; mUm = um; + mPm = pm; + } + + @Override + public PackageManager getPackageManager() { + return mPm; } public Object getSystemService(String name) { |