diff options
| author | Kalle Lindström <karl.lindstrom@mullvad.net> | 2024-09-23 13:28:00 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2024-09-24 14:54:08 +0200 |
| commit | fa5e858ade2d05aa8749ca3aff1b2e66f26bfcda (patch) | |
| tree | 125cf189c2620430994a90983b8b2491c1235e27 | |
| parent | 2b0bd13088a1417ac6510746051043bf81dfc8c7 (diff) | |
| download | mullvadvpn-fa5e858ade2d05aa8749ca3aff1b2e66f26bfcda.tar.xz mullvadvpn-fa5e858ade2d05aa8749ca3aff1b2e66f26bfcda.zip | |
Fix out of time use case virtual time tests
| -rw-r--r-- | android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/OutOfTimeUseCaseTest.kt | 29 |
1 files changed, 18 insertions, 11 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 ef7944a5a8..3e905d87f6 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 @@ -6,6 +6,8 @@ import io.mockk.mockk import io.mockk.unmockkAll 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.channels.Channel import kotlinx.coroutines.flow.MutableStateFlow @@ -154,12 +156,12 @@ class OutOfTimeUseCaseTest { assertEquals(false, awaitItem()) // After 50 seconds we should still not emitted out of time - advanceTimeBy(50_000) + advanceTimeBy(50.seconds) expectNoEvents() // After additional 50 seconds we should be out of time since account is now expired - advanceTimeBy(50_000) - assertEquals(true, awaitItem()) + advanceTimeBy(50.seconds) + assertEquals(true, expectMostRecentItem()) } } @@ -178,17 +180,18 @@ class OutOfTimeUseCaseTest { expiry.emit(initialAccountExpiry) assertEquals(false, awaitItem()) - advanceTimeBy(90_000) + advanceTimeBy(90.seconds) expectNoEvents() - // User fills up with more time 30 seconds before expiry + // User fills up with more time 10 seconds before expiry expiry.emit(updatedExpiry) advanceTimeBy(1.days) expectNoEvents() // Expect no more emissions while user has time. - advanceTimeBy(29.days) - assertEquals(true, awaitItem()) + advanceTimeBy(29.days + 2.minutes) + println(testScheduler.currentTime) + assertEquals(true, expectMostRecentItem()) expectNoEvents() } } @@ -209,8 +212,8 @@ class OutOfTimeUseCaseTest { assertEquals(false, awaitItem()) // After 100 seconds we expire - advanceTimeBy(100_000) - assertEquals(true, awaitItem()) + advanceTimeBy(100.seconds) + assertEquals(true, expectMostRecentItem()) expectNoEvents() // We then fill up our account and should no longer be out of time @@ -218,9 +221,13 @@ class OutOfTimeUseCaseTest { assertEquals(false, awaitItem()) expectNoEvents() + // Advance the time to before the updated expiry + advanceTimeBy(29.days + 59.minutes) + expectNoEvents() + // Advance the time to the updated expiry - advanceTimeBy(30.days) - assertEquals(true, awaitItem()) + advanceTimeBy(30.days + 2.minutes) + assertEquals(true, expectMostRecentItem()) expectNoEvents() } } |
