67 lines
1.3 KiB
Go
67 lines
1.3 KiB
Go
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())
|
|
}
|