iop/apps/node/internal/adapters/factory_test.go
toki b4c6550eab feat: edge/node architecture updates and agent-task integration
- 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
2026-05-03 10:51:29 +09:00

59 lines
1.4 KiB
Go

package adapters_test
import (
"testing"
"go.uber.org/zap"
"google.golang.org/protobuf/types/known/structpb"
"iop/apps/node/internal/adapters"
iop "iop/proto/gen/iop"
)
func TestBuildFromPayload_MockAlwaysPresent(t *testing.T) {
reg, err := adapters.BuildFromPayload(&iop.NodeConfigPayload{}, zap.NewNop())
if err != nil {
t.Fatalf("build from payload: %v", err)
}
if _, ok := reg.Get("mock"); !ok {
t.Fatal("expected mock adapter to be registered")
}
if got := len(reg.All()); got != 1 {
t.Fatalf("expected 1 adapter, got %d", got)
}
}
func TestBuildFromPayload_OllamaEnabled(t *testing.T) {
settings, err := structpb.NewStruct(map[string]any{
"base_url": "http://localhost:11434",
})
if err != nil {
t.Fatalf("settings: %v", err)
}
reg, err := adapters.BuildFromPayload(&iop.NodeConfigPayload{
Adapters: []*iop.AdapterConfig{
{Type: "ollama", Enabled: true, Settings: settings},
},
}, zap.NewNop())
if err != nil {
t.Fatalf("build from payload: %v", err)
}
if _, ok := reg.Get("mock"); !ok {
t.Fatal("expected mock adapter to be registered")
}
if _, ok := reg.Get("ollama"); !ok {
t.Fatal("expected ollama adapter to be registered")
}
}
func TestBuildFromPayload_UnknownType(t *testing.T) {
_, err := adapters.BuildFromPayload(&iop.NodeConfigPayload{
Adapters: []*iop.AdapterConfig{
{Type: "unknown", Enabled: true},
},
}, zap.NewNop())
if err == nil {
t.Fatal("expected unknown adapter type error")
}
}