-
Notifications
You must be signed in to change notification settings - Fork 638
/
persistence_token_test.rb
55 lines (46 loc) · 1.67 KB
/
persistence_token_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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