2010-01-23 21:38:52 -05:00
|
|
|
require 'test/test_helper'
|
|
|
|
|
|
|
|
class TokenAuthenticatableTest < ActiveSupport::TestCase
|
|
|
|
|
|
|
|
test 'should generate friendly authentication token on create' do
|
|
|
|
User.expects(:authentication_token).returns(VALID_AUTHENTICATION_TOKEN)
|
|
|
|
user = create_user
|
|
|
|
assert_present user.authentication_token
|
|
|
|
assert_equal VALID_AUTHENTICATION_TOKEN, user.authentication_token
|
|
|
|
end
|
|
|
|
|
|
|
|
test 'should reset authentication token' do
|
|
|
|
user = new_user
|
2010-02-02 07:21:00 -05:00
|
|
|
user.reset_authentication_token
|
2010-01-23 21:38:52 -05:00
|
|
|
previous_token = user.authentication_token
|
2010-02-02 07:21:00 -05:00
|
|
|
user.reset_authentication_token
|
2010-01-23 21:38:52 -05:00
|
|
|
assert_not_equal previous_token, user.authentication_token
|
|
|
|
end
|
|
|
|
|
2010-02-02 07:21:00 -05:00
|
|
|
test 'should ensure authentication token' do
|
|
|
|
user = new_user
|
|
|
|
user.ensure_authentication_token
|
|
|
|
previous_token = user.authentication_token
|
|
|
|
user.ensure_authentication_token
|
|
|
|
assert_equal previous_token, user.authentication_token
|
|
|
|
end
|
|
|
|
|
2010-01-23 21:38:52 -05:00
|
|
|
test 'should test for a valid authentication token' do
|
|
|
|
User.expects(:authentication_token).returns(VALID_AUTHENTICATION_TOKEN)
|
|
|
|
user = create_user
|
|
|
|
assert user.valid_authentication_token?(VALID_AUTHENTICATION_TOKEN)
|
|
|
|
assert_not user.valid_authentication_token?(VALID_AUTHENTICATION_TOKEN.reverse)
|
|
|
|
end
|
|
|
|
|
|
|
|
test 'should authenticate a valid user with authentication token and return it' do
|
|
|
|
User.expects(:authentication_token).returns(VALID_AUTHENTICATION_TOKEN)
|
|
|
|
user = create_user
|
2010-02-02 07:21:00 -05:00
|
|
|
user.confirm!
|
2010-01-23 21:38:52 -05:00
|
|
|
authenticated_user = User.authenticate_with_token(:auth_token => user.authentication_token)
|
|
|
|
assert_equal authenticated_user, user
|
|
|
|
end
|
|
|
|
|
|
|
|
test 'should return nil when authenticating an invalid user by authentication token' do
|
|
|
|
User.expects(:authentication_token).returns(VALID_AUTHENTICATION_TOKEN)
|
|
|
|
user = create_user
|
2010-02-02 07:21:00 -05:00
|
|
|
user.confirm!
|
2010-01-23 21:38:52 -05:00
|
|
|
authenticated_user = User.authenticate_with_token(:auth_token => user.authentication_token.reverse)
|
|
|
|
assert_nil authenticated_user
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|