module Warden::Test::Mock
def self.included(_base)
def self.included(_base) ::Warden.test_mode! end
def app
def app @app ||= begin opts = { failure_app: lambda { |_e| [401, { 'Content-Type' => 'text/plain' }, ['You Fail!']] }, default_strategies: :password, default_serializers: :session } Rack::Builder.new do use Warden::Test::Mock::Session use Warden::Manager, opts, &proc {} run lambda { |_e| [200, { 'Content-Type' => 'text/plain' }, ['You Win']] } end end end
def env
def env @env ||= begin request = Rack::MockRequest.env_for( "/?#{Rack::Utils.build_query({})}", { 'HTTP_VERSION' => '1.1', 'REQUEST_METHOD' => 'GET' } ) app.call(request) request end end
def warden
- Api: - public
def warden @warden ||= begin env['warden'] end end