2014-12-28 17:24:10 -05:00
|
|
|
require 'cases/helper'
|
|
|
|
require 'models/user'
|
|
|
|
|
|
|
|
class SecureTokenTest < ActiveRecord::TestCase
|
|
|
|
setup do
|
|
|
|
@user = User.new
|
|
|
|
end
|
|
|
|
|
2015-01-05 09:41:53 -05:00
|
|
|
def test_token_values_are_generated_for_specified_attributes_and_persisted_on_save
|
2014-12-28 17:24:10 -05:00
|
|
|
@user.save
|
|
|
|
assert_not_nil @user.token
|
|
|
|
assert_not_nil @user.auth_token
|
|
|
|
end
|
|
|
|
|
2015-01-05 09:41:53 -05:00
|
|
|
def test_regenerating_the_secure_token
|
2014-12-28 17:24:10 -05:00
|
|
|
@user.save
|
|
|
|
old_token = @user.token
|
|
|
|
old_auth_token = @user.auth_token
|
|
|
|
@user.regenerate_token
|
|
|
|
@user.regenerate_auth_token
|
|
|
|
|
|
|
|
assert_not_equal @user.token, old_token
|
|
|
|
assert_not_equal @user.auth_token, old_auth_token
|
|
|
|
end
|
2015-02-12 16:05:43 -05:00
|
|
|
|
|
|
|
def test_token_value_not_overwritten_when_present
|
|
|
|
@user.token = "custom-secure-token"
|
|
|
|
@user.save
|
|
|
|
|
|
|
|
assert_equal @user.token, "custom-secure-token"
|
|
|
|
end
|
2015-07-10 11:32:18 -04:00
|
|
|
|
2016-01-09 17:33:57 -05:00
|
|
|
def test_failing_if_condition_does_not_set_token
|
2015-07-10 11:32:18 -04:00
|
|
|
@user.token_condition = false
|
|
|
|
@user.save
|
2016-01-09 17:33:57 -05:00
|
|
|
|
2015-07-10 11:32:18 -04:00
|
|
|
assert_nil @user.conditional_token
|
2016-01-09 17:33:57 -05:00
|
|
|
end
|
2015-07-10 11:32:18 -04:00
|
|
|
|
2016-01-09 17:33:57 -05:00
|
|
|
def test_passing_if_condition_sets_token
|
2015-07-10 11:32:18 -04:00
|
|
|
@user.token_condition = true
|
|
|
|
@user.save
|
2016-01-09 17:33:57 -05:00
|
|
|
|
2015-07-10 11:32:18 -04:00
|
|
|
assert_not_nil @user.conditional_token
|
|
|
|
end
|
2014-12-28 17:24:10 -05:00
|
|
|
end
|