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

     1  package oidtest
     2  
     3  import (
     4  	"crypto/rand"
     5  	"crypto/sha256"
     6  
     7  	cidtest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/id/test"
     8  	oid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id"
     9  )
    10  
    11  // ID returns random oid.ID.
    12  func ID() oid.ID {
    13  	checksum := [sha256.Size]byte{}
    14  
    15  	_, _ = rand.Read(checksum[:])
    16  
    17  	return idWithChecksum(checksum)
    18  }
    19  
    20  // idWithChecksum returns oid.ID initialized
    21  // with specified checksum.
    22  func idWithChecksum(cs [sha256.Size]byte) oid.ID {
    23  	var id oid.ID
    24  	id.SetSHA256(cs)
    25  
    26  	return id
    27  }
    28  
    29  // Address returns random oid.Address.
    30  func Address() oid.Address {
    31  	var x oid.Address
    32  
    33  	x.SetContainer(cidtest.ID())
    34  	x.SetObject(ID())
    35  
    36  	return x
    37  }