protofilters/tests/gen/gen.go

45 lines
902 B
Go

package gen
import (
"os"
"github.com/sirupsen/logrus"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/reflect/protodesc"
"google.golang.org/protobuf/types/known/anypb"
test "go.linka.cloud/protofilters/tests/pb"
)
func Gen() {
t := &test.Test{StringField: "whatever..."}
tf, err := os.Create("test.bin")
if err != nil {
logrus.Fatal(err)
}
defer tf.Close()
a, err := anypb.New(t)
if err != nil {
logrus.Fatal(err)
}
b, err := proto.Marshal(a)
if err != nil {
logrus.Fatal(err)
}
if _, err := tf.Write(b); err != nil {
logrus.Fatal(err)
}
tdf, err := os.Create("test.file-descriptor.bin")
if err != nil {
logrus.Fatal(err)
}
defer tdf.Close()
b, err = proto.Marshal(protodesc.ToFileDescriptorProto(t.ProtoReflect().Descriptor().ParentFile()))
if err != nil {
logrus.Fatal(err)
}
if _, err := tdf.Write(b); err != nil {
logrus.Fatal(err)
}
}