class Sidekiq::Testing

def __set_test_mode(mode)

def __set_test_mode(mode)
  if block_given?
    current_mode = __test_mode
    begin
      self.__test_mode = mode
      yield
    ensure
      self.__test_mode = current_mode
    end
  else
    self.__test_mode = mode
  end
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