package acl_test import ( "testing" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/acl" aclGrpc "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/acl/grpc" acltest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/acl/test" ) func BenchmarkTable_ToGRPCMessage(b *testing.B) { const size = 4 tb := new(acl.Table) rs := make([]acl.Record, size) for i := range rs { fs := make([]acl.HeaderFilter, size) for j := range fs { fs[j] = *acltest.GenerateFilter(false) } ts := make([]acl.Target, size) for j := range ts { ts[j] = *acltest.GenerateTarget(false) } rs[i].SetFilters(fs) rs[i].SetTargets(ts) } tb.SetRecords(rs) raw := tb.ToGRPCMessage() b.Run("to grpc message", func(b *testing.B) { b.ReportAllocs() for range b.N { raw := tb.ToGRPCMessage() if len(tb.GetRecords()) != len(raw.(*aclGrpc.EACLTable).Records) { b.FailNow() } } }) b.Run("from grpc message", func(b *testing.B) { b.ReportAllocs() for range b.N { tb := new(acl.Table) if tb.FromGRPCMessage(raw) != nil { b.FailNow() } } }) }