frostfs-api-go/refs/test/generate.go
Airat Arifullin bc16a32c24 [#40] types: Generate StableMarshaler/StableSize methods for protobufs
* Add plugin option for protogen in Makefile
* Fix the generator for the plugin in util/protogen
* Erase convertable types, move helpful methods to gRPC protobufs
* Erase helpers for convertations
* Generate StableMarshlal/StableSize for protobufs by the protoc plugin

Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-07-10 12:08:48 +03:00

119 lines
1.8 KiB
Go

package refstest
import (
"math/rand"
refs "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc"
)
func GenerateVersion(empty bool) *refs.Version {
m := new(refs.Version)
if !empty {
m.SetMajor(2)
m.SetMinor(1)
}
return m
}
func GenerateOwnerID(empty bool) *refs.OwnerID {
m := new(refs.OwnerID)
if !empty {
m.SetValue([]byte{1, 2, 3})
}
return m
}
func GenerateAddress(empty bool) *refs.Address {
m := new(refs.Address)
if !empty {
m.SetObjectId(GenerateObjectID(false))
m.SetContainerId(GenerateContainerID(false))
}
return m
}
func GenerateObjectID(empty bool) *refs.ObjectID {
m := new(refs.ObjectID)
if !empty {
m.SetValue([]byte{1, 2, 3})
}
return m
}
func GenerateObjectIDs(empty bool) []*refs.ObjectID {
var ids []*refs.ObjectID
if !empty {
ids = append(ids,
GenerateObjectID(false),
GenerateObjectID(false),
)
}
return ids
}
func GenerateContainerID(empty bool) *refs.ContainerID {
m := new(refs.ContainerID)
if !empty {
m.SetValue([]byte{1, 2, 3})
}
return m
}
func GenerateContainerIDs(empty bool) []*refs.ContainerID {
var res []*refs.ContainerID
if !empty {
res = append(res,
GenerateContainerID(false),
GenerateContainerID(false),
)
}
return res
}
func GenerateSignature(empty bool) *refs.Signature {
m := new(refs.Signature)
if !empty {
m.SetKey([]byte{1})
m.SetSign([]byte{2})
m.SetScheme(refs.SignatureScheme(rand.Int31() % 3))
}
return m
}
func GenerateSignatureRFC6979(empty bool) *refs.SignatureRFC6979 {
m := new(refs.SignatureRFC6979)
if !empty {
m.SetKey([]byte{1})
m.SetSign([]byte{2})
}
return m
}
func GenerateChecksum(empty bool) *refs.Checksum {
m := new(refs.Checksum)
if !empty {
m.SetChecksumType(1)
m.SetSum([]byte{1, 2, 3})
}
return m
}