Merge "Settings 2-pane deep link vulnerabilities" into tm-qpr-dev

This commit is contained in:
Arc Wang
2022-12-01 01:45:56 +00:00
committed by Android (Google) Code Review
2 changed files with 70 additions and 0 deletions

View File

@@ -20,6 +20,8 @@ import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTE
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -40,9 +42,11 @@ import androidx.fragment.app.Fragment;
import com.android.settings.R;
import com.android.settings.dashboard.suggestions.SuggestionFeatureProviderImpl;
import com.android.settings.testutils.shadow.ShadowActivityEmbeddingUtils;
import com.android.settings.testutils.shadow.ShadowPasswordUtils;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -69,6 +73,11 @@ public class SettingsHomepageActivityTest {
MockitoAnnotations.initMocks(this);
}
@After
public void tearDown() {
ShadowPasswordUtils.reset();
}
@Test
public void launch_shouldHaveAnimationForIaFragment() {
final SettingsHomepageActivity activity = Robolectric.buildActivity(
@@ -208,6 +217,32 @@ public class SettingsHomepageActivityTest {
verify(activity).initSplitPairRules();
}
@Test
@Config(shadows = {ShadowPasswordUtils.class})
public void isCallingAppPermitted_emptyPermission_returnTrue() {
SettingsHomepageActivity homepageActivity = spy(new SettingsHomepageActivity());
assertTrue(homepageActivity.isCallingAppPermitted(""));
}
@Test
@Config(shadows = {ShadowPasswordUtils.class})
public void isCallingAppPermitted_noGrantedPermission_returnFalse() {
SettingsHomepageActivity homepageActivity = spy(new SettingsHomepageActivity());
assertFalse(homepageActivity.isCallingAppPermitted("android.permission.TEST"));
}
@Test
@Config(shadows = {ShadowPasswordUtils.class})
public void isCallingAppPermitted_grantedPermission_returnTrue() {
SettingsHomepageActivity homepageActivity = spy(new SettingsHomepageActivity());
String permission = "android.permission.TEST";
ShadowPasswordUtils.addGrantedPermission(permission);
assertTrue(homepageActivity.isCallingAppPermitted(permission));
}
@Implements(SuggestionFeatureProviderImpl.class)
public static class ShadowSuggestionFeatureProviderImpl {