cert-manager-webhook-example/test/testclient.go

30 lines
578 B
Go

package test
import (
"context"
"crypto/tls"
"net"
"net/http"
"net/http/httptest"
)
// Testclient ...
type Testclient struct{}
// TestingHTTPClient ...
func (c Testclient) TestingHTTPClient(handler http.Handler) (*http.Client, func()) {
s := httptest.NewTLSServer(handler)
cli := &http.Client{
Transport: &http.Transport{
DialContext: func(_ context.Context, network, _ string) (net.Conn, error) {
return net.Dial(network, s.Listener.Addr().String())
},
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
},
}
return cli, s.Close
}