summaryrefslogtreecommitdiff
path: root/spec/controllers
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-18 09:07:38 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-18 09:07:38 +0000
commit1a9d9cc14ec54036548824e3ce17da03960f5f81 (patch)
tree4b93fa74f393a1978ea9c2628516eb4a449b8704 /spec/controllers
parentdad534d98a3f86bfa079b7ebd980448641cc9c7c (diff)
downloadgitlab-ce-1a9d9cc14ec54036548824e3ce17da03960f5f81.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/projects/environments/prometheus_api_controller_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/controllers/projects/environments/prometheus_api_controller_spec.rb b/spec/controllers/projects/environments/prometheus_api_controller_spec.rb
index 0940fccb431..793c10f0b21 100644
--- a/spec/controllers/projects/environments/prometheus_api_controller_spec.rb
+++ b/spec/controllers/projects/environments/prometheus_api_controller_spec.rb
@@ -78,6 +78,40 @@ describe Projects::Environments::PrometheusApiController do
end
end
end
+
+ context 'with variables' do
+ let(:pod_name) { "pod1" }
+
+ before do
+ expected_params[:query] = %{up{pod_name="#{pod_name}"}}
+ expected_params[:variables] = ['pod_name', pod_name]
+ end
+
+ it 'replaces variables with values' do
+ get :proxy, params: environment_params.merge(
+ query: 'up{pod_name="{{pod_name}}"}', variables: ['pod_name', pod_name]
+ )
+
+ expect(response).to have_gitlab_http_status(:success)
+ expect(Prometheus::ProxyService).to have_received(:new)
+ .with(environment, 'GET', 'query', expected_params)
+ end
+
+ context 'with invalid variables' do
+ let(:params_with_invalid_variables) do
+ environment_params.merge(
+ query: 'up{pod_name="{{pod_name}}"}', variables: ['a']
+ )
+ end
+
+ it 'returns 400' do
+ get :proxy, params: params_with_invalid_variables
+
+ expect(response).to have_gitlab_http_status(:bad_request)
+ expect(Prometheus::ProxyService).not_to receive(:new)
+ end
+ end
+ end
end
context 'with nil result' do