Sha256: 3d1101a9a7c8fb7d4f1fbfc3b29e4fc7354add3ac76b9aeab4e7f93ae2f841bd
Contents?: true
Size: 1.98 KB
Versions: 1
Compression:
Stored size: 1.98 KB
Contents
require_relative "../spec_helper" require 'logger' describe "common_logger plugin" do def cl_app(&block) app(:common_logger, &block) @logger = StringIO.new @app.plugin :common_logger, @logger end it 'logs requests to given logger/stream' do cl_app(&:path_info) body.must_equal '/' @logger.rewind @logger.read.must_match /\A- - - \[\d\d\/[A-Z][a-z]{2}\/\d\d\d\d:\d\d:\d\d:\d\d [-+]\d\d\d\d\] "GET \/ " 200 1 0.\d\d\d\d\n\z/ @logger.rewind @logger.truncate(0) body('', 'HTTP_X_FORWARDED_FOR'=>'1.1.1.1', 'REMOTE_USER'=>'je', 'REQUEST_METHOD'=>'POST', 'QUERY_STRING'=>'', "HTTP_VERSION"=>'HTTP/1.1').must_equal '' @logger.rewind @logger.read.must_match /\A1\.1\.1\.1 - je \[\d\d\/[A-Z][a-z]{2}\/\d\d\d\d:\d\d:\d\d:\d\d [-+]\d\d\d\d\] "POST HTTP\/1.1" 200 - 0.\d\d\d\d\n\z/ @logger.rewind @logger.truncate(0) body('/b', 'REMOTE_ADDR'=>'1.1.1.2', 'QUERY_STRING'=>'foo=bar', "HTTP_VERSION"=>'HTTP/1.0').must_equal '/b' @logger.rewind @logger.read.must_match /\A1\.1\.1\.2 - - \[\d\d\/[A-Z][a-z]{2}\/\d\d\d\d:\d\d:\d\d:\d\d [-+]\d\d\d\d\] "GET \/b\?foo=bar HTTP\/1.0" 200 2 0.\d\d\d\d\n\z/ @app.plugin :common_logger, Logger.new(@logger) @logger.rewind @logger.truncate(0) body.must_equal '/' @logger.rewind @logger.read.must_match /\A- - - \[\d\d\/[A-Z][a-z]{2}\/\d\d\d\d:\d\d:\d\d:\d\d [-+]\d\d\d\d\] "GET \/ " 200 1 0.\d\d\d\d\n\z/ end it 'skips timer information if not available' do cl_app do |r| @_request_timer = nil r.path_info end body.must_equal '/' @logger.rewind @logger.read.must_match /\A- - - \[\d\d\/[A-Z][a-z]{2}\/\d\d\d\d:\d\d:\d\d:\d\d [-+]\d\d\d\d\] "GET \/ " 200 1 -\n\z/ end it 'skips length information if not available' do cl_app do |r| r.halt [500, {}, []] end body.must_equal '' @logger.rewind @logger.read.must_match /\A- - - \[\d\d\/[A-Z][a-z]{2}\/\d\d\d\d:\d\d:\d\d:\d\d [-+]\d\d\d\d\] "GET \/ " 500 - 0.\d\d\d\d\n\z/ end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
roda-3.12.0 | spec/plugin/common_logger_spec.rb |