diff options
| -rw-r--r-- | users/app/models/token.rb | 8 | ||||
| -rw-r--r-- | users/test/unit/token_test.rb | 8 | 
2 files changed, 15 insertions, 1 deletions
| diff --git a/users/app/models/token.rb b/users/app/models/token.rb index 001eb40..4856c31 100644 --- a/users/app/models/token.rb +++ b/users/app/models/token.rb @@ -40,6 +40,14 @@ class Token < CouchRest::Model::Base      end    end +  # Tokens can be cleaned up in different ways. +  # So let's make sure we don't crash if they disappeared +  def destroy_with_rescue +    destroy_without_rescue +  rescue RestClient::ResourceNotFound +  end +  alias_method_chain :destroy, :rescue +    def touch      self.last_seen_at = Time.now      save diff --git a/users/test/unit/token_test.rb b/users/test/unit/token_test.rb index 6c9f209..a3c6cf6 100644 --- a/users/test/unit/token_test.rb +++ b/users/test/unit/token_test.rb @@ -78,6 +78,12 @@ class ClientCertificateTest < ActiveSupport::TestCase    end - +  test "Token.destroy_all_expired does not interfere with expired.authenticate" do +    expired = FactoryGirl.create :token, last_seen_at: 2.hours.ago +    with_config auth: {token_expires_after: 60} do +      Token.destroy_all_expired +    end +    assert_nil expired.authenticate +  end  end | 
