iop/apps/edge/internal/node/mapper_test.go
toki 7b90b7e5af refactor(chronos): IOP 경계를 분리한다
Chronos 이전 완료 증거를 보존하면서 IOP에는 provider 실행 책임만 남기기 위해 검토된 마일스톤 변경을 하나의 승격 커밋으로 고정한다.
2026-08-02 19:29:30 +09:00

28 lines
927 B
Go

package node_test
import (
"testing"
"iop/apps/edge/internal/node"
"iop/packages/go/config"
)
func TestBuildConfigPayloadProviderOnly(t *testing.T) {
record := &node.NodeRecord{
ID: "node", Alias: "node", Token: "token",
Providers: []config.NodeProviderConf{
{ID: "ollama-local", Type: "ollama", Category: config.CategoryLocalInference, BaseURL: "http://127.0.0.1:11434", Models: []string{"model"}, Capacity: 1},
{ID: "api", Type: "openai_api", Category: config.CategoryAPI, Endpoint: "http://127.0.0.1:8000/v1", Models: []string{"model"}, Capacity: 2},
},
}
payload, err := node.BuildConfigPayload(record)
if err != nil {
t.Fatal(err)
}
if len(payload.GetAdapters()) != 2 {
t.Fatalf("adapters = %d", len(payload.GetAdapters()))
}
if payload.GetAdapters()[0].GetType() != "ollama" || payload.GetAdapters()[1].GetType() != "openai_compat" {
t.Fatalf("adapters = %#v", payload.GetAdapters())
}
}