Sha256: ff0884d0174ed8a5e78a389f57efd00f3eb4ebf051b7fd3bcca05ef45b36bc44

Contents?: true

Size: 1.28 KB

Versions: 4

Compression:

Stored size: 1.28 KB

Contents

require File.dirname(__FILE__) + '/../../spec_helper'
require 'logger'
require 'low/scoped_logger'
require 'low/rack/request_logger'

describe Low::Rack::RequestLogger do

  it 'should set rack.logger to an instance of `Low::ScopedLogger` with scope set to \'request_id\'
      and level set to \'low.log_level\'' do
    app = lambda do |env|
      [200, {'Content-Type' => 'text/plain'}, env['rack.logger']]
    end
    rack = Low::Rack::RequestLogger.new app
    response = rack.call({'request_id' => 'abc123', 'low.log_level' => Logger::FATAL})
    logger = response[2]
    logger.should be_a(Low::ScopedLogger)
    logger.scope.should == 'abc123'
    logger.level.should == Logger::FATAL
  end

  it 'should ensure rack.logger has a level even if \'low.log_level\' is not set' do
    app = lambda do |env|
      [200, {'Content-Type' => 'text/plain'}, env['rack.logger']]
    end
    rack = Low::Rack::RequestLogger.new app
    response = rack.call({})
    response[2].level.should_not be_nil
  end

  it 'should set the specified logger key' do
    app = lambda do |env|
      [200, {'Content-Type' => 'text/plain'}, env['another.logger']]
    end
    rack = Low::Rack::RequestLogger.new app, key: 'another.logger'
    response = rack.call({})
    response[2].should be_a(Low::ScopedLogger)
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
low-0.0.18 spec/low/rack/request_logger_spec.rb
low-0.0.17 spec/low/rack/request_logger_spec.rb
low-0.0.16 spec/low/rack/request_logger_spec.rb
low-0.0.15 spec/low/rack/request_logger_spec.rb