summaryrefslogtreecommitdiffhomepage
path: root/android/app/src
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-08-05 09:41:36 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-08-05 09:41:36 +0200
commite92eefb8619a22525ad86c0a4cf22849f23c11bf (patch)
treec89da809bba33eb3f7ff9857d880bb33572b1414 /android/app/src
parentbeed5dc2c6e161d431bd455ff42e262899224bd4 (diff)
downloadmullvadvpn-e92eefb8619a22525ad86c0a4cf22849f23c11bf.tar.xz
mullvadvpn-e92eefb8619a22525ad86c0a4cf22849f23c11bf.zip
Fix test flakiness by adding missing TestCoroutineRule
Diffstat (limited to 'android/app/src')
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/OutOfTimeUseCaseTest.kt9
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt3
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt3
3 files changed, 6 insertions, 9 deletions
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/OutOfTimeUseCaseTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/OutOfTimeUseCaseTest.kt
index 0fd1563169..e494aa41b7 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/OutOfTimeUseCaseTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/OutOfTimeUseCaseTest.kt
@@ -9,7 +9,6 @@ import kotlin.test.assertEquals
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds
-import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.MutableStateFlow
@@ -17,10 +16,9 @@ import kotlinx.coroutines.flow.consumeAsFlow
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.advanceTimeBy
-import kotlinx.coroutines.test.resetMain
import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
import net.mullvad.mullvadvpn.data.mock
+import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule
import net.mullvad.mullvadvpn.lib.model.AccountData
import net.mullvad.mullvadvpn.lib.model.AuthFailedError
import net.mullvad.mullvadvpn.lib.model.ErrorState
@@ -31,8 +29,10 @@ import net.mullvad.mullvadvpn.lib.shared.ConnectionProxy
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.extension.ExtendWith
@ExperimentalCoroutinesApi
+@ExtendWith(TestCoroutineRule::class)
class OutOfTimeUseCaseTest {
private val mockAccountRepository: AccountRepository = mockk()
private val mockConnectionProxy: ConnectionProxy = mockk()
@@ -52,15 +52,12 @@ class OutOfTimeUseCaseTest {
every { mockAccountRepository.accountData } returns expiry
every { mockConnectionProxy.tunnelState } returns events.consumeAsFlow()
- Dispatchers.setMain(dispatcher)
-
outOfTimeUseCase =
OutOfTimeUseCase(mockConnectionProxy, mockAccountRepository, scope.backgroundScope)
}
@AfterEach
fun teardown() {
- Dispatchers.resetMain()
unmockkAll()
}
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
index f9497bd159..b042f44b9c 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
@@ -16,6 +16,7 @@ import kotlinx.coroutines.test.runTest
import net.mullvad.mullvadvpn.compose.state.AddTimeUiState
import net.mullvad.mullvadvpn.compose.state.PaymentState
import net.mullvad.mullvadvpn.compose.state.PurchaseState
+import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule
import net.mullvad.mullvadvpn.lib.common.test.assertLists
import net.mullvad.mullvadvpn.lib.model.TunnelState
import net.mullvad.mullvadvpn.lib.payment.model.PaymentAvailability
@@ -30,7 +31,9 @@ import net.mullvad.mullvadvpn.usecase.PaymentUseCase
import net.mullvad.mullvadvpn.util.Lc
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.extension.ExtendWith
+@ExtendWith(TestCoroutineRule::class)
class AddTimeViewModelTest {
private val mockPaymentUseCase: PaymentUseCase = mockk()
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt
index 09a9ff8bdb..2c246d8eff 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt
@@ -13,12 +13,10 @@ import io.mockk.impl.annotations.MockK
import io.mockk.mockk
import java.time.ZonedDateTime
import kotlin.test.assertIs
-import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
import net.mullvad.mullvadvpn.compose.state.LoginError
import net.mullvad.mullvadvpn.compose.state.LoginState.Idle
import net.mullvad.mullvadvpn.compose.state.LoginState.Loading
@@ -48,7 +46,6 @@ class LoginViewModelTest {
@BeforeEach
fun setup() {
- Dispatchers.setMain(UnconfinedTestDispatcher())
MockKAnnotations.init(this, relaxUnitFun = true)
accountHistoryFlow = MutableStateFlow(null)
every { connectivityUseCase() } returns true