Skip to content

Commit

Permalink
test: don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997)
Browse files Browse the repository at this point in the history
This test relied on connecting to the external site `foo-bar.net`, and (predictably) the site went down and broke all of our CI runs. This changes it to use local HTTP servers instead.

(cherry picked from commit f54f80b)
  • Loading branch information
erikgrinaker authored and Sangyeop.lee committed Feb 2, 2021
1 parent 1baf670 commit b93b9b7
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions rpc/jsonrpc/client/http_json_client_test.go
Original file line number Diff line number Diff line change
@@ -1,23 +1,36 @@
package client

import (
"io/ioutil"
"log"
"net/http"
"net/http/httptest"
"testing"

"github.com/stretchr/testify/require"
)

func TestHTTPClientMakeHTTPDialer(t *testing.T) {
remote := []string{"https://foo-bar.com:80", "http://foo-bar.net:80", "https://user:pass@foo-bar.net:80"}
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_, _ = w.Write([]byte("Hi!\n"))
})
ts := httptest.NewServer(handler)
defer ts.Close()

for _, f := range remote {
u, err := newParsedURL(f)
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(f)
dialFn, err := makeHTTPDialer(testURL)
require.Nil(t, err)

addr, err := dialFn(u.Scheme, u.GetHostWithPath())
require.NoError(t, err)
require.NotNil(t, addr)
}

}

0 comments on commit b93b9b7

Please sign in to comment.