Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 23 additions & 6 deletions backend/gopkgs/middlewares/protobufvalidator/middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,28 @@
"google.golang.org/protobuf/proto"
)

func doValidate(req proto.Message) error {
v, err := protovalidate.New()
if err != nil {
return err
}

Check warning on line 15 in backend/gopkgs/middlewares/protobufvalidator/middleware.go

View check run for this annotation

Codecov / codecov/patch

backend/gopkgs/middlewares/protobufvalidator/middleware.go#L14-L15

Added lines #L14 - L15 were not covered by tests

if err := v.Validate(req); err != nil {
return err
}

Check warning on line 19 in backend/gopkgs/middlewares/protobufvalidator/middleware.go

View check run for this annotation

Codecov / codecov/patch

backend/gopkgs/middlewares/protobufvalidator/middleware.go#L18-L19

Added lines #L18 - L19 were not covered by tests

return nil
}

func CheckEnv() error {
_, err := protovalidate.New()
if err != nil {
return err
}

Check warning on line 28 in backend/gopkgs/middlewares/protobufvalidator/middleware.go

View check run for this annotation

Codecov / codecov/patch

backend/gopkgs/middlewares/protobufvalidator/middleware.go#L24-L28

Added lines #L24 - L28 were not covered by tests

return nil

Check warning on line 30 in backend/gopkgs/middlewares/protobufvalidator/middleware.go

View check run for this annotation

Codecov / codecov/patch

backend/gopkgs/middlewares/protobufvalidator/middleware.go#L30

Added line #L30 was not covered by tests
}

func ProtobufValidator() middleware.Middleware {
return func(handler middleware.Handler) middleware.Handler {
return func(ctx context.Context, req interface{}) (interface{}, error) {
Expand All @@ -16,12 +38,7 @@
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 {

Check warning on line 41 in backend/gopkgs/middlewares/protobufvalidator/middleware.go

View check run for this annotation

Codecov / codecov/patch

backend/gopkgs/middlewares/protobufvalidator/middleware.go#L41

Added line #L41 was not covered by tests
return nil, err
}

Expand Down
13 changes: 13 additions & 0 deletions backend/gopkgs/middlewares/protobufvalidator/middleware_test.go
Original file line number Diff line number Diff line change
@@ -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)
}
Loading