func (s *downloadSuite) TestSuccessfulRequest(c *gc.C) { store := backups.NewStorage(s.State) defer store.Close() backupsState := backups.NewBackups(store) r := strings.NewReader("<compressed archive data>") meta, err := backups.NewMetadataState(s.State, "0") c.Assert(err, jc.ErrorIsNil) // The Add method requires the length to be set // otherwise the content is assumed to have length 0. meta.Raw.Size = int64(r.Len()) id, err := backupsState.Add(r, meta) c.Assert(err, jc.ErrorIsNil) resultArchive, err := s.client.Download(id) c.Assert(err, jc.ErrorIsNil) resultData, err := ioutil.ReadAll(resultArchive) c.Assert(err, jc.ErrorIsNil) c.Check(string(resultData), gc.Equals, "<compressed archive data>") }
func extractResourceValue(resources *common.Resources, key string) (string, error) { res := resources.Get(key) strRes, ok := res.(common.StringResource) if !ok { if res == nil { strRes = "" } else { return "", errors.Errorf("invalid %s resource: %v", key, res) } } return strRes.String(), nil } var newBackups = func(st *state.State) (backups.Backups, io.Closer) { stor := backups.NewStorage(st) return backups.NewBackups(stor), stor } // ResultFromMetadata updates the result with the information in the // metadata value. func ResultFromMetadata(meta *backups.Metadata) params.BackupsMetadataResult { var result params.BackupsMetadataResult result.ID = meta.ID() result.Checksum = meta.Checksum() result.ChecksumFormat = meta.ChecksumFormat() result.Size = meta.Size() if meta.Stored() != nil { result.Stored = *(meta.Stored())
func extractResourceValue(resources facade.Resources, key string) (string, error) { res := resources.Get(key) strRes, ok := res.(common.StringResource) if !ok { if res == nil { strRes = "" } else { return "", errors.Errorf("invalid %s resource: %v", key, res) } } return strRes.String(), nil } var newBackups = func(backend Backend) (backups.Backups, io.Closer) { stor := backups.NewStorage(backend) return backups.NewBackups(stor), stor } // ResultFromMetadata updates the result with the information in the // metadata value. func ResultFromMetadata(meta *backups.Metadata) params.BackupsMetadataResult { var result params.BackupsMetadataResult result.ID = meta.ID() result.Checksum = meta.Checksum() result.ChecksumFormat = meta.ChecksumFormat() result.Size = meta.Size() if meta.Stored() != nil { result.Stored = *(meta.Stored())