From dc965b8cc88f8dadf879c0d80214864c699ebf1f Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 4 Sep 2020 00:09:08 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/requests/api/project_packages_spec.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'spec/requests/api/project_packages_spec.rb') diff --git a/spec/requests/api/project_packages_spec.rb b/spec/requests/api/project_packages_spec.rb index 0ece3bff8f9..2f0d0fc87ec 100644 --- a/spec/requests/api/project_packages_spec.rb +++ b/spec/requests/api/project_packages_spec.rb @@ -104,6 +104,8 @@ RSpec.describe API::ProjectPackages do expect(json_response.first['name']).to include(package2.name) end end + + it_behaves_like 'does not cause n^2 queries' end end @@ -127,6 +129,22 @@ RSpec.describe API::ProjectPackages do end context 'without the need for a license' do + context 'with build info' do + it 'does not result in additional queries' do + control = ActiveRecord::QueryRecorder.new do + get api(package_url, user) + end + + pipeline = create(:ci_pipeline, user: user) + create(:ci_build, user: user, pipeline: pipeline) + create(:package_build_info, package: package1, pipeline: pipeline) + + expect do + get api(package_url, user) + end.not_to exceed_query_limit(control) + end + end + context 'project is public' do it 'returns 200 and the package information' do subject -- cgit v1.2.1