transport_test: added TestNilTokenSource + close res.Body per GET + TestTransportNilTokenSource added. + res.Body.Close() in tests to cut leaks and also to increase test coverage for *onEOFReader. Change-Id: I1b962b7ecbc4f6f8b5bcccc6870c025e89ad9c1a Reviewed-on: https://go-review.googlesource.com/18141 Reviewed-by: Burcu Dogan <jbd@google.com>
diff --git a/transport_test.go b/transport_test.go index 35cb25e..9bb1383 100644 --- a/transport_test.go +++ b/transport_test.go
@@ -13,6 +13,20 @@ return t.token, nil } +func TestTransportNilTokenSource(t *testing.T) { + tr := &Transport{} + server := newMockServer(func(w http.ResponseWriter, r *http.Request) {}) + defer server.Close() + client := &http.Client{Transport: tr} + res, err := client.Get(server.URL) + if err == nil { + t.Errorf("a nil Source was passed into the transport expected an error") + } + if res != nil { + t.Errorf("expected a nil response, got %v", res) + } +} + func TestTransportTokenSource(t *testing.T) { ts := &tokenSource{ token: &Token{ @@ -28,8 +42,12 @@ } }) defer server.Close() - client := http.Client{Transport: tr} - client.Get(server.URL) + client := &http.Client{Transport: tr} + res, err := client.Get(server.URL) + if err != nil { + t.Fatal(err) + } + res.Body.Close() } // Test for case-sensitive token types, per https://github.com/golang/oauth2/issues/113 @@ -60,8 +78,12 @@ } }) defer server.Close() - client := http.Client{Transport: tr} - client.Get(server.URL) + client := &http.Client{Transport: tr} + res, err := client.Get(server.URL) + if err != nil { + t.Fatal(err) + } + res.Body.Close() } }