diff options
Diffstat (limited to 'spec/lib/gitlab/alert_management/payload/prometheus_spec.rb')
-rw-r--r-- | spec/lib/gitlab/alert_management/payload/prometheus_spec.rb | 63 |
1 files changed, 61 insertions, 2 deletions
diff --git a/spec/lib/gitlab/alert_management/payload/prometheus_spec.rb b/spec/lib/gitlab/alert_management/payload/prometheus_spec.rb index 457db58a28b..f574f5ba6a3 100644 --- a/spec/lib/gitlab/alert_management/payload/prometheus_spec.rb +++ b/spec/lib/gitlab/alert_management/payload/prometheus_spec.rb @@ -156,8 +156,6 @@ RSpec.describe Gitlab::AlertManagement::Payload::Prometheus do end describe '#gitlab_fingerprint' do - subject { parsed_payload.gitlab_fingerprint } - let(:raw_payload) do { 'startsAt' => Time.current.to_s, @@ -166,6 +164,8 @@ RSpec.describe Gitlab::AlertManagement::Payload::Prometheus do } end + subject { parsed_payload.gitlab_fingerprint } + it 'returns a fingerprint' do plain_fingerprint = [ parsed_payload.send(:starts_at_raw), @@ -237,4 +237,63 @@ RSpec.describe Gitlab::AlertManagement::Payload::Prometheus do it { is_expected.to be_falsey } end end + + describe '#severity' do + subject { parsed_payload.severity } + + context 'when set' do + using RSpec::Parameterized::TableSyntax + + let(:raw_payload) { { 'labels' => { 'severity' => payload_severity } } } + + where(:payload_severity, :expected_severity) do + 'critical' | :critical + 'high' | :high + 'medium' | :medium + 'low' | :low + 'info' | :info + + 's1' | :critical + 's2' | :high + 's3' | :medium + 's4' | :low + 's5' | :info + 'p1' | :critical + 'p2' | :high + 'p3' | :medium + 'p4' | :low + 'p5' | :info + + 'CRITICAL' | :critical + 'cRiTiCaL' | :critical + 'S1' | :critical + + 'unmapped' | nil + 1 | nil + nil | nil + + 'debug' | :info + 'information' | :info + 'notice' | :info + 'warn' | :low + 'warning' | :low + 'minor' | :low + 'error' | :medium + 'major' | :high + 'emergency' | :critical + 'fatal' | :critical + + 'alert' | :medium + 'page' | :high + end + + with_them do + it { is_expected.to eq(expected_severity) } + end + end + + context 'without key' do + it { is_expected.to be_nil } + end + end end |