Path: blob/dev/pkg/fuzz/dataformat/dataformat_test.go
2070 views
package dataformat12import (3"testing"4)56func TestDataformatDecodeEncode_JSON(t *testing.T) {7obj := `{"foo":"bar"}`89decoded, err := Decode(obj)10if err != nil {11t.Fatal(err)12}13if decoded.DataFormat != "json" {14t.Fatal("unexpected data format")15}16if decoded.Data.Get("foo") != "bar" {17t.Fatal("unexpected data")18}1920encoded, err := Encode(decoded.Data, decoded.DataFormat)21if err != nil {22t.Fatal(err)23}24if encoded != obj {25t.Fatal("unexpected data")26}27}2829func TestDataformatDecodeEncode_XML(t *testing.T) {30obj := `<foo attr="baz">bar</foo>`3132decoded, err := Decode(obj)33if err != nil {34t.Fatal(err)35}36if decoded.DataFormat != "xml" {37t.Fatal("unexpected data format")38}39fooValue := decoded.Data.Get("foo")40if fooValue == nil {41t.Fatal("key 'foo' not found")42}43fooMap, ok := fooValue.(map[string]interface{})44if !ok {45t.Fatal("type assertion to map[string]interface{} failed")46}47if fooMap["#text"] != "bar" {48t.Fatal("unexpected data for '#text'")49}50if fooMap["-attr"] != "baz" {51t.Fatal("unexpected data for '-attr'")52}5354encoded, err := Encode(decoded.Data, decoded.DataFormat)55if err != nil {56t.Fatal(err)57}58if encoded != obj {59t.Fatal("unexpected data")60}61}626364