19 lines
652 B
Go
19 lines
652 B
Go
package tools
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"agent-native/runtime/argschema"
|
|
)
|
|
|
|
func TestValidateArgsDelegatesToArgschema(t *testing.T) {
|
|
schema := json.RawMessage(`{"type":"object","required":["path"],"properties":{"path":{"type":"string"}}}`)
|
|
for _, args := range []string{`{"path":"a"}`, `{}`, `{"path":" "}`, `{"path":1}`, `{"path":"a","x":1}`, `[1]`} {
|
|
got, want := validateArgs(schema, json.RawMessage(args)), argschema.Validate(schema, json.RawMessage(args))
|
|
if (got == nil) != (want == nil) || (got != nil && got.Error() != want.Error()) {
|
|
t.Fatalf("validateArgs(%s) = %v, argschema.Validate = %v", args, got, want)
|
|
}
|
|
}
|
|
}
|