blob: 2401950aa72665e0869ea704278c78fb6a805e71 (
plain) (
tree)
|
|
require "test_helper"
require_relative "./common"
class EventedRedisAdapterTest < ActionCable::TestCase
include CommonSubscriptionAdapterTest
def setup
super
# em-hiredis is warning-rich
@previous_verbose, $VERBOSE = $VERBOSE, nil
end
def teardown
super
# Ensure EM is shut down before we re-enable warnings
EventMachine.reactor_thread.tap do |thread|
EventMachine.stop
thread.join
end
$VERBOSE = @previous_verbose
end
def test_slow_eventmachine
require "eventmachine"
require "thread"
lock = Mutex.new
EventMachine.singleton_class.class_eval do
alias_method :delayed_initialize_event_machine, :initialize_event_machine
define_method(:initialize_event_machine) do
lock.synchronize do
sleep 0.5
delayed_initialize_event_machine
end
end
end
test_basic_broadcast
ensure
lock.synchronize do
EventMachine.singleton_class.class_eval do
alias_method :initialize_event_machine, :delayed_initialize_event_machine
remove_method :delayed_initialize_event_machine
end
end
end
def cable_config
{ adapter: "evented_redis", url: "redis://127.0.0.1:6379/12" }
end
end
|