Files
athens/pkg/storage/mongo/mongo_test.go
marpio 58d42a1b57 Stream zips (#200)
* 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
2018-07-07 08:46:43 -07:00

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)
}