github.com/wtfutil/wtf@v0.43.0/modules/urlcheck/client_test.go (about)

     1  package urlcheck
     2  
     3  import (
     4  	"net/http"
     5  	"net/http/httptest"
     6  	"testing"
     7  	"time"
     8  
     9  	"gotest.tools/assert"
    10  )
    11  
    12  func TestTimeout(t *testing.T) {
    13  
    14  	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    15  		time.Sleep(time.Second * 1)
    16  	}))
    17  	defer ts.Close()
    18  
    19  	client := &http.Client{
    20  		Timeout: time.Millisecond * 10,
    21  	}
    22  
    23  	timeout := 1 * time.Microsecond
    24  	statusCode, statusMsg := DoRequest(ts.URL, timeout, client)
    25  
    26  	assert.Equal(t, 999, statusCode)
    27  	assert.Equal(t, "Timeout", statusMsg)
    28  
    29  }