photomix/vendor/plugins/authlogic/test/acts_as_authentic_test/persistence_token_test.rb
2011-04-11 18:07:31 +08:00

55 lines
1.7 KiB
Ruby

require 'test_helper'
module ActsAsAuthenticTest
class PersistenceTokenTest < ActiveSupport::TestCase
def test_after_password_set_reset_persistence_token
ben = users(:ben)
old_persistence_token = ben.persistence_token
ben.password = "newpass"
assert_not_equal old_persistence_token, ben.persistence_token
end
def test_after_password_verification_reset_persistence_token
ben = users(:ben)
old_persistence_token = ben.persistence_token
assert ben.valid_password?(password_for(ben))
assert_equal old_persistence_token, ben.persistence_token
# only update it if it is nil
assert ben.update_attribute(:persistence_token, nil)
assert ben.valid_password?(password_for(ben))
assert_not_equal old_persistence_token, ben.persistence_token
end
def test_before_validate_reset_persistence_token
u = User.new
assert !u.valid?
assert_not_nil u.persistence_token
end
def test_forget_all
http_basic_auth_for(users(:ben)) { UserSession.find }
http_basic_auth_for(users(:zack)) { UserSession.find(:ziggity_zack) }
assert UserSession.find
assert UserSession.find(:ziggity_zack)
User.forget_all
assert !UserSession.find
assert !UserSession.find(:ziggity_zack)
end
def test_forget
ben = users(:ben)
zack = users(:zack)
http_basic_auth_for(ben) { UserSession.find }
http_basic_auth_for(zack) { UserSession.find(:ziggity_zack) }
assert ben.reload.logged_in?
assert zack.reload.logged_in?
ben.forget!
assert !UserSession.find
assert UserSession.find(:ziggity_zack)
end
end
end