Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/projects/prometheus/alerts_controller_spec.rb')
-rw-r--r--spec/controllers/projects/prometheus/alerts_controller_spec.rb106
1 files changed, 0 insertions, 106 deletions
diff --git a/spec/controllers/projects/prometheus/alerts_controller_spec.rb b/spec/controllers/projects/prometheus/alerts_controller_spec.rb
index f42119e7811..2c2c8180143 100644
--- a/spec/controllers/projects/prometheus/alerts_controller_spec.rb
+++ b/spec/controllers/projects/prometheus/alerts_controller_spec.rb
@@ -53,112 +53,6 @@ RSpec.describe Projects::Prometheus::AlertsController do
end
end
- describe 'GET #index' do
- def make_request(opts = {})
- get :index, params: request_params(opts, environment_id: environment)
- end
-
- context 'when project has no prometheus alert' do
- it 'returns an empty response' do
- make_request
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(json_response).to be_empty
- end
- end
-
- context 'when project has prometheus alerts' do
- let(:production) { create(:environment, project: project) }
- let(:staging) { create(:environment, project: project) }
- let(:json_alert_ids) { json_response.map { |alert| alert['id'] } }
-
- let!(:production_alerts) do
- create_list(:prometheus_alert, 2, project: project, environment: production)
- end
-
- let!(:staging_alerts) do
- create_list(:prometheus_alert, 1, project: project, environment: staging)
- end
-
- it 'contains prometheus alerts only for the production environment' do
- make_request(environment_id: production)
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(json_response.count).to eq(2)
- expect(json_alert_ids).to eq(production_alerts.map(&:id))
- end
-
- it 'contains prometheus alerts only for the staging environment' do
- make_request(environment_id: staging)
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(json_response.count).to eq(1)
- expect(json_alert_ids).to eq(staging_alerts.map(&:id))
- end
-
- it 'does not return prometheus alerts without environment' do
- make_request(environment_id: nil)
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(json_response).to be_empty
- end
- end
-
- it_behaves_like 'unprivileged'
- it_behaves_like 'project non-specific environment', :ok
- end
-
- describe 'GET #show' do
- let(:alert) do
- create(:prometheus_alert,
- :with_runbook_url,
- project: project,
- environment: environment,
- prometheus_metric: metric)
- end
-
- def make_request(opts = {})
- get :show, params: request_params(
- opts,
- id: alert.prometheus_metric_id,
- environment_id: environment
- )
- end
-
- context 'when alert does not exist' do
- it 'returns not_found' do
- make_request(id: 0)
-
- expect(response).to have_gitlab_http_status(:not_found)
- end
- end
-
- context 'when alert exists' do
- let(:alert_params) do
- {
- 'id' => alert.id,
- 'title' => alert.title,
- 'query' => alert.query,
- 'operator' => alert.computed_operator,
- 'threshold' => alert.threshold,
- 'runbook_url' => alert.runbook_url,
- 'alert_path' => alert_path(alert)
- }
- end
-
- it 'renders the alert' do
- make_request
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(json_response).to include(alert_params)
- end
-
- it_behaves_like 'unprivileged'
- it_behaves_like 'project non-specific environment', :not_found
- it_behaves_like 'project non-specific metric', :not_found
- end
- end
-
describe 'POST #notify' do
let(:alert_1) { build(:alert_management_alert, :prometheus, project: project) }
let(:alert_2) { build(:alert_management_alert, :prometheus, project: project) }