summaryrefslogtreecommitdiffhomepage
path: root/android/test
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2024-08-23 10:27:49 +0200
committerAlbin <albin@mullvad.net>2024-08-23 10:27:49 +0200
commit97ee66d64d9e5ef9265eae3fe74464d1fc807dd4 (patch)
tree8506abc903055521c1110e0ec8cb428e1431c6ba /android/test
parent67486d316b94262cb2e478765f4234b5d12afcba (diff)
parent4c7a6fa7941519ea637345cf6521edd067a6aa3a (diff)
downloadmullvadvpn-97ee66d64d9e5ef9265eae3fe74464d1fc807dd4.tar.xz
mullvadvpn-97ee66d64d9e5ef9265eae3fe74464d1fc807dd4.zip
Merge branch 'ensure-all-potential-grpc-errors-are-wrapped-droid-1170'
Diffstat (limited to 'android/test')
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ManagementServiceTest.kt31
1 files changed, 31 insertions, 0 deletions
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ManagementServiceTest.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ManagementServiceTest.kt
new file mode 100644
index 0000000000..a649a3ac5d
--- /dev/null
+++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ManagementServiceTest.kt
@@ -0,0 +1,31 @@
+package net.mullvad.mullvadvpn.test.arch
+
+import com.lemonappdev.konsist.api.Konsist
+import com.lemonappdev.konsist.api.ext.list.modifierprovider.withPublicOrDefaultModifier
+import com.lemonappdev.konsist.api.verify.assertTrue
+import org.junit.jupiter.api.Test
+
+class ManagementServiceTest {
+
+ @Test
+ fun `ensure all public functions are returning Either`() {
+ managementServiceClass()
+ .functions()
+ .withPublicOrDefaultModifier()
+ .filter { excludedFunctions().contains(it.name).not() }
+ .assertTrue { it.returnType?.name?.startsWith(EITHER_CLASS_NAME) == true }
+ }
+
+ private fun managementServiceClass() =
+ Konsist.scopeFromProject().classes().first { it.name == MANAGEMENT_SERVICE_CLASS_NAME }
+
+ private fun excludedFunctions() = setOf(START, STOP, ENTER_IDLE)
+
+ companion object {
+ private const val MANAGEMENT_SERVICE_CLASS_NAME = "ManagementService"
+ private const val START = "start"
+ private const val STOP = "stop"
+ private const val ENTER_IDLE = "enterIdle"
+ private const val EITHER_CLASS_NAME = "Either"
+ }
+}