Merge "Add unit tests for policy transparency on Fact Auth settings" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
cb90ffafbb
@@ -19,14 +19,20 @@ package com.android.settings.biometrics.face;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
|
import static org.mockito.Mockito.eq;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.hardware.face.FaceManager;
|
import android.hardware.face.FaceManager;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.preference.SwitchPreference;
|
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||||
|
import com.android.settingslib.RestrictedSwitchPreference;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -42,7 +48,10 @@ public class FaceSettingsLockscreenBypassPreferenceControllerTest {
|
|||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private FaceManager mFaceManager;
|
private FaceManager mFaceManager;
|
||||||
private SwitchPreference mPreference;
|
@Mock
|
||||||
|
private PackageManager mPackageManager;
|
||||||
|
@Mock
|
||||||
|
private RestrictedSwitchPreference mPreference;
|
||||||
@Mock
|
@Mock
|
||||||
private UserManager mUserManager;
|
private UserManager mUserManager;
|
||||||
|
|
||||||
@@ -52,12 +61,15 @@ public class FaceSettingsLockscreenBypassPreferenceControllerTest {
|
|||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
mPreference = new SwitchPreference(mContext);
|
when(mContext.getSystemService(eq(Context.FACE_SERVICE))).thenReturn(mFaceManager);
|
||||||
|
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||||
|
|
||||||
mController = new FaceSettingsLockscreenBypassPreferenceController(mContext, "test_key");
|
mController = spy(new FaceSettingsLockscreenBypassPreferenceController(mContext,
|
||||||
|
"test_key"));
|
||||||
ReflectionHelpers.setField(mController, "mFaceManager", mFaceManager);
|
ReflectionHelpers.setField(mController, "mFaceManager", mFaceManager);
|
||||||
ReflectionHelpers.setField(mController, "mUserManager", mUserManager);
|
ReflectionHelpers.setField(mController, "mUserManager", mUserManager);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -86,4 +98,15 @@ public class FaceSettingsLockscreenBypassPreferenceControllerTest {
|
|||||||
Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, 0) != 0;
|
Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, 0) != 0;
|
||||||
assertThat(newState).isEqualTo(!state);
|
assertThat(newState).isEqualTo(!state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void preferenceDisabled_byAdmin() {
|
||||||
|
when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FACE)).thenReturn(true);
|
||||||
|
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
||||||
|
|
||||||
|
EnforcedAdmin admin = new EnforcedAdmin();
|
||||||
|
doReturn(admin).when(mController).getRestrictingAdmin();
|
||||||
|
mController.updateState(mPreference);
|
||||||
|
verify(mPreference).setDisabledByAdmin(admin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user