Files
paralus/pkg/gateway/json_test.go
2022-03-24 12:42:59 +05:30

63 lines
921 B
Go

package gateway_test
import (
"bytes"
"testing"
"github.com/RafayLabs/rcloud-base/pkg/gateway"
"github.com/RafayLabs/rcloud-base/pkg/gateway/testdata"
"google.golang.org/protobuf/types/known/timestamppb"
)
func TestRafayJSONMarshaller(t *testing.T) {
m := gateway.NewRafayJSON()
t1 := testdata.TestYAML{
Name: "test",
Time: timestamppb.Now(),
Labels: map[string]string{"l1": "l2"},
}
yb, err := m.Marshal(&t1)
if err != nil {
t.Error(err)
return
}
t.Log(string(yb))
var t2 testdata.TestYAML
err = m.Unmarshal(yb, &t2)
if err != nil {
t.Error(err)
}
t.Log(t2)
bb1 := new(bytes.Buffer)
bb1.Write(yb)
dec := m.NewDecoder(bb1)
var t3 testdata.TestYAML
err = dec.Decode(&t3)
if err != nil {
t.Error(err)
return
}
t.Log(t2)
bb2 := new(bytes.Buffer)
enc := m.NewEncoder(bb2)
err = enc.Encode(&t1)
if err != nil {
t.Error(err)
return
}
t.Log(bb2.String())
}