diff options
| author | David Göransson <david.goransson@mullvad.net> | 2024-05-29 17:18:29 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2024-05-29 17:18:29 +0200 |
| commit | ad90145a5d86d8c1e6e70f2238f11edf5e50f8d8 (patch) | |
| tree | 9d085bc81caed9409e3a4360490c06c2da4fbba8 /android/lib/shared/src/test | |
| parent | 8e14a8d4287af66a57a98db79d3ac320c2dad4a1 (diff) | |
| parent | 767b97eda756f4ec4e67fb5fa2ae664277291e8f (diff) | |
| download | mullvadvpn-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.kt | 54 |
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() + } +} |
