Files
openclaw/apps/macos/Tests/OpenClawIPCTests/ConfigStoreTests.swift

69 lines
2.1 KiB
Swift
Raw Normal View History

2026-01-01 20:29:53 +01:00
import Testing
2026-01-30 03:15:10 +01:00
@testable import OpenClaw
2026-01-01 20:29:53 +01:00
@Suite(.serialized)
@MainActor
struct ConfigStoreTests {
@Test func loadUsesRemoteInRemoteMode() async {
var localHit = false
var remoteHit = false
await ConfigStore._testSetOverrides(.init(
isRemoteMode: { true },
loadLocal: { localHit = true; return ["local": true] },
2026-01-08 02:36:29 +00:00
loadRemote: { remoteHit = true; return ["remote": true] }))
2026-01-01 20:29:53 +01:00
let result = await ConfigStore.load()
await ConfigStore._testClearOverrides()
#expect(remoteHit)
#expect(!localHit)
#expect(result["remote"] as? Bool == true)
}
@Test func loadUsesLocalInLocalMode() async {
var localHit = false
var remoteHit = false
await ConfigStore._testSetOverrides(.init(
isRemoteMode: { false },
loadLocal: { localHit = true; return ["local": true] },
2026-01-08 02:36:29 +00:00
loadRemote: { remoteHit = true; return ["remote": true] }))
2026-01-01 20:29:53 +01:00
let result = await ConfigStore.load()
await ConfigStore._testClearOverrides()
#expect(localHit)
#expect(!remoteHit)
#expect(result["local"] as? Bool == true)
}
@Test func saveRoutesToRemoteInRemoteMode() async throws {
var localHit = false
var remoteHit = false
await ConfigStore._testSetOverrides(.init(
isRemoteMode: { true },
saveLocal: { _ in localHit = true },
2026-01-08 02:36:29 +00:00
saveRemote: { _ in remoteHit = true }))
2026-01-01 20:29:53 +01:00
try await ConfigStore.save(["remote": true])
await ConfigStore._testClearOverrides()
#expect(remoteHit)
#expect(!localHit)
}
@Test func saveRoutesToLocalInLocalMode() async throws {
var localHit = false
var remoteHit = false
await ConfigStore._testSetOverrides(.init(
isRemoteMode: { false },
saveLocal: { _ in localHit = true },
2026-01-08 02:36:29 +00:00
saveRemote: { _ in remoteHit = true }))
2026-01-01 20:29:53 +01:00
try await ConfigStore.save(["local": true])
await ConfigStore._testClearOverrides()
#expect(localHit)
#expect(!remoteHit)
}
}