summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/metrics/prometheus_spec.rb
blob: d4aa96a5b2028fdb07b0c4d035759893e20fe9be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# frozen_string_literal: true

require 'spec_helper'

describe Gitlab::Metrics::Prometheus, :prometheus do
  let(:all_metrics) { Gitlab::Metrics }
  let(:registry) { all_metrics.registry }

  describe '#reset_registry!' do
    it 'clears existing metrics' do
      registry.counter(:test, 'test metric')

      expect(registry.metrics.count).to eq(1)

      all_metrics.reset_registry!

      expect(all_metrics.registry.metrics.count).to eq(0)
    end
  end

  describe '#error_detected!' do
    before do
      allow(all_metrics).to receive(:metrics_folder_present?).and_return(true)
      stub_application_setting(prometheus_metrics_enabled: true)
    end

    it 'disables Prometheus metrics' do
      expect(all_metrics.error?).to be_falsey
      expect(all_metrics.prometheus_metrics_enabled?).to be_truthy

      all_metrics.error_detected!

      expect(all_metrics.prometheus_metrics_enabled?).to be_falsey
      expect(all_metrics.error?).to be_truthy
    end
  end
end