Sha256: 6bb51b84c9d823579a556fde4f8a017c653a1de8000525de05e3998c2c794758

Contents?: true

Size: 1.63 KB

Versions: 2

Compression:

Stored size: 1.63 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe ApplicationController do
  
  # ----------------- SESSION TIMEOUT -----------------------
  describe ApplicationController, "with session timeout features" do
    before(:all) do
      sorcery_reload!([:session_timeout])
      sorcery_controller_property_set(:session_timeout,0.5)
      create_new_user
    end
    
    it "should not reset session before session timeout" do
      login_user
      get :test_should_be_logged_in
      session[:user_id].should_not be_nil
      response.should be_a_success
    end
    
    it "should reset session after session timeout" do
      login_user
      sleep 0.6
      get :test_should_be_logged_in
      session[:user_id].should be_nil
      response.should be_a_redirect
    end
    
    it "with 'session_timeout_from_last_action' should not logout if there was activity" do
      sorcery_controller_property_set(:session_timeout_from_last_action, true)
      get :test_login, :username => 'gizmo', :password => 'secret'
      sleep 0.3
      get :test_should_be_logged_in
      session[:user_id].should_not be_nil
      sleep 0.3
      get :test_should_be_logged_in
      session[:user_id].should_not be_nil
      response.should be_a_success
    end
    
    it "with 'session_timeout_from_last_action' should logout if there was no activity" do
      sorcery_controller_property_set(:session_timeout_from_last_action, true)
      get :test_login, :username => 'gizmo', :password => 'secret'
      sleep 0.6
      get :test_should_be_logged_in
      session[:user_id].should be_nil
      response.should be_a_redirect
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sorcery-0.3.1 spec/rails3/app_root/spec/controller_session_timeout_spec.rb
sorcery-0.3.0 spec/rails3/app_root/spec/controller_session_timeout_spec.rb