diff --git a/src/test/kotlin/HakureiTest.kt b/src/test/kotlin/HakureiTest.kt index 242de35..3c068f6 100644 --- a/src/test/kotlin/HakureiTest.kt +++ b/src/test/kotlin/HakureiTest.kt @@ -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(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(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(encoded) - assertEquals(CHROMIUM_TEMPLATE, decoded) + assertEquals(TEMPLATE_DATA, decoded) } @Test fun absolutePathTest() { @@ -188,6 +192,6 @@ class HakureiTest { } @Test fun extraPermsTest() { - assertIs(CHROMIUM_TEMPLATE.extraPerms.toString()) + assertIs(TEMPLATE_DATA.extraPerms.toString()) } } \ No newline at end of file