package audit_test import ( "testing" "github.com/nspcc-dev/neofs-api-go/v2/audit" "github.com/nspcc-dev/neofs-api-go/v2/refs" "github.com/stretchr/testify/require" ) func TestDataAuditResult_StableMarshal(t *testing.T) { from := generateDataAuditResult() t.Run("non empty", func(t *testing.T) { wire, err := from.StableMarshal(nil) require.NoError(t, err) to := new(audit.DataAuditResult) require.NoError(t, to.Unmarshal(wire)) require.Equal(t, from, to) }) } func generateDataAuditResult() *audit.DataAuditResult { a := new(audit.DataAuditResult) v := new(refs.Version) v.SetMajor(2) v.SetMinor(1) oid1 := new(refs.ObjectID) oid1.SetValue([]byte("Object ID 1")) oid2 := new(refs.ObjectID) oid2.SetValue([]byte("Object ID 2")) cid := new(refs.ContainerID) cid.SetValue([]byte("Container ID")) a.SetVersion(v) a.SetAuditEpoch(13) a.SetContainerID(cid) a.SetPublicKey([]byte("Public key")) a.SetComplete(true) a.SetRequests(10) a.SetRetries(9) a.SetPassSG([]*refs.ObjectID{oid1, oid2}) a.SetFailSG([]*refs.ObjectID{oid2, oid1}) a.SetHit(1) a.SetMiss(2) a.SetFail(3) a.SetPassNodes([][]byte{ {1, 2}, {3, 4}, }) a.SetFailNodes([][]byte{ {5, 6}, {7, 8}, }) return a }