github.com/icyphox/x@v0.0.355-0.20220311094250-029bd783e8b8/httpx/chan_handler_test.go (about) 1 package httpx 2 3 import ( 4 "net/http" 5 "net/http/httptest" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestChanHandler(t *testing.T) { 13 h, c := NewChanHandler(1) 14 s := httptest.NewServer(h) 15 16 c <- func(w http.ResponseWriter, _ *http.Request) { 17 w.WriteHeader(555) 18 } 19 resp, err := s.Client().Get(s.URL) 20 require.NoError(t, err) 21 assert.Equal(t, 555, resp.StatusCode) 22 23 c <- func(w http.ResponseWriter, _ *http.Request) { 24 w.WriteHeader(337) 25 } 26 resp, err = s.Client().Get(s.URL) 27 require.NoError(t, err) 28 assert.Equal(t, 337, resp.StatusCode) 29 }