wamp_client 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +28 -26
- data/lib/{wamp_client.rb → wamp/client.rb} +8 -8
- data/lib/{wamp_client → wamp/client}/auth.rb +13 -11
- data/lib/wamp/client/check.rb +86 -0
- data/lib/wamp/client/connection.rb +249 -0
- data/lib/{wamp_client → wamp/client}/defer.rb +29 -27
- data/lib/wamp/client/message.rb +1322 -0
- data/lib/{wamp_client → wamp/client}/serializer.rb +26 -24
- data/lib/wamp/client/session.rb +1001 -0
- data/lib/wamp/client/transport/base.rb +152 -0
- data/lib/{wamp_client → wamp/client}/transport/event_machine_base.rb +19 -17
- data/lib/wamp/client/transport/faye_web_socket.rb +85 -0
- data/lib/wamp/client/transport/web_socket_event_machine.rb +88 -0
- data/lib/{wamp_client → wamp/client}/version.rb +5 -3
- data/scripts/gen_message.rb +54 -53
- data/spec/spec_helper.rb +3 -3
- data/spec/{auth_spec.rb → wamp/client/auth_spec.rb} +2 -2
- data/spec/{check_spec.rb → wamp/client/check_spec.rb} +2 -2
- data/spec/{connection_spec.rb → wamp/client/connection_spec.rb} +7 -7
- data/spec/{message_spec.rb → wamp/client/message_spec.rb} +298 -298
- data/spec/{session_spec.rb → wamp/client/session_spec.rb} +134 -134
- data/spec/{transport_spec.rb → wamp/client/transport_spec.rb} +4 -4
- data/wamp_client.gemspec +2 -2
- metadata +50 -50
- data/lib/wamp_client/check.rb +0 -84
- data/lib/wamp_client/connection.rb +0 -247
- data/lib/wamp_client/message.rb +0 -1348
- data/lib/wamp_client/session.rb +0 -1000
- data/lib/wamp_client/transport/base.rb +0 -151
- data/lib/wamp_client/transport/faye_web_socket.rb +0 -83
- data/lib/wamp_client/transport/web_socket_event_machine.rb +0 -86
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Wamp::Client::Session do
|
4
4
|
let (:transport) { SpecHelper::TestTransport.new({}) }
|
5
|
-
let (:session) {
|
5
|
+
let (:session) { Wamp::Client::Session.new(transport) }
|
6
6
|
|
7
7
|
describe 'establishment' do
|
8
8
|
|
@@ -23,7 +23,7 @@ describe WampClient::Session do
|
|
23
23
|
|
24
24
|
# Check generated message
|
25
25
|
expect(transport.messages.count).to eq(1)
|
26
|
-
expect(transport.messages[0][0]).to eq(
|
26
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::HELLO)
|
27
27
|
expect(transport.messages[0][1]).to eq('test') # Realm Test
|
28
28
|
expect(transport.messages[0][2][:roles]).not_to be_nil # Roles exists
|
29
29
|
expect(transport.messages[0][2].key?(:authid)).to eq(false) # Ensure authid is omitted
|
@@ -37,7 +37,7 @@ describe WampClient::Session do
|
|
37
37
|
expect(@leave_count).to eq(0)
|
38
38
|
|
39
39
|
# Send welcome message
|
40
|
-
welcome =
|
40
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
41
41
|
transport.receive_message(welcome.payload)
|
42
42
|
|
43
43
|
# Check new state of session
|
@@ -57,7 +57,7 @@ describe WampClient::Session do
|
|
57
57
|
session.join('test')
|
58
58
|
|
59
59
|
# Send abort message
|
60
|
-
abort =
|
60
|
+
abort = Wamp::Client::Message::Abort.new({}, 'test.reason')
|
61
61
|
transport.receive_message(abort.payload)
|
62
62
|
|
63
63
|
# Check new state of session
|
@@ -74,7 +74,7 @@ describe WampClient::Session do
|
|
74
74
|
expect { session.leave('felt.like.it') }.to raise_exception("Session must be opened to call 'leave'")
|
75
75
|
|
76
76
|
session.join('test')
|
77
|
-
welcome =
|
77
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
78
78
|
transport.receive_message(welcome.payload)
|
79
79
|
|
80
80
|
# Leave the session
|
@@ -89,7 +89,7 @@ describe WampClient::Session do
|
|
89
89
|
expect(@leave_count).to eq(0)
|
90
90
|
|
91
91
|
# Send Goodbye response from server
|
92
|
-
goodbye =
|
92
|
+
goodbye = Wamp::Client::Message::Goodbye.new({}, 'wamp.error.goodbye_and_out')
|
93
93
|
transport.receive_message(goodbye.payload)
|
94
94
|
|
95
95
|
# Check state
|
@@ -105,16 +105,16 @@ describe WampClient::Session do
|
|
105
105
|
it 'performs a connect then server initiated goodbye' do
|
106
106
|
|
107
107
|
session.join('test')
|
108
|
-
welcome =
|
108
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
109
109
|
transport.receive_message(welcome.payload)
|
110
110
|
|
111
111
|
# Send Goodbye from server
|
112
|
-
goodbye =
|
112
|
+
goodbye = Wamp::Client::Message::Goodbye.new({}, 'felt.like.it')
|
113
113
|
transport.receive_message(goodbye.payload)
|
114
114
|
|
115
115
|
# Check state
|
116
116
|
expect(transport.messages.count).to eq(2)
|
117
|
-
expect(transport.messages[1][0]).to eq(
|
117
|
+
expect(transport.messages[1][0]).to eq(Wamp::Client::Message::Types::GOODBYE)
|
118
118
|
expect(transport.messages[1][2]).to eq('wamp.error.goodbye_and_out') # Realm Test
|
119
119
|
expect(session.id).to be_nil
|
120
120
|
expect(session.is_open?).to eq(false)
|
@@ -133,7 +133,7 @@ describe WampClient::Session do
|
|
133
133
|
expect { session.subscribe('test.topic', nil, {test: 1}) }.to raise_exception("Session must be open to call 'subscribe'")
|
134
134
|
|
135
135
|
session.join('test')
|
136
|
-
welcome =
|
136
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
137
137
|
transport.receive_message(welcome.payload)
|
138
138
|
transport.messages = []
|
139
139
|
end
|
@@ -146,7 +146,7 @@ describe WampClient::Session do
|
|
146
146
|
|
147
147
|
# Check the transport messages
|
148
148
|
expect(transport.messages.count).to eq(1)
|
149
|
-
expect(transport.messages[0][0]).to eq(
|
149
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::SUBSCRIBE)
|
150
150
|
expect(transport.messages[0][1]).to eq(request_id)
|
151
151
|
expect(transport.messages[0][2]).to eq({test: 1})
|
152
152
|
expect(transport.messages[0][3]).to eq('test.topic')
|
@@ -175,7 +175,7 @@ describe WampClient::Session do
|
|
175
175
|
expect(count).to eq(0)
|
176
176
|
|
177
177
|
# Generate server response
|
178
|
-
subscribed =
|
178
|
+
subscribed = Wamp::Client::Message::Subscribed.new(request_id, 3456)
|
179
179
|
transport.receive_message(subscribed.payload)
|
180
180
|
|
181
181
|
expect(count).to eq(1)
|
@@ -203,7 +203,7 @@ describe WampClient::Session do
|
|
203
203
|
request_id = session._requests[:subscribe].keys.first
|
204
204
|
|
205
205
|
# Generate server response
|
206
|
-
error =
|
206
|
+
error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::SUBSCRIBE,
|
207
207
|
request_id, {fail: true}, 'this.failed')
|
208
208
|
transport.receive_message(error.payload)
|
209
209
|
|
@@ -233,13 +233,13 @@ describe WampClient::Session do
|
|
233
233
|
expect(count).to eq(0)
|
234
234
|
|
235
235
|
# Generate server response
|
236
|
-
subscribed =
|
236
|
+
subscribed = Wamp::Client::Message::Subscribed.new(request_id, 3456)
|
237
237
|
transport.receive_message(subscribed.payload)
|
238
238
|
|
239
239
|
expect(count).to eq(0)
|
240
240
|
|
241
241
|
# Generate server event
|
242
|
-
event =
|
242
|
+
event = Wamp::Client::Message::Event.new(3456, 7890, {test:1}, [2], {param: 'value'})
|
243
243
|
transport.receive_message(event.payload)
|
244
244
|
|
245
245
|
expect(count).to eq(1)
|
@@ -255,7 +255,7 @@ describe WampClient::Session do
|
|
255
255
|
expect { session.unsubscribe(nil) }.to raise_exception("Session must be open to call 'unsubscribe'")
|
256
256
|
|
257
257
|
session.join('test')
|
258
|
-
welcome =
|
258
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
259
259
|
transport.receive_message(welcome.payload)
|
260
260
|
|
261
261
|
session.subscribe('test.topic', lambda {}, {test: 1}) do |subscription, error, details|
|
@@ -266,7 +266,7 @@ describe WampClient::Session do
|
|
266
266
|
@request_id = session._requests[:subscribe].keys.first
|
267
267
|
|
268
268
|
# Generate server response
|
269
|
-
subscribed =
|
269
|
+
subscribed = Wamp::Client::Message::Subscribed.new(@request_id, 3456)
|
270
270
|
transport.receive_message(subscribed.payload)
|
271
271
|
|
272
272
|
transport.messages = []
|
@@ -279,7 +279,7 @@ describe WampClient::Session do
|
|
279
279
|
|
280
280
|
# Check the transport messages
|
281
281
|
expect(transport.messages.count).to eq(1)
|
282
|
-
expect(transport.messages[0][0]).to eq(
|
282
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::UNSUBSCRIBE)
|
283
283
|
expect(transport.messages[0][1]).to eq(@request_id)
|
284
284
|
expect(transport.messages[0][2]).to eq(@subscription.id)
|
285
285
|
|
@@ -307,7 +307,7 @@ describe WampClient::Session do
|
|
307
307
|
expect(count).to eq(0)
|
308
308
|
|
309
309
|
# Generate Server Response
|
310
|
-
unsubscribed =
|
310
|
+
unsubscribed = Wamp::Client::Message::Unsubscribed.new(@request_id)
|
311
311
|
transport.receive_message(unsubscribed.payload)
|
312
312
|
|
313
313
|
# Check the request dictionary
|
@@ -325,7 +325,7 @@ describe WampClient::Session do
|
|
325
325
|
@request_id = session._requests[:unsubscribe].keys.first
|
326
326
|
|
327
327
|
# Generate Server Response
|
328
|
-
unsubscribed =
|
328
|
+
unsubscribed = Wamp::Client::Message::Unsubscribed.new(@request_id)
|
329
329
|
transport.receive_message(unsubscribed.payload)
|
330
330
|
|
331
331
|
# Check the request dictionary
|
@@ -352,7 +352,7 @@ describe WampClient::Session do
|
|
352
352
|
expect(count).to eq(0)
|
353
353
|
|
354
354
|
# Generate Server Response
|
355
|
-
error =
|
355
|
+
error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::UNSUBSCRIBE,
|
356
356
|
@request_id, {fail: true}, 'this.failed')
|
357
357
|
transport.receive_message(error.payload)
|
358
358
|
|
@@ -375,7 +375,7 @@ describe WampClient::Session do
|
|
375
375
|
expect { session.publish('test.topic') }.to raise_exception("Session must be open to call 'publish'")
|
376
376
|
|
377
377
|
session.join('test')
|
378
|
-
welcome =
|
378
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
379
379
|
transport.receive_message(welcome.payload)
|
380
380
|
|
381
381
|
transport.messages = []
|
@@ -388,7 +388,7 @@ describe WampClient::Session do
|
|
388
388
|
|
389
389
|
# Check the transport messages
|
390
390
|
expect(transport.messages.count).to eq(1)
|
391
|
-
expect(transport.messages[0][0]).to eq(
|
391
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::PUBLISH)
|
392
392
|
expect(transport.messages[0][1]).to eq(@request_id)
|
393
393
|
expect(transport.messages[0][2]).to eq({acknowledge:true})
|
394
394
|
|
@@ -428,7 +428,7 @@ describe WampClient::Session do
|
|
428
428
|
expect(count).to eq(0)
|
429
429
|
|
430
430
|
# Generate Server Response
|
431
|
-
published =
|
431
|
+
published = Wamp::Client::Message::Published.new(@request_id, 5678)
|
432
432
|
transport.receive_message(published.payload)
|
433
433
|
|
434
434
|
# Check the request dictionary
|
@@ -454,7 +454,7 @@ describe WampClient::Session do
|
|
454
454
|
expect(count).to eq(0)
|
455
455
|
|
456
456
|
# Generate Server Response
|
457
|
-
error =
|
457
|
+
error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::PUBLISH,
|
458
458
|
@request_id, {fail: true}, 'this.failed')
|
459
459
|
transport.receive_message(error.payload)
|
460
460
|
|
@@ -474,7 +474,7 @@ describe WampClient::Session do
|
|
474
474
|
expect { session.register('test.procedure', nil, {test: 1}) }.to raise_exception("Session must be open to call 'register'")
|
475
475
|
|
476
476
|
session.join('test')
|
477
|
-
welcome =
|
477
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
478
478
|
transport.receive_message(welcome.payload)
|
479
479
|
transport.messages = []
|
480
480
|
end
|
@@ -487,7 +487,7 @@ describe WampClient::Session do
|
|
487
487
|
|
488
488
|
# Check the transport messages
|
489
489
|
expect(transport.messages.count).to eq(1)
|
490
|
-
expect(transport.messages[0][0]).to eq(
|
490
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::REGISTER)
|
491
491
|
expect(transport.messages[0][1]).to eq(request_id)
|
492
492
|
expect(transport.messages[0][2]).to eq({test: 1})
|
493
493
|
expect(transport.messages[0][3]).to eq('test.procedure')
|
@@ -516,7 +516,7 @@ describe WampClient::Session do
|
|
516
516
|
expect(count).to eq(0)
|
517
517
|
|
518
518
|
# Generate server response
|
519
|
-
registered =
|
519
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 3456)
|
520
520
|
transport.receive_message(registered.payload)
|
521
521
|
|
522
522
|
expect(count).to eq(1)
|
@@ -544,7 +544,7 @@ describe WampClient::Session do
|
|
544
544
|
request_id = session._requests[:register].keys.first
|
545
545
|
|
546
546
|
# Generate server response
|
547
|
-
error =
|
547
|
+
error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::REGISTER,
|
548
548
|
request_id, {fail: true}, 'this.failed')
|
549
549
|
transport.receive_message(error.payload)
|
550
550
|
|
@@ -568,7 +568,7 @@ describe WampClient::Session do
|
|
568
568
|
expect { session.register('test.procedure', nil, {test: 1}) }.to raise_exception("Session must be open to call 'register'")
|
569
569
|
|
570
570
|
session.join('test')
|
571
|
-
welcome =
|
571
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
572
572
|
transport.receive_message(welcome.payload)
|
573
573
|
|
574
574
|
# Register Response
|
@@ -577,7 +577,7 @@ describe WampClient::Session do
|
|
577
577
|
end
|
578
578
|
session.register('test.procedure', handler, {test: 1})
|
579
579
|
request_id = session._requests[:register].keys.first
|
580
|
-
registered =
|
580
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 3456)
|
581
581
|
transport.receive_message(registered.payload)
|
582
582
|
|
583
583
|
# Defer Register
|
@@ -587,7 +587,7 @@ describe WampClient::Session do
|
|
587
587
|
session.register('test.defer.procedure', defer_handler)
|
588
588
|
|
589
589
|
request_id = session._requests[:register].keys.first
|
590
|
-
registered =
|
590
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 4567)
|
591
591
|
transport.receive_message(registered.payload)
|
592
592
|
|
593
593
|
# Register Error Response
|
@@ -596,16 +596,16 @@ describe WampClient::Session do
|
|
596
596
|
end
|
597
597
|
session.register('test.procedure.error', handler, {test: 1})
|
598
598
|
request_id = session._requests[:register].keys.first
|
599
|
-
registered =
|
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
|
604
|
+
raise Wamp::Client::CallError.new('test.error', ['error'])
|
605
605
|
end
|
606
606
|
session.register('test.procedure.call.error', handler, {test: 1})
|
607
607
|
request_id = session._requests[:register].keys.first
|
608
|
-
registered =
|
608
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 6789)
|
609
609
|
transport.receive_message(registered.payload)
|
610
610
|
|
611
611
|
# Defer Interrupt Register
|
@@ -617,7 +617,7 @@ describe WampClient::Session do
|
|
617
617
|
session.register('test.defer.interrupt.procedure', defer_handler, nil, defer_interrupt_handler)
|
618
618
|
|
619
619
|
request_id = session._requests[:register].keys.first
|
620
|
-
registered =
|
620
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 7896)
|
621
621
|
transport.receive_message(registered.payload)
|
622
622
|
|
623
623
|
transport.messages = []
|
@@ -628,12 +628,12 @@ describe WampClient::Session do
|
|
628
628
|
@response = nil
|
629
629
|
|
630
630
|
# Generate server event
|
631
|
-
invocation =
|
631
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 3456, {test:1}, [2], {param: 'value'})
|
632
632
|
transport.receive_message(invocation.payload)
|
633
633
|
|
634
634
|
# Check and make sure yield message was sent
|
635
635
|
expect(transport.messages.count).to eq(1)
|
636
|
-
expect(transport.messages[0][0]).to eq(
|
636
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
637
637
|
expect(transport.messages[0][1]).to eq(7890)
|
638
638
|
expect(transport.messages[0][2]).to eq({})
|
639
639
|
expect(transport.messages[0][3]).to be_nil
|
@@ -645,12 +645,12 @@ describe WampClient::Session do
|
|
645
645
|
@response = 'response'
|
646
646
|
|
647
647
|
# Generate server event
|
648
|
-
invocation =
|
648
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 3456, {test:1}, [2], {param: 'value'})
|
649
649
|
transport.receive_message(invocation.payload)
|
650
650
|
|
651
651
|
# Check and make sure yield message was sent
|
652
652
|
expect(transport.messages.count).to eq(1)
|
653
|
-
expect(transport.messages[0][0]).to eq(
|
653
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
654
654
|
expect(transport.messages[0][1]).to eq(7890)
|
655
655
|
expect(transport.messages[0][2]).to eq({})
|
656
656
|
expect(transport.messages[0][3]).to eq(['response'])
|
@@ -659,15 +659,15 @@ describe WampClient::Session do
|
|
659
659
|
|
660
660
|
it 'result response' do
|
661
661
|
|
662
|
-
@response =
|
662
|
+
@response = Wamp::Client::CallResult.new(['test'], {test:1})
|
663
663
|
|
664
664
|
# Generate server event
|
665
|
-
invocation =
|
665
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 3456, {test:1}, [2], {param: 'value'})
|
666
666
|
transport.receive_message(invocation.payload)
|
667
667
|
|
668
668
|
# Check and make sure yield message was sent
|
669
669
|
expect(transport.messages.count).to eq(1)
|
670
|
-
expect(transport.messages[0][0]).to eq(
|
670
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
671
671
|
expect(transport.messages[0][1]).to eq(7890)
|
672
672
|
expect(transport.messages[0][2]).to eq({})
|
673
673
|
expect(transport.messages[0][3]).to eq(['test'])
|
@@ -678,13 +678,13 @@ describe WampClient::Session do
|
|
678
678
|
it 'raise error response' do
|
679
679
|
|
680
680
|
# Generate server event
|
681
|
-
invocation =
|
681
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 5678, {test:1}, [2], {param: 'value'})
|
682
682
|
transport.receive_message(invocation.payload)
|
683
683
|
|
684
684
|
# Check and make sure yield message was sent
|
685
685
|
expect(transport.messages.count).to eq(1)
|
686
|
-
expect(transport.messages[0][0]).to eq(
|
687
|
-
expect(transport.messages[0][1]).to eq(
|
686
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
687
|
+
expect(transport.messages[0][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
688
688
|
expect(transport.messages[0][2]).to eq(7890)
|
689
689
|
expect(transport.messages[0][3]).to eq({})
|
690
690
|
expect(transport.messages[0][4]).to eq('wamp.error.runtime')
|
@@ -695,13 +695,13 @@ describe WampClient::Session do
|
|
695
695
|
it 'raise call error response' do
|
696
696
|
|
697
697
|
# Generate server event
|
698
|
-
invocation =
|
698
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 6789, {test:1}, [2], {param: 'value'})
|
699
699
|
transport.receive_message(invocation.payload)
|
700
700
|
|
701
701
|
# Check and make sure yield message was sent
|
702
702
|
expect(transport.messages.count).to eq(1)
|
703
|
-
expect(transport.messages[0][0]).to eq(
|
704
|
-
expect(transport.messages[0][1]).to eq(
|
703
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
704
|
+
expect(transport.messages[0][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
705
705
|
expect(transport.messages[0][2]).to eq(7890)
|
706
706
|
expect(transport.messages[0][3]).to eq({})
|
707
707
|
expect(transport.messages[0][4]).to eq('test.error')
|
@@ -711,16 +711,16 @@ describe WampClient::Session do
|
|
711
711
|
|
712
712
|
it 'return error response' do
|
713
713
|
|
714
|
-
@response =
|
714
|
+
@response = Wamp::Client::CallError.new('wamp.error.runtime', ['error'], {error: true})
|
715
715
|
|
716
716
|
# Generate server event
|
717
|
-
invocation =
|
717
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 3456, {test:1}, [2], {param: 'value'})
|
718
718
|
transport.receive_message(invocation.payload)
|
719
719
|
|
720
720
|
# Check and make sure yield message was sent
|
721
721
|
expect(transport.messages.count).to eq(1)
|
722
|
-
expect(transport.messages[0][0]).to eq(
|
723
|
-
expect(transport.messages[0][1]).to eq(
|
722
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
723
|
+
expect(transport.messages[0][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
724
724
|
expect(transport.messages[0][2]).to eq(7890)
|
725
725
|
expect(transport.messages[0][3]).to eq({})
|
726
726
|
expect(transport.messages[0][4]).to eq('wamp.error.runtime')
|
@@ -731,12 +731,12 @@ describe WampClient::Session do
|
|
731
731
|
|
732
732
|
it 'defer normal response' do
|
733
733
|
|
734
|
-
@response =
|
734
|
+
@response = Wamp::Client::CallResult.new(['test'], {test:1})
|
735
735
|
|
736
|
-
@defer =
|
736
|
+
@defer = Wamp::Client::Defer::CallDefer.new
|
737
737
|
|
738
738
|
# Generate server event
|
739
|
-
invocation =
|
739
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
|
740
740
|
transport.receive_message(invocation.payload)
|
741
741
|
|
742
742
|
expect(transport.messages.count).to eq(0)
|
@@ -745,7 +745,7 @@ describe WampClient::Session do
|
|
745
745
|
|
746
746
|
# Check and make sure yield message was sent
|
747
747
|
expect(transport.messages.count).to eq(1)
|
748
|
-
expect(transport.messages[0][0]).to eq(
|
748
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
749
749
|
expect(transport.messages[0][1]).to eq(7890)
|
750
750
|
expect(transport.messages[0][2]).to eq({})
|
751
751
|
expect(transport.messages[0][3]).to eq(['test'])
|
@@ -755,10 +755,10 @@ describe WampClient::Session do
|
|
755
755
|
|
756
756
|
it 'defer error normal response' do
|
757
757
|
|
758
|
-
@defer =
|
758
|
+
@defer = Wamp::Client::Defer::CallDefer.new
|
759
759
|
|
760
760
|
# Generate server event
|
761
|
-
invocation =
|
761
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
|
762
762
|
transport.receive_message(invocation.payload)
|
763
763
|
|
764
764
|
expect(transport.messages.count).to eq(0)
|
@@ -767,8 +767,8 @@ describe WampClient::Session do
|
|
767
767
|
|
768
768
|
# Check and make sure yield message was sent
|
769
769
|
expect(transport.messages.count).to eq(1)
|
770
|
-
expect(transport.messages[0][0]).to eq(
|
771
|
-
expect(transport.messages[0][1]).to eq(
|
770
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
771
|
+
expect(transport.messages[0][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
772
772
|
expect(transport.messages[0][2]).to eq(7890)
|
773
773
|
expect(transport.messages[0][3]).to eq({})
|
774
774
|
expect(transport.messages[0][4]).to eq('wamp.error.runtime')
|
@@ -778,12 +778,12 @@ describe WampClient::Session do
|
|
778
778
|
|
779
779
|
it 'defer error object response' do
|
780
780
|
|
781
|
-
@response =
|
781
|
+
@response = Wamp::Client::CallError.new('wamp.error.runtime', ['error'], {error: true})
|
782
782
|
|
783
|
-
@defer =
|
783
|
+
@defer = Wamp::Client::Defer::CallDefer.new
|
784
784
|
|
785
785
|
# Generate server event
|
786
|
-
invocation =
|
786
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
|
787
787
|
transport.receive_message(invocation.payload)
|
788
788
|
|
789
789
|
expect(transport.messages.count).to eq(0)
|
@@ -792,8 +792,8 @@ describe WampClient::Session do
|
|
792
792
|
|
793
793
|
# Check and make sure yield message was sent
|
794
794
|
expect(transport.messages.count).to eq(1)
|
795
|
-
expect(transport.messages[0][0]).to eq(
|
796
|
-
expect(transport.messages[0][1]).to eq(
|
795
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
796
|
+
expect(transport.messages[0][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
797
797
|
expect(transport.messages[0][2]).to eq(7890)
|
798
798
|
expect(transport.messages[0][3]).to eq({})
|
799
799
|
expect(transport.messages[0][4]).to eq('wamp.error.runtime')
|
@@ -807,16 +807,16 @@ describe WampClient::Session do
|
|
807
807
|
|
808
808
|
@response = nil
|
809
809
|
|
810
|
-
@defer =
|
810
|
+
@defer = Wamp::Client::Defer::CallDefer.new
|
811
811
|
|
812
812
|
# Generate server event
|
813
|
-
invocation =
|
813
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 7896, {test:1}, [2], {param: 'value'})
|
814
814
|
transport.receive_message(invocation.payload)
|
815
815
|
|
816
816
|
expect(transport.messages.count).to eq(0)
|
817
817
|
|
818
818
|
# Generate the interrupt from the broker/dealer
|
819
|
-
interrupt =
|
819
|
+
interrupt = Wamp::Client::Message::Interrupt.new(7890, { mode: 'killnowait'})
|
820
820
|
transport.receive_message(interrupt.payload)
|
821
821
|
|
822
822
|
# Check and make sure request and mode were sent
|
@@ -825,8 +825,8 @@ describe WampClient::Session do
|
|
825
825
|
|
826
826
|
# Check and make sure error message was sent
|
827
827
|
expect(transport.messages.count).to eq(1)
|
828
|
-
expect(transport.messages[0][0]).to eq(
|
829
|
-
expect(transport.messages[0][1]).to eq(
|
828
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
829
|
+
expect(transport.messages[0][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
830
830
|
expect(transport.messages[0][2]).to eq(7890)
|
831
831
|
expect(transport.messages[0][3]).to eq({})
|
832
832
|
expect(transport.messages[0][4]).to eq('wamp.error.runtime')
|
@@ -842,16 +842,16 @@ describe WampClient::Session do
|
|
842
842
|
|
843
843
|
@response = 'custom'
|
844
844
|
|
845
|
-
@defer =
|
845
|
+
@defer = Wamp::Client::Defer::CallDefer.new
|
846
846
|
|
847
847
|
# Generate server event
|
848
|
-
invocation =
|
848
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 7896, {test:1}, [2], {param: 'value'})
|
849
849
|
transport.receive_message(invocation.payload)
|
850
850
|
|
851
851
|
expect(transport.messages.count).to eq(0)
|
852
852
|
|
853
853
|
# Generate the interrupt from the broker/dealer
|
854
|
-
interrupt =
|
854
|
+
interrupt = Wamp::Client::Message::Interrupt.new(7890, { mode: 'kill'})
|
855
855
|
transport.receive_message(interrupt.payload)
|
856
856
|
|
857
857
|
# Check and make sure request and mode were sent
|
@@ -860,8 +860,8 @@ describe WampClient::Session do
|
|
860
860
|
|
861
861
|
# Check and make sure error message was sent
|
862
862
|
expect(transport.messages.count).to eq(1)
|
863
|
-
expect(transport.messages[0][0]).to eq(
|
864
|
-
expect(transport.messages[0][1]).to eq(
|
863
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
864
|
+
expect(transport.messages[0][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
865
865
|
expect(transport.messages[0][2]).to eq(7890)
|
866
866
|
expect(transport.messages[0][3]).to eq({})
|
867
867
|
expect(transport.messages[0][4]).to eq('wamp.error.runtime')
|
@@ -879,7 +879,7 @@ describe WampClient::Session do
|
|
879
879
|
expect { session.unregister(nil) }.to raise_exception("Session must be open to call 'unregister'")
|
880
880
|
|
881
881
|
session.join('test')
|
882
|
-
welcome =
|
882
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
883
883
|
transport.receive_message(welcome.payload)
|
884
884
|
|
885
885
|
session.register('test.procedure', lambda {}, {test: 1}) do |registration, error, details|
|
@@ -890,7 +890,7 @@ describe WampClient::Session do
|
|
890
890
|
@request_id = session._requests[:register].keys.first
|
891
891
|
|
892
892
|
# Generate server response
|
893
|
-
registered =
|
893
|
+
registered = Wamp::Client::Message::Registered.new(@request_id, 3456)
|
894
894
|
transport.receive_message(registered.payload)
|
895
895
|
|
896
896
|
transport.messages = []
|
@@ -903,7 +903,7 @@ describe WampClient::Session do
|
|
903
903
|
|
904
904
|
# Check the transport messages
|
905
905
|
expect(transport.messages.count).to eq(1)
|
906
|
-
expect(transport.messages[0][0]).to eq(
|
906
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::UNREGISTER)
|
907
907
|
expect(transport.messages[0][1]).to eq(@request_id)
|
908
908
|
expect(transport.messages[0][2]).to eq(@registration.id)
|
909
909
|
|
@@ -931,7 +931,7 @@ describe WampClient::Session do
|
|
931
931
|
expect(count).to eq(0)
|
932
932
|
|
933
933
|
# Generate Server Response
|
934
|
-
unregistered =
|
934
|
+
unregistered = Wamp::Client::Message::Unregistered.new(@request_id)
|
935
935
|
transport.receive_message(unregistered.payload)
|
936
936
|
|
937
937
|
# Check the request dictionary
|
@@ -949,7 +949,7 @@ describe WampClient::Session do
|
|
949
949
|
@request_id = session._requests[:unregister].keys.first
|
950
950
|
|
951
951
|
# Generate Server Response
|
952
|
-
unregistered =
|
952
|
+
unregistered = Wamp::Client::Message::Unregistered.new(@request_id)
|
953
953
|
transport.receive_message(unregistered.payload)
|
954
954
|
|
955
955
|
# Check the request dictionary
|
@@ -976,7 +976,7 @@ describe WampClient::Session do
|
|
976
976
|
expect(count).to eq(0)
|
977
977
|
|
978
978
|
# Generate Server Response
|
979
|
-
error =
|
979
|
+
error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::UNREGISTER,
|
980
980
|
@request_id, {fail: true}, 'this.failed')
|
981
981
|
transport.receive_message(error.payload)
|
982
982
|
|
@@ -999,7 +999,7 @@ describe WampClient::Session do
|
|
999
999
|
expect { session.call('test.procedure') }.to raise_exception("Session must be open to call 'call'")
|
1000
1000
|
|
1001
1001
|
session.join('test')
|
1002
|
-
welcome =
|
1002
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
1003
1003
|
transport.receive_message(welcome.payload)
|
1004
1004
|
|
1005
1005
|
transport.messages = []
|
@@ -1012,7 +1012,7 @@ describe WampClient::Session do
|
|
1012
1012
|
|
1013
1013
|
# Check the transport messages
|
1014
1014
|
expect(transport.messages.count).to eq(1)
|
1015
|
-
expect(transport.messages[0][0]).to eq(
|
1015
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::CALL)
|
1016
1016
|
expect(transport.messages[0][1]).to eq(@request_id)
|
1017
1017
|
expect(transport.messages[0][2]).to eq({})
|
1018
1018
|
|
@@ -1041,7 +1041,7 @@ describe WampClient::Session do
|
|
1041
1041
|
expect(count).to eq(0)
|
1042
1042
|
|
1043
1043
|
# Generate Server Response
|
1044
|
-
result =
|
1044
|
+
result = Wamp::Client::Message::Result.new(@request_id, {}, ['test'], {test:true})
|
1045
1045
|
transport.receive_message(result.payload)
|
1046
1046
|
|
1047
1047
|
# Check the request dictionary
|
@@ -1067,7 +1067,7 @@ describe WampClient::Session do
|
|
1067
1067
|
expect(count).to eq(0)
|
1068
1068
|
|
1069
1069
|
# Generate Server Response
|
1070
|
-
error =
|
1070
|
+
error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::CALL,
|
1071
1071
|
@request_id, {fail: true}, 'this.failed')
|
1072
1072
|
transport.receive_message(error.payload)
|
1073
1073
|
|
@@ -1098,12 +1098,12 @@ describe WampClient::Session do
|
|
1098
1098
|
|
1099
1099
|
# Check transport
|
1100
1100
|
expect(transport.messages.count).to eq(2)
|
1101
|
-
expect(transport.messages[1][0]).to eq(
|
1101
|
+
expect(transport.messages[1][0]).to eq(Wamp::Client::Message::Types::CANCEL)
|
1102
1102
|
expect(transport.messages[1][1]).to eq(call.id)
|
1103
1103
|
expect(transport.messages[1][2]).to eq({mode: 'kill'})
|
1104
1104
|
|
1105
1105
|
# Generate Server Response
|
1106
|
-
error =
|
1106
|
+
error = Wamp::Client::Message::Error.new(Wamp::Client::Message::Types::CALL,
|
1107
1107
|
@request_id, {fail: true}, 'this.cancelled')
|
1108
1108
|
transport.receive_message(error.payload)
|
1109
1109
|
|
@@ -1121,7 +1121,7 @@ describe WampClient::Session do
|
|
1121
1121
|
after { clock.reset }
|
1122
1122
|
|
1123
1123
|
it 'does not cancel a call if no timeout specified' do
|
1124
|
-
@defer =
|
1124
|
+
@defer = Wamp::Client::Defer::ProgressiveCallDefer.new
|
1125
1125
|
|
1126
1126
|
count = 0
|
1127
1127
|
session.call('test.procedure', nil, nil) do |result, error, details|
|
@@ -1133,7 +1133,7 @@ describe WampClient::Session do
|
|
1133
1133
|
end
|
1134
1134
|
|
1135
1135
|
it 'does cancel a call if a timeout is specified' do
|
1136
|
-
@defer =
|
1136
|
+
@defer = Wamp::Client::Defer::ProgressiveCallDefer.new
|
1137
1137
|
|
1138
1138
|
count = 0
|
1139
1139
|
call = session.call('test.procedure', nil, nil, {timeout: 1000}) do |result, error, details|
|
@@ -1144,7 +1144,7 @@ describe WampClient::Session do
|
|
1144
1144
|
|
1145
1145
|
expect(transport.messages.count).to eq(2)
|
1146
1146
|
|
1147
|
-
expect(transport.messages[1][0]).to eq(
|
1147
|
+
expect(transport.messages[1][0]).to eq(Wamp::Client::Message::Types::CANCEL)
|
1148
1148
|
expect(transport.messages[1][1]).to eq(call.id)
|
1149
1149
|
expect(transport.messages[1][2]).to eq({mode: 'skip'})
|
1150
1150
|
end
|
@@ -1155,7 +1155,7 @@ describe WampClient::Session do
|
|
1155
1155
|
|
1156
1156
|
before(:each) do
|
1157
1157
|
session.join('test')
|
1158
|
-
welcome =
|
1158
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
1159
1159
|
transport.receive_message(welcome.payload)
|
1160
1160
|
|
1161
1161
|
transport.messages = []
|
@@ -1171,14 +1171,14 @@ describe WampClient::Session do
|
|
1171
1171
|
@request_id = session._requests[:call].keys.first
|
1172
1172
|
|
1173
1173
|
# Send results
|
1174
|
-
result =
|
1174
|
+
result = Wamp::Client::Message::Result.new(@request_id, {progress:true}, ['test'])
|
1175
1175
|
transport.receive_message(result.payload)
|
1176
1176
|
transport.receive_message(result.payload)
|
1177
1177
|
transport.receive_message(result.payload)
|
1178
1178
|
transport.receive_message(result.payload)
|
1179
1179
|
|
1180
1180
|
# Send ending
|
1181
|
-
result =
|
1181
|
+
result = Wamp::Client::Message::Result.new(@request_id, {}, ['test'])
|
1182
1182
|
transport.receive_message(result.payload)
|
1183
1183
|
|
1184
1184
|
expect(results.count).to eq(1)
|
@@ -1195,20 +1195,20 @@ describe WampClient::Session do
|
|
1195
1195
|
@request_id = session._requests[:call].keys.first
|
1196
1196
|
|
1197
1197
|
# Send results
|
1198
|
-
result =
|
1198
|
+
result = Wamp::Client::Message::Result.new(@request_id, {progress:true}, ['test'])
|
1199
1199
|
transport.receive_message(result.payload)
|
1200
1200
|
transport.receive_message(result.payload)
|
1201
1201
|
transport.receive_message(result.payload)
|
1202
1202
|
transport.receive_message(result.payload)
|
1203
1203
|
|
1204
1204
|
# Send ending
|
1205
|
-
result =
|
1205
|
+
result = Wamp::Client::Message::Result.new(@request_id, {}, ['test'])
|
1206
1206
|
transport.receive_message(result.payload)
|
1207
1207
|
|
1208
1208
|
expect(results.count).to eq(5)
|
1209
1209
|
|
1210
1210
|
# Send More to ensure they are not appended
|
1211
|
-
result =
|
1211
|
+
result = Wamp::Client::Message::Result.new(@request_id, {progress:true}, ['test'])
|
1212
1212
|
transport.receive_message(result.payload)
|
1213
1213
|
transport.receive_message(result.payload)
|
1214
1214
|
transport.receive_message(result.payload)
|
@@ -1222,47 +1222,47 @@ describe WampClient::Session do
|
|
1222
1222
|
it 'callee result support' do
|
1223
1223
|
|
1224
1224
|
# Defer Register
|
1225
|
-
@defer =
|
1225
|
+
@defer = Wamp::Client::Defer::ProgressiveCallDefer.new
|
1226
1226
|
defer_handler = lambda do |args, kwargs, details|
|
1227
1227
|
@defer
|
1228
1228
|
end
|
1229
1229
|
session.register('test.defer.procedure', defer_handler)
|
1230
1230
|
|
1231
1231
|
request_id = session._requests[:register].keys.first
|
1232
|
-
registered =
|
1232
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 4567)
|
1233
1233
|
transport.receive_message(registered.payload)
|
1234
1234
|
|
1235
1235
|
transport.messages = []
|
1236
1236
|
|
1237
1237
|
# Generate server event
|
1238
|
-
invocation =
|
1238
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
|
1239
1239
|
transport.receive_message(invocation.payload)
|
1240
1240
|
|
1241
1241
|
expect(transport.messages.count).to eq(0)
|
1242
1242
|
expect(session._defers.count).to eq(1)
|
1243
1243
|
|
1244
|
-
@defer.progress(
|
1244
|
+
@defer.progress(Wamp::Client::CallResult.new(['test1']))
|
1245
1245
|
expect(session._defers.count).to eq(1)
|
1246
|
-
@defer.progress(
|
1246
|
+
@defer.progress(Wamp::Client::CallResult.new(['test2']))
|
1247
1247
|
expect(session._defers.count).to eq(1)
|
1248
|
-
@defer.succeed(
|
1248
|
+
@defer.succeed(Wamp::Client::CallResult.new(['test3']))
|
1249
1249
|
expect(session._defers.count).to eq(0)
|
1250
1250
|
|
1251
1251
|
expect(transport.messages.count).to eq(3)
|
1252
1252
|
|
1253
1253
|
# Check and make sure yield message was sent
|
1254
|
-
expect(transport.messages[0][0]).to eq(
|
1254
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
1255
1255
|
expect(transport.messages[0][1]).to eq(7890)
|
1256
1256
|
expect(transport.messages[0][2]).to eq({progress: true})
|
1257
1257
|
expect(transport.messages[0][3]).to eq(['test1'])
|
1258
1258
|
|
1259
|
-
expect(transport.messages[1][0]).to eq(
|
1259
|
+
expect(transport.messages[1][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
1260
1260
|
expect(transport.messages[1][1]).to eq(7890)
|
1261
1261
|
expect(transport.messages[1][2]).to eq({progress: true})
|
1262
1262
|
expect(transport.messages[1][3]).to eq(['test2'])
|
1263
1263
|
|
1264
1264
|
expect(transport.messages.count).to eq(3)
|
1265
|
-
expect(transport.messages[2][0]).to eq(
|
1265
|
+
expect(transport.messages[2][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
1266
1266
|
expect(transport.messages[2][1]).to eq(7890)
|
1267
1267
|
expect(transport.messages[2][2]).to eq({})
|
1268
1268
|
expect(transport.messages[2][3]).to eq(['test3'])
|
@@ -1272,47 +1272,47 @@ describe WampClient::Session do
|
|
1272
1272
|
it 'callee error support' do
|
1273
1273
|
|
1274
1274
|
# Defer Register
|
1275
|
-
@defer =
|
1275
|
+
@defer = Wamp::Client::Defer::ProgressiveCallDefer.new
|
1276
1276
|
defer_handler = lambda do |args, kwargs, details|
|
1277
1277
|
@defer
|
1278
1278
|
end
|
1279
1279
|
session.register('test.defer.procedure', defer_handler)
|
1280
1280
|
|
1281
1281
|
request_id = session._requests[:register].keys.first
|
1282
|
-
registered =
|
1282
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 4567)
|
1283
1283
|
transport.receive_message(registered.payload)
|
1284
1284
|
|
1285
1285
|
transport.messages = []
|
1286
1286
|
|
1287
1287
|
# Generate server event
|
1288
|
-
invocation =
|
1288
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
|
1289
1289
|
transport.receive_message(invocation.payload)
|
1290
1290
|
|
1291
1291
|
expect(transport.messages.count).to eq(0)
|
1292
1292
|
expect(session._defers.count).to eq(1)
|
1293
1293
|
|
1294
|
-
@defer.progress(
|
1294
|
+
@defer.progress(Wamp::Client::CallResult.new(['test1']))
|
1295
1295
|
expect(session._defers.count).to eq(1)
|
1296
|
-
@defer.progress(
|
1296
|
+
@defer.progress(Wamp::Client::CallResult.new(['test2']))
|
1297
1297
|
expect(session._defers.count).to eq(1)
|
1298
|
-
@defer.fail(
|
1298
|
+
@defer.fail(Wamp::Client::CallError.new('test.error'))
|
1299
1299
|
expect(session._defers.count).to eq(0)
|
1300
1300
|
|
1301
1301
|
expect(transport.messages.count).to eq(3)
|
1302
1302
|
|
1303
1303
|
# Check and make sure yield message was sent
|
1304
|
-
expect(transport.messages[0][0]).to eq(
|
1304
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
1305
1305
|
expect(transport.messages[0][1]).to eq(7890)
|
1306
1306
|
expect(transport.messages[0][2]).to eq({progress: true})
|
1307
1307
|
expect(transport.messages[0][3]).to eq(['test1'])
|
1308
1308
|
|
1309
|
-
expect(transport.messages[1][0]).to eq(
|
1309
|
+
expect(transport.messages[1][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
1310
1310
|
expect(transport.messages[1][1]).to eq(7890)
|
1311
1311
|
expect(transport.messages[1][2]).to eq({progress: true})
|
1312
1312
|
expect(transport.messages[1][3]).to eq(['test2'])
|
1313
1313
|
|
1314
|
-
expect(transport.messages[2][0]).to eq(
|
1315
|
-
expect(transport.messages[2][1]).to eq(
|
1314
|
+
expect(transport.messages[2][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
1315
|
+
expect(transport.messages[2][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
1316
1316
|
expect(transport.messages[2][2]).to eq(7890)
|
1317
1317
|
expect(transport.messages[2][3]).to eq({})
|
1318
1318
|
expect(transport.messages[2][4]).to eq('test.error')
|
@@ -1322,47 +1322,47 @@ describe WampClient::Session do
|
|
1322
1322
|
it 'callee error support' do
|
1323
1323
|
|
1324
1324
|
# Defer Register
|
1325
|
-
@defer =
|
1325
|
+
@defer = Wamp::Client::Defer::ProgressiveCallDefer.new
|
1326
1326
|
defer_handler = lambda do |args, kwargs, details|
|
1327
1327
|
@defer
|
1328
1328
|
end
|
1329
1329
|
session.register('test.defer.procedure', defer_handler)
|
1330
1330
|
|
1331
1331
|
request_id = session._requests[:register].keys.first
|
1332
|
-
registered =
|
1332
|
+
registered = Wamp::Client::Message::Registered.new(request_id, 4567)
|
1333
1333
|
transport.receive_message(registered.payload)
|
1334
1334
|
|
1335
1335
|
transport.messages = []
|
1336
1336
|
|
1337
1337
|
# Generate server event
|
1338
|
-
invocation =
|
1338
|
+
invocation = Wamp::Client::Message::Invocation.new(7890, 4567, {test:1}, [2], {param: 'value'})
|
1339
1339
|
transport.receive_message(invocation.payload)
|
1340
1340
|
|
1341
1341
|
expect(transport.messages.count).to eq(0)
|
1342
1342
|
expect(session._defers.count).to eq(1)
|
1343
1343
|
|
1344
|
-
@defer.progress(
|
1344
|
+
@defer.progress(Wamp::Client::CallResult.new(['test1']))
|
1345
1345
|
expect(session._defers.count).to eq(1)
|
1346
|
-
@defer.progress(
|
1346
|
+
@defer.progress(Wamp::Client::CallResult.new(['test2']))
|
1347
1347
|
expect(session._defers.count).to eq(1)
|
1348
|
-
@defer.fail(
|
1348
|
+
@defer.fail(Wamp::Client::CallError.new('test.error'))
|
1349
1349
|
expect(session._defers.count).to eq(0)
|
1350
1350
|
|
1351
1351
|
expect(transport.messages.count).to eq(3)
|
1352
1352
|
|
1353
1353
|
# Check and make sure yield message was sent
|
1354
|
-
expect(transport.messages[0][0]).to eq(
|
1354
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
1355
1355
|
expect(transport.messages[0][1]).to eq(7890)
|
1356
1356
|
expect(transport.messages[0][2]).to eq({progress: true})
|
1357
1357
|
expect(transport.messages[0][3]).to eq(['test1'])
|
1358
1358
|
|
1359
|
-
expect(transport.messages[1][0]).to eq(
|
1359
|
+
expect(transport.messages[1][0]).to eq(Wamp::Client::Message::Types::YIELD)
|
1360
1360
|
expect(transport.messages[1][1]).to eq(7890)
|
1361
1361
|
expect(transport.messages[1][2]).to eq({progress: true})
|
1362
1362
|
expect(transport.messages[1][3]).to eq(['test2'])
|
1363
1363
|
|
1364
|
-
expect(transport.messages[2][0]).to eq(
|
1365
|
-
expect(transport.messages[2][1]).to eq(
|
1364
|
+
expect(transport.messages[2][0]).to eq(Wamp::Client::Message::Types::ERROR)
|
1365
|
+
expect(transport.messages[2][1]).to eq(Wamp::Client::Message::Types::INVOCATION)
|
1366
1366
|
expect(transport.messages[2][2]).to eq(7890)
|
1367
1367
|
expect(transport.messages[2][3]).to eq({})
|
1368
1368
|
expect(transport.messages[2][4]).to eq('test.error')
|
@@ -1382,19 +1382,19 @@ describe WampClient::Session do
|
|
1382
1382
|
|
1383
1383
|
session.on_challenge do |authmethod, extra|
|
1384
1384
|
expect(authmethod).to eq('wampcra')
|
1385
|
-
|
1385
|
+
Wamp::Client::Auth::Cra.sign(secret, extra[:challenge])
|
1386
1386
|
end
|
1387
1387
|
end
|
1388
1388
|
|
1389
1389
|
it 'challenge => authenticate' do
|
1390
1390
|
|
1391
1391
|
# Send the challenge
|
1392
|
-
challenge_msg =
|
1392
|
+
challenge_msg = Wamp::Client::Message::Challenge.new('wampcra', {challenge: challenge})
|
1393
1393
|
transport.receive_message(challenge_msg.payload)
|
1394
1394
|
|
1395
1395
|
# Check the transport messages
|
1396
1396
|
expect(transport.messages.count).to eq(1)
|
1397
|
-
expect(transport.messages[0][0]).to eq(
|
1397
|
+
expect(transport.messages[0][0]).to eq(Wamp::Client::Message::Types::AUTHENTICATE)
|
1398
1398
|
expect(transport.messages[0][1]).to eq('Pji30JC9tb/T9tbEwxw5i0RyRa5UVBxuoIVTgT7hnkE=')
|
1399
1399
|
expect(transport.messages[0][2]).to eq({})
|
1400
1400
|
|
@@ -1403,11 +1403,11 @@ describe WampClient::Session do
|
|
1403
1403
|
it 'accepts a wampcra challenge' do
|
1404
1404
|
|
1405
1405
|
# Send the challenge
|
1406
|
-
challenge_msg =
|
1406
|
+
challenge_msg = Wamp::Client::Message::Challenge.new('wampcra', {challenge: challenge})
|
1407
1407
|
transport.receive_message(challenge_msg.payload)
|
1408
1408
|
|
1409
1409
|
# Send welcome message
|
1410
|
-
welcome =
|
1410
|
+
welcome = Wamp::Client::Message::Welcome.new(1234, {})
|
1411
1411
|
transport.receive_message(welcome.payload)
|
1412
1412
|
|
1413
1413
|
# Check new state of session
|
@@ -1419,11 +1419,11 @@ describe WampClient::Session do
|
|
1419
1419
|
it 'rejects a wampcra challenge' do
|
1420
1420
|
|
1421
1421
|
# Send the challenge
|
1422
|
-
challenge_msg =
|
1422
|
+
challenge_msg = Wamp::Client::Message::Challenge.new('wampcra', {challenge: challenge})
|
1423
1423
|
transport.receive_message(challenge_msg.payload)
|
1424
1424
|
|
1425
1425
|
# Send abort message
|
1426
|
-
abort =
|
1426
|
+
abort = Wamp::Client::Message::Abort.new({}, 'test.reason')
|
1427
1427
|
transport.receive_message(abort.payload)
|
1428
1428
|
|
1429
1429
|
# Check new state of session
|