Move OemUnlockPreferenceControllerTest to sdk 26

Test: make RunSettingsRoboTests -j40
Change-Id: I25d96c82bd99c5c7adba6b6269f1a5735b22ca5b
This commit is contained in:
jeffreyhuang
2017-11-28 11:56:57 -08:00
parent 6a68f306d7
commit 0545d6e7d7
2 changed files with 27 additions and 10 deletions

View File

@@ -98,7 +98,7 @@ public class OemUnlockPreferenceController extends DeveloperOptionsPreferenceCon
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
super.updateState(preference); super.updateState(preference);
mPreference.setChecked(mOemLockManager.isOemUnlockAllowed()); mPreference.setChecked(isOemUnlockedAllowed());
updateOemUnlockSettingDescription(); updateOemUnlockSettingDescription();
// Showing mEnableOemUnlock preference as device has persistent data block. // Showing mEnableOemUnlock preference as device has persistent data block.
mPreference.setDisabledByAdmin(null); 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}. * Returns {@code true} if the bootloader has been unlocked. Otherwise, returns {code false}.
*/ */
private boolean isBootloaderUnlocked() { @VisibleForTesting
boolean isBootloaderUnlocked() {
return mOemLockManager.isDeviceOemUnlocked(); return mOemLockManager.isDeviceOemUnlocked();
} }
@@ -216,4 +217,9 @@ public class OemUnlockPreferenceController extends DeveloperOptionsPreferenceCon
userHandle); userHandle);
} }
@VisibleForTesting
boolean isOemUnlockedAllowed() {
return mOemLockManager.isOemUnlockAllowed();
}
} }

View File

@@ -48,7 +48,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class) @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 { public class OemUnlockPreferenceControllerTest {
@Mock @Mock
@@ -108,6 +108,7 @@ public class OemUnlockPreferenceControllerTest {
doReturn(false).when(mController).showKeyguardConfirmation(mResources, doReturn(false).when(mController).showKeyguardConfirmation(mResources,
REQUEST_CODE_ENABLE_OEM_UNLOCK); REQUEST_CODE_ENABLE_OEM_UNLOCK);
doNothing().when(mController).confirmEnableOemUnlock(); doNothing().when(mController).confirmEnableOemUnlock();
mController.onPreferenceChange(null, true); mController.onPreferenceChange(null, true);
verify(mController).confirmEnableOemUnlock(); verify(mController).confirmEnableOemUnlock();
@@ -115,17 +116,20 @@ public class OemUnlockPreferenceControllerTest {
@Test @Test
public void onPreferenceChanged_turnOffUnlock() { public void onPreferenceChanged_turnOffUnlock() {
mController = spy(mController);
mController.onPreferenceChange(null, false); mController.onPreferenceChange(null, false);
verify(mOemLockManager).setOemUnlockAllowedByUser(false); doReturn(false).when(mController).isBootloaderUnlocked();
verify(mFragment).getChildFragmentManager(); verify(mFragment).getChildFragmentManager();
} }
@Test @Test
public void updateState_preferenceShouldBeCheckedAndShouldBeDisabled() { public void updateState_preferenceShouldBeCheckedAndShouldBeDisabled() {
mController = spy(mController); mController = spy(mController);
when(mOemLockManager.isOemUnlockAllowed()).thenReturn(true); doReturn(true).when(mController).isOemUnlockedAllowed();
doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier(); doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier();
when(mOemLockManager.isDeviceOemUnlocked()).thenReturn(true); doReturn(true).when(mController).isBootloaderUnlocked();
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setChecked(true); verify(mPreference).setChecked(true);
@@ -135,9 +139,10 @@ public class OemUnlockPreferenceControllerTest {
@Test @Test
public void updateState_preferenceShouldBeUncheckedAndShouldBeDisabled() { public void updateState_preferenceShouldBeUncheckedAndShouldBeDisabled() {
mController = spy(mController); mController = spy(mController);
when(mOemLockManager.isOemUnlockAllowed()).thenReturn(false); doReturn(false).when(mController).isOemUnlockedAllowed();
doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier(); doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier();
when(mOemLockManager.isDeviceOemUnlocked()).thenReturn(true); doReturn(true).when(mController).isBootloaderUnlocked();
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setChecked(false); verify(mPreference).setChecked(false);
@@ -147,9 +152,10 @@ public class OemUnlockPreferenceControllerTest {
@Test @Test
public void updateState_preferenceShouldBeCheckedAndShouldBeEnabled() { public void updateState_preferenceShouldBeCheckedAndShouldBeEnabled() {
mController = spy(mController); mController = spy(mController);
when(mOemLockManager.isOemUnlockAllowed()).thenReturn(true); doReturn(true).when(mController).isOemUnlockedAllowed();
doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier(); doReturn(true).when(mController).isOemUnlockAllowedByUserAndCarrier();
when(mOemLockManager.isDeviceOemUnlocked()).thenReturn(false); doReturn(false).when(mController).isBootloaderUnlocked();
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setChecked(true); verify(mPreference).setChecked(true);
@@ -176,7 +182,9 @@ public class OemUnlockPreferenceControllerTest {
public void onDeveloperOptionsEnabled_preferenceShouldCheckRestriction() { public void onDeveloperOptionsEnabled_preferenceShouldCheckRestriction() {
mController = spy(mController); mController = spy(mController);
doReturn(false).when(mController).isOemUnlockAllowedByUserAndCarrier(); doReturn(false).when(mController).isOemUnlockAllowedByUserAndCarrier();
doReturn(false).when(mController).isBootloaderUnlocked();
when(mPreference.isEnabled()).thenReturn(true); when(mPreference.isEnabled()).thenReturn(true);
mController.onDeveloperOptionsEnabled(); mController.onDeveloperOptionsEnabled();
verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_FACTORY_RESET); verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_FACTORY_RESET);
@@ -186,8 +194,11 @@ public class OemUnlockPreferenceControllerTest {
@Test @Test
public void onDeveloperOptionsDisabled_preferenceShouldCheckRestriction() { public void onDeveloperOptionsDisabled_preferenceShouldCheckRestriction() {
mController = spy(mController); mController = spy(mController);
doReturn(true).when(mController).isOemUnlockedAllowed();
doReturn(false).when(mController).isOemUnlockAllowedByUserAndCarrier(); doReturn(false).when(mController).isOemUnlockAllowedByUserAndCarrier();
doReturn(false).when(mController).isBootloaderUnlocked();
when(mPreference.isEnabled()).thenReturn(true); when(mPreference.isEnabled()).thenReturn(true);
mController.onDeveloperOptionsDisabled(); mController.onDeveloperOptionsDisabled();
verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_FACTORY_RESET); verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_FACTORY_RESET);