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