package mocks import "net/http" // HTTPTransport mocks netxlite.HTTPTransport. type HTTPTransport struct { MockNetwork func() string MockRoundTrip func(req *http.Request) (*http.Response, error) MockCloseIdleConnections func() } // Network calls MockNetwork. func (txp *HTTPTransport) Network() string { return txp.MockNetwork() } // 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() } // HTTPResponseWriter allows mocking http.ResponseWriter. type HTTPResponseWriter struct { MockHeader func() http.Header MockWrite func(b []byte) (int, error) MockWriteHeader func(statusCode int) } var _ http.ResponseWriter = &HTTPResponseWriter{} func (w *HTTPResponseWriter) Header() http.Header { return w.MockHeader() } func (w *HTTPResponseWriter) Write(b []byte) (int, error) { return w.MockWrite(b) } func (w *HTTPResponseWriter) WriteHeader(statusCode int) { w.MockWriteHeader(statusCode) }