diff options
| author | Kalle Lindström <karl.lindstrom@mullvad.net> | 2024-12-10 11:08:37 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-12-10 17:05:39 +0100 |
| commit | 51ec369fa1c4a22ed4ee48cfab33417b388de273 (patch) | |
| tree | 6779586f86b0a7ca58bed8c67c1876acaa0eaad8 /android/app | |
| parent | d90f4a2097b4beb49eeb87ee5befd40454c8974e (diff) | |
| download | mullvadvpn-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.kt | 104 |
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() + } } - } } |
