class Sidekiq::Testing
def __local_test_mode
def __local_test_mode Thread.current[:__sidekiq_test_mode] end
def __local_test_mode=(value)
def __local_test_mode=(value) Thread.current[:__sidekiq_test_mode] = value end
def __set_test_mode(mode)
Calling without a block sets the global test mode, affecting
def __set_test_mode(mode) if block_given? # Reentrant testing modes will lead to a rat's nest of code which is # hard to reason about. You can set the testing mode once globally and # you can override that global setting once per-thread. raise TestModeAlreadySetError, "Nesting test modes is not supported" if __local_test_mode self.__local_test_mode = mode begin yield ensure self.__local_test_mode = nil end else self.__global_test_mode = mode end end
def __test_mode
def __test_mode __local_test_mode || __global_test_mode end
def disable!(&block)
def disable!(&block) __set_test_mode(:disable, &block) end
def disabled?
def disabled? __test_mode == :disable end
def enabled?
def enabled? __test_mode != :disable end
def fake!(&block)
def fake!(&block) __set_test_mode(:fake, &block) end
def fake?
def fake? __test_mode == :fake end
def inline!(&block)
def inline!(&block) __set_test_mode(:inline, &block) end
def inline?
def inline? __test_mode == :inline end
def server_middleware
def server_middleware @server_chain ||= Middleware::Chain.new(Sidekiq.default_configuration) yield @server_chain if block_given? @server_chain end