X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/1ea64ea977b08e5393d469707e268aee260acd2f..98184dfb9cacc74ac5bcb91a41a2d5804b3f4f7d:/test/lib/password_hash_test.rb diff --git a/test/lib/password_hash_test.rb b/test/lib/password_hash_test.rb new file mode 100644 index 000000000..bf253c0b8 --- /dev/null +++ b/test/lib/password_hash_test.rb @@ -0,0 +1,29 @@ +require 'test_helper' + +class PasswordHashTest < ActiveSupport::TestCase + def test_md5_without_salt + assert_equal true, PasswordHash.check("5f4dcc3b5aa765d61d8327deb882cf99", nil, "password") + assert_equal false, PasswordHash.check("5f4dcc3b5aa765d61d8327deb882cf99", nil, "wrong") + assert_equal true, PasswordHash.upgrade?("5f4dcc3b5aa765d61d8327deb882cf99", nil) + end + + def test_md5_with_salt + assert_equal true, PasswordHash.check("67a1e09bb1f83f5007dc119c14d663aa", "salt", "password") + assert_equal false, PasswordHash.check("67a1e09bb1f83f5007dc119c14d663aa", "salt", "wrong") + assert_equal false, PasswordHash.check("67a1e09bb1f83f5007dc119c14d663aa", "wrong", "password") + assert_equal true, PasswordHash.upgrade?("67a1e09bb1f83f5007dc119c14d663aa", "salt") + end + + def test_default + hash1, salt1 = PasswordHash.create("password") + hash2, salt2 = PasswordHash.create("password") + assert_not_equal hash1, hash2 + assert_not_equal salt1, salt2 + assert_equal true, PasswordHash.check(hash1, salt1, "password") + assert_equal false, PasswordHash.check(hash1, salt1, "wrong") + assert_equal true, PasswordHash.check(hash2, salt2, "password") + assert_equal false, PasswordHash.check(hash2, salt2, "wrong") + assert_equal false, PasswordHash.upgrade?(hash1, salt1) + assert_equal false, PasswordHash.upgrade?(hash2, salt2) + end +end