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

Commit 8c621857 authored by David Saff's avatar David Saff
Browse files

Rework MobileIconsInteractorTest to use go/thetiger style

Plus incorporating locally new kosmos + fake guidance

Bug: 342622417
Test: MobileIconsInteractorTest
Flag: TEST_ONLY
Change-Id: I306e7ae2182feba881fb8355224f232e4aa2cf72
parent 3885ea04
Loading
Loading
Loading
Loading
+8 −15
Original line number Diff line number Diff line
@@ -31,7 +31,8 @@ import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.coroutines.collectValues
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.kosmos.testScope
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fakeMobileConnectionsRepository
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fake
import com.android.systemui.statusbar.pipeline.mobile.data.repository.mobileConnectionsRepository
import com.android.systemui.testKosmos
import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.util.mockito.whenever
@@ -62,7 +63,7 @@ class AuthenticationRepositoryTest : SysuiTestCase() {
    private val testScope = kosmos.testScope
    private val clock = FakeSystemClock()
    private val userRepository = FakeUserRepository()
    private val mobileConnectionsRepository = kosmos.fakeMobileConnectionsRepository
    private val mobileConnectionsRepository = kosmos.mobileConnectionsRepository

    private lateinit var underTest: AuthenticationRepository

@@ -110,7 +111,7 @@ class AuthenticationRepositoryTest : SysuiTestCase() {
                .isEqualTo(AuthenticationMethodModel.None)

            currentSecurityMode = KeyguardSecurityModel.SecurityMode.SimPin
            mobileConnectionsRepository.isAnySimSecure.value = true
            mobileConnectionsRepository.fake.isAnySimSecure.value = true
            assertThat(authMethod).isEqualTo(AuthenticationMethodModel.Sim)
            assertThat(underTest.getAuthenticationMethod()).isEqualTo(AuthenticationMethodModel.Sim)
        }
@@ -199,7 +200,7 @@ class AuthenticationRepositoryTest : SysuiTestCase() {
        }

    private fun setSecurityModeAndDispatchBroadcast(
        securityMode: KeyguardSecurityModel.SecurityMode,
        securityMode: KeyguardSecurityModel.SecurityMode
    ) {
        currentSecurityMode = securityMode
        dispatchBroadcast()
@@ -208,23 +209,15 @@ class AuthenticationRepositoryTest : SysuiTestCase() {
    private fun dispatchBroadcast() {
        fakeBroadcastDispatcher.sendIntentToMatchingReceiversOnly(
            context,
            Intent(DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED)
            Intent(DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED),
        )
    }

    companion object {
        private val USER_INFOS =
            listOf(
                UserInfo(
                    /* id= */ 100,
                    /* name= */ "First user",
                    /* flags= */ 0,
                ),
                UserInfo(
                    /* id= */ 101,
                    /* name= */ "Second user",
                    /* flags= */ 0,
                ),
                UserInfo(/* id= */ 100, /* name= */ "First user", /* flags= */ 0),
                UserInfo(/* id= */ 101, /* name= */ "Second user", /* flags= */ 0),
            )
    }
}
+3 −2
Original line number Diff line number Diff line
@@ -35,7 +35,8 @@ import com.android.systemui.kosmos.testScope
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionsRepository
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fakeMobileConnectionsRepository
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fake
import com.android.systemui.statusbar.pipeline.mobile.data.repository.mobileConnectionsRepository
import com.android.systemui.telephony.data.repository.fakeTelephonyRepository
import com.android.systemui.testKosmos
import com.android.systemui.user.domain.interactor.SelectedUserInteractor
@@ -78,7 +79,7 @@ class BouncerActionButtonInteractorTest : SysuiTestCase() {
    fun setUp() {
        MockitoAnnotations.initMocks(this)

        mobileConnectionsRepository = kosmos.fakeMobileConnectionsRepository
        mobileConnectionsRepository = kosmos.mobileConnectionsRepository.fake

        overrideResource(R.string.lockscreen_emergency_call, MESSAGE_EMERGENCY_CALL)
        overrideResource(R.string.lockscreen_return_to_call, MESSAGE_RETURN_TO_CALL)
+17 −16
Original line number Diff line number Diff line
@@ -47,7 +47,8 @@ import com.android.systemui.keyguard.data.repository.BiometricType.SIDE_FINGERPR
import com.android.systemui.keyguard.data.repository.BiometricType.UNDER_DISPLAY_FINGERPRINT
import com.android.systemui.keyguard.shared.model.DevicePosture
import com.android.systemui.res.R
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fakeMobileConnectionsRepository
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fake
import com.android.systemui.statusbar.pipeline.mobile.data.repository.mobileConnectionsRepository
import com.android.systemui.statusbar.policy.DevicePostureController
import com.android.systemui.testKosmos
import com.android.systemui.user.data.repository.FakeUserRepository
@@ -99,7 +100,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
    private lateinit var devicePostureRepository: FakeDevicePostureRepository
    private lateinit var facePropertyRepository: FakeFacePropertyRepository
    private lateinit var fingerprintPropertyRepository: FakeFingerprintPropertyRepository
    private val mobileConnectionsRepository = kosmos.fakeMobileConnectionsRepository
    private val mobileConnectionsRepository = kosmos.mobileConnectionsRepository

    private lateinit var testDispatcher: TestDispatcher
    private lateinit var testScope: TestScope
@@ -142,7 +143,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
            1,
            SensorStrength.STRONG,
            FingerprintSensorType.UDFPS_OPTICAL,
            emptyMap()
            emptyMap(),
        )
        verify(lockPatternUtils).registerStrongAuthTracker(strongAuthTracker.capture())
        verify(authController, times(2)).addCallback(authControllerCallback.capture())
@@ -247,7 +248,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
    private fun deviceIsInPostureThatSupportsFaceAuth() {
        overrideResource(
            R.integer.config_face_auth_supported_posture,
            DevicePostureController.DEVICE_POSTURE_FLIPPED
            DevicePostureController.DEVICE_POSTURE_FLIPPED,
        )
        devicePostureRepository.setCurrentPosture(DevicePosture.FLIPPED)
    }
@@ -459,7 +460,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {

            biometricsAreEnabledBySettings()
            doNotDisableKeyguardAuthFeatures()
            mobileConnectionsRepository.isAnySimSecure.value = false
            mobileConnectionsRepository.fake.isAnySimSecure.value = false
            runCurrent()

            val isFaceAuthEnabledAndEnrolled by
@@ -467,7 +468,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {

            assertThat(isFaceAuthEnabledAndEnrolled).isTrue()

            mobileConnectionsRepository.isAnySimSecure.value = true
            mobileConnectionsRepository.fake.isAnySimSecure.value = true
            runCurrent()

            assertThat(isFaceAuthEnabledAndEnrolled).isFalse()
@@ -485,13 +486,13 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
            doNotDisableKeyguardAuthFeatures()
            faceAuthIsStrongBiometric()
            biometricsAreEnabledBySettings()
            mobileConnectionsRepository.isAnySimSecure.value = false
            mobileConnectionsRepository.fake.isAnySimSecure.value = false

            onStrongAuthChanged(STRONG_AUTH_NOT_REQUIRED, PRIMARY_USER_ID)
            onNonStrongAuthChanged(false, PRIMARY_USER_ID)
            assertThat(isFaceAuthCurrentlyAllowed).isTrue()

            mobileConnectionsRepository.isAnySimSecure.value = true
            mobileConnectionsRepository.fake.isAnySimSecure.value = true
            assertThat(isFaceAuthCurrentlyAllowed).isFalse()
        }

@@ -584,7 +585,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
        testScope.runTest {
            overrideResource(
                R.integer.config_face_auth_supported_posture,
                DevicePostureController.DEVICE_POSTURE_UNKNOWN
                DevicePostureController.DEVICE_POSTURE_UNKNOWN,
            )

            createBiometricSettingsRepository()
@@ -597,7 +598,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
        testScope.runTest {
            overrideResource(
                R.integer.config_face_auth_supported_posture,
                DevicePostureController.DEVICE_POSTURE_FLIPPED
                DevicePostureController.DEVICE_POSTURE_FLIPPED,
            )

            createBiometricSettingsRepository()
@@ -749,7 +750,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
                1,
                SensorStrength.STRONG,
                FingerprintSensorType.UDFPS_OPTICAL,
                emptyMap()
                emptyMap(),
            )
            // Non strong auth is not allowed now, FP is marked strong
            onStrongAuthChanged(STRONG_AUTH_NOT_REQUIRED, PRIMARY_USER_ID)
@@ -761,7 +762,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
                1,
                SensorStrength.CONVENIENCE,
                FingerprintSensorType.UDFPS_OPTICAL,
                emptyMap()
                emptyMap(),
            )
            assertThat(isFingerprintCurrentlyAllowed).isFalse()

@@ -769,7 +770,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
                1,
                SensorStrength.WEAK,
                FingerprintSensorType.UDFPS_OPTICAL,
                emptyMap()
                emptyMap(),
            )
            assertThat(isFingerprintCurrentlyAllowed).isFalse()
        }
@@ -791,7 +792,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
                1,
                SensorStrength.STRONG,
                FingerprintSensorType.UDFPS_OPTICAL,
                emptyMap()
                emptyMap(),
            )
            // Non strong auth is not allowed now, FP is marked strong
            onStrongAuthChanged(STRONG_AUTH_REQUIRED_AFTER_USER_LOCKDOWN, PRIMARY_USER_ID)
@@ -830,7 +831,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
            UserInfo(
                /* id= */ PRIMARY_USER_ID,
                /* name= */ "primary user",
                /* flags= */ UserInfo.FLAG_PRIMARY
                /* flags= */ UserInfo.FLAG_PRIMARY,
            )

        private const val ANOTHER_USER_ID = 1
@@ -838,7 +839,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
            UserInfo(
                /* id= */ ANOTHER_USER_ID,
                /* name= */ "another user",
                /* flags= */ UserInfo.FLAG_PRIMARY
                /* flags= */ UserInfo.FLAG_PRIMARY,
            )
    }
}
+107 −121

File changed.

Preview size limit exceeded, changes collapsed.

+8 −5
Original line number Diff line number Diff line
@@ -23,13 +23,13 @@ import java.io.PrintWriter

class FakeFeatureFlagsClassic : FakeFeatureFlags()

val FeatureFlagsClassic.fake
    get() = this as FakeFeatureFlagsClassic

@Deprecated(
    message = "Use FakeFeatureFlagsClassic instead.",
    replaceWith =
        ReplaceWith(
            "FakeFeatureFlagsClassic",
            "com.android.systemui.flags.FakeFeatureFlagsClassic",
        ),
        ReplaceWith("FakeFeatureFlagsClassic", "com.android.systemui.flags.FakeFeatureFlagsClassic"),
)
open class FakeFeatureFlags : FeatureFlagsClassic {
    private val booleanFlags = mutableMapOf<String, Boolean>()
@@ -105,6 +105,7 @@ open class FakeFeatureFlags : FeatureFlagsClassic {
                listener.onFlagChanged(
                    object : FlagListenable.FlagEvent {
                        override val flagName = flag.name

                        override fun requestNoRestart() {}
                    }
                )
@@ -165,7 +166,7 @@ open class FakeFeatureFlags : FeatureFlagsClassic {

@Module(includes = [FakeFeatureFlagsClassicModule.Bindings::class])
class FakeFeatureFlagsClassicModule(
    @get:Provides val fakeFeatureFlagsClassic: FakeFeatureFlagsClassic = FakeFeatureFlagsClassic(),
    @get:Provides val fakeFeatureFlagsClassic: FakeFeatureFlagsClassic = FakeFeatureFlagsClassic()
) {

    constructor(
@@ -175,7 +176,9 @@ class FakeFeatureFlagsClassicModule(
    @Module
    interface Bindings {
        @Binds fun bindFake(fake: FakeFeatureFlagsClassic): FeatureFlagsClassic

        @Binds fun bindClassic(classic: FeatureFlagsClassic): FeatureFlags

        @Binds fun bindFakeClassic(fake: FakeFeatureFlagsClassic): FakeFeatureFlags
    }
}
Loading