diff options
author | Joshua Peek <josh@joshpeek.com> | 2010-01-04 19:34:42 -0600 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2010-01-04 19:40:16 -0600 |
commit | 56b28ec8d6b226414fb240d4d4f6f1bd25292dc9 (patch) | |
tree | 9fc21c7f9d1ac25bdbb02a2536f8cd9363c133f0 /railties/test/application | |
parent | 6591a10b1f6eccc91bc01ab708050884058e9665 (diff) | |
download | rails-56b28ec8d6b226414fb240d4d4f6f1bd25292dc9.tar.gz rails-56b28ec8d6b226414fb240d4d4f6f1bd25292dc9.tar.bz2 rails-56b28ec8d6b226414fb240d4d4f6f1bd25292dc9.zip |
Middleware configuration tests
Diffstat (limited to 'railties/test/application')
-rw-r--r-- | railties/test/application/middleware_test.rb | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/railties/test/application/middleware_test.rb b/railties/test/application/middleware_test.rb new file mode 100644 index 0000000000..1b9c8c30fc --- /dev/null +++ b/railties/test/application/middleware_test.rb @@ -0,0 +1,67 @@ +require 'isolation/abstract_unit' + +module ApplicationTests + class MiddlewareTest < Test::Unit::TestCase + include ActiveSupport::Testing::Isolation + + def setup + build_app + boot_rails + FileUtils.rm_rf "#{app_path}/config/environments" + end + + test "default middleware stack" do + boot! + + assert_equal [ + "ActionDispatch::Static", + "Rack::Lock", + "Rack::Runtime", + "ActionDispatch::ShowExceptions", + "ActionDispatch::Callbacks", + "ActionDispatch::Session::CookieStore", + "ActionDispatch::ParamsParser", + "Rack::MethodOverride", + "Rack::Head", + "ActionDispatch::StringCoercion", + "ActiveRecord::ConnectionAdapters::ConnectionManagement", + "ActiveRecord::QueryCache" + ], middleware + end + + test "removing activerecord omits its middleware" do + use_frameworks [] + boot! + assert !middleware.include?("ActiveRecord::ConnectionAdapters::ConnectionManagement") + assert !middleware.include?("ActiveRecord::QueryCache") + end + + test "removes lock if allow concurrency is set" do + add_to_config "config.action_controller.allow_concurrency = true" + boot! + assert !middleware.include?("Rack::Lock") + end + + test "removes static asset server if serve_static_assets is disabled" do + add_to_config "config.serve_static_assets = false" + boot! + assert !middleware.include?("ActionDispatch::Static") + end + + test "use middleware" do + use_frameworks [] + add_to_config "config.middleware.use Rack::Config" + boot! + assert_equal "Rack::Config", middleware.last + end + + private + def boot! + require "#{app_path}/config/environment" + end + + def middleware + AppTemplate::Application.instance.middleware.active.map(&:klass).map(&:name) + end + end +end |