package utils import ( "encoding/xml" "testing" "github.com/stretchr/testify/require" ) type serversXMLStructure struct { XMLName xml.Name `xml:"servers"` Version string `xml:"version,attr"` Servers []serverXMLStructure `xml:"server"` } type serverXMLStructure struct { XMLName xml.Name `xml:"server"` Name string `xml:"name"` } var xmlString = `fiber onefiber two` func Test_GolangXMLEncoder(t *testing.T) { t.Parallel() var ( ss = &serversXMLStructure{ Version: "1", Servers: []serverXMLStructure{ {Name: "fiber one"}, {Name: "fiber two"}, }, } xmlEncoder XMLMarshal = xml.Marshal ) raw, err := xmlEncoder(ss) require.NoError(t, err) require.Equal(t, string(raw), xmlString) } func Test_DefaultXMLEncoder(t *testing.T) { t.Parallel() var ( ss = &serversXMLStructure{ Version: "1", Servers: []serverXMLStructure{ {Name: "fiber one"}, {Name: "fiber two"}, }, } xmlEncoder XMLMarshal = xml.Marshal ) raw, err := xmlEncoder(ss) require.NoError(t, err) require.Equal(t, string(raw), xmlString) }