diff options
Diffstat (limited to 'spec/lib/gitlab/alert_management/payload/generic_spec.rb')
-rw-r--r-- | spec/lib/gitlab/alert_management/payload/generic_spec.rb | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/spec/lib/gitlab/alert_management/payload/generic_spec.rb b/spec/lib/gitlab/alert_management/payload/generic_spec.rb index b7660462b0d..d022c629458 100644 --- a/spec/lib/gitlab/alert_management/payload/generic_spec.rb +++ b/spec/lib/gitlab/alert_management/payload/generic_spec.rb @@ -19,7 +19,34 @@ RSpec.describe Gitlab::AlertManagement::Payload::Generic do describe '#severity' do subject { parsed_payload.severity } - it_behaves_like 'parsable alert payload field with fallback', 'critical', 'severity' + context 'when set' do + using RSpec::Parameterized::TableSyntax + + let(:raw_payload) { { 'severity' => payload_severity } } + + where(:payload_severity, :expected_severity) do + 'critical' | :critical + 'high' | :high + 'medium' | :medium + 'low' | :low + 'info' | :info + + 'CRITICAL' | :critical + 'cRiTiCaL' | :critical + + 'unmapped' | nil + 1 | nil + nil | nil + 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 describe '#monitoring_tool' do |