spec/integration/sinatra_spec.rb in loga-2.2.0 vs spec/integration/sinatra_spec.rb in loga-2.3.0

- old
+ new

@@ -22,42 +22,42 @@ end RSpec.describe 'Structured logging with Sinatra', :with_hostname, :timecop do let(:io) { StringIO.new } let(:format) {} - before do - Loga.reset - Loga.configure( - device: io, - filter_parameters: [:password], - format: format, - service_name: 'hello_world_app', - service_version: '1.0', - tags: [:uuid, 'TEST_TAG'], - ) - end - let(:last_log_entry) do io.rewind JSON.parse(io.read) end - let(:app) do Rack::Builder.new do use Loga::Rack::RequestId use Loga::Rack::Logger run MySinatraApp end end + before do + Loga.reset + Loga.configure( + device: io, + filter_parameters: [:password], + format: format, + service_name: 'hello_world_app', + service_version: '1.0', + tags: [:uuid, 'TEST_TAG'], + ) + end + context 'when RACK_ENV is production', if: ENV['RACK_ENV'].eql?('production') do let(:format) { :gelf } + include_examples 'request logger' it 'does not include the controller name and action' do get '/ok' - expect(last_log_entry).to_not include('_request.controller') + expect(last_log_entry).not_to include('_request.controller') end end # rubocop:disable Metrics/LineLength context 'when RACK_ENV is development', if: ENV['RACK_ENV'].eql?('development') do @@ -83,25 +83,26 @@ before do allow(Process).to receive(:pid).and_return(999) end - context 'get request' do + describe 'get request' do it 'logs the request' do get '/ok', { username: 'yoshi' }, 'HTTP_X_REQUEST_ID' => '700a6a01' expect(last_log_entry).to eq("I, #{time_pid_tags} GET /ok?username=yoshi 200 in 0ms type=request #{data_as_text}\n") end end - context 'request with redirect' do + describe 'request with redirect' do let(:data) do super().merge( 'status' => 302, 'path' => '/new', 'params' => {}, ) end + it 'specifies the original path' do get '/new', {}, 'HTTP_X_REQUEST_ID' => '700a6a01' expect(last_log_entry).to eql("I, #{time_pid_tags} GET /new 302 in 0ms type=request #{data_as_text}\n") end end