Cleanup Additional Metrics tests
This commit is contained in:
parent
a3eb8264f3
commit
ffedc52eaa
6 changed files with 20 additions and 68 deletions
|
@ -1,22 +1,14 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::Prometheus::Queries::AdditionalMetricsDeploymentQuery, lib: true do
|
||||
include Prometheus::AdditionalMetricsQueryHelper
|
||||
include Prometheus::MetricBuilders
|
||||
|
||||
let(:metric_group_class) { Gitlab::Prometheus::MetricGroup }
|
||||
let(:metric_class) { Gitlab::Prometheus::Metric }
|
||||
|
||||
let(:client) { double('prometheus_client') }
|
||||
let(:environment) { create(:environment, slug: 'environment-slug') }
|
||||
let(:deployment) { create(:deployment, environment: environment) }
|
||||
|
||||
subject(:query_result) { described_class.new(client).query(deployment.id) }
|
||||
|
||||
around do |example|
|
||||
Timecop.freeze { example.run }
|
||||
end
|
||||
|
||||
include_examples 'additional metrics query' do
|
||||
it 'queries using specific time' do
|
||||
expect(client).to receive(:query_range).with(anything,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::Prometheus::Queries::AdditionalMetricsQuery, lib: true do
|
||||
include Prometheus::AdditionalMetricsQueryHelper
|
||||
include Prometheus::MetricBuilders
|
||||
|
||||
let(:client) { double('prometheus_client') }
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::Prometheus::Queries::MatchedMetricsQuery, lib: true do
|
||||
include Prometheus::MatchedMetricsQueryHelper
|
||||
include Prometheus::MetricBuilders
|
||||
|
||||
let(:metric_group_class) { Gitlab::Prometheus::MetricGroup }
|
||||
let(:metric_class) { Gitlab::Prometheus::Metric }
|
||||
|
||||
def series_info_with_environment(*more_metrics)
|
||||
%w{metric_a metric_b}.concat(more_metrics).map { |metric_name| { '__name__' => metric_name, 'environment' => '' } }
|
||||
end
|
||||
let(:metric_names) { %w{metric_a metric_b} }
|
||||
let(:series_info_without_environment) do
|
||||
[{ '__name__' => 'metric_a' },
|
||||
{ '__name__' => 'metric_b' }]
|
||||
end
|
||||
let(:partialy_empty_series_info) { [{ '__name__' => 'metric_a', 'environment' => '' }] }
|
||||
let(:empty_series_info) { [] }
|
||||
|
||||
let(:client) { double('prometheus_client') }
|
||||
|
||||
subject { described_class.new(client) }
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
module Prometheus
|
||||
module AdditionalMetricsQueryHelper
|
||||
def metric_names
|
||||
%w{metric_a metric_b}
|
||||
end
|
||||
|
||||
def query_result
|
||||
[
|
||||
{
|
||||
'metric': {},
|
||||
'value': [
|
||||
1488772511.004,
|
||||
'0.000041021495238095323'
|
||||
]
|
||||
}
|
||||
]
|
||||
end
|
||||
|
||||
def query_range_result
|
||||
[
|
||||
{
|
||||
'metric': {},
|
||||
'values': [
|
||||
[1488758662.506, '0.00002996364761904785'],
|
||||
[1488758722.506, '0.00003090239047619091']
|
||||
]
|
||||
}
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,14 +1,20 @@
|
|||
RSpec.shared_examples 'additional metrics query' do
|
||||
include Prometheus::MetricBuilders
|
||||
|
||||
let(:metric_group_class) { Gitlab::Prometheus::MetricGroup }
|
||||
let(:metric_class) { Gitlab::Prometheus::Metric }
|
||||
|
||||
let(:metric_names) { %w{metric_a metric_b} }
|
||||
|
||||
let(:query_range_result) do
|
||||
[{ 'metric': {}, 'values': [[1488758662.506, '0.00002996364761904785'], [1488758722.506, '0.00003090239047619091']] }]
|
||||
end
|
||||
|
||||
before do
|
||||
allow(client).to receive(:label_values).and_return(metric_names)
|
||||
allow(metric_group_class).to receive(:all).and_return([simple_metric_group(metrics: [simple_metric])])
|
||||
end
|
||||
|
||||
let(:metric_group_class) { Gitlab::Prometheus::MetricGroup }
|
||||
let(:metric_class) { Gitlab::Prometheus::Metric }
|
||||
|
||||
context 'with one group where two metrics is found' do
|
||||
before do
|
||||
allow(metric_group_class).to receive(:all).and_return([simple_metric_group])
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
module Prometheus
|
||||
module MatchedMetricsQueryHelper
|
||||
def metric_names
|
||||
%w{metric_a metric_b}
|
||||
end
|
||||
|
||||
def series_info_with_environment(*more_metrics)
|
||||
%w{metric_a metric_b}.concat(more_metrics).map { |metric_name| { '__name__' => metric_name, 'environment' => '' } }
|
||||
end
|
||||
|
||||
def series_info_without_environment
|
||||
[{ '__name__' => 'metric_a' },
|
||||
{ '__name__' => 'metric_b' }]
|
||||
end
|
||||
|
||||
def partialy_empty_series_info
|
||||
[{ '__name__' => 'metric_a', 'environment' => '' }]
|
||||
end
|
||||
|
||||
def empty_series_info
|
||||
[]
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue