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:
authorGitLab Bot <gitlab-bot@gitlab.com>2024-01-05 00:07:37 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2024-01-05 00:07:37 +0300
commit808b8561f4e75b2db7c7e94a6c7651efb546048b (patch)
tree2cb7546939b56fef3a73a52dd8790de55f0fc0e4 /spec/support
parentcc514c362bcd4b657bf6a6d1d37f5305952df363 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/rspec_order_todo.yml1
-rw-r--r--spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb6
-rw-r--r--spec/support/shared_examples/controllers/issuables_list_metadata_shared_examples.rb2
-rw-r--r--spec/support/shared_examples/controllers/snippet_shared_examples.rb4
-rw-r--r--spec/support/shared_examples/models/database_event_tracking_shared_examples.rb49
-rw-r--r--spec/support/shared_examples/models/relative_positioning_shared_examples.rb6
-rw-r--r--spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb4
-rw-r--r--spec/support/shared_examples/services/count_service_shared_examples.rb4
-rw-r--r--spec/support/shared_examples/services/destroy_label_links_shared_examples.rb4
-rw-r--r--spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb4
10 files changed, 17 insertions, 67 deletions
diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml
index 0715e56c130..cb6cffd064f 100644
--- a/spec/support/rspec_order_todo.yml
+++ b/spec/support/rspec_order_todo.yml
@@ -7116,7 +7116,6 @@
- './spec/models/concerns/counter_attribute_spec.rb'
- './spec/models/concerns/cron_schedulable_spec.rb'
- './spec/models/concerns/cross_database_modification_spec.rb'
-- './spec/models/concerns/database_event_tracking_spec.rb'
- './spec/models/concerns/database_reflection_spec.rb'
- './spec/models/concerns/delete_with_limit_spec.rb'
- './spec/models/concerns/deployment_platform_spec.rb'
diff --git a/spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb b/spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb
index c921da10347..94208e29d77 100644
--- a/spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb
+++ b/spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb
@@ -125,9 +125,9 @@ RSpec.shared_examples 'a GitHub-ish import controller: GET status' do
group_a.add_owner(user)
create(:project, :import_started, import_type: provider, namespace: user.namespace)
- control_count = ActiveRecord::QueryRecorder.new(skip_cached: false) do
+ control = ActiveRecord::QueryRecorder.new(skip_cached: false) do
get :status, format: :json
- end.count
+ end
stub_client(repos: [repo, org_repo], orgs: [])
group_b = create(:group)
@@ -135,7 +135,7 @@ RSpec.shared_examples 'a GitHub-ish import controller: GET status' do
create(:project, :import_started, import_type: provider, namespace: user.namespace)
expect { get :status, format: :json }
- .not_to exceed_all_query_limit(control_count)
+ .not_to exceed_all_query_limit(control)
end
context 'when user is not allowed to import projects' do
diff --git a/spec/support/shared_examples/controllers/issuables_list_metadata_shared_examples.rb b/spec/support/shared_examples/controllers/issuables_list_metadata_shared_examples.rb
index 446bc4cd92f..461dcf2fcb6 100644
--- a/spec/support/shared_examples/controllers/issuables_list_metadata_shared_examples.rb
+++ b/spec/support/shared_examples/controllers/issuables_list_metadata_shared_examples.rb
@@ -65,7 +65,7 @@ RSpec.shared_examples 'issuables list meta-data' do |issuable_type, action = nil
issuable.update!(source_project: fork_project(project))
end
- expect { get_action(action, project) }.not_to exceed_query_limit(control.count)
+ expect { get_action(action, project) }.not_to exceed_query_limit(control)
end
describe "when given empty collection" do
diff --git a/spec/support/shared_examples/controllers/snippet_shared_examples.rb b/spec/support/shared_examples/controllers/snippet_shared_examples.rb
index f49cc979368..bf8183525a9 100644
--- a/spec/support/shared_examples/controllers/snippet_shared_examples.rb
+++ b/spec/support/shared_examples/controllers/snippet_shared_examples.rb
@@ -17,12 +17,12 @@ RSpec.shared_examples 'snippets views' do
project = create(:project, namespace: user.namespace)
create(:project_snippet, project: project, author: user)
- control_count = ActiveRecord::QueryRecorder.new { get(:index, params: params) }.count
+ control = ActiveRecord::QueryRecorder.new { get(:index, params: params) }
project = create(:project, namespace: user.namespace)
create(:project_snippet, project: project, author: user)
- expect { get(:index, params: params) }.not_to exceed_query_limit(control_count)
+ expect { get(:index, params: params) }.not_to exceed_query_limit(control)
end
end
end
diff --git a/spec/support/shared_examples/models/database_event_tracking_shared_examples.rb b/spec/support/shared_examples/models/database_event_tracking_shared_examples.rb
deleted file mode 100644
index 56b36b3ea07..00000000000
--- a/spec/support/shared_examples/models/database_event_tracking_shared_examples.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-# frozen_string_literal: true
-
-RSpec.shared_examples 'database events tracking' do
- describe 'events tracking' do
- # required definitions:
- # :record, :update_params
- #
- # other available attributes:
- # :project, :namespace
-
- let(:user) { nil }
- let(:category) { described_class.to_s }
- let(:label) { described_class.table_name }
- let(:action) { "database_event_#{property}" }
- let(:record_tracked_attributes) { record.attributes.slice(*described_class::SNOWPLOW_ATTRIBUTES.map(&:to_s)) }
- let(:base_extra) { record_tracked_attributes.merge(project: try(:project), namespace: try(:namespace)) }
-
- before do
- allow(Gitlab::Tracking).to receive(:database_event).and_call_original
- end
-
- describe '#create' do
- it_behaves_like 'Snowplow event tracking', overrides: { tracking_method: :database_event } do
- subject(:create_record) { record }
-
- let(:extra) { base_extra }
- let(:property) { 'create' }
- end
- end
-
- describe '#update', :freeze_time do
- it_behaves_like 'Snowplow event tracking', overrides: { tracking_method: :database_event } do
- subject(:update_record) { record.update!(update_params) }
-
- let(:extra) { base_extra.merge(update_params.stringify_keys) }
- let(:property) { 'update' }
- end
- end
-
- describe '#destroy' do
- it_behaves_like 'Snowplow event tracking', overrides: { tracking_method: :database_event } do
- subject(:delete_record) { record.destroy! }
-
- let(:extra) { base_extra }
- let(:property) { 'destroy' }
- end
- end
- end
-end
diff --git a/spec/support/shared_examples/models/relative_positioning_shared_examples.rb b/spec/support/shared_examples/models/relative_positioning_shared_examples.rb
index 2b46c8c8fb9..692320d45d5 100644
--- a/spec/support/shared_examples/models/relative_positioning_shared_examples.rb
+++ b/spec/support/shared_examples/models/relative_positioning_shared_examples.rb
@@ -175,15 +175,15 @@ RSpec.shared_examples 'a class that supports relative positioning' do
create_items_with_positions(10..12)
a, b, c, d, e, f, *xs = create_items_with_positions([nil] * 10)
- baseline = ActiveRecord::QueryRecorder.new do
+ control = ActiveRecord::QueryRecorder.new do
described_class.move_nulls_to_end([a, b])
end
expect { described_class.move_nulls_to_end([c, d, e, f]) }
- .not_to exceed_query_limit(baseline)
+ .not_to exceed_query_limit(control)
expect { described_class.move_nulls_to_end(xs) }
- .not_to exceed_query_limit(baseline.count)
+ .not_to exceed_query_limit(control)
end
end
diff --git a/spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb b/spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb
index b7247f1f243..2976018b60f 100644
--- a/spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb
+++ b/spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb
@@ -12,7 +12,7 @@ RSpec.shared_examples 'avoid N+1 on environments serialization' do
# See also: https://gitlab.com/gitlab-org/gitlab/-/issues/373151
relax_count = 4
- expect { serialize(grouping: true) }.not_to exceed_query_limit(control.count + relax_count)
+ expect { serialize(grouping: true) }.not_to exceed_query_limit(control).with_threshold(relax_count)
end
it 'avoids N+1 database queries without grouping', :request_store do
@@ -27,7 +27,7 @@ RSpec.shared_examples 'avoid N+1 on environments serialization' do
# See also: https://gitlab.com/gitlab-org/gitlab/-/issues/373151
relax_count = 5
- expect { serialize(grouping: false) }.not_to exceed_query_limit(control.count + relax_count)
+ expect { serialize(grouping: false) }.not_to exceed_query_limit(control).with_threshold(relax_count)
end
it 'does not preload for environments that does not exist in the page', :request_store do
diff --git a/spec/support/shared_examples/services/count_service_shared_examples.rb b/spec/support/shared_examples/services/count_service_shared_examples.rb
index 54c6ff79976..42fe170d2c4 100644
--- a/spec/support/shared_examples/services/count_service_shared_examples.rb
+++ b/spec/support/shared_examples/services/count_service_shared_examples.rb
@@ -10,10 +10,10 @@ RSpec.shared_examples 'a counter caching service' do
describe '#count' do
it 'caches the count', :request_store do
subject.delete_cache
- control_count = ActiveRecord::QueryRecorder.new { subject.count }.count
+ control = ActiveRecord::QueryRecorder.new { subject.count }
subject.delete_cache
- expect { 2.times { subject.count } }.not_to exceed_query_limit(control_count)
+ expect { 2.times { subject.count } }.not_to exceed_query_limit(control)
end
end
diff --git a/spec/support/shared_examples/services/destroy_label_links_shared_examples.rb b/spec/support/shared_examples/services/destroy_label_links_shared_examples.rb
index d2b52468c25..459c957091c 100644
--- a/spec/support/shared_examples/services/destroy_label_links_shared_examples.rb
+++ b/spec/support/shared_examples/services/destroy_label_links_shared_examples.rb
@@ -8,13 +8,13 @@ RSpec.shared_examples_for 'service deleting label links of an issuable' do
end
it 'deletes label links for specified target ID and type' do
- control_count = ActiveRecord::QueryRecorder.new { execute }.count
+ control = ActiveRecord::QueryRecorder.new { execute }
# Create more label links for the target
create(:label_link, target: target)
create(:label_link, target: target)
- expect { execute }.not_to exceed_query_limit(control_count)
+ expect { execute }.not_to exceed_query_limit(control)
expect(target.reload.label_links.count).to eq(0)
end
end
diff --git a/spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb b/spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb
index cb544f42765..97dd2aa96d4 100644
--- a/spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb
+++ b/spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb
@@ -244,10 +244,10 @@ RSpec.shared_examples 'Generate Debian Distribution and component files' do
end
create_list(:debian_package, 10, project: project, published_in: project_distribution)
- control_count = ActiveRecord::QueryRecorder.new { subject2 }.count
+ control = ActiveRecord::QueryRecorder.new { subject2 }
create_list(:debian_package, 10, project: project, published_in: project_distribution)
- expect { subject3 }.not_to exceed_query_limit(control_count)
+ expect { subject3 }.not_to exceed_query_limit(control)
end
end