diff options
Diffstat (limited to 'spec/initializers/lograge_spec.rb')
-rw-r--r-- | spec/initializers/lograge_spec.rb | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/spec/initializers/lograge_spec.rb b/spec/initializers/lograge_spec.rb index 9e5eab4fc6b..de722764bf4 100644 --- a/spec/initializers/lograge_spec.rb +++ b/spec/initializers/lograge_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'lograge', type: :request do +RSpec.describe 'lograge', type: :request do let(:headers) { { 'X-Request-ID' => 'new-correlation-id' } } let(:large_params) do @@ -152,5 +152,35 @@ describe 'lograge', type: :request do expect(log_data['etag_route']).to eq(etag_route) end end + + context 'with transaction' do + let(:transaction) { Gitlab::Metrics::WebTransaction.new({}) } + + before do + allow(Gitlab::Metrics::Transaction).to receive(:current).and_return(transaction) + end + + context 'when RequestStore is enabled', :request_store do + context 'with db payload' do + it 'includes db counters', :request_store do + ActiveRecord::Base.connection.execute('SELECT pg_sleep(0.1);') + subscriber.process_action(event) + + expect(log_data).to include("db_count" => 1, "db_write_count" => 0, "db_cached_count" => 0) + end + end + end + + context 'when RequestStore is disabled' do + context 'with db payload' do + it 'does not include db counters' do + ActiveRecord::Base.connection.execute('SELECT pg_sleep(0.1);') + subscriber.process_action(event) + + expect(log_data).not_to include("db_count" => 1, "db_write_count" => 0, "db_cached_count" => 0) + end + end + end + end end end |