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

Commit 0efbc9ac authored by Andrei Onea's avatar Andrei Onea
Browse files

Fix PlatformCompatTest for internal

Override the PackageManagerInternal.getPackageUid result during tests.

Bug: 137821288
Test: atest PlatformCompatTest
Change-Id: I1e63f19a4530db00c373ae7d1691b000b6931aaa
parent 76d19db2
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.compat;
import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;
@@ -28,10 +29,12 @@ import static org.testng.Assert.assertThrows;

import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal;

import androidx.test.runner.AndroidJUnit4;

import com.android.internal.compat.AndroidBuildClassifier;
import com.android.server.LocalServices;

import org.junit.Before;
import org.junit.Test;
@@ -48,6 +51,8 @@ public class PlatformCompatTest {
    @Mock
    private PackageManager mPackageManager;
    @Mock
    private PackageManagerInternal mPackageManagerInternal;
    @Mock
    CompatChange.ChangeListener mListener1, mListener2;
    PlatformCompat mPlatformCompat;
    CompatConfig mCompatConfig;
@@ -60,11 +65,15 @@ public class PlatformCompatTest {
        when(mContext.getPackageManager()).thenReturn(mPackageManager);
        when(mPackageManager.getPackageUid(eq(PACKAGE_NAME), eq(0))).thenThrow(
                new PackageManager.NameNotFoundException());
        when(mPackageManagerInternal.getPackageUid(eq(PACKAGE_NAME), eq(0), anyInt()))
            .thenReturn(-1);
        mCompatConfig = new CompatConfig(mBuildClassifier, mContext);
        mPlatformCompat = new PlatformCompat(mContext, mCompatConfig);
        // Assume userdebug/eng non-final build
        when(mBuildClassifier.isDebuggableBuild()).thenReturn(true);
        when(mBuildClassifier.isFinalBuild()).thenReturn(false);
        LocalServices.removeServiceForTest(PackageManagerInternal.class);
        LocalServices.addService(PackageManagerInternal.class, mPackageManagerInternal);
    }

    @Test