diff options
| author | David Göransson <david.goransson@mullvad.net> | 2024-09-24 14:54:18 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2024-09-24 14:54:18 +0200 |
| commit | 1fc8ebd81cd7d677097fc1492b7da9341e41f081 (patch) | |
| tree | 125cf189c2620430994a90983b8b2491c1235e27 /android | |
| parent | 2b0bd13088a1417ac6510746051043bf81dfc8c7 (diff) | |
| parent | fa5e858ade2d05aa8749ca3aff1b2e66f26bfcda (diff) | |
| download | mullvadvpn-1fc8ebd81cd7d677097fc1492b7da9341e41f081.tar.xz mullvadvpn-1fc8ebd81cd7d677097fc1492b7da9341e41f081.zip | |
Merge branch 'fix-outoftimeusecasetest-virtual-time-assertions-droid-1372'
Diffstat (limited to 'android')
| -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() } } |
