Files
openclaw/apps/macos/Tests/OpenClawIPCTests/TailscaleIntegrationSectionTests.swift

49 lines
1.7 KiB
Swift
Raw Normal View History

2025-12-24 17:42:14 +01:00
import SwiftUI
import Testing
2026-01-30 03:15:10 +01:00
@testable import OpenClaw
2025-12-24 17:42:14 +01:00
@Suite(.serialized)
@MainActor
struct TailscaleIntegrationSectionTests {
@Test func tailscaleSectionBuildsBodyWhenNotInstalled() {
let service = TailscaleService(isInstalled: false, isRunning: false, statusError: "not installed")
var view = TailscaleIntegrationSection(connectionMode: .local, isPaused: false)
view.setTestingService(service)
view.setTestingState(mode: "off", requireCredentials: false, statusMessage: "Idle")
_ = view.body
}
@Test func tailscaleSectionBuildsBodyForServeMode() {
let service = TailscaleService(
isInstalled: true,
isRunning: true,
2026-01-30 03:15:10 +01:00
tailscaleHostname: "openclaw.tailnet.ts.net",
2025-12-24 17:42:14 +01:00
tailscaleIP: "100.64.0.1")
var view = TailscaleIntegrationSection(connectionMode: .local, isPaused: false)
view.setTestingService(service)
view.setTestingState(
mode: "serve",
requireCredentials: true,
password: "secret",
statusMessage: "Running")
_ = view.body
}
@Test func tailscaleSectionBuildsBodyForFunnelMode() {
let service = TailscaleService(
isInstalled: true,
isRunning: false,
tailscaleHostname: nil,
tailscaleIP: nil,
statusError: "not running")
var view = TailscaleIntegrationSection(connectionMode: .remote, isPaused: false)
view.setTestingService(service)
view.setTestingState(
mode: "funnel",
requireCredentials: false,
statusMessage: "Needs start",
validationMessage: "Invalid token")
_ = view.body
}
}