github.com/juju/charmrepo/v7@v7.0.1/csclient/params/params_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the LGPLv3, see LICENCE file for details. 3 4 package params_test // import "github.com/juju/charmrepo/v7/csclient/params" 5 6 import ( 7 "encoding/json" 8 "net/textproto" 9 10 "github.com/go-macaroon-bakery/macaroon-bakery/v3/httpbakery" 11 jc "github.com/juju/testing/checkers" 12 gc "gopkg.in/check.v1" 13 14 "github.com/juju/charmrepo/v7/csclient/params" 15 ) 16 17 type suite struct{} 18 19 var _ = gc.Suite(&suite{}) 20 21 func (*suite) TestContentHashHeaderCanonicalized(c *gc.C) { 22 // The header key should be canonicalized, because otherwise 23 // the actually produced header will be different from that 24 // specified. 25 canon := textproto.CanonicalMIMEHeaderKey(params.ContentHashHeader) 26 c.Assert(canon, gc.Equals, params.ContentHashHeader) 27 } 28 29 func (*suite) TestBakeryErrorCompatibility(c *gc.C) { 30 err1 := httpbakery.Error{ 31 Code: httpbakery.ErrBadRequest, 32 Message: "some request", 33 } 34 err2 := params.Error{ 35 Code: params.ErrBadRequest, 36 Message: "some request", 37 } 38 data1, err := json.Marshal(err1) 39 c.Assert(err, gc.IsNil) 40 c.Assert(string(data1), jc.JSONEquals, err2) 41 }