Sha256: 8248f62402e5f4e3f654241f834c6bd5f355fcc8b9ec182f36947499720c3b83
Contents?: true
Size: 1.46 KB
Versions: 5
Compression:
Stored size: 1.46 KB
Contents
require 'spec_helper' describe YogiBerra::ExceptionMiddleware do before(:each) do YogiBerra::Logger.stub(:log) end it "should call the upstream app with the environment" do mock_mongo_client(true) environment = { 'key' => 'value' } app = lambda { |env| ['response', {}, env] } stack = YogiBerra::ExceptionMiddleware.new(app) response = stack.call(environment) response[0].should == 'response' response[1].should == {} response[2].instance_variable_get("@response").should == { 'key' => 'value' } end it "deliver an exception raised while calling an upstream app" do mock_mongo_client(true, true) exception = build_exception environment = { 'key' => 'value' } app = lambda do |env| raise exception end begin stack = YogiBerra::ExceptionMiddleware.new(app) stack.call(environment) rescue Exception => raised raised.should == exception end end it "should deliver an exception in rack.exception" do mock_mongo_client(true, true) exception = build_exception environment = { 'key' => 'value' } response = [200, {}, ['okay']] app = lambda do |env| env['rack.exception'] = exception response end stack = YogiBerra::ExceptionMiddleware.new(app) actual_response = stack.call(environment) actual_response[0].should == 200 actual_response[1].should == {} actual_response[2].instance_variable_get("@response").should == ["okay"] end end
Version data entries
5 entries across 5 versions & 1 rubygems