Files
go-sip/internal/ai/snapshot_jcs_test.go
T

32 lines
703 B
Go

package ai
import (
"bytes"
"testing"
"git.ipao.vip/rogee/go-sip/contracts"
)
func TestSnapshotDigestUsesJCSNotJSONPresentation(t *testing.T) {
raw, err := contracts.Read("examples/agent-version.json")
if err != nil {
t.Fatal(err)
}
first, err := Validate(raw)
if err != nil {
t.Fatal(err)
}
variant := bytes.ReplaceAll(raw, []byte(`"speed": 1.0`), []byte(`"speed": 1`))
variant = append([]byte("\n\t"), variant...)
second, err := Validate(variant)
if err != nil {
t.Fatal(err)
}
if first.Digest != second.Digest {
t.Fatal("JSON presentation changed immutable AI digest")
}
if !bytes.Equal(first.Raw, raw) {
t.Fatal("canonicalization changed supplied snapshot bytes")
}
}