summaryrefslogtreecommitdiffhomepage
path: root/android/app
diff options
context:
space:
mode:
authorKalle Lindström <karl.lindstrom@mullvad.net>2024-12-10 11:08:37 +0100
committerAlbin <albin@mullvad.net>2024-12-10 17:05:39 +0100
commit51ec369fa1c4a22ed4ee48cfab33417b388de273 (patch)
tree6779586f86b0a7ca58bed8c67c1876acaa0eaad8 /android/app
parentd90f4a2097b4beb49eeb87ee5befd40454c8974e (diff)
downloadmullvadvpn-51ec369fa1c4a22ed4ee48cfab33417b388de273.tar.xz
mullvadvpn-51ec369fa1c4a22ed4ee48cfab33417b388de273.zip
Attempt to fix flaky tests
Diffstat (limited to 'android/app')
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/OutOfTimeUseCaseTest.kt104
1 files changed, 53 insertions, 51 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 0612555412..e108fe447e 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
@@ -146,7 +146,7 @@ class OutOfTimeUseCaseTest {
@Test
fun `account that expires without new expiry event should emit true`() =
- runTest(dispatcher) {
+ scope.runTest {
// Arrange
val expiredAccountExpiry =
AccountData(mockk(relaxed = true), DateTime.now().plusSeconds(100))
@@ -169,67 +169,69 @@ class OutOfTimeUseCaseTest {
}
@Test
- fun `account that is about to expire but is refilled should emit false`() = runTest {
- // Arrange
- val initialAccountExpiry =
- AccountData(mockk(relaxed = true), DateTime.now().plusSeconds(100))
- val updatedExpiry =
- AccountData(mockk(relaxed = true), initialAccountExpiry.expiryDate.plusDays(30))
+ fun `account that is about to expire but is refilled should emit false`() =
+ scope.runTest {
+ // Arrange
+ val initialAccountExpiry =
+ AccountData(mockk(relaxed = true), DateTime.now().plusSeconds(100))
+ val updatedExpiry =
+ AccountData(mockk(relaxed = true), initialAccountExpiry.expiryDate.plusDays(30))
- // Act, Assert
- outOfTimeUseCase.isOutOfTime.test {
- // Initial event
- assertEquals(null, awaitItem())
+ // Act, Assert
+ outOfTimeUseCase.isOutOfTime.test {
+ // Initial event
+ assertEquals(null, awaitItem())
- expiry.emit(initialAccountExpiry)
- assertEquals(false, awaitItem())
- advanceTimeBy(90.seconds)
- expectNoEvents()
+ expiry.emit(initialAccountExpiry)
+ assertEquals(false, awaitItem())
+ advanceTimeBy(90.seconds)
+ expectNoEvents()
- // User fills up with more time 10 seconds before expiry.
- expiry.emit(updatedExpiry)
- advanceTimeBy(29.days)
- expectNoEvents()
+ // User fills up with more time 10 seconds before expiry.
+ expiry.emit(updatedExpiry)
+ advanceTimeBy(29.days)
+ expectNoEvents()
- advanceTimeBy(2.days)
- assertEquals(true, expectMostRecentItem())
- expectNoEvents()
+ advanceTimeBy(2.days)
+ assertEquals(true, expectMostRecentItem())
+ expectNoEvents()
+ }
}
- }
@Test
- fun `expired account that is refilled should emit false`() = runTest {
- // Arrange
- val initialAccountExpiry =
- AccountData(mockk(relaxed = true), DateTime.now().plusSeconds(100))
- val updatedExpiry =
- AccountData(mockk(relaxed = true), initialAccountExpiry.expiryDate.plusDays(30))
- // Act, Assert
- outOfTimeUseCase.isOutOfTime.test {
- // Initial event
- assertEquals(null, awaitItem())
+ fun `expired account that is refilled should emit false`() =
+ scope.runTest {
+ // Arrange
+ val initialAccountExpiry =
+ AccountData(mockk(relaxed = true), DateTime.now().plusSeconds(100))
+ val updatedExpiry =
+ AccountData(mockk(relaxed = true), initialAccountExpiry.expiryDate.plusDays(30))
+ // Act, Assert
+ outOfTimeUseCase.isOutOfTime.test {
+ // Initial event
+ assertEquals(null, awaitItem())
- expiry.emit(initialAccountExpiry)
- assertEquals(false, awaitItem())
+ expiry.emit(initialAccountExpiry)
+ assertEquals(false, awaitItem())
- // After 100 seconds we expire
- advanceTimeBy(100.seconds)
- assertEquals(true, expectMostRecentItem())
- expectNoEvents()
+ // After 100 seconds we expire
+ advanceTimeBy(100.seconds)
+ assertEquals(true, expectMostRecentItem())
+ expectNoEvents()
- // We then fill up our account and should no longer be out of time
- expiry.emit(updatedExpiry)
- assertEquals(false, awaitItem())
- expectNoEvents()
+ // We then fill up our account and should no longer be out of time
+ expiry.emit(updatedExpiry)
+ assertEquals(false, awaitItem())
+ expectNoEvents()
- // Advance the time to before the updated expiry
- advanceTimeBy(29.days + 59.minutes)
- 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 + 2.minutes)
- assertEquals(true, expectMostRecentItem())
- expectNoEvents()
+ // Advance the time to the updated expiry
+ advanceTimeBy(30.days + 2.minutes)
+ assertEquals(true, expectMostRecentItem())
+ expectNoEvents()
+ }
}
- }
}