Files
podinfo/pkg/api/http/echows_test.go
Stefan Prodan 4920afdafb Improve test coverage of the HTTP API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2026-05-20 11:07:35 +03:00

37 lines
781 B
Go

package http
import (
"net/http/httptest"
"strings"
"testing"
"github.com/gorilla/websocket"
)
func TestEchoWsHandler(t *testing.T) {
srv := NewMockServer()
srv.router.HandleFunc("/ws/echo", srv.echoWsHandler)
server := httptest.NewServer(srv.router)
defer server.Close()
wsURL := "ws" + strings.TrimPrefix(server.URL, "http") + "/ws/echo"
ws, _, err := websocket.DefaultDialer.Dial(wsURL, nil)
if err != nil {
t.Fatalf("websocket dial failed: %v", err)
}
defer ws.Close()
msg := "hello websocket"
if err := ws.WriteMessage(websocket.TextMessage, []byte(msg)); err != nil {
t.Fatalf("write failed: %v", err)
}
_, p, err := ws.ReadMessage()
if err != nil {
t.Fatalf("read failed: %v", err)
}
if len(p) == 0 {
t.Error("received empty message")
}
}