Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50c8cdbf authored by Fan Zhang's avatar Fan Zhang
Browse files

Fix robotest

Change-Id: Id6e9c82121873b68e6806d6c80634d592606f479
Fixes: 110263693
Test: robotest
parent 81ec9e11
Loading
Loading
Loading
Loading
+21 −18
Original line number Diff line number Diff line
package com.android.settings.development;

import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_MOCK_LOCATION_APP;
import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes
        .REQUEST_MOCK_LOCATION_APP;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -16,14 +17,11 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -33,8 +31,10 @@ import org.robolectric.util.ReflectionHelpers;

import java.util.Collections;

import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

@RunWith(SettingsRobolectricTestRunner.class)
@Ignore
public class MockLocationAppPreferenceControllerTest {

    @Mock
@@ -47,10 +47,7 @@ public class MockLocationAppPreferenceControllerTest {
    private Preference mPreference;
    @Mock
    private PreferenceScreen mScreen;
    @Mock
    private AppOpsManager.PackageOps mPackageOps;
    @Mock
    private AppOpsManager.OpEntry mOpEntry;

    @Mock
    private ApplicationInfo mApplicationInfo;

@@ -71,11 +68,12 @@ public class MockLocationAppPreferenceControllerTest {
    @Test
    public void updateState_foobarAppSelected_shouldSetSummaryToFoobar() {
        final String appName = "foobar";

        final AppOpsManager.PackageOps packageOps =
                new AppOpsManager.PackageOps(appName, 0,
                        Collections.singletonList(createOpEntry(AppOpsManager.MODE_ALLOWED)));
        when(mAppOpsManager.getPackagesForOps(any())).thenReturn(
                Collections.singletonList(mPackageOps));
        when(mPackageOps.getOps()).thenReturn(Collections.singletonList(mOpEntry));
        when(mOpEntry.getMode()).thenReturn(AppOpsManager.MODE_ALLOWED);
        when(mPackageOps.getPackageName()).thenReturn(appName);
                Collections.singletonList(packageOps));

        mController.updateState(mPreference);

@@ -98,11 +96,11 @@ public class MockLocationAppPreferenceControllerTest {
        final String newAppName = "bar";
        final Intent intent = new Intent();
        intent.setAction(newAppName);
        final AppOpsManager.PackageOps packageOps = new AppOpsManager.PackageOps(prevAppName, 0,
                Collections.singletonList(createOpEntry(AppOpsManager.MODE_ALLOWED)));

        when(mAppOpsManager.getPackagesForOps(any()))
            .thenReturn(Collections.singletonList(mPackageOps));
        when(mPackageOps.getOps()).thenReturn(Collections.singletonList(mOpEntry));
        when(mOpEntry.getMode()).thenReturn(AppOpsManager.MODE_ALLOWED);
        when(mPackageOps.getPackageName()).thenReturn(prevAppName);
                .thenReturn(Collections.singletonList(packageOps));
        when(mPackageManager.getApplicationInfo(anyString(),
                eq(PackageManager.MATCH_DISABLED_COMPONENTS))).thenReturn(mApplicationInfo);

@@ -141,4 +139,9 @@ public class MockLocationAppPreferenceControllerTest {

        assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
    }

    private AppOpsManager.OpEntry createOpEntry(int opMode) {
        return new AppOpsManager.OpEntry(0, opMode, 0l /* time */, 0 /* rejectTime */,
                0 /* duration */, 0 /* proxyUid */, null /* proxyPackage */);
    }
}
+12 −21
Original line number Diff line number Diff line
@@ -18,9 +18,7 @@ package com.android.settings.fuelgauge;

import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
@@ -31,15 +29,12 @@ import android.content.Context;
import android.content.Intent;
import android.os.UserHandle;
import android.os.UserManager;
import androidx.preference.Preference;

import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.fuelgauge.batterytip.AppInfo;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -51,8 +46,9 @@ import org.robolectric.RuntimeEnvironment;
import java.util.ArrayList;
import java.util.List;

import androidx.preference.Preference;

@RunWith(RobolectricTestRunner.class)
@Ignore
public class RestrictAppPreferenceControllerTest {
    private static final int ALLOWED_UID = 111;
    private static final String ALLOWED_PACKAGE_NAME = "com.android.allowed.package";
@@ -63,15 +59,13 @@ public class RestrictAppPreferenceControllerTest {
    @Mock
    private AppOpsManager mAppOpsManager;
    @Mock
    private AppOpsManager.PackageOps mRestrictedPackageOps;
    @Mock
    private AppOpsManager.PackageOps mAllowedPackageOps;
    @Mock
    private AppOpsManager.PackageOps mOtherUserPackageOps;
    @Mock
    private InstrumentedPreferenceFragment mFragment;
    @Mock
    private UserManager mUserManager;

    private AppOpsManager.PackageOps mRestrictedPackageOps;
    private AppOpsManager.PackageOps mAllowedPackageOps;
    private AppOpsManager.PackageOps mOtherUserPackageOps;
    private List<AppOpsManager.PackageOps> mPackageOpsList;
    private RestrictAppPreferenceController mRestrictAppPreferenceController;
    private Preference mPreference;
@@ -89,15 +83,12 @@ public class RestrictAppPreferenceControllerTest {
                AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, AppOpsManager.MODE_IGNORED, 0, 0, 0, 0, "");
        final List<AppOpsManager.OpEntry> restrictedOps = new ArrayList<>();
        restrictedOps.add(restrictedOpEntry);
        doReturn(ALLOWED_UID).when(mAllowedPackageOps).getUid();
        doReturn(ALLOWED_PACKAGE_NAME).when(mAllowedPackageOps).getPackageName();
        doReturn(allowOps).when(mAllowedPackageOps).getOps();
        doReturn(RESTRICTED_UID).when(mRestrictedPackageOps).getUid();
        doReturn(RESTRICTED_PACKAGE_NAME).when(mRestrictedPackageOps).getPackageName();
        doReturn(restrictedOps).when(mRestrictedPackageOps).getOps();
        doReturn(OTHER_USER_UID).when(mOtherUserPackageOps).getUid();
        doReturn(RESTRICTED_PACKAGE_NAME).when(mOtherUserPackageOps).getPackageName();
        doReturn(restrictedOps).when(mOtherUserPackageOps).getOps();
        mAllowedPackageOps = new AppOpsManager.PackageOps(
                ALLOWED_PACKAGE_NAME, ALLOWED_UID, allowOps);
        mRestrictedPackageOps = new AppOpsManager.PackageOps(
                RESTRICTED_PACKAGE_NAME, RESTRICTED_UID, restrictedOps);
        mOtherUserPackageOps = new AppOpsManager.PackageOps(
                RESTRICTED_PACKAGE_NAME, OTHER_USER_UID, restrictedOps);

        mContext = spy(RuntimeEnvironment.application);
        doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);