Put the current user to mUsers in UserManagerServiceTest.

Because of the way we construct UMS from UserManagerServiceTest, it
can not populate mUsers with existing users. Because it can not find
userlist.xml and fallback to single user.

And the test methods which try to set a restriction for the current
user fail because UMS.setUserRestriction fails with "Cannot set user
restriction no_user_switch. User with id 10 does not exist." error.

We're fixing this issue by manually adding the current user to
UMS.mUsers via mUserManagerService.putUserInfo() method.

Note: These lines were removed in master via ag/23877017, but for UserManagerServiceTest#assertHasUserRestriction test we still need it.

Bug: 289995536
Change-Id: I57f6f910f0ad9b91b05fd895fba8db69017a25cc
Test: atest UserManagerServiceTest
This commit is contained in:
Yasin Kilicdere
2023-06-30 15:52:54 +01:00
parent 04aee426fc
commit cc58e7656e

View File

@@ -70,6 +70,9 @@ public class UserManagerServiceTest {
LocalServices.removeServiceForTest(UserManagerInternal.class);
mUserManagerService = new UserManagerService(InstrumentationRegistry.getContext());
// Put the current user to mUsers. UMS can't find userlist.xml, and fallbackToSingleUserLP.
mUserManagerService.putUserInfo(
new UserInfo(ActivityManager.getCurrentUser(), "Current User", 0));
restrictionsFile = new File(mContext.getCacheDir(), "restrictions.xml");
restrictionsFile.delete();
}