package scaleset import ( "net/http" "net/url" "testing" "github.com/actions/scaleset/testserver" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.org/x/net/http/httpproxy" ) func TestClientProxy(t *testing.T) { serverCalled := false proxy := testserver.New(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { serverCalled = true })) proxyConfig := &httpproxy.Config{ HTTPProxy: proxy.URL, } proxyFunc := func(req *http.Request) (*url.URL, error) { return proxyConfig.ProxyFunc()(req.URL) } c, err := NewClient("http://github.com/org/repo", nil, WithProxy(proxyFunc)) require.NoError(t, err) req, err := http.NewRequest(http.MethodGet, "http://example.com", nil) require.NoError(t, err) _, err = c.do(req) require.NoError(t, err) assert.True(t, serverCalled) }