Skip to content

Commit c4fc3ee

Browse files
authored
chore: move tests to kotlin (#148)
* chore: move tests to kotlin * chore: move tests to kotlin * style: detekt * chore: fine to test standalone too * chore: echo error * chore: echo error * chore: exit
1 parent b194fb7 commit c4fc3ee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+378
-360
lines changed

build.gradle.kts

+7-3
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,13 @@ configurations.runtimeClasspath {
139139
tasks.getByName<Test>("test") {
140140
failFast = true
141141
useJUnitPlatform()
142-
if (System.getProperty("test.profile") != "integration") {
143-
exclude("integration/**")
142+
143+
val isIntegrationProfile = System.getProperty("test.profile") == "integration"
144+
val runningSpecificTests = gradle.startParameter.taskNames.contains("--tests")
145+
146+
//exclude integration tests unless requested
147+
if (!isIntegrationProfile && !runningSpecificTests) {
148+
exclude("integration/**", "**/*IntegrationTest.class", "**/*ITTest.class")
144149
}
145150

146151
testLogging {
@@ -160,7 +165,6 @@ tasks {
160165
}
161166

162167
dockerCompose {
163-
dockerComposeWorkingDirectory.set(File("./e2e"))
164168
removeVolumes.set(true)
165169
waitForTcpPorts.set(false)
166170
}

detekt.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# https://github.com/detekt/detekt/blob/master/detekt-core/src/main/resources/default-detekt-config.yml
33

44
build:
5-
maxIssues: 21 #todo: zero out
5+
maxIssues: 8 #todo: zero out
66

77
formatting:
88
Indentation:
File renamed without changes.

src/main/kotlin/spp/cli/Main.kt

-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ import spp.cli.commands.developer.view.SubscribeView
4444

4545
object Main {
4646

47-
var standalone = true
4847
lateinit var args: Array<String>
4948

5049
@JvmStatic

src/main/kotlin/spp/cli/commands/Version.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ import com.github.ajalt.clikt.core.CliktCommand
2020
import java.util.*
2121

2222
class Version : CliktCommand(help = "Display version information") {
23-
private val BUILD = ResourceBundle.getBundle("build")
23+
companion object {
24+
private val BUILD = ResourceBundle.getBundle("build")
25+
}
2426

2527
override fun run() {
2628
echo("spp-cli: " + BUILD.getString("build_version"))

src/main/kotlin/spp/cli/commands/admin/Reset.kt

+5-9
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,21 @@ package spp.cli.commands.admin
1818

1919
import com.github.ajalt.clikt.core.CliktCommand
2020
import kotlinx.coroutines.runBlocking
21-
import spp.cli.Main
2221
import spp.cli.PlatformCLI
2322
import spp.cli.PlatformCLI.apolloClient
24-
import spp.cli.PlatformCLI.echoError
2523
import spp.cli.protocol.system.ResetMutation
26-
import kotlin.system.exitProcess
24+
import spp.cli.util.ExitManager.exitProcess
2725

2826
class Reset : CliktCommand() {
2927

3028
override fun run() = runBlocking {
3129
val response = try {
3230
apolloClient.mutation(ResetMutation()).execute()
3331
} catch (e: Exception) {
34-
echoError(e)
35-
if (Main.standalone) exitProcess(-1) else return@runBlocking
32+
exitProcess(-1, e)
3633
}
3734
if (response.hasErrors()) {
38-
echo(response.errors?.get(0)?.message, err = true)
39-
if (Main.standalone) exitProcess(-1) else return@runBlocking
35+
exitProcess(response.errors!!)
4036
}
4137

4238
if (PlatformCLI.verbose) {
@@ -49,9 +45,9 @@ class Reset : CliktCommand() {
4945
echo(response.data!!.reset)
5046
}
5147
if (response.data!!.reset) {
52-
if (Main.standalone) exitProcess(0)
48+
exitProcess(0)
5349
} else {
54-
if (Main.standalone) exitProcess(-1) else return@runBlocking
50+
exitProcess(-1, response.errors)
5551
}
5652
}
5753
}

src/main/kotlin/spp/cli/commands/admin/access/AddAccessPermission.kt

+4-8
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,12 @@ import com.github.ajalt.clikt.parameters.options.multiple
2525
import com.github.ajalt.clikt.parameters.options.option
2626
import com.github.ajalt.clikt.parameters.types.enum
2727
import kotlinx.coroutines.runBlocking
28-
import spp.cli.Main
2928
import spp.cli.PlatformCLI
30-
import spp.cli.PlatformCLI.echoError
3129
import spp.cli.protocol.access.AddAccessPermissionMutation
3230
import spp.cli.protocol.access.adapter.AddAccessPermissionMutation_ResponseAdapter.AddAccessPermission
31+
import spp.cli.util.ExitManager.exitProcess
3332
import spp.cli.util.JsonCleaner
3433
import spp.protocol.platform.auth.AccessType
35-
import kotlin.system.exitProcess
3634

3735
class AddAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
3836

@@ -48,12 +46,10 @@ class AddAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
4846
)
4947
).execute()
5048
} catch (e: Exception) {
51-
echoError(e)
52-
if (Main.standalone) exitProcess(-1) else return@runBlocking
49+
exitProcess(-1, e)
5350
}
5451
if (response.hasErrors()) {
55-
echo(response.errors?.get(0)?.message, err = true)
56-
if (Main.standalone) exitProcess(-1) else return@runBlocking
52+
exitProcess(response.errors!!)
5753
}
5854

5955
if (PlatformCLI.verbose) {
@@ -68,6 +64,6 @@ class AddAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
6864
echo("Location patterns: ${response.data!!.addAccessPermission.locationPatterns!!}")
6965
echo("Type: ${response.data!!.addAccessPermission.type}")
7066
}
71-
if (Main.standalone) exitProcess(0)
67+
exitProcess(0)
7268
}
7369
}

src/main/kotlin/spp/cli/commands/admin/access/AddRoleAccessPermission.kt

+5-9
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@ package spp.cli.commands.admin.access
1919
import com.github.ajalt.clikt.core.CliktCommand
2020
import com.github.ajalt.clikt.parameters.arguments.argument
2121
import kotlinx.coroutines.runBlocking
22-
import spp.cli.Main
2322
import spp.cli.PlatformCLI
24-
import spp.cli.PlatformCLI.echoError
2523
import spp.cli.protocol.access.AddRoleAccessPermissionMutation
26-
import kotlin.system.exitProcess
24+
import spp.cli.util.ExitManager.exitProcess
2725

2826
class AddRoleAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
2927

@@ -36,12 +34,10 @@ class AddRoleAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
3634
AddRoleAccessPermissionMutation(role, id)
3735
).execute()
3836
} catch (e: Exception) {
39-
echoError(e)
40-
if (Main.standalone) exitProcess(-1) else return@runBlocking
37+
exitProcess(-1, e)
4138
}
4239
if (response.hasErrors()) {
43-
echo(response.errors?.get(0)?.message, err = true)
44-
if (Main.standalone) exitProcess(-1) else return@runBlocking
40+
exitProcess(response.errors!!)
4541
}
4642

4743
if (PlatformCLI.verbose) {
@@ -54,9 +50,9 @@ class AddRoleAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
5450
echo(response.data!!.addRoleAccessPermission)
5551
}
5652
if (response.data!!.addRoleAccessPermission) {
57-
if (Main.standalone) exitProcess(0)
53+
exitProcess(0)
5854
} else {
59-
if (Main.standalone) exitProcess(-1) else return@runBlocking
55+
exitProcess(-1, response.errors)
6056
}
6157
}
6258
}

src/main/kotlin/spp/cli/commands/admin/access/GetAccessPermissions.kt

+4-8
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,22 @@ import com.apollographql.apollo3.api.CustomScalarAdapters
2020
import com.apollographql.apollo3.api.json.MapJsonWriter
2121
import com.github.ajalt.clikt.core.CliktCommand
2222
import kotlinx.coroutines.runBlocking
23-
import spp.cli.Main
2423
import spp.cli.PlatformCLI
25-
import spp.cli.PlatformCLI.echoError
2624
import spp.cli.protocol.access.GetAccessPermissionsQuery
2725
import spp.cli.protocol.access.adapter.GetAccessPermissionsQuery_ResponseAdapter.GetAccessPermission
26+
import spp.cli.util.ExitManager.exitProcess
2827
import spp.cli.util.JsonCleaner
29-
import kotlin.system.exitProcess
3028

3129
class GetAccessPermissions : CliktCommand() {
3230

3331
override fun run() = runBlocking {
3432
val response = try {
3533
PlatformCLI.apolloClient.query(GetAccessPermissionsQuery()).execute()
3634
} catch (e: Exception) {
37-
echoError(e)
38-
if (Main.standalone) exitProcess(-1) else return@runBlocking
35+
exitProcess(-1, e)
3936
}
4037
if (response.hasErrors()) {
41-
echo(response.errors?.get(0)?.message, err = true)
42-
if (Main.standalone) exitProcess(-1) else return@runBlocking
38+
exitProcess(response.errors!!)
4339
}
4440

4541
echo(JsonCleaner.cleanJson(MapJsonWriter().let {
@@ -52,6 +48,6 @@ class GetAccessPermissions : CliktCommand() {
5248
it.endArray()
5349
(it.root() as ArrayList<*>)
5450
}).encodePrettily())
55-
if (Main.standalone) exitProcess(0)
51+
exitProcess(0)
5652
}
5753
}

src/main/kotlin/spp/cli/commands/admin/access/GetDeveloperAccessPermissions.kt

+4-8
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@ import com.apollographql.apollo3.api.json.MapJsonWriter
2121
import com.github.ajalt.clikt.core.CliktCommand
2222
import com.github.ajalt.clikt.parameters.arguments.argument
2323
import kotlinx.coroutines.runBlocking
24-
import spp.cli.Main
2524
import spp.cli.PlatformCLI
26-
import spp.cli.PlatformCLI.echoError
2725
import spp.cli.protocol.access.GetDeveloperAccessPermissionsQuery
2826
import spp.cli.protocol.access.adapter.GetDeveloperAccessPermissionsQuery_ResponseAdapter.GetDeveloperAccessPermission
27+
import spp.cli.util.ExitManager.exitProcess
2928
import spp.cli.util.JsonCleaner
30-
import kotlin.system.exitProcess
3129

3230
class GetDeveloperAccessPermissions : CliktCommand(printHelpOnEmptyArgs = true) {
3331

@@ -37,12 +35,10 @@ class GetDeveloperAccessPermissions : CliktCommand(printHelpOnEmptyArgs = true)
3735
val response = try {
3836
PlatformCLI.apolloClient.query(GetDeveloperAccessPermissionsQuery(id)).execute()
3937
} catch (e: Exception) {
40-
echoError(e)
41-
if (Main.standalone) exitProcess(-1) else return@runBlocking
38+
exitProcess(-1, e)
4239
}
4340
if (response.hasErrors()) {
44-
echo(response.errors?.get(0)?.message, err = true)
45-
if (Main.standalone) exitProcess(-1) else return@runBlocking
41+
exitProcess(response.errors!!)
4642
}
4743

4844
echo(JsonCleaner.cleanJson(MapJsonWriter().let {
@@ -55,6 +51,6 @@ class GetDeveloperAccessPermissions : CliktCommand(printHelpOnEmptyArgs = true)
5551
it.endArray()
5652
(it.root() as ArrayList<*>)
5753
}).encodePrettily())
58-
if (Main.standalone) exitProcess(0)
54+
exitProcess(0)
5955
}
6056
}

src/main/kotlin/spp/cli/commands/admin/access/GetRoleAccessPermissions.kt

+4-8
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@ import com.apollographql.apollo3.api.json.MapJsonWriter
2121
import com.github.ajalt.clikt.core.CliktCommand
2222
import com.github.ajalt.clikt.parameters.arguments.argument
2323
import kotlinx.coroutines.runBlocking
24-
import spp.cli.Main
2524
import spp.cli.PlatformCLI
26-
import spp.cli.PlatformCLI.echoError
2725
import spp.cli.protocol.access.GetRoleAccessPermissionsQuery
2826
import spp.cli.protocol.access.adapter.GetRoleAccessPermissionsQuery_ResponseAdapter.GetRoleAccessPermission
27+
import spp.cli.util.ExitManager.exitProcess
2928
import spp.cli.util.JsonCleaner
30-
import kotlin.system.exitProcess
3129

3230
class GetRoleAccessPermissions : CliktCommand(printHelpOnEmptyArgs = true) {
3331

@@ -37,12 +35,10 @@ class GetRoleAccessPermissions : CliktCommand(printHelpOnEmptyArgs = true) {
3735
val response = try {
3836
PlatformCLI.apolloClient.query(GetRoleAccessPermissionsQuery(role)).execute()
3937
} catch (e: Exception) {
40-
echoError(e)
41-
if (Main.standalone) exitProcess(-1) else return@runBlocking
38+
exitProcess(-1, e)
4239
}
4340
if (response.hasErrors()) {
44-
echo(response.errors?.get(0)?.message, err = true)
45-
if (Main.standalone) exitProcess(-1) else return@runBlocking
41+
exitProcess(response.errors!!)
4642
}
4743

4844
echo(JsonCleaner.cleanJson(MapJsonWriter().let {
@@ -55,6 +51,6 @@ class GetRoleAccessPermissions : CliktCommand(printHelpOnEmptyArgs = true) {
5551
it.endArray()
5652
(it.root() as ArrayList<*>)
5753
}).encodePrettily())
58-
if (Main.standalone) exitProcess(0)
54+
exitProcess(0)
5955
}
6056
}

src/main/kotlin/spp/cli/commands/admin/access/RemoveAccessPermission.kt

+5-9
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@ package spp.cli.commands.admin.access
1919
import com.github.ajalt.clikt.core.CliktCommand
2020
import com.github.ajalt.clikt.parameters.arguments.argument
2121
import kotlinx.coroutines.runBlocking
22-
import spp.cli.Main
2322
import spp.cli.PlatformCLI
24-
import spp.cli.PlatformCLI.echoError
2523
import spp.cli.protocol.access.RemoveAccessPermissionMutation
26-
import kotlin.system.exitProcess
24+
import spp.cli.util.ExitManager.exitProcess
2725

2826
class RemoveAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
2927

@@ -35,12 +33,10 @@ class RemoveAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
3533
RemoveAccessPermissionMutation(id)
3634
).execute()
3735
} catch (e: Exception) {
38-
echoError(e)
39-
if (Main.standalone) exitProcess(-1) else return@runBlocking
36+
exitProcess(-1, e)
4037
}
4138
if (response.hasErrors()) {
42-
echo(response.errors?.get(0)?.message, err = true)
43-
if (Main.standalone) exitProcess(-1) else return@runBlocking
39+
exitProcess(response.errors!!)
4440
}
4541

4642
if (PlatformCLI.verbose) {
@@ -53,9 +49,9 @@ class RemoveAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
5349
echo(response.data!!.removeAccessPermission)
5450
}
5551
if (response.data!!.removeAccessPermission) {
56-
if (Main.standalone) exitProcess(0)
52+
exitProcess(0)
5753
} else {
58-
if (Main.standalone) exitProcess(-1) else return@runBlocking
54+
exitProcess(-1, response.errors)
5955
}
6056
}
6157
}

src/main/kotlin/spp/cli/commands/admin/access/RemoveRoleAccessPermission.kt

+5-9
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@ package spp.cli.commands.admin.access
1919
import com.github.ajalt.clikt.core.CliktCommand
2020
import com.github.ajalt.clikt.parameters.arguments.argument
2121
import kotlinx.coroutines.runBlocking
22-
import spp.cli.Main
2322
import spp.cli.PlatformCLI
24-
import spp.cli.PlatformCLI.echoError
2523
import spp.cli.protocol.access.RemoveRoleAccessPermissionMutation
26-
import kotlin.system.exitProcess
24+
import spp.cli.util.ExitManager.exitProcess
2725

2826
class RemoveRoleAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
2927

@@ -36,12 +34,10 @@ class RemoveRoleAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
3634
RemoveRoleAccessPermissionMutation(role, id)
3735
).execute()
3836
} catch (e: Exception) {
39-
echoError(e)
40-
if (Main.standalone) exitProcess(-1) else return@runBlocking
37+
exitProcess(-1, e)
4138
}
4239
if (response.hasErrors()) {
43-
echo(response.errors?.get(0)?.message, err = true)
44-
if (Main.standalone) exitProcess(-1) else return@runBlocking
40+
exitProcess(response.errors!!)
4541
}
4642

4743
if (PlatformCLI.verbose) {
@@ -54,9 +50,9 @@ class RemoveRoleAccessPermission : CliktCommand(printHelpOnEmptyArgs = true) {
5450
echo(response.data!!.removeRoleAccessPermission)
5551
}
5652
if (response.data!!.removeRoleAccessPermission) {
57-
if (Main.standalone) exitProcess(0)
53+
exitProcess(0)
5854
} else {
59-
if (Main.standalone) exitProcess(-1) else return@runBlocking
55+
exitProcess(-1, response.errors)
6056
}
6157
}
6258
}

0 commit comments

Comments
 (0)