git.frostfs.info/TrueCloudLab/frostfs-sdk-go@v0.0.0-20241022124111-5361f0ecebd3/eacl/test/generate.go (about)

     1  package eacltest
     2  
     3  import (
     4  	cidtest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/id/test"
     5  	"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/eacl"
     6  	usertest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/user/test"
     7  	versiontest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/version/test"
     8  )
     9  
    10  // Target returns random eacl.Target.
    11  func Target() *eacl.Target {
    12  	x := eacl.NewTarget()
    13  
    14  	x.SetRole(eacl.RoleSystem)
    15  	x.SetBinaryKeys([][]byte{
    16  		{1, 2, 3},
    17  		{4, 5, 6},
    18  	})
    19  
    20  	return x
    21  }
    22  
    23  // Record returns random eacl.Record.
    24  func Record() *eacl.Record {
    25  	x := eacl.NewRecord()
    26  
    27  	x.SetAction(eacl.ActionAllow)
    28  	x.SetOperation(eacl.OperationRangeHash)
    29  	x.SetTargets(*Target(), *Target())
    30  	x.AddObjectContainerIDFilter(eacl.MatchStringEqual, cidtest.ID())
    31  	x.AddObjectOwnerIDFilter(eacl.MatchStringNotEqual, usertest.ID())
    32  
    33  	return x
    34  }
    35  
    36  func Table() *eacl.Table {
    37  	x := eacl.NewTable()
    38  
    39  	x.SetCID(cidtest.ID())
    40  	x.AddRecord(Record())
    41  	x.AddRecord(Record())
    42  	x.SetVersion(versiontest.Version())
    43  
    44  	return x
    45  }