1eb9e8c9b0
While there, also change to pointer receiver and use internal testing for what are clearly unit tests. Part of https://github.com/ooni/probe/issues/1591.
37 lines
929 B
Go
37 lines
929 B
Go
package mocks
|
|
|
|
import "net/http"
|
|
|
|
// HTTPTransport mocks netxlite.HTTPTransport.
|
|
type HTTPTransport struct {
|
|
MockRoundTrip func(req *http.Request) (*http.Response, error)
|
|
MockCloseIdleConnections func()
|
|
}
|
|
|
|
// RoundTrip calls MockRoundTrip.
|
|
func (txp *HTTPTransport) RoundTrip(req *http.Request) (*http.Response, error) {
|
|
return txp.MockRoundTrip(req)
|
|
}
|
|
|
|
// CloseIdleConnections calls MockCloseIdleConnections.
|
|
func (txp *HTTPTransport) CloseIdleConnections() {
|
|
txp.MockCloseIdleConnections()
|
|
}
|
|
|
|
// HTTPClient allows mocking an http.Client.
|
|
type HTTPClient struct {
|
|
MockDo func(req *http.Request) (*http.Response, error)
|
|
|
|
MockCloseIdleConnections func()
|
|
}
|
|
|
|
// Do calls MockDo.
|
|
func (txp *HTTPClient) Do(req *http.Request) (*http.Response, error) {
|
|
return txp.MockDo(req)
|
|
}
|
|
|
|
// CloseIdleConnections calls MockCloseIdleConnections.
|
|
func (txp *HTTPClient) CloseIdleConnections() {
|
|
txp.MockCloseIdleConnections()
|
|
}
|