func TestSerializeMeta(t *testing.T) { Convey("Given an instance", t, func() { instance := new(fargo.Instance) Convey("With metadata", func() { instance.SetMetadataString("test", "value") Convey("Serializing results in correct JSON", func() { b, err := instance.Metadata.MarshalJSON() So(err, ShouldBeNil) So(string(b), ShouldEqual, "{\"test\":\"value\"}") }) Convey("Serializing results in correct XML", func() { b, err := xml.Marshal(instance.Metadata) So(err, ShouldBeNil) So(string(b), ShouldEqual, "<InstanceMetadata><test>value</test></InstanceMetadata>") }) Convey("Blank metadata results in blank XML", func() { metadata := new(fargo.InstanceMetadata) b, err := xml.Marshal(metadata) So(err, ShouldBeNil) So(string(b), ShouldEqual, "<InstanceMetadata></InstanceMetadata>") }) }) }) }