diff options
Diffstat (limited to 'qa/spec/support/system_logs/sentry_spec.rb')
-rw-r--r-- | qa/spec/support/system_logs/sentry_spec.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/qa/spec/support/system_logs/sentry_spec.rb b/qa/spec/support/system_logs/sentry_spec.rb new file mode 100644 index 00000000000..6821c527b23 --- /dev/null +++ b/qa/spec/support/system_logs/sentry_spec.rb @@ -0,0 +1,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 |