diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2023-05-19 08:16:51 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-05-23 16:27:32 +0200 |
| commit | 6d8b81e305489bafed9e84a7c297e4f71ac3e9dc (patch) | |
| tree | 20ff409083afbee7e3b23c366d6094fd6f589358 /android/app/src/test | |
| parent | 3470c85de0a361ee340b510bc779318c5ac95860 (diff) | |
| download | mullvadvpn-6d8b81e305489bafed9e84a7c297e4f71ac3e9dc.tar.xz mullvadvpn-6d8b81e305489bafed9e84a7c297e4f71ac3e9dc.zip | |
Remove scopes in koin and use global scope everywhere
Diffstat (limited to 'android/app/src/test')
| -rw-r--r-- | android/app/src/test/kotlin/net/mullvad/mullvadvpn/di/UiModuleTest.kt | 45 | ||||
| -rw-r--r-- | android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt | 25 |
2 files changed, 18 insertions, 52 deletions
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/di/UiModuleTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/di/UiModuleTest.kt deleted file mode 100644 index 01b1807d42..0000000000 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/di/UiModuleTest.kt +++ /dev/null @@ -1,45 +0,0 @@ -package net.mullvad.mullvadvpn.di - -import android.os.Messenger -import io.mockk.mockk -import io.mockk.unmockkAll -import kotlin.test.assertEquals -import net.mullvad.mullvadvpn.ipc.Event -import net.mullvad.mullvadvpn.ipc.MessageDispatcher -import net.mullvad.mullvadvpn.ui.serviceconnection.SplitTunneling -import org.junit.After -import org.junit.Rule -import org.junit.Test -import org.koin.core.parameter.parametersOf -import org.koin.core.qualifier.named -import org.koin.core.scope.Scope -import org.koin.test.KoinTest -import org.koin.test.KoinTestRule - -class UiModuleTest : KoinTest { - - @get:Rule val koinTestRule = KoinTestRule.create { modules(uiModule) } - - @After - fun tearDown() { - unmockkAll() - } - - @Test - fun test_scope_linking() { - val appsScope: Scope = getKoin().createScope(APPS_SCOPE, named(APPS_SCOPE)) - val serviceConnectionScope = - getKoin().createScope(SERVICE_CONNECTION_SCOPE, named(SERVICE_CONNECTION_SCOPE)) - - appsScope.linkTo(serviceConnectionScope) - - val mockedMessenger = mockk<Messenger>() - val mockedEventMessageHandler = mockk<MessageDispatcher<Event>>(relaxed = true) - val serviceConnectionSplitTunneling = - serviceConnectionScope.get<SplitTunneling>( - parameters = { parametersOf(mockedMessenger, mockedEventMessageHandler) } - ) - - assertEquals(appsScope.get<SplitTunneling>(), serviceConnectionSplitTunneling) - } -} diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt index bc31165ebe..2b5a7f261c 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt @@ -14,11 +14,15 @@ import io.mockk.verifyAll import java.util.concurrent.TimeUnit import kotlin.test.assertEquals import kotlinx.coroutines.cancel +import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.runTest import net.mullvad.mullvadvpn.TestCoroutineRule import net.mullvad.mullvadvpn.applist.AppData import net.mullvad.mullvadvpn.applist.ApplicationsProvider import net.mullvad.mullvadvpn.compose.state.SplitTunnelingUiState +import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionContainer +import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionManager +import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionState import net.mullvad.mullvadvpn.ui.serviceconnection.SplitTunneling import org.junit.After import org.junit.Before @@ -32,6 +36,8 @@ class SplitTunnelingViewModelTest { @get:Rule val timeout = Timeout(3000L, TimeUnit.MILLISECONDS) private val mockedApplicationsProvider = mockk<ApplicationsProvider>() private val mockedSplitTunneling = mockk<SplitTunneling>() + private val mockedServiceConnectionManager = mockk<ServiceConnectionManager>() + private val mockedServiceConnectionContainer = mockk<ServiceConnectionContainer>() private lateinit var testSubject: SplitTunnelingViewModel @Before @@ -67,7 +73,7 @@ class SplitTunnelingViewModelTest { } initTestSubject(emptyList()) val expectedState = - SplitTunnelingUiState.Data( + SplitTunnelingUiState.ShowAppList( excludedApps = emptyList(), includedApps = emptyList(), showSystemApps = false @@ -88,7 +94,7 @@ class SplitTunnelingViewModelTest { initTestSubject(listOf(appExcluded, appNotExcluded)) val expectedState = - SplitTunnelingUiState.Data( + SplitTunnelingUiState.ShowAppList( excludedApps = listOf(appExcluded), includedApps = listOf(appNotExcluded), showSystemApps = false @@ -119,13 +125,13 @@ class SplitTunnelingViewModelTest { initTestSubject(listOf(app)) val expectedStateBeforeAction = - SplitTunnelingUiState.Data( + SplitTunnelingUiState.ShowAppList( excludedApps = listOf(app), includedApps = emptyList(), showSystemApps = false ) val expectedStateAfterAction = - SplitTunnelingUiState.Data( + SplitTunnelingUiState.ShowAppList( excludedApps = emptyList(), includedApps = listOf(app), showSystemApps = false @@ -160,14 +166,14 @@ class SplitTunnelingViewModelTest { initTestSubject(listOf(app)) val expectedStateBeforeAction = - SplitTunnelingUiState.Data( + SplitTunnelingUiState.ShowAppList( excludedApps = emptyList(), includedApps = listOf(app), showSystemApps = false ) val expectedStateAfterAction = - SplitTunnelingUiState.Data( + SplitTunnelingUiState.ShowAppList( excludedApps = listOf(app), includedApps = emptyList(), showSystemApps = false @@ -189,10 +195,15 @@ class SplitTunnelingViewModelTest { private fun initTestSubject(appList: List<AppData>) { every { mockedApplicationsProvider.getAppsList() } returns appList + every { mockedServiceConnectionManager.connectionState } returns + MutableStateFlow( + ServiceConnectionState.ConnectedReady(mockedServiceConnectionContainer) + ) + every { mockedServiceConnectionContainer.splitTunneling } returns mockedSplitTunneling testSubject = SplitTunnelingViewModel( mockedApplicationsProvider, - mockedSplitTunneling, + mockedServiceConnectionManager, testCoroutineRule.testDispatcher ) } |
