From c502ee454099d82fb00278e244eb5ec2aeb7fa00 Mon Sep 17 00:00:00 2001 From: Tetiana Meronyk Date: Wed, 19 Jun 2024 17:28:50 +0000 Subject: [PATCH] Fix tests in UserDetailsSettingsTest and TimeoutToDockUserPreferenceControllerTest Bug: 313530297 Test: atest UserDetailsSettingsTest && atest TimeoutToDockUserPreferenceControllerTest Flag: EXEMPT fixing tests that were failing before Change-Id: Ic4bd257aa26c6627d271acd1f22b59855bbddb20 --- .../settings/users/UserDetailsSettings.java | 3 +- ...outToDockUserPreferenceControllerTest.java | 3 -- .../users/UserDetailsSettingsTest.java | 40 ++++++------------- .../testutils/shadow/ShadowUserManager.java | 4 ++ 4 files changed, 17 insertions(+), 33 deletions(-) diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java index b48c71727d0..71dd43f92a0 100644 --- a/src/com/android/settings/users/UserDetailsSettings.java +++ b/src/com/android/settings/users/UserDetailsSettings.java @@ -363,13 +363,12 @@ public class UserDetailsSettings extends SettingsPreferenceFragment } if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled() || mUserManager.hasUserRestrictionForUser(UserManager.DISALLOW_GRANT_ADMIN, - mUserInfo.getUserHandle())) { + mUserInfo.getUserHandle()) || !mUserManager.isAdminUser()) { removePreference(KEY_GRANT_ADMIN); } if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls removePreference(KEY_ENABLE_TELEPHONY); removePreference(KEY_REMOVE_USER); - removePreference(KEY_GRANT_ADMIN); removePreference(KEY_APP_AND_CONTENT_ACCESS); removePreference(KEY_APP_COPYING); } else { diff --git a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java index 7bc66c8f819..fe88148be62 100644 --- a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java @@ -39,7 +39,6 @@ import com.android.settings.testutils.shadow.ShadowSecureSettings; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; @@ -126,7 +125,6 @@ public class TimeoutToDockUserPreferenceControllerTest { BasePreferenceController.CONDITIONALLY_UNAVAILABLE); } - @Ignore("b/313530297") @Test public void getAvailabilityStatus_isCurrentlyMainUser_returnDisabledForUser() { when(mUserManager.getMainUser()).thenReturn(UserHandle.CURRENT); @@ -136,7 +134,6 @@ public class TimeoutToDockUserPreferenceControllerTest { BasePreferenceController.DISABLED_FOR_USER); } - @Ignore("b/313530297") @Test public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonMainUser_returnAvailable() { when(mUserManager.isUserForeground()).thenReturn(true); diff --git a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java index 7f273244499..44e1cc6986c 100644 --- a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java +++ b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java @@ -22,7 +22,7 @@ import static android.os.UserManager.SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; @@ -63,7 +63,6 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; @@ -222,8 +221,8 @@ public class UserDetailsSettingsTest { } @Test - @Ignore("b/313530297") public void onResume_canSwitch_shouldEnableSwitchPref() { + setupSelectedUser(); mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_OK); mFragment.mSwitchUserPref = mSwitchUserPref; mFragment.onAttach(mContext); @@ -234,8 +233,8 @@ public class UserDetailsSettingsTest { } @Test - @Ignore("b/313530297") public void onResume_userInCall_shouldDisableSwitchPref() { + setupSelectedUser(); mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_IN_CALL); mFragment.mSwitchUserPref = mSwitchUserPref; mFragment.onAttach(mContext); @@ -246,8 +245,8 @@ public class UserDetailsSettingsTest { } @Test - @Ignore("b/313530297") public void onResume_switchDisallowed_shouldDisableSwitchPref() { + setupSelectedUser(); mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED); mFragment.mSwitchUserPref = mSwitchUserPref; mFragment.onAttach(mContext); @@ -258,8 +257,8 @@ public class UserDetailsSettingsTest { } @Test - @Ignore("b/313530297") public void onResume_systemUserLocked_shouldDisableSwitchPref() { + setupSelectedUser(); mUserManager.setSwitchabilityStatus(UserManager.SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED); mFragment.mSwitchUserPref = mSwitchUserPref; mFragment.onAttach(mContext); @@ -269,7 +268,6 @@ public class UserDetailsSettingsTest { verify(mSwitchUserPref).setEnabled(false); } - @Ignore("b/313530297") @Test public void initialize_adminWithTelephony_shouldShowPhonePreference() { setupSelectedUser(); @@ -315,7 +313,6 @@ public class UserDetailsSettingsTest { verify(mFragment).removePreference(KEY_APP_AND_CONTENT_ACCESS); } - @Ignore("b/313530297") @Test public void initialize_adminSelectsSecondaryUser_shouldShowRemovePreference() { setupSelectedUser(); @@ -328,7 +325,6 @@ public class UserDetailsSettingsTest { verify(mFragment, never()).removePreference(KEY_REMOVE_USER); } - @Ignore("b/313530297") @Test public void initialize_adminSelectsNewRestrictedUser_shouldOpenAppContentScreen() { setupSelectedRestrictedUser(); @@ -351,7 +347,6 @@ public class UserDetailsSettingsTest { .isEqualTo(true); } - @Ignore("b/313530297") @Test public void initialize_adminSelectsRestrictedUser_shouldSetupPreferences() { setupSelectedRestrictedUser(); @@ -381,7 +376,6 @@ public class UserDetailsSettingsTest { verify(mActivity, never()).startActivity(any(Intent.class)); } - @Ignore("b/313530297") @Test public void initialize_adminSelectsGuest_shouldShowRemovePreference() { setupSelectedGuest(); @@ -425,7 +419,6 @@ public class UserDetailsSettingsTest { verify(mFragment).removePreference(KEY_REMOVE_USER); } - @Ignore("b/313530297") @Test public void initialize_userHasCallRestriction_shouldSetPhoneSwitchUnChecked() { setupSelectedUser(); @@ -438,7 +431,6 @@ public class UserDetailsSettingsTest { verify(mPhonePref).setChecked(false); } - @Ignore("b/313530297") @Test public void initialize_noCallRestriction_shouldSetPhoneSwitchChecked() { setupSelectedUser(); @@ -537,7 +529,6 @@ public class UserDetailsSettingsTest { verify(mFragment, never()).switchUser(); } - @Ignore("b/313530297") @Test public void onPreferenceClick_removeGuestClicked_canDelete_shouldShowDialog() { setupSelectedGuest(); @@ -555,7 +546,6 @@ public class UserDetailsSettingsTest { verify(mFragment).showDialog(DIALOG_CONFIRM_RESET_GUEST); } - @Ignore("b/313530297") @Test public void onPreferenceClick_removeRestrictedClicked_canDelete_shouldShowDialog() { setupSelectedRestrictedUser(); @@ -574,7 +564,6 @@ public class UserDetailsSettingsTest { verify(mFragment).showDialog(DIALOG_CONFIRM_REMOVE); } - @Ignore("b/313530297") @Test public void onPreferenceClick_removeClicked_canDelete_shouldShowDialog() { setupSelectedUser(); @@ -666,7 +655,6 @@ public class UserDetailsSettingsTest { assertThat(result).isFalse(); } - @Ignore("b/313530297") @Test public void canDeleteUser_adminSelectsUser_noRestrictions_shouldReturnTrue() { setupSelectedUser(); @@ -700,17 +688,16 @@ public class UserDetailsSettingsTest { assertThat(result).isFalse(); } - @Ignore("b/313530297") @Test public void initialize_userSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() { + assumeTrue(UserManager.isHeadlessSystemUserMode()); setupSelectedUser(); + mUserManager.setIsAdminUser(true); ShadowUserManager.setIsMultipleAdminEnabled(true); mFragment.initialize(mActivity, mArguments); - assertTrue(UserManager.isMultipleAdminEnabled()); verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN); } - @Ignore("b/313530297") @Test public void initialize_userSelected_shouldNotShowGrantAdminPref() { setupSelectedUser(); @@ -718,7 +705,6 @@ public class UserDetailsSettingsTest { verify(mFragment).removePreference(KEY_GRANT_ADMIN); } - @Ignore("b/313530297") @Test public void initialize_restrictUserSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() { setupSelectedUser(); @@ -729,7 +715,6 @@ public class UserDetailsSettingsTest { verify(mFragment).removePreference(KEY_GRANT_ADMIN); } - @Ignore("b/313530297") @Test public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() { setupSelectedMainUser(); @@ -738,7 +723,6 @@ public class UserDetailsSettingsTest { verify(mFragment).removePreference(KEY_GRANT_ADMIN); } - @Ignore("b/313530297") @Test public void initialize_guestSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() { setupSelectedGuest(); @@ -778,7 +762,7 @@ public class UserDetailsSettingsTest { mUserInfo = new UserInfo(1, "Tom", null, UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED, UserManager.USER_TYPE_FULL_SECONDARY); - + mFragment.mUserInfo = mUserInfo; mUserManager.addProfile(mUserInfo); } @@ -787,7 +771,7 @@ public class UserDetailsSettingsTest { mUserInfo = new UserInfo(11, "Jerry", null, UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_MAIN, UserManager.USER_TYPE_FULL_SECONDARY); - + mFragment.mUserInfo = mUserInfo; mUserManager.addProfile(mUserInfo); } @@ -796,7 +780,7 @@ public class UserDetailsSettingsTest { mUserInfo = new UserInfo(12, "Andy", null, UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN, UserManager.USER_TYPE_FULL_SECONDARY); - + mFragment.mUserInfo = mUserInfo; mUserManager.addProfile(mUserInfo); } @@ -805,7 +789,7 @@ public class UserDetailsSettingsTest { mUserInfo = new UserInfo(23, "Guest", null, UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_GUEST, UserManager.USER_TYPE_FULL_GUEST); - + mFragment.mUserInfo = mUserInfo; mUserManager.addProfile(mUserInfo); } @@ -814,7 +798,7 @@ public class UserDetailsSettingsTest { mUserInfo = new UserInfo(21, "Bob", null, UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_RESTRICTED, UserManager.USER_TYPE_FULL_RESTRICTED); - + mFragment.mUserInfo = mUserInfo; mUserManager.addProfile(mUserInfo); } } diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java index 417b102dcc9..02ed03c3acf 100644 --- a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java +++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java @@ -362,6 +362,10 @@ public class ShadowUserManager extends org.robolectric.shadows.ShadowUserManager } } + @Implementation + protected boolean isAdminUser() { + return getUserInfo(UserHandle.myUserId()).isAdmin(); + } @Implementation protected boolean isGuestUser() { return mIsGuestUser;