Spaces:
Running
Running
| import Testing | |
| @testable import OpenClaw | |
| (.serialized) | |
| struct ConfigStoreTests { | |
| func loadUsesRemoteInRemoteMode() async { | |
| var localHit = false | |
| var remoteHit = false | |
| await ConfigStore._testSetOverrides(.init( | |
| isRemoteMode: { true }, | |
| loadLocal: { localHit = true; return ["local": true] }, | |
| loadRemote: { remoteHit = true; return ["remote": true] })) | |
| let result = await ConfigStore.load() | |
| await ConfigStore._testClearOverrides() | |
| #expect(remoteHit) | |
| #expect(!localHit) | |
| #expect(result["remote"] as? Bool == true) | |
| } | |
| func loadUsesLocalInLocalMode() async { | |
| var localHit = false | |
| var remoteHit = false | |
| await ConfigStore._testSetOverrides(.init( | |
| isRemoteMode: { false }, | |
| loadLocal: { localHit = true; return ["local": true] }, | |
| loadRemote: { remoteHit = true; return ["remote": true] })) | |
| let result = await ConfigStore.load() | |
| await ConfigStore._testClearOverrides() | |
| #expect(localHit) | |
| #expect(!remoteHit) | |
| #expect(result["local"] as? Bool == true) | |
| } | |
| func saveRoutesToRemoteInRemoteMode() async throws { | |
| var localHit = false | |
| var remoteHit = false | |
| await ConfigStore._testSetOverrides(.init( | |
| isRemoteMode: { true }, | |
| saveLocal: { _ in localHit = true }, | |
| saveRemote: { _ in remoteHit = true })) | |
| try await ConfigStore.save(["remote": true]) | |
| await ConfigStore._testClearOverrides() | |
| #expect(remoteHit) | |
| #expect(!localHit) | |
| } | |
| func saveRoutesToLocalInLocalMode() async throws { | |
| var localHit = false | |
| var remoteHit = false | |
| await ConfigStore._testSetOverrides(.init( | |
| isRemoteMode: { false }, | |
| saveLocal: { _ in localHit = true }, | |
| saveRemote: { _ in remoteHit = true })) | |
| try await ConfigStore.save(["local": true]) | |
| await ConfigStore._testClearOverrides() | |
| #expect(localHit) | |
| #expect(!remoteHit) | |
| } | |
| } | |