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  }