Support for testing OmniAuth strategies.
@example Usage
class MyStrategyTest < Test::Unit::TestCase include OmniAuth::Test::StrategyTestCase def strategy # return the parameters to a Rack::Builder map call: [MyStrategy.new, :some, :configuration, :options => 'here'] end setup do post '/auth/my_strategy/callback', :user => { 'name' => 'Dylan', 'id' => '445' } end end
# File lib/omniauth/test/strategy_test_case.rb, line 23 def app strat = self.strategy resp = self.app_response Rack::Builder.new { use OmniAuth::Test::PhonySession use *strat run lambda {|env| [404, {'Content-Type' => 'text/plain'}, [resp || env.key?('omniauth.auth').to_s]] } }.to_app end
# File lib/omniauth/test/strategy_test_case.rb, line 33 def app_response nil end
# File lib/omniauth/test/strategy_test_case.rb, line 37 def session last_request.env['rack.session'] end
# File lib/omniauth/test/strategy_test_case.rb, line 41 def strategy raise NotImplementedError.new('Including specs must define #strategy') end