client/client_mock_test.go
7c36a1af
 package client
 
 import (
 	"bytes"
 	"encoding/json"
 	"io/ioutil"
 	"net/http"
 
 	"github.com/docker/docker/api/types"
 )
 
9a072adf
 func newMockClient(doer func(*http.Request) (*http.Response, error)) *http.Client {
 	return &http.Client{
 		Transport: transportFunc(doer),
7c36a1af
 	}
 }
 
 func errorMock(statusCode int, message string) func(req *http.Request) (*http.Response, error) {
 	return func(req *http.Request) (*http.Response, error) {
 		header := http.Header{}
 		header.Set("Content-Type", "application/json")
 
 		body, err := json.Marshal(&types.ErrorResponse{
 			Message: message,
 		})
 		if err != nil {
 			return nil, err
 		}
 
 		return &http.Response{
 			StatusCode: statusCode,
 			Body:       ioutil.NopCloser(bytes.NewReader(body)),
 			Header:     header,
 		}, nil
 	}
 }
 
 func plainTextErrorMock(statusCode int, message string) func(req *http.Request) (*http.Response, error) {
 	return func(req *http.Request) (*http.Response, error) {
 		return &http.Response{
 			StatusCode: statusCode,
 			Body:       ioutil.NopCloser(bytes.NewReader([]byte(message))),
 		}, nil
 	}
 }