mirror of
https://github.com/clawdbot/clawdbot.git
synced 2026-01-31 19:37:45 +01:00
57 lines
1.7 KiB
Swift
57 lines
1.7 KiB
Swift
import Testing
|
|
@testable import OpenClaw
|
|
|
|
@Suite
|
|
@MainActor
|
|
struct ExecApprovalsGatewayPrompterTests {
|
|
@Test func sessionMatchPrefersActiveSession() {
|
|
let matches = ExecApprovalsGatewayPrompter._testShouldPresent(
|
|
mode: .remote,
|
|
activeSession: " main ",
|
|
requestSession: "main",
|
|
lastInputSeconds: nil)
|
|
#expect(matches)
|
|
|
|
let mismatched = ExecApprovalsGatewayPrompter._testShouldPresent(
|
|
mode: .remote,
|
|
activeSession: "other",
|
|
requestSession: "main",
|
|
lastInputSeconds: 0)
|
|
#expect(!mismatched)
|
|
}
|
|
|
|
@Test func sessionFallbackUsesRecentActivity() {
|
|
let recent = ExecApprovalsGatewayPrompter._testShouldPresent(
|
|
mode: .remote,
|
|
activeSession: nil,
|
|
requestSession: "main",
|
|
lastInputSeconds: 10,
|
|
thresholdSeconds: 120)
|
|
#expect(recent)
|
|
|
|
let stale = ExecApprovalsGatewayPrompter._testShouldPresent(
|
|
mode: .remote,
|
|
activeSession: nil,
|
|
requestSession: "main",
|
|
lastInputSeconds: 200,
|
|
thresholdSeconds: 120)
|
|
#expect(!stale)
|
|
}
|
|
|
|
@Test func defaultBehaviorMatchesMode() {
|
|
let local = ExecApprovalsGatewayPrompter._testShouldPresent(
|
|
mode: .local,
|
|
activeSession: nil,
|
|
requestSession: nil,
|
|
lastInputSeconds: 400)
|
|
#expect(local)
|
|
|
|
let remote = ExecApprovalsGatewayPrompter._testShouldPresent(
|
|
mode: .remote,
|
|
activeSession: nil,
|
|
requestSession: nil,
|
|
lastInputSeconds: 400)
|
|
#expect(!remote)
|
|
}
|
|
}
|