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

Commit ddbaabce authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Use Mockito Kotlin for SpaPrivilegedLibTests" into main

parents 9969cda1 312d1498
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -46,7 +46,12 @@ fun DisposableBroadcastReceiverAsUser(
    LifecycleEffect(
        onStart = {
            context.registerReceiverAsUser(
                broadcastReceiver, userHandle, intentFilter, null, null
                broadcastReceiver,
                userHandle,
                intentFilter,
                null,
                null,
                Context.RECEIVER_NOT_EXPORTED,
            )
        },
        onStop = {
+21 −9
Original line number Diff line number Diff line
@@ -31,10 +31,12 @@ import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.any
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
import org.mockito.Mockito.`when` as whenever
import org.mockito.kotlin.any
import org.mockito.kotlin.eq
import org.mockito.kotlin.isNull
import org.mockito.kotlin.whenever

@RunWith(AndroidJUnit4::class)
class DisposableBroadcastReceiverAsUserTest {
@@ -51,8 +53,16 @@ class DisposableBroadcastReceiverAsUserTest {

    @Before
    fun setUp() {
        whenever(context.registerReceiverAsUser(any(), any(), any(), any(), any()))
            .thenAnswer {
        whenever(
            context.registerReceiverAsUser(
                any(),
                eq(USER_HANDLE),
                eq(INTENT_FILTER),
                isNull(),
                isNull(),
                eq(Context.RECEIVER_NOT_EXPORTED),
            )
        ).then {
            registeredBroadcastReceiver = it.arguments[0] as BroadcastReceiver
            null
        }
@@ -62,7 +72,7 @@ class DisposableBroadcastReceiverAsUserTest {
    fun broadcastReceiver_registered() {
        composeTestRule.setContent {
            CompositionLocalProvider(LocalContext provides context) {
                DisposableBroadcastReceiverAsUser(IntentFilter(), USER_HANDLE) {}
                DisposableBroadcastReceiverAsUser(INTENT_FILTER, USER_HANDLE) {}
            }
        }

@@ -74,7 +84,7 @@ class DisposableBroadcastReceiverAsUserTest {
        var onReceiveIsCalled = false
        composeTestRule.setContent {
            CompositionLocalProvider(LocalContext provides context) {
                DisposableBroadcastReceiverAsUser(IntentFilter(), USER_HANDLE) {
                DisposableBroadcastReceiverAsUser(INTENT_FILTER, USER_HANDLE) {
                    onReceiveIsCalled = true
                }
            }
@@ -87,5 +97,7 @@ class DisposableBroadcastReceiverAsUserTest {

    private companion object {
        val USER_HANDLE: UserHandle = UserHandle.of(0)

        val INTENT_FILTER = IntentFilter()
    }
}
+19 −17
Original line number Diff line number Diff line
@@ -38,16 +38,15 @@ import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.Mock
import org.mockito.Mockito.any
import org.mockito.Mockito.anyInt
import org.mockito.Mockito.eq
import org.mockito.Mockito.verify
import org.mockito.Spy
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
import org.mockito.Mockito.`when` as whenever
import org.mockito.kotlin.any
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.eq
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever

@RunWith(AndroidJUnit4::class)
class AppListRepositoryTest {
@@ -75,7 +74,7 @@ class AppListRepositoryTest {
            .thenReturn(emptyArray())
        whenever(context.packageManager).thenReturn(packageManager)
        whenever(context.userManager).thenReturn(userManager)
        whenever(packageManager.getInstalledModules(anyInt())).thenReturn(emptyList())
        whenever(packageManager.getInstalledModules(any())).thenReturn(emptyList())
        whenever(packageManager.getHomeActivities(any())).thenAnswer {
            @Suppress("UNCHECKED_CAST")
            val resolveInfos = it.arguments[0] as MutableList<ResolveInfo>
@@ -83,7 +82,7 @@ class AppListRepositoryTest {
            null
        }
        whenever(
            packageManager.queryIntentActivitiesAsUser(any(), any<ResolveInfoFlags>(), anyInt())
            packageManager.queryIntentActivitiesAsUser(any(), any<ResolveInfoFlags>(), any<Int>())
        ).thenReturn(listOf(resolveInfoOf(packageName = IN_LAUNCHER_APP.packageName)))
        whenever(userManager.getUserInfo(ADMIN_USER_ID)).thenReturn(UserInfo().apply {
            flags = UserInfo.FLAG_ADMIN
@@ -134,13 +133,14 @@ class AppListRepositoryTest {
        )

        assertThat(appList).containsExactly(NORMAL_APP)
        val flags = ArgumentCaptor.forClass(ApplicationInfoFlags::class.java)
        verify(packageManager).getInstalledApplicationsAsUser(flags.capture(), eq(ADMIN_USER_ID))
        assertThat(flags.value.value).isEqualTo(
        argumentCaptor<ApplicationInfoFlags> {
            verify(packageManager).getInstalledApplicationsAsUser(capture(), eq(ADMIN_USER_ID))
            assertThat(firstValue.value).isEqualTo(
                PackageManager.MATCH_DISABLED_COMPONENTS or
                    PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS
            )
        }
    }

    @Test
    fun loadApps_matchAnyUserForAdmin_withMatchAnyUserFlag() = runTest {
@@ -152,9 +152,11 @@ class AppListRepositoryTest {
        )

        assertThat(appList).containsExactly(NORMAL_APP)
        val flags = ArgumentCaptor.forClass(ApplicationInfoFlags::class.java)
        verify(packageManager).getInstalledApplicationsAsUser(flags.capture(), eq(ADMIN_USER_ID))
        assertThat(flags.value.value and PackageManager.MATCH_ANY_USER.toLong()).isGreaterThan(0L)
        argumentCaptor<ApplicationInfoFlags> {
            verify(packageManager).getInstalledApplicationsAsUser(capture(), eq(ADMIN_USER_ID))
            assertThat(firstValue.value and PackageManager.MATCH_ANY_USER.toLong())
                .isGreaterThan(0L)
        }
    }

    @Test
+6 −8
Original line number Diff line number Diff line
@@ -32,15 +32,13 @@ import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.any
import org.mockito.Mockito.anyInt
import org.mockito.Mockito.anyString
import org.mockito.Mockito.doNothing
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when` as whenever
import org.mockito.Spy
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
import org.mockito.kotlin.any
import org.mockito.kotlin.doNothing
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever

@RunWith(AndroidJUnit4::class)
class AppOpsControllerTest {
@@ -56,8 +54,8 @@ class AppOpsControllerTest {
    fun setUp() {
        whenever(context.appOpsManager).thenReturn(appOpsManager)
        whenever(context.packageManager).thenReturn(packageManager)
        doNothing().`when`(packageManager)
                .updatePermissionFlags(anyString(), anyString(), anyInt(), anyInt(), any())
        doNothing().whenever(packageManager)
                .updatePermissionFlags(any(), any(), any(), any(), any())
    }

    @Test
+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ import org.mockito.Mock
import org.mockito.Spy
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
import org.mockito.Mockito.`when` as whenever
import org.mockito.kotlin.whenever

@RunWith(AndroidJUnit4::class)
class AppRepositoryTest {
Loading