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

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

Merge "Reduce flaky of InstantAppDomainsPreferenceTest" into main

parents a2b127bb e15fcaa1
Loading
Loading
Loading
Loading
+30 −29
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertIsEnabled
import androidx.compose.ui.test.assertIsNotDisplayed
import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.onRoot
@@ -35,42 +36,41 @@ import com.android.settings.R
import com.android.settings.Utils
import com.android.settingslib.spa.testutils.delay
import com.android.settingslib.spa.testutils.onDialogText
import com.android.settingslib.spa.testutils.waitUntilExists
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito.any
import org.mockito.Mockito.anyInt
import org.mockito.MockitoSession
import org.mockito.Spy
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import org.mockito.kotlin.spy
import org.mockito.kotlin.whenever
import org.mockito.quality.Strictness
import org.mockito.Mockito.`when` as whenever

@RunWith(AndroidJUnit4::class)
class InstantAppDomainsPreferenceTest {
    @get:Rule
    val composeTestRule = createComposeRule()
    @get:Rule val composeTestRule = createComposeRule()

    private lateinit var mockSession: MockitoSession

    @Spy
    private val context: Context = ApplicationProvider.getApplicationContext()
    private val packageManager = mock<PackageManager>()

    @Mock
    private lateinit var packageManager: PackageManager
    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
        on { packageManager } doReturn packageManager
        doReturn(mock).whenever(mock).createContextAsUser(any(), any())
    }

    @Before
    fun setUp() {
        mockSession = ExtendedMockito.mockitoSession()
            .initMocks(this)
        mockSession =
            ExtendedMockito.mockitoSession()
                .mockStatic(Utils::class.java)
                .strictness(Strictness.LENIENT)
                .startMocking()
        whenever(context.packageManager).thenReturn(packageManager)
        Mockito.doReturn(context).`when`(context).createContextAsUser(any(), anyInt())

        mockDomains(emptySet())
    }

@@ -108,8 +108,8 @@ class InstantAppDomainsPreferenceTest {

        setContent()

        composeTestRule.onNodeWithText(context.getString(R.string.domain_urls_summary_none))
            .assertIsDisplayed()
        composeTestRule.waitUntilExists(
            hasText(context.getString(R.string.domain_urls_summary_none)))
    }

    @Test
@@ -138,9 +138,9 @@ class InstantAppDomainsPreferenceTest {
        composeTestRule.onRoot().performClick()
        composeTestRule.delay()

        composeTestRule.onDialogText(
            context.getString(R.string.app_launch_supported_domain_urls_title)
        ).assertIsDisplayed()
        composeTestRule
            .onDialogText(context.getString(R.string.app_launch_supported_domain_urls_title))
            .assertIsDisplayed()
        composeTestRule.onDialogText("abc").assertIsDisplayed()
        composeTestRule.onDialogText("def").assertIsDisplayed()
    }
@@ -157,7 +157,8 @@ class InstantAppDomainsPreferenceTest {
        const val PACKAGE_NAME = "package.name"
        const val UID = 123

        val INSTANT_APP = ApplicationInfo().apply {
        val INSTANT_APP =
            ApplicationInfo().apply {
                packageName = PACKAGE_NAME
                uid = UID
                privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT
+2 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.SettingsActivity
import com.android.settings.core.BasePreferenceController
import com.android.settings.development.DevelopmentSettingsDashboardFragment
import com.android.settingslib.spa.testutils.delay
import com.android.settingslib.spaprivileged.framework.common.userManager
import com.google.common.truth.Truth.assertThat
import org.junit.Rule
@@ -99,6 +100,7 @@ class DeveloperOptionsControllerTest {
        composeTestRule.onNodeWithText(
            context.getString(com.android.settingslib.R.string.development_settings_title)
        ).performClick()
        composeTestRule.delay()

        val intent = argumentCaptor<Intent> {
            verify(context).startActivity(capture())