Sha256: 52534d56fdb103127b0eae5c606afd4182291949ac394f8a83a88de15f8ecf1b

Contents?: true

Size: 1.24 KB

Versions: 35

Compression:

Stored size: 1.24 KB

Contents

require 'spec_helper'

describe Ably::Realtime::Client::IncomingMessageDispatcher, :api_private do
  let(:msgbus) do
    Ably::Util::PubSub.new
  end
  let(:connection) do
    instance_double('Ably::Realtime::Connection', __incoming_protocol_msgbus__: msgbus, configure_new: true, id: nil)
  end
  let(:client) do
    instance_double('Ably::Realtime::Client', channels: {})
  end

  subject { Ably::Realtime::Client::IncomingMessageDispatcher.new(client, connection) }

  context '#initialize' do
    it 'should subscribe to protocol messages from the connection' do
      expect(msgbus).to receive(:subscribe).with(:protocol_message).and_call_original
      subject
    end
  end

  context '#dispatch_protocol_message' do
    before { subject }

    it 'should raise an exception if a message is sent that is not a ProtocolMessage' do
      expect { msgbus.publish :protocol_message, nil }.to raise_error ArgumentError
    end

    it 'should warn if a message is received for a non-existent channel' do
      allow(subject).to receive_message_chain(:logger, :debug)
      expect(subject).to receive_message_chain(:logger, :warn)
      msgbus.publish :protocol_message, Ably::Models::ProtocolMessage.new(:action => :attached, channel: 'unknown')
    end
  end
end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
ably-rest-0.8.15 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.15 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.9.3 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.9.2 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.9.1 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.9.0 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.8.14 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.14 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.8.13 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.13 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.12 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.11 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.10 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.8.9 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.9 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.8 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.7 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-0.8.6 spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.8.6 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
ably-rest-0.8.5 lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb