123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- require 'test_helper'
- module Devise
- def self.yield_and_restore
- @@warden_configured = nil
- c, b = @@warden_config, @@warden_config_block
- yield
- ensure
- @@warden_config, @@warden_config_block = c, b
- end
- end
- class DeviseTest < ActiveSupport::TestCase
- test 'model options can be configured through Devise' do
- swap Devise, :allow_unconfirmed_access_for => 113, :pepper => "foo" do
- assert_equal 113, Devise.allow_unconfirmed_access_for
- assert_equal "foo", Devise.pepper
- end
- end
- test 'setup block yields self' do
- Devise.setup do |config|
- assert_equal Devise, config
- end
- end
- test 'stores warden configuration' do
- assert_kind_of Devise::Delegator, Devise.warden_config.failure_app
- assert_equal :user, Devise.warden_config.default_scope
- end
- test 'warden manager user configuration through a block' do
- Devise.yield_and_restore do
- @executed = false
- Devise.warden do |config|
- @executed = true
- assert_kind_of Warden::Config, config
- end
- Devise.configure_warden!
- assert @executed
- end
- end
- test 'add new module using the helper method' do
- assert_nothing_raised(Exception) { Devise.add_module(:coconut) }
- assert_equal 1, Devise::ALL.select { |v| v == :coconut }.size
- assert_not Devise::STRATEGIES.include?(:coconut)
- assert_not defined?(Devise::Models::Coconut)
- Devise::ALL.delete(:coconut)
- assert_nothing_raised(Exception) { Devise.add_module(:banana, :strategy => :fruits) }
- assert_equal :fruits, Devise::STRATEGIES[:banana]
- Devise::ALL.delete(:banana)
- Devise::STRATEGIES.delete(:banana)
- assert_nothing_raised(Exception) { Devise.add_module(:kivi, :controller => :fruits) }
- assert_equal :fruits, Devise::CONTROLLERS[:kivi]
- Devise::ALL.delete(:kivi)
- Devise::CONTROLLERS.delete(:kivi)
- end
-
- test 'should complain when comparing empty or different sized passes' do
- [nil, ""].each do |empty|
- assert_not Devise.secure_compare(empty, "something")
- assert_not Devise.secure_compare("something", empty)
- assert_not Devise.secure_compare(empty, empty)
- end
- assert_not Devise.secure_compare("size_1", "size_four")
- end
-
- end
|