This commit is contained in:
mae 2025-09-28 21:01:15 -05:00
parent d1ccb1c762
commit 0d8b0eaecd
Signed by: maemachinebroke
GPG Key ID: B54591A4805E9CC8

View File

@ -1,20 +1,15 @@
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream
import java.io.File
import kotlin.test.Test
import kotlin.test.assertEquals
import moe.rosa.planterette.hakurei.*
import org.junit.jupiter.api.assertDoesNotThrow
import org.junit.jupiter.api.assertThrows
import kotlin.test.assertFails
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertIs
class HakureiTest {
companion object {
val CHROMIUM_TEMPLATE = HakureiConfig(
val TEMPLATE_DATA = HakureiConfig(
id = "org.chromium.Chromium",
path = AbsolutePath("/run/current-system/sw/bin/chromium"),
args = listOf(
@ -159,22 +154,31 @@ class HakureiTest {
)
)
)
val format = Json { prettyPrint = true }
val TEMPLATE_JSON = ProcessBuilder("hakurei", "template")
.start()
.inputStream
.readAllBytes()
.toString(Charsets.UTF_8)
val format = Json {
prettyPrint = true
ignoreUnknownKeys = true
}
}
@OptIn(ExperimentalSerializationApi::class)
@Test
fun deserializeTest() {
println(System.getProperty("user.dir"))
val want = format.decodeFromStream<HakureiConfig>(File("/home/mae/Documents/Projects/Rosa/planterette/src/test/resources/hakurei-chromium.json").inputStream())
assertEquals(CHROMIUM_TEMPLATE, want)
println(TEMPLATE_JSON)
val want = format.decodeFromString<HakureiConfig>(TEMPLATE_JSON)
assertEquals(TEMPLATE_DATA, want)
}
@OptIn(ExperimentalSerializationApi::class)
@Test
fun serializeTest() {
val encoded = format.encodeToString(CHROMIUM_TEMPLATE)
val encoded = format.encodeToString(TEMPLATE_DATA)
val decoded = format.decodeFromString<HakureiConfig>(encoded)
assertEquals(CHROMIUM_TEMPLATE, decoded)
assertEquals(TEMPLATE_DATA, decoded)
}
@Test
fun absolutePathTest() {
@ -188,6 +192,6 @@ class HakureiTest {
}
@Test
fun extraPermsTest() {
assertIs<String>(CHROMIUM_TEMPLATE.extraPerms.toString())
assertIs<String>(TEMPLATE_DATA.extraPerms.toString())
}
}