Sha256: 886044ab105568c4cceccdec8f8f7bd2449c431b2143715b5e352283b6f07289

Contents?: true

Size: 1.38 KB

Versions: 14

Compression:

Stored size: 1.38 KB

Contents

require 'abstract_unit'

# You need to start a memcached server inorder to run these tests
class AbstractStoreTest < ActionController::IntegrationTest
  SessionKey = '_myapp_session'
  DispatcherApp = ActionController::Dispatcher.new

  class TestController < ActionController::Base
    def get_session
      session[:test] = 'test'
      head :ok
    end
  end

  def test_expiry_after
    with_test_route_set(:expire_after => 5 * 60) do
      get 'get_session'
      assert_response :success
      assert_match /expires=\S+/, headers['Set-Cookie']
    end
  end

protected

  def with_test_route_set(options = {})
    with_routing do |set|
      set.draw do |map|
        map.with_options :controller => "abstract_store_test/test" do |c|
          c.connect "/:action"
        end
      end

      options = { :key => SessionKey, :secret => 'SessionSecret' }.merge!(options)
      @integration_session = open_session(TestStore.new(DispatcherApp, options))

      yield
    end
  end

  class TestStore < ActionController::Session::AbstractStore
    def initialize(app, options = {})
      super
      @_store = Hash.new({})
    end

  private

    def get_session(env, sid)
      sid ||= generate_sid
      session = @_store[sid]
      [sid, session]
    end

    def set_session(env, sid, session_data)
      @_store[sid] = session_data
    end

    def destroy(env)
      @_store.delete(sid)
    end
  end

end

Version data entries

14 entries across 14 versions & 6 rubygems

Version Path
actionpack-2.3.18 test/controller/session/abstract_store_test.rb
actionpack-2.3.17-rack-upgrade-2.3.17 test/controller/session/abstract_store_test.rb
actionpack-2.3.17 test/controller/session/abstract_store_test.rb
actionpack-2.3.16 test/controller/session/abstract_store_test.rb
actionpack-rack-upgrade-2-2.3.16 test/controller/session/abstract_store_test.rb
actionpack-rack-upgrade-2-2.3.15 test/controller/session/abstract_store_test.rb
actionpack-2.3.15 test/controller/session/abstract_store_test.rb
actionpack-rack-upgrade-2.3.16 test/controller/session/abstract_store_test.rb
actionpack-rack-upgrade-2.3.15 test/controller/session/abstract_store_test.rb
actionpack-rack-upgrade-2.3.14 test/controller/session/abstract_store_test.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/actionpack-2.3.14/test/controller/session/abstract_store_test.rb
vanity-1.7.1 vendor/ruby/1.9.1/gems/actionpack-2.3.12/test/controller/session/abstract_store_test.rb
actionpack-2.3.14 test/controller/session/abstract_store_test.rb
actionpack-2.3.12 test/controller/session/abstract_store_test.rb