58 lines
1.6 KiB
Swift
58 lines
1.6 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import Clawdis
|
|
|
|
@Suite struct WebChatMainSessionKeyTests {
|
|
@Test func configGetSnapshotMainKeyFallsBackToMainWhenMissing() throws {
|
|
let json = """
|
|
{
|
|
"path": "/Users/pete/.clawdis/clawdis.json",
|
|
"exists": true,
|
|
"raw": null,
|
|
"parsed": {},
|
|
"valid": true,
|
|
"config": {},
|
|
"issues": []
|
|
}
|
|
"""
|
|
let key = try GatewayConnection.mainSessionKey(fromConfigGetData: Data(json.utf8))
|
|
#expect(key == "main")
|
|
}
|
|
|
|
@Test func configGetSnapshotMainKeyTrimsAndUsesValue() throws {
|
|
let json = """
|
|
{
|
|
"path": "/Users/pete/.clawdis/clawdis.json",
|
|
"exists": true,
|
|
"raw": null,
|
|
"parsed": {},
|
|
"valid": true,
|
|
"config": { "session": { "mainKey": " primary " } },
|
|
"issues": []
|
|
}
|
|
"""
|
|
let key = try GatewayConnection.mainSessionKey(fromConfigGetData: Data(json.utf8))
|
|
#expect(key == "primary")
|
|
}
|
|
|
|
@Test func configGetSnapshotMainKeyFallsBackWhenEmptyOrWhitespace() throws {
|
|
let json = """
|
|
{
|
|
"config": { "session": { "mainKey": " " } }
|
|
}
|
|
"""
|
|
let key = try GatewayConnection.mainSessionKey(fromConfigGetData: Data(json.utf8))
|
|
#expect(key == "main")
|
|
}
|
|
|
|
@Test func configGetSnapshotMainKeyFallsBackWhenConfigNull() throws {
|
|
let json = """
|
|
{
|
|
"config": null
|
|
}
|
|
"""
|
|
let key = try GatewayConnection.mainSessionKey(fromConfigGetData: Data(json.utf8))
|
|
#expect(key == "main")
|
|
}
|
|
}
|