github.com/hoffie/larasync@v0.0.0-20151025221940-0384d2bddcef/api/server/blobGet_test.go (about) 1 package server 2 3 import ( 4 "io/ioutil" 5 "net/http" 6 7 . "gopkg.in/check.v1" 8 ) 9 10 type BlobGetTests struct { 11 BlobTests 12 } 13 14 var _ = Suite( 15 &BlobGetTests{ 16 createBlobTests(), 17 }, 18 ) 19 20 func (t *BlobGetTests) TestRepoAccessUnauthorized(c *C) { 21 t.createRepository(c) 22 resp := t.getResponse(t.req) 23 c.Assert(resp.Code, Equals, http.StatusUnauthorized) 24 } 25 26 // Should return unauthorized if repository does not exist. 27 func (t *BlobGetTests) TestRepoAccessNotFound(c *C) { 28 t.signRequest() 29 resp := t.getResponse(t.req) 30 c.Assert(resp.Code, Equals, http.StatusUnauthorized) 31 } 32 33 // Should return not found if blobID does not exist. 34 func (t *BlobGetTests) TestBlobNotFound(c *C) { 35 t.createRepository(c) 36 t.signRequest() 37 resp := t.getResponse(t.req) 38 c.Assert(resp.Code, Equals, http.StatusNotFound) 39 } 40 41 func (t *BlobGetTests) TestBlobFound(c *C) { 42 t.createRepository(c) 43 t.createBlob(c) 44 t.signRequest() 45 resp := t.getResponse(t.req) 46 c.Assert(resp.Code, Equals, http.StatusOK) 47 } 48 49 func (t *BlobGetTests) TestBlobGetData(c *C) { 50 t.createRepository(c) 51 t.createBlob(c) 52 t.signRequest() 53 resp := t.getResponse(t.req) 54 data, err := ioutil.ReadAll(resp.Body) 55 c.Assert(err, IsNil) 56 c.Assert(data, DeepEquals, t.blobData) 57 }