Sha256: aed2864df0b3a6e5edfe47836bb733755cb93c9277bf86e5b0ee312d131f89c8

Contents?: true

Size: 1.39 KB

Versions: 3

Compression:

Stored size: 1.39 KB

Contents

require File.dirname(__FILE__) + '/../test_helper.rb'

module SessionTests
  class TimeoutTest < ActiveSupport::TestCase
    def test_after_find
      ben = users(:ben)
      set_session_for(ben)
      session = UserSession.find
      assert session
      assert !session.record.last_request_at.nil?
      
      UserSession.last_request_at_threshold = 2.seconds
      assert_equal 2.seconds, UserSession.last_request_at_threshold

      assert UserSession.find
      last_request_at = ben.reload.last_request_at
      sleep(0.5)
      assert UserSession.find
      assert_equal last_request_at, ben.reload.last_request_at
      sleep(2)
      assert UserSession.find
      assert_not_equal last_request_at, ben.reload.last_request_at

      UserSession.last_request_at_threshold 0
      assert_equal 0, UserSession.last_request_at_threshold
    end
    
    def test_after_save
      ben = users(:ben)
      session = UserSession.new(ben)
      assert session.save
      assert !session.record.last_request_at.nil?
      assert !session.stale?
    end
    
    def test_stale
      UserSession.logout_on_timeout = true
      ben = users(:ben)
      ben.update_attribute(:last_request_at, Time.now)
      set_session_for(ben)
      session = UserSession.find
      assert !session.stale?
      session.record.last_request_at = 3.years.ago
      assert session.stale?
      UserSession.logout_on_timeout = false
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
authlogic-1.3.9 test/session_tests/timeout_test.rb
authlogic-1.4.0 test/session_tests/timeout_test.rb
authlogic-1.4.1 test/session_tests/timeout_test.rb