orient_db_client 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,94 +1,125 @@
1
1
  require 'orient_db_client/network_message'
2
2
  require 'orient_db_client/version'
3
3
 
4
- module OrientDbClient
5
- module Protocols
6
- class Protocol9 < Protocol7
7
- VERSION = 9
8
-
9
- def self.command(socket, session, command, options = {})
10
- options[:query_class_name].tap do |qcn|
11
- if qcn.is_a?(Symbol)
12
- qcn = case qcn
13
- when :query then 'q'
14
- when :command then 'c'
15
- end
16
- end
17
-
18
- if qcn.nil? || qcn == 'com.orientechnologies.orient.core.sql.query.OSQLSynchQuery'
19
- qcn = 'q'
20
- end
21
-
22
- options[:query_class_name] = qcn
23
- end
24
-
25
- super socket, session, command, options
26
- end
4
+ require 'bindata'
27
5
 
28
- def self.db_create(socket, session, database, options = {})
29
- if options.is_a?(String)
30
- options = { :storage_type => options }
31
- end
6
+ module OrientDbClient
7
+ module Protocols
8
+ class Protocol9 < Protocol7
9
+ VERSION = 9
32
10
 
33
- options = {
34
- :database_type => 'document'
35
- }.merge(options)
11
+ module Commands
12
+ class DbCreate9 < BinData::Record
13
+ endian :big
36
14
 
37
- super
38
- end
15
+ int8 :operation, :value => Protocol7::Operations::DB_CREATE
16
+ int32 :session
39
17
 
40
- def self.db_open(socket, database, options = {})
41
- socket.write NetworkMessage.new { |m|
42
- m.add :byte, Operations::DB_OPEN
43
- m.add :integer, NEW_SESSION
44
- m.add :string, DRIVER_NAME
45
- m.add :string, DRIVER_VERSION
46
- m.add :short, self.version
47
- m.add :integer, 0
48
- m.add :string, database
49
- m.add :string, options[:database_type] || "document"
50
- m.add :string, options[:user]
51
- m.add :string, options[:password]
52
- }.pack
53
-
54
- read_response(socket)
55
-
56
- { :session => read_integer(socket),
57
- :message_content => read_db_open(socket) }
58
- end
18
+ protocol_string :database
19
+ protocol_string :database_type
20
+ protocol_string :storage_type
21
+ end
59
22
 
60
- def self.record_load(socket, session, rid, options = {})
61
- socket.write NetworkMessage.new { |m|
62
- m.add :byte, Operations::RECORD_LOAD
63
- m.add :integer, session
64
- m.add :short, rid.cluster_id
65
- m.add :long, rid.cluster_position
66
- m.add :string, ""
67
- m.add :byte, options[:ignore_cache] === true ? 1 : 0
68
- }.pack
23
+ class DbOpen9 < BinData::Record
24
+ endian :big
69
25
 
70
- read_response(socket)
26
+ int8 :operation, :value => Protocol7::Operations::DB_OPEN
27
+ int32 :session, :value => Protocol7::NEW_SESSION
71
28
 
72
- { :session => read_integer(socket),
73
- :message_content => read_record_load(socket) }
74
- end
29
+ protocol_string :driver_name, :value => Protocol7::DRIVER_NAME
30
+ protocol_string :driver_version, :value => Protocol7::DRIVER_VERSION
31
+ int16 :protocol_version
32
+ protocol_string :client_id
33
+ protocol_string :database_name
34
+ protocol_string :database_type
35
+ protocol_string :user_name
36
+ protocol_string :user_password
37
+ end
75
38
 
76
- private
39
+ class RecordLoad9 < BinData::Record
40
+ endian :big
77
41
 
78
- def self.make_db_create_message(*args)
79
- session = args.shift
80
- database = args.shift
81
- options = args.shift
42
+ int8 :operation, :value => Protocol7::Operations::RECORD_LOAD
43
+ int32 :session
82
44
 
83
- NetworkMessage.new { |m|
84
- m.add :byte, Operations::DB_CREATE
85
- m.add :integer, session
86
- m.add :string, database
87
- m.add :string, options[:database_type].to_s
88
- m.add :string, options[:storage_type].to_s
89
- }
45
+ int16 :cluster_id
46
+ int64 :cluster_position
47
+ protocol_string :fetch_plan
48
+ int8 :ignore_cache, :initial_value => 0
49
+ end
50
+ end
51
+
52
+ def self.command(socket, session, command, options = {})
53
+ options[:query_class_name].tap do |qcn|
54
+ if qcn.is_a?(Symbol)
55
+ qcn = case qcn
56
+ when :query then 'q'
57
+ when :command then 'c'
90
58
  end
59
+ end
91
60
 
61
+ if qcn.nil? || qcn == 'com.orientechnologies.orient.core.sql.query.OSQLSynchQuery'
62
+ qcn = 'q'
63
+ end
64
+
65
+ options[:query_class_name] = qcn
92
66
  end
67
+
68
+ super socket, session, command, options
69
+ end
70
+
71
+ def self.db_create(socket, session, database, options = {})
72
+ if options.is_a?(String)
73
+ options = { :storage_type => options }
74
+ end
75
+
76
+ options = {
77
+ :database_type => 'document'
78
+ }.merge(options)
79
+
80
+ super
81
+ end
82
+
83
+ def self.db_open(socket, database, options = {})
84
+ command = Commands::DbOpen9.new :protocol_version => self.version,
85
+ :database_name => database,
86
+ :database_type => options[:database_type] || 'document',
87
+ :user_name => options[:user],
88
+ :user_password => options[:password]
89
+ command.write(socket)
90
+
91
+ read_response(socket)
92
+
93
+ { :session => read_integer(socket),
94
+ :message_content => read_db_open(socket) }
95
+ end
96
+
97
+ def self.record_load(socket, session, rid, options = {})
98
+ command = Commands::RecordLoad9.new :session => session,
99
+ :cluster_id => rid.cluster_id,
100
+ :cluster_position => rid.cluster_position,
101
+ :ignore_cache => options[:ignore_cache] === true ? 1 : 0
102
+ command.write(socket)
103
+
104
+ read_response(socket)
105
+
106
+ { :session => read_integer(socket),
107
+ :message_content => read_record_load(socket) }
108
+ end
109
+
110
+ private
111
+
112
+ def self.make_db_create_command(*args)
113
+ session = args.shift
114
+ database = args.shift
115
+ options = args.shift
116
+
117
+ Commands::DbCreate9.new :session => session,
118
+ :database => database,
119
+ :database_type => options[:database_type].to_s,
120
+ :storage_type => options[:storage_type]
121
+ end
122
+
93
123
  end
124
+ end
94
125
  end
@@ -1,3 +1,3 @@
1
1
  module OrientDbClient
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -18,6 +18,8 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
+ s.add_dependency "bindata"
22
+
21
23
  s.add_development_dependency "minitest"
22
24
  s.add_development_dependency "mocha"
23
25
  s.add_development_dependency "rake"
@@ -12,7 +12,7 @@ module ConnectionHelper
12
12
  begin
13
13
  TCPSocket.stubs(:open).returns(mock_socket)
14
14
 
15
- mock_socket.stubs(:read).returns([version].pack('s>'))
15
+ mock_socket.stubs(:read).returns(BinData::Int16be.new(version).to_binary_s)
16
16
  mock_socket.stubs(:close)
17
17
 
18
18
  connection = connect_to_orientdb({})
@@ -1,22 +1,24 @@
1
+ require 'bindata'
2
+
1
3
  module ProtocolHelper
2
4
  def pack_byte(value)
3
5
  if value.is_a?(String)
4
6
  value = value.length > 0 ? value[0].ord : 0
5
7
  end
6
8
 
7
- [ value ].pack('C')
9
+ BinData::Int8.new(value).to_binary_s
8
10
  end
9
11
 
10
12
  def pack_integer(value)
11
- [ value ].pack('l>')
13
+ BinData::Int32be.new(value).to_binary_s
12
14
  end
13
15
 
14
16
  def pack_long(value)
15
- [ value ].pack('q>')
17
+ BinData::Int64be.new(value).to_binary_s
16
18
  end
17
19
 
18
20
  def pack_short(value)
19
- [ value ].pack('s>')
21
+ BinData::Int16be.new(value).to_binary_s
20
22
  end
21
23
 
22
24
  def pack_string(value)
@@ -46,6 +46,9 @@ class TestProtocol7 < MiniTest::Unit::TestCase
46
46
  :type => 'LOGICAL' } ]
47
47
 
48
48
  @socket = mock()
49
+ @socket.stubs(:pos)
50
+ @socket.stubs(:write)
51
+ @socket.stubs(:read).with(0).returns('')
49
52
  end
50
53
 
51
54
  def socket_receives(request)
@@ -53,18 +56,10 @@ class TestProtocol7 < MiniTest::Unit::TestCase
53
56
  end
54
57
 
55
58
  def test_connect
56
- request = OrientDbClient::NetworkMessage.new { |m|
57
- m.add :byte, @protocol::Operations::CONNECT
58
- m.add :integer, @protocol::NEW_SESSION
59
- m.add :string, @driver_name
60
- m.add :string, @driver_version
61
- m.add :short, @protocol_version
62
- m.add :string, nil #client-id
63
- m.add :string, @user
64
- m.add :string, @password
65
- }.pack
66
-
67
- socket_receives(request)
59
+ inputs = sequence('inputs')
60
+
61
+ @socket.expects(:write).once.with(pack_string(@user)).in_sequence(inputs)
62
+ @socket.expects(:write).once.with(pack_string(@password)).in_sequence(inputs)
68
63
 
69
64
  chain = [
70
65
  pack_byte(@protocol::Statuses::OK),
@@ -87,13 +82,10 @@ class TestProtocol7 < MiniTest::Unit::TestCase
87
82
  cluster_name = "vertexes"
88
83
  record_count = 1564
89
84
 
90
- request = OrientDbClient::NetworkMessage.new { |m|
91
- m.add :byte, @protocol::Operations::COUNT
92
- m.add :integer, @session
93
- m.add :string, cluster_name
94
- }.pack
85
+ inputs = sequence('inputs')
95
86
 
96
- socket_receives(request)
87
+ @socket.expects(:write).once.with(pack_integer(@session)).in_sequence(inputs)
88
+ @socket.expects(:write).once.with(pack_string(cluster_name)).in_sequence(inputs)
97
89
 
98
90
  chain = [
99
91
  pack_byte(@protocol::Statuses::OK),
@@ -111,21 +103,14 @@ class TestProtocol7 < MiniTest::Unit::TestCase
111
103
  def test_command
112
104
  command_string = 'SELECT FROM OUser'
113
105
 
114
- command = OrientDbClient::NetworkMessage.new { |m|
115
- m.add :string, 'com.orientechnologies.orient.core.sql.query.OSQLSynchQuery'
116
- m.add :string, command_string
117
- m.add :integer, -1
118
- m.add :integer, 0
119
- }.pack
120
-
121
- request = OrientDbClient::NetworkMessage.new { |m|
122
- m.add :byte, @protocol::Operations::COMMAND
123
- m.add :integer, @session
124
- m.add :byte, 's'
125
- m.add :string, command
126
- }.pack
106
+ command = @protocol::QueryMessage.new :query_class_name => 'com.orientechnologies.orient.core.sql.query.OSQLSynchQuery',
107
+ :text => command_string
127
108
 
128
- socket_receives(request)
109
+ inputs = sequence('inputs')
110
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::COMMAND)).in_sequence(inputs)
111
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
112
+ @socket.expects(:write).with(pack_byte('s'.ord)).in_sequence(inputs)
113
+ @socket.expects(:write).with(pack_string(command.to_binary_s)).in_sequence(inputs)
129
114
 
130
115
  chain = [
131
116
  pack_byte(@protocol::Statuses::OK),
@@ -151,14 +136,11 @@ class TestProtocol7 < MiniTest::Unit::TestCase
151
136
 
152
137
  new_cluster_number = 20
153
138
 
154
- request = OrientDbClient::NetworkMessage.new { |m|
155
- m.add :byte, @protocol::Operations::DATACLUSTER_ADD
156
- m.add :integer, @session
157
- m.add :string, type.to_s.upcase
158
- m.add :integer, container
159
- }.pack
160
-
161
- socket_receives(request)
139
+ inputs = sequence('inputs')
140
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DATACLUSTER_ADD)).in_sequence(inputs)
141
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
142
+ @socket.expects(:write).with(pack_string('LOGICAL')).in_sequence(inputs)
143
+ @socket.expects(:write).with(pack_integer(container)).in_sequence(inputs)
162
144
 
163
145
  chain = [
164
146
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -182,14 +164,11 @@ class TestProtocol7 < MiniTest::Unit::TestCase
182
164
 
183
165
  new_cluster_number = 6
184
166
 
185
- request = OrientDbClient::NetworkMessage.new { |m|
186
- m.add :byte, @protocol::Operations::DATACLUSTER_ADD
187
- m.add :integer, @session
188
- m.add :string, type.to_s.upcase
189
- m.add :string, name
190
- }.pack
191
-
192
- socket_receives(request)
167
+ inputs = sequence('inputs')
168
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DATACLUSTER_ADD)).in_sequence(inputs)
169
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
170
+ @socket.expects(:write).with(pack_string('MEMORY')).in_sequence(inputs)
171
+ @socket.expects(:write).with(pack_string(name)).in_sequence(inputs)
193
172
 
194
173
  chain = [
195
174
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -215,16 +194,13 @@ class TestProtocol7 < MiniTest::Unit::TestCase
215
194
 
216
195
  new_cluster_number = 10
217
196
 
218
- request = OrientDbClient::NetworkMessage.new { |m|
219
- m.add :byte, @protocol::Operations::DATACLUSTER_ADD
220
- m.add :integer, @session
221
- m.add :string, type
222
- m.add :string, name
223
- m.add :string, file_name
224
- m.add :integer, size
225
- }.pack
226
-
227
- socket_receives(request)
197
+ inputs = sequence('inputs')
198
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DATACLUSTER_ADD)).in_sequence(inputs)
199
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
200
+ @socket.expects(:write).with(pack_string('PHYSICAL')).in_sequence(inputs)
201
+ @socket.expects(:write).with(pack_string(name)).in_sequence(inputs)
202
+ @socket.expects(:write).with(pack_string(file_name)).in_sequence(inputs)
203
+ @socket.expects(:write).with(pack_integer(size)).in_sequence(inputs)
228
204
 
229
205
  chain = [
230
206
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -249,13 +225,10 @@ class TestProtocol7 < MiniTest::Unit::TestCase
249
225
  range_begin = 0
250
226
  range_end = 1000
251
227
 
252
- request = OrientDbClient::NetworkMessage.new { |m|
253
- m.add :byte, @protocol::Operations::DATACLUSTER_DATARANGE
254
- m.add :integer, @session
255
- m.add :short, cluster_id
256
- }.pack
257
-
258
- socket_receives(request)
228
+ inputs = sequence('inputs')
229
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DATACLUSTER_DATARANGE)).in_sequence(inputs)
230
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
231
+ @socket.expects(:write).with(pack_short(cluster_id)).in_sequence(inputs)
259
232
 
260
233
  chain = [
261
234
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -276,13 +249,10 @@ class TestProtocol7 < MiniTest::Unit::TestCase
276
249
  def test_datacluster_remove
277
250
  id = 10
278
251
 
279
- request = OrientDbClient::NetworkMessage.new { |m|
280
- m.add :byte, @protocol::Operations::DATACLUSTER_REMOVE
281
- m.add :integer, @session
282
- m.add :short, id
283
- }.pack
284
-
285
- socket_receives(request)
252
+ inputs = sequence('inputs')
253
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DATACLUSTER_REMOVE)).in_sequence(inputs)
254
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
255
+ @socket.expects(:write).with(pack_short(id)).in_sequence(inputs)
286
256
 
287
257
  chain = [
288
258
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -299,12 +269,10 @@ class TestProtocol7 < MiniTest::Unit::TestCase
299
269
  end
300
270
 
301
271
  def test_db_close
302
- request = OrientDbClient::NetworkMessage.new { |m|
303
- m.add :byte, @protocol::Operations::DB_CLOSE
304
- m.add :integer, @session
305
- }.pack
272
+ inputs = sequence('inputs')
273
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_CLOSE)).in_sequence(inputs)
274
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
306
275
 
307
- socket_receives(request)
308
276
  @socket.expects(:closed?).returns(true)
309
277
 
310
278
  result = @protocol.db_close(@socket, @session)
@@ -315,12 +283,9 @@ class TestProtocol7 < MiniTest::Unit::TestCase
315
283
  def test_db_countrecords
316
284
  count = 26345
317
285
 
318
- request = OrientDbClient::NetworkMessage.new { |m|
319
- m.add :byte, @protocol::Operations::DB_COUNTRECORDS
320
- m.add :integer, @session
321
- }.pack
322
-
323
- socket_receives(request)
286
+ inputs = sequence('inputs')
287
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_COUNTRECORDS)).in_sequence(inputs)
288
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
324
289
 
325
290
  chain = [
326
291
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -339,14 +304,11 @@ class TestProtocol7 < MiniTest::Unit::TestCase
339
304
  def test_db_create
340
305
  storage_type = 'local'
341
306
 
342
- request = OrientDbClient::NetworkMessage.new { |m|
343
- m.add :byte, @protocol::Operations::DB_CREATE
344
- m.add :integer, @session
345
- m.add :string, @database
346
- m.add :string, storage_type
347
- }.pack
348
-
349
- socket_receives(request)
307
+ inputs = sequence('inputs')
308
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_CREATE)).in_sequence(inputs)
309
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
310
+ @socket.expects(:write).with(pack_string(@database)).in_sequence(inputs)
311
+ @socket.expects(:write).with(pack_string(storage_type)).in_sequence(inputs)
350
312
 
351
313
  chain = [
352
314
  pack_byte(@protocol::Statuses::OK),
@@ -361,13 +323,10 @@ class TestProtocol7 < MiniTest::Unit::TestCase
361
323
  end
362
324
 
363
325
  def test_db_delete
364
- request = OrientDbClient::NetworkMessage.new { |m|
365
- m.add :byte, @protocol::Operations::DB_DELETE
366
- m.add :integer, @session
367
- m.add :string, @database
368
- }.pack
369
-
370
- socket_receives(request)
326
+ inputs = sequence('inputs')
327
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_DELETE)).in_sequence(inputs)
328
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
329
+ @socket.expects(:write).with(pack_string(@database)).in_sequence(inputs)
371
330
 
372
331
  chain = [
373
332
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -382,13 +341,10 @@ class TestProtocol7 < MiniTest::Unit::TestCase
382
341
  end
383
342
 
384
343
  def test_db_exist
385
- request = OrientDbClient::NetworkMessage.new { |m|
386
- m.add :byte, @protocol::Operations::DB_EXIST
387
- m.add :integer, @session
388
- m.add :string, @database
389
- }.pack
390
-
391
- socket_receives(request)
344
+ inputs = sequence('inputs')
345
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_EXIST)).in_sequence(inputs)
346
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
347
+ @socket.expects(:write).with(pack_string(@database)).in_sequence(inputs)
392
348
 
393
349
  chain = [
394
350
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },
@@ -405,19 +361,15 @@ class TestProtocol7 < MiniTest::Unit::TestCase
405
361
  end
406
362
 
407
363
  def test_db_open
408
- request = OrientDbClient::NetworkMessage.new { |m|
409
- m.add :byte, @protocol::Operations::DB_OPEN
410
- m.add :integer, @protocol::NEW_SESSION
411
- m.add :string, @driver_name
412
- m.add :string, @driver_version
413
- m.add :short, @protocol_version
414
- m.add :string, nil #client-id
415
- m.add :string, @database
416
- m.add :string, @user
417
- m.add :string, @password
418
- }.pack
419
-
420
- socket_receives(request)
364
+ inputs = sequence('inputs')
365
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_OPEN)).in_sequence(inputs)
366
+ @socket.expects(:write).with(pack_integer(@protocol::NEW_SESSION)).in_sequence(inputs)
367
+ @socket.expects(:write).with(pack_string(@driver_name)).in_sequence(inputs)
368
+ @socket.expects(:write).with(pack_string(@driver_version)).in_sequence(inputs)
369
+ @socket.expects(:write).with(pack_short(@protocol_version)).in_sequence(inputs)
370
+ @socket.expects(:write).with(pack_string(@database)).in_sequence(inputs)
371
+ @socket.expects(:write).with(pack_string(@user)).in_sequence(inputs)
372
+ @socket.expects(:write).with(pack_string(@password)).in_sequence(inputs)
421
373
 
422
374
  # recv chain
423
375
  chain = [
@@ -471,16 +423,13 @@ class TestProtocol7 < MiniTest::Unit::TestCase
471
423
  }
472
424
  }
473
425
 
474
- request = OrientDbClient::NetworkMessage.new { |m|
475
- m.add :byte, @protocol::Operations::RECORD_CREATE
476
- m.add :integer, @session
477
- m.add :short, cluster_id
478
- m.add :string, @protocol.serializer.serialize(record)
479
- m.add :byte, 'd'.ord
480
- m.add :byte, @protocol::SyncModes::SYNC
481
- }.pack
482
-
483
- socket_receives(request)
426
+ inputs = sequence('inputs')
427
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::RECORD_CREATE)).in_sequence(inputs)
428
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
429
+ @socket.expects(:write).with(pack_short(cluster_id)).in_sequence(inputs)
430
+ @socket.expects(:write).with(pack_string(@protocol.serializer.serialize(record))).in_sequence(inputs)
431
+ @socket.expects(:write).with(pack_byte('d'.ord)).in_sequence(inputs)
432
+ @socket.expects(:write).with(pack_byte(@protocol::SyncModes::SYNC)).in_sequence(inputs)
484
433
 
485
434
  chain = [
486
435
  pack_byte(@protocol::Statuses::OK),
@@ -501,16 +450,13 @@ class TestProtocol7 < MiniTest::Unit::TestCase
501
450
  cluster_position = 1726
502
451
  version = 0
503
452
 
504
- request = OrientDbClient::NetworkMessage.new { |m|
505
- m.add :byte, @protocol::Operations::RECORD_DELETE
506
- m.add :integer, @session
507
- m.add :short, cluster_id
508
- m.add :long, cluster_position
509
- m.add :integer, version
510
- m.add :byte, @protocol::SyncModes::SYNC
511
- }.pack
512
-
513
- socket_receives(request)
453
+ inputs = sequence('inputs')
454
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::RECORD_DELETE)).in_sequence(inputs)
455
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
456
+ @socket.expects(:write).with(pack_short(cluster_id)).in_sequence(inputs)
457
+ @socket.expects(:write).with(pack_long(cluster_position)).in_sequence(inputs)
458
+ @socket.expects(:write).with(pack_integer(version)).in_sequence(inputs)
459
+ @socket.expects(:write).with(pack_byte(@protocol::SyncModes::SYNC)).in_sequence(inputs)
514
460
 
515
461
  chain = [
516
462
  pack_byte(@protocol::Statuses::OK),
@@ -529,15 +475,11 @@ class TestProtocol7 < MiniTest::Unit::TestCase
529
475
  cluster_id = 3
530
476
  cluster_position = 6
531
477
 
532
- request = OrientDbClient::NetworkMessage.new { |m|
533
- m.add :byte, @protocol::Operations::RECORD_LOAD
534
- m.add :integer, @session
535
- m.add :short, cluster_id
536
- m.add :long, cluster_position
537
- m.add :string, ""
538
- }.pack
539
-
540
- socket_receives(request)
478
+ inputs = sequence('inputs')
479
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::RECORD_LOAD)).in_sequence(inputs)
480
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
481
+ @socket.expects(:write).with(pack_short(cluster_id)).in_sequence(inputs)
482
+ @socket.expects(:write).with(pack_long(cluster_position)).in_sequence(inputs)
541
483
 
542
484
  chain = [
543
485
  pack_byte(@protocol::Statuses::OK),
@@ -566,18 +508,15 @@ class TestProtocol7 < MiniTest::Unit::TestCase
566
508
  }
567
509
  }
568
510
 
569
- request = OrientDbClient::NetworkMessage.new { |m|
570
- m.add :byte, @protocol::Operations::RECORD_UPDATE
571
- m.add :integer, @session
572
- m.add :short, cluster_id
573
- m.add :long, cluster_position
574
- m.add :string, @protocol.serializer.serialize(record)
575
- m.add :integer, record_version_policy
576
- m.add :byte, 'd'.ord
577
- m.add :byte, @protocol::SyncModes::SYNC
578
- }.pack
579
-
580
- socket_receives(request)
511
+ inputs = sequence('inputs')
512
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::RECORD_UPDATE)).in_sequence(inputs)
513
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
514
+ @socket.expects(:write).with(pack_short(cluster_id)).in_sequence(inputs)
515
+ @socket.expects(:write).with(pack_long(cluster_position)).in_sequence(inputs)
516
+ @socket.expects(:write).with(pack_string(@protocol.serializer.serialize(record))).in_sequence(inputs)
517
+ @socket.expects(:write).with(pack_integer(record_version_policy)).in_sequence(inputs)
518
+ @socket.expects(:write).with(pack_byte('d'.ord)).in_sequence(inputs)
519
+ @socket.expects(:write).with(pack_byte(@protocol::SyncModes::SYNC)).in_sequence(inputs)
581
520
 
582
521
  chain = [
583
522
  pack_byte(@protocol::Statuses::OK),
@@ -593,12 +532,9 @@ class TestProtocol7 < MiniTest::Unit::TestCase
593
532
  end
594
533
 
595
534
  def test_db_reload
596
- request = OrientDbClient::NetworkMessage.new { |m|
597
- m.add :byte, @protocol::Operations::DB_RELOAD
598
- m.add :integer, @session
599
- }.pack
600
-
601
- socket_receives(request)
535
+ inputs = sequence('inputs')
536
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_RELOAD)).in_sequence(inputs)
537
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
602
538
 
603
539
  # recv chain
604
540
  chain = [
@@ -636,12 +572,9 @@ class TestProtocol7 < MiniTest::Unit::TestCase
636
572
  def test_db_size
637
573
  size = 1563467
638
574
 
639
- request = OrientDbClient::NetworkMessage.new { |m|
640
- m.add :byte, @protocol::Operations::DB_SIZE
641
- m.add :integer, @session
642
- }.pack
643
-
644
- socket_receives(request)
575
+ inputs = sequence('inputs')
576
+ @socket.expects(:write).with(pack_byte(@protocol::Operations::DB_SIZE)).in_sequence(inputs)
577
+ @socket.expects(:write).with(pack_integer(@session)).in_sequence(inputs)
645
578
 
646
579
  chain = [
647
580
  { :param => Sizes::BYTE, :return => pack_byte(@protocol::Statuses::OK) },