Files
bot/apps/macos/Tests/BotIPCTests/InstancesStoreTests.swift
zeekay 4bdc9ee3e4 chore: rebrand openclaw → hanzo-bot for bridge merge
Comprehensive rename of all openclaw references to hanzo-bot equivalents:
- Package: openclaw → @hanzo/bot
- Binary: openclaw → hanzo-bot
- Types: OpenClaw* → Bot*
- Env vars: OPENCLAW_* → BOT_*
- Android: ai.openclaw.android → ai.hanzo.bot.android
- iOS/macOS: ai.openclaw.* → ai.hanzo.*
- Swift modules: OpenClaw* → Bot*
- Plugins: openclaw.plugin.json → bot.plugin.json
- Paths: .openclaw/ → .hanzo/bot/
- URLs: github.com/openclaw → github.com/hanzoai
2026-02-26 22:36:01 -08:00

37 lines
1.2 KiB
Swift

import HanzoBotProtocol
import Testing
@testable import HanzoBot
@Suite struct InstancesStoreTests {
@Test
@MainActor
func presenceEventPayloadDecodesViaJSONEncoder() {
// Build a payload that mirrors the gateway's presence event shape:
// { "presence": [ PresenceEntry ] }
let entry: [String: HanzoBotProtocol.AnyCodable] = [
"host": .init("gw"),
"ip": .init("10.0.0.1"),
"version": .init("2.0.0"),
"mode": .init("gateway"),
"lastInputSeconds": .init(5),
"reason": .init("test"),
"text": .init("Gateway node"),
"ts": .init(1_730_000_000),
]
let payloadMap: [String: HanzoBotProtocol.AnyCodable] = [
"presence": .init([HanzoBotProtocol.AnyCodable(entry)]),
]
let payload = HanzoBotProtocol.AnyCodable(payloadMap)
let store = InstancesStore(isPreview: true)
store.handlePresenceEventPayload(payload)
#expect(store.instances.count == 1)
let instance = store.instances.first
#expect(instance?.host == "gw")
#expect(instance?.ip == "10.0.0.1")
#expect(instance?.mode == "gateway")
#expect(instance?.reason == "test")
}
}