- 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
59 lines
1.4 KiB
Go
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")
|
|
}
|
|
}
|