require 'test_helper' require 'stubs/test_server' class ActionCable::Connection::StringIdentifierTest < ActionCable::TestCase class Connection < ActionCable::Connection::Base identified_by :current_token def connect self.current_token = "random-string" end def send_async(method, *args) send method, *args end end test "connection identifier" do run_in_eventmachine do open_connection_with_stubbed_pubsub assert_equal "random-string", @connection.connection_identifier end end protected def open_connection_with_stubbed_pubsub @server = TestServer.new @server.stubs(:pubsub).returns(stub_everything('pubsub')) open_connection end def open_connection env = Rack::MockRequest.env_for "/test", 'HTTP_CONNECTION' => 'upgrade', 'HTTP_UPGRADE' => 'websocket' @connection = Connection.new(@server, env) @connection.process @connection.send :on_open end def close_connection @connection.send :on_close end end