diff options
| author | David Göransson <david.goransson90@gmail.com> | 2023-10-02 15:38:58 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson90@gmail.com> | 2023-10-02 16:06:03 +0200 |
| commit | 3f6a24dc2cf5437d90754fe086c9e3ba40e4f53d (patch) | |
| tree | 13ca47f969ae5cae07dcee087850e926c960d2db /android | |
| parent | 23517aa5dda6ba8360a6fa9ce408aa63ae5751ce (diff) | |
| download | mullvadvpn-3f6a24dc2cf5437d90754fe086c9e3ba40e4f53d.tar.xz mullvadvpn-3f6a24dc2cf5437d90754fe086c9e3ba40e4f53d.zip | |
Align test syntax
Diffstat (limited to 'android')
13 files changed, 27 insertions, 43 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt index 4099e52480..a03de806b4 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt @@ -38,7 +38,7 @@ class AccountViewModel( } .stateIn(viewModelScope, SharingStarted.WhileSubscribed(), AccountUiState.default()) - @Suppress("konsist.ensurePublicPropertiesUsePermittedNames") + @Suppress("konsist.ensure public properties use permitted names") val enterTransitionEndAction = _enterTransitionEndAction.asSharedFlow() fun onManageAccountClick() { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt index c554bd4daa..98648e0015 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt @@ -37,10 +37,11 @@ class DeviceListViewModel( private val _loadingDevices = MutableStateFlow<List<DeviceId>>(emptyList()) private val _toastMessages = MutableSharedFlow<String>(extraBufferCapacity = 1) - @Suppress("konsist.ensurePublicPropertiesUsePermittedNames") + @Suppress("konsist.ensure public properties use permitted names") val toastMessages = _toastMessages.asSharedFlow() - @Suppress("konsist.ensurePublicPropertiesUsePermittedNames") var accountToken: String? = null + @Suppress("konsist.ensure public properties use permitted names") + var accountToken: String? = null private var cachedDeviceList: List<Device>? = null val uiState = diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt index 2ae361c964..2507e9fb19 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt @@ -66,9 +66,9 @@ class SelectLocationViewModel(private val serviceConnectionManager: ServiceConne SelectLocationUiState.Loading ) - @Suppress("konsist.ensurePublicPropertiesUsePermittedNames") + @Suppress("konsist.ensure public properties use permitted names") val uiCloseAction = _closeAction.asSharedFlow() - @Suppress("konsist.ensurePublicPropertiesUsePermittedNames") + @Suppress("konsist.ensure public properties use permitted names") val enterTransitionEndAction = _enterTransitionEndAction.asSharedFlow() fun selectRelay(relayItem: RelayItem?) { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SettingsViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SettingsViewModel.kt index 89adbe20be..fb357dfe2a 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SettingsViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SettingsViewModel.kt @@ -45,7 +45,7 @@ class SettingsViewModel( SettingsUiState(appVersion = "", isLoggedIn = false, isUpdateAvailable = false) ) - @Suppress("konsist.ensurePublicPropertiesUsePermittedNames") + @Suppress("konsist.ensure public properties use permitted names") val enterTransitionEndAction = _enterTransitionEndAction.asSharedFlow() fun onTransitionAnimationEnd() { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt index 2c8e30f2b4..9c25fe824f 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt @@ -51,7 +51,7 @@ class VpnSettingsViewModel( ) : ViewModel() { private val _toastMessages = MutableSharedFlow<String>(extraBufferCapacity = 1) - @Suppress("konsist.ensurePublicPropertiesUsePermittedNames") + @Suppress("konsist.ensure public properties use permitted names") val toastMessages = _toastMessages.asSharedFlow() private val dialogState = diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt index ecb2fa18bb..2a7e1e205e 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt @@ -8,11 +8,10 @@ import org.junit.Test class ArchitectureTests { @Test - fun `domain layer depends on nothing`() { + fun `ensure model layer depends on nothing`() = Konsist.scopeFromProduction().assertArchitecture { - val domain = Layer("Domain", "net.mullvad.mullvadvpn.model..") + val model = Layer("Model", "net.mullvad.mullvadvpn.model..") - domain.dependsOnNothing() + model.dependsOnNothing() } - } } diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt index a40f93c5f5..60842537c3 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt @@ -8,20 +8,17 @@ import org.junit.Test class GeneralTests { @Test - fun `package name must match file path`() { + fun `ensure package name must match file path`() = Konsist.scopeFromProject().packages.assert { it.hasMatchingPath } - } @Test - fun `no field should have 'm' prefix`() { + fun `ensure no field should have 'm' prefix`() = Konsist.scopeFromProject().classes().properties().assertNot { val secondCharacterIsUppercase = it.name.getOrNull(1)?.isUpperCase() ?: false it.name.startsWith('m') && secondCharacterIsUppercase } - } @Test - fun `no empty files allowed`() { + fun `ensure no empty files allowed`() = Konsist.scopeFromProject().files.assertNot { it.text.isEmpty() } - } } diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt index 8347c799d7..a474ec3eb6 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt @@ -12,26 +12,23 @@ import org.junit.Test class ViewModelTests { @Test - fun ensureViewModelsHaveViewModelSuffix() { + fun ensureViewModelsHaveViewModelSuffix() = allViewModels().assert { it.name.endsWith("ViewModel") } - } // The purpose of this check is to both keep the naming consistent and also to avoid exposing // properties that shouldn't be exposed. @Test - fun ensurePublicPropertiesUsePermittedNames() { + fun `ensure public properties use permitted names`() = allViewModels().properties(includeNested = false).withPublicOrDefaultModifier().assert { property -> property.name == "uiState" || property.name == "uiSideEffect" } - } @Test - fun ensurePublicFunctionsHaveNoReturnType() { + fun `ensure public functions have no return type`() = allViewModels().functions().withPublicOrDefaultModifier().assertNot { function -> function.hasReturnType() } - } private fun allViewModels() = Konsist.scopeFromProject().classes().withAllParentsOf(ViewModel::class) diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt index cc737250f6..918139bf24 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt @@ -1,13 +1,13 @@ package net.mullvad.mullvadvpn.test.arch.classes +import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.verify.assert -import net.mullvad.mullvadvpn.test.arch.extensions.projectScope import org.junit.Test class ClassTests { @Test - fun `companion object is last declaration in the class`() { - projectScope().classes(includeNested = true).assert { + fun `ensure companion object is last declaration in the class`() = + Konsist.scopeFromProject().classes(includeNested = true).assert { val companionObject = it.objects(includeNested = false).lastOrNull { obj -> obj.hasCompanionModifier } if (companionObject != null) { @@ -17,5 +17,4 @@ class ClassTests { true } } - } } diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt index 3fd5eff979..cc2f7262b1 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt @@ -1,18 +1,17 @@ package net.mullvad.mullvadvpn.test.arch.classes +import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.modifierprovider.withDataModifier import com.lemonappdev.konsist.api.ext.list.properties import com.lemonappdev.konsist.api.verify.assertNot -import net.mullvad.mullvadvpn.test.arch.extensions.projectScope import org.junit.Test class DataClasses { @Test - fun `data classes use only immutable declarations`() { - projectScope() + fun `ensure data classes only use immutable properties`() = + Konsist.scopeFromProject() .classes(includeNested = true) .withDataModifier() .properties(includeNested = false, includeLocal = false) .assertNot { it.hasVarModifier } - } } diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt index 64b221d0c0..5f8b1fef80 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt @@ -8,15 +8,13 @@ import org.junit.Test class ComposePreviewTests { @Test - fun `all preview functions are private`() { + fun `ensure all preview functions are private`() = allPreviewFunctions().assert { it.hasPrivateModifier } - } @Test - fun `all preview functions are prefixed with Preview`() { + fun `ensure all preview functions are prefixed with 'Preview'`() = allPreviewFunctions().assert { it.name.startsWith("Preview") } - } private fun allPreviewFunctions() = - Konsist.scopeFromProduction().functions().withAllAnnotationsOf(Preview::class) + Konsist.scopeFromProduction("app").functions().withAllAnnotationsOf(Preview::class) } diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt index 970174d269..025f10d11f 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt @@ -8,9 +8,8 @@ import org.junit.Test class ComposeTests { @Test - fun `all app composables are in the compose packages`() { + fun `ensure all app composables are in the compose package`() = allAppComposeFunctions().assert { it.resideInPackage("net.mullvad.mullvadvpn.compose..") } - } private fun allAppComposeFunctions() = Konsist.scopeFromProduction("app").functions().withAllAnnotationsOf(Composable::class) diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/extensions/KonsistExtensions.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/extensions/KonsistExtensions.kt deleted file mode 100644 index b228575b46..0000000000 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/extensions/KonsistExtensions.kt +++ /dev/null @@ -1,5 +0,0 @@ -package net.mullvad.mullvadvpn.test.arch.extensions - -import com.lemonappdev.konsist.api.Konsist - -fun projectScope() = Konsist.scopeFromProject() |
