iop/apps/node/internal/transport/parser_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

87 lines
2.1 KiB
Go

package transport
import (
"testing"
toki "git.toki-labs.com/toki/common-proto-socket/go"
"google.golang.org/protobuf/proto"
iop "iop/proto/gen/iop"
)
func TestNodeParserMap_RunRequest(t *testing.T) {
parsers := nodeParserMap()
original := &iop.RunRequest{RunId: "run-1", Adapter: "mock", Model: "v1"}
payload, err := proto.Marshal(original)
if err != nil {
t.Fatalf("marshal: %v", err)
}
key := toki.TypeNameOf(original)
parser, ok := parsers[key]
if !ok {
t.Fatalf("parser not found for key: %s", key)
}
parsed, err := parser(payload)
if err != nil {
t.Fatalf("parse: %v", err)
}
got := parsed.(*iop.RunRequest)
if got.GetRunId() != original.GetRunId() ||
got.GetAdapter() != original.GetAdapter() ||
got.GetModel() != original.GetModel() {
t.Fatalf("unexpected run request: %+v", got)
}
}
func TestNodeParserMap_CancelRequest(t *testing.T) {
parsers := nodeParserMap()
original := &iop.CancelRequest{RunId: "run-1"}
payload, err := proto.Marshal(original)
if err != nil {
t.Fatalf("marshal: %v", err)
}
key := toki.TypeNameOf(original)
parser, ok := parsers[key]
if !ok {
t.Fatalf("parser not found for key: %s", key)
}
parsed, err := parser(payload)
if err != nil {
t.Fatalf("parse: %v", err)
}
got := parsed.(*iop.CancelRequest)
if got.GetRunId() != original.GetRunId() {
t.Fatalf("unexpected cancel request: %+v", got)
}
}
func TestNodeParserMap_RegisterResponse(t *testing.T) {
parsers := nodeParserMap()
original := &iop.RegisterResponse{Accepted: true, NodeId: "node-1", Alias: "local-node"}
payload, err := proto.Marshal(original)
if err != nil {
t.Fatalf("marshal: %v", err)
}
key := toki.TypeNameOf(original)
parser, ok := parsers[key]
if !ok {
t.Fatalf("parser not found for key: %s", key)
}
parsed, err := parser(payload)
if err != nil {
t.Fatalf("parse: %v", err)
}
got, ok := parsed.(*iop.RegisterResponse)
if !ok {
t.Fatalf("unexpected register response type: %T", parsed)
}
if !got.GetAccepted() || got.GetNodeId() != original.GetNodeId() || got.GetAlias() != original.GetAlias() {
t.Fatalf("unexpected register response: %+v", got)
}
}