refactor: finished server refactoring

This commit is contained in:
jem 2022-01-18 20:19:04 +01:00
parent b06b9ab8a2
commit af8ab62604
7 changed files with 13 additions and 15 deletions

View file

@ -6,7 +6,7 @@ import kotlin.system.exitProcess
/**
* Provisions a k3s server, either locally or on a remote machine depending on the given arguments.
* Provisions a server, either locally or on a remote machine depending on the given arguments.
* Depending on the cli parameter "type" it will install the k3s server as standalone or as a container.
*
* Get help with option -h
@ -21,7 +21,7 @@ fun main(args: Array<String>) {
val prov = createProvInstance(cmd.target)
when (cmd.type()) {
CliK3sArgumentsParser.K3sType.K3S -> prov.provisionK3s()
CliK3sArgumentsParser.K3sType.K3D -> prov.installK3sAsContainers()
CliServerArgumentsParser.K3sType.K3S -> prov.provisionK3s()
CliServerArgumentsParser.K3sType.K3D -> prov.installK3sAsContainers()
}
}

View file

@ -4,7 +4,7 @@ import kotlinx.cli.ArgType
import kotlinx.cli.default
import org.domaindrivenarchitecture.provs.framework.core.cli.CliTargetParser
class CliK3sArgumentsParser(name: String) : CliTargetParser(name) {
class CliServerArgumentsParser(name: String) : CliTargetParser(name) {
enum class K3sType {
K3S, K3D

View file

@ -8,16 +8,16 @@ class ServerCliCommand(private val k3sType: String, val target: TargetCliCommand
return target.isValid() && hasValidK3sType()
}
private fun hasValidK3sType(): Boolean {
return CliK3sArgumentsParser.K3sType.values().map { it.name }.contains(k3sType.uppercase())
return CliServerArgumentsParser.K3sType.values().map { it.name }.contains(k3sType.uppercase())
}
fun type() = CliK3sArgumentsParser.K3sType.valueOf(k3sType.uppercase())
fun type() = CliServerArgumentsParser.K3sType.valueOf(k3sType.uppercase())
}
fun parseServerArguments(
programName: String = "java -jar provs.jar",
args: Array<String>
): ServerCliCommand {
val parser = CliK3sArgumentsParser(programName)
val parser = CliServerArgumentsParser(programName)
parser.parse(args)
return ServerCliCommand(

View file

@ -1,11 +1,9 @@
package org.domaindrivenarchitecture.provs.server.application
import org.domaindrivenarchitecture.provs.server.application.CliK3sArgumentsParser
import org.domaindrivenarchitecture.provs.server.application.parseServerArguments
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Assertions.*
internal class CliK3sCommandKtTest {
internal class CliServerCommandKtTest {
@Test
fun test_parseServerArguments_are_valid_for_k3s() {
@ -14,7 +12,7 @@ internal class CliK3sCommandKtTest {
// then
assertTrue(cmd.isValid())
assertEquals(CliK3sArgumentsParser.K3sType.K3S, cmd.type())
assertEquals(CliServerArgumentsParser.K3sType.K3S, cmd.type())
}
@Test
@ -24,7 +22,7 @@ internal class CliK3sCommandKtTest {
// then
assertFalse(cmd.isValid())
assertEquals(CliK3sArgumentsParser.K3sType.K3S, cmd.type())
assertEquals(CliServerArgumentsParser.K3sType.K3S, cmd.type())
}
@Test
@ -34,7 +32,7 @@ internal class CliK3sCommandKtTest {
// then
assertTrue(cmd.isValid())
assertEquals(CliK3sArgumentsParser.K3sType.K3S, cmd.type())
assertEquals(CliServerArgumentsParser.K3sType.K3S, cmd.type())
}
@Test
@ -44,6 +42,6 @@ internal class CliK3sCommandKtTest {
// then
assertTrue(cmd.isValid())
assertEquals(CliK3sArgumentsParser.K3sType.K3D, cmd.type())
assertEquals(CliServerArgumentsParser.K3sType.K3D, cmd.type())
}
}

View file

@ -4,7 +4,7 @@ import org.domaindrivenarchitecture.provs.server.application.main
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
internal class CliKtTest {
internal class CliServerKtTest {
@Test
@Disabled // run manually -- todo mock execution