Use secure password min cost option in its own tests for a speed up

Around 0.564359s => 0.092244s speed up in my machine.
This commit is contained in:
Carlos Antonio da Silva 2012-11-19 23:07:12 -02:00
parent 293c121fee
commit c2c1ecb05e
1 changed files with 10 additions and 2 deletions

View File

@ -5,13 +5,18 @@ require 'models/visitor'
require 'models/administrator' require 'models/administrator'
class SecurePasswordTest < ActiveModel::TestCase class SecurePasswordTest < ActiveModel::TestCase
setup do setup do
ActiveModel::SecurePassword.min_cost = true
@user = User.new @user = User.new
@visitor = Visitor.new @visitor = Visitor.new
@oauthed_user = OauthedUser.new @oauthed_user = OauthedUser.new
end end
teardown do
ActiveModel::SecurePassword.min_cost = false
end
test "blank password" do test "blank password" do
@user.password = @visitor.password = '' @user.password = @visitor.password = ''
assert !@user.valid?(:create), 'user should be invalid' assert !@user.valid?(:create), 'user should be invalid'
@ -70,13 +75,16 @@ class SecurePasswordTest < ActiveModel::TestCase
end end
end end
test "Password digest cost defaults to bcrypt default cost" do test "Password digest cost defaults to bcrypt default cost when min_cost is false" do
ActiveModel::SecurePassword.min_cost = false
@user.password = "secret" @user.password = "secret"
assert_equal BCrypt::Engine::DEFAULT_COST, @user.password_digest.cost assert_equal BCrypt::Engine::DEFAULT_COST, @user.password_digest.cost
end end
test "Password digest cost can be set to bcrypt min cost to speed up tests" do test "Password digest cost can be set to bcrypt min cost to speed up tests" do
ActiveModel::SecurePassword.min_cost = true ActiveModel::SecurePassword.min_cost = true
@user.password = "secret" @user.password = "secret"
assert_equal BCrypt::Engine::MIN_COST, @user.password_digest.cost assert_equal BCrypt::Engine::MIN_COST, @user.password_digest.cost
end end