github.com/qiniu/go-sdk/v7@v7.27.0/client/dialer_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package client 5 6 import ( 7 "context" 8 "fmt" 9 "net" 10 "net/http" 11 "net/http/httptest" 12 "testing" 13 ) 14 15 func TestDefaultDialer(t *testing.T) { 16 var responseBody struct { 17 Status string `json:"status"` 18 } 19 mux := http.NewServeMux() 20 mux.Handle("/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 21 w.Header().Add("Content-Type", "application/json") 22 w.Write([]byte(`{"status":"ok"}`)) 23 })) 24 server := httptest.NewServer(mux) 25 defer server.Close() 26 27 port := server.Listener.Addr().(*net.TCPAddr).Port 28 29 ctx := WithResolvedIPs(context.Background(), "www.qiniu.com", []net.IP{net.IPv4(127, 0, 0, 1)}) 30 err := DefaultClient.Call(ctx, &responseBody, http.MethodGet, fmt.Sprintf("http://www.qiniu.com:%d/", port), nil) 31 if err != nil { 32 t.Fatal(err) 33 } 34 if responseBody.Status != "ok" { 35 t.Fatal("unexpected response") 36 } 37 }