Merge "Check password blacklist when setting credential"

This commit is contained in:
Andrew Scull
2017-12-19 18:01:55 +00:00
committed by Android (Google) Code Review
4 changed files with 83 additions and 24 deletions

View File

@@ -127,6 +127,36 @@ public class ChooseLockPasswordTest {
.isEqualTo(123);
}
@Test
public void blacklist_addsErrorMessageForPin() {
final ChooseLockPassword activity = buildChooseLockPasswordActivity(
new IntentBuilder(application)
.setUserId(UserHandle.myUserId())
// Set to numeric for a PIN
.setPasswordQuality(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC)
.build());
final ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(activity);
final int errors = ChooseLockPasswordFragment.BLACKLISTED;
final String[] messages = fragment.convertErrorCodeToMessages(errors);
assertThat(messages).isEqualTo(new String[] {
activity.getString(R.string.lockpassword_pin_blacklisted_by_admin) });
}
@Test
public void blacklist_addsErrorMessageForPassword() {
final ChooseLockPassword activity = buildChooseLockPasswordActivity(
new IntentBuilder(application)
.setUserId(UserHandle.myUserId())
// Set to alphabetic for a password
.setPasswordQuality(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC)
.build());
final ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(activity);
final int errors = ChooseLockPasswordFragment.BLACKLISTED;
final String[] messages = fragment.convertErrorCodeToMessages(errors);
assertThat(messages).isEqualTo(new String[] {
activity.getString(R.string.lockpassword_password_blacklisted_by_admin) });
}
@Test
public void assertThat_chooseLockIconChanged_WhenFingerprintExtraSet() {
ShadowDrawable drawable = setActivityAndGetIconDrawable(true);
@@ -139,17 +169,22 @@ public class ChooseLockPasswordTest {
assertThat(drawable.getCreatedFromResId()).isNotEqualTo(R.drawable.ic_fingerprint_header);
}
private ChooseLockPassword buildChooseLockPasswordActivity(Intent intent) {
return Robolectric.buildActivity(ChooseLockPassword.class, intent).setup().get();
}
private ChooseLockPasswordFragment getChooseLockPasswordFragment(ChooseLockPassword activity) {
return (ChooseLockPasswordFragment)
activity.getFragmentManager().findFragmentById(R.id.main_content);
}
private ShadowDrawable setActivityAndGetIconDrawable(boolean addFingerprintExtra) {
ChooseLockPassword passwordActivity =
Robolectric.buildActivity(
ChooseLockPassword.class,
new IntentBuilder(application)
.setUserId(UserHandle.myUserId())
.setForFingerprint(addFingerprintExtra)
.build())
.setup().get();
ChooseLockPasswordFragment fragment = (ChooseLockPasswordFragment)
passwordActivity.getFragmentManager().findFragmentById(R.id.main_content);
ChooseLockPassword passwordActivity = buildChooseLockPasswordActivity(
new IntentBuilder(application)
.setUserId(UserHandle.myUserId())
.setForFingerprint(addFingerprintExtra)
.build());
ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
return Shadows.shadowOf(((GlifLayout) fragment.getView()).getIcon());
}
}