aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test
diff options
context:
space:
mode:
authorTrevor Turk <trevorturk@gmail.com>2012-11-14 09:42:54 -0600
committerTrevor Turk <trevorturk@gmail.com>2012-11-14 09:42:54 -0600
commit06faa6da808ef9e98455c35aefd4a4112c811c8f (patch)
tree4a2af25cbd23b2b91a1454a15f7890ffbfc80391 /activemodel/test
parent087150d9b7a73f20677f9bc3ff52fe66b1f1e549 (diff)
downloadrails-06faa6da808ef9e98455c35aefd4a4112c811c8f.tar.gz
rails-06faa6da808ef9e98455c35aefd4a4112c811c8f.tar.bz2
rails-06faa6da808ef9e98455c35aefd4a4112c811c8f.zip
Use BCrypt's MIN_COST in the test environment for speedier tests
Diffstat (limited to 'activemodel/test')
-rw-r--r--activemodel/test/cases/railtie_test.rb28
-rw-r--r--activemodel/test/cases/secure_password_test.rb13
2 files changed, 40 insertions, 1 deletions
diff --git a/activemodel/test/cases/railtie_test.rb b/activemodel/test/cases/railtie_test.rb
new file mode 100644
index 0000000000..f89a288f8f
--- /dev/null
+++ b/activemodel/test/cases/railtie_test.rb
@@ -0,0 +1,28 @@
+require 'cases/helper'
+require 'active_support/testing/isolation'
+
+class RailtieTest < ActiveModel::TestCase
+ include ActiveSupport::Testing::Isolation
+
+ def setup
+ require 'rails/all'
+
+ @app ||= Class.new(::Rails::Application).tap do |app|
+ app.config.eager_load = false
+ end
+ end
+
+ test 'secure password min_cost is false in the development environment' do
+ Rails.env = 'development'
+ @app.initialize!
+
+ assert_equal false, ActiveModel::SecurePassword.min_cost
+ end
+
+ test 'secure password min_cost is true in the test environment' do
+ Rails.env = 'test'
+ @app.initialize!
+
+ assert_equal true, ActiveModel::SecurePassword.min_cost
+ end
+end
diff --git a/activemodel/test/cases/secure_password_test.rb b/activemodel/test/cases/secure_password_test.rb
index 509e2fdbb5..c7e93370ec 100644
--- a/activemodel/test/cases/secure_password_test.rb
+++ b/activemodel/test/cases/secure_password_test.rb
@@ -63,10 +63,21 @@ class SecurePasswordTest < ActiveModel::TestCase
@user.run_callbacks :create
end
end
-
+
test "Oauthed user can be created with blank digest" do
assert_nothing_raised do
@oauthed_user.run_callbacks :create
end
end
+
+ test "Password digest cost defaults to bcrypt default cost" do
+ @user.password = "secret"
+ assert_equal BCrypt::Engine::DEFAULT_COST, @user.password_digest.cost
+ end
+
+ test "Password digest cost can be set to bcrypt min cost to speed up tests" do
+ ActiveModel::SecurePassword.min_cost = true
+ @user.password = "secret"
+ assert_equal BCrypt::Engine::MIN_COST, @user.password_digest.cost
+ end
end