Skip to content

Commit

Permalink
Add custom "with_routing" to internal tests to fix reseting session a…
Browse files Browse the repository at this point in the history
…fter using

with_routing. This only affects our internal AP tests.
  • Loading branch information
josh committed Oct 4, 2009
1 parent 89630a7 commit 84e9455
Show file tree
Hide file tree
Showing 14 changed files with 30 additions and 20 deletions.
33 changes: 27 additions & 6 deletions actionpack/test/abstract_unit.rb
Expand Up @@ -53,12 +53,33 @@
FIXTURE_LOAD_PATH = File.join(File.dirname(__FILE__), 'fixtures') FIXTURE_LOAD_PATH = File.join(File.dirname(__FILE__), 'fixtures')


class ActionController::IntegrationTest < ActiveSupport::TestCase class ActionController::IntegrationTest < ActiveSupport::TestCase
@@app = ActionDispatch::MiddlewareStack.new { |middleware| def self.build_app(routes = nil)
middleware.use "ActionDispatch::ShowExceptions" ActionDispatch::MiddlewareStack.new { |middleware|
middleware.use "ActionDispatch::Callbacks" middleware.use "ActionDispatch::ShowExceptions"
middleware.use "ActionDispatch::ParamsParser" middleware.use "ActionDispatch::Callbacks"
middleware.use "Rack::Head" middleware.use "ActionDispatch::ParamsParser"
}.build(ActionController::Routing::Routes) middleware.use "Rack::Head"
}.build(routes || ActionController::Routing::Routes)
end

self.app = build_app

def with_routing(&block)
real_routes = ActionController::Routing::Routes
ActionController::Routing.module_eval { remove_const :Routes }

temporary_routes = ActionController::Routing::RouteSet.new
self.class.app = self.class.build_app(temporary_routes)
ActionController::Routing.module_eval { const_set :Routes, temporary_routes }

yield temporary_routes
ensure
if ActionController::Routing.const_defined? :Routes
ActionController::Routing.module_eval { remove_const :Routes }
end
ActionController::Routing.const_set(:Routes, real_routes) if real_routes
self.class.app = self.class.build_app
end
end end


module ActionView module ActionView
Expand Down
1 change: 0 additions & 1 deletion actionpack/test/activerecord/active_record_store_test.rb
Expand Up @@ -158,7 +158,6 @@ def with_test_route_set(options = {})
map.connect "/:action", :controller => "active_record_store_test/test" map.connect "/:action", :controller => "active_record_store_test/test"
end end
@app = ActiveRecord::SessionStore.new(set, options.reverse_merge(:key => '_session_id')) @app = ActiveRecord::SessionStore.new(set, options.reverse_merge(:key => '_session_id'))
reset!
yield yield
end end
end end
Expand Down
5 changes: 1 addition & 4 deletions actionpack/test/controller/integration_test.rb
Expand Up @@ -372,11 +372,8 @@ def test_generate_url_with_controller
def with_test_route_set def with_test_route_set
with_routing do |set| with_routing do |set|
set.draw do |map| set.draw do |map|
map.with_options :controller => "IntegrationProcessTest::Integration" do |c| map.connect "/:action", :controller => "integration_process_test/integration"
c.connect "/:action"
end
end end
reset!
yield yield
end end
end end
Expand Down
1 change: 0 additions & 1 deletion actionpack/test/controller/rescue_test.rb
Expand Up @@ -347,7 +347,6 @@ def with_test_routing
map.connect 'invalid', :controller => "rescue_test/test", :action => 'invalid' map.connect 'invalid', :controller => "rescue_test/test", :action => 'invalid'
map.connect 'b00m', :controller => "rescue_test/test", :action => 'b00m' map.connect 'b00m', :controller => "rescue_test/test", :action => 'b00m'
end end
reset!
yield yield
end end
end end
Expand Down
1 change: 0 additions & 1 deletion actionpack/test/controller/webservice_test.rb
Expand Up @@ -259,7 +259,6 @@ def with_test_route_set
c.connect "/", :action => "assign_parameters" c.connect "/", :action => "assign_parameters"
end end
end end
reset!
yield yield
end end
end end
Expand Down
Expand Up @@ -59,7 +59,6 @@ def with_test_routing
set.draw do |map| set.draw do |map|
map.connect ':action', :controller => "json_params_parsing_test/test" map.connect ':action', :controller => "json_params_parsing_test/test"
end end
reset!
yield yield
end end
end end
Expand Down
Expand Up @@ -153,7 +153,6 @@ def with_test_routing
set.draw do |map| set.draw do |map|
map.connect ':action', :controller => "multipart_params_parsing_test/test" map.connect ':action', :controller => "multipart_params_parsing_test/test"
end end
reset!
yield yield
end end
end end
Expand Down
Expand Up @@ -111,7 +111,6 @@ def assert_parses(expected, actual)
set.draw do |map| set.draw do |map|
map.connect ':action', :controller => "query_string_parsing_test/test" map.connect ':action', :controller => "query_string_parsing_test/test"
end end
reset!


get "/parse", actual get "/parse", actual
assert_response :ok assert_response :ok
Expand Down
Expand Up @@ -132,7 +132,6 @@ def with_test_routing
set.draw do |map| set.draw do |map|
map.connect ':action', :controller => "url_encoded_params_parsing_test/test" map.connect ':action', :controller => "url_encoded_params_parsing_test/test"
end end
reset!
yield yield
end end
end end
Expand Down
Expand Up @@ -86,7 +86,6 @@ def with_test_routing
set.draw do |map| set.draw do |map|
map.connect ':action', :controller => "xml_params_parsing_test/test" map.connect ':action', :controller => "xml_params_parsing_test/test"
end end
reset!
yield yield
end end
end end
Expand Down
1 change: 0 additions & 1 deletion actionpack/test/dispatch/session/cookie_store_test.rb
Expand Up @@ -223,7 +223,6 @@ def with_test_route_set(options = {})
end end
options = {:key => SessionKey, :secret => SessionSecret}.merge(options) options = {:key => SessionKey, :secret => SessionSecret}.merge(options)
@app = ActionDispatch::Session::CookieStore.new(set, options) @app = ActionDispatch::Session::CookieStore.new(set, options)
reset!
yield yield
end end
end end
Expand Down
1 change: 0 additions & 1 deletion actionpack/test/dispatch/session/mem_cache_store_test.rb
Expand Up @@ -115,7 +115,6 @@ def with_test_route_set
map.connect "/:action", :controller => "mem_cache_store_test/test" map.connect "/:action", :controller => "mem_cache_store_test/test"
end end
@app = ActionDispatch::Session::MemCacheStore.new(set, :key => '_session_id') @app = ActionDispatch::Session::MemCacheStore.new(set, :key => '_session_id')
reset!
yield yield
end end
end end
Expand Down
1 change: 1 addition & 0 deletions actionpack/test/lib/controller/fake_controllers.rb
Expand Up @@ -18,6 +18,7 @@ class HiController < ActionController::Base; end
class BraveController < ActionController::Base; end class BraveController < ActionController::Base; end
class ImageController < ActionController::Base; end class ImageController < ActionController::Base; end
class WeblogController < ActionController::Base; end class WeblogController < ActionController::Base; end
class BarController < ActionController::Base; end


# For speed test # For speed test
class SpeedController < ActionController::Base; end class SpeedController < ActionController::Base; end
Expand Down
1 change: 1 addition & 0 deletions actionpack/test/view/test_case_test.rb
@@ -1,4 +1,5 @@
require 'abstract_unit' require 'abstract_unit'
require 'controller/fake_controllers'


module ActionView module ActionView
class TestCase class TestCase
Expand Down

0 comments on commit 84e9455

Please sign in to comment.