mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-13 11:00:50 +00:00
31 lines
1.1 KiB
Swift
31 lines
1.1 KiB
Swift
import Testing
|
|
@testable import OpenClawKit
|
|
|
|
@Suite("DeviceAuthPayload")
|
|
struct DeviceAuthPayloadTests {
|
|
@Test("builds canonical v3 payload vector")
|
|
func buildsCanonicalV3PayloadVector() {
|
|
let payload = GatewayDeviceAuthPayload.buildV3(
|
|
deviceId: "dev-1",
|
|
clientId: "openclaw-macos",
|
|
clientMode: "ui",
|
|
role: "operator",
|
|
scopes: ["operator.admin", "operator.read"],
|
|
signedAtMs: 1_700_000_000_000,
|
|
token: "tok-123",
|
|
nonce: "nonce-abc",
|
|
platform: " IOS ",
|
|
deviceFamily: " iPhone ")
|
|
#expect(
|
|
payload
|
|
== "v3|dev-1|openclaw-macos|ui|operator|operator.admin,operator.read|1700000000000|tok-123|nonce-abc|ios|iphone")
|
|
}
|
|
|
|
@Test("normalizes metadata with ASCII-only lowercase")
|
|
func normalizesMetadataWithAsciiLowercase() {
|
|
#expect(GatewayDeviceAuthPayload.normalizeMetadataField(" İOS ") == "İos")
|
|
#expect(GatewayDeviceAuthPayload.normalizeMetadataField(" MAC ") == "mac")
|
|
#expect(GatewayDeviceAuthPayload.normalizeMetadataField(nil) == "")
|
|
}
|
|
}
|