test/unit/rack_handler_test.rb in m2r-2.0.1 vs test/unit/rack_handler_test.rb in m2r-2.0.2

- old
+ new

@@ -1,15 +1,25 @@ require 'test_helper' require 'm2r/rack_handler' require 'm2r/connection_factory' +require 'tempfile' class HelloWorld def call(env) return [200, {'Content-Type' => 'text/plain'}, ["Hello world!"]] end end +class HelloWorldFile + def call(env) + Thread.current[:tempfile] = t = Tempfile.new("asd") + t << "Hello world!\n" + t.rewind + return [201, {'Content-Type' => 'text/plain'}, t] + end +end + module M2R class ConnectionFactory class Custom def initialize(*) end @@ -46,10 +56,20 @@ assert_equal "Hello world!", response.body assert_equal 200, response.status end + def test_file_closed + factory = stub(:connection) + handler = RackHandler.new(file_app, factory, Request) + response = handler.process(root_request) + + assert_equal "Hello world!\n", response.body + assert_equal 201, response.status + assert Thread.current[:tempfile].closed? + end + def test_custom_connection_factory require 'rack/handler/mongrel2' handler = ::Rack::Handler::Mongrel2 options = { 'connection_factory' => 'custom' @@ -69,8 +89,12 @@ Request.parse(data) end def app Rack::Lint.new(HelloWorld.new) + end + + def file_app + Rack::Lint.new(HelloWorldFile.new) end end end