summaryrefslogtreecommitdiffhomepage
path: root/android/lib/shared/src/test
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-05-29 17:18:29 +0200
committerDavid Göransson <david.goransson@mullvad.net>2024-05-29 17:18:29 +0200
commitad90145a5d86d8c1e6e70f2238f11edf5e50f8d8 (patch)
tree9d085bc81caed9409e3a4360490c06c2da4fbba8 /android/lib/shared/src/test
parent8e14a8d4287af66a57a98db79d3ac320c2dad4a1 (diff)
parent767b97eda756f4ec4e67fb5fa2ae664277291e8f (diff)
downloadmullvadvpn-ad90145a5d86d8c1e6e70f2238f11edf5e50f8d8.tar.xz
mullvadvpn-ad90145a5d86d8c1e6e70f2238f11edf5e50f8d8.zip
Merge branch 'android-grpc'
Diffstat (limited to 'android/lib/shared/src/test')
-rw-r--r--android/lib/shared/src/test/kotlin/net/mullvad/mullvadvpn/lib/shared/ConnectionProxyTest.kt54
1 files changed, 54 insertions, 0 deletions
diff --git a/android/lib/shared/src/test/kotlin/net/mullvad/mullvadvpn/lib/shared/ConnectionProxyTest.kt b/android/lib/shared/src/test/kotlin/net/mullvad/mullvadvpn/lib/shared/ConnectionProxyTest.kt
new file mode 100644
index 0000000000..74ab4f6b64
--- /dev/null
+++ b/android/lib/shared/src/test/kotlin/net/mullvad/mullvadvpn/lib/shared/ConnectionProxyTest.kt
@@ -0,0 +1,54 @@
+package net.mullvad.mullvadvpn.lib.shared
+
+import io.mockk.coVerify
+import io.mockk.every
+import io.mockk.mockk
+import io.mockk.unmockkAll
+import kotlinx.coroutines.test.runTest
+import net.mullvad.mullvadvpn.lib.daemon.grpc.ManagementService
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Test
+
+class ConnectionProxyTest {
+
+ private val mockManagementService: ManagementService = mockk(relaxed = true)
+ private val mockVpnPermissionRepository: VpnPermissionRepository = mockk()
+
+ private val connectionProxy: ConnectionProxy =
+ ConnectionProxy(
+ managementService = mockManagementService,
+ vpnPermissionRepository = mockVpnPermissionRepository
+ )
+
+ @Test
+ fun `connect with vpn permission allowed should call managementService connect`() = runTest {
+ every { mockVpnPermissionRepository.hasVpnPermission() } returns true
+ connectionProxy.connect()
+ coVerify(exactly = 1) { mockManagementService.connect() }
+ }
+
+ @Test
+ fun `connect with vpn permission not allowed should not call managementService connect`() =
+ runTest {
+ every { mockVpnPermissionRepository.hasVpnPermission() } returns false
+ connectionProxy.connect()
+ coVerify(exactly = 0) { mockManagementService.connect() }
+ }
+
+ @Test
+ fun `disconnect should call managementService disconnect`() = runTest {
+ connectionProxy.disconnect()
+ coVerify(exactly = 1) { mockManagementService.disconnect() }
+ }
+
+ @Test
+ fun `reconnect should call managementService reconnect`() = runTest {
+ connectionProxy.reconnect()
+ coVerify(exactly = 1) { mockManagementService.reconnect() }
+ }
+
+ @AfterEach
+ fun tearDown() {
+ unmockkAll()
+ }
+}