func checkFileHasContents(c *C, storage environs.StorageReader, name string, contents []byte, attempt trivial.AttemptStrategy) { r, err := storage.Get(name) c.Assert(err, IsNil) c.Check(r, NotNil) defer r.Close() data, err := ioutil.ReadAll(r) c.Check(err, IsNil) c.Check(data, DeepEquals, contents) url, err := storage.URL(name) c.Assert(err, IsNil) var resp *http.Response for a := attempt.Start(); a.Next(); { resp, err = http.Get(url) c.Assert(err, IsNil) if resp.StatusCode != 404 { break } c.Logf("get retrying after earlier get succeeded. *sigh*.") } c.Assert(err, IsNil) data, err = ioutil.ReadAll(resp.Body) c.Assert(err, IsNil) defer resp.Body.Close() c.Assert(resp.StatusCode, Equals, 200, Commentf("error response: %s", data)) c.Check(data, DeepEquals, contents) }
func checkFileHasContents(c *C, storage environs.StorageReader, name string, contents []byte) { r, err := storage.Get(name) c.Assert(err, IsNil) c.Check(r, NotNil) defer r.Close() data, err := ioutil.ReadAll(r) c.Check(err, IsNil) c.Check(data, DeepEquals, contents) url, err := storage.URL(name) c.Assert(err, IsNil) resp, err := http.Get(url) c.Assert(err, IsNil) data, err = ioutil.ReadAll(resp.Body) c.Assert(err, IsNil) defer resp.Body.Close() c.Assert(resp.StatusCode, Equals, http.StatusOK, Commentf("error response: %s", data)) c.Check(data, DeepEquals, contents) }