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
         
     |