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:
authorPawel Chojnacki <pawel@chojnacki.ws>2017-06-05 15:42:53 +0300
committerPawel Chojnacki <pawel@chojnacki.ws>2017-06-05 16:12:32 +0300
commitcf4aeafa6f3baaec7652f486cd04b7170dde9fbf (patch)
tree22396092d74244a2c1582ff582a3aee71086f958 /spec/lib/gitlab/prometheus
parenteaaad702deab2ff73cc204d55056745bf34c703e (diff)
Test Partial additional query response
Diffstat (limited to 'spec/lib/gitlab/prometheus')
-rw-r--r--spec/lib/gitlab/prometheus/queries/additional_metrics_query_spec.rb54
1 files changed, 45 insertions, 9 deletions
diff --git a/spec/lib/gitlab/prometheus/queries/additional_metrics_query_spec.rb b/spec/lib/gitlab/prometheus/queries/additional_metrics_query_spec.rb
index 617028cde37..2291c4d67bb 100644
--- a/spec/lib/gitlab/prometheus/queries/additional_metrics_query_spec.rb
+++ b/spec/lib/gitlab/prometheus/queries/additional_metrics_query_spec.rb
@@ -24,12 +24,12 @@ describe Gitlab::Prometheus::Queries::AdditionalMetricsQuery, lib: true do
context 'some queries return results' do
before do
- expect(client).to receive(:query_range).with('query_range_a', any_args).and_return(query_range_result)
- expect(client).to receive(:query_range).with('query_range_b', any_args).and_return(query_range_result)
- expect(client).to receive(:query_range).with('query_range_empty', any_args).and_return([])
+ allow(client).to receive(:query_range).with('query_range_a', any_args).and_return(query_range_result)
+ allow(client).to receive(:query_range).with('query_range_b', any_args).and_return(query_range_result)
+ allow(client).to receive(:query_range).with('query_range_empty', any_args).and_return([])
end
- it 'return results only for queries with results' do
+ it 'return group data only for queries with results' do
expected = [
{
group: 'name',
@@ -61,14 +61,13 @@ describe Gitlab::Prometheus::Queries::AdditionalMetricsQuery, lib: true do
allow(client).to receive(:label_values).and_return(metric_names)
end
- context 'some queries return results' do
+ context 'both queries return results' do
before do
- expect(client).to receive(:query_range).with('query_range_a', any_args).and_return(query_range_result)
- expect(client).to receive(:query_range).with('query_range_b', any_args).and_return(query_range_result)
+ allow(client).to receive(:query_range).with('query_range_a', any_args).and_return(query_range_result)
+ allow(client).to receive(:query_range).with('query_range_b', any_args).and_return(query_range_result)
end
- it 'return results only for queries with results' do
- puts query_result
+ it 'return group data both queries' do
expected = [
{
group: 'group_a',
@@ -117,5 +116,42 @@ describe Gitlab::Prometheus::Queries::AdditionalMetricsQuery, lib: true do
expect(query_result).to eq(expected)
end
end
+
+ context 'one query returns result' do
+ before do
+ allow(client).to receive(:query_range).with('query_range_a', any_args).and_return(query_range_result)
+ allow(client).to receive(:query_range).with('query_range_b', any_args).and_return([])
+ end
+
+ it 'queries using specific time' do
+ expect(client).to receive(:query_range).with(anything, start: 8.hours.ago.to_f, stop: Time.now.to_f)
+
+ expect(query_result).not_to be_nil
+ end
+
+ it 'return group data only for query with results' do
+ expected = [
+ {
+ group: 'group_a',
+ priority: 1,
+ metrics: [
+ {
+ title: 'title',
+ weight: nil,
+ y_label: 'Values',
+ queries: [
+ {
+ query_range: 'query_range_a',
+ result: query_range_result
+ }
+ ]
+ }
+ ]
+ }
+ ]
+
+ expect(query_result).to eq(expected)
+ end
+ end
end
end