summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorPawel Chojnacki <pawel@chojnacki.ws>2018-03-05 21:02:26 +0100
committerPawel Chojnacki <pawel@chojnacki.ws>2018-03-05 21:02:26 +0100
commitb53356546dc54a6674eda8fa2d4f730a70f77206 (patch)
tree35e655f82b3f80039cded957b866ba16629eb2b5 /spec
parent5ceec83a0154e513480a9bb08e252371bf7886c6 (diff)
downloadgitlab-ce-b53356546dc54a6674eda8fa2d4f730a70f77206.tar.gz
Check if prometheus_adapter is properly called
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/projects/prometheus/metrics_controller_spec.rb18
-rw-r--r--spec/models/environment_spec.rb32
2 files changed, 19 insertions, 31 deletions
diff --git a/spec/controllers/projects/prometheus/metrics_controller_spec.rb b/spec/controllers/projects/prometheus/metrics_controller_spec.rb
index 9d2ac42e99f..b2b245dba90 100644
--- a/spec/controllers/projects/prometheus/metrics_controller_spec.rb
+++ b/spec/controllers/projects/prometheus/metrics_controller_spec.rb
@@ -7,13 +7,15 @@ describe Projects::Prometheus::MetricsController do
let(:prometheus_adapter) { double('prometheus_adapter', can_query?: true) }
before do
- allow(controller).to receive(:prometheus_adapter).and_return(prometheus_adapter)
-
project.add_master(user)
sign_in(user)
end
describe 'GET #active_common' do
+ before do
+ allow(controller).to receive(:prometheus_adapter).and_return(prometheus_adapter)
+ end
+
context 'when prometheus metrics are enabled' do
context 'when data is not present' do
before do
@@ -52,6 +54,18 @@ describe Projects::Prometheus::MetricsController do
end
end
+ describe '#prometheus_adapter' do
+ before do
+ allow(controller).to receive(:project).and_return(project)
+ end
+
+ it 'calls prometheus adapter service' do
+ expect_any_instance_of(::Prometheus::AdapterService).to receive(:prometheus_adapter)
+
+ subject.__send__(:prometheus_adapter)
+ end
+ end
+
def project_params(opts = {})
opts.reverse_merge(namespace_id: project.namespace, project_id: project)
end
diff --git a/spec/models/environment_spec.rb b/spec/models/environment_spec.rb
index 8c052888b04..ceb570ac777 100644
--- a/spec/models/environment_spec.rb
+++ b/spec/models/environment_spec.rb
@@ -623,36 +623,10 @@ describe Environment do
end
describe '#prometheus_adapter' do
- let(:cluster) { create(:cluster, :provided_by_user, environment_scope: '*', projects: [project]) }
+ it 'calls prometheus adapter service' do
+ expect_any_instance_of(Prometheus::AdapterService).to receive(:prometheus_adapter)
- context 'prometheus service can execute queries' do
- let(:prometheus_service) { double(:prometheus_service, can_query?: true) }
-
- before do
- allow(environment.project).to receive(:find_or_initialize_service).with('prometheus').and_return prometheus_service
- end
-
- it 'return prometheus service as prometheus adapter' do
- expect(environment.prometheus_adapter).to eq(prometheus_service)
- end
- end
-
- context "prometheus service can't execute queries" do
- let(:prometheus_service) { double(:prometheus_service, can_query?: false) }
-
- context 'with cluster with prometheus installed' do
- let!(:prometheus) { create(:clusters_applications_prometheus, :installed, cluster: cluster) }
-
- it 'returns application handling all environments' do
- expect(environment.prometheus_adapter).to eq(prometheus)
- end
- end
-
- context 'with cluster without prometheus installed' do
- it 'returns nil' do
- expect(environment.prometheus_adapter).to be_nil
- end
- end
+ subject.prometheus_adapter
end
end
end