github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/controller/api/events_test.go (about) 1 package api 2 3 import ( 4 "encoding/json" 5 "net/http" 6 "net/http/httptest" 7 "testing" 8 9 "github.com/shipyard/shipyard" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestApiGetEvents(t *testing.T) { 14 api, err := getTestApi() 15 if err != nil { 16 t.Fatal(err) 17 } 18 19 ts := httptest.NewServer(http.HandlerFunc(api.events)) 20 defer ts.Close() 21 22 res, err := http.Get(ts.URL) 23 if err != nil { 24 t.Fatal(err) 25 } 26 27 assert.Equal(t, res.StatusCode, 200, "expected response code 200") 28 events := []*shipyard.Event{} 29 30 if err := json.NewDecoder(res.Body).Decode(&events); err != nil { 31 t.Fatal(err) 32 } 33 34 assert.NotEqual(t, len(events), 0, "expected events; received none") 35 } 36 37 func TestApiPurgeEvents(t *testing.T) { 38 api, err := getTestApi() 39 if err != nil { 40 t.Fatal(err) 41 } 42 43 transport := &http.Transport{} 44 client := &http.Client{Transport: transport} 45 46 ts := httptest.NewServer(http.HandlerFunc(api.purgeEvents)) 47 defer ts.Close() 48 49 req, err := http.NewRequest("DELETE", ts.URL, nil) 50 if err != nil { 51 t.Fatal(err) 52 } 53 54 res, err := client.Do(req) 55 if err != nil { 56 t.Fatal(err) 57 } 58 59 assert.Equal(t, res.StatusCode, 204, "expected response code 204") 60 }