67 lines
2.1 KiB
Swift
67 lines
2.1 KiB
Swift
import Testing
|
|
@testable import Clawdis
|
|
|
|
@Suite
|
|
@MainActor
|
|
struct GatewayDiscoveryModelTests {
|
|
@Test func localGatewayMatchesLanHost() {
|
|
let local = GatewayDiscoveryModel.LocalIdentity(
|
|
hostTokens: ["studio"],
|
|
displayTokens: [])
|
|
#expect(GatewayDiscoveryModel.isLocalGateway(
|
|
lanHost: "studio.local",
|
|
tailnetDns: nil,
|
|
displayName: nil,
|
|
serviceName: nil,
|
|
local: local))
|
|
}
|
|
|
|
@Test func localGatewayMatchesTailnetDns() {
|
|
let local = GatewayDiscoveryModel.LocalIdentity(
|
|
hostTokens: ["studio"],
|
|
displayTokens: [])
|
|
#expect(GatewayDiscoveryModel.isLocalGateway(
|
|
lanHost: nil,
|
|
tailnetDns: "studio.tailnet.example",
|
|
displayName: nil,
|
|
serviceName: nil,
|
|
local: local))
|
|
}
|
|
|
|
@Test func localGatewayMatchesDisplayName() {
|
|
let local = GatewayDiscoveryModel.LocalIdentity(
|
|
hostTokens: [],
|
|
displayTokens: ["peter's mac studio"])
|
|
#expect(GatewayDiscoveryModel.isLocalGateway(
|
|
lanHost: nil,
|
|
tailnetDns: nil,
|
|
displayName: "Peter's Mac Studio (Clawdis)",
|
|
serviceName: nil,
|
|
local: local))
|
|
}
|
|
|
|
@Test func remoteGatewayDoesNotMatch() {
|
|
let local = GatewayDiscoveryModel.LocalIdentity(
|
|
hostTokens: ["studio"],
|
|
displayTokens: ["peter's mac studio"])
|
|
#expect(!GatewayDiscoveryModel.isLocalGateway(
|
|
lanHost: "other.local",
|
|
tailnetDns: "other.tailnet.example",
|
|
displayName: "Other Mac",
|
|
serviceName: "other-bridge",
|
|
local: local))
|
|
}
|
|
|
|
@Test func localGatewayMatchesServiceName() {
|
|
let local = GatewayDiscoveryModel.LocalIdentity(
|
|
hostTokens: ["studio"],
|
|
displayTokens: [])
|
|
#expect(GatewayDiscoveryModel.isLocalGateway(
|
|
lanHost: nil,
|
|
tailnetDns: nil,
|
|
displayName: nil,
|
|
serviceName: "studio-bridge",
|
|
local: local))
|
|
}
|
|
}
|