Skip to content

Commit c2c1ecb

Browse files
Use secure password min cost option in its own tests for a speed up
Around 0.564359s => 0.092244s speed up in my machine.
1 parent 293c121 commit c2c1ecb

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

activemodel/test/cases/secure_password_test.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,18 @@
55
require 'models/administrator'
66

77
class SecurePasswordTest < ActiveModel::TestCase
8-
98
setup do
9+
ActiveModel::SecurePassword.min_cost = true
10+
1011
@user = User.new
1112
@visitor = Visitor.new
1213
@oauthed_user = OauthedUser.new
1314
end
1415

16+
teardown do
17+
ActiveModel::SecurePassword.min_cost = false
18+
end
19+
1520
test "blank password" do
1621
@user.password = @visitor.password = ''
1722
assert !@user.valid?(:create), 'user should be invalid'
@@ -70,13 +75,16 @@ class SecurePasswordTest < ActiveModel::TestCase
7075
end
7176
end
7277

73-
test "Password digest cost defaults to bcrypt default cost" do
78+
test "Password digest cost defaults to bcrypt default cost when min_cost is false" do
79+
ActiveModel::SecurePassword.min_cost = false
80+
7481
@user.password = "secret"
7582
assert_equal BCrypt::Engine::DEFAULT_COST, @user.password_digest.cost
7683
end
7784

7885
test "Password digest cost can be set to bcrypt min cost to speed up tests" do
7986
ActiveModel::SecurePassword.min_cost = true
87+
8088
@user.password = "secret"
8189
assert_equal BCrypt::Engine::MIN_COST, @user.password_digest.cost
8290
end

0 commit comments

Comments
 (0)