Loading src/com/android/settings/security/CredentialManagementAppPreferenceController.java +3 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.util.Log; import androidx.preference.Preference; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; Loading Loading @@ -72,7 +73,8 @@ public class CredentialManagementAppPreferenceController extends BasePreferenceC }); } private void displayPreference(Preference preference) { @VisibleForTesting void displayPreference(Preference preference) { if (mHasCredentialManagerPackage) { preference.setEnabled(true); try { Loading tests/robotests/src/com/android/settings/security/CredentialManagementAppControllerTest.java +17 −9 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.security; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; import android.content.Context; import androidx.preference.Preference; Loading @@ -26,27 +28,35 @@ import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class CredentialManagementAppControllerTest { @Mock private Preference mPreference; private Context mContext; private CredentialManagementAppPreferenceController mController; private Preference mPreference; private static final String PREF_KEY_CREDENTIAL_MANAGEMENT_APP = "certificate_management_app"; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mController = new CredentialManagementAppPreferenceController( mContext, PREF_KEY_CREDENTIAL_MANAGEMENT_APP); mPreference = new Preference(mContext); } @Test public void getAvailable_shouldAlwaysReturnTrue() { assertThat(mController.isAvailable()).isTrue(); } @Test Loading @@ -56,12 +66,10 @@ public class CredentialManagementAppControllerTest { } @Test @Ignore public void updateState_noCredentialManagementApp_shouldDisablePreference() { mController.updateState(mPreference); public void displayPreference_noCredentialManagementApp_shouldDisablePreference() { mController.displayPreference(mPreference); assertThat(mPreference.isEnabled()).isEqualTo(false); assertThat(mPreference.getSummary()).isEqualTo( mContext.getText(R.string.no_certificate_management_app)); verify(mPreference).setEnabled(false); verify(mPreference).setSummary(R.string.no_certificate_management_app); } } Loading
src/com/android/settings/security/CredentialManagementAppPreferenceController.java +3 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.util.Log; import androidx.preference.Preference; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; Loading Loading @@ -72,7 +73,8 @@ public class CredentialManagementAppPreferenceController extends BasePreferenceC }); } private void displayPreference(Preference preference) { @VisibleForTesting void displayPreference(Preference preference) { if (mHasCredentialManagerPackage) { preference.setEnabled(true); try { Loading
tests/robotests/src/com/android/settings/security/CredentialManagementAppControllerTest.java +17 −9 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.security; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; import android.content.Context; import androidx.preference.Preference; Loading @@ -26,27 +28,35 @@ import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class CredentialManagementAppControllerTest { @Mock private Preference mPreference; private Context mContext; private CredentialManagementAppPreferenceController mController; private Preference mPreference; private static final String PREF_KEY_CREDENTIAL_MANAGEMENT_APP = "certificate_management_app"; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mController = new CredentialManagementAppPreferenceController( mContext, PREF_KEY_CREDENTIAL_MANAGEMENT_APP); mPreference = new Preference(mContext); } @Test public void getAvailable_shouldAlwaysReturnTrue() { assertThat(mController.isAvailable()).isTrue(); } @Test Loading @@ -56,12 +66,10 @@ public class CredentialManagementAppControllerTest { } @Test @Ignore public void updateState_noCredentialManagementApp_shouldDisablePreference() { mController.updateState(mPreference); public void displayPreference_noCredentialManagementApp_shouldDisablePreference() { mController.displayPreference(mPreference); assertThat(mPreference.isEnabled()).isEqualTo(false); assertThat(mPreference.getSummary()).isEqualTo( mContext.getText(R.string.no_certificate_management_app)); verify(mPreference).setEnabled(false); verify(mPreference).setSummary(R.string.no_certificate_management_app); } }