From 095dbe1e5c24728bf91fa2e4f1e52cf482fc6896 Mon Sep 17 00:00:00 2001 From: TremblingV5 Date: Sun, 22 Dec 2024 00:21:02 +0800 Subject: [PATCH] add check protovalidate env method --- .../protobufvalidator/middleware.go | 29 +++++++++++++++---- .../protobufvalidator/middleware_test.go | 13 +++++++++ 2 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 backend/gopkgs/middlewares/protobufvalidator/middleware_test.go diff --git a/backend/gopkgs/middlewares/protobufvalidator/middleware.go b/backend/gopkgs/middlewares/protobufvalidator/middleware.go index 26e7c6b..1ea2d30 100644 --- a/backend/gopkgs/middlewares/protobufvalidator/middleware.go +++ b/backend/gopkgs/middlewares/protobufvalidator/middleware.go @@ -8,6 +8,28 @@ import ( "google.golang.org/protobuf/proto" ) +func doValidate(req proto.Message) error { + v, err := protovalidate.New() + if err != nil { + return err + } + + if err := v.Validate(req); err != nil { + return err + } + + return nil +} + +func CheckEnv() error { + _, err := protovalidate.New() + if err != nil { + return err + } + + return nil +} + func ProtobufValidator() middleware.Middleware { return func(handler middleware.Handler) middleware.Handler { return func(ctx context.Context, req interface{}) (interface{}, error) { @@ -16,12 +38,7 @@ func ProtobufValidator() middleware.Middleware { return nil, errors.New("not valid request") } - v, err := protovalidate.New() - if err != nil { - return nil, err - } - - if err := v.Validate(value); err != nil { + if err := doValidate(value); err != nil { return nil, err } diff --git a/backend/gopkgs/middlewares/protobufvalidator/middleware_test.go b/backend/gopkgs/middlewares/protobufvalidator/middleware_test.go new file mode 100644 index 0000000..0ec1235 --- /dev/null +++ b/backend/gopkgs/middlewares/protobufvalidator/middleware_test.go @@ -0,0 +1,13 @@ +package protobufvalidator + +import ( + "github.com/stretchr/testify/assert" + "google.golang.org/protobuf/proto" + "testing" +) + +func Test_doValidate(t *testing.T) { + req := proto.Message(nil) + err := doValidate(req) + assert.Nil(t, err) +}