diff --git a/transport/grpc/codec_test.go b/transport/grpc/codec_test.go new file mode 100644 index 000000000..534439ff9 --- /dev/null +++ b/transport/grpc/codec_test.go @@ -0,0 +1,28 @@ +package grpc + +import ( + "reflect" + "testing" + + "google.golang.org/protobuf/types/known/structpb" +) + +func TestCodec(t *testing.T) { + in, err := structpb.NewStruct(map[string]interface{}{"Golang": "Kratos"}) + if err != nil { + t.Errorf("grpc codec create input data error:%v", err) + } + c := codec{} + data, err := c.Marshal(in) + if err != nil { + t.Errorf("grpc codec marshal error:%v", err) + } + out := &structpb.Struct{} + err = c.Unmarshal(data, out) + if err != nil { + t.Errorf("grpc codec unmarshal error:%v", err) + } + if !reflect.DeepEqual(in, out) { + t.Errorf("grpc codec want %v, got %v", in, out) + } +}