wamp_client 0.1.4 → 0.2.0

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -32
  3. data/lib/wamp/client/auth.rb +0 -27
  4. data/lib/wamp/client/check.rb +0 -27
  5. data/lib/wamp/client/connection.rb +40 -113
  6. data/lib/wamp/client/event.rb +78 -0
  7. data/lib/wamp/client/manager/base.rb +39 -0
  8. data/lib/wamp/client/manager/base_multiple.rb +37 -0
  9. data/lib/wamp/client/manager/establish.rb +168 -0
  10. data/lib/wamp/client/manager/registration.rb +183 -0
  11. data/lib/wamp/client/manager/require.rb +3 -0
  12. data/lib/wamp/client/manager/subscription.rb +55 -0
  13. data/lib/wamp/client/request/base.rb +125 -0
  14. data/lib/wamp/client/request/call.rb +111 -0
  15. data/lib/wamp/client/request/publish.rb +72 -0
  16. data/lib/wamp/client/request/register.rb +79 -0
  17. data/lib/wamp/client/request/require.rb +6 -0
  18. data/lib/wamp/client/request/subscribe.rb +78 -0
  19. data/lib/wamp/client/request/unregister.rb +71 -0
  20. data/lib/wamp/client/request/unsubscribe.rb +72 -0
  21. data/lib/wamp/client/response.rb +136 -0
  22. data/lib/wamp/client/serializer.rb +0 -29
  23. data/lib/wamp/client/session.rb +172 -839
  24. data/lib/wamp/client/transport/base.rb +4 -77
  25. data/lib/wamp/client/transport/event_machine_base.rb +0 -27
  26. data/lib/wamp/client/transport/faye_web_socket.rb +4 -31
  27. data/lib/wamp/client/transport/web_socket_event_machine.rb +3 -30
  28. data/lib/wamp/client/version.rb +1 -28
  29. data/lib/wamp/client.rb +1 -28
  30. data/spec/spec_helper.rb +3 -137
  31. data/spec/support/faye_web_socket_client_stub.rb +43 -0
  32. data/spec/support/test_transport.rb +50 -0
  33. data/spec/support/web_socket_event_machine_client_stub.rb +39 -0
  34. data/spec/wamp/client/connection_spec.rb +4 -4
  35. data/spec/wamp/client/session_spec.rb +135 -135
  36. data/spec/wamp/client/transport_spec.rb +2 -2
  37. data/wamp_client.gemspec +10 -9
  38. metadata +59 -38
  39. data/lib/wamp/client/defer.rb +0 -70
@@ -1,18 +1,18 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Wamp::Client::Session do
4
- let (:transport) { SpecHelper::TestTransport.new({}) }
4
+ let (:transport) { TestTransport.new({}) }
5
5
  let (:session) { Wamp::Client::Session.new(transport) }
6
6
 
7
7
  describe 'establishment' do
8
8
 
9
9
  before(:each) do
10
10
  @join_count = 0
11
- session.on_join do |details|
11
+ session.on :join do |details|
12
12
  @join_count += 1
13
13
  end
14
14
  @leave_count = 0
15
- session.on_leave do |reason, details|
15
+ session.on :leave do |reason, details|
16
16
  @leave_count += 1
17
17
  end
18
18
  end
@@ -48,7 +48,7 @@ describe Wamp::Client::Session do
48
48
  expect(@leave_count).to eq(0)
49
49
 
50
50
  # Check Exception
51
- expect { session.join('test') }.to raise_exception("Session must be closed to call 'join'")
51
+ expect { session.join('test') }.to raise_error(RuntimeError)
52
52
 
53
53
  end
54
54
 
@@ -71,7 +71,7 @@ describe Wamp::Client::Session do
71
71
  it 'performs a connect then client initiated goodbye' do
72
72
 
73
73
  # Check Exception
74
- expect { session.leave('felt.like.it') }.to raise_exception("Session must be opened to call 'leave'")
74
+ expect { session.leave('felt.like.it') }.to raise_error(RuntimeError)
75
75
 
76
76
  session.join('test')
77
77
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -85,7 +85,7 @@ describe Wamp::Client::Session do
85
85
  expect(session.id).to eq(1234)
86
86
  expect(session.realm).to eq('test')
87
87
  expect(session.is_open?).to eq(true)
88
- expect(session._goodbye_sent).to eq(true)
88
+ expect(session.establish.goodbye_sent).to eq(true)
89
89
  expect(@leave_count).to eq(0)
90
90
 
91
91
  # Send Goodbye response from server
@@ -97,7 +97,7 @@ describe Wamp::Client::Session do
97
97
  expect(session.id).to be_nil
98
98
  expect(session.is_open?).to eq(false)
99
99
  expect(session.realm).to be_nil
100
- expect(session._goodbye_sent).to eq(false)
100
+ expect(session.establish.goodbye_sent).to eq(false)
101
101
  expect(@leave_count).to eq(1)
102
102
 
103
103
  end
@@ -119,7 +119,7 @@ describe Wamp::Client::Session do
119
119
  expect(session.id).to be_nil
120
120
  expect(session.is_open?).to eq(false)
121
121
  expect(session.realm).to be_nil
122
- expect(session._goodbye_sent).to eq(false)
122
+ expect(session.establish.goodbye_sent).to eq(false)
123
123
  expect(@leave_count).to eq(1)
124
124
 
125
125
  end
@@ -130,7 +130,7 @@ describe Wamp::Client::Session do
130
130
 
131
131
  before(:each) do
132
132
  # Check Exception
133
- expect { session.subscribe('test.topic', nil, {test: 1}) }.to raise_exception("Session must be open to call 'subscribe'")
133
+ expect { session.subscribe('test.topic', nil, {test: 1}) }.to raise_error(RuntimeError)
134
134
 
135
135
  session.join('test')
136
136
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -141,8 +141,8 @@ describe Wamp::Client::Session do
141
141
  it 'adds subscribe request to queue' do
142
142
  session.subscribe('test.topic', lambda {}, {test: 1})
143
143
 
144
- expect(session._requests[:subscribe].count).to eq(1)
145
- request_id = session._requests[:subscribe].keys.first
144
+ expect(session.request[:subscribe].requests.count).to eq(1)
145
+ request_id = session.request[:subscribe].requests.keys.first
146
146
 
147
147
  # Check the transport messages
148
148
  expect(transport.messages.count).to eq(1)
@@ -152,11 +152,11 @@ describe Wamp::Client::Session do
152
152
  expect(transport.messages[0][3]).to eq('test.topic')
153
153
 
154
154
  # Check the request dictionary
155
- expect(session._requests[:subscribe][request_id][:t]).to eq('test.topic')
156
- expect(session._requests[:subscribe][request_id][:o]).to eq({test: 1})
155
+ expect(session.request[:subscribe].requests[request_id][:t]).to eq('test.topic')
156
+ expect(session.request[:subscribe].requests[request_id][:o]).to eq({test: 1})
157
157
 
158
158
  # Check the subscriptions
159
- expect(session._subscriptions.count).to eq(0)
159
+ expect(session.subscription.objects.count).to eq(0)
160
160
  end
161
161
 
162
162
  it 'confirms subscription' do
@@ -170,7 +170,7 @@ describe Wamp::Client::Session do
170
170
  expect(details).to eq({topic: 'test.topic', type: 'subscribe', session: session})
171
171
  end
172
172
 
173
- request_id = session._requests[:subscribe].keys.first
173
+ request_id = session.request[:subscribe].requests.keys.first
174
174
 
175
175
  expect(count).to eq(0)
176
176
 
@@ -181,12 +181,12 @@ describe Wamp::Client::Session do
181
181
  expect(count).to eq(1)
182
182
 
183
183
  # Check that the requests are empty
184
- expect(session._requests[:subscribe].count).to eq(0)
184
+ expect(session.request[:subscribe].requests.count).to eq(0)
185
185
 
186
186
  # Check the subscriptions
187
- expect(session._subscriptions.count).to eq(1)
188
- expect(session._subscriptions[3456].topic).to eq('test.topic')
189
- expect(session._subscriptions[3456].options).to eq({test: 1})
187
+ expect(session.subscription.objects.count).to eq(1)
188
+ expect(session.subscription.objects[3456].topic).to eq('test.topic')
189
+ expect(session.subscription.objects[3456].options).to eq({test: 1})
190
190
 
191
191
  end
192
192
 
@@ -200,7 +200,7 @@ describe Wamp::Client::Session do
200
200
  expect(details).to eq({fail: true, topic: 'test.topic', type: 'subscribe', session: session})
201
201
  end
202
202
 
203
- request_id = session._requests[:subscribe].keys.first
203
+ request_id = session.request[:subscribe].requests.keys.first
204
204
 
205
205
  # Generate server response
206
206
  error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::SUBSCRIBE,
@@ -210,10 +210,10 @@ describe Wamp::Client::Session do
210
210
  expect(count).to eq(1)
211
211
 
212
212
  # Check that the requests are empty
213
- expect(session._requests[:subscribe].count).to eq(0)
213
+ expect(session.request[:subscribe].requests.count).to eq(0)
214
214
 
215
215
  # Check the subscriptions
216
- expect(session._subscriptions.count).to eq(0)
216
+ expect(session.subscription.objects.count).to eq(0)
217
217
  end
218
218
 
219
219
  it 'receives an event' do
@@ -222,13 +222,13 @@ describe Wamp::Client::Session do
222
222
  handler = lambda do |args, kwargs, details|
223
223
  count += 1
224
224
 
225
- expect(details).to eq({test:1, publication:7890, session: session})
225
+ expect(details).to eq({test:1, publication:7890, session: session, topic: "test.topic"})
226
226
  expect(args).to eq([2])
227
227
  expect(kwargs).to eq({param: 'value'})
228
228
  end
229
229
 
230
230
  session.subscribe('test.topic', handler, {test: 1})
231
- request_id = session._requests[:subscribe].keys.first
231
+ request_id = session.request[:subscribe].requests.keys.first
232
232
 
233
233
  expect(count).to eq(0)
234
234
 
@@ -252,7 +252,7 @@ describe Wamp::Client::Session do
252
252
 
253
253
  before(:each) do
254
254
  # Check Exception
255
- expect { session.unsubscribe(nil) }.to raise_exception("Session must be open to call 'unsubscribe'")
255
+ expect { session.unsubscribe(nil) }.to raise_error(RuntimeError)
256
256
 
257
257
  session.join('test')
258
258
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -263,7 +263,7 @@ describe Wamp::Client::Session do
263
263
  end
264
264
 
265
265
  # Get the request ID
266
- @request_id = session._requests[:subscribe].keys.first
266
+ @request_id = session.request[:subscribe].requests.keys.first
267
267
 
268
268
  # Generate server response
269
269
  subscribed = Wamp::Client::Message::Subscribed.new(@request_id, 3456)
@@ -275,7 +275,7 @@ describe Wamp::Client::Session do
275
275
  it 'adds unsubscribe request to the queue' do
276
276
  session.unsubscribe(@subscription)
277
277
 
278
- @request_id = session._requests[:unsubscribe].keys.first
278
+ @request_id = session.request[:unsubscribe].requests.keys.first
279
279
 
280
280
  # Check the transport messages
281
281
  expect(transport.messages.count).to eq(1)
@@ -284,10 +284,10 @@ describe Wamp::Client::Session do
284
284
  expect(transport.messages[0][2]).to eq(@subscription.id)
285
285
 
286
286
  # Check the request dictionary
287
- expect(session._requests[:unsubscribe][@request_id]).not_to be_nil
287
+ expect(session.request[:unsubscribe].requests[@request_id]).not_to be_nil
288
288
 
289
289
  # Check the subscriptions
290
- expect(session._subscriptions.count).to eq(1)
290
+ expect(session.subscription.objects.count).to eq(1)
291
291
 
292
292
  end
293
293
 
@@ -302,7 +302,7 @@ describe Wamp::Client::Session do
302
302
  expect(details).to eq({topic: 'test.topic', type: 'unsubscribe', session: session})
303
303
  end
304
304
 
305
- @request_id = session._requests[:unsubscribe].keys.first
305
+ @request_id = session.request[:unsubscribe].requests.keys.first
306
306
 
307
307
  expect(count).to eq(0)
308
308
 
@@ -311,10 +311,10 @@ describe Wamp::Client::Session do
311
311
  transport.receive_message(unsubscribed.payload)
312
312
 
313
313
  # Check the request dictionary
314
- expect(session._requests[:unsubscribe].count).to eq(0)
314
+ expect(session.request[:unsubscribe].requests.count).to eq(0)
315
315
 
316
316
  # Check the subscriptions
317
- expect(session._subscriptions.count).to eq(0)
317
+ expect(session.subscription.objects.count).to eq(0)
318
318
 
319
319
  end
320
320
 
@@ -322,17 +322,17 @@ describe Wamp::Client::Session do
322
322
 
323
323
  @subscription.unsubscribe
324
324
 
325
- @request_id = session._requests[:unsubscribe].keys.first
325
+ @request_id = session.request[:unsubscribe].requests.keys.first
326
326
 
327
327
  # Generate Server Response
328
328
  unsubscribed = Wamp::Client::Message::Unsubscribed.new(@request_id)
329
329
  transport.receive_message(unsubscribed.payload)
330
330
 
331
331
  # Check the request dictionary
332
- expect(session._requests[:unsubscribe].count).to eq(0)
332
+ expect(session.request[:unsubscribe].requests.count).to eq(0)
333
333
 
334
334
  # Check the subscriptions
335
- expect(session._subscriptions.count).to eq(0)
335
+ expect(session.subscription.objects.count).to eq(0)
336
336
 
337
337
  end
338
338
 
@@ -347,7 +347,7 @@ describe Wamp::Client::Session do
347
347
  expect(details).to eq({fail: true, topic: 'test.topic', type: 'unsubscribe', session: session})
348
348
  end
349
349
 
350
- @request_id = session._requests[:unsubscribe].keys.first
350
+ @request_id = session.request[:unsubscribe].requests.keys.first
351
351
 
352
352
  expect(count).to eq(0)
353
353
 
@@ -359,10 +359,10 @@ describe Wamp::Client::Session do
359
359
  expect(count).to eq(1)
360
360
 
361
361
  # Check the request dictionary
362
- expect(session._requests[:unsubscribe].count).to eq(0)
362
+ expect(session.request[:unsubscribe].requests.count).to eq(0)
363
363
 
364
364
  # Check the subscriptions
365
- expect(session._subscriptions.count).to eq(1)
365
+ expect(session.subscription.objects.count).to eq(1)
366
366
 
367
367
  end
368
368
 
@@ -372,7 +372,7 @@ describe Wamp::Client::Session do
372
372
 
373
373
  before(:each) do
374
374
  # Check Exception
375
- expect { session.publish('test.topic') }.to raise_exception("Session must be open to call 'publish'")
375
+ expect { session.publish('test.topic') }.to raise_error(RuntimeError)
376
376
 
377
377
  session.join('test')
378
378
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -384,7 +384,7 @@ describe Wamp::Client::Session do
384
384
  it 'adds a publish to the publish request queue' do
385
385
  session.publish('test.topic', nil, nil, {acknowledge:true})
386
386
 
387
- @request_id = session._requests[:publish].keys.first
387
+ @request_id = session.request[:publish].requests.keys.first
388
388
 
389
389
  # Check the transport messages
390
390
  expect(transport.messages.count).to eq(1)
@@ -393,7 +393,7 @@ describe Wamp::Client::Session do
393
393
  expect(transport.messages[0][2]).to eq({acknowledge:true})
394
394
 
395
395
  # Check the request dictionary
396
- expect(session._requests[:publish][@request_id]).not_to be_nil
396
+ expect(session.request[:publish].requests[@request_id]).not_to be_nil
397
397
 
398
398
  end
399
399
 
@@ -406,7 +406,7 @@ describe Wamp::Client::Session do
406
406
  expect(transport.messages.count).to eq(1)
407
407
 
408
408
  # Check the request dictionary
409
- expect(session._requests[:publish].count).to eq(0)
409
+ expect(session.request[:publish].requests.count).to eq(0)
410
410
 
411
411
  end
412
412
 
@@ -423,7 +423,7 @@ describe Wamp::Client::Session do
423
423
  expect(details).to eq({topic: 'test.topic', type: 'publish', session: session, publication: 5678})
424
424
  end
425
425
 
426
- @request_id = session._requests[:publish].keys.first
426
+ @request_id = session.request[:publish].requests.keys.first
427
427
 
428
428
  expect(count).to eq(0)
429
429
 
@@ -432,7 +432,7 @@ describe Wamp::Client::Session do
432
432
  transport.receive_message(published.payload)
433
433
 
434
434
  # Check the request dictionary
435
- expect(session._requests[:publish].count).to eq(0)
435
+ expect(session.request[:publish].requests.count).to eq(0)
436
436
 
437
437
  expect(count).to eq(1)
438
438
 
@@ -449,7 +449,7 @@ describe Wamp::Client::Session do
449
449
  expect(details).to eq({fail: true, topic: 'test.topic', type: 'publish', session: session})
450
450
  end
451
451
 
452
- @request_id = session._requests[:publish].keys.first
452
+ @request_id = session.request[:publish].requests.keys.first
453
453
 
454
454
  expect(count).to eq(0)
455
455
 
@@ -461,7 +461,7 @@ describe Wamp::Client::Session do
461
461
  expect(count).to eq(1)
462
462
 
463
463
  # Check the request dictionary
464
- expect(session._requests[:publish].count).to eq(0)
464
+ expect(session.request[:publish].requests.count).to eq(0)
465
465
 
466
466
  end
467
467
 
@@ -471,7 +471,7 @@ describe Wamp::Client::Session do
471
471
 
472
472
  before(:each) do
473
473
  # Check Exception
474
- expect { session.register('test.procedure', nil, {test: 1}) }.to raise_exception("Session must be open to call 'register'")
474
+ expect { session.register('test.procedure', nil, {test: 1}) }.to raise_error(RuntimeError)
475
475
 
476
476
  session.join('test')
477
477
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -482,8 +482,8 @@ describe Wamp::Client::Session do
482
482
  it 'adds register request to queue' do
483
483
  session.register('test.procedure', lambda {}, {test: 1})
484
484
 
485
- expect(session._requests[:register].count).to eq(1)
486
- request_id = session._requests[:register].keys.first
485
+ expect(session.request[:register].requests.count).to eq(1)
486
+ request_id = session.request[:register].requests.keys.first
487
487
 
488
488
  # Check the transport messages
489
489
  expect(transport.messages.count).to eq(1)
@@ -493,11 +493,11 @@ describe Wamp::Client::Session do
493
493
  expect(transport.messages[0][3]).to eq('test.procedure')
494
494
 
495
495
  # Check the request dictionary
496
- expect(session._requests[:register][request_id][:p]).to eq('test.procedure')
497
- expect(session._requests[:register][request_id][:o]).to eq({test: 1})
496
+ expect(session.request[:register].requests[request_id][:p]).to eq('test.procedure')
497
+ expect(session.request[:register].requests[request_id][:o]).to eq({test: 1})
498
498
 
499
499
  # Check the subscriptions
500
- expect(session._registrations.count).to eq(0)
500
+ expect(session.registration.objects.count).to eq(0)
501
501
  end
502
502
 
503
503
  it 'confirms register' do
@@ -511,7 +511,7 @@ describe Wamp::Client::Session do
511
511
  expect(error).to be_nil
512
512
  expect(details).to eq({procedure: 'test.procedure', type: 'register', session: session})
513
513
  end
514
- request_id = session._requests[:register].keys.first
514
+ request_id = session.request[:register].requests.keys.first
515
515
 
516
516
  expect(count).to eq(0)
517
517
 
@@ -522,12 +522,12 @@ describe Wamp::Client::Session do
522
522
  expect(count).to eq(1)
523
523
 
524
524
  # Check that the requests are empty
525
- expect(session._requests[:register].count).to eq(0)
525
+ expect(session.request[:register].requests.count).to eq(0)
526
526
 
527
527
  # Check the subscriptions
528
- expect(session._registrations.count).to eq(1)
529
- expect(session._registrations[3456].procedure).to eq('test.procedure')
530
- expect(session._registrations[3456].options).to eq({test: 1})
528
+ expect(session.registration.objects.count).to eq(1)
529
+ expect(session.registration.objects[3456].procedure).to eq('test.procedure')
530
+ expect(session.registration.objects[3456].options).to eq({test: 1})
531
531
 
532
532
  end
533
533
 
@@ -541,7 +541,7 @@ describe Wamp::Client::Session do
541
541
  expect(details).to eq({fail: true, procedure: 'test.procedure', type: 'register', session: session})
542
542
  end
543
543
 
544
- request_id = session._requests[:register].keys.first
544
+ request_id = session.request[:register].requests.keys.first
545
545
 
546
546
  # Generate server response
547
547
  error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::REGISTER,
@@ -551,10 +551,10 @@ describe Wamp::Client::Session do
551
551
  expect(count).to eq(1)
552
552
 
553
553
  # Check that the requests are empty
554
- expect(session._requests[:register].count).to eq(0)
554
+ expect(session.request[:register].requests.count).to eq(0)
555
555
 
556
556
  # Check the subscriptions
557
- expect(session._registrations.count).to eq(0)
557
+ expect(session.registration.objects.count).to eq(0)
558
558
  end
559
559
 
560
560
  end
@@ -565,7 +565,7 @@ describe Wamp::Client::Session do
565
565
  @request = nil
566
566
 
567
567
  # Check Exception
568
- expect { session.register('test.procedure', nil, {test: 1}) }.to raise_exception("Session must be open to call 'register'")
568
+ expect { session.register('test.procedure', nil, {test: 1}) }.to raise_error(RuntimeError)
569
569
 
570
570
  session.join('test')
571
571
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -576,7 +576,7 @@ describe Wamp::Client::Session do
576
576
  @response
577
577
  end
578
578
  session.register('test.procedure', handler, {test: 1})
579
- request_id = session._requests[:register].keys.first
579
+ request_id = session.request[:register].requests.keys.first
580
580
  registered = Wamp::Client::Message::Registered.new(request_id, 3456)
581
581
  transport.receive_message(registered.payload)
582
582
 
@@ -586,7 +586,7 @@ describe Wamp::Client::Session do
586
586
  end
587
587
  session.register('test.defer.procedure', defer_handler)
588
588
 
589
- request_id = session._requests[:register].keys.first
589
+ request_id = session.request[:register].requests.keys.first
590
590
  registered = Wamp::Client::Message::Registered.new(request_id, 4567)
591
591
  transport.receive_message(registered.payload)
592
592
 
@@ -595,16 +595,16 @@ describe Wamp::Client::Session do
595
595
  raise 'error'
596
596
  end
597
597
  session.register('test.procedure.error', handler, {test: 1})
598
- request_id = session._requests[:register].keys.first
598
+ request_id = session.request[:register].requests.keys.first
599
599
  registered = Wamp::Client::Message::Registered.new(request_id, 5678)
600
600
  transport.receive_message(registered.payload)
601
601
 
602
602
  # Register Call Error Response
603
603
  handler = lambda do |args, kwargs, details|
604
- raise Wamp::Client::CallError.new('test.error', ['error'])
604
+ raise Wamp::Client::Response::CallError.new('test.error', ['error'])
605
605
  end
606
606
  session.register('test.procedure.call.error', handler, {test: 1})
607
- request_id = session._requests[:register].keys.first
607
+ request_id = session.request[:register].requests.keys.first
608
608
  registered = Wamp::Client::Message::Registered.new(request_id, 6789)
609
609
  transport.receive_message(registered.payload)
610
610
 
@@ -616,7 +616,7 @@ describe Wamp::Client::Session do
616
616
  end
617
617
  session.register('test.defer.interrupt.procedure', defer_handler, nil, defer_interrupt_handler)
618
618
 
619
- request_id = session._requests[:register].keys.first
619
+ request_id = session.request[:register].requests.keys.first
620
620
  registered = Wamp::Client::Message::Registered.new(request_id, 7896)
621
621
  transport.receive_message(registered.payload)
622
622
 
@@ -659,7 +659,7 @@ describe Wamp::Client::Session do
659
659
 
660
660
  it 'result response' do
661
661
 
662
- @response = Wamp::Client::CallResult.new(['test'], {test:1})
662
+ @response = Wamp::Client::Response::CallResult.new(['test'], {test:1})
663
663
 
664
664
  # Generate server event
665
665
  invocation = Wamp::Client::Message::Invocation.new(7890, 3456, {test:1}, [2], {param: 'value'})
@@ -712,7 +712,7 @@ describe Wamp::Client::Session do
712
712
 
713
713
  it 'return error response' do
714
714
 
715
- @response = Wamp::Client::CallError.new('wamp.error.runtime', ['error'], {error: true})
715
+ @response = Wamp::Client::Response::CallError.new('wamp.error.runtime', ['error'], {error: true})
716
716
 
717
717
  # Generate server event
718
718
  invocation = Wamp::Client::Message::Invocation.new(7890, 3456, {test:1}, [2], {param: 'value'})
@@ -732,9 +732,9 @@ describe Wamp::Client::Session do
732
732
 
733
733
  it 'defer normal response' do
734
734
 
735
- @response = Wamp::Client::CallResult.new(['test'], {test:1})
735
+ @response = Wamp::Client::Response::CallResult.new(['test'], {test:1})
736
736
 
737
- @defer = Wamp::Client::Defer::CallDefer.new
737
+ @defer = Wamp::Client::Response::CallDefer.new
738
738
 
739
739
  # Generate server event
740
740
  invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
@@ -756,7 +756,7 @@ describe Wamp::Client::Session do
756
756
 
757
757
  it 'defer error normal response' do
758
758
 
759
- @defer = Wamp::Client::Defer::CallDefer.new
759
+ @defer = Wamp::Client::Response::CallDefer.new
760
760
 
761
761
  # Generate server event
762
762
  invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
@@ -779,9 +779,9 @@ describe Wamp::Client::Session do
779
779
 
780
780
  it 'defer error object response' do
781
781
 
782
- @response = Wamp::Client::CallError.new('wamp.error.runtime', ['error'], {error: true})
782
+ @response = Wamp::Client::Response::CallError.new('wamp.error.runtime', ['error'], {error: true})
783
783
 
784
- @defer = Wamp::Client::Defer::CallDefer.new
784
+ @defer = Wamp::Client::Response::CallDefer.new
785
785
 
786
786
  # Generate server event
787
787
  invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
@@ -808,7 +808,7 @@ describe Wamp::Client::Session do
808
808
 
809
809
  @response = nil
810
810
 
811
- @defer = Wamp::Client::Defer::CallDefer.new
811
+ @defer = Wamp::Client::Response::CallDefer.new
812
812
 
813
813
  # Generate server event
814
814
  invocation = Wamp::Client::Message::Invocation.new(7890, 7896, {test:1}, [2], {param: 'value'})
@@ -843,7 +843,7 @@ describe Wamp::Client::Session do
843
843
 
844
844
  @response = 'custom'
845
845
 
846
- @defer = Wamp::Client::Defer::CallDefer.new
846
+ @defer = Wamp::Client::Response::CallDefer.new
847
847
 
848
848
  # Generate server event
849
849
  invocation = Wamp::Client::Message::Invocation.new(7890, 7896, {test:1}, [2], {param: 'value'})
@@ -877,7 +877,7 @@ describe Wamp::Client::Session do
877
877
 
878
878
  before(:each) do
879
879
  # Check Exception
880
- expect { session.unregister(nil) }.to raise_exception("Session must be open to call 'unregister'")
880
+ expect { session.unregister(nil) }.to raise_error(RuntimeError)
881
881
 
882
882
  session.join('test')
883
883
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -888,7 +888,7 @@ describe Wamp::Client::Session do
888
888
  end
889
889
 
890
890
  # Get the request ID
891
- @request_id = session._requests[:register].keys.first
891
+ @request_id = session.request[:register].requests.keys.first
892
892
 
893
893
  # Generate server response
894
894
  registered = Wamp::Client::Message::Registered.new(@request_id, 3456)
@@ -900,7 +900,7 @@ describe Wamp::Client::Session do
900
900
  it 'adds unregister request to the queue' do
901
901
  session.unregister(@registration)
902
902
 
903
- @request_id = session._requests[:unregister].keys.first
903
+ @request_id = session.request[:unregister].requests.keys.first
904
904
 
905
905
  # Check the transport messages
906
906
  expect(transport.messages.count).to eq(1)
@@ -909,10 +909,10 @@ describe Wamp::Client::Session do
909
909
  expect(transport.messages[0][2]).to eq(@registration.id)
910
910
 
911
911
  # Check the request dictionary
912
- expect(session._requests[:unregister][@request_id]).not_to be_nil
912
+ expect(session.request[:unregister].requests[@request_id]).not_to be_nil
913
913
 
914
914
  # Check the subscriptions
915
- expect(session._registrations.count).to eq(1)
915
+ expect(session.registration.objects.count).to eq(1)
916
916
 
917
917
  end
918
918
 
@@ -927,7 +927,7 @@ describe Wamp::Client::Session do
927
927
  expect(details).to eq({procedure: 'test.procedure', type: 'unregister', session: session})
928
928
  end
929
929
 
930
- @request_id = session._requests[:unregister].keys.first
930
+ @request_id = session.request[:unregister].requests.keys.first
931
931
 
932
932
  expect(count).to eq(0)
933
933
 
@@ -936,10 +936,10 @@ describe Wamp::Client::Session do
936
936
  transport.receive_message(unregistered.payload)
937
937
 
938
938
  # Check the request dictionary
939
- expect(session._requests[:unregister].count).to eq(0)
939
+ expect(session.request[:unregister].requests.count).to eq(0)
940
940
 
941
941
  # Check the subscriptions
942
- expect(session._registrations.count).to eq(0)
942
+ expect(session.registration.objects.count).to eq(0)
943
943
 
944
944
  end
945
945
 
@@ -947,17 +947,17 @@ describe Wamp::Client::Session do
947
947
 
948
948
  @registration.unregister
949
949
 
950
- @request_id = session._requests[:unregister].keys.first
950
+ @request_id = session.request[:unregister].requests.keys.first
951
951
 
952
952
  # Generate Server Response
953
953
  unregistered = Wamp::Client::Message::Unregistered.new(@request_id)
954
954
  transport.receive_message(unregistered.payload)
955
955
 
956
956
  # Check the request dictionary
957
- expect(session._requests[:unregister].count).to eq(0)
957
+ expect(session.request[:unregister].requests.count).to eq(0)
958
958
 
959
959
  # Check the subscriptions
960
- expect(session._registrations.count).to eq(0)
960
+ expect(session.registration.objects.count).to eq(0)
961
961
 
962
962
  end
963
963
 
@@ -972,7 +972,7 @@ describe Wamp::Client::Session do
972
972
  expect(details).to eq({fail: true, procedure:'test.procedure', type: 'unregister', session: session})
973
973
  end
974
974
 
975
- @request_id = session._requests[:unregister].keys.first
975
+ @request_id = session.request[:unregister].requests.keys.first
976
976
 
977
977
  expect(count).to eq(0)
978
978
 
@@ -984,10 +984,10 @@ describe Wamp::Client::Session do
984
984
  expect(count).to eq(1)
985
985
 
986
986
  # Check the request dictionary
987
- expect(session._requests[:unregister].count).to eq(0)
987
+ expect(session.request[:unregister].requests.count).to eq(0)
988
988
 
989
989
  # Check the subscriptions
990
- expect(session._registrations.count).to eq(1)
990
+ expect(session.registration.objects.count).to eq(1)
991
991
 
992
992
  end
993
993
 
@@ -997,7 +997,7 @@ describe Wamp::Client::Session do
997
997
 
998
998
  before(:each) do
999
999
  # Check Exception
1000
- expect { session.call('test.procedure') }.to raise_exception("Session must be open to call 'call'")
1000
+ expect { session.call('test.procedure') }.to raise_error(RuntimeError)
1001
1001
 
1002
1002
  session.join('test')
1003
1003
  welcome = Wamp::Client::Message::Welcome.new(1234, {})
@@ -1009,7 +1009,7 @@ describe Wamp::Client::Session do
1009
1009
  it 'adds a call to the call request queue' do
1010
1010
  session.call('test.procedure', nil, nil, {})
1011
1011
 
1012
- @request_id = session._requests[:call].keys.first
1012
+ @request_id = session.request[:call].requests.keys.first
1013
1013
 
1014
1014
  # Check the transport messages
1015
1015
  expect(transport.messages.count).to eq(1)
@@ -1018,7 +1018,7 @@ describe Wamp::Client::Session do
1018
1018
  expect(transport.messages[0][2]).to eq({})
1019
1019
 
1020
1020
  # Check the request dictionary
1021
- expect(session._requests[:call][@request_id]).not_to be_nil
1021
+ expect(session.request[:call].requests[@request_id]).not_to be_nil
1022
1022
 
1023
1023
  end
1024
1024
 
@@ -1031,13 +1031,13 @@ describe Wamp::Client::Session do
1031
1031
  count += 1
1032
1032
 
1033
1033
  expect(result).not_to be_nil
1034
- expect(result.args).to eq(['test'])
1035
- expect(result.kwargs).to eq({test:true})
1034
+ expect(result[:args]).to eq(['test'])
1035
+ expect(result[:kwargs]).to eq({test:true})
1036
1036
  expect(error).to be_nil
1037
1037
  expect(details).to eq({procedure: 'test.procedure', type: 'call', session: session})
1038
1038
  end
1039
1039
 
1040
- @request_id = session._requests[:call].keys.first
1040
+ @request_id = session.request[:call].requests.keys.first
1041
1041
 
1042
1042
  expect(count).to eq(0)
1043
1043
 
@@ -1046,7 +1046,7 @@ describe Wamp::Client::Session do
1046
1046
  transport.receive_message(result.payload)
1047
1047
 
1048
1048
  # Check the request dictionary
1049
- expect(session._requests[:call].count).to eq(0)
1049
+ expect(session.request[:call].requests.count).to eq(0)
1050
1050
 
1051
1051
  expect(count).to eq(1)
1052
1052
 
@@ -1063,7 +1063,7 @@ describe Wamp::Client::Session do
1063
1063
  expect(details).to eq({fail: true, procedure: 'test.procedure', type: 'call', session: session})
1064
1064
  end
1065
1065
 
1066
- @request_id = session._requests[:call].keys.first
1066
+ @request_id = session.request[:call].requests.keys.first
1067
1067
 
1068
1068
  expect(count).to eq(0)
1069
1069
 
@@ -1075,7 +1075,7 @@ describe Wamp::Client::Session do
1075
1075
  expect(count).to eq(1)
1076
1076
 
1077
1077
  # Check the request dictionary
1078
- expect(session._requests[:call].count).to eq(0)
1078
+ expect(session.request[:call].requests.count).to eq(0)
1079
1079
 
1080
1080
  end
1081
1081
 
@@ -1090,7 +1090,7 @@ describe Wamp::Client::Session do
1090
1090
  expect(details).to eq({fail: true, procedure: 'test.procedure', type: 'call', session: session})
1091
1091
  end
1092
1092
 
1093
- @request_id = session._requests[:call].keys.first
1093
+ @request_id = session.request[:call].requests.keys.first
1094
1094
 
1095
1095
  expect(count).to eq(0)
1096
1096
 
@@ -1111,7 +1111,7 @@ describe Wamp::Client::Session do
1111
1111
  expect(count).to eq(1)
1112
1112
 
1113
1113
  # Check the request dictionary
1114
- expect(session._requests[:call].count).to eq(0)
1114
+ expect(session.request[:call].requests.count).to eq(0)
1115
1115
 
1116
1116
  end
1117
1117
 
@@ -1122,7 +1122,7 @@ describe Wamp::Client::Session do
1122
1122
  after { clock.reset }
1123
1123
 
1124
1124
  it 'does not cancel a call if no timeout specified' do
1125
- @defer = Wamp::Client::Defer::ProgressiveCallDefer.new
1125
+ @defer = Wamp::Client::Response::ProgressiveCallDefer.new
1126
1126
 
1127
1127
  count = 0
1128
1128
  session.call('test.procedure', nil, nil) do |result, error, details|
@@ -1134,7 +1134,7 @@ describe Wamp::Client::Session do
1134
1134
  end
1135
1135
 
1136
1136
  it 'does cancel a call if a timeout is specified' do
1137
- @defer = Wamp::Client::Defer::ProgressiveCallDefer.new
1137
+ @defer = Wamp::Client::Response::ProgressiveCallDefer.new
1138
1138
 
1139
1139
  count = 0
1140
1140
  call = session.call('test.procedure', nil, nil, {timeout: 1000}) do |result, error, details|
@@ -1166,10 +1166,10 @@ describe Wamp::Client::Session do
1166
1166
 
1167
1167
  results = []
1168
1168
  session.call('test.procedure', [], {}, {}) do |result, error, details|
1169
- results = results + result.args
1169
+ results = results + result[:args]
1170
1170
  end
1171
1171
 
1172
- @request_id = session._requests[:call].keys.first
1172
+ @request_id = session.request[:call].requests.keys.first
1173
1173
 
1174
1174
  # Send results
1175
1175
  result = Wamp::Client::Message::Result.new(@request_id, {progress:true}, ['test'])
@@ -1190,10 +1190,10 @@ describe Wamp::Client::Session do
1190
1190
 
1191
1191
  results = []
1192
1192
  session.call('test.procedure', [], {}, {receive_progress: true}) do |result, error, details|
1193
- results = results + result.args
1193
+ results = results + result[:args]
1194
1194
  end
1195
1195
 
1196
- @request_id = session._requests[:call].keys.first
1196
+ @request_id = session.request[:call].requests.keys.first
1197
1197
 
1198
1198
  # Send results
1199
1199
  result = Wamp::Client::Message::Result.new(@request_id, {progress:true}, ['test'])
@@ -1223,13 +1223,13 @@ describe Wamp::Client::Session do
1223
1223
  it 'callee result support' do
1224
1224
 
1225
1225
  # Defer Register
1226
- @defer = Wamp::Client::Defer::ProgressiveCallDefer.new
1226
+ @defer = Wamp::Client::Response::ProgressiveCallDefer.new
1227
1227
  defer_handler = lambda do |args, kwargs, details|
1228
1228
  @defer
1229
1229
  end
1230
1230
  session.register('test.defer.procedure', defer_handler)
1231
1231
 
1232
- request_id = session._requests[:register].keys.first
1232
+ request_id = session.request[:register].requests.keys.first
1233
1233
  registered = Wamp::Client::Message::Registered.new(request_id, 4567)
1234
1234
  transport.receive_message(registered.payload)
1235
1235
 
@@ -1240,14 +1240,14 @@ describe Wamp::Client::Session do
1240
1240
  transport.receive_message(invocation.payload)
1241
1241
 
1242
1242
  expect(transport.messages.count).to eq(0)
1243
- expect(session._defers.count).to eq(1)
1243
+ expect(session.registration.defers.count).to eq(1)
1244
1244
 
1245
- @defer.progress(Wamp::Client::CallResult.new(['test1']))
1246
- expect(session._defers.count).to eq(1)
1247
- @defer.progress(Wamp::Client::CallResult.new(['test2']))
1248
- expect(session._defers.count).to eq(1)
1249
- @defer.succeed(Wamp::Client::CallResult.new(['test3']))
1250
- expect(session._defers.count).to eq(0)
1245
+ @defer.progress(Wamp::Client::Response::CallResult.new(['test1']))
1246
+ expect(session.registration.defers.count).to eq(1)
1247
+ @defer.progress(Wamp::Client::Response::CallResult.new(['test2']))
1248
+ expect(session.registration.defers.count).to eq(1)
1249
+ @defer.succeed(Wamp::Client::Response::CallResult.new(['test3']))
1250
+ expect(session.registration.defers.count).to eq(0)
1251
1251
 
1252
1252
  expect(transport.messages.count).to eq(3)
1253
1253
 
@@ -1273,13 +1273,13 @@ describe Wamp::Client::Session do
1273
1273
  it 'callee error support' do
1274
1274
 
1275
1275
  # Defer Register
1276
- @defer = Wamp::Client::Defer::ProgressiveCallDefer.new
1276
+ @defer = Wamp::Client::Response::ProgressiveCallDefer.new
1277
1277
  defer_handler = lambda do |args, kwargs, details|
1278
1278
  @defer
1279
1279
  end
1280
1280
  session.register('test.defer.procedure', defer_handler)
1281
1281
 
1282
- request_id = session._requests[:register].keys.first
1282
+ request_id = session.request[:register].requests.keys.first
1283
1283
  registered = Wamp::Client::Message::Registered.new(request_id, 4567)
1284
1284
  transport.receive_message(registered.payload)
1285
1285
 
@@ -1290,14 +1290,14 @@ describe Wamp::Client::Session do
1290
1290
  transport.receive_message(invocation.payload)
1291
1291
 
1292
1292
  expect(transport.messages.count).to eq(0)
1293
- expect(session._defers.count).to eq(1)
1293
+ expect(session.registration.defers.count).to eq(1)
1294
1294
 
1295
- @defer.progress(Wamp::Client::CallResult.new(['test1']))
1296
- expect(session._defers.count).to eq(1)
1297
- @defer.progress(Wamp::Client::CallResult.new(['test2']))
1298
- expect(session._defers.count).to eq(1)
1299
- @defer.fail(Wamp::Client::CallError.new('test.error'))
1300
- expect(session._defers.count).to eq(0)
1295
+ @defer.progress(Wamp::Client::Response::CallResult.new(['test1']))
1296
+ expect(session.registration.defers.count).to eq(1)
1297
+ @defer.progress(Wamp::Client::Response::CallResult.new(['test2']))
1298
+ expect(session.registration.defers.count).to eq(1)
1299
+ @defer.fail(Wamp::Client::Response::CallError.new('test.error'))
1300
+ expect(session.registration.defers.count).to eq(0)
1301
1301
 
1302
1302
  expect(transport.messages.count).to eq(3)
1303
1303
 
@@ -1323,13 +1323,13 @@ describe Wamp::Client::Session do
1323
1323
  it 'callee error support' do
1324
1324
 
1325
1325
  # Defer Register
1326
- @defer = Wamp::Client::Defer::ProgressiveCallDefer.new
1326
+ @defer = Wamp::Client::Response::ProgressiveCallDefer.new
1327
1327
  defer_handler = lambda do |args, kwargs, details|
1328
1328
  @defer
1329
1329
  end
1330
1330
  session.register('test.defer.procedure', defer_handler)
1331
1331
 
1332
- request_id = session._requests[:register].keys.first
1332
+ request_id = session.request[:register].requests.keys.first
1333
1333
  registered = Wamp::Client::Message::Registered.new(request_id, 4567)
1334
1334
  transport.receive_message(registered.payload)
1335
1335
 
@@ -1340,14 +1340,14 @@ describe Wamp::Client::Session do
1340
1340
  transport.receive_message(invocation.payload)
1341
1341
 
1342
1342
  expect(transport.messages.count).to eq(0)
1343
- expect(session._defers.count).to eq(1)
1343
+ expect(session.registration.defers.count).to eq(1)
1344
1344
 
1345
- @defer.progress(Wamp::Client::CallResult.new(['test1']))
1346
- expect(session._defers.count).to eq(1)
1347
- @defer.progress(Wamp::Client::CallResult.new(['test2']))
1348
- expect(session._defers.count).to eq(1)
1349
- @defer.fail(Wamp::Client::CallError.new('test.error'))
1350
- expect(session._defers.count).to eq(0)
1345
+ @defer.progress(Wamp::Client::Response::CallResult.new(['test1']))
1346
+ expect(session.registration.defers.count).to eq(1)
1347
+ @defer.progress(Wamp::Client::Response::CallResult.new(['test2']))
1348
+ expect(session.registration.defers.count).to eq(1)
1349
+ @defer.fail(Wamp::Client::Response::CallError.new('test.error'))
1350
+ expect(session.registration.defers.count).to eq(0)
1351
1351
 
1352
1352
  expect(transport.messages.count).to eq(3)
1353
1353
 
@@ -1381,7 +1381,7 @@ describe Wamp::Client::Session do
1381
1381
  session.join('test')
1382
1382
  transport.messages = []
1383
1383
 
1384
- session.on_challenge do |authmethod, extra|
1384
+ session.on :challenge do |authmethod, extra|
1385
1385
  expect(authmethod).to eq('wampcra')
1386
1386
  Wamp::Client::Auth::Cra.sign(secret, extra[:challenge])
1387
1387
  end