提交 68ca5495 编写于 作者: C Carlos Antonio da Silva

Merge pull request #7568 from alup/master

Tests for session handling
...@@ -52,6 +52,15 @@ def test_values ...@@ -52,6 +52,15 @@ def test_values
assert_equal %w[ftw awesome], s.values assert_equal %w[ftw awesome], s.values
end end
def test_clear
env = {}
s = Session.create(store, env, {})
s['rails'] = 'ftw'
s['adequate'] = 'awesome'
s.clear
assert_equal([], s.values)
end
private private
def store def store
Class.new { Class.new {
......
...@@ -30,6 +30,11 @@ def get_session_id ...@@ -30,6 +30,11 @@ def get_session_id
render :text => "id: #{request.session_options[:id]}" render :text => "id: #{request.session_options[:id]}"
end end
def get_class_after_reset_session
reset_session
render :text => "class: #{session.class}"
end
def call_session_clear def call_session_clear
session.clear session.clear
head :ok head :ok
...@@ -187,6 +192,7 @@ def test_setting_session_value_after_session_reset ...@@ -187,6 +192,7 @@ def test_setting_session_value_after_session_reset
get '/call_reset_session' get '/call_reset_session'
assert_response :success assert_response :success
assert_not_equal [], headers['Set-Cookie'] assert_not_equal [], headers['Set-Cookie']
assert_not_nil session_payload
assert_not_equal session_payload, cookies[SessionKey] assert_not_equal session_payload, cookies[SessionKey]
get '/get_session_value' get '/get_session_value'
...@@ -195,6 +201,20 @@ def test_setting_session_value_after_session_reset ...@@ -195,6 +201,20 @@ def test_setting_session_value_after_session_reset
end end
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 def test_getting_from_nonexistent_session
with_test_route_set do with_test_route_set do
get '/get_session_value' get '/get_session_value'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册