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/models/concerns/prometheus_adapter_spec.rb')
-rw-r--r--spec/models/concerns/prometheus_adapter_spec.rb138
1 files changed, 0 insertions, 138 deletions
diff --git a/spec/models/concerns/prometheus_adapter_spec.rb b/spec/models/concerns/prometheus_adapter_spec.rb
index a3f2e99f3da..d17059ccc6d 100644
--- a/spec/models/concerns/prometheus_adapter_spec.rb
+++ b/spec/models/concerns/prometheus_adapter_spec.rb
@@ -15,144 +15,6 @@ RSpec.describe PrometheusAdapter, :use_clean_rails_memory_store_caching do
end
end
- let(:environment_query) { Gitlab::Prometheus::Queries::EnvironmentQuery }
-
- describe '#query' do
- describe 'validate_query' do
- let(:environment) { build_stubbed(:environment, slug: 'env-slug') }
- let(:validation_query) { Gitlab::Prometheus::Queries::ValidateQuery.name }
- let(:query) { 'avg(response)' }
- let(:validation_respone) { { data: { valid: true } } }
-
- around do |example|
- freeze_time { example.run }
- end
-
- context 'with valid data' do
- subject { integration.query(:validate, query) }
-
- before do
- stub_reactive_cache(integration, validation_respone, validation_query, query)
- end
-
- it 'returns query data' do
- is_expected.to eq(query: { valid: true })
- end
- end
- end
-
- describe 'environment' do
- let(:environment) { build_stubbed(:environment, slug: 'env-slug') }
-
- around do |example|
- freeze_time { example.run }
- end
-
- context 'with valid data' do
- subject { integration.query(:environment, environment) }
-
- before do
- stub_reactive_cache(integration, prometheus_data, environment_query, environment.id)
- end
-
- it 'returns reactive data' do
- is_expected.to eq(prometheus_metrics_data)
- end
- end
- end
-
- describe 'matched_metrics' do
- let(:matched_metrics_query) { Gitlab::Prometheus::Queries::MatchedMetricQuery }
- let(:prometheus_client) { double(:prometheus_client, label_values: nil) }
-
- context 'with valid data' do
- subject { integration.query(:matched_metrics) }
-
- before do
- allow(integration).to receive(:prometheus_client).and_return(prometheus_client)
- synchronous_reactive_cache(integration)
- end
-
- it 'returns reactive data' do
- expect(subject[:success]).to be_truthy
- expect(subject[:data]).to eq([])
- end
- end
- end
-
- describe 'deployment' do
- let(:deployment) { build_stubbed(:deployment) }
- let(:deployment_query) { Gitlab::Prometheus::Queries::DeploymentQuery }
-
- around do |example|
- freeze_time { example.run }
- end
-
- context 'with valid data' do
- subject { integration.query(:deployment, deployment) }
-
- before do
- stub_reactive_cache(integration, prometheus_data, deployment_query, deployment.id)
- end
-
- it 'returns reactive data' do
- expect(subject).to eq(prometheus_metrics_data)
- end
- end
- end
- end
-
- describe '#calculate_reactive_cache' do
- let(:environment) { create(:environment, slug: 'env-slug') }
-
- before do
- integration.manual_configuration = true
- integration.active = true
- end
-
- subject do
- integration.calculate_reactive_cache(environment_query.name, environment.id)
- end
-
- around do |example|
- freeze_time { example.run }
- end
-
- context 'when integration is inactive' do
- before do
- integration.active = false
- end
-
- it { is_expected.to be_nil }
- end
-
- context 'when Prometheus responds with valid data' do
- before do
- stub_all_prometheus_requests(environment.slug)
- end
-
- it { expect(subject.to_json).to eq(prometheus_data.to_json) }
- end
-
- [404, 500].each do |status|
- context "when Prometheus responds with #{status}" do
- before do
- stub_all_prometheus_requests(environment.slug, status: status, body: "QUERY FAILED!")
- end
-
- it { is_expected.to eq(success: false, result: %(#{status} - "QUERY FAILED!")) }
- end
- end
-
- context "when client raises Gitlab::PrometheusClient::ConnectionError" do
- before do
- stub_any_prometheus_request.to_raise(Gitlab::PrometheusClient::ConnectionError)
- end
-
- it { is_expected.to include(success: false, result: kind_of(String)) }
- end
- end
-
describe '#build_query_args' do
subject { integration.build_query_args(*args) }