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 ]


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

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 185

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 205

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 198

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

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