summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-07-31 15:18:10 +0200
committerAlbin <albin@mullvad.net>2024-08-23 09:44:47 +0200
commit094821c66afe2ad12c1ffa3a34e93f892b0a95b4 (patch)
tree964bae2eb20a8f6914537d1fa02c2f032a1a2646 /android
parent9122298a6f0ff6f613eb8786717aeb148f3bf7bc (diff)
downloadmullvadvpn-094821c66afe2ad12c1ffa3a34e93f892b0a95b4.tar.xz
mullvadvpn-094821c66afe2ad12c1ffa3a34e93f892b0a95b4.zip
Fix unit tests
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt24
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt6
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt4
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt6
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceRevokedViewModelTest.kt11
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt3
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModelTest.kt3
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt3
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt2
10 files changed, 41 insertions, 27 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
index 296437203e..325ee42b43 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
@@ -123,15 +123,19 @@ class ConnectViewModel(
}
fun onDisconnectClick() {
- viewModelScope.launch { connectionProxy.disconnect().onLeft {
- _uiSideEffect.send(UiSideEffect.ConnectError.Generic)
- } }
+ viewModelScope.launch {
+ connectionProxy.disconnect().onLeft {
+ _uiSideEffect.send(UiSideEffect.ConnectError.Generic)
+ }
+ }
}
fun onReconnectClick() {
- viewModelScope.launch { connectionProxy.reconnect().onLeft {
- _uiSideEffect.send(UiSideEffect.ConnectError.Generic)
- } }
+ viewModelScope.launch {
+ connectionProxy.reconnect().onLeft {
+ _uiSideEffect.send(UiSideEffect.ConnectError.Generic)
+ }
+ }
}
fun onConnectClick() {
@@ -160,9 +164,11 @@ class ConnectViewModel(
}
fun onCancelClick() {
- viewModelScope.launch { connectionProxy.disconnect().onLeft {
- _uiSideEffect.send(UiSideEffect.ConnectError.Generic)
- } }
+ viewModelScope.launch {
+ connectionProxy.disconnect().onLeft {
+ _uiSideEffect.send(UiSideEffect.ConnectError.Generic)
+ }
+ }
}
fun onManageAccountClick() {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt
index 887ee8084a..dfa4e6e3cc 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt
@@ -72,9 +72,9 @@ class OutOfTimeViewModel(
}
fun onDisconnectClick() {
- viewModelScope.launch { connectionProxy.disconnect().onLeft {
- _uiSideEffect.send(UiSideEffect.GenericError)
- } }
+ viewModelScope.launch {
+ connectionProxy.disconnect().onLeft { _uiSideEffect.send(UiSideEffect.GenericError) }
+ }
}
private fun verifyPurchases() {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
index 89593fb583..e532045ae2 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
@@ -78,9 +78,9 @@ class WelcomeViewModel(
}
fun onDisconnectClick() {
- viewModelScope.launch { connectionProxy.disconnect().onLeft {
- _uiSideEffect.send(UiSideEffect.GenericError)
- } }
+ viewModelScope.launch {
+ connectionProxy.disconnect().onLeft { _uiSideEffect.send(UiSideEffect.GenericError) }
+ }
}
private fun verifyPurchases() {
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt
index 706d8031e7..d239e01331 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt
@@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.viewmodel
import android.app.Activity
import app.cash.turbine.test
+import arrow.core.right
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every
@@ -93,6 +94,9 @@ class AccountViewModelTest {
@Test
fun `onLogoutClick should invoke logout on AccountRepository`() {
+ // Arrange
+ coEvery { mockAccountRepository.logout() } returns Unit.right()
+
// Act
viewModel.onLogoutClick()
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt
index e6803d4e08..50a16d1432 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModelTest.kt
@@ -234,7 +234,7 @@ class ConnectViewModelTest {
@Test
fun `onDisconnectClick should invoke disconnect on ConnectionProxy`() = runTest {
// Arrange
- coEvery { mockConnectionProxy.disconnect() } returns true
+ coEvery { mockConnectionProxy.disconnect() } returns true.right()
// Act
viewModel.onDisconnectClick()
@@ -246,7 +246,7 @@ class ConnectViewModelTest {
@Test
fun `onReconnectClick should invoke reconnect on ConnectionProxy`() = runTest {
// Arrange
- coEvery { mockConnectionProxy.reconnect() } returns true
+ coEvery { mockConnectionProxy.reconnect() } returns true.right()
// Act
viewModel.onReconnectClick()
@@ -270,7 +270,7 @@ class ConnectViewModelTest {
@Test
fun `onCancelClick should invoke disconnect on ConnectionProxy`() = runTest {
// Arrange
- coEvery { mockConnectionProxy.disconnect() } returns true
+ coEvery { mockConnectionProxy.disconnect() } returns true.right()
// Act
viewModel.onCancelClick()
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceRevokedViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceRevokedViewModelTest.kt
index b63f59b302..51ea31540c 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceRevokedViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceRevokedViewModelTest.kt
@@ -1,14 +1,13 @@
package net.mullvad.mullvadvpn.viewmodel
import app.cash.turbine.test
+import arrow.core.right
import io.mockk.MockKAnnotations
-import io.mockk.Runs
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.coVerifyOrder
import io.mockk.every
import io.mockk.impl.annotations.MockK
-import io.mockk.just
import io.mockk.mockk
import io.mockk.unmockkAll
import kotlinx.coroutines.flow.MutableSharedFlow
@@ -70,8 +69,8 @@ class DeviceRevokedViewModelTest {
@Test
fun `onGoToLoginClicked should invoke logout on AccountRepository`() {
// Arrange
- coEvery { mockConnectionProxy.disconnect() } returns true
- coEvery { mockedAccountRepository.logout() } just Runs
+ coEvery { mockConnectionProxy.disconnect() } returns true.right()
+ coEvery { mockedAccountRepository.logout() } returns Unit.right()
// Act
viewModel.onGoToLoginClicked()
@@ -83,8 +82,8 @@ class DeviceRevokedViewModelTest {
@Test
fun `onGoToLoginClicked should invoke disconnect before logout when connected`() {
// Arrange
- coEvery { mockConnectionProxy.disconnect() } returns true
- coEvery { mockedAccountRepository.logout() } just Runs
+ coEvery { mockConnectionProxy.disconnect() } returns true.right()
+ coEvery { mockedAccountRepository.logout() } returns Unit.right()
// Act
viewModel.onGoToLoginClicked()
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 33eb3bdc3c..a9905e9506 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
@@ -208,6 +208,9 @@ class LoginViewModelTest {
@Test
fun `clearAccountHistory should invoke clearAccountHistory on AccountRepository`() = runTest {
+ // Arrange
+ coEvery { mockedAccountRepository.clearAccountHistory() } returns Unit.right()
+
// Act, Assert
loginViewModel.clearAccountHistory()
coVerify { mockedAccountRepository.clearAccountHistory() }
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModelTest.kt
index bd26effe82..886cb58fda 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModelTest.kt
@@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.viewmodel
import androidx.lifecycle.viewModelScope
import app.cash.turbine.test
+import arrow.core.right
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every
@@ -146,7 +147,7 @@ class OutOfTimeViewModelTest {
@Test
fun `onDisconnectClick should invoke disconnect on ConnectionProxy`() = runTest {
// Arrange
- coEvery { mockConnectionProxy.disconnect() } returns true
+ coEvery { mockConnectionProxy.disconnect() } returns true.right()
// Act
viewModel.onDisconnectClick()
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt
index 1c7a7d0e3b..9ef1455bb7 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt
@@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.viewmodel
import androidx.lifecycle.viewModelScope
import app.cash.turbine.test
+import arrow.core.right
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every
@@ -217,7 +218,7 @@ class WelcomeViewModelTest {
@Test
fun `when on disconnect click is called should call connection proxy disconnect`() = runTest {
// Arrange
- coEvery { mockConnectionProxy.disconnect() } returns true
+ coEvery { mockConnectionProxy.disconnect() } returns true.right()
// Act
viewModel.onDisconnectClick()
diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
index 1ea2e8a251..b377adff38 100644
--- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
+++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
@@ -78,8 +78,8 @@ import net.mullvad.mullvadvpn.lib.model.GetDeviceListError
import net.mullvad.mullvadvpn.lib.model.GetDeviceStateError
import net.mullvad.mullvadvpn.lib.model.GetVersionInfoError
import net.mullvad.mullvadvpn.lib.model.LoginAccountError
-import net.mullvad.mullvadvpn.lib.model.NameAlreadyExists
import net.mullvad.mullvadvpn.lib.model.LogoutAccountError
+import net.mullvad.mullvadvpn.lib.model.NameAlreadyExists
import net.mullvad.mullvadvpn.lib.model.NewAccessMethodSetting
import net.mullvad.mullvadvpn.lib.model.ObfuscationSettings
import net.mullvad.mullvadvpn.lib.model.Ownership as ModelOwnership