- Add node store implementation for edge app - Add adapters factory for node app - Update edge and node transport layers - Update domain rules for edge and node - Add bin scripts for edge and node - Update configs and documentation - Add agent-task node_centralized_mgmt directory
62 lines
1.4 KiB
Go
62 lines
1.4 KiB
Go
package node_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
edgenode "iop/apps/edge/internal/node"
|
|
"iop/packages/config"
|
|
)
|
|
|
|
func TestLoadFromConfig_Success(t *testing.T) {
|
|
store, err := edgenode.LoadFromConfig([]config.NodeDefinition{
|
|
{Alias: "alpha", Token: "token-alpha"},
|
|
{Alias: "beta", Token: "token-beta"},
|
|
})
|
|
if err != nil {
|
|
t.Fatalf("load from config: %v", err)
|
|
}
|
|
|
|
rec, ok := store.FindByToken("token-alpha")
|
|
if !ok {
|
|
t.Fatal("expected record for token-alpha")
|
|
}
|
|
if rec.ID != "node-alpha" {
|
|
t.Fatalf("expected id %q, got %q", "node-alpha", rec.ID)
|
|
}
|
|
if rec.Alias != "alpha" {
|
|
t.Fatalf("expected alias %q, got %q", "alpha", rec.Alias)
|
|
}
|
|
|
|
if _, ok := store.FindByToken("missing"); ok {
|
|
t.Fatal("expected missing token lookup to fail")
|
|
}
|
|
}
|
|
|
|
func TestLoadFromConfig_DuplicateToken(t *testing.T) {
|
|
_, err := edgenode.LoadFromConfig([]config.NodeDefinition{
|
|
{Alias: "alpha", Token: "token"},
|
|
{Alias: "beta", Token: "token"},
|
|
})
|
|
if err == nil {
|
|
t.Fatal("expected duplicate token error")
|
|
}
|
|
}
|
|
|
|
func TestLoadFromConfig_DuplicateAlias(t *testing.T) {
|
|
_, err := edgenode.LoadFromConfig([]config.NodeDefinition{
|
|
{Alias: "alpha", Token: "token-alpha"},
|
|
{Alias: "alpha", Token: "token-beta"},
|
|
})
|
|
if err == nil {
|
|
t.Fatal("expected duplicate alias error")
|
|
}
|
|
}
|
|
|
|
func TestLoadFromConfig_EmptyToken(t *testing.T) {
|
|
_, err := edgenode.LoadFromConfig([]config.NodeDefinition{
|
|
{Alias: "alpha"},
|
|
})
|
|
if err == nil {
|
|
t.Fatal("expected empty token error")
|
|
}
|
|
}
|