62 lines
2.1 KiB
Ruby
62 lines
2.1 KiB
Ruby
require 'test_helper'
|
|
|
|
module SessionTest
|
|
module MagicColumnsTest
|
|
class ConfigTest < ActiveSupport::TestCase
|
|
def test_last_request_at_threshold_config
|
|
UserSession.last_request_at_threshold = 2.minutes
|
|
assert_equal 2.minutes, UserSession.last_request_at_threshold
|
|
|
|
UserSession.last_request_at_threshold 0
|
|
assert_equal 0, UserSession.last_request_at_threshold
|
|
end
|
|
end
|
|
|
|
class InstanceMethodsTest < ActiveSupport::TestCase
|
|
def test_after_persisting_set_last_request_at
|
|
ben = users(:ben)
|
|
assert !UserSession.create(ben).new_session?
|
|
|
|
set_cookie_for(ben)
|
|
old_last_request_at = ben.last_request_at
|
|
assert UserSession.find
|
|
ben.reload
|
|
assert ben.last_request_at != old_last_request_at
|
|
end
|
|
|
|
def test_valid_increase_failed_login_count
|
|
ben = users(:ben)
|
|
old_failed_login_count = ben.failed_login_count
|
|
assert UserSession.create(:login => ben.login, :password => "wrong").new_session?
|
|
ben.reload
|
|
assert_equal old_failed_login_count + 1, ben.failed_login_count
|
|
end
|
|
|
|
def test_before_save_update_info
|
|
ben = users(:ben)
|
|
|
|
# increase failed login count
|
|
assert UserSession.create(:login => ben.login, :password => "wrong").new_session?
|
|
ben.reload
|
|
|
|
# grab old values
|
|
old_login_count = ben.login_count
|
|
old_failed_login_count = ben.failed_login_count
|
|
old_last_login_at = ben.last_login_at
|
|
old_current_login_at = ben.current_login_at
|
|
old_last_login_ip = ben.last_login_ip
|
|
old_current_login_ip = ben.current_login_ip
|
|
|
|
assert !UserSession.create(:login => ben.login, :password => "benrocks").new_session?
|
|
|
|
ben.reload
|
|
assert_equal old_login_count + 1, ben.login_count
|
|
assert_equal 0, ben.failed_login_count
|
|
assert_equal old_current_login_at, ben.last_login_at
|
|
assert ben.current_login_at != old_current_login_at
|
|
assert_equal old_current_login_ip, ben.last_login_ip
|
|
assert_equal "1.1.1.1", ben.current_login_ip
|
|
end
|
|
end
|
|
end
|
|
end |