package node_test import ( "testing" toki "git.toki-labs.com/toki/common-proto-socket/go" edgenode "iop/apps/edge/internal/node" iop "iop/proto/gen/iop" ) func TestRegistry_RegisterAndCount(t *testing.T) { reg := edgenode.NewRegistry() entry := &edgenode.NodeEntry{ NodeID: "node-001", Client: &toki.TcpClient{}, Adapters: []*iop.AdapterInfo{{Name: "mock"}}, } reg.Register(entry) if reg.Count() != 1 { t.Fatalf("expected 1 node, got %d", reg.Count()) } } func TestRegistry_Pick_Empty(t *testing.T) { reg := edgenode.NewRegistry() if _, err := reg.Pick(); err == nil { t.Fatal("expected error on empty registry") } } func TestRegistry_Unregister(t *testing.T) { reg := edgenode.NewRegistry() reg.Register(&edgenode.NodeEntry{NodeID: "node-001"}) reg.Unregister("node-001") if reg.Count() != 0 { t.Fatalf("expected 0 nodes after unregister, got %d", reg.Count()) } }