aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/session
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-02-06 23:15:39 -0600
committerJoshua Peek <josh@joshpeek.com>2009-02-06 23:16:58 -0600
commit43c09383cefbc3b62e9b124792fb0d0278689d2b (patch)
treec8e88d37bfb8e62194a1b3bbb1fc0f322ea65876 /actionpack/test/controller/session
parent78c6f48b26777a3725505d0cb3ec4af483bf9a95 (diff)
downloadrails-43c09383cefbc3b62e9b124792fb0d0278689d2b.tar.gz
rails-43c09383cefbc3b62e9b124792fb0d0278689d2b.tar.bz2
rails-43c09383cefbc3b62e9b124792fb0d0278689d2b.zip
Ensure session id is set in session options hash [#1880 state:resolved]
Diffstat (limited to 'actionpack/test/controller/session')
-rw-r--r--actionpack/test/controller/session/cookie_store_test.rb18
-rw-r--r--actionpack/test/controller/session/mem_cache_store_test.rb19
2 files changed, 36 insertions, 1 deletions
diff --git a/actionpack/test/controller/session/cookie_store_test.rb b/actionpack/test/controller/session/cookie_store_test.rb
index 95d2eb11c4..f00a80c1c2 100644
--- a/actionpack/test/controller/session/cookie_store_test.rb
+++ b/actionpack/test/controller/session/cookie_store_test.rb
@@ -30,6 +30,10 @@ class CookieStoreTest < ActionController::IntegrationTest
render :text => "foo: #{session[:foo].inspect}"
end
+ def get_session_id
+ render :text => "foo: #{session[:foo].inspect}; id: #{request.session_options[:id]}"
+ end
+
def call_reset_session
reset_session
head :ok
@@ -106,6 +110,20 @@ class CookieStoreTest < ActionController::IntegrationTest
end
end
+ def test_getting_session_id
+ with_test_route_set do
+ cookies[SessionKey] = SignedBar
+ get '/persistent_session_id'
+ assert_response :success
+ assert_equal response.body.size, 32
+ session_id = response.body
+
+ get '/get_session_id'
+ assert_response :success
+ assert_equal "foo: \"bar\"; id: #{session_id}", response.body
+ end
+ end
+
def test_disregards_tampered_sessions
with_test_route_set do
cookies[SessionKey] = "BAh7BjoIZm9vIghiYXI%3D--123456780"
diff --git a/actionpack/test/controller/session/mem_cache_store_test.rb b/actionpack/test/controller/session/mem_cache_store_test.rb
index eb896a344c..c3a6c8ce45 100644
--- a/actionpack/test/controller/session/mem_cache_store_test.rb
+++ b/actionpack/test/controller/session/mem_cache_store_test.rb
@@ -16,6 +16,10 @@ class MemCacheStoreTest < ActionController::IntegrationTest
render :text => "foo: #{session[:foo].inspect}"
end
+ def get_session_id
+ render :text => "foo: #{session[:foo].inspect}; id: #{request.session_options[:id]}"
+ end
+
def call_reset_session
reset_session
head :ok
@@ -50,7 +54,20 @@ class MemCacheStoreTest < ActionController::IntegrationTest
with_test_route_set do
get '/get_session_value'
assert_response :success
- assert_equal 'foo: nil', response.body
+ assert_equal 'foo: nil', response.body
+ end
+ end
+
+ def test_getting_session_id
+ with_test_route_set do
+ get '/set_session_value'
+ assert_response :success
+ assert cookies['_session_id']
+ session_id = cookies['_session_id']
+
+ get '/get_session_id'
+ assert_response :success
+ assert_equal "foo: \"bar\"; id: #{session_id}", response.body
end
end