rails/actioncable/test/subscription_adapter/channel_prefix.rb
Vladimir Dementyev 3cd69fa2c0
Allow passing custom config to ActionCable::Server::Base
That allows us to create a separate, isolated Action Cable server
instance within the same app.
2019-02-12 17:17:46 -05:00

31 lines
895 B
Ruby

# frozen_string_literal: true
require "test_helper"
module ChannelPrefixTest
def test_channel_prefix
server2 = ActionCable::Server::Base.new(config: ActionCable::Server::Configuration.new)
server2.config.cable = alt_cable_config
server2.config.logger = Logger.new(StringIO.new).tap { |l| l.level = Logger::UNKNOWN }
adapter_klass = server2.config.pubsub_adapter
rx_adapter2 = adapter_klass.new(server2)
tx_adapter2 = adapter_klass.new(server2)
subscribe_as_queue("channel") do |queue|
subscribe_as_queue("channel", rx_adapter2) do |queue2|
@tx_adapter.broadcast("channel", "hello world")
tx_adapter2.broadcast("channel", "hello world 2")
assert_equal "hello world", queue.pop
assert_equal "hello world 2", queue2.pop
end
end
end
def alt_cable_config
cable_config.merge(channel_prefix: "foo")
end
end