orca/native/computer-use-macos/Tests/OrcaComputerUseMacOSTests/AgentSessionOwnershipTests....

51 lines
1.9 KiB
Swift

import OrcaComputerUseMacOSCore
import XCTest
final class AgentSessionOwnershipTests: XCTestCase {
func testUnclaimedDisconnectDoesNotTerminateAgent() {
var ownership = AgentSessionOwnership()
XCTAssertFalse(ownership.disconnect(12))
}
func testUnauthenticatedConnectionCannotClaimOrRetainAgent() {
var ownership = AgentSessionOwnership()
XCTAssertEqual(ownership.registerConnection(12, authenticated: false), .rejected)
XCTAssertFalse(ownership.disconnect(12))
}
func testLastAuthenticatedDisconnectTerminatesAgent() {
var ownership = AgentSessionOwnership()
XCTAssertEqual(ownership.registerConnection(12, authenticated: true), .claimed)
XCTAssertTrue(ownership.disconnect(12))
}
func testAgentWaitsForEveryAuthenticatedConnectionToClose() {
var ownership = AgentSessionOwnership()
XCTAssertEqual(ownership.registerConnection(12, authenticated: true), .claimed)
XCTAssertEqual(ownership.registerConnection(13, authenticated: true), .joined)
XCTAssertFalse(ownership.disconnect(12))
XCTAssertTrue(ownership.disconnect(13))
}
func testDuplicateRegistrationDoesNotRetainAgent() {
var ownership = AgentSessionOwnership()
XCTAssertEqual(ownership.registerConnection(12, authenticated: true), .claimed)
XCTAssertEqual(ownership.registerConnection(12, authenticated: true), .joined)
XCTAssertTrue(ownership.disconnect(12))
}
func testReleasedSessionCannotBeReclaimed() {
var ownership = AgentSessionOwnership()
XCTAssertEqual(ownership.registerConnection(12, authenticated: true), .claimed)
XCTAssertTrue(ownership.disconnect(12))
XCTAssertEqual(ownership.registerConnection(13, authenticated: true), .sessionReleased)
XCTAssertFalse(ownership.disconnect(13))
}
}