Sha256: b3bba1fc6c3bd55280ddfaed65a86e93c33a9498a0f678e79985ca2365316f52

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require "test_helper"

class ActionCable::Server::WithIndependentConfig < ActionCable::Server::Base
  # ActionCable::Server::Base defines config as a class variable.
  # Need config to be an instance variable here as we're testing 2 separate configs
  def config
    @config ||= ActionCable::Server::Configuration.new
  end
end

module ChannelPrefixTest
  def test_channel_prefix
    server2 = ActionCable::Server::WithIndependentConfig.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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-on-quails-0.1.0 actioncable/test/subscription_adapter/channel_prefix.rb