summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/grape_logging/loggers/perf_logger_spec.rb
blob: 09ba4b89a1a510cad639fb41583d6e93e4790f79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true

require 'spec_helper'

describe Gitlab::GrapeLogging::Loggers::PerfLogger do
  subject { described_class.new }

  describe ".parameters" do
    let(:mock_request) { OpenStruct.new(env: {}) }

    describe 'when no performance datais are present' do
      it 'returns an empty Hash' do
        expect(subject.parameters(mock_request, nil)).to eq({})
      end
    end

    describe 'when Redis calls are present', :request_store do
      it 'returns a Hash with Redis information' do
        Gitlab::Redis::SharedState.with { |redis| redis.get('perf-logger-test') }

        payload = subject.parameters(mock_request, nil)

        expect(payload[:redis_calls]).to eq(1)
        expect(payload[:redis_duration_s]).to be >= 0
      end
    end
  end
end