package nodes import "testing" // TestHub_IsOnline verifies the agent-liveness signal that ListNodes/ConnectNode // now rely on: a node is online exactly while its agent stream is registered. func TestHub_IsOnline(t *testing.T) { h := NewHub(nil) // IsOnline/Register touch only the subs map, never Redis. const node = "node-1" if h.IsOnline(node) { t.Fatal("IsOnline=true before any agent registered") } _, done := h.Register(node) if !h.IsOnline(node) { t.Fatal("IsOnline=false while agent stream registered") } if h.IsOnline("other") { t.Fatal("IsOnline=true for a never-registered node") } done() // agent stream ends if h.IsOnline(node) { t.Fatal("IsOnline=true after the stream ended") } }