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

Function TestProxy_DseVersion

proxy/proxy_test.go:282–319  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

280}
281
282func TestProxy_DseVersion(t *testing.T) {
283 const dseVersion = "6.8.3"
284 const protocol = primitive.ProtocolVersion4
285
286 ctx, cancel := context.WithCancel(context.Background())
287 defer cancel()
288
289 // Fake a peer so that "SELECT ... system.peers" returns at least one row
290 tester, proxyContactPoint, err := setupProxyTestWithConfig(ctx, 1, &proxyTestConfig{
291 dseVersion: dseVersion,
292 rpcAddr: "127.0.0.1",
293 peers: []PeerConfig{{
294 RPCAddr: "127.0.0.2",
295 }}})
296 defer func() {
297 cancel()
298 tester.shutdown()
299 }()
300 require.NoError(t, err)
301
302 cl := connectTestClient(t, ctx, proxyContactPoint)
303
304 checkDseVersion := func(resp *frame.Frame, err error) {
305 require.NoError(t, err)
306 assert.Equal(t, primitive.OpCodeResult, resp.Header.OpCode)
307 rows, ok := resp.Body.Message.(*message.RowsResult)
308 assert.True(t, ok, "expected rows result")
309
310 rs := proxycore.NewResultSet(rows, protocol)
311 require.GreaterOrEqual(t, rs.RowCount(), 1)
312 actualDseVersion, err := rs.Row(0).StringByName("dse_version")
313 require.NoError(t, err)
314 assert.Equal(t, dseVersion, actualDseVersion)
315 }
316
317 checkDseVersion(cl.SendAndReceive(ctx, frame.NewFrame(protocol, 0, &message.Query{Query: "SELECT dse_version FROM system.local"})))
318 checkDseVersion(cl.SendAndReceive(ctx, frame.NewFrame(primitive.ProtocolVersion4, 0, &message.Query{Query: "SELECT dse_version FROM system.peers"})))
319}
320
321func TestProxy_UnsupportedCompressionType(t *testing.T) {
322 ctx, cancel := context.WithCancel(context.Background())

Callers

nothing calls this directly

Calls 8

RowCountMethod · 0.95
RowMethod · 0.95
NewResultSetFunction · 0.92
setupProxyTestWithConfigFunction · 0.85
connectTestClientFunction · 0.85
shutdownMethod · 0.80
StringByNameMethod · 0.80
SendAndReceiveMethod · 0.80

Tested by

no test coverage detected