MCPcopy
hub / github.com/golang/net / TestDial

Function TestDial

internal/socks/dial_test.go:20–130  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

18)
19
20func TestDial(t *testing.T) {
21 t.Run("Connect", func(t *testing.T) {
22 ss, err := sockstest.NewServer(sockstest.NoAuthRequired, sockstest.NoProxyRequired)
23 if err != nil {
24 t.Fatal(err)
25 }
26 defer ss.Close()
27 d := socks.NewDialer(ss.Addr().Network(), ss.Addr().String())
28 d.AuthMethods = []socks.AuthMethod{
29 socks.AuthMethodNotRequired,
30 socks.AuthMethodUsernamePassword,
31 }
32 d.Authenticate = (&socks.UsernamePassword{
33 Username: "username",
34 Password: "password",
35 }).Authenticate
36 c, err := d.DialContext(context.Background(), ss.TargetAddr().Network(), ss.TargetAddr().String())
37 if err != nil {
38 t.Fatal(err)
39 }
40 c.(*socks.Conn).BoundAddr()
41 c.Close()
42 })
43 t.Run("ConnectWithConn", func(t *testing.T) {
44 ss, err := sockstest.NewServer(sockstest.NoAuthRequired, sockstest.NoProxyRequired)
45 if err != nil {
46 t.Fatal(err)
47 }
48 defer ss.Close()
49 c, err := net.Dial(ss.Addr().Network(), ss.Addr().String())
50 if err != nil {
51 t.Fatal(err)
52 }
53 defer c.Close()
54 d := socks.NewDialer(ss.Addr().Network(), ss.Addr().String())
55 d.AuthMethods = []socks.AuthMethod{
56 socks.AuthMethodNotRequired,
57 socks.AuthMethodUsernamePassword,
58 }
59 d.Authenticate = (&socks.UsernamePassword{
60 Username: "username",
61 Password: "password",
62 }).Authenticate
63 a, err := d.DialWithConn(context.Background(), c, ss.TargetAddr().Network(), ss.TargetAddr().String())
64 if err != nil {
65 t.Fatal(err)
66 }
67 if _, ok := a.(*socks.Addr); !ok {
68 t.Fatalf("got %+v; want socks.Addr", a)
69 }
70 })
71 t.Run("Cancel", func(t *testing.T) {
72 ss, err := sockstest.NewServer(sockstest.NoAuthRequired, blackholeCmdFunc)
73 if err != nil {
74 t.Fatal(err)
75 }
76 defer ss.Close()
77 d := socks.NewDialer(ss.Addr().Network(), ss.Addr().String())

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
AddrMethod · 0.95
DialContextMethod · 0.95
TargetAddrMethod · 0.95
DialWithConnMethod · 0.95
NewServerFunction · 0.92
NewDialerFunction · 0.92
parseDialErrorFunction · 0.85
BoundAddrMethod · 0.80
RunMethod · 0.65
StringMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…