in internal/mock/sqladmin.go [39:68]
func httpClient(requests ...*Request) (*http.Client, string, func() error) {
// Create a TLS Server that responses to the requests defined
s := httptest.NewTLSServer(http.HandlerFunc(
func(resp http.ResponseWriter, req *http.Request) {
for _, r := range requests {
if r.matches(req) {
r.handle(resp, req)
return
}
}
// Unexpected requests should throw an error
resp.WriteHeader(http.StatusBadRequest)
// TODO: follow error format better?
resp.Write([]byte(fmt.Sprintf("unexpected request sent to mock client: %v", req)))
},
))
// cleanup stops the test server and checks for uncalled requests
cleanup := func() error {
s.Close()
for i, e := range requests {
if e.reqCt > 0 {
return fmt.Errorf("%d calls left for specified call in pos %d: %v", e.reqCt, i, e)
}
}
return nil
}
return s.Client(), s.URL, cleanup
}