mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Complete rename of all OpenClaw/OPENCLAW/openclaw references to Hanzo Bot/BOT/bot naming convention: - Env vars: OPENCLAW_* → BOT_* (18 patterns) - Config: ~/.openclaw/ → ~/.bot/, openclaw.json → bot.json - Packages: @openclaw/* → @hanzo/bot-* - Domains: openclaw.ai → hanzo.bot - Mobile: OpenClawKit → BotKit, bundle IDs ai.openclaw → ai.hanzo.bot - mDNS: _openclaw-gw._tcp → _bot-gw._tcp - Docker: CMD hanzo-bot.mjs, BOT_PREFER_PNPM, BOT_DOCKER_APT_PACKAGES - CI: docker-release.yml adds :latest tag on main branch
80 lines
2.7 KiB
Swift
80 lines
2.7 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import HanzoBot
|
|
|
|
@Suite(.serialized)
|
|
struct BotConfigFileTests {
|
|
@Test
|
|
func configPathRespectsEnvOverride() async {
|
|
let override = FileManager().temporaryDirectory
|
|
.appendingPathComponent("hanzo-bot-config-\(UUID().uuidString)")
|
|
.appendingPathComponent("bot.json")
|
|
.path
|
|
|
|
await TestIsolation.withEnvValues(["BOT_CONFIG_PATH": override]) {
|
|
#expect(BotConfigFile.url().path == override)
|
|
}
|
|
}
|
|
|
|
@MainActor
|
|
@Test
|
|
func remoteGatewayPortParsesAndMatchesHost() async {
|
|
let override = FileManager().temporaryDirectory
|
|
.appendingPathComponent("hanzo-bot-config-\(UUID().uuidString)")
|
|
.appendingPathComponent("bot.json")
|
|
.path
|
|
|
|
await TestIsolation.withEnvValues(["BOT_CONFIG_PATH": override]) {
|
|
BotConfigFile.saveDict([
|
|
"gateway": [
|
|
"remote": [
|
|
"url": "ws://gateway.ts.net:19999",
|
|
],
|
|
],
|
|
])
|
|
#expect(BotConfigFile.remoteGatewayPort() == 19999)
|
|
#expect(BotConfigFile.remoteGatewayPort(matchingHost: "gateway.ts.net") == 19999)
|
|
#expect(BotConfigFile.remoteGatewayPort(matchingHost: "gateway") == 19999)
|
|
#expect(BotConfigFile.remoteGatewayPort(matchingHost: "other.ts.net") == nil)
|
|
}
|
|
}
|
|
|
|
@MainActor
|
|
@Test
|
|
func setRemoteGatewayUrlPreservesScheme() async {
|
|
let override = FileManager().temporaryDirectory
|
|
.appendingPathComponent("hanzo-bot-config-\(UUID().uuidString)")
|
|
.appendingPathComponent("bot.json")
|
|
.path
|
|
|
|
await TestIsolation.withEnvValues(["BOT_CONFIG_PATH": override]) {
|
|
BotConfigFile.saveDict([
|
|
"gateway": [
|
|
"remote": [
|
|
"url": "wss://old-host:111",
|
|
],
|
|
],
|
|
])
|
|
BotConfigFile.setRemoteGatewayUrl(host: "new-host", port: 2222)
|
|
let root = BotConfigFile.loadDict()
|
|
let url = ((root["gateway"] as? [String: Any])?["remote"] as? [String: Any])?["url"] as? String
|
|
#expect(url == "wss://new-host:2222")
|
|
}
|
|
}
|
|
|
|
@Test
|
|
func stateDirOverrideSetsConfigPath() async {
|
|
let dir = FileManager().temporaryDirectory
|
|
.appendingPathComponent("hanzo-bot-state-\(UUID().uuidString)", isDirectory: true)
|
|
.path
|
|
|
|
await TestIsolation.withEnvValues([
|
|
"BOT_CONFIG_PATH": nil,
|
|
"BOT_STATE_DIR": dir,
|
|
]) {
|
|
#expect(BotConfigFile.stateDirURL().path == dir)
|
|
#expect(BotConfigFile.url().path == "\(dir)/hanzo-bot.json")
|
|
}
|
|
}
|
|
}
|