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

Commit 5beb97d8 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

Use Kosmos.fakeMobileConnectionsRepository in most tests.

This CL:
- Updates Kosmos.fakeMobileConnectionsRepository to use the new
  `logcatTableLogBuffer` helper method instead of a mocked TableLogBuffer
- Updates lots of tests to use Kosmos.fakeMobileConnectionsRepository
  instead of creating a new instance of FakeMobileConnectionsRepo

Also:
 - Removes some unused values in various tests
 - Updates some TableLogBuffer mocks to use the helper method instead

Bug: 360832989
Flag: TEST_ONLY
Test: atest MobileConnectionRepositoryTest (+ others)
Change-Id: Ifd36b0d0bec5932d07276b8a8b80b504d076d7ea
parent 544cfa0e
Loading
Loading
Loading
Loading
+2 −7
Original line number Original line Diff line number Diff line
@@ -31,9 +31,7 @@ import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.coroutines.collectValues
import com.android.systemui.coroutines.collectValues
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.testScope
import com.android.systemui.log.table.TableLogBuffer
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.util.FakeMobileMappingsProxy
import com.android.systemui.testKosmos
import com.android.systemui.testKosmos
import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.mockito.whenever
@@ -58,14 +56,13 @@ class AuthenticationRepositoryTest : SysuiTestCase() {


    @Mock private lateinit var lockPatternUtils: LockPatternUtils
    @Mock private lateinit var lockPatternUtils: LockPatternUtils
    @Mock private lateinit var getSecurityMode: Function<Int, KeyguardSecurityModel.SecurityMode>
    @Mock private lateinit var getSecurityMode: Function<Int, KeyguardSecurityModel.SecurityMode>
    @Mock private lateinit var tableLogger: TableLogBuffer
    @Mock private lateinit var devicePolicyManager: DevicePolicyManager
    @Mock private lateinit var devicePolicyManager: DevicePolicyManager


    private val kosmos = testKosmos()
    private val kosmos = testKosmos()
    private val testScope = kosmos.testScope
    private val testScope = kosmos.testScope
    private val clock = FakeSystemClock()
    private val clock = FakeSystemClock()
    private val userRepository = FakeUserRepository()
    private val userRepository = FakeUserRepository()
    private lateinit var mobileConnectionsRepository: FakeMobileConnectionsRepository
    private val mobileConnectionsRepository = kosmos.fakeMobileConnectionsRepository


    private lateinit var underTest: AuthenticationRepository
    private lateinit var underTest: AuthenticationRepository


@@ -78,8 +75,6 @@ class AuthenticationRepositoryTest : SysuiTestCase() {
        userRepository.setUserInfos(USER_INFOS)
        userRepository.setUserInfos(USER_INFOS)
        runBlocking { userRepository.setSelectedUserInfo(USER_INFOS[0]) }
        runBlocking { userRepository.setSelectedUserInfo(USER_INFOS[0]) }
        whenever(getSecurityMode.apply(anyInt())).thenAnswer { currentSecurityMode }
        whenever(getSecurityMode.apply(anyInt())).thenAnswer { currentSecurityMode }
        mobileConnectionsRepository =
            FakeMobileConnectionsRepository(FakeMobileMappingsProxy(), tableLogger)


        underTest =
        underTest =
            AuthenticationRepositoryImpl(
            AuthenticationRepositoryImpl(
+5 −7
Original line number Original line Diff line number Diff line
@@ -46,11 +46,10 @@ import com.android.systemui.keyguard.data.repository.BiometricType.REAR_FINGERPR
import com.android.systemui.keyguard.data.repository.BiometricType.SIDE_FINGERPRINT
import com.android.systemui.keyguard.data.repository.BiometricType.SIDE_FINGERPRINT
import com.android.systemui.keyguard.data.repository.BiometricType.UNDER_DISPLAY_FINGERPRINT
import com.android.systemui.keyguard.data.repository.BiometricType.UNDER_DISPLAY_FINGERPRINT
import com.android.systemui.keyguard.shared.model.DevicePosture
import com.android.systemui.keyguard.shared.model.DevicePosture
import com.android.systemui.log.table.TableLogBuffer
import com.android.systemui.res.R
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.fakeMobileConnectionsRepository
import com.android.systemui.statusbar.pipeline.mobile.util.FakeMobileMappingsProxy
import com.android.systemui.statusbar.policy.DevicePostureController
import com.android.systemui.statusbar.policy.DevicePostureController
import com.android.systemui.testKosmos
import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.mockito.whenever
@@ -81,6 +80,8 @@ import org.mockito.MockitoAnnotations
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@RunWith(AndroidJUnit4::class)
@RunWith(AndroidJUnit4::class)
class BiometricSettingsRepositoryTest : SysuiTestCase() {
class BiometricSettingsRepositoryTest : SysuiTestCase() {
    private val kosmos = testKosmos()

    private lateinit var underTest: BiometricSettingsRepository
    private lateinit var underTest: BiometricSettingsRepository


    @Mock private lateinit var authController: AuthController
    @Mock private lateinit var authController: AuthController
@@ -88,7 +89,6 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
    @Mock private lateinit var devicePolicyManager: DevicePolicyManager
    @Mock private lateinit var devicePolicyManager: DevicePolicyManager
    @Mock private lateinit var dumpManager: DumpManager
    @Mock private lateinit var dumpManager: DumpManager
    @Mock private lateinit var biometricManager: BiometricManager
    @Mock private lateinit var biometricManager: BiometricManager
    @Mock private lateinit var tableLogger: TableLogBuffer
    @Captor
    @Captor
    private lateinit var strongAuthTracker: ArgumentCaptor<LockPatternUtils.StrongAuthTracker>
    private lateinit var strongAuthTracker: ArgumentCaptor<LockPatternUtils.StrongAuthTracker>
    @Captor private lateinit var authControllerCallback: ArgumentCaptor<AuthController.Callback>
    @Captor private lateinit var authControllerCallback: ArgumentCaptor<AuthController.Callback>
@@ -99,7 +99,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
    private lateinit var devicePostureRepository: FakeDevicePostureRepository
    private lateinit var devicePostureRepository: FakeDevicePostureRepository
    private lateinit var facePropertyRepository: FakeFacePropertyRepository
    private lateinit var facePropertyRepository: FakeFacePropertyRepository
    private lateinit var fingerprintPropertyRepository: FakeFingerprintPropertyRepository
    private lateinit var fingerprintPropertyRepository: FakeFingerprintPropertyRepository
    private lateinit var mobileConnectionsRepository: FakeMobileConnectionsRepository
    private val mobileConnectionsRepository = kosmos.fakeMobileConnectionsRepository


    private lateinit var testDispatcher: TestDispatcher
    private lateinit var testDispatcher: TestDispatcher
    private lateinit var testScope: TestScope
    private lateinit var testScope: TestScope
@@ -115,8 +115,6 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
        devicePostureRepository = FakeDevicePostureRepository()
        devicePostureRepository = FakeDevicePostureRepository()
        facePropertyRepository = FakeFacePropertyRepository()
        facePropertyRepository = FakeFacePropertyRepository()
        fingerprintPropertyRepository = FakeFingerprintPropertyRepository()
        fingerprintPropertyRepository = FakeFingerprintPropertyRepository()
        mobileConnectionsRepository =
            FakeMobileConnectionsRepository(FakeMobileMappingsProxy(), tableLogger)
    }
    }


    private suspend fun createBiometricSettingsRepository() {
    private suspend fun createBiometricSettingsRepository() {
+4 −2
Original line number Original line Diff line number Diff line
@@ -29,8 +29,9 @@ import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.longClic
import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel
import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
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.shared.data.repository.FakeConnectivityRepository
import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnectivityRepository
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.Test
@@ -40,8 +41,9 @@ import org.junit.runner.RunWith
@EnabledOnRavenwood
@EnabledOnRavenwood
@RunWith(AndroidJUnit4::class)
@RunWith(AndroidJUnit4::class)
class AirplaneModeTileUserActionInteractorTest : SysuiTestCase() {
class AirplaneModeTileUserActionInteractorTest : SysuiTestCase() {
    private val kosmos = testKosmos()


    private val mobileConnectionsRepository = FakeMobileConnectionsRepository()
    private val mobileConnectionsRepository = kosmos.fakeMobileConnectionsRepository
    private val connectivityRepository = FakeConnectivityRepository()
    private val connectivityRepository = FakeConnectivityRepository()
    private val airplaneModeRepository = FakeAirplaneModeRepository()
    private val airplaneModeRepository = FakeAirplaneModeRepository()
    private val inputHandler = FakeQSTileIntentUserInputHandler()
    private val inputHandler = FakeQSTileIntentUserInputHandler()
+2 −2
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@ import com.android.systemui.flags.FakeFeatureFlagsClassic
import com.android.systemui.flags.Flags
import com.android.systemui.flags.Flags
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.testScope
import com.android.systemui.log.table.TableLogBuffer
import com.android.systemui.log.table.logcatTableLogBuffer
import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger
import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger
import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel
import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel
import com.android.systemui.res.R
import com.android.systemui.res.R
@@ -86,7 +86,7 @@ class InternetTileDataInteractorTest : SysuiTestCase() {
    private val wifiInteractor =
    private val wifiInteractor =
        WifiInteractorImpl(connectivityRepository, wifiRepository, testScope.backgroundScope)
        WifiInteractorImpl(connectivityRepository, wifiRepository, testScope.backgroundScope)


    private val tableLogBuffer: TableLogBuffer = mock()
    private val tableLogBuffer = logcatTableLogBuffer(kosmos, "InternetTileDataInteractorTest")
    private val carrierConfigTracker: CarrierConfigTracker = mock()
    private val carrierConfigTracker: CarrierConfigTracker = mock()


    private val mobileConnectionsRepository =
    private val mobileConnectionsRepository =
+6 −4
Original line number Original line Diff line number Diff line
@@ -25,14 +25,14 @@ import com.android.systemui.Flags.FLAG_STATUS_BAR_STATIC_INOUT_INDICATORS
import com.android.systemui.SysuiTestCase
import com.android.systemui.SysuiTestCase
import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription
import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.log.table.TableLogBuffer
import com.android.systemui.log.table.logcatTableLogBuffer
import com.android.systemui.statusbar.connectivity.WifiIcons
import com.android.systemui.statusbar.connectivity.WifiIcons
import com.android.systemui.statusbar.phone.StatusBarLocation
import com.android.systemui.statusbar.phone.StatusBarLocation
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
import com.android.systemui.statusbar.pipeline.airplane.ui.viewmodel.AirplaneModeViewModel
import com.android.systemui.statusbar.pipeline.airplane.ui.viewmodel.AirplaneModeViewModel
import com.android.systemui.statusbar.pipeline.airplane.ui.viewmodel.AirplaneModeViewModelImpl
import com.android.systemui.statusbar.pipeline.airplane.ui.viewmodel.AirplaneModeViewModelImpl
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.shared.ConnectivityConstants
import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstants
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
@@ -44,6 +44,7 @@ import com.android.systemui.statusbar.pipeline.wifi.shared.WifiConstants
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkModel
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkModel
import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon
import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon
import com.android.systemui.statusbar.pipeline.wifi.ui.viewmodel.LocationBasedWifiViewModel.Companion.viewModelForLocation
import com.android.systemui.statusbar.pipeline.wifi.ui.viewmodel.LocationBasedWifiViewModel.Companion.viewModelForLocation
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.TestScope
@@ -58,10 +59,11 @@ import org.mockito.MockitoAnnotations
@SmallTest
@SmallTest
@RunWith(AndroidJUnit4::class)
@RunWith(AndroidJUnit4::class)
class WifiViewModelTest : SysuiTestCase() {
class WifiViewModelTest : SysuiTestCase() {
    private val kosmos = testKosmos()


    private lateinit var underTest: WifiViewModel
    private lateinit var underTest: WifiViewModel


    @Mock private lateinit var tableLogBuffer: TableLogBuffer
    private val tableLogBuffer = logcatTableLogBuffer(kosmos, "WifiViewModelTest")
    @Mock private lateinit var connectivityConstants: ConnectivityConstants
    @Mock private lateinit var connectivityConstants: ConnectivityConstants
    @Mock private lateinit var wifiConstants: WifiConstants
    @Mock private lateinit var wifiConstants: WifiConstants
    private lateinit var airplaneModeRepository: FakeAirplaneModeRepository
    private lateinit var airplaneModeRepository: FakeAirplaneModeRepository
@@ -86,7 +88,7 @@ class WifiViewModelTest : SysuiTestCase() {
                AirplaneModeInteractor(
                AirplaneModeInteractor(
                    airplaneModeRepository,
                    airplaneModeRepository,
                    connectivityRepository,
                    connectivityRepository,
                    FakeMobileConnectionsRepository(),
                    kosmos.fakeMobileConnectionsRepository,
                ),
                ),
                tableLogBuffer,
                tableLogBuffer,
                testScope.backgroundScope,
                testScope.backgroundScope,
Loading