summaryrefslogtreecommitdiff
path: root/spec/services/prometheus/proxy_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/prometheus/proxy_service_spec.rb')
-rw-r--r--spec/services/prometheus/proxy_service_spec.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/services/prometheus/proxy_service_spec.rb b/spec/services/prometheus/proxy_service_spec.rb
index 656ccea10de..bd451ff00a1 100644
--- a/spec/services/prometheus/proxy_service_spec.rb
+++ b/spec/services/prometheus/proxy_service_spec.rb
@@ -41,6 +41,27 @@ describe Prometheus::ProxyService do
expect(result.params).to eq('query' => '1')
end
end
+
+ context 'with series method' do
+ let(:params) do
+ ActionController::Parameters.new(
+ match: ['1'],
+ start: "2020-06-11T10:15:51Z",
+ end: "2020-06-11T11:16:06Z",
+ unknown_param: 'val'
+ ).permit!
+ end
+
+ it 'allows match, start and end parameters' do
+ result = described_class.new(environment, 'GET', 'series', params)
+
+ expect(result.params).to eq(
+ 'match' => ['1'],
+ 'start' => "2020-06-11T10:15:51Z",
+ 'end' => "2020-06-11T11:16:06Z"
+ )
+ end
+ end
end
describe '#execute' do
@@ -182,6 +203,24 @@ describe Prometheus::ProxyService do
end
end
end
+
+ context 'with series API' do
+ let(:rest_client_response) { instance_double(RestClient::Response, code: 200, body: '') }
+
+ let(:params) do
+ ActionController::Parameters.new(match: ['1'], start: 1.hour.ago.rfc3339, end: Time.current.rfc3339).permit!
+ end
+
+ subject { described_class.new(environment, 'GET', 'series', params) }
+
+ it 'calls PrometheusClient with given parameters' do
+ expect(prometheus_client).to receive(:proxy)
+ .with('series', params.to_h)
+ .and_return(rest_client_response)
+
+ subject.execute
+ end
+ end
end
end