MCPcopy
hub / github.com/cloudflare/cloudflared / TestServe

Function TestServe

carrier/websocket_test.go:41–79  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

39}
40
41func TestServe(t *testing.T) {
42 log := zerolog.Nop()
43 shutdownC := make(chan struct{})
44 errC := make(chan error)
45 listener, err := hello.CreateTLSListener("localhost:1111")
46 assert.NoError(t, err)
47 defer listener.Close()
48
49 go func() {
50 errC <- hello.StartHelloWorldServer(&log, listener, shutdownC)
51 }()
52
53 req := testRequest(t, "https://localhost:1111/ws", nil)
54
55 tlsConfig := websocketClientTLSConfig(t)
56 assert.NotNil(t, tlsConfig)
57 d := gws.Dialer{TLSClientConfig: tlsConfig}
58 conn, resp, err := clientConnect(req, &d)
59 assert.NoError(t, err)
60 assert.Equal(t, "websocket", resp.Header.Get("Upgrade"))
61
62 for i := 0; i < 1000; i++ {
63 messageSize := rand.Int()%2048 + 1
64 clientMessage := make([]byte, messageSize)
65 // rand.Read always returns len(clientMessage) and a nil error
66 rand.Read(clientMessage)
67 err = conn.WriteMessage(websocket.BinaryFrame, clientMessage)
68 assert.NoError(t, err)
69
70 messageType, message, err := conn.ReadMessage()
71 assert.NoError(t, err)
72 assert.Equal(t, websocket.BinaryFrame, messageType)
73 assert.Equal(t, clientMessage, message)
74 }
75
76 _ = conn.Close()
77 close(shutdownC)
78 <-errC
79}
80
81func TestWebsocketWrapper(t *testing.T) {
82 listener, err := hello.CreateTLSListener("localhost:0")

Callers

nothing calls this directly

Calls 10

CreateTLSListenerFunction · 0.92
StartHelloWorldServerFunction · 0.92
websocketClientTLSConfigFunction · 0.85
clientConnectFunction · 0.85
GetMethod · 0.80
IntMethod · 0.80
testRequestFunction · 0.70
CloseMethod · 0.65
EqualMethod · 0.65
ReadMethod · 0.45

Tested by

no test coverage detected