Commit 248475cd authored by Vitali Tatarintev's avatar Vitali Tatarintev

Add check for an active alerts service

Check if alerts service is active for the project
before creating a GitLab issue from `NotifyService`
parent b8c4b60c
...@@ -11,8 +11,8 @@ module Projects ...@@ -11,8 +11,8 @@ module Projects
DEV_TOKEN = :development_token DEV_TOKEN = :development_token
def execute(token) def execute(token)
return forbidden unless alerts_service_activated?
return unauthorized unless valid_token?(token) return unauthorized unless valid_token?(token)
return forbidden unless create_issue?
process_incident_issues process_incident_issues
...@@ -31,8 +31,10 @@ module Projects ...@@ -31,8 +31,10 @@ module Projects
project.feature_available?(:incident_management) project.feature_available?(:incident_management)
end end
def create_issue? def alerts_service_activated?
incident_management_available? && generic_alert_endpoint_enabled? incident_management_available? &&
generic_alert_endpoint_enabled? &&
project.alerts_service.try(:active?)
end end
def process_incident_issues def process_incident_issues
......
...@@ -59,6 +59,9 @@ describe Projects::Alerting::NotifyService do ...@@ -59,6 +59,9 @@ describe Projects::Alerting::NotifyService do
stub_feature_flags(generic_alert_endpoint: true) stub_feature_flags(generic_alert_endpoint: true)
end end
context 'with activated Alerts Service' do
let!(:alerts_service) { create(:alerts_service, project: project) }
context 'with valid token' do context 'with valid token' do
context 'with a valid payload' do context 'with a valid payload' do
it_behaves_like 'processes incident issues', 1 it_behaves_like 'processes incident issues', 1
...@@ -82,6 +85,13 @@ describe Projects::Alerting::NotifyService do ...@@ -82,6 +85,13 @@ describe Projects::Alerting::NotifyService do
end end
end end
context 'with deactivated Alerts Service' do
let!(:alerts_service) { create(:alerts_service, :inactive, project: project) }
it_behaves_like 'does not process incident issues', http_status: 403
end
end
context 'with Generic Alert Endpoint feature disabled' do context 'with Generic Alert Endpoint feature disabled' do
before do before do
stub_feature_flags(generic_alert_endpoint: false) stub_feature_flags(generic_alert_endpoint: false)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment