import Foundation import WireProtocol import HostRegistry /// On macOS `Foundation.Host` (NSHost) shadows the package type in test /// files that import Foundation — pin resolution for the whole test target. typealias Host = HostRegistry.Host /// Shared fixtures for HostRegistryTests. Pure helpers only — no state. enum Fixtures { /// Builds a valid Host; traps loudly if the fixture URL is malformed /// (a broken fixture must fail the suite, not silently skip assertions). static func makeHost( name: String = "mac-studio", urlString: String = "http://192.168.1.5:3000", id: UUID = UUID() ) -> Host { guard let url = URL(string: urlString), let endpoint = HostEndpoint(baseURL: url) else { fatalError("test fixture URL invalid: \(urlString)") } return Host(id: id, name: name, endpoint: endpoint) } /// Unique UserDefaults suite name per test — isolates parallel tests. static func makeSuiteName() -> String { "HostRegistryTests." + UUID().uuidString } }