Added mockUmGetUserHandles to AndroidMockitoHelper
The method mocks UserManager.getUserHandles
Test: atest AndroidMockitoHelperTest
Bug: 200617287
Change-Id: I1a0c63240612b6813577c7ada80e8e9ba64f323b
Merged-In: I1a0c63240612b6813577c7ada80e8e9ba64f323b
diff --git a/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java b/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java
index deb3946..29b1471 100644
--- a/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java
+++ b/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java
@@ -50,6 +50,7 @@
import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
/**
* Provides common Mockito calls for core Android classes.
@@ -133,6 +134,16 @@
}
/**
+ * Mocks {@code UserManager#getUserHandles()} to return the simple users with the given ids.
+ */
+ public static void mockUmGetUserHandles(@NonNull UserManager um, boolean excludeDying,
+ @NonNull @UserIdInt int... userIds) {
+ List<UserHandle> result = UserTestingHelper.newUsers(userIds).stream().map(
+ UserInfo::getUserHandle).collect(Collectors.toList());
+ when(um.getUserHandles(excludeDying)).thenReturn(result);
+ }
+
+ /**
* Mocks {@code UserManager#getUsers(excludePartial, excludeDying, excludeDying)} to return the
* given users.
*/
diff --git a/tests/carservice_unit_test/src/android/car/test/mocks/AndroidMockitoHelperTest.java b/tests/carservice_unit_test/src/android/car/test/mocks/AndroidMockitoHelperTest.java
index e1099da..b495220 100644
--- a/tests/carservice_unit_test/src/android/car/test/mocks/AndroidMockitoHelperTest.java
+++ b/tests/carservice_unit_test/src/android/car/test/mocks/AndroidMockitoHelperTest.java
@@ -24,6 +24,7 @@
import static android.car.test.mocks.AndroidMockitoHelper.mockUmCreateUser;
import static android.car.test.mocks.AndroidMockitoHelper.mockUmGetAliveUsers;
import static android.car.test.mocks.AndroidMockitoHelper.mockUmGetSystemUser;
+import static android.car.test.mocks.AndroidMockitoHelper.mockUmGetUserHandles;
import static android.car.test.mocks.AndroidMockitoHelper.mockUmGetUserInfo;
import static android.car.test.mocks.AndroidMockitoHelper.mockUmIsHeadlessSystemUserMode;
import static android.car.test.mocks.AndroidMockitoHelper.mockUmIsUserRunning;
@@ -160,6 +161,16 @@
}
@Test
+ public void testMockUmGetUserHandles() {
+ UserHandle user1 = UserHandle.of(100);
+ UserHandle user2 = UserHandle.of(200);
+
+ mockUmGetUserHandles(mMockedUserManager, true, 100, 200);
+
+ assertThat(mMockedUserManager.getUserHandles(true)).containsExactly(user1, user2).inOrder();
+ }
+
+ @Test
public void testMockBinderGetCallingUserHandle() {
mockBinderGetCallingUserHandle(TEST_USER_ID);