File size: 847 Bytes
b8370f5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import Foundation
import Testing
@testable import OpenClawKit
struct BridgeInvokeMetadataTests {
@Test func `outer invoke metadata survives the native bridge`() throws {
let raw = #"{"id":"invoke","command":"system.worker.start","nodeId":"node","paramsJSON":"{\"sessionKey\":\"untrusted\"}","sessionKey":"agent:main:owner","timeoutMs":42000,"idempotencyKey":"attempt","type":"invoke"}"#
let request = try JSONDecoder().decode(BridgeInvokeRequest.self, from: Data(raw.utf8))
let encoded = try JSONEncoder().encode(request)
let actual = try #require(JSONSerialization.jsonObject(with: encoded) as? [String: Any])
#expect(actual["sessionKey"] as? String == "agent:main:owner")
#expect(actual["timeoutMs"] as? Int == 42000)
#expect(actual["idempotencyKey"] as? String == "attempt")
}
}
|