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()
}
}