diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-21 15:14:15 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-21 15:14:15 +0300 |
commit | 55e3b0c9100c453fa32055dc2c76bd7ebfa23a17 (patch) | |
tree | be205a5fe067983f154884f724511ba6fdb2620e /spec/metrics_server | |
parent | 3442b76bbd896c85c06feaa56e3d9355a3945523 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/metrics_server')
-rw-r--r-- | spec/metrics_server/metrics_server_spec.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/spec/metrics_server/metrics_server_spec.rb b/spec/metrics_server/metrics_server_spec.rb index 4f0d5bc5bb2..1120fab2de3 100644 --- a/spec/metrics_server/metrics_server_spec.rb +++ b/spec/metrics_server/metrics_server_spec.rb @@ -8,14 +8,22 @@ require_relative '../support/helpers/next_instance_of' RSpec.describe MetricsServer do # rubocop:disable RSpec/FilePath include NextInstanceOf + let(:prometheus_config) { ::Prometheus::Client.configuration } let(:metrics_dir) { Dir.mktmpdir } + # Prometheus::Client is a singleton, i.e. shared global state, so + # we need to reset it after testing. + let!(:old_multiprocess_files_dir) { prometheus_config.multiprocess_files_dir } + before do # We do not want this to have knock-on effects on the test process. allow(Gitlab::ProcessManagement).to receive(:modify_signals) end after do + Gitlab::Metrics.reset_registry! + prometheus_config.multiprocess_files_dir = old_multiprocess_files_dir + FileUtils.rm_rf(metrics_dir, secure: true) end @@ -55,9 +63,7 @@ RSpec.describe MetricsServer do # rubocop:disable RSpec/FilePath describe '#start' do let(:exporter_class) { Class.new(Gitlab::Metrics::Exporter::BaseExporter) } let(:exporter_double) { double('fake_exporter', start: true) } - let(:prometheus_config) { ::Prometheus::Client.configuration } let(:settings) { { "fake_exporter" => { "enabled" => true } } } - let!(:old_metrics_dir) { prometheus_config.multiprocess_files_dir } let(:ruby_sampler_double) { double(Gitlab::Metrics::Samplers::RubySampler) } subject(:metrics_server) { described_class.new('fake', metrics_dir, true)} @@ -71,11 +77,6 @@ RSpec.describe MetricsServer do # rubocop:disable RSpec/FilePath allow(ruby_sampler_double).to receive(:start) end - after do - Gitlab::Metrics.reset_registry! - prometheus_config.multiprocess_files_dir = old_metrics_dir - end - it 'configures ::Prometheus::Client' do metrics_server.start |