Merge "Fix AppStateAppBatteryUsageBridge test fail" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
0212b6770e
@@ -6,7 +6,9 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
import android.app.AppOpsManager;
|
import android.app.AppOpsManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.pm.ApplicationInfo;
|
||||||
|
|
||||||
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
||||||
@@ -15,64 +17,67 @@ import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
|
|||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Answers;
|
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public final class AppStateAppBatteryUsageBridgeTest {
|
public final class AppStateAppBatteryUsageBridgeTest {
|
||||||
private static final String TEST_PACKAGE_1 = "com.example.test.pkg1";
|
private static final String TEST_PACKAGE_1 = "com.example.test.pkg1";
|
||||||
private static final String TEST_PACKAGE_2 = "com.example.test.pkg2";
|
private static final String TEST_PACKAGE_2 = "com.example.test.pkg2";
|
||||||
private static final int UID_1 = 12345;
|
private static final int UID_1 = 12345;
|
||||||
private static final int UID_2 = 7654321;
|
private static final int UID_2 = 7654321;
|
||||||
|
|
||||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
private Context mContext;
|
||||||
private Context mContext;
|
private ApplicationInfo mApplicationInfo;
|
||||||
@Mock
|
|
||||||
private AppOpsManager mAppOpsManager;
|
|
||||||
@Mock
|
|
||||||
private PowerAllowlistBackend mPowerAllowlistBackend;
|
|
||||||
|
|
||||||
@Before
|
@Mock
|
||||||
public void initMocks() {
|
private AppOpsManager mAppOpsManager;
|
||||||
MockitoAnnotations.initMocks(this);
|
@Mock
|
||||||
}
|
private PowerAllowlistBackend mPowerAllowlistBackend;
|
||||||
|
|
||||||
@Test
|
@Before
|
||||||
public void updateExtraInfo_updatesRestricted() {
|
public void initMocks() {
|
||||||
when(mPowerAllowlistBackend.isAllowlisted(TEST_PACKAGE_1, UID_1)).thenReturn(false);
|
MockitoAnnotations.initMocks(this);
|
||||||
when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
|
mContext = ApplicationProvider.getApplicationContext();
|
||||||
UID_1, TEST_PACKAGE_1)).thenReturn(AppOpsManager.MODE_IGNORED);
|
mApplicationInfo = new ApplicationInfo();
|
||||||
AppStateAppBatteryUsageBridge bridge =
|
mApplicationInfo.sourceDir = "test_dir";
|
||||||
new AppStateAppBatteryUsageBridge(mContext, null, null);
|
}
|
||||||
bridge.mAppOpsManager = mAppOpsManager;
|
|
||||||
bridge.mPowerAllowlistBackend = mPowerAllowlistBackend;
|
|
||||||
AppEntry entry = new AppEntry(mContext, null, 0);
|
|
||||||
|
|
||||||
bridge.updateExtraInfo(entry, TEST_PACKAGE_1, UID_1);
|
@Test
|
||||||
|
public void updateExtraInfo_updatesRestricted() {
|
||||||
|
when(mPowerAllowlistBackend.isAllowlisted(TEST_PACKAGE_1, UID_1)).thenReturn(false);
|
||||||
|
when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
|
||||||
|
UID_1, TEST_PACKAGE_1)).thenReturn(AppOpsManager.MODE_IGNORED);
|
||||||
|
AppStateAppBatteryUsageBridge bridge =
|
||||||
|
new AppStateAppBatteryUsageBridge(mContext, null, null);
|
||||||
|
bridge.mAppOpsManager = mAppOpsManager;
|
||||||
|
bridge.mPowerAllowlistBackend = mPowerAllowlistBackend;
|
||||||
|
AppEntry entry = new AppEntry(mContext, mApplicationInfo, 0);
|
||||||
|
|
||||||
assertThat(entry.extraInfo.getClass())
|
bridge.updateExtraInfo(entry, TEST_PACKAGE_1, UID_1);
|
||||||
.isEqualTo(AppStateAppBatteryUsageBridge.AppBatteryUsageDetails.class);
|
|
||||||
assertThat(AppStateAppBatteryUsageBridge.getAppBatteryUsageDetailsMode(entry))
|
|
||||||
.isEqualTo(AppStateAppBatteryUsageBridge.MODE_RESTRICTED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
assertThat(entry.extraInfo.getClass())
|
||||||
public void updateExtraInfo_updatesUnrestricted() {
|
.isEqualTo(AppStateAppBatteryUsageBridge.AppBatteryUsageDetails.class);
|
||||||
when(mPowerAllowlistBackend.isAllowlisted(TEST_PACKAGE_1, UID_1)).thenReturn(true);
|
assertThat(AppStateAppBatteryUsageBridge.getAppBatteryUsageDetailsMode(entry))
|
||||||
when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
|
.isEqualTo(AppStateAppBatteryUsageBridge.MODE_RESTRICTED);
|
||||||
UID_2, TEST_PACKAGE_2)).thenReturn(AppOpsManager.MODE_ALLOWED);
|
}
|
||||||
AppStateAppBatteryUsageBridge bridge =
|
|
||||||
new AppStateAppBatteryUsageBridge(mContext, null, null);
|
|
||||||
bridge.mAppOpsManager = mAppOpsManager;
|
|
||||||
bridge.mPowerAllowlistBackend = mPowerAllowlistBackend;
|
|
||||||
AppEntry entry = new AppEntry(mContext, null, 0);
|
|
||||||
|
|
||||||
bridge.updateExtraInfo(entry, TEST_PACKAGE_2, UID_2);
|
@Test
|
||||||
|
public void updateExtraInfo_updatesUnrestricted() {
|
||||||
|
when(mPowerAllowlistBackend.isAllowlisted(TEST_PACKAGE_2, UID_2)).thenReturn(true);
|
||||||
|
when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
|
||||||
|
UID_2, TEST_PACKAGE_2)).thenReturn(AppOpsManager.MODE_ALLOWED);
|
||||||
|
AppStateAppBatteryUsageBridge bridge =
|
||||||
|
new AppStateAppBatteryUsageBridge(mContext, null, null);
|
||||||
|
bridge.mAppOpsManager = mAppOpsManager;
|
||||||
|
bridge.mPowerAllowlistBackend = mPowerAllowlistBackend;
|
||||||
|
AppEntry entry = new AppEntry(mContext, mApplicationInfo, 0);
|
||||||
|
|
||||||
assertThat(entry.extraInfo.getClass())
|
bridge.updateExtraInfo(entry, TEST_PACKAGE_2, UID_2);
|
||||||
.isEqualTo(AppStateAppBatteryUsageBridge.AppBatteryUsageDetails.class);
|
|
||||||
assertThat(AppStateAppBatteryUsageBridge.getAppBatteryUsageDetailsMode(entry))
|
assertThat(entry.extraInfo.getClass())
|
||||||
.isEqualTo(AppStateAppBatteryUsageBridge.MODE_UNRESTRICTED);
|
.isEqualTo(AppStateAppBatteryUsageBridge.AppBatteryUsageDetails.class);
|
||||||
}
|
assertThat(AppStateAppBatteryUsageBridge.getAppBatteryUsageDetailsMode(entry))
|
||||||
|
.isEqualTo(AppStateAppBatteryUsageBridge.MODE_UNRESTRICTED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user