extension_test.go 773 B

123456789101112131415161718192021222324252627282930
  1. package testing
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. "google.golang.org/protobuf/reflect/protoreflect"
  6. "github.com/v2fly/v2ray-core/v5/common/protoext"
  7. )
  8. func TestMessageOpt(t *testing.T) {
  9. msg := TestingMessage{}
  10. opt, err := protoext.GetMessageOptions(msg.ProtoReflect().Descriptor())
  11. assert.Nil(t, err)
  12. assert.EqualValues(t, []string{"demo", "demo2"}, opt.Type)
  13. }
  14. func TestFieldOpt(t *testing.T) {
  15. msg := TestingMessage{
  16. TestField: "Test",
  17. }
  18. msgreflect := msg.ProtoReflect()
  19. msgreflect.Range(func(descriptor protoreflect.FieldDescriptor, value protoreflect.Value) bool {
  20. opt, err := protoext.GetFieldOptions(descriptor)
  21. assert.Nil(t, err)
  22. assert.EqualValues(t, []string{"test", "test2"}, opt.AllowedValues)
  23. return true
  24. })
  25. }