@@ -34,7 +34,7 class Token < ActiveRecord::Base | |||||
34 |
|
34 | |||
35 | # Delete all expired tokens |
|
35 | # Delete all expired tokens | |
36 | def self.destroy_expired |
|
36 | def self.destroy_expired | |
37 |
Token.delete_all ["action |
|
37 | Token.delete_all ["action NOT IN (?) AND created_on < ?", ['feeds', 'api'], Time.now - @@validity_time] | |
38 | end |
|
38 | end | |
39 |
|
39 | |||
40 | private |
|
40 | private |
@@ -35,4 +35,27 class TokenTest < ActiveSupport::TestCase | |||||
35 | assert !Token.exists?(t1.id) |
|
35 | assert !Token.exists?(t1.id) | |
36 | assert Token.exists?(t2.id) |
|
36 | assert Token.exists?(t2.id) | |
37 | end |
|
37 | end | |
|
38 | ||||
|
39 | def test_destroy_expired_should_not_destroy_feeds_and_api_tokens | |||
|
40 | Token.delete_all | |||
|
41 | ||||
|
42 | Token.create!(:user_id => 1, :action => 'api', :created_on => 7.days.ago) | |||
|
43 | Token.create!(:user_id => 1, :action => 'feeds', :created_on => 7.days.ago) | |||
|
44 | ||||
|
45 | assert_no_difference 'Token.count' do | |||
|
46 | assert_equal 0, Token.destroy_expired | |||
|
47 | end | |||
|
48 | end | |||
|
49 | ||||
|
50 | def test_destroy_expired_should_destroy_expired_tokens | |||
|
51 | Token.delete_all | |||
|
52 | ||||
|
53 | Token.create!(:user_id => 1, :action => 'autologin', :created_on => 7.days.ago) | |||
|
54 | Token.create!(:user_id => 2, :action => 'autologin', :created_on => 3.days.ago) | |||
|
55 | Token.create!(:user_id => 3, :action => 'autologin', :created_on => 1.hour.ago) | |||
|
56 | ||||
|
57 | assert_difference 'Token.count', -2 do | |||
|
58 | assert_equal 2, Token.destroy_expired | |||
|
59 | end | |||
|
60 | end | |||
38 | end |
|
61 | end |
General Comments 0
You need to be logged in to leave comments.
Login now