From 207bad422b136211fb5d644e65e7a488ab4ac846 Mon Sep 17 00:00:00 2001 From: Andreas Loupasakis Date: Sat, 8 Sep 2012 00:57:01 +0300 Subject: Add test for clear in ActionDispatch::Request::Session --- actionpack/test/dispatch/request/session_test.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'actionpack') diff --git a/actionpack/test/dispatch/request/session_test.rb b/actionpack/test/dispatch/request/session_test.rb index 80d5a13171..3f36d4f1a9 100644 --- a/actionpack/test/dispatch/request/session_test.rb +++ b/actionpack/test/dispatch/request/session_test.rb @@ -52,6 +52,15 @@ module ActionDispatch assert_equal %w[ftw awesome], s.values end + def test_clear + env = {} + s = Session.create(store, env, {}) + s['rails'] = 'ftw' + s['adequate'] = 'awesome' + s.clear + assert_equal([], s.values) + end + private def store Class.new { -- cgit v1.2.3 From e282a0a3b7a6f27b71d1749daf8b3795ecec6f6e Mon Sep 17 00:00:00 2001 From: Andreas Loupasakis Date: Sat, 8 Sep 2012 02:00:28 +0300 Subject: Add integration tests for reset_session in cookie store --- .../test/dispatch/session/cookie_store_test.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'actionpack') diff --git a/actionpack/test/dispatch/session/cookie_store_test.rb b/actionpack/test/dispatch/session/cookie_store_test.rb index 631974d6c4..41fa036a92 100644 --- a/actionpack/test/dispatch/session/cookie_store_test.rb +++ b/actionpack/test/dispatch/session/cookie_store_test.rb @@ -30,6 +30,11 @@ class CookieStoreTest < ActionDispatch::IntegrationTest render :text => "id: #{request.session_options[:id]}" end + def get_class_after_reset_session + reset_session + render :text => "class: #{session.class}" + end + def call_session_clear session.clear head :ok @@ -187,6 +192,7 @@ class CookieStoreTest < ActionDispatch::IntegrationTest get '/call_reset_session' assert_response :success assert_not_equal [], headers['Set-Cookie'] + assert_not_nil session_payload assert_not_equal session_payload, cookies[SessionKey] get '/get_session_value' @@ -195,6 +201,20 @@ class CookieStoreTest < ActionDispatch::IntegrationTest end end + def test_class_type_after_session_reset + with_test_route_set do + get '/set_session_value' + assert_response :success + assert_equal "_myapp_session=#{response.body}; path=/; HttpOnly", + headers['Set-Cookie'] + + get '/get_class_after_reset_session' + assert_response :success + assert_not_equal [], headers['Set-Cookie'] + assert_equal 'class: ActionDispatch::Request::Session', response.body + end + end + def test_getting_from_nonexistent_session with_test_route_set do get '/get_session_value' -- cgit v1.2.3