• Johan Brandhorst's avatar
    net/http: use httptest.Server Client in tests · 3b988eb6
    Johan Brandhorst authored
    After merging https://go-review.googlesource.com/c/34639/,
    it was pointed out to me that a lot of tests under net/http
    could use the new functionality to simplify and unify testing.
    
    Using the httptest.Server provided Client removes the need to
    call CloseIdleConnections() on all Transports created, as it
    is automatically called on the Transport associated with the
    client when Server.Close() is called.
    
    Change the transport used by the non-TLS
    httptest.Server to a new *http.Transport rather than using
    http.DefaultTransport implicitly. The TLS version already
    used its own *http.Transport. This change is to prevent
    concurrency problems with using DefaultTransport implicitly
    across several httptest.Server's.
    
    Add tests to ensure the httptest.Server.Client().Transport
    RoundTripper interface is implemented by a *http.Transport,
    as is now assumed across large parts of net/http tests.
    
    Change-Id: I9f9d15f59d72893deead5678d314388718c91821
    Reviewed-on: https://go-review.googlesource.com/37771
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    3b988eb6
server.go 9.57 KB