64 lines
2.0 KiB
Swift
64 lines
2.0 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import Clawdbot
|
|
|
|
@Suite struct GatewayEndpointStoreTests {
|
|
@Test func resolveGatewayTokenPrefersEnvAndFallsBackToLaunchd() {
|
|
let snapshot = LaunchAgentPlistSnapshot(
|
|
programArguments: [],
|
|
environment: ["CLAWDBOT_GATEWAY_TOKEN": "launchd-token"],
|
|
port: nil,
|
|
bind: nil,
|
|
token: "launchd-token",
|
|
password: nil)
|
|
|
|
let envToken = GatewayEndpointStore._testResolveGatewayToken(
|
|
isRemote: false,
|
|
root: [:],
|
|
env: ["CLAWDBOT_GATEWAY_TOKEN": "env-token"],
|
|
launchdSnapshot: snapshot)
|
|
#expect(envToken == "env-token")
|
|
|
|
let fallbackToken = GatewayEndpointStore._testResolveGatewayToken(
|
|
isRemote: false,
|
|
root: [:],
|
|
env: [:],
|
|
launchdSnapshot: snapshot)
|
|
#expect(fallbackToken == "launchd-token")
|
|
}
|
|
|
|
@Test func resolveGatewayTokenIgnoresLaunchdInRemoteMode() {
|
|
let snapshot = LaunchAgentPlistSnapshot(
|
|
programArguments: [],
|
|
environment: ["CLAWDBOT_GATEWAY_TOKEN": "launchd-token"],
|
|
port: nil,
|
|
bind: nil,
|
|
token: "launchd-token",
|
|
password: nil)
|
|
|
|
let token = GatewayEndpointStore._testResolveGatewayToken(
|
|
isRemote: true,
|
|
root: [:],
|
|
env: [:],
|
|
launchdSnapshot: snapshot)
|
|
#expect(token == nil)
|
|
}
|
|
|
|
@Test func resolveGatewayPasswordFallsBackToLaunchd() {
|
|
let snapshot = LaunchAgentPlistSnapshot(
|
|
programArguments: [],
|
|
environment: ["CLAWDBOT_GATEWAY_PASSWORD": "launchd-pass"],
|
|
port: nil,
|
|
bind: nil,
|
|
token: nil,
|
|
password: "launchd-pass")
|
|
|
|
let password = GatewayEndpointStore._testResolveGatewayPassword(
|
|
isRemote: false,
|
|
root: [:],
|
|
env: [:],
|
|
launchdSnapshot: snapshot)
|
|
#expect(password == "launchd-pass")
|
|
}
|
|
}
|