diff options
| -rw-r--r-- | users/app/models/token.rb | 3 | ||||
| -rw-r--r-- | users/test/factories.rb | 4 | ||||
| -rw-r--r-- | users/test/unit/token_test.rb | 18 | 
3 files changed, 15 insertions, 10 deletions
| diff --git a/users/app/models/token.rb b/users/app/models/token.rb index bf9b0d0..001eb40 100644 --- a/users/app/models/token.rb +++ b/users/app/models/token.rb @@ -20,7 +20,8 @@ class Token < CouchRest::Model::Base    end    def self.expired -    self.by_last_seen_at.endkey(expires_after.minutes.ago) +    return [] unless expires_after +    by_last_seen_at.endkey(expires_after.minutes.ago)    end    def self.destroy_all_expired diff --git a/users/test/factories.rb b/users/test/factories.rb index c87e290..f5fb77d 100644 --- a/users/test/factories.rb +++ b/users/test/factories.rb @@ -19,6 +19,8 @@ FactoryGirl.define do      end    end -  factory :token +  factory :token do +    user +  end  end diff --git a/users/test/unit/token_test.rb b/users/test/unit/token_test.rb index 445a20c..6c9f209 100644 --- a/users/test/unit/token_test.rb +++ b/users/test/unit/token_test.rb @@ -7,9 +7,6 @@ class ClientCertificateTest < ActiveSupport::TestCase      @user = find_record :user    end -  teardown do -  end -    test "new token for user" do      sample = Token.new(:user_id => @user.id)      assert sample.valid? @@ -61,12 +58,17 @@ class ClientCertificateTest < ActiveSupport::TestCase      end    end +  test "Token.destroy_all_expired is noop if no expiry is set" do +    expired = FactoryGirl.create :token, last_seen_at: 2.hours.ago +    with_config auth: {} do +      Token.destroy_all_expired +    end +    assert_equal expired, Token.find(expired.id) +  end +    test "Token.destroy_all_expired cleans up expired tokens only" do -    expired = Token.new(user_id: @user.id) -    expired.last_seen_at = 2.hours.ago -    expired.save -    fresh = Token.new(user_id: @user.id) -    fresh.save +    expired = FactoryGirl.create :token, last_seen_at: 2.hours.ago +    fresh = FactoryGirl.create :token      with_config auth: {token_expires_after: 60} do        Token.destroy_all_expired      end | 
