github.com/kubeshop/testkube@v1.17.23/pkg/event/kind/websocket/loader_test.go (about) 1 package websocket 2 3 import ( 4 "testing" 5 6 fastwebsocket "github.com/fasthttp/websocket" 7 "github.com/gofiber/websocket/v2" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestLoader_Add(t *testing.T) { 12 13 t.Run("adds connection to websockets pool", func(t *testing.T) { 14 t.Skip("not implemented - TODO find a way to get real websocket connection") 15 // given 16 l := NewWebsocketLoader() 17 ws := newTestWebsocket() 18 19 // when 20 l.Add(ws) 21 l.Add(ws) 22 23 // then 24 assert.Equal(t, 2, len(l.Listener.Websockets)) 25 }) 26 27 t.Run("should remove websocket on connection close", func(t *testing.T) { 28 t.Skip("not implemented - figure out how to call handle close") 29 30 // given 31 l := NewWebsocketLoader() 32 ws := newTestWebsocket() 33 l.Add(ws) 34 assert.Equal(t, 1, len(l.Listener.Websockets)) 35 36 // when 37 // on close is handled on frame with CloseMessage 38 l.Listener.Websockets[0].Conn.Close() 39 40 // then 41 assert.Equal(t, 0, len(l.Listener.Websockets)) 42 }) 43 } 44 45 // nolint 46 func newTestWebsocket() *websocket.Conn { 47 return &websocket.Conn{Conn: &fastwebsocket.Conn{}} 48 }