diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 10:34:06 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 10:34:06 +0000 |
commit | 859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 (patch) | |
tree | d7f2700abe6b4ffcb2dcfc80631b2d87d0609239 /spec/services/alert_management | |
parent | 446d496a6d000c73a304be52587cd9bbc7493136 (diff) | |
download | gitlab-ce-859a6fb938bb9ee2a317c46dfa4fcc1af49608f0.tar.gz |
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc42
Diffstat (limited to 'spec/services/alert_management')
-rw-r--r-- | spec/services/alert_management/process_prometheus_alert_service_spec.rb | 47 |
1 files changed, 14 insertions, 33 deletions
diff --git a/spec/services/alert_management/process_prometheus_alert_service_spec.rb b/spec/services/alert_management/process_prometheus_alert_service_spec.rb index 8f81c1967d5..288a33b71cd 100644 --- a/spec/services/alert_management/process_prometheus_alert_service_spec.rb +++ b/spec/services/alert_management/process_prometheus_alert_service_spec.rb @@ -68,36 +68,29 @@ RSpec.describe AlertManagement::ProcessPrometheusAlertService do let!(:alert) { create(:alert_management_alert, :resolved, project: project, fingerprint: fingerprint) } it_behaves_like 'creates an alert management alert' + it_behaves_like 'Alert Notification Service sends notification email' end context 'existing alert is ignored' do let!(:alert) { create(:alert_management_alert, :ignored, project: project, fingerprint: fingerprint) } it_behaves_like 'adds an alert management alert event' + it_behaves_like 'Alert Notification Service sends no notifications' end - context 'two existing alerts, one resolved one open' do - let!(:resolved_alert) { create(:alert_management_alert, :resolved, project: project, fingerprint: fingerprint) } - let!(:alert) { create(:alert_management_alert, project: project, fingerprint: fingerprint) } + context 'existing alert is acknowledged' do + let!(:alert) { create(:alert_management_alert, :acknowledged, project: project, fingerprint: fingerprint) } it_behaves_like 'adds an alert management alert event' + it_behaves_like 'Alert Notification Service sends no notifications' end - context 'when status change did not succeed' do - before do - allow(AlertManagement::Alert).to receive(:for_fingerprint).and_return([alert]) - allow(alert).to receive(:trigger).and_return(false) - end - - it 'writes a warning to the log' do - expect(Gitlab::AppLogger).to receive(:warn).with( - message: 'Unable to update AlertManagement::Alert status to triggered', - project_id: project.id, - alert_id: alert.id - ) + context 'two existing alerts, one resolved one open' do + let!(:resolved_alert) { create(:alert_management_alert, :resolved, project: project, fingerprint: fingerprint) } + let!(:alert) { create(:alert_management_alert, project: project, fingerprint: fingerprint) } - execute - end + it_behaves_like 'adds an alert management alert event' + it_behaves_like 'Alert Notification Service sends notification email' end context 'when auto-creation of issues is disabled' do @@ -109,11 +102,7 @@ RSpec.describe AlertManagement::ProcessPrometheusAlertService do context 'when emails are disabled' do let(:send_email) { false } - it 'does not send notification' do - expect(NotificationService).not_to receive(:new) - - expect(subject).to be_success - end + it_behaves_like 'Alert Notification Service sends no notifications' end end @@ -136,11 +125,7 @@ RSpec.describe AlertManagement::ProcessPrometheusAlertService do context 'when emails are disabled' do let(:send_email) { false } - it 'does not send notification' do - expect(NotificationService).not_to receive(:new) - - expect(subject).to be_success - end + it_behaves_like 'Alert Notification Service sends no notifications' end end @@ -158,7 +143,7 @@ RSpec.describe AlertManagement::ProcessPrometheusAlertService do it 'writes a warning to the log' do expect(Gitlab::AppLogger).to receive(:warn).with( - message: 'Unable to create AlertManagement::Alert', + message: 'Unable to create AlertManagement::Alert from Prometheus', project_id: project.id, alert_errors: { hosts: ['hosts array is over 255 chars'] } ) @@ -235,11 +220,7 @@ RSpec.describe AlertManagement::ProcessPrometheusAlertService do context 'when emails are disabled' do let(:send_email) { false } - it 'does not send notification' do - expect(NotificationService).not_to receive(:new) - - expect(subject).to be_success - end + it_behaves_like 'Alert Notification Service sends no notifications' end end |