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

Extended by:
ActiveSupport::Concern
Includes:
Assertions, ActiveSupport::Testing::ConstantLookup
Included in:
ActionCable::Connection::TestCase
Defined in:
actioncable/lib/action_cable/connection/test_case.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

DEFAULT_PATH =
"/cable"

Instance Method Summary collapse

Methods included from ActiveSupport::Concern

append_features, class_methods, extended, included, prepend_features, prepended

Methods included from Assertions

#assert_reject_connection

Instance Method Details

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

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)


183
184
185
186
187
188
189
190
191
192
193
# 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

#cookiesObject


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

def cookies
  @cookie_jar ||= TestCookieJar.new
end

#disconnectObject

Exert #disconnect on the connection under test.


196
197
198
199
200
201
# 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