diff options
| author | Albin <albin@mullvad.net> | 2024-02-12 09:42:05 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-02-12 09:42:05 +0100 |
| commit | e48c0ab957c5d20ca067cadc32d67fa713bbcafb (patch) | |
| tree | 256b4b5d104fe6d7012824b95921c88aed0d7996 | |
| parent | f58f462936a1780d4824e53140f8163092067733 (diff) | |
| parent | d68057b58ccd6d933ae039bef661779bc0afc695 (diff) | |
| download | mullvadvpn-e48c0ab957c5d20ca067cadc32d67fa713bbcafb.tar.xz mullvadvpn-e48c0ab957c5d20ca067cadc32d67fa713bbcafb.zip | |
Merge branch 'unify-test-class-suffix-droid-678'
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt) | 2 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt) | 9 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/JUnitTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/JUnitTests.kt) | 2 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/KonsistTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/KonsistTests.kt) | 6 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt) | 20 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt) | 12 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt) | 6 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ValueClassTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ValueClassTests.kt) | 2 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt) | 8 | ||||
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTest.kt (renamed from android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt) | 8 |
10 files changed, 43 insertions, 32 deletions
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/ArchitectureTest.kt index 4c0eac135e..b6618713dd 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/ArchitectureTest.kt @@ -5,7 +5,7 @@ import com.lemonappdev.konsist.api.architecture.KoArchitectureCreator.assertArch import com.lemonappdev.konsist.api.architecture.Layer import org.junit.jupiter.api.Test -class ArchitectureTests { +class ArchitectureTest { @Test fun `ensure model layer depends on nothing`() = 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/GeneralTest.kt index a4049270ed..57c5d332b5 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/GeneralTest.kt @@ -2,14 +2,15 @@ package net.mullvad.mullvadvpn.test.arch import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.properties -import com.lemonappdev.konsist.api.verify.assert +import com.lemonappdev.konsist.api.verify.assertFalse import com.lemonappdev.konsist.api.verify.assertNot +import com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test -class GeneralTests { +class GeneralTest { @Test fun `ensure package name must match file path`() = - Konsist.scopeFromProject().packages.assert { it.hasMatchingPath } + Konsist.scopeFromProject().packages.assertTrue { it.hasMatchingPath } @Test fun `ensure no field should have 'm' prefix`() = @@ -20,5 +21,5 @@ class GeneralTests { @Test fun `ensure no empty files allowed`() = - Konsist.scopeFromProject().files.assertNot { it.text.isEmpty() } + Konsist.scopeFromProject().files.assertFalse { it.text.isEmpty() } } diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/JUnitTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/JUnitTest.kt index bce85d8f8a..e676b55d7d 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/JUnitTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/JUnitTest.kt @@ -4,7 +4,7 @@ import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.verify.assertEmpty import org.junit.jupiter.api.Test -class JUnitTests { +class JUnitTest { @Test fun `ensure only junit5 annotations are used for functions`() = diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/KonsistTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/KonsistTest.kt index a1994c4a83..c2be51bfe4 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/KonsistTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/KonsistTest.kt @@ -2,13 +2,13 @@ package net.mullvad.mullvadvpn.test.arch import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.withAnnotationOf -import com.lemonappdev.konsist.api.verify.assert +import com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test -class KonsistTests { +class KonsistTest { @Test fun `ensure konsist tests have 'ensure ' prefix`() = - Konsist.scopeFromModule("test/arch").functions().withAnnotationOf(Test::class).assert { + Konsist.scopeFromModule("test/arch").functions().withAnnotationOf(Test::class).assertTrue { it.hasNameStartingWith("ensure ") } } 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/ViewModelTest.kt index d80959af78..5dc9705512 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/ViewModelTest.kt @@ -6,27 +6,29 @@ import com.lemonappdev.konsist.api.ext.list.functions import com.lemonappdev.konsist.api.ext.list.modifierprovider.withPublicOrDefaultModifier import com.lemonappdev.konsist.api.ext.list.properties import com.lemonappdev.konsist.api.ext.list.withAllParentsOf -import com.lemonappdev.konsist.api.verify.assert -import com.lemonappdev.konsist.api.verify.assertNot +import com.lemonappdev.konsist.api.verify.assertFalse +import com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test -class ViewModelTests { +class ViewModelTest { @Test fun `ensure view models have view model suffix`() = - allViewModels().assert { it.name.endsWith("ViewModel") } + allViewModels().assertTrue { 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 `ensure public properties use permitted names`() = - allViewModels().properties(includeNested = false).withPublicOrDefaultModifier().assert { - property -> - property.name == "uiState" || property.name == "uiSideEffect" - } + allViewModels() + .properties(includeNested = false) + .withPublicOrDefaultModifier() + .assertTrue { property -> + property.name == "uiState" || property.name == "uiSideEffect" + } @Test fun `ensure public functions have no return type`() = - allViewModels().functions().withPublicOrDefaultModifier().assertNot { function -> + allViewModels().functions().withPublicOrDefaultModifier().assertFalse { function -> function.hasReturnType() } 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/ClassTest.kt index f3aa3a9938..cb2cd8f50b 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/ClassTest.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 com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test -class ClassTests { +class ClassTest { @Test fun `ensure companion object is last declaration in the class`() = - Konsist.scopeFromProject().classes(includeNested = true).assert { + Konsist.scopeFromProject().classes(includeNested = true).assertTrue { val companionObject = it.objects(includeNested = false).lastOrNull { obj -> obj.hasCompanionModifier } if (companionObject != null) { @@ -17,4 +17,10 @@ class ClassTests { true } } + + @Test + fun `ensure test classes have 'Test' suffix`() = + Konsist.scopeFromTest().classes(includeNested = false).assertTrue { + it.hasNameEndingWith("Test") + } } 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/DataClassTest.kt index 06ffaddcc3..e1162e11d3 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/DataClassTest.kt @@ -3,15 +3,15 @@ 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 com.lemonappdev.konsist.api.verify.assertFalse import org.junit.jupiter.api.Test -class DataClassTests { +class DataClassTest { @Test fun `ensure data classes only use immutable properties`() = Konsist.scopeFromProject() .classes(includeNested = true) .withDataModifier() .properties(includeNested = false, includeLocal = false) - .assertNot { it.hasVarModifier } + .assertFalse { it.hasVarModifier } } diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ValueClassTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ValueClassTest.kt index 9d085876fd..2b45d44816 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ValueClassTests.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ValueClassTest.kt @@ -5,7 +5,7 @@ import com.lemonappdev.konsist.api.ext.list.modifierprovider.withValueModifier import com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test -class ValueClassTests { +class ValueClassTest { @Test fun `ensure value classes property is named value`() { Konsist.scopeFromProject().classes(includeNested = true).withValueModifier().assertTrue { 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/ComposePreviewTest.kt index 1c2df4bdd7..67ae06ed2f 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/ComposePreviewTest.kt @@ -3,17 +3,17 @@ package net.mullvad.mullvadvpn.test.arch.compose import androidx.compose.ui.tooling.preview.Preview import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.withAllAnnotationsOf -import com.lemonappdev.konsist.api.verify.assert +import com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test -class ComposePreviewTests { +class ComposePreviewTest { @Test fun `ensure all preview functions are private`() = - allPreviewFunctions().assert { it.hasPrivateModifier } + allPreviewFunctions().assertTrue { it.hasPrivateModifier } @Test fun `ensure all preview functions are prefixed with 'Preview'`() = - allPreviewFunctions().assert { it.name.startsWith("Preview") } + allPreviewFunctions().assertTrue { it.name.startsWith("Preview") } private fun allPreviewFunctions() = 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/ComposeTest.kt index 2f7bb481fd..fc84d3d0aa 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/ComposeTest.kt @@ -3,13 +3,15 @@ package net.mullvad.mullvadvpn.test.arch.compose import androidx.compose.runtime.Composable import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.withAllAnnotationsOf -import com.lemonappdev.konsist.api.verify.assert +import com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test -class ComposeTests { +class ComposeTest { @Test fun `ensure all app composables are in the compose package`() = - allAppComposeFunctions().assert { it.resideInPackage("net.mullvad.mullvadvpn.compose..") } + allAppComposeFunctions().assertTrue { + it.resideInPackage("net.mullvad.mullvadvpn.compose..") + } private fun allAppComposeFunctions() = Konsist.scopeFromProduction("app").functions().withAllAnnotationsOf(Composable::class) |
