Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/metrics/global_search_slis_spec.rb')
-rw-r--r--spec/lib/gitlab/metrics/global_search_slis_spec.rb129
1 files changed, 47 insertions, 82 deletions
diff --git a/spec/lib/gitlab/metrics/global_search_slis_spec.rb b/spec/lib/gitlab/metrics/global_search_slis_spec.rb
index 28496eff2fc..0c09cf6dd71 100644
--- a/spec/lib/gitlab/metrics/global_search_slis_spec.rb
+++ b/spec/lib/gitlab/metrics/global_search_slis_spec.rb
@@ -5,26 +5,20 @@ require 'spec_helper'
RSpec.describe Gitlab::Metrics::GlobalSearchSlis do
using RSpec::Parameterized::TableSyntax
- let(:apdex_feature_flag_enabled) { true }
let(:error_rate_feature_flag_enabled) { true }
before do
- stub_feature_flags(global_search_custom_slis: apdex_feature_flag_enabled)
stub_feature_flags(global_search_error_rate_sli: error_rate_feature_flag_enabled)
end
describe '#initialize_slis!' do
- context 'when global_search_custom_slis feature flag is enabled' do
- let(:apdex_feature_flag_enabled) { true }
+ it 'initializes Apdex SLIs for global_search' do
+ expect(Gitlab::Metrics::Sli::Apdex).to receive(:initialize_sli).with(
+ :global_search,
+ a_kind_of(Array)
+ )
- it 'initializes Apdex SLIs for global_search' do
- expect(Gitlab::Metrics::Sli::Apdex).to receive(:initialize_sli).with(
- :global_search,
- a_kind_of(Array)
- )
-
- described_class.initialize_slis!
- end
+ described_class.initialize_slis!
end
context 'when global_search_error_rate_sli feature flag is enabled' do
@@ -40,16 +34,6 @@ RSpec.describe Gitlab::Metrics::GlobalSearchSlis do
end
end
- context 'when global_search_custom_slis feature flag is disabled' do
- let(:apdex_feature_flag_enabled) { false }
-
- it 'does not initialize the Apdex SLIs for global_search' do
- expect(Gitlab::Metrics::Sli::Apdex).not_to receive(:initialize_sli)
-
- described_class.initialize_slis!
- end
- end
-
context 'when global_search_error_rate_sli feature flag is disabled' do
let(:error_rate_feature_flag_enabled) { false }
@@ -62,78 +46,59 @@ RSpec.describe Gitlab::Metrics::GlobalSearchSlis do
end
describe '#record_apdex' do
- context 'when global_search_custom_slis feature flag is enabled' do
- let(:apdex_feature_flag_enabled) { true }
-
- where(:search_type, :code_search, :duration_target) do
- 'basic' | false | 7.031
- 'basic' | true | 21.903
- 'advanced' | false | 4.865
- 'advanced' | true | 13.546
- end
-
- with_them do
- before do
- allow(::Gitlab::ApplicationContext).to receive(:current_context_attribute).with(:caller_id).and_return('end')
- end
+ where(:search_type, :code_search, :duration_target) do
+ 'basic' | false | 7.031
+ 'basic' | true | 21.903
+ 'advanced' | false | 4.865
+ 'advanced' | true | 13.546
+ end
- let(:search_scope) { code_search ? 'blobs' : 'issues' }
+ with_them do
+ before do
+ allow(::Gitlab::ApplicationContext).to receive(:current_context_attribute).with(:caller_id).and_return('end')
+ end
- it 'increments the global_search SLI as a success if the elapsed time is within the target' do
- duration = duration_target - 0.1
+ let(:search_scope) { code_search ? 'blobs' : 'issues' }
- expect(Gitlab::Metrics::Sli::Apdex[:global_search]).to receive(:increment).with(
- labels: {
- search_type: search_type,
- search_level: 'global',
- search_scope: search_scope,
- endpoint_id: 'end'
- },
- success: true
- )
+ it 'increments the global_search SLI as a success if the elapsed time is within the target' do
+ duration = duration_target - 0.1
- described_class.record_apdex(
- elapsed: duration,
- search_type: search_type,
- search_level: 'global',
- search_scope: search_scope
- )
- end
-
- it 'increments the global_search SLI as a failure if the elapsed time is not within the target' do
- duration = duration_target + 0.1
-
- expect(Gitlab::Metrics::Sli::Apdex[:global_search]).to receive(:increment).with(
- labels: {
- search_type: search_type,
- search_level: 'global',
- search_scope: search_scope,
- endpoint_id: 'end'
- },
- success: false
- )
-
- described_class.record_apdex(
- elapsed: duration,
+ expect(Gitlab::Metrics::Sli::Apdex[:global_search]).to receive(:increment).with(
+ labels: {
search_type: search_type,
search_level: 'global',
- search_scope: search_scope
- )
- end
+ search_scope: search_scope,
+ endpoint_id: 'end'
+ },
+ success: true
+ )
+
+ described_class.record_apdex(
+ elapsed: duration,
+ search_type: search_type,
+ search_level: 'global',
+ search_scope: search_scope
+ )
end
- end
- context 'when global_search_custom_slis feature flag is disabled' do
- let(:apdex_feature_flag_enabled) { false }
+ it 'increments the global_search SLI as a failure if the elapsed time is not within the target' do
+ duration = duration_target + 0.1
- it 'does not call increment on the apdex SLI' do
- expect(Gitlab::Metrics::Sli::Apdex[:global_search]).not_to receive(:increment)
+ expect(Gitlab::Metrics::Sli::Apdex[:global_search]).to receive(:increment).with(
+ labels: {
+ search_type: search_type,
+ search_level: 'global',
+ search_scope: search_scope,
+ endpoint_id: 'end'
+ },
+ success: false
+ )
described_class.record_apdex(
- elapsed: 1,
- search_type: 'basic',
+ elapsed: duration,
+ search_type: search_type,
search_level: 'global',
- search_scope: 'issues'
+ search_scope: search_scope
)
end
end