github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/controller/api/webhookkeys_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/dockerhub" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestApiGetWebhookKeys(t *testing.T) { 14 api, err := getTestApi() 15 if err != nil { 16 t.Fatal(err) 17 } 18 19 ts := httptest.NewServer(http.HandlerFunc(api.webhookKeys)) 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 keys := []*dockerhub.WebhookKey{} 29 30 if err := json.NewDecoder(res.Body).Decode(&keys); err != nil { 31 t.Fatal(err) 32 } 33 34 assert.NotEqual(t, len(keys), 0, "expected keys; received none") 35 36 key := "abcdefg" 37 38 assert.Equal(t, keys[0].Key, key, "expected key %s; received %s", key, keys[0].Key) 39 }