func (*macaroonSuite) TestMarshalJSON(c *gc.C) { rootKey := []byte("secret") m0 := MustNew(rootKey, "some id", "a location") m0.AddFirstPartyCaveat("account = 3735928559") m0JSON, err := json.Marshal(m0) c.Assert(err, gc.IsNil) var m1 macaroon.Macaroon err = json.Unmarshal(m0JSON, &m1) c.Assert(err, gc.IsNil) c.Assert(m0.Location(), gc.Equals, m1.Location()) c.Assert(m0.Id(), gc.Equals, m1.Id()) c.Assert( hex.EncodeToString(m0.Signature()), gc.Equals, hex.EncodeToString(m1.Signature())) }