コード例 #1
0
ファイル: metadata_test.go プロジェクト: anthonyikeda/fargo
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>")
			})
		})
	})
}