drogus-authlogic 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. data/.gitignore +9 -0
  2. data/CHANGELOG.rdoc +345 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +246 -0
  5. data/Rakefile +42 -0
  6. data/VERSION.yml +5 -0
  7. data/authlogic.gemspec +217 -0
  8. data/generators/session/session_generator.rb +9 -0
  9. data/generators/session/templates/session.rb +2 -0
  10. data/init.rb +1 -0
  11. data/lib/authlogic.rb +64 -0
  12. data/lib/authlogic/acts_as_authentic/base.rb +107 -0
  13. data/lib/authlogic/acts_as_authentic/email.rb +110 -0
  14. data/lib/authlogic/acts_as_authentic/logged_in_status.rb +60 -0
  15. data/lib/authlogic/acts_as_authentic/login.rb +137 -0
  16. data/lib/authlogic/acts_as_authentic/magic_columns.rb +24 -0
  17. data/lib/authlogic/acts_as_authentic/password.rb +355 -0
  18. data/lib/authlogic/acts_as_authentic/perishable_token.rb +105 -0
  19. data/lib/authlogic/acts_as_authentic/persistence_token.rb +68 -0
  20. data/lib/authlogic/acts_as_authentic/restful_authentication.rb +61 -0
  21. data/lib/authlogic/acts_as_authentic/session_maintenance.rb +139 -0
  22. data/lib/authlogic/acts_as_authentic/single_access_token.rb +65 -0
  23. data/lib/authlogic/acts_as_authentic/validations_scope.rb +32 -0
  24. data/lib/authlogic/authenticates_many/association.rb +42 -0
  25. data/lib/authlogic/authenticates_many/base.rb +55 -0
  26. data/lib/authlogic/controller_adapters/abstract_adapter.rb +67 -0
  27. data/lib/authlogic/controller_adapters/merb_adapter.rb +30 -0
  28. data/lib/authlogic/controller_adapters/rails_adapter.rb +48 -0
  29. data/lib/authlogic/controller_adapters/sinatra_adapter.rb +61 -0
  30. data/lib/authlogic/crypto_providers/aes256.rb +43 -0
  31. data/lib/authlogic/crypto_providers/bcrypt.rb +90 -0
  32. data/lib/authlogic/crypto_providers/md5.rb +34 -0
  33. data/lib/authlogic/crypto_providers/sha1.rb +35 -0
  34. data/lib/authlogic/crypto_providers/sha256.rb +50 -0
  35. data/lib/authlogic/crypto_providers/sha512.rb +50 -0
  36. data/lib/authlogic/crypto_providers/wordpress.rb +43 -0
  37. data/lib/authlogic/i18n.rb +83 -0
  38. data/lib/authlogic/i18n/translator.rb +15 -0
  39. data/lib/authlogic/random.rb +33 -0
  40. data/lib/authlogic/regex.rb +25 -0
  41. data/lib/authlogic/session/activation.rb +58 -0
  42. data/lib/authlogic/session/active_record_trickery.rb +64 -0
  43. data/lib/authlogic/session/base.rb +37 -0
  44. data/lib/authlogic/session/brute_force_protection.rb +96 -0
  45. data/lib/authlogic/session/callbacks.rb +99 -0
  46. data/lib/authlogic/session/cookies.rb +130 -0
  47. data/lib/authlogic/session/existence.rb +93 -0
  48. data/lib/authlogic/session/foundation.rb +63 -0
  49. data/lib/authlogic/session/http_auth.rb +58 -0
  50. data/lib/authlogic/session/id.rb +41 -0
  51. data/lib/authlogic/session/klass.rb +78 -0
  52. data/lib/authlogic/session/magic_columns.rb +95 -0
  53. data/lib/authlogic/session/magic_states.rb +59 -0
  54. data/lib/authlogic/session/params.rb +101 -0
  55. data/lib/authlogic/session/password.rb +240 -0
  56. data/lib/authlogic/session/perishable_token.rb +18 -0
  57. data/lib/authlogic/session/persistence.rb +70 -0
  58. data/lib/authlogic/session/priority_record.rb +34 -0
  59. data/lib/authlogic/session/scopes.rb +101 -0
  60. data/lib/authlogic/session/session.rb +62 -0
  61. data/lib/authlogic/session/timeout.rb +82 -0
  62. data/lib/authlogic/session/unauthorized_record.rb +50 -0
  63. data/lib/authlogic/session/validation.rb +82 -0
  64. data/lib/authlogic/test_case.rb +120 -0
  65. data/lib/authlogic/test_case/mock_controller.rb +45 -0
  66. data/lib/authlogic/test_case/mock_cookie_jar.rb +14 -0
  67. data/lib/authlogic/test_case/mock_logger.rb +10 -0
  68. data/lib/authlogic/test_case/mock_request.rb +19 -0
  69. data/lib/authlogic/test_case/rails_request_adapter.rb +30 -0
  70. data/rails/init.rb +1 -0
  71. data/shoulda_macros/authlogic.rb +69 -0
  72. data/test/acts_as_authentic_test/base_test.rb +18 -0
  73. data/test/acts_as_authentic_test/email_test.rb +97 -0
  74. data/test/acts_as_authentic_test/logged_in_status_test.rb +36 -0
  75. data/test/acts_as_authentic_test/login_test.rb +109 -0
  76. data/test/acts_as_authentic_test/magic_columns_test.rb +27 -0
  77. data/test/acts_as_authentic_test/password_test.rb +236 -0
  78. data/test/acts_as_authentic_test/perishable_token_test.rb +90 -0
  79. data/test/acts_as_authentic_test/persistence_token_test.rb +55 -0
  80. data/test/acts_as_authentic_test/restful_authentication_test.rb +40 -0
  81. data/test/acts_as_authentic_test/session_maintenance_test.rb +84 -0
  82. data/test/acts_as_authentic_test/single_access_test.rb +44 -0
  83. data/test/authenticates_many_test.rb +16 -0
  84. data/test/crypto_provider_test/aes256_test.rb +14 -0
  85. data/test/crypto_provider_test/bcrypt_test.rb +14 -0
  86. data/test/crypto_provider_test/sha1_test.rb +23 -0
  87. data/test/crypto_provider_test/sha256_test.rb +14 -0
  88. data/test/crypto_provider_test/sha512_test.rb +14 -0
  89. data/test/fixtures/companies.yml +5 -0
  90. data/test/fixtures/employees.yml +17 -0
  91. data/test/fixtures/projects.yml +3 -0
  92. data/test/fixtures/users.yml +24 -0
  93. data/test/i18n_test.rb +33 -0
  94. data/test/libs/affiliate.rb +7 -0
  95. data/test/libs/company.rb +6 -0
  96. data/test/libs/employee.rb +7 -0
  97. data/test/libs/employee_session.rb +2 -0
  98. data/test/libs/ldaper.rb +3 -0
  99. data/test/libs/ordered_hash.rb +9 -0
  100. data/test/libs/project.rb +3 -0
  101. data/test/libs/user.rb +5 -0
  102. data/test/libs/user_session.rb +6 -0
  103. data/test/random_test.rb +49 -0
  104. data/test/session_test/activation_test.rb +43 -0
  105. data/test/session_test/active_record_trickery_test.rb +36 -0
  106. data/test/session_test/brute_force_protection_test.rb +101 -0
  107. data/test/session_test/callbacks_test.rb +6 -0
  108. data/test/session_test/cookies_test.rb +112 -0
  109. data/test/session_test/credentials_test.rb +0 -0
  110. data/test/session_test/existence_test.rb +64 -0
  111. data/test/session_test/http_auth_test.rb +28 -0
  112. data/test/session_test/id_test.rb +17 -0
  113. data/test/session_test/klass_test.rb +40 -0
  114. data/test/session_test/magic_columns_test.rb +62 -0
  115. data/test/session_test/magic_states_test.rb +60 -0
  116. data/test/session_test/params_test.rb +53 -0
  117. data/test/session_test/password_test.rb +106 -0
  118. data/test/session_test/perishability_test.rb +15 -0
  119. data/test/session_test/persistence_test.rb +21 -0
  120. data/test/session_test/scopes_test.rb +60 -0
  121. data/test/session_test/session_test.rb +59 -0
  122. data/test/session_test/timeout_test.rb +52 -0
  123. data/test/session_test/unauthorized_record_test.rb +13 -0
  124. data/test/session_test/validation_test.rb +23 -0
  125. data/test/test_helper.rb +182 -0
  126. metadata +238 -0
@@ -0,0 +1,90 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module ActsAsAuthenticTest
4
+ class PerishableTokenTest < ActiveSupport::TestCase
5
+ def test_perishable_token_valid_for_config
6
+ assert_equal 10.minutes.to_i, User.perishable_token_valid_for
7
+ assert_equal 10.minutes.to_i, Employee.perishable_token_valid_for
8
+
9
+ User.perishable_token_valid_for = 1.hour
10
+ assert_equal 1.hour.to_i, User.perishable_token_valid_for
11
+ User.perishable_token_valid_for 10.minutes
12
+ assert_equal 10.minutes.to_i, User.perishable_token_valid_for
13
+ end
14
+
15
+ def test_disable_perishable_token_maintenance_config
16
+ assert !User.disable_perishable_token_maintenance
17
+ assert !Employee.disable_perishable_token_maintenance
18
+
19
+ User.disable_perishable_token_maintenance = true
20
+ assert User.disable_perishable_token_maintenance
21
+ User.disable_perishable_token_maintenance false
22
+ assert !User.disable_perishable_token_maintenance
23
+ end
24
+
25
+ def test_validates_uniqueness_of_perishable_token
26
+ u = User.new
27
+ u.perishable_token = users(:ben).perishable_token
28
+ assert !u.valid?
29
+ assert u.errors[:perishable_token].size > 0
30
+ end
31
+
32
+ def test_before_save_reset_perishable_token
33
+ ben = users(:ben)
34
+ old_perishable_token = ben.perishable_token
35
+ assert ben.save
36
+ assert_not_equal old_perishable_token, ben.perishable_token
37
+ end
38
+
39
+ def test_reset_perishable_token
40
+ ben = users(:ben)
41
+ old_perishable_token = ben.perishable_token
42
+
43
+ assert ben.reset_perishable_token
44
+ assert_not_equal old_perishable_token, ben.perishable_token
45
+
46
+ ben.reload
47
+ assert_equal old_perishable_token, ben.perishable_token
48
+
49
+ assert ben.reset_perishable_token!
50
+ assert_not_equal old_perishable_token, ben.perishable_token
51
+
52
+ ben.reload
53
+ assert_not_equal old_perishable_token, ben.perishable_token
54
+ end
55
+
56
+ def test_find_using_perishable_token
57
+ ben = users(:ben)
58
+ assert_equal ben, User.find_using_perishable_token(ben.perishable_token)
59
+ end
60
+
61
+ def test_find_using_perishable_token_when_perished
62
+ ben = users(:ben)
63
+ ActiveRecord::Base.connection.execute("UPDATE users set updated_at = '#{1.week.ago.to_s(:db)}' where id = #{ben.id}")
64
+ assert_nil User.find_using_perishable_token(ben.perishable_token)
65
+ end
66
+
67
+ def test_find_using_perishable_token_when_perished
68
+ User.perishable_token_valid_for = 1.minute
69
+ ben = users(:ben)
70
+ ActiveRecord::Base.connection.execute("UPDATE users set updated_at = '#{2.minutes.ago.to_s(:db)}' where id = #{ben.id}")
71
+ assert_nil User.find_using_perishable_token(ben.perishable_token)
72
+ User.perishable_token_valid_for = 10.minutes
73
+ end
74
+
75
+ def test_find_using_perishable_token_when_passing_threshold
76
+ User.perishable_token_valid_for = 1.minute
77
+ ben = users(:ben)
78
+ ActiveRecord::Base.connection.execute("UPDATE users set updated_at = '#{10.minutes.ago.to_s(:db)}' where id = #{ben.id}")
79
+ assert_nil User.find_using_perishable_token(ben.perishable_token, 5.minutes)
80
+ assert_equal ben, User.find_using_perishable_token(ben.perishable_token, 20.minutes)
81
+ User.perishable_token_valid_for = 10.minutes
82
+ end
83
+
84
+ def test_find_perishable_token_with_bang
85
+ assert_raises ActiveRecord::RecordNotFound do
86
+ User.find_using_perishable_token!('some_bad_value')
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,55 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module ActsAsAuthenticTest
4
+ class PersistenceTokenTest < ActiveSupport::TestCase
5
+ def test_after_password_set_reset_persistence_token
6
+ ben = users(:ben)
7
+ old_persistence_token = ben.persistence_token
8
+ ben.password = "newpass"
9
+ assert_not_equal old_persistence_token, ben.persistence_token
10
+ end
11
+
12
+ def test_after_password_verification_reset_persistence_token
13
+ ben = users(:ben)
14
+ old_persistence_token = ben.persistence_token
15
+ assert ben.valid_password?(password_for(ben))
16
+ assert_equal old_persistence_token, ben.persistence_token
17
+
18
+ # only update it if it is nil
19
+ assert ben.update_attribute(:persistence_token, nil)
20
+ assert ben.valid_password?(password_for(ben))
21
+ assert_not_equal old_persistence_token, ben.persistence_token
22
+ end
23
+
24
+ def test_before_validate_reset_persistence_token
25
+ u = User.new
26
+ assert !u.valid?
27
+ assert_not_nil u.persistence_token
28
+ end
29
+
30
+ def test_forget_all
31
+ http_basic_auth_for(users(:ben)) { UserSession.find }
32
+ http_basic_auth_for(users(:zack)) { UserSession.find(:ziggity_zack) }
33
+ assert UserSession.find
34
+ assert UserSession.find(:ziggity_zack)
35
+ User.forget_all
36
+ assert !UserSession.find
37
+ assert !UserSession.find(:ziggity_zack)
38
+ end
39
+
40
+ def test_forget
41
+ ben = users(:ben)
42
+ zack = users(:zack)
43
+ http_basic_auth_for(ben) { UserSession.find }
44
+ http_basic_auth_for(zack) { UserSession.find(:ziggity_zack) }
45
+
46
+ assert ben.reload.logged_in?
47
+ assert zack.reload.logged_in?
48
+
49
+ ben.forget!
50
+
51
+ assert !UserSession.find
52
+ assert UserSession.find(:ziggity_zack)
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,40 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module ActsAsAuthenticTest
4
+ class RestfulAuthenticationTest < ActiveSupport::TestCase
5
+ def test_act_like_restful_authentication_config
6
+ assert !User.act_like_restful_authentication
7
+ assert !Employee.act_like_restful_authentication
8
+
9
+ User.act_like_restful_authentication = true
10
+ assert User.act_like_restful_authentication
11
+ assert_equal Authlogic::CryptoProviders::Sha1, User.crypto_provider
12
+ assert defined?(::REST_AUTH_SITE_KEY)
13
+ assert_equal '', ::REST_AUTH_SITE_KEY
14
+ assert_equal 1, Authlogic::CryptoProviders::Sha1.stretches
15
+
16
+ User.act_like_restful_authentication false
17
+ assert !User.act_like_restful_authentication
18
+
19
+ User.crypto_provider = Authlogic::CryptoProviders::Sha512
20
+ User.transition_from_crypto_providers = []
21
+ end
22
+
23
+ def test_transition_from_restful_authentication_config
24
+ assert !User.transition_from_restful_authentication
25
+ assert !Employee.transition_from_restful_authentication
26
+
27
+ User.transition_from_restful_authentication = true
28
+ assert User.transition_from_restful_authentication
29
+ assert defined?(::REST_AUTH_SITE_KEY)
30
+ assert_equal '', ::REST_AUTH_SITE_KEY
31
+ assert_equal 1, Authlogic::CryptoProviders::Sha1.stretches
32
+
33
+ User.transition_from_restful_authentication false
34
+ assert !User.transition_from_restful_authentication
35
+
36
+ User.crypto_provider = Authlogic::CryptoProviders::Sha512
37
+ User.transition_from_crypto_providers = []
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,84 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module ActsAsAuthenticTest
4
+ class SessionMaintenanceTest < ActiveSupport::TestCase
5
+ def test_maintain_sessions_config
6
+ assert User.maintain_sessions
7
+ User.maintain_sessions = false
8
+ assert !User.maintain_sessions
9
+ User.maintain_sessions true
10
+ assert User.maintain_sessions
11
+ end
12
+
13
+ def test_login_after_create
14
+ assert User.create(:login => "awesome", :password => "saweet", :password_confirmation => "saweet", :email => "awesome@awesome.com")
15
+ assert UserSession.find
16
+ end
17
+
18
+ def test_updating_session_with_failed_magic_state
19
+ ben = users(:ben)
20
+ ben.confirmed = false
21
+ ben.password = "newpass"
22
+ ben.password_confirmation = "newpass"
23
+ assert ben.save
24
+ end
25
+
26
+ def test_update_session_after_password_modify
27
+ ben = users(:ben)
28
+ UserSession.create(ben)
29
+ old_session_key = controller.session["user_credentials"]
30
+ old_cookie_key = controller.cookies["user_credentials"]
31
+ ben.password = "newpass"
32
+ ben.password_confirmation = "newpass"
33
+ assert ben.save
34
+ assert controller.session["user_credentials"]
35
+ assert controller.cookies["user_credentials"]
36
+ assert_not_equal controller.session["user_credentials"], old_session_key
37
+ assert_not_equal controller.cookies["user_credentials"], old_cookie_key
38
+ end
39
+
40
+ def test_no_session_update_after_modify
41
+ ben = users(:ben)
42
+ UserSession.create(ben)
43
+ old_session_key = controller.session["user_credentials"]
44
+ old_cookie_key = controller.cookies["user_credentials"]
45
+ ben.first_name = "Ben"
46
+ assert ben.save
47
+ assert_equal controller.session["user_credentials"], old_session_key
48
+ assert_equal controller.cookies["user_credentials"], old_cookie_key
49
+ end
50
+
51
+ def test_creating_other_user
52
+ ben = users(:ben)
53
+ UserSession.create(ben)
54
+ old_session_key = controller.session["user_credentials"]
55
+ old_cookie_key = controller.cookies["user_credentials"]
56
+ assert User.create(:login => "awesome", :password => "saweet", :password_confirmation => "saweet", :email => "awesome@saweet.com")
57
+ assert_equal controller.session["user_credentials"], old_session_key
58
+ assert_equal controller.cookies["user_credentials"], old_cookie_key
59
+ end
60
+
61
+ def test_updating_other_user
62
+ ben = users(:ben)
63
+ UserSession.create(ben)
64
+ old_session_key = controller.session["user_credentials"]
65
+ old_cookie_key = controller.cookies["user_credentials"]
66
+ zack = users(:zack)
67
+ zack.password = "newpass"
68
+ zack.password_confirmation = "newpass"
69
+ assert zack.save
70
+ assert_equal controller.session["user_credentials"], old_session_key
71
+ assert_equal controller.cookies["user_credentials"], old_cookie_key
72
+ end
73
+
74
+ def test_resetting_password_when_logged_out
75
+ ben = users(:ben)
76
+ assert !UserSession.find
77
+ ben.password = "newpass"
78
+ ben.password_confirmation = "newpass"
79
+ assert ben.save
80
+ assert UserSession.find
81
+ assert_equal ben, UserSession.find.record
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,44 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module ActsAsAuthenticTest
4
+ class SingleAccessTest < ActiveSupport::TestCase
5
+ def test_change_single_access_token_with_password_config
6
+ assert !User.change_single_access_token_with_password
7
+ assert !Employee.change_single_access_token_with_password
8
+
9
+ User.change_single_access_token_with_password = true
10
+ assert User.change_single_access_token_with_password
11
+ User.change_single_access_token_with_password false
12
+ assert !User.change_single_access_token_with_password
13
+ end
14
+
15
+ def test_validates_uniqueness_of_single_access_token
16
+ u = User.new
17
+ u.single_access_token = users(:ben).single_access_token
18
+ assert !u.valid?
19
+ assert u.errors[:single_access_token].size > 0
20
+ end
21
+
22
+ def test_before_validation_reset_single_access_token
23
+ u = User.new
24
+ assert !u.valid?
25
+ assert_not_nil u.single_access_token
26
+ end
27
+
28
+ def test_after_password_set_reset_single_access_token
29
+ User.change_single_access_token_with_password = true
30
+
31
+ ben = users(:ben)
32
+ old_single_access_token = ben.single_access_token
33
+ ben.password = "new_pass"
34
+ assert_not_equal old_single_access_token, ben.single_access_token
35
+
36
+ User.change_single_access_token_with_password = false
37
+ end
38
+
39
+ def test_after_password_set_is_not_called
40
+ ldaper = Ldaper.new
41
+ assert ldaper.save
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,16 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class AuthenticatesManyTest < ActiveSupport::TestCase
4
+ def test_scoping
5
+ zack = users(:zack)
6
+ ben = users(:ben)
7
+ binary_logic = companies(:binary_logic)
8
+ set_session_for(zack)
9
+
10
+ assert !binary_logic.user_sessions.find
11
+
12
+ set_session_for(ben)
13
+
14
+ assert binary_logic.user_sessions.find
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module CryptoProviderTest
4
+ class AES256Test < ActiveSupport::TestCase
5
+ def test_encrypt
6
+ assert Authlogic::CryptoProviders::AES256.encrypt("mypass")
7
+ end
8
+
9
+ def test_matches
10
+ hash = Authlogic::CryptoProviders::AES256.encrypt("mypass")
11
+ assert Authlogic::CryptoProviders::AES256.matches?(hash, "mypass")
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module CryptoProviderTest
4
+ class BCrpytTest < ActiveSupport::TestCase
5
+ def test_encrypt
6
+ assert Authlogic::CryptoProviders::BCrypt.encrypt("mypass")
7
+ end
8
+
9
+ def test_matches
10
+ hash = Authlogic::CryptoProviders::BCrypt.encrypt("mypass")
11
+ assert Authlogic::CryptoProviders::BCrypt.matches?(hash, "mypass")
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module CryptoProviderTest
4
+ class Sha1Test < ActiveSupport::TestCase
5
+ def test_encrypt
6
+ assert Authlogic::CryptoProviders::Sha1.encrypt("mypass")
7
+ end
8
+
9
+ def test_matches
10
+ hash = Authlogic::CryptoProviders::Sha1.encrypt("mypass")
11
+ assert Authlogic::CryptoProviders::Sha1.matches?(hash, "mypass")
12
+ end
13
+
14
+ def test_old_restful_authentication_passwords
15
+ password = "test"
16
+ salt = "7e3041ebc2fc05a40c60028e2c4901a81035d3cd"
17
+ digest = "00742970dc9e6319f8019fd54864d3ea740f04b1"
18
+ Authlogic::CryptoProviders::Sha1.stretches = 1
19
+ assert Authlogic::CryptoProviders::Sha1.matches?(digest, nil, salt, password, nil)
20
+ Authlogic::CryptoProviders::Sha1.stretches = 10
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module CryptoProviderTest
4
+ class Sha256Test < ActiveSupport::TestCase
5
+ def test_encrypt
6
+ assert Authlogic::CryptoProviders::Sha256.encrypt("mypass")
7
+ end
8
+
9
+ def test_matches
10
+ hash = Authlogic::CryptoProviders::Sha256.encrypt("mypass")
11
+ assert Authlogic::CryptoProviders::Sha256.matches?(hash, "mypass")
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ module CryptoProviderTest
4
+ class Sha512Test < ActiveSupport::TestCase
5
+ def test_encrypt
6
+ assert Authlogic::CryptoProviders::Sha512.encrypt("mypass")
7
+ end
8
+
9
+ def test_matches
10
+ hash = Authlogic::CryptoProviders::Sha512.encrypt("mypass")
11
+ assert Authlogic::CryptoProviders::Sha512.matches?(hash, "mypass")
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,5 @@
1
+ binary_logic:
2
+ name: Binary Logic
3
+
4
+ logic_over_data:
5
+ name: Logic Over Data
@@ -0,0 +1,17 @@
1
+ drew:
2
+ company: binary_logic
3
+ email: dgainor@binarylogic.com
4
+ password_salt: <%= salt = Authlogic::Random.hex_token %>
5
+ crypted_password: '<%= Employee.crypto_provider.encrypt("drewrocks" + salt) %>'
6
+ persistence_token: 5273d85ed156e9dbd6a7c1438d319ef8c8d41dd24368db6c222de11346c7b11e53ee08d45ecf619b1c1dc91233d22b372482b751b066d0a6f6f9bac42eacaabf
7
+ first_name: Drew
8
+ last_name: Gainor
9
+
10
+ jennifer:
11
+ company: logic_over_data
12
+ email: jjohnson@logicoverdata.com
13
+ password_salt: <%= salt = Authlogic::Random.hex_token %>
14
+ crypted_password: '<%= Employee.crypto_provider.encrypt("jenniferocks" + salt) %>'
15
+ persistence_token: 2be52a8f741ad00056e6f94eb6844d5316527206da7a3a5e3d0e14d19499ef9fe4c47c89b87febb59a2b41a69edfb4733b6b79302040f3de83f297c6991c75a2
16
+ first_name: Jennifer
17
+ last_name: Johnson