test(config): 为 BotConfig 补充最少参数的反序列化测试项.

补充最少参数的反序列化测试项, 以确保在 Json 属性缺失的情况下依然能正确反序列化出正确的对象.
This commit is contained in:
LamGC 2022-06-26 02:51:33 +08:00
parent c7c24fa454
commit 61b611b22e
Signed by: LamGC
GPG Key ID: 6C5AE2A913941E1D

View File

@ -102,7 +102,6 @@ internal class BotConfigTest {
assertEquals(minimumExpectConfig.baseApiUrl, json.get("baseApiUrl").asString) assertEquals(minimumExpectConfig.baseApiUrl, json.get("baseApiUrl").asString)
} }
// 测试 BotConfig 的 json 反序列化
@Test @Test
fun `json deserialize`() { fun `json deserialize`() {
val expectExtensionArtifact = DefaultArtifact("org.example.test:test-extension:1.0.0") val expectExtensionArtifact = DefaultArtifact("org.example.test:test-extension:1.0.0")
@ -149,6 +148,34 @@ internal class BotConfigTest {
assertEquals("http://localhost:8080", actualConfig.baseApiUrl) assertEquals("http://localhost:8080", actualConfig.baseApiUrl)
} }
@Test
fun `json deserialize - minimum parameters`() {
@Language("JSON5") val minimumLooksGoodJson = """
{
"account": {
"name": "TestBot",
"token": "123456789:AAHErDroUTznQsOd_oZPJ6cQEj4Z5mGHO10",
"creatorId": 123456789
}
}
""".trimIndent()
val expectDefaultConfig = BotConfig(account = BotAccount("Test", "Test", 0))
val actualMinimumConfig = gson.fromJson(minimumLooksGoodJson, BotConfig::class.java)
assertNotNull(actualMinimumConfig)
assertEquals("TestBot", actualMinimumConfig.account.name)
assertEquals("123456789:AAHErDroUTznQsOd_oZPJ6cQEj4Z5mGHO10", actualMinimumConfig.account.token)
assertEquals(123456789, actualMinimumConfig.account.creatorId)
assertEquals(expectDefaultConfig.enabled, actualMinimumConfig.enabled)
assertEquals(expectDefaultConfig.disableBuiltInAbility, actualMinimumConfig.disableBuiltInAbility)
assertEquals(expectDefaultConfig.autoUpdateCommandList, actualMinimumConfig.autoUpdateCommandList)
assertEquals(expectDefaultConfig.proxy, actualMinimumConfig.proxy)
assertEquals(expectDefaultConfig.baseApiUrl, actualMinimumConfig.baseApiUrl)
assertTrue(expectDefaultConfig.extensions.containsAll(actualMinimumConfig.extensions))
assertTrue(actualMinimumConfig.extensions.containsAll(expectDefaultConfig.extensions))
}
} }
internal class ProxyConfigTest { internal class ProxyConfigTest {