summaryrefslogtreecommitdiff
path: root/qa/spec/support/system_logs/sentry_spec.rb
blob: 6821c527b236cf2c1aace2aec0e2bb2df5f9b1a6 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# frozen_string_literal: true

RSpec.describe QA::Support::SystemLogs::Sentry do
  using RSpec::Parameterized::TableSyntax

  let(:correlation_id) { 'foo123' }

  describe '#url' do
    subject { described_class.new(env, correlation_id).url }

    let(:staging_url) do
      "https://sentry.gitlab.net/gitlab/staginggitlabcom/?environment=gstg&query=correlation_id%3A%22#{correlation_id}%22"
    end

    let(:staging_ref_url) do
      "https://sentry.gitlab.net/gitlab/staging-ref/?environment=all&query=correlation_id%3A%22#{correlation_id}%22"
    end

    let(:pre_url) do
      "https://sentry.gitlab.net/gitlab/pregitlabcom/?environment=all&query=correlation_id%3A%22#{correlation_id}%22"
    end

    let(:production_url) do
      "https://sentry.gitlab.net/gitlab/gitlabcom/?environment=gprd&query=correlation_id%3A%22#{correlation_id}%22"
    end

    where(:env, :expected_url) do
      :staging     | ref(:staging_url)
      :staging_ref | ref(:staging_ref_url)
      :production  | ref(:production_url)
      :pre         | ref(:pre_url)
      :foo         | nil
      nil          | nil
    end

    with_them do
      it 'returns the expected URL' do
        expect(subject).to eq(expected_url)
      end
    end
  end
end