From 0545d6e7d70ac10a2c77b88c5b6ee00a7e6da553 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Tue, 28 Nov 2017 11:56:57 -0800 Subject: [PATCH] Move OemUnlockPreferenceControllerTest to sdk 26 Test: make RunSettingsRoboTests -j40 Change-Id: I25d96c82bd99c5c7adba6b6269f1a5735b22ca5b --- .../development/OemUnlockPreferenceController.java | 10 ++++++-- .../OemUnlockPreferenceControllerTest.java | 27 +++++++++++++++------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/development/OemUnlockPreferenceController.java b/src/com/android/settings/development/OemUnlockPreferenceController.java index f486b3d3d2..c6ba60c8c3 100644 --- a/src/com/android/settings/development/OemUnlockPreferenceController.java +++ b/src/com/android/settings/development/OemUnlockPreferenceController.java @@ -98,7 +98,7 @@ public class OemUnlockPreferenceController extends DeveloperOptionsPreferenceCon @Override public void updateState(Preference preference) { super.updateState(preference); - mPreference.setChecked(mOemLockManager.isOemUnlockAllowed()); + mPreference.setChecked(isOemUnlockedAllowed()); updateOemUnlockSettingDescription(); // Showing mEnableOemUnlock preference as device has persistent data block. mPreference.setDisabledByAdmin(null); @@ -183,7 +183,8 @@ public class OemUnlockPreferenceController extends DeveloperOptionsPreferenceCon /** * Returns {@code true} if the bootloader has been unlocked. Otherwise, returns {code false}. */ - private boolean isBootloaderUnlocked() { + @VisibleForTesting + boolean isBootloaderUnlocked() { return mOemLockManager.isDeviceOemUnlocked(); } @@ -216,4 +217,9 @@ public class OemUnlockPreferenceController extends DeveloperOptionsPreferenceCon userHandle); } + @VisibleForTesting + boolean isOemUnlockedAllowed() { + return mOemLockManager.isOemUnlockAllowed(); + } + } diff --git a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java index f59c29fc6b..5018b75d9d 100644 --- a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java @@ -48,7 +48,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class OemUnlockPreferenceControllerTest { @Mock @@ -108,6 +108,7 @@ public class OemUnlockPreferenceControllerTest { doReturn(false).when(mController).showKeyguardConfirmation(mResources, REQUEST_CODE_ENABLE_OEM_UNLOCK); doNothing().when(mController).confirmEnableOemUnlock(); + mController.onPreferenceChange(null, true); verify(mController).confirmEnableOemUnlock(); @@ -115,17 +116,20 @@ public class OemUnlockPreferenceControllerTest { @Test public void onPreferenceChanged_turnOffUnlock() { + mController = spy(mController); mController.onPreferenceChange(null, false); - verify(mOemLockManager).setOemUnlockAllowedByUser(false); + doReturn(false).when(mController).isBootloaderUnlocked(); + verify(mFragment).getChildFragmentManager(); } @Test public void updateState_preferenceShouldBeCheckedAndShouldBeDisabled() { mController = spy(mController); - when(mOemLockManager.isOemUnlockAllowed()).thenReturn(true); + doReturn(true).when(mController).isOemUnlockedAllowed(); doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier(); - when(mOemLockManager.isDeviceOemUnlocked()).thenReturn(true); + doReturn(true).when(mController).isBootloaderUnlocked(); + mController.updateState(mPreference); verify(mPreference).setChecked(true); @@ -135,9 +139,10 @@ public class OemUnlockPreferenceControllerTest { @Test public void updateState_preferenceShouldBeUncheckedAndShouldBeDisabled() { mController = spy(mController); - when(mOemLockManager.isOemUnlockAllowed()).thenReturn(false); + doReturn(false).when(mController).isOemUnlockedAllowed(); doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier(); - when(mOemLockManager.isDeviceOemUnlocked()).thenReturn(true); + doReturn(true).when(mController).isBootloaderUnlocked(); + mController.updateState(mPreference); verify(mPreference).setChecked(false); @@ -147,9 +152,10 @@ public class OemUnlockPreferenceControllerTest { @Test public void updateState_preferenceShouldBeCheckedAndShouldBeEnabled() { mController = spy(mController); - when(mOemLockManager.isOemUnlockAllowed()).thenReturn(true); + doReturn(true).when(mController).isOemUnlockedAllowed(); doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier(); - when(mOemLockManager.isDeviceOemUnlocked()).thenReturn(false); + doReturn(false).when(mController).isBootloaderUnlocked(); + mController.updateState(mPreference); verify(mPreference).setChecked(true); @@ -176,7 +182,9 @@ public class OemUnlockPreferenceControllerTest { public void onDeveloperOptionsEnabled_preferenceShouldCheckRestriction() { mController = spy(mController); doReturn(false).when(mController).isOemUnlockAllowedByUserAndCarrier(); + doReturn(false).when(mController).isBootloaderUnlocked(); when(mPreference.isEnabled()).thenReturn(true); + mController.onDeveloperOptionsEnabled(); verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_FACTORY_RESET); @@ -186,8 +194,11 @@ public class OemUnlockPreferenceControllerTest { @Test public void onDeveloperOptionsDisabled_preferenceShouldCheckRestriction() { mController = spy(mController); + doReturn(true).when(mController).isOemUnlockedAllowed(); doReturn(false).when(mController).isOemUnlockAllowedByUserAndCarrier(); + doReturn(false).when(mController).isBootloaderUnlocked(); when(mPreference.isEnabled()).thenReturn(true); + mController.onDeveloperOptionsDisabled(); verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_FACTORY_RESET); -- 2.11.0