refactor(oohelperd): improve tests implementation (#835)

After this diff has landed, we have addressed all the points
originally published at https://github.com/ooni/probe/issues/2134.
This commit is contained in:
Simone Basso 2022-07-05 20:25:18 +02:00 committed by GitHub
commit d419ed8ac8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 186 additions and 168 deletions

View file

@ -40,3 +40,26 @@ func (txp *HTTPClient) Do(req *http.Request) (*http.Response, error) {
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)
}