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:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-07-22 00:10:16 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-07-22 00:10:16 +0300
commit6333a892f50d882f007497fd5512a740ba1020e5 (patch)
treed24e3699301fb3ee362bd3eeb6eb740067365a51 /spec/requests
parent779672e43b60e1b853d4581493c4838b775de83f (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/requests')
-rw-r--r--spec/requests/projects/metrics/dashboards/builder_spec.rb123
1 files changed, 0 insertions, 123 deletions
diff --git a/spec/requests/projects/metrics/dashboards/builder_spec.rb b/spec/requests/projects/metrics/dashboards/builder_spec.rb
deleted file mode 100644
index 8af2d1f1d25..00000000000
--- a/spec/requests/projects/metrics/dashboards/builder_spec.rb
+++ /dev/null
@@ -1,123 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe 'Projects::Metrics::Dashboards::BuilderController', feature_category: :metrics do
- let_it_be(:project) { create(:project) }
- let_it_be(:environment) { create(:environment, project: project) }
- let_it_be(:user) { create(:user) }
- let_it_be(:valid_panel_yml) do
- <<~YML
- ---
- title: "Super Chart A1"
- type: "area-chart"
- y_label: "y_label"
- weight: 1
- max_value: 1
- metrics:
- - id: metric_a1
- query_range: |+
- avg(
- sum(
- container_memory_usage_bytes{
- container_name!="POD",
- pod_name=~"^{{ci_environment_slug}}-(.*)",
- namespace="{{kube_namespace}}",
- user_def_variable="{{user_def_variable}}"
- }
- ) by (job)
- ) without (job)
- /1024/1024/1024
- unit: unit
- label: Legend Label
- YML
- end
-
- let_it_be(:invalid_panel_yml) do
- <<~YML
- ---
- title: "Super Chart A1"
- type: "area-chart"
- y_label: "y_label"
- weight: 1
- max_value: 1
- YML
- end
-
- def send_request(params = {})
- post namespace_project_metrics_dashboards_builder_path(namespace_id: project.namespace, project_id: project, format: :json, **params)
- end
-
- describe 'POST /:namespace/:project/-/metrics/dashboards/builder' do
- before do
- stub_feature_flags(remove_monitor_metrics: false)
- end
-
- context 'as anonymous user' do
- it 'redirects user to sign in page' do
- send_request
-
- expect(response).to redirect_to(new_user_session_path)
- end
- end
-
- context 'as user with guest access' do
- before do
- project.add_guest(user)
- login_as(user)
- end
-
- it 'returns not found' do
- send_request
-
- expect(response).to have_gitlab_http_status(:not_found)
- end
- end
-
- context 'as logged in user' do
- before do
- project.add_developer(user)
- login_as(user)
- end
-
- context 'valid yaml panel is supplied' do
- it 'returns success' do
- send_request(panel_yaml: valid_panel_yml)
-
- expect(response).to have_gitlab_http_status(:ok)
- expect(json_response).to include('title' => 'Super Chart A1', 'type' => 'area-chart')
- end
- end
-
- context 'invalid yaml panel is supplied' do
- it 'returns unprocessable entity' do
- send_request(panel_yaml: invalid_panel_yml)
-
- expect(response).to have_gitlab_http_status(:unprocessable_entity)
- expect(json_response['message']).to eq('Each "panel" must define an array :metrics')
- end
- end
-
- context 'invalid panel_yaml is not a yaml string' do
- it 'returns unprocessable entity' do
- send_request(panel_yaml: 1)
-
- expect(response).to have_gitlab_http_status(:unprocessable_entity)
- expect(json_response['message']).to eq('Invalid configuration format')
- end
- end
-
- context 'when metrics dashboard feature is unavailable' do
- before do
- stub_feature_flags(remove_monitor_metrics: true)
- end
-
- it 'returns not found' do
- send_request
-
- expect(response).to have_gitlab_http_status(:not_found)
- end
- end
- end
- end
-end