Clean up @OptIn(ExperimentalCoroutinesApi::class)

After runTest get stable.

Bug: 285231003
Test: unit test
Change-Id: I200ba979727b900380b107bd82e1d0e43ab1d994
This commit is contained in:
Chaohui Wang
2023-08-09 17:20:58 +08:00
parent eeba25e2f3
commit b0b710f1b0
14 changed files with 5 additions and 76 deletions

View File

@@ -35,7 +35,7 @@ import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.Cha
import com.android.settings.password.ChooseLockPattern
import com.android.settings.password.ChooseLockSettingsHelper
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import java.util.concurrent.atomic.AtomicBoolean
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestScope
@@ -50,7 +50,6 @@ import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
import java.util.concurrent.atomic.AtomicBoolean
import org.mockito.Mockito.`when` as whenever
@RunWith(AndroidJUnit4::class)
@@ -86,7 +85,6 @@ class AutoCredentialViewModelTest {
challengeGenerator.challenge = newChallenge
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckCredential_validCredentialCase() = runTest {
val userId = 99
@@ -109,7 +107,6 @@ class AutoCredentialViewModelTest {
assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckCredential_needToChooseLock() = runTest {
val userId = 100
@@ -132,7 +129,6 @@ class AutoCredentialViewModelTest {
assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckCredential_needToConfirmLockForSomething() = runTest {
val userId = 101
@@ -156,7 +152,6 @@ class AutoCredentialViewModelTest {
assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckCredential_needToConfirmLockForNumeric() = runTest {
val userId = 102
@@ -180,7 +175,6 @@ class AutoCredentialViewModelTest {
assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckCredential_needToConfirmLockForAlphabetic() = runTest {
val userId = 103
@@ -204,7 +198,6 @@ class AutoCredentialViewModelTest {
assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckCredential_generateChallenge() = runTest {
val userId = 104
@@ -258,7 +251,6 @@ class AutoCredentialViewModelTest {
assertThat(tokens[0]).isEqualTo(1)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckCredential_generateChallengeFail() = runTest {
backgroundScope.launch {
@@ -306,7 +298,6 @@ class AutoCredentialViewModelTest {
assertThat(viewModel.userId).isEqualTo(userId)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testGenerateChallengeAsCredentialActivityResult_invalidChooseLock() = runTest {
backgroundScope.launch {
@@ -332,7 +323,6 @@ class AutoCredentialViewModelTest {
}
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testGenerateChallengeAsCredentialActivityResult_invalidConfirmLock() = runTest {
backgroundScope.launch {
@@ -358,7 +348,6 @@ class AutoCredentialViewModelTest {
}
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testGenerateChallengeAsCredentialActivityResult_nullDataChooseLock() = runTest {
val userId = 108
@@ -380,7 +369,6 @@ class AutoCredentialViewModelTest {
assertThat(generateFails.size).isEqualTo(0)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testGenerateChallengeAsCredentialActivityResult_nullDataConfirmLock() = runTest {
val userId = 109
@@ -401,7 +389,6 @@ class AutoCredentialViewModelTest {
assertThat(generateFails.size).isEqualTo(0)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testGenerateChallengeAsCredentialActivityResult_validChooseLock() = runTest {
val userId = 108
@@ -447,7 +434,6 @@ class AutoCredentialViewModelTest {
assertThat(hasCalledRemoveGkPwHandle.get()).isTrue()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testGenerateChallengeAsCredentialActivityResult_validConfirmLock() = runTest {
val userId = 109
@@ -493,7 +479,6 @@ class AutoCredentialViewModelTest {
assertThat(hasCalledRemoveGkPwHandle.get()).isTrue()
}
@OptIn(ExperimentalCoroutinesApi::class)
private fun TestScope.listOfGenerateChallengeFailedFlow(): List<Boolean> =
mutableListOf<Boolean>().also {
backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {

View File

@@ -19,12 +19,9 @@ import android.app.Application
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH
import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
@@ -56,7 +53,6 @@ class FingerprintEnrollErrorDialogViewModelTest {
assertThat(FingerprintEnrollErrorDialogViewModel(application, true).isSuw).isTrue()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testNewDialog() = runTest {
val newDialogs: List<Int> = mutableListOf<Int>().also {
@@ -81,7 +77,6 @@ class FingerprintEnrollErrorDialogViewModelTest {
assertThat(newDialogs[0]).isEqualTo(testErrorMsgId)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testTriggerRetry() = runTest {
val triggerRetries: List<Any> = mutableListOf<Any>().also {
@@ -102,7 +97,6 @@ class FingerprintEnrollErrorDialogViewModelTest {
assertThat(triggerRetries.size).isEqualTo(1)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testSetResultFinish() = runTest {
val setResults: List<FingerprintErrorDialogSetResultAction> =

View File

@@ -38,7 +38,6 @@ import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFing
import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints
import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupSuwMaxFingerprintsEnrollable
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestScope
@@ -78,7 +77,6 @@ class FingerprintEnrollIntroViewModelTest {
application = ApplicationProvider.getApplicationContext()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testPageStatusFlowDefaultAndUpdate() = runTest {
val viewModel = newFingerprintEnrollIntroViewModel(
@@ -105,7 +103,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(statusList[1].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
}
@OptIn(ExperimentalCoroutinesApi::class)
fun testOnStartToUpdateEnrollableStatusOk_isSuw() = runTest {
setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
setupSuwMaxFingerprintsEnrollable(application, resources, 1)
@@ -122,7 +119,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusReachMax_isSuw() = runTest {
setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 1)
@@ -140,49 +136,41 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusOk_isNotSuw() = runTest {
testOnStartToUpdateEnrollableStatusOk(newAllFalseRequest(application))
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusReachMax_isNotSuw() = runTest {
testOnStartToUpdateEnrollableStatusReachMax(newAllFalseRequest(application))
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusOk_isSuwDeferred() = runTest {
testOnStartToUpdateEnrollableStatusOk(newIsSuwDeferredRequest(application))
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusReachMax_isSuwDeferred() = runTest {
testOnStartToUpdateEnrollableStatusReachMax(newIsSuwDeferredRequest(application))
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusOk_isSuwPortal() = runTest {
testOnStartToUpdateEnrollableStatusOk(newIsSuwPortalRequest(application))
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusReachMax_isSuwPortal() = runTest {
testOnStartToUpdateEnrollableStatusReachMax(newIsSuwPortalRequest(application))
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusOk_isSuwSuggestedActionFlow() = runTest {
testOnStartToUpdateEnrollableStatusOk(newIsSuwSuggestedActionFlowRequest(application))
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnStartToUpdateEnrollableStatusReachMax_isSuwSuggestedActionFlow() = runTest {
testOnStartToUpdateEnrollableStatusReachMax(
@@ -190,7 +178,6 @@ class FingerprintEnrollIntroViewModelTest {
)
}
@OptIn(ExperimentalCoroutinesApi::class)
private fun TestScope.testOnStartToUpdateEnrollableStatusOk(request: EnrollmentRequest) {
setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
val viewModel = newFingerprintEnrollIntroViewModel(
@@ -206,7 +193,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
}
@OptIn(ExperimentalCoroutinesApi::class)
private fun TestScope.testOnStartToUpdateEnrollableStatusReachMax(request: EnrollmentRequest) {
setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 5)
val viewModel = newFingerprintEnrollIntroViewModel(
@@ -268,7 +254,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(viewModel.isBiometricUnlockDisabledByAdmin).isEqualTo(false)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testSetHasScrolledToBottom() = runTest {
val viewModel = newFingerprintEnrollIntroViewModel(
@@ -284,7 +269,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(pageStatusList[pageStatusList.size-1].hasScrollToBottom()).isEqualTo(true)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnNextButtonClick_enrollNext() = runTest {
// Set latest status to FINGERPRINT_ENROLLABLE_OK
@@ -305,7 +289,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(actions[0]).isEqualTo(CONTINUE_ENROLL)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnNextButtonClick_doneAndFinish() = runTest {
// Set latest status to FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
@@ -334,7 +317,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(actionList[0]).isEqualTo(DONE_AND_FINISH)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testOnSkipOrCancelButtonClick() = runTest {
val viewModel = newFingerprintEnrollIntroViewModel(
@@ -351,7 +333,6 @@ class FingerprintEnrollIntroViewModelTest {
assertThat(actions[0]).isEqualTo(SKIP_OR_CANCEL)
}
@OptIn(ExperimentalCoroutinesApi::class)
private fun TestScope.listOfActionFlow(
viewModel: FingerprintEnrollIntroViewModel
): List<FingerprintEnrollIntroAction> =
@@ -361,7 +342,6 @@ class FingerprintEnrollIntroViewModelTest {
}
}
@OptIn(ExperimentalCoroutinesApi::class)
private fun TestScope.listOfPageStatusFlow(
viewModel: FingerprintEnrollIntroViewModel
): List<FingerprintEnrollIntroStatus> =

View File

@@ -30,7 +30,6 @@ import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwReq
import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository
import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestScope
@@ -226,7 +225,6 @@ class FingerprintEnrollmentViewModelTest {
assertThat(viewModel.isMaxEnrolledReached(uid)).isTrue()
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testSetResultFlow_defaultEmpty() = runTest {
val activityResults = listOfSetResultFlow()
@@ -236,7 +234,6 @@ class FingerprintEnrollmentViewModelTest {
assertThat(activityResults.size).isEqualTo(0)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckFinishActivityDuringOnPause_doNothingIfIsSuw() = runTest {
viewModel = FingerprintEnrollmentViewModel(
@@ -257,7 +254,6 @@ class FingerprintEnrollmentViewModelTest {
assertThat(activityResults.size).isEqualTo(0)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckFinishActivityDuringOnPause_doNothingIfIsWaitingActivity() = runTest {
val activityResults = listOfSetResultFlow()
@@ -273,7 +269,6 @@ class FingerprintEnrollmentViewModelTest {
assertThat(activityResults.size).isEqualTo(0)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckFinishActivityDuringOnPause_doNothingIfIsActivityFinishing() = runTest {
val activityResults = listOfSetResultFlow()
@@ -288,7 +283,6 @@ class FingerprintEnrollmentViewModelTest {
assertThat(activityResults.size).isEqualTo(0)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckFinishActivityDuringOnPause_doNothingIfIsChangingConfigurations() = runTest {
val activityResults = listOfSetResultFlow()
@@ -303,7 +297,6 @@ class FingerprintEnrollmentViewModelTest {
assertThat(activityResults.size).isEqualTo(0)
}
@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun testCheckFinishActivityDuringOnPause_defaultFinishSelf() = runTest {
val activityResults = listOfSetResultFlow()
@@ -320,7 +313,6 @@ class FingerprintEnrollmentViewModelTest {
assertThat(activityResults[0].data).isEqualTo(null)
}
@OptIn(ExperimentalCoroutinesApi::class)
private fun TestScope.listOfSetResultFlow(): List<ActivityResult> =
mutableListOf<ActivityResult>().also {
backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {