iop/apps/edge/internal/node/registry_test.go
toki c46874055a feat: edge node unit tests and related updates
- Add edge node unit tests and transport package
- Add node test client and related artifacts
- Update bootstrap, node, and config modules
- Add proto generated files
- Update Makefile and configuration files
2026-05-02 20:09:55 +09:00

39 lines
906 B
Go

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())
}
}