// UploadBundle uploads a bundle using the given charm store client, and // returns the resulting bundle URL and bundle. func UploadBundle(c *gc.C, client *csclient.Client, url, name string) (*charm.URL, charm.Bundle) { id := charm.MustParseURL(url) promulgatedRevision := -1 if id.User == "" { // We still need a user even if we are uploading a promulgated bundle. id.User = "******" promulgatedRevision = id.Revision } b := Repo.BundleArchive(c.MkDir(), name) // Upload the bundle. err := client.UploadBundleWithRevision(id, b, promulgatedRevision) c.Assert(err, jc.ErrorIsNil) SetPublic(c, client, id) // Return the bundle and its URL. return id, b }
// UploadBundle uploads a bundle using the given charm store client, and // returns the resulting bundle URL and bundle. func UploadBundle(c *gc.C, client *csclient.Client, url, name string) (*charm.URL, charm.Bundle) { id := charm.MustParseURL(url) promulgatedRevision := -1 if id.User == "" { // We still need a user even if we are uploading a promulgated bundle. id.User = "******" promulgatedRevision = id.Revision } b := Repo.BundleArchive(c.MkDir(), name) // Upload the bundle. err := client.UploadBundleWithRevision(id, b, promulgatedRevision) c.Assert(err, jc.ErrorIsNil) // Allow read permissions to everyone. err = client.Put("/"+id.Path()+"/meta/perm/read", []string{params.Everyone}) c.Assert(err, jc.ErrorIsNil) // Return the bundle and its URL. return id, b }