diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2024-07-24 16:32:45 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-08-23 09:44:47 +0200 |
| commit | e686a20f219343d113476ae994d20dba861ef694 (patch) | |
| tree | 1e069130f1de37e1bda5270edba04370c98c6574 /android | |
| parent | ca9457348155930527f22209df7a237efa5cf125 (diff) | |
| download | mullvadvpn-e686a20f219343d113476ae994d20dba861ef694.tar.xz mullvadvpn-e686a20f219343d113476ae994d20dba861ef694.zip | |
Add konsist tests for management service to avoid missing Either
Diffstat (limited to 'android')
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ManagementServiceTest.kt | 31 |
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" + } +} |
