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  }