1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-17 18:06:15 -05:00
v2fly/common/protoext/testing/extension_test.go
2022-01-02 15:16:23 +00:00

31 lines
773 B
Go

package testing
import (
"testing"
"github.com/stretchr/testify/assert"
"google.golang.org/protobuf/reflect/protoreflect"
"github.com/v2fly/v2ray-core/v5/common/protoext"
)
func TestMessageOpt(t *testing.T) {
msg := TestingMessage{}
opt, err := protoext.GetMessageOptions(msg.ProtoReflect().Descriptor())
assert.Nil(t, err)
assert.EqualValues(t, []string{"demo", "demo2"}, opt.Type)
}
func TestFieldOpt(t *testing.T) {
msg := TestingMessage{
TestField: "Test",
}
msgreflect := msg.ProtoReflect()
msgreflect.Range(func(descriptor protoreflect.FieldDescriptor, value protoreflect.Value) bool {
opt, err := protoext.GetFieldOptions(descriptor)
assert.Nil(t, err)
assert.EqualValues(t, []string{"test", "test2"}, opt.AllowedValues)
return true
})
}