github.com/hoffie/larasync@v0.0.0-20151025221940-0384d2bddcef/api/server/blob_test.go (about) 1 package server 2 3 import ( 4 "bytes" 5 "fmt" 6 "io/ioutil" 7 8 . "gopkg.in/check.v1" 9 ) 10 11 type BlobTests struct { 12 BaseTests 13 blobID string 14 blobData []byte 15 } 16 17 func createBlobTests() BlobTests { 18 return BlobTests{ 19 BaseTests: newBaseTest(), 20 } 21 } 22 23 func (t *BlobTests) SetUpTest(c *C) { 24 t.BaseTests.SetUpTest(c) 25 t.blobID = "1234567890" 26 t.blobData = []byte("This is testdata") 27 baseURLGet := t.getURL 28 t.getURL = func() string { 29 return fmt.Sprintf( 30 "%s/blobs/%s", 31 baseURLGet(), 32 t.blobID, 33 ) 34 } 35 t.req = t.requestWithBytes(c, nil) 36 } 37 38 func (t *BlobTests) createBlob(c *C) { 39 t.createBlobWithData(c, t.blobData) 40 } 41 42 func (t *BlobTests) createBlobWithData(c *C, data []byte) { 43 if !t.rm.Exists(t.repositoryName) { 44 t.createRepository(c) 45 } 46 47 repository, err := t.rm.Open(t.repositoryName) 48 c.Assert(err, IsNil) 49 err = repository.AddObject(t.blobID, bytes.NewReader(data)) 50 c.Assert(err, IsNil) 51 } 52 53 func (t *BlobTests) expectStoredBlobData(c *C) { 54 t.expectStoredData(c, t.blobData) 55 } 56 57 func (t *BlobTests) expectStoredData(c *C, expectedData []byte) { 58 repository, err := t.rm.Open(t.repositoryName) 59 c.Assert(err, IsNil) 60 reader, err := repository.GetObjectData(t.blobID) 61 c.Assert(err, IsNil) 62 retrievedData, err := ioutil.ReadAll(reader) 63 c.Assert(err, IsNil) 64 err = reader.Close() 65 c.Assert(err, IsNil) 66 c.Assert(retrievedData, DeepEquals, expectedData) 67 }