123456789_123456789_123456789_123456789_123456789_

Module: ActionCable::Connection::TestCase::Behavior

Relationships & Source Files
Namespace Children
Modules:
Extension / Inclusion / Inheritance Descendants
Included In:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Defined in: actioncable/lib/action_cable/connection/test_case.rb

Constant Summary

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

Instance Method Summary

::ActionCable::Connection::Assertions - Included

#assert_reject_connection

Asserts that the connection is rejected (via reject_unauthorized_connection).

DSL Calls

included

[ GitHub ]


138
139
140
141
142
143
144
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 138

included do
  class_attribute :_connection_class

  attr_reader :connection

  ActiveSupport.run_load_hooks(:action_cable_connection_test_case, self)
end

Instance Method Details

#connect(path = ActionCable.server.config.mount_path, **request_params)

Performs connection attempt to exert #connect on the connection under test.

Accepts request path as the first argument and the following request options:

  • params – URL parameters (Hash)

  • headers – request headers (Hash)

  • session – session data (Hash)

  • env – additional ::Rack env configuration (Hash)

[ GitHub ]

  
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 183

def connect(path = ActionCable.server.config.mount_path, **request_params)
  path ||= DEFAULT_PATH

  connection = self.class.connection_class.allocate
  connection.singleton_class.include(TestConnection)
  connection.send(:initialize, build_test_request(path, **request_params))
  connection.connect if connection.respond_to?(:connect)

  # Only set instance variable if connected successfully
  @connection = connection
end

#cookies

[ GitHub ]

  
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 203

def cookies
  @cookie_jar ||= TestCookieJar.new
end

#disconnect

Exert #disconnect on the connection under test.

[ GitHub ]

  
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 196

def disconnect
  raise "Must be connected!" if connection.nil?

  connection.disconnect if connection.respond_to?(:disconnect)
  @connection = nil
end