Sha256: 1cf3daada4222efe12af87bdf9c09640f0c08a5161f4c87b136445d12de9b36b
Contents?: true
Size: 1.67 KB
Versions: 2
Compression:
Stored size: 1.67 KB
Contents
require 'spec_helper' describe YogiBerra::ExceptionMiddleware do before(:each) do YogiBerra::Logger.stub(:log) load "#{SPEC_FOLDER}/fixtures/rails.rb" end it "should call the upstream app with the environment" do mock_mongo(:mongo_client_stub => true) mock_yogi_fork_database 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(:mongo_client_stub => true, :connection_stub => true) mock_yogi_fork_database 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(:mongo_client_stub => true, :connection_stub => true) mock_yogi_fork_database 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
yogi_berra-0.1.1 | spec/yogi_berra_exception_middleware_spec.rb |
yogi_berra-0.1.0 | spec/yogi_berra_exception_middleware_spec.rb |