diff options
Diffstat (limited to 'spec/services/prometheus/proxy_service_spec.rb')
-rw-r--r-- | spec/services/prometheus/proxy_service_spec.rb | 39 |
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 |