MCPcopy
hub / github.com/gorilla/websocket / TestNetDialConnect

Function TestNetDialConnect

client_server_test.go:926–1100  ·  client_server_test.go::TestNetDialConnect

TestNetDialConnect tests selection of dial method between NetDial, NetDialContext, NetDialTLS or NetDialTLSContext

(t *testing.T)

Source from the content-addressed store, hash-verified

924
925// TestNetDialConnect tests selection of dial method between NetDial, NetDialContext, NetDialTLS or NetDialTLSContext
926func TestNetDialConnect(t *testing.T) {
927
928 upgrader := Upgrader{}
929 handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
930 if IsWebSocketUpgrade(r) {
931 c, err := upgrader.Upgrade(w, r, http.Header{"X-Test-Host": {r.Host}})
932 if err != nil {
933 t.Fatal(err)
934 }
935 c.Close()
936 } else {
937 w.Header().Set("X-Test-Host", r.Host)
938 }
939 })
940
941 server := httptest.NewServer(handler)
942 defer server.Close()
943
944 tlsServer := httptest.NewTLSServer(handler)
945 defer tlsServer.Close()
946
947 testUrls := map[*httptest.Server]string{
948 server: "ws://" + server.Listener.Addr().String() + "/",
949 tlsServer: "wss://" + tlsServer.Listener.Addr().String() + "/",
950 }
951
952 cas := rootCAs(t, tlsServer)
953 tlsConfig := &tls.Config{
954 RootCAs: cas,
955 ServerName: "example.com",
956 InsecureSkipVerify: false,
957 }
958
959 tests := []struct {
960 name string
961 server *httptest.Server // server to use
962 netDial func(network, addr string) (net.Conn, error)
963 netDialContext func(ctx context.Context, network, addr string) (net.Conn, error)
964 netDialTLSContext func(ctx context.Context, network, addr string) (net.Conn, error)
965 tlsClientConfig *tls.Config
966 }{
967
968 {
969 name: "HTTP server, all NetDial* defined, shall use NetDialContext",
970 server: server,
971 netDial: func(network, addr string) (net.Conn, error) {
972 return nil, errors.New("NetDial should not be called")
973 },
974 netDialContext: func(_ context.Context, network, addr string) (net.Conn, error) {
975 return net.Dial(network, addr)
976 },
977 netDialTLSContext: func(_ context.Context, network, addr string) (net.Conn, error) {
978 return nil, errors.New("NetDialTLSContext should not be called")
979 },
980 tlsClientConfig: nil,
981 },
982 {
983 name: "HTTP server, all NetDial* undefined",

Callers

nothing calls this directly

Calls 8

UpgradeMethod · 0.95
DialMethod · 0.95
IsWebSocketUpgradeFunction · 0.85
rootCAsFunction · 0.85
StringMethod · 0.80
DialMethod · 0.65
CloseMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected