mirror of
https://github.com/gomods/athens
synced 2026-02-03 11:00:32 +00:00
* storage.saver interface - use io.reader instead of []byte * stream zip - backendconnector * stream zip - azurecdn * stream zip - fs * storage - switch to io.Reader * update callers of Save * rm empty line * makezip stream * refactor mergedb * add multierror dep * mergedb multierror * scope err * update storages * return pipereader * fix test * use multierror for all strorage drivers * review feedback * azure cdn storage - use UploadStreamToBlockBlob * use numUpload * use timeout ctx
39 lines
897 B
Go
39 lines
897 B
Go
package mongo
|
|
|
|
import (
|
|
"bytes"
|
|
"context"
|
|
"io/ioutil"
|
|
)
|
|
|
|
func (m *MongoTests) TestGetSaveListRoundTrip() {
|
|
r := m.Require()
|
|
m.storage.Save(context.Background(), module, version, mod, bytes.NewReader(zip), info)
|
|
listedVersions, err := m.storage.List(module)
|
|
r.NoError(err)
|
|
r.Equal(1, len(listedVersions))
|
|
retVersion := listedVersions[0]
|
|
r.Equal(version, retVersion)
|
|
gotten, err := m.storage.Get(module, version)
|
|
r.NoError(err)
|
|
defer gotten.Zip.Close()
|
|
// TODO: test the time
|
|
r.Equal(gotten.Mod, mod)
|
|
zipContent, err := ioutil.ReadAll(gotten.Zip)
|
|
r.NoError(err)
|
|
r.Equal(zipContent, zip)
|
|
r.Equal(gotten.Info, info)
|
|
}
|
|
|
|
func (m *MongoTests) TestNewMongoStorage() {
|
|
r := m.Require()
|
|
url := "mongodb://127.0.0.1:27017"
|
|
getterSaver := NewStorage(url)
|
|
getterSaver.Connect()
|
|
|
|
r.NotNil(getterSaver.c)
|
|
r.NotNil(getterSaver.d)
|
|
r.NotNil(getterSaver.s)
|
|
r.Equal(getterSaver.url, url)
|
|
}
|