cql-rb 2.0.0.pre0 → 2.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -2
  3. data/lib/cql.rb +8 -3
  4. data/lib/cql/client.rb +21 -356
  5. data/lib/cql/client/authenticators.rb +70 -0
  6. data/lib/cql/client/batch.rb +54 -0
  7. data/lib/cql/client/{asynchronous_client.rb → client.rb} +241 -6
  8. data/lib/cql/client/connector.rb +3 -2
  9. data/lib/cql/client/{asynchronous_prepared_statement.rb → prepared_statement.rb} +103 -0
  10. data/lib/cql/protocol.rb +1 -2
  11. data/lib/cql/protocol/cql_byte_buffer.rb +285 -0
  12. data/lib/cql/protocol/cql_protocol_handler.rb +3 -3
  13. data/lib/cql/protocol/frame_decoder.rb +3 -3
  14. data/lib/cql/protocol/frame_encoder.rb +2 -2
  15. data/lib/cql/protocol/request.rb +0 -2
  16. data/lib/cql/protocol/requests/auth_response_request.rb +2 -2
  17. data/lib/cql/protocol/requests/batch_request.rb +10 -10
  18. data/lib/cql/protocol/requests/credentials_request.rb +2 -2
  19. data/lib/cql/protocol/requests/execute_request.rb +13 -13
  20. data/lib/cql/protocol/requests/options_request.rb +2 -2
  21. data/lib/cql/protocol/requests/prepare_request.rb +2 -2
  22. data/lib/cql/protocol/requests/query_request.rb +13 -13
  23. data/lib/cql/protocol/requests/register_request.rb +2 -2
  24. data/lib/cql/protocol/requests/startup_request.rb +2 -2
  25. data/lib/cql/protocol/response.rb +2 -4
  26. data/lib/cql/protocol/responses/auth_challenge_response.rb +2 -2
  27. data/lib/cql/protocol/responses/auth_success_response.rb +2 -2
  28. data/lib/cql/protocol/responses/authenticate_response.rb +2 -2
  29. data/lib/cql/protocol/responses/detailed_error_response.rb +15 -15
  30. data/lib/cql/protocol/responses/error_response.rb +4 -4
  31. data/lib/cql/protocol/responses/event_response.rb +3 -3
  32. data/lib/cql/protocol/responses/prepared_result_response.rb +4 -4
  33. data/lib/cql/protocol/responses/raw_rows_result_response.rb +1 -1
  34. data/lib/cql/protocol/responses/ready_response.rb +1 -1
  35. data/lib/cql/protocol/responses/result_response.rb +3 -3
  36. data/lib/cql/protocol/responses/rows_result_response.rb +22 -22
  37. data/lib/cql/protocol/responses/schema_change_event_response.rb +2 -2
  38. data/lib/cql/protocol/responses/schema_change_result_response.rb +2 -2
  39. data/lib/cql/protocol/responses/set_keyspace_result_response.rb +2 -2
  40. data/lib/cql/protocol/responses/status_change_event_response.rb +2 -2
  41. data/lib/cql/protocol/responses/supported_response.rb +2 -2
  42. data/lib/cql/protocol/responses/void_result_response.rb +1 -1
  43. data/lib/cql/protocol/type_converter.rb +78 -81
  44. data/lib/cql/time_uuid.rb +6 -0
  45. data/lib/cql/uuid.rb +2 -1
  46. data/lib/cql/version.rb +1 -1
  47. data/spec/cql/client/batch_spec.rb +8 -8
  48. data/spec/cql/client/{asynchronous_client_spec.rb → client_spec.rb} +162 -0
  49. data/spec/cql/client/connector_spec.rb +13 -3
  50. data/spec/cql/client/{asynchronous_prepared_statement_spec.rb → prepared_statement_spec.rb} +148 -1
  51. data/spec/cql/client/request_runner_spec.rb +2 -2
  52. data/spec/cql/protocol/cql_byte_buffer_spec.rb +895 -0
  53. data/spec/cql/protocol/cql_protocol_handler_spec.rb +1 -1
  54. data/spec/cql/protocol/frame_decoder_spec.rb +14 -14
  55. data/spec/cql/protocol/frame_encoder_spec.rb +7 -7
  56. data/spec/cql/protocol/requests/auth_response_request_spec.rb +4 -4
  57. data/spec/cql/protocol/requests/batch_request_spec.rb +21 -21
  58. data/spec/cql/protocol/requests/credentials_request_spec.rb +2 -2
  59. data/spec/cql/protocol/requests/execute_request_spec.rb +13 -13
  60. data/spec/cql/protocol/requests/options_request_spec.rb +1 -1
  61. data/spec/cql/protocol/requests/prepare_request_spec.rb +2 -2
  62. data/spec/cql/protocol/requests/query_request_spec.rb +13 -13
  63. data/spec/cql/protocol/requests/register_request_spec.rb +2 -2
  64. data/spec/cql/protocol/requests/startup_request_spec.rb +4 -4
  65. data/spec/cql/protocol/responses/auth_challenge_response_spec.rb +5 -5
  66. data/spec/cql/protocol/responses/auth_success_response_spec.rb +5 -5
  67. data/spec/cql/protocol/responses/authenticate_response_spec.rb +3 -3
  68. data/spec/cql/protocol/responses/detailed_error_response_spec.rb +15 -15
  69. data/spec/cql/protocol/responses/error_response_spec.rb +5 -5
  70. data/spec/cql/protocol/responses/event_response_spec.rb +8 -8
  71. data/spec/cql/protocol/responses/prepared_result_response_spec.rb +7 -7
  72. data/spec/cql/protocol/responses/raw_rows_result_response_spec.rb +1 -1
  73. data/spec/cql/protocol/responses/ready_response_spec.rb +2 -2
  74. data/spec/cql/protocol/responses/result_response_spec.rb +16 -16
  75. data/spec/cql/protocol/responses/rows_result_response_spec.rb +21 -21
  76. data/spec/cql/protocol/responses/schema_change_event_response_spec.rb +3 -3
  77. data/spec/cql/protocol/responses/schema_change_result_response_spec.rb +3 -3
  78. data/spec/cql/protocol/responses/set_keyspace_result_response_spec.rb +2 -2
  79. data/spec/cql/protocol/responses/status_change_event_response_spec.rb +3 -3
  80. data/spec/cql/protocol/responses/supported_response_spec.rb +3 -3
  81. data/spec/cql/protocol/responses/topology_change_event_response_spec.rb +3 -3
  82. data/spec/cql/protocol/responses/void_result_response_spec.rb +2 -2
  83. data/spec/cql/protocol/type_converter_spec.rb +25 -13
  84. data/spec/cql/time_uuid_spec.rb +17 -4
  85. data/spec/cql/uuid_spec.rb +5 -1
  86. data/spec/integration/protocol_spec.rb +48 -42
  87. data/spec/spec_helper.rb +0 -1
  88. metadata +27 -39
  89. data/lib/cql/byte_buffer.rb +0 -177
  90. data/lib/cql/client/synchronous_client.rb +0 -79
  91. data/lib/cql/client/synchronous_prepared_statement.rb +0 -63
  92. data/lib/cql/future.rb +0 -515
  93. data/lib/cql/io.rb +0 -15
  94. data/lib/cql/io/connection.rb +0 -220
  95. data/lib/cql/io/io_reactor.rb +0 -349
  96. data/lib/cql/protocol/decoding.rb +0 -187
  97. data/lib/cql/protocol/encoding.rb +0 -114
  98. data/spec/cql/byte_buffer_spec.rb +0 -337
  99. data/spec/cql/client/synchronous_client_spec.rb +0 -170
  100. data/spec/cql/client/synchronous_prepared_statement_spec.rb +0 -155
  101. data/spec/cql/future_spec.rb +0 -737
  102. data/spec/cql/io/connection_spec.rb +0 -484
  103. data/spec/cql/io/io_reactor_spec.rb +0 -402
  104. data/spec/cql/protocol/decoding_spec.rb +0 -547
  105. data/spec/cql/protocol/encoding_spec.rb +0 -386
  106. data/spec/integration/io_spec.rb +0 -283
  107. data/spec/support/fake_server.rb +0 -106
@@ -8,8 +8,8 @@ module Cql
8
8
  describe RegisterRequest do
9
9
  describe '#write' do
10
10
  it 'encodes a REGISTER request frame' do
11
- bytes = RegisterRequest.new('TOPOLOGY_CHANGE', 'STATUS_CHANGE').write(1, '')
12
- bytes.should == "\x00\x02\x00\x0fTOPOLOGY_CHANGE\x00\x0dSTATUS_CHANGE"
11
+ bytes = RegisterRequest.new('TOPOLOGY_CHANGE', 'STATUS_CHANGE').write(1, CqlByteBuffer.new)
12
+ bytes.should eql_bytes("\x00\x02\x00\x0fTOPOLOGY_CHANGE\x00\x0dSTATUS_CHANGE")
13
13
  end
14
14
  end
15
15
 
@@ -20,13 +20,13 @@ module Cql
20
20
 
21
21
  describe '#write' do
22
22
  it 'encodes a STARTUP request frame' do
23
- bytes = StartupRequest.new('3.0.0', 'snappy').write(1, '')
24
- bytes.should == "\x00\x02\x00\x0bCQL_VERSION\x00\x053.0.0\x00\x0bCOMPRESSION\x00\x06snappy"
23
+ bytes = StartupRequest.new('3.0.0', 'snappy').write(1, CqlByteBuffer.new)
24
+ bytes.should eql_bytes("\x00\x02\x00\x0bCQL_VERSION\x00\x053.0.0\x00\x0bCOMPRESSION\x00\x06snappy")
25
25
  end
26
26
 
27
27
  it 'defaults to no compression' do
28
- bytes = StartupRequest.new('3.1.1').write(1, '')
29
- bytes.should == "\x00\x01\x00\x0bCQL_VERSION\x00\x053.1.1"
28
+ bytes = StartupRequest.new('3.1.1').write(1, CqlByteBuffer.new)
29
+ bytes.should eql_bytes("\x00\x01\x00\x0bCQL_VERSION\x00\x053.1.1")
30
30
  end
31
31
  end
32
32
 
@@ -6,16 +6,16 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe AuthChallengeResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  it 'decodes the token' do
11
- buffer = ByteBuffer.new("\x00\x00\x00\x0cbingbongpong")
12
- response = described_class.decode!(1, buffer, buffer.length)
11
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x0cbingbongpong")
12
+ response = described_class.decode(1, buffer, buffer.length)
13
13
  response.token.should == 'bingbongpong'
14
14
  end
15
15
 
16
16
  it 'decodes a nil token' do
17
- buffer = ByteBuffer.new("\xff\xff\xff\xff")
18
- response = described_class.decode!(1, buffer, buffer.length)
17
+ buffer = CqlByteBuffer.new("\xff\xff\xff\xff")
18
+ response = described_class.decode(1, buffer, buffer.length)
19
19
  response.token.should be_nil
20
20
  end
21
21
  end
@@ -6,16 +6,16 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe AuthSuccessResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  it 'decodes the token' do
11
- buffer = ByteBuffer.new("\x00\x00\x00\x0cbingbongpong")
12
- response = described_class.decode!(1, buffer, buffer.length)
11
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x0cbingbongpong")
12
+ response = described_class.decode(1, buffer, buffer.length)
13
13
  response.token.should == 'bingbongpong'
14
14
  end
15
15
 
16
16
  it 'decodes a nil token' do
17
- buffer = ByteBuffer.new("\xff\xff\xff\xff")
18
- response = described_class.decode!(1, buffer, buffer.length)
17
+ buffer = CqlByteBuffer.new("\xff\xff\xff\xff")
18
+ response = described_class.decode(1, buffer, buffer.length)
19
19
  response.token.should be_nil
20
20
  end
21
21
  end
@@ -6,10 +6,10 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe AuthenticateResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  let :response do
11
- buffer = ByteBuffer.new("\x00\x2forg.apache.cassandra.auth.PasswordAuthenticator")
12
- described_class.decode!(1, buffer, buffer.length)
11
+ buffer = CqlByteBuffer.new("\x00\x2forg.apache.cassandra.auth.PasswordAuthenticator")
12
+ described_class.decode(1, buffer, buffer.length)
13
13
  end
14
14
 
15
15
  it 'decodes the authentication class' do
@@ -6,10 +6,10 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe DetailedErrorResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  it 'decodes an unavailable error' do
11
- buffer = ByteBuffer.new("\x00\x05\x00\x00\x00\x03\x00\x00\x00\x02")
12
- response = described_class.decode!(0x1000, '', 1, buffer, buffer.length)
11
+ buffer = CqlByteBuffer.new("\x00\x05\x00\x00\x00\x03\x00\x00\x00\x02")
12
+ response = described_class.decode(0x1000, '', 1, buffer, buffer.length)
13
13
  response.details.should == {
14
14
  :cl => :all,
15
15
  :required => 3,
@@ -18,8 +18,8 @@ module Cql
18
18
  end
19
19
 
20
20
  it 'decodes a write_timeout error' do
21
- buffer = ByteBuffer.new("\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\tBATCH_LOG")
22
- response = described_class.decode!(0x1100, '', 1, buffer, buffer.length)
21
+ buffer = CqlByteBuffer.new("\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\tBATCH_LOG")
22
+ response = described_class.decode(0x1100, '', 1, buffer, buffer.length)
23
23
  response.details.should == {
24
24
  :cl => :one,
25
25
  :received => 0,
@@ -29,16 +29,16 @@ module Cql
29
29
  end
30
30
 
31
31
  it 'decodes a read_timeout error' do
32
- buffer = ByteBuffer.new("\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01")
33
- response = described_class.decode!(0x1200, '', 1, buffer, buffer.length)
32
+ buffer = CqlByteBuffer.new("\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01")
33
+ response = described_class.decode(0x1200, '', 1, buffer, buffer.length)
34
34
  response.details.should == {
35
35
  :cl => :one,
36
36
  :received => 0,
37
37
  :blockfor => 1,
38
38
  :data_present => true
39
39
  }
40
- buffer = ByteBuffer.new("\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00")
41
- response = described_class.decode!(0x1200, '', 1, buffer, buffer.length)
40
+ buffer = CqlByteBuffer.new("\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00")
41
+ response = described_class.decode(0x1200, '', 1, buffer, buffer.length)
42
42
  response.details.should == {
43
43
  :cl => :one,
44
44
  :received => 0,
@@ -48,8 +48,8 @@ module Cql
48
48
  end
49
49
 
50
50
  it 'decodes an already_exists error with a keyspace' do
51
- buffer = ByteBuffer.new("\x00\x05stuff\x00\x00")
52
- response = described_class.decode!(0x2400, '', 1, buffer, buffer.length)
51
+ buffer = CqlByteBuffer.new("\x00\x05stuff\x00\x00")
52
+ response = described_class.decode(0x2400, '', 1, buffer, buffer.length)
53
53
  response.details.should == {
54
54
  :ks => 'stuff',
55
55
  :table => '',
@@ -57,8 +57,8 @@ module Cql
57
57
  end
58
58
 
59
59
  it 'decodes an already_exists error with a keyspace and table' do
60
- buffer = ByteBuffer.new("\x00\x05stuff\x00\x06things")
61
- response = described_class.decode!(0x2400, '', 1, buffer, buffer.length)
60
+ buffer = CqlByteBuffer.new("\x00\x05stuff\x00\x06things")
61
+ response = described_class.decode(0x2400, '', 1, buffer, buffer.length)
62
62
  response.details.should == {
63
63
  :ks => 'stuff',
64
64
  :table => 'things',
@@ -66,8 +66,8 @@ module Cql
66
66
  end
67
67
 
68
68
  it 'decodes unprepared error' do
69
- buffer = ByteBuffer.new("\x00\x10\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/")
70
- response = described_class.decode!(0x2500, '', 1, buffer, buffer.length)
69
+ buffer = CqlByteBuffer.new("\x00\x10\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/")
70
+ response = described_class.decode(0x2500, '', 1, buffer, buffer.length)
71
71
  response.details.should == {
72
72
  :id => "\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/"
73
73
  }
@@ -6,10 +6,10 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe ErrorResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  let :response do
11
- buffer = ByteBuffer.new("\x00\x00\x00\n\x00PProvided version 4.0.0 is not supported by this server (supported: 2.0.0, 3.0.0)")
12
- described_class.decode!(1, buffer, buffer.length)
11
+ buffer = CqlByteBuffer.new("\x00\x00\x00\n\x00PProvided version 4.0.0 is not supported by this server (supported: 2.0.0, 3.0.0)")
12
+ described_class.decode(1, buffer, buffer.length)
13
13
  end
14
14
 
15
15
  it 'decodes the error code' do
@@ -21,8 +21,8 @@ module Cql
21
21
  end
22
22
 
23
23
  it 'decodes error frames with details' do
24
- buffer = ByteBuffer.new("\x00\x00\x11\x00\x000Operation timed out - received only 0 responses.\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\tBATCH_LOG")
25
- response = described_class.decode!(1, buffer, buffer.length)
24
+ buffer = CqlByteBuffer.new("\x00\x00\x11\x00\x000Operation timed out - received only 0 responses.\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\tBATCH_LOG")
25
+ response = described_class.decode(1, buffer, buffer.length)
26
26
  response.details.should_not be_nil
27
27
  end
28
28
  end
@@ -6,10 +6,10 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe EventResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  it 'decodes a SCHEMA_CHANGE event' do
11
- buffer = ByteBuffer.new("\x00\rSCHEMA_CHANGE\x00\aDROPPED\x00\ncql_rb_609\x00\x05users")
12
- response = described_class.decode!(1, buffer, buffer.length)
11
+ buffer = CqlByteBuffer.new("\x00\rSCHEMA_CHANGE\x00\aDROPPED\x00\ncql_rb_609\x00\x05users")
12
+ response = described_class.decode(1, buffer, buffer.length)
13
13
  response.type.should == 'SCHEMA_CHANGE'
14
14
  response.change.should == 'DROPPED'
15
15
  response.keyspace.should == 'cql_rb_609'
@@ -17,8 +17,8 @@ module Cql
17
17
  end
18
18
 
19
19
  it 'decodes a STATUS_CHANGE event' do
20
- buffer = ByteBuffer.new("\x00\rSTATUS_CHANGE\x00\x04DOWN\x04\x00\x00\x00\x00\x00\x00#R")
21
- response = described_class.decode!(1, buffer, buffer.length)
20
+ buffer = CqlByteBuffer.new("\x00\rSTATUS_CHANGE\x00\x04DOWN\x04\x00\x00\x00\x00\x00\x00#R")
21
+ response = described_class.decode(1, buffer, buffer.length)
22
22
  response.type.should == 'STATUS_CHANGE'
23
23
  response.change.should == 'DOWN'
24
24
  response.address.should == IPAddr.new('0.0.0.0')
@@ -26,8 +26,8 @@ module Cql
26
26
  end
27
27
 
28
28
  it 'decodes a TOPOLOGY_CHANGE event' do
29
- buffer = ByteBuffer.new("\x00\x0FTOPOLOGY_CHANGE\x00\fREMOVED_NODE\x04\x00\x00\x00\x00\x00\x00#R")
30
- response = described_class.decode!(1, buffer, buffer.length)
29
+ buffer = CqlByteBuffer.new("\x00\x0FTOPOLOGY_CHANGE\x00\fREMOVED_NODE\x04\x00\x00\x00\x00\x00\x00#R")
30
+ response = described_class.decode(1, buffer, buffer.length)
31
31
  response.type.should == 'TOPOLOGY_CHANGE'
32
32
  response.change.should == 'REMOVED_NODE'
33
33
  response.address.should == IPAddr.new('0.0.0.0')
@@ -35,7 +35,7 @@ module Cql
35
35
  end
36
36
 
37
37
  it 'complains when asked to decode an unknown event type' do
38
- expect { described_class.decode!(1, ByteBuffer.new("\x00\x04PING"), 6) }.to raise_error(UnsupportedEventTypeError, /PING/)
38
+ expect { described_class.decode(1, CqlByteBuffer.new("\x00\x04PING"), 6) }.to raise_error(UnsupportedEventTypeError, /PING/)
39
39
  end
40
40
  end
41
41
  end
@@ -6,16 +6,16 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe PreparedResultResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  context 'with a protocol v1 frame' do
11
11
  let :response do
12
- buffer = ByteBuffer.new
12
+ buffer = CqlByteBuffer.new
13
13
  buffer << "\x00\x10\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/" # statement ID
14
14
  buffer << "\x00\x00\x00\x01" # flags (global_tables_spec)
15
15
  buffer << "\x00\x00\x00\x01" # column count
16
16
  buffer << "\x00\ncql_rb_911\x00\x05users" # global_tables_spec
17
17
  buffer << "\x00\tuser_name\x00\r" # col_spec (name + type)
18
- described_class.decode!(1, buffer, buffer.length)
18
+ described_class.decode(1, buffer, buffer.length)
19
19
  end
20
20
 
21
21
  it 'decodes the ID' do
@@ -29,7 +29,7 @@ module Cql
29
29
 
30
30
  context 'with a protocol v2 frame' do
31
31
  let :response do
32
- buffer = ByteBuffer.new
32
+ buffer = CqlByteBuffer.new
33
33
  buffer << "\x00\x10\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/" # statement ID
34
34
  buffer << "\x00\x00\x00\x01" # flags (global_tables_spec)
35
35
  buffer << "\x00\x00\x00\x01" # column count
@@ -40,7 +40,7 @@ module Cql
40
40
  buffer << "\x00\ncql_rb_911\x00\x05users" # global_tables_spec
41
41
  buffer << "\x00\tuser_name\x00\r" # col_spec (name + type)
42
42
  buffer << "\x00\x05email\x00\r" # col_spec (name + type)
43
- described_class.decode!(2, buffer, buffer.length)
43
+ described_class.decode(2, buffer, buffer.length)
44
44
  end
45
45
 
46
46
  it 'decodes the ID' do
@@ -61,7 +61,7 @@ module Cql
61
61
  end
62
62
 
63
63
  it 'decodes the absence of result metadata' do
64
- buffer = ByteBuffer.new
64
+ buffer = CqlByteBuffer.new
65
65
  buffer << "\x00\x10\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/" # statement ID
66
66
  buffer << "\x00\x00\x00\x01" # flags (global_tables_spec)
67
67
  buffer << "\x00\x00\x00\x01" # column count
@@ -69,7 +69,7 @@ module Cql
69
69
  buffer << "\x00\tuser_name\x00\r" # col_spec (name + type)
70
70
  buffer << "\x00\x00\x00\x04" # flags (no_metadata)
71
71
  buffer << "\x00\x00\x00\x00" # column count
72
- response = described_class.decode!(2, buffer, buffer.length)
72
+ response = described_class.decode(2, buffer, buffer.length)
73
73
  response.result_metadata.should be_nil
74
74
  end
75
75
  end
@@ -11,7 +11,7 @@ module Cql
11
11
  end
12
12
 
13
13
  let :raw_rows do
14
- ByteBuffer.new("\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\x0dphil@heck.com\xff\xff\xff\xff\x00\x00\x00\x03sue\x00\x00\x00\x0dsue@inter.net\xff\xff\xff\xff")
14
+ CqlByteBuffer.new("\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\x0dphil@heck.com\xff\xff\xff\xff\x00\x00\x00\x03sue\x00\x00\x00\x0dsue@inter.net\xff\xff\xff\xff")
15
15
  end
16
16
 
17
17
  let :metadata do
@@ -6,10 +6,10 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe ReadyResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  it 'returns a new instance' do
11
11
  unused_byte_buffer = nil
12
- described_class.decode!(1, unused_byte_buffer, 0).should be_a(described_class)
12
+ described_class.decode(1, unused_byte_buffer, 0).should be_a(described_class)
13
13
  end
14
14
  end
15
15
 
@@ -6,17 +6,17 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe ResultResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  it 'decodes a set_keyspace result' do
11
- buffer = ByteBuffer.new("\x00\x00\x00\x03\x00\x06system")
12
- response = described_class.decode!(1, buffer, buffer.length)
11
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x03\x00\x06system")
12
+ response = described_class.decode(1, buffer, buffer.length)
13
13
  response.should_not be_void
14
14
  response.keyspace.should == 'system'
15
15
  end
16
16
 
17
17
  it 'decodes a schema_change CREATED result' do
18
- buffer = ByteBuffer.new("\x00\x00\x00\x05\x00\aCREATED\x00\ncql_rb_477\x00\x00")
19
- response = described_class.decode!(1, buffer, buffer.length)
18
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x05\x00\aCREATED\x00\ncql_rb_477\x00\x00")
19
+ response = described_class.decode(1, buffer, buffer.length)
20
20
  response.should_not be_void
21
21
  response.change.should == 'CREATED'
22
22
  response.keyspace.should == 'cql_rb_477'
@@ -24,8 +24,8 @@ module Cql
24
24
  end
25
25
 
26
26
  it 'decodes a schema_change UPDATED result' do
27
- buffer = ByteBuffer.new("\x00\x00\x00\x05\x00\aUPDATED\x00\ncql_rb_973\x00\x05users")
28
- response = described_class.decode!(1, buffer, buffer.length)
27
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x05\x00\aUPDATED\x00\ncql_rb_973\x00\x05users")
28
+ response = described_class.decode(1, buffer, buffer.length)
29
29
  response.should_not be_void
30
30
  response.change.should == 'UPDATED'
31
31
  response.keyspace.should == 'cql_rb_973'
@@ -33,35 +33,35 @@ module Cql
33
33
  end
34
34
 
35
35
  it 'decodes a void result' do
36
- buffer = ByteBuffer.new("\x00\x00\x00\x01")
37
- response = described_class.decode!(1, buffer, buffer.length)
36
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01")
37
+ response = described_class.decode(1, buffer, buffer.length)
38
38
  response.should be_void
39
39
  end
40
40
 
41
41
  it 'decodes a rows result' do
42
- buffer = ByteBuffer.new("\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\x00\ncql_rb_126\x00\x05users\x00\tuser_name\x00\r\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF")
43
- response = described_class.decode!(1, buffer, buffer.length)
42
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\x00\ncql_rb_126\x00\x05users\x00\tuser_name\x00\r\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF")
43
+ response = described_class.decode(1, buffer, buffer.length)
44
44
  response.should_not be_void
45
45
  response.rows.size.should == 2
46
46
  response.metadata.size.should == 3
47
47
  end
48
48
 
49
49
  it 'decodes a rows result' do
50
- buffer = ByteBuffer.new("\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x03\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF")
51
- response = described_class.decode!(1, buffer, buffer.length)
50
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x03\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF")
51
+ response = described_class.decode(1, buffer, buffer.length)
52
52
  response.should_not be_void
53
53
  end
54
54
 
55
55
  it 'decodes a prepared result' do
56
- buffer = ByteBuffer.new("\x00\x00\x00\x04\x00\x10\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/\x00\x00\x00\x01\x00\x00\x00\x01\x00\ncql_rb_911\x00\x05users\x00\tuser_name\x00\r")
57
- response = described_class.decode!(1, buffer, buffer.length)
56
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x04\x00\x10\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/\x00\x00\x00\x01\x00\x00\x00\x01\x00\ncql_rb_911\x00\x05users\x00\tuser_name\x00\r")
57
+ response = described_class.decode(1, buffer, buffer.length)
58
58
  response.should_not be_void
59
59
  response.id.should == "\xCAH\x7F\x1Ez\x82\xD2<N\x8A\xF35Qq\xA5/"
60
60
  response.metadata.size.should == 1
61
61
  end
62
62
 
63
63
  it 'complains when asked to decode an unknown result type' do
64
- expect { described_class.decode!(1, ByteBuffer.new("\x00\x00\x00\xffhello"), 9) }.to raise_error(UnsupportedResultKindError)
64
+ expect { described_class.decode(1, CqlByteBuffer.new("\x00\x00\x00\xffhello"), 9) }.to raise_error(UnsupportedResultKindError)
65
65
  end
66
66
  end
67
67
  end
@@ -6,11 +6,11 @@ require 'spec_helper'
6
6
  module Cql
7
7
  module Protocol
8
8
  describe RowsResultResponse do
9
- describe '.decode!' do
9
+ describe '.decode' do
10
10
  context 'with rows from the same table' do
11
11
  let :response do
12
- buffer = ByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x03\x00\ncql_rb_126\x00\x05users\x00\tuser_name\x00\r\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF")
13
- described_class.decode!(1, buffer, buffer.length)
12
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x03\x00\ncql_rb_126\x00\x05users\x00\tuser_name\x00\r\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF")
13
+ described_class.decode(1, buffer, buffer.length)
14
14
  end
15
15
 
16
16
  it 'decodes the rows as hashes of column name => column value' do
@@ -37,14 +37,14 @@ module Cql
37
37
  let :response do
38
38
  # TODO: not sure if this is really how it would be for real
39
39
  # this frame was constructed from the spec not from an actual result
40
- buffer = ByteBuffer.new
40
+ buffer = CqlByteBuffer.new
41
41
  buffer << "\x00\x00\x00\x00"
42
42
  buffer << "\x00\x00\x00\x03"
43
43
  buffer << "\x00\ncql_rb_126\x00\x06users1\x00\tuser_name\x00\r"
44
44
  buffer << "\x00\ncql_rb_127\x00\x06users2\x00\x05email\x00\r"
45
45
  buffer << "\x00\ncql_rb_128\x00\x06users3\x00\bpassword\x00\r"
46
46
  buffer << "\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF"
47
- described_class.decode!(1, buffer, buffer.length)
47
+ described_class.decode(1, buffer, buffer.length)
48
48
  end
49
49
 
50
50
  it 'decodes the rows' do
@@ -65,11 +65,11 @@ module Cql
65
65
 
66
66
  context 'when there is no metadata' do
67
67
  let :response do
68
- buffer = ByteBuffer.new
68
+ buffer = CqlByteBuffer.new
69
69
  buffer << "\x00\x00\x00\x05" # flags (global_tables_spec | no_metadata)
70
70
  buffer << "\x00\x00\x00\x03" # column count
71
71
  buffer << "\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF"
72
- described_class.decode!(2, buffer, buffer.length)
72
+ described_class.decode(2, buffer, buffer.length)
73
73
  end
74
74
 
75
75
  it 'returns a RawRowsResultResponse' do
@@ -88,14 +88,14 @@ module Cql
88
88
 
89
89
  context 'when there are more pages' do
90
90
  let :response do
91
- buffer = ByteBuffer.new
91
+ buffer = CqlByteBuffer.new
92
92
  buffer << "\x00\x00\x00\x03" # flags (global_tables_spec | has_more_pages)
93
93
  buffer << "\x00\x00\x00\x03" # column count
94
94
  buffer << "\x00\x00\x00\x03foo" # paging state
95
95
  buffer << "\x00\ncql_rb_126\x00\x05users"
96
96
  buffer << "\x00\tuser_name\x00\r\x00\x05email\x00\r\x00\bpassword\x00\r"
97
97
  buffer << "\x00\x00\x00\x02\x00\x00\x00\x04phil\x00\x00\x00\rphil@heck.com\xFF\xFF\xFF\xFF\x00\x00\x00\x03sue\x00\x00\x00\rsue@inter.net\xFF\xFF\xFF\xFF"
98
- described_class.decode!(2, buffer, buffer.length)
98
+ described_class.decode(2, buffer, buffer.length)
99
99
  end
100
100
 
101
101
  it 'extracts the paging state' do
@@ -154,8 +154,8 @@ module Cql
154
154
  # );
155
155
  #
156
156
  # SELECT * FROM lots_of_types WHERE ascii_column = 'hello';
157
- buffer = ByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x12\x00\x04test\x00\rlots_of_types\x00\fascii_column\x00\x01\x00\rbigint_column\x00\x02\x00\vblob_column\x00\x03\x00\x0Eboolean_column\x00\x04\x00\x0Edecimal_column\x00\x06\x00\rdouble_column\x00\a\x00\ffloat_column\x00\b\x00\vinet_column\x00\x10\x00\nint_column\x00\t\x00\vlist_column\x00 \x00\x01\x00\nmap_column\x00!\x00\r\x00\x04\x00\nset_column\x00\"\x00\x03\x00\vtext_column\x00\r\x00\x10timestamp_column\x00\v\x00\x0Ftimeuuid_column\x00\x0F\x00\vuuid_column\x00\f\x00\x0Evarchar_column\x00\r\x00\rvarint_column\x00\x0E\x00\x00\x00\x01\x00\x00\x00\x05hello\x00\x00\x00\b\x00\x03\x98\xB1S\xC8\x7F\xAB\x00\x00\x00\x05\xFA\xB4^4V\x00\x00\x00\x01\x01\x00\x00\x00\x11\x00\x00\x00\x12\r'\xFDI\xAD\x80f\x11g\xDCfV\xAA\x00\x00\x00\b@\xC3\x88\x0F\xC2\x7F\x9DU\x00\x00\x00\x04AB\x14{\x00\x00\x00\x04\n\x00\x01\x02\x00\x00\x00\x04\x00\xBCj\xC2\x00\x00\x00\x11\x00\x03\x00\x03foo\x00\x03foo\x00\x03bar\x00\x00\x00\x14\x00\x02\x00\x03foo\x00\x01\x01\x00\x05hello\x00\x01\x00\x00\x00\x00\r\x00\x02\x00\x03\xABC!\x00\x04\xAF\xD8~\xCD\x00\x00\x00\vhello world\x00\x00\x00\b\x00\x00\x01</\xE9\xDC\xE3\x00\x00\x00\x10\xA4\xA7\t\x00$\xE1\x11\xDF\x89$\x00\x1F\xF3Y\x17\x11\x00\x00\x00\x10\xCF\xD6l\xCC\xD8WN\x90\xB1\xE5\xDF\x98\xA3\xD4\f\xD6\x00\x00\x00\x03foo\x00\x00\x00\x11\x03\x9EV \x15\f\x03\x9DK\x18\xCDI\\$?\a[")
158
- described_class.decode!(1, buffer, buffer.length)
157
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x12\x00\x04test\x00\rlots_of_types\x00\fascii_column\x00\x01\x00\rbigint_column\x00\x02\x00\vblob_column\x00\x03\x00\x0Eboolean_column\x00\x04\x00\x0Edecimal_column\x00\x06\x00\rdouble_column\x00\a\x00\ffloat_column\x00\b\x00\vinet_column\x00\x10\x00\nint_column\x00\t\x00\vlist_column\x00 \x00\x01\x00\nmap_column\x00!\x00\r\x00\x04\x00\nset_column\x00\"\x00\x03\x00\vtext_column\x00\r\x00\x10timestamp_column\x00\v\x00\x0Ftimeuuid_column\x00\x0F\x00\vuuid_column\x00\f\x00\x0Evarchar_column\x00\r\x00\rvarint_column\x00\x0E\x00\x00\x00\x01\x00\x00\x00\x05hello\x00\x00\x00\b\x00\x03\x98\xB1S\xC8\x7F\xAB\x00\x00\x00\x05\xFA\xB4^4V\x00\x00\x00\x01\x01\x00\x00\x00\x11\x00\x00\x00\x12\r'\xFDI\xAD\x80f\x11g\xDCfV\xAA\x00\x00\x00\b@\xC3\x88\x0F\xC2\x7F\x9DU\x00\x00\x00\x04AB\x14{\x00\x00\x00\x04\n\x00\x01\x02\x00\x00\x00\x04\x00\xBCj\xC2\x00\x00\x00\x11\x00\x03\x00\x03foo\x00\x03foo\x00\x03bar\x00\x00\x00\x14\x00\x02\x00\x03foo\x00\x01\x01\x00\x05hello\x00\x01\x00\x00\x00\x00\r\x00\x02\x00\x03\xABC!\x00\x04\xAF\xD8~\xCD\x00\x00\x00\vhello world\x00\x00\x00\b\x00\x00\x01</\xE9\xDC\xE3\x00\x00\x00\x10\xA4\xA7\t\x00$\xE1\x11\xDF\x89$\x00\x1F\xF3Y\x17\x11\x00\x00\x00\x10\xCF\xD6l\xCC\xD8WN\x90\xB1\xE5\xDF\x98\xA3\xD4\f\xD6\x00\x00\x00\x03foo\x00\x00\x00\x11\x03\x9EV \x15\f\x03\x9DK\x18\xCDI\\$?\a[")
158
+ described_class.decode(1, buffer, buffer.length)
159
159
  end
160
160
 
161
161
  it 'decodes ASCII as an ASCII encoded string' do
@@ -237,8 +237,8 @@ module Cql
237
237
 
238
238
  context 'with null values' do
239
239
  it 'decodes nulls' do
240
- buffer = ByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x13\x00\x12cql_rb_client_spec\x00\rlots_of_types\x00\x02id\x00\t\x00\fascii_column\x00\x01\x00\rbigint_column\x00\x02\x00\vblob_column\x00\x03\x00\x0Eboolean_column\x00\x04\x00\x0Edecimal_column\x00\x06\x00\rdouble_column\x00\a\x00\ffloat_column\x00\b\x00\vinet_column\x00\x10\x00\nint_column\x00\t\x00\vlist_column\x00 \x00\x01\x00\nmap_column\x00!\x00\r\x00\x04\x00\nset_column\x00\"\x00\x03\x00\vtext_column\x00\r\x00\x10timestamp_column\x00\v\x00\x0Ftimeuuid_column\x00\x0F\x00\vuuid_column\x00\f\x00\x0Evarchar_column\x00\r\x00\rvarint_column\x00\x0E\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x03\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF")
241
- response = described_class.decode!(1, buffer, buffer.length)
240
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x13\x00\x12cql_rb_client_spec\x00\rlots_of_types\x00\x02id\x00\t\x00\fascii_column\x00\x01\x00\rbigint_column\x00\x02\x00\vblob_column\x00\x03\x00\x0Eboolean_column\x00\x04\x00\x0Edecimal_column\x00\x06\x00\rdouble_column\x00\a\x00\ffloat_column\x00\b\x00\vinet_column\x00\x10\x00\nint_column\x00\t\x00\vlist_column\x00 \x00\x01\x00\nmap_column\x00!\x00\r\x00\x04\x00\nset_column\x00\"\x00\x03\x00\vtext_column\x00\r\x00\x10timestamp_column\x00\v\x00\x0Ftimeuuid_column\x00\x0F\x00\vuuid_column\x00\f\x00\x0Evarchar_column\x00\r\x00\rvarint_column\x00\x0E\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x03\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF")
241
+ response = described_class.decode(1, buffer, buffer.length)
242
242
  response.rows.first.should eql(
243
243
  'id' => 3,
244
244
  'ascii_column' => nil,
@@ -265,22 +265,22 @@ module Cql
265
265
 
266
266
  context 'with COUNTER columns' do
267
267
  it 'decodes COUNTER as a number' do
268
- buffer = ByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x03\x00\x04test\x00\x04cnts\x00\x02id\x00\r\x00\x02c1\x00\x05\x00\x02c2\x00\x05\x00\x00\x00\x01\x00\x00\x00\x04theo\x00\x00\x00\b\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\b\x00\x00\x00\x00\x00\x00\x00\x01")
269
- response = described_class.decode!(1, buffer, buffer.length)
268
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x03\x00\x04test\x00\x04cnts\x00\x02id\x00\r\x00\x02c1\x00\x05\x00\x02c2\x00\x05\x00\x00\x00\x01\x00\x00\x00\x04theo\x00\x00\x00\b\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\b\x00\x00\x00\x00\x00\x00\x00\x01")
269
+ response = described_class.decode(1, buffer, buffer.length)
270
270
  response.rows.first['c1'].should == 3
271
271
  end
272
272
 
273
273
  it 'decodes a null COUNTER as nil' do
274
- buffer = ByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x02\x00\x12cql_rb_client_spec\x00\bcounters\x00\bcounter1\x00\x05\x00\bcounter2\x00\x05\x00\x00\x00\x01\x00\x00\x00\b\x00\x00\x00\x00\x00\x00\x00\x01\xFF\xFF\xFF\xFF")
275
- response = described_class.decode!(1, buffer, buffer.length)
274
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x02\x00\x12cql_rb_client_spec\x00\bcounters\x00\bcounter1\x00\x05\x00\bcounter2\x00\x05\x00\x00\x00\x01\x00\x00\x00\b\x00\x00\x00\x00\x00\x00\x00\x01\xFF\xFF\xFF\xFF")
275
+ response = described_class.decode(1, buffer, buffer.length)
276
276
  response.rows.first['counter2'].should be_nil
277
277
  end
278
278
  end
279
279
 
280
280
  context 'with an INET column' do
281
281
  let :response do
282
- buffer = ByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x01\x00\ntest_types\x00\rlots_of_types\x00\vinet_column\x00\x10\x00\x00\x00\x02\x00\x00\x00\x04\x7F\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01")
283
- described_class.decode!(1, buffer, buffer.length)
282
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x01\x00\ntest_types\x00\rlots_of_types\x00\vinet_column\x00\x10\x00\x00\x00\x02\x00\x00\x00\x04\x7F\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01")
283
+ described_class.decode(1, buffer, buffer.length)
284
284
  end
285
285
 
286
286
  it 'decodes IPv4 values' do
@@ -294,8 +294,8 @@ module Cql
294
294
 
295
295
  context 'with an unknown column type' do
296
296
  it 'raises an error when encountering an unknown column type' do
297
- buffer = ByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x03\x00\ncql_rb_328\x00\x05users\x00\tuser_name\x00\xff\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x00")
298
- expect { described_class.decode!(1, buffer, buffer.length) }.to raise_error(UnsupportedColumnTypeError)
297
+ buffer = CqlByteBuffer.new("\x00\x00\x00\x01\x00\x00\x00\x03\x00\ncql_rb_328\x00\x05users\x00\tuser_name\x00\xff\x00\x05email\x00\r\x00\bpassword\x00\r\x00\x00\x00\x00")
298
+ expect { described_class.decode(1, buffer, buffer.length) }.to raise_error(UnsupportedColumnTypeError)
299
299
  end
300
300
  end
301
301
  end