wamp_client 0.0.9 → 0.1.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.
- 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
|