diff options
Diffstat (limited to 'activemodel/test/cases/secure_password_test.rb')
-rw-r--r-- | activemodel/test/cases/secure_password_test.rb | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/activemodel/test/cases/secure_password_test.rb b/activemodel/test/cases/secure_password_test.rb index ffc534f0f4..d603dee73e 100644 --- a/activemodel/test/cases/secure_password_test.rb +++ b/activemodel/test/cases/secure_password_test.rb @@ -4,6 +4,7 @@ require 'models/visitor' class SecurePasswordTest < ActiveModel::TestCase setup do + @original_min_cost = ActiveModel::SecurePassword.min_cost ActiveModel::SecurePassword.min_cost = true @user = User.new @@ -15,7 +16,7 @@ class SecurePasswordTest < ActiveModel::TestCase end teardown do - ActiveModel::SecurePassword.min_cost = false + ActiveModel::SecurePassword.min_cost = @original_min_cost end test "create and updating without validations" do @@ -157,42 +158,29 @@ class SecurePasswordTest < ActiveModel::TestCase end test "Password digest cost defaults to bcrypt default cost when min_cost is false" do - original_min_cost = ActiveModel::SecurePassword.min_cost ActiveModel::SecurePassword.min_cost = false - begin - @user.password = "secret" - assert_equal BCrypt::Engine::DEFAULT_COST, @user.password_digest.cost - ensure - ActiveModel::SecurePassword.min_cost = original_min_cost - end + @user.password = "secret" + assert_equal BCrypt::Engine::DEFAULT_COST, @user.password_digest.cost end test "Password digest cost honors bcrypt cost attribute when min_cost is false" do - original_min_cost = ActiveModel::SecurePassword.min_cost - original_cost = BCrypt::Engine.cost - - ActiveModel::SecurePassword.min_cost = false - BCrypt::Engine.cost = 5 - begin + original_bcrypt_cost = BCrypt::Engine.cost + ActiveModel::SecurePassword.min_cost = false + BCrypt::Engine.cost = 5 + @user.password = "secret" assert_equal BCrypt::Engine.cost, @user.password_digest.cost ensure - ActiveModel::SecurePassword.min_cost = original_min_cost - BCrypt::Engine.cost = original_cost + BCrypt::Engine.cost = original_bcrypt_cost end end test "Password digest cost can be set to bcrypt min cost to speed up tests" do - original_min_cost = ActiveModel::SecurePassword.min_cost ActiveModel::SecurePassword.min_cost = true - begin - @user.password = "secret" - assert_equal BCrypt::Engine::MIN_COST, @user.password_digest.cost - ensure - ActiveModel::SecurePassword.min_cost = original_min_cost - end + @user.password = "secret" + assert_equal BCrypt::Engine::MIN_COST, @user.password_digest.cost end end |