grpcall/request_test.go

67 lines
1.3 KiB
Go
Raw Normal View History

2023-05-30 17:30:06 +08:00
package grpcall
import (
"testing"
"github.com/golang/protobuf/jsonpb"
"github.com/golang/protobuf/ptypes/wrappers"
"google.golang.org/protobuf/types/known/emptypb"
"google.golang.org/protobuf/types/known/wrapperspb"
)
func TestJsonpbUnmarshalString(t *testing.T) {
msg := &wrappers.Int64Value{}
if err := jsonpb.UnmarshalString(`123`, msg); err != nil {
t.Error(err)
}
t.Log(msg)
}
func TestJsonpbMarshalString(t *testing.T) {
msg := &wrappers.Int64Value{Value: 123}
marshaler := &jsonpb.Marshaler{}
if json, err := marshaler.MarshalToString(msg); err != nil {
t.Error(err)
} else {
t.Log(json) // "123"
}
}
func TestJsonpbMarshalEmpty(t *testing.T) {
msg := &emptypb.Empty{}
marshaler := &jsonpb.Marshaler{}
if json, err := marshaler.MarshalToString(msg); err != nil {
t.Error(err)
} else {
t.Log(json) // {}
}
}
func TestNewJsonRequestParser(t *testing.T) {
var str_msg wrapperspb.StringValue
inData := `"abc"`
if err := NewJsonRequestParser(nil, inData).Next(&str_msg); err != nil {
t.Error(err)
}
t.Log("string", str_msg.GetValue())
var int_msg wrapperspb.Int64Value
inData = `"10"` // or `10`
if err := NewJsonRequestParser(nil, inData).Next(&int_msg); err != nil {
t.Error(err)
}
t.Log("int", int_msg.GetValue())
}