Files
go-sip/internal/store/current_canonical_test.go
T

32 lines
727 B
Go

package store
import (
"encoding/json"
"path/filepath"
"testing"
)
func TestCurrentStoreSameRevisionCanonicalJSON(t *testing.T) {
s, err := OpenCurrent(filepath.Join(t.TempDir(), "state.db"))
if err != nil {
t.Fatal(err)
}
defer s.Close()
snapshot := currentStoreSnapshot(t)
if err := s.SaveSnapshot(snapshot); err != nil {
t.Fatal(err)
}
var fields map[string]json.RawMessage
if err := json.Unmarshal(snapshot.Task.Raw, &fields); err != nil {
t.Fatal(err)
}
canonical, err := json.Marshal(fields)
if err != nil {
t.Fatal(err)
}
snapshot.Task.Raw = canonical
if err := s.SaveSnapshot(snapshot); err != nil {
t.Fatalf("identical task content with reordered JSON fields was rejected: %v", err)
}
}