photomix/vendor/plugins/authlogic/test/session_test/timeout_test.rb
2011-04-11 18:07:31 +08:00

52 lines
1.4 KiB
Ruby

require 'test_helper'
module SessionTest
module TimeoutTest
class ConfigTest < ActiveSupport::TestCase
def test_logout_on_timeout
UserSession.logout_on_timeout = true
assert UserSession.logout_on_timeout
UserSession.logout_on_timeout false
assert !UserSession.logout_on_timeout
end
end
class InstanceMethods < ActiveSupport::TestCase
def test_stale_state
UserSession.logout_on_timeout = true
ben = users(:ben)
ben.last_request_at = 3.years.ago
ben.save
set_session_for(ben)
session = UserSession.new
assert session.persisting?
assert session.stale?
assert_equal ben, session.stale_record
assert_nil session.record
assert_nil controller.session["user_credentials_id"]
set_session_for(ben)
ben.last_request_at = Time.now
ben.save
assert session.persisting?
assert !session.stale?
assert_nil session.stale_record
UserSession.logout_on_timeout = false
end
def test_successful_login
UserSession.logout_on_timeout = true
ben = users(:ben)
assert UserSession.create(:login => ben.login, :password => "benrocks")
assert session = UserSession.find
assert_equal ben, session.record
UserSession.logout_on_timeout = false
end
end
end
end