@@ -8,20 +8,21 @@ import (
88 "testing"
99
1010 "github.com/bitly/go-simplejson"
11−
1211 "github.com/stretchr/testify/assert"
12+ "github.com/stretchr/testify/require"
1313)
1414
15−func testBackend(responseCode int, payload string) *httptest.Server {
15+func testBackend(t *testing.T, responseCode int, payload string) *httptest.Server {
1616 return httptest.NewServer(http.HandlerFunc(
1717 func(w http.ResponseWriter, r *http.Request) {
1818 w.WriteHeader(responseCode)
19− w.Write([]byte(payload))
19+ _, err := w.Write([]byte(payload))
20+ require.NoError(t, err)
2021 }))
2122}
2223
2324func TestRequest(t *testing.T) {
24− backend := testBackend(200, "{\"foo\": \"bar\"}")
25+ backend := testBackend(t, 200, "{\"foo\": \"bar\"}")
2526 defer backend.Close()
2627
2728 req, _ := http.NewRequest("GET", backend.URL, nil)
@@ -35,7 +36,7 @@ func TestRequest(t *testing.T) {
3536func TestRequestFailure(t *testing.T) {
3637 // Create a backend to generate a test URL, then close it to cause a
3738 // connection error.
38− backend := testBackend(200, "{\"foo\": \"bar\"}")
39+ backend := testBackend(t, 200, "{\"foo\": \"bar\"}")
3940 backend.Close()
4041
4142 req, err := http.NewRequest("GET", backend.URL, nil)
@@ -49,7 +50,7 @@ func TestRequestFailure(t *testing.T) {
4950}
5051
5152func TestHttpErrorCode(t *testing.T) {
52− backend := testBackend(404, "{\"foo\": \"bar\"}")
53+ backend := testBackend(t, 404, "{\"foo\": \"bar\"}")
5354 defer backend.Close()
5455
5556 req, err := http.NewRequest("GET", backend.URL, nil)
@@ -60,7 +61,7 @@ func TestHttpErrorCode(t *testing.T) {
6061}
6162
6263func TestJsonParsingError(t *testing.T) {
63− backend := testBackend(200, "not well-formed JSON")
64+ backend := testBackend(t, 200, "not well-formed JSON")
6465 defer backend.Close()
6566
6667 req, err := http.NewRequest("GET", backend.URL, nil)
@@ -77,7 +78,8 @@ func TestRequestUnparsedResponseUsingAccessTokenParameter(t *testing.T) {
7778 token := r.FormValue("access_token")
7879 if r.URL.Path == "/" && token == "my_token" {
7980 w.WriteHeader(200)
80− w.Write([]byte("some payload"))
81+ _, err := w.Write([]byte("some payload"))
82+ require.NoError(t, err)
8183 } else {
8284 w.WriteHeader(403)
8385 }
@@ -86,16 +88,17 @@ func TestRequestUnparsedResponseUsingAccessTokenParameter(t *testing.T) {
8688
8789 response, err := RequestUnparsedResponse(
8890 backend.URL+"?access_token=my_token", nil)
91+ defer response.Body.Close()
92+
8993 assert.Equal(t, nil, err)
9094 assert.Equal(t, 200, response.StatusCode)
9195 body, err := ioutil.ReadAll(response.Body)
9296 assert.Equal(t, nil, err)
93− response.Body.Close()
9497 assert.Equal(t, "some payload", string(body))
9598}
9699
97100func TestRequestUnparsedResponseUsingAccessTokenParameterFailedResponse(t *testing.T) {
98− backend := testBackend(200, "some payload")
101+ backend := testBackend(t, 200, "some payload")
99102 // Close the backend now to force a request failure.
100103 backend.Close()
101104
@@ -110,7 +113,8 @@ func TestRequestUnparsedResponseUsingHeaders(t *testing.T) {
110113 func(w http.ResponseWriter, r *http.Request) {
111114 if r.URL.Path == "/" && r.Header["Auth"][0] == "my_token" {
112115 w.WriteHeader(200)
113− w.Write([]byte("some payload"))
116+ _, err := w.Write([]byte("some payload"))
117+ require.NoError(t, err)
114118 } else {
115119 w.WriteHeader(403)
116120 }
@@ -120,10 +124,12 @@ func TestRequestUnparsedResponseUsingHeaders(t *testing.T) {
120124 headers := make(http.Header)
121125 headers.Set("Auth", "my_token")
122126 response, err := RequestUnparsedResponse(backend.URL, headers)
127+ defer response.Body.Close()
128+
123129 assert.Equal(t, nil, err)
124130 assert.Equal(t, 200, response.StatusCode)
125131 body, err := ioutil.ReadAll(response.Body)
126132 assert.Equal(t, nil, err)
127− response.Body.Close()
133+
128134 assert.Equal(t, "some payload", string(body))
129135}