MCPcopy Create free account
hub / github.com/datastax/cql-proxy / TestConnectSession

Function TestConnectSession

proxycore/session_test.go:33–114  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

31)
32
33func TestConnectSession(t *testing.T) {
34 logger, _ := zap.NewDevelopment()
35
36 ctx, cancel := context.WithCancel(context.Background())
37 defer cancel()
38
39 const supported = primitive.ProtocolVersion4
40
41 c := NewMockCluster(net.ParseIP("127.0.0.0"), 9042)
42
43 err := c.Add(ctx, 1)
44 require.NoError(t, err)
45
46 err = c.Add(ctx, 2)
47 require.NoError(t, err)
48
49 err = c.Add(ctx, 3)
50 require.NoError(t, err)
51
52 cluster, err := ConnectCluster(ctx, ClusterConfig{
53 Version: supported,
54 Resolver: NewResolver("127.0.0.1:9042"),
55 ReconnectPolicy: NewReconnectPolicyWithDelays(200*time.Millisecond, time.Second),
56 RefreshWindow: 100 * time.Millisecond,
57 ConnectTimeout: 10 * time.Second,
58 Logger: logger,
59 HeartBeatInterval: 30 * time.Second,
60 IdleTimeout: 60 * time.Second,
61 })
62 require.NoError(t, err)
63
64 session, err := ConnectSession(ctx, cluster, SessionConfig{
65 ReconnectPolicy: NewReconnectPolicyWithDelays(200*time.Millisecond, time.Second),
66 NumConns: 2,
67 Version: supported,
68 ConnectTimeout: 10 * time.Second,
69 HeartBeatInterval: 30 * time.Second,
70 IdleTimeout: 60 * time.Second,
71 })
72 require.NoError(t, err)
73
74 newHost := func(addr string) *Host {
75 return &Host{Endpoint: &defaultEndpoint{addr: addr}}
76 }
77
78 var wg sync.WaitGroup
79
80 wg.Add(3)
81
82 err = session.Send(newHost("127.0.0.1:9042"), &testSessionRequest{t: t, rpcAddr: "127.0.0.1", wg: &wg})
83 require.NoError(t, err)
84
85 err = session.Send(newHost("127.0.0.2:9042"), &testSessionRequest{t: t, rpcAddr: "127.0.0.2", wg: &wg})
86 require.NoError(t, err)
87
88 err = session.Send(newHost("127.0.0.3:9042"), &testSessionRequest{t: t, rpcAddr: "127.0.0.3", wg: &wg})
89 require.NoError(t, err)
90

Callers

nothing calls this directly

Calls 11

AddMethod · 0.95
RemoveMethod · 0.95
NewMockClusterFunction · 0.85
ConnectClusterFunction · 0.85
ConnectSessionFunction · 0.85
NewResolverFunction · 0.70
waitUntilFunction · 0.70
SendMethod · 0.65
AddMethod · 0.45
leastBusyConnMethod · 0.45

Tested by

no test coverage detected