| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package node
- import (
- "net/http"
- "net/http/httptest"
- "testing"
- "github.com/ethereum/go-ethereum/rpc"
- "github.com/stretchr/testify/assert"
- )
- func TestNewWebsocketUpgradeHandler_websocket(t *testing.T) {
- srv := rpc.NewServer()
- handler := NewWebsocketUpgradeHandler(nil, srv.WebsocketHandler([]string{}))
- ts := httptest.NewServer(handler)
- defer ts.Close()
- responses := make(chan *http.Response)
- go func(responses chan *http.Response) {
- client := &http.Client{}
- req, _ := http.NewRequest(http.MethodGet, ts.URL, nil)
- req.Header.Set("Connection", "upgrade")
- req.Header.Set("Upgrade", "websocket")
- req.Header.Set("Sec-WebSocket-Version", "13")
- req.Header.Set("Sec-Websocket-Key", "SGVsbG8sIHdvcmxkIQ==")
- resp, err := client.Do(req)
- if err != nil {
- t.Error("could not issue a GET request to the test http server", err)
- }
- responses <- resp
- }(responses)
- response := <-responses
- assert.Equal(t, "websocket", response.Header.Get("Upgrade"))
- }
|