- package client
-
- import (
- "io/ioutil"
- "log"
- "net/http"
- "net/http/httptest"
- "testing"
-
- "github.com/stretchr/testify/require"
- )
-
- func TestHTTPClientMakeHTTPDialer(t *testing.T) {
- handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- _, _ = w.Write([]byte("Hi!\n"))
- })
- ts := httptest.NewServer(handler)
- defer ts.Close()
-
- tsTLS := httptest.NewTLSServer(handler)
- defer tsTLS.Close()
- // This silences a TLS handshake error, caused by the dialer just immediately
- // disconnecting, which we can just ignore.
- tsTLS.Config.ErrorLog = log.New(ioutil.Discard, "", 0)
-
- for _, testURL := range []string{ts.URL, tsTLS.URL} {
- u, err := newParsedURL(testURL)
- require.NoError(t, err)
- dialFn, err := makeHTTPDialer(testURL)
- require.Nil(t, err)
-
- addr, err := dialFn(u.Scheme, u.GetHostWithPath())
- require.NoError(t, err)
- require.NotNil(t, addr)
- }
- }
|