diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-18 09:45:46 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-18 09:45:46 +0000 |
commit | a7b3560714b4d9cc4ab32dffcd1f74a284b93580 (patch) | |
tree | 7452bd5c3545c2fa67a28aa013835fb4fa071baf /spec/support/shared_examples/requests/api | |
parent | ee9173579ae56a3dbfe5afe9f9410c65bb327ca7 (diff) | |
download | gitlab-ce-a7b3560714b4d9cc4ab32dffcd1f74a284b93580.tar.gz |
Add latest changes from gitlab-org/gitlab@14-8-stable-eev14.8.0-rc42
Diffstat (limited to 'spec/support/shared_examples/requests/api')
4 files changed, 36 insertions, 45 deletions
diff --git a/spec/support/shared_examples/requests/api/graphql/mutations/snippets_shared_examples.rb b/spec/support/shared_examples/requests/api/graphql/mutations/snippets_shared_examples.rb index 8bffd1f71e9..a42a1fda62e 100644 --- a/spec/support/shared_examples/requests/api/graphql/mutations/snippets_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/graphql/mutations/snippets_shared_examples.rb @@ -10,6 +10,8 @@ RSpec.shared_examples 'when the snippet is not found' do end RSpec.shared_examples 'snippet edit usage data counters' do + include SessionHelpers + context 'when user is sessionless' do it 'does not track usage data actions' do expect(::Gitlab::UsageDataCounters::EditorUniqueCounter).not_to receive(:track_snippet_editor_edit_action) @@ -20,14 +22,7 @@ RSpec.shared_examples 'snippet edit usage data counters' do context 'when user is not sessionless', :clean_gitlab_redis_sessions do before do - session_id = Rack::Session::SessionId.new('6919a6f1bb119dd7396fadc38fd18d0d') - session_hash = { 'warden.user.user.key' => [[current_user.id], current_user.encrypted_password[0, 29]] } - - Gitlab::Redis::Sessions.with do |redis| - redis.set("session:gitlab:#{session_id.private_id}", Marshal.dump(session_hash)) - end - - cookies[Gitlab::Application.config.session_options[:key]] = session_id.public_id + stub_session('warden.user.user.key' => [[current_user.id], current_user.encrypted_password[0, 29]]) end it 'tracks usage data actions', :clean_gitlab_redis_sessions do diff --git a/spec/support/shared_examples/requests/api/graphql/packages/group_and_project_packages_list_shared_examples.rb b/spec/support/shared_examples/requests/api/graphql/packages/group_and_project_packages_list_shared_examples.rb index 882c79cb03f..127b1a6d4c4 100644 --- a/spec/support/shared_examples/requests/api/graphql/packages/group_and_project_packages_list_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/graphql/packages/group_and_project_packages_list_shared_examples.rb @@ -3,11 +3,11 @@ RSpec.shared_examples 'group and project packages query' do include GraphqlHelpers - let_it_be(:versionaless_package) { create(:maven_package, project: project1, version: nil) } - let_it_be(:maven_package) { create(:maven_package, project: project1, name: 'tab', version: '4.0.0', created_at: 5.days.ago) } - let_it_be(:package) { create(:npm_package, project: project1, name: 'uab', version: '5.0.0', created_at: 4.days.ago) } - let_it_be(:composer_package) { create(:composer_package, project: project2, name: 'vab', version: '6.0.0', created_at: 3.days.ago) } - let_it_be(:debian_package) { create(:debian_package, project: project2, name: 'zab', version: '7.0.0', created_at: 2.days.ago) } + let_it_be(:versionless_package) { create(:maven_package, project: project1, version: nil) } + let_it_be(:maven_package) { create(:maven_package, project: project1, name: 'bab', version: '6.0.0', created_at: 1.day.ago) } + let_it_be(:npm_package) { create(:npm_package, project: project1, name: 'cab', version: '7.0.0', created_at: 4.days.ago) } + let_it_be(:composer_package) { create(:composer_package, project: project2, name: 'dab', version: '4.0.0', created_at: 3.days.ago) } + let_it_be(:debian_package) { create(:debian_package, project: project2, name: 'aab', version: '5.0.0', created_at: 2.days.ago) } let_it_be(:composer_metadatum) do create(:composer_metadatum, package: composer_package, target_sha: 'afdeh', @@ -21,11 +21,11 @@ RSpec.shared_examples 'group and project packages query' do let(:fields) do <<~QUERY - count - nodes { - #{all_graphql_fields_for('packages'.classify, excluded: ['project'])} - metadata { #{query_graphql_fragment('ComposerMetadata')} } - } + count + nodes { + #{all_graphql_fields_for('packages'.classify, excluded: ['project'])} + metadata { #{query_graphql_fragment('ComposerMetadata')} } + } QUERY end @@ -47,7 +47,7 @@ RSpec.shared_examples 'group and project packages query' do it 'returns packages successfully' do expect(package_names).to contain_exactly( - package.name, + npm_package.name, maven_package.name, debian_package.name, composer_package.name @@ -88,7 +88,23 @@ RSpec.shared_examples 'group and project packages query' do end describe 'sorting and pagination' do - let_it_be(:ascending_packages) { [maven_package, package, composer_package, debian_package].map { |package| global_id_of(package)} } + let_it_be(:packages_order_map) do + { + TYPE_ASC: [maven_package, npm_package, composer_package, debian_package], + TYPE_DESC: [debian_package, composer_package, npm_package, maven_package], + + NAME_ASC: [debian_package, maven_package, npm_package, composer_package], + NAME_DESC: [composer_package, npm_package, maven_package, debian_package], + + VERSION_ASC: [composer_package, debian_package, maven_package, npm_package], + VERSION_DESC: [npm_package, maven_package, debian_package, composer_package], + + CREATED_ASC: [npm_package, composer_package, debian_package, maven_package], + CREATED_DESC: [maven_package, debian_package, composer_package, npm_package] + } + end + + let(:expected_packages) { sorted_packages.map { |package| global_id_of(package) } } let(:data_path) { [resource_type, :packages] } @@ -96,22 +112,14 @@ RSpec.shared_examples 'group and project packages query' do resource.add_reporter(current_user) end - [:CREATED_ASC, :NAME_ASC, :VERSION_ASC, :TYPE_ASC].each do |order| + [:CREATED_ASC, :NAME_ASC, :VERSION_ASC, :TYPE_ASC, :CREATED_DESC, :NAME_DESC, :VERSION_DESC, :TYPE_DESC].each do |order| context "#{order}" do - it_behaves_like 'sorted paginated query' do - let(:sort_param) { order } - let(:first_param) { 4 } - let(:all_records) { ascending_packages } - end - end - end + let(:sorted_packages) { packages_order_map.fetch(order) } - [:CREATED_DESC, :NAME_DESC, :VERSION_DESC, :TYPE_DESC].each do |order| - context "#{order}" do it_behaves_like 'sorted paginated query' do let(:sort_param) { order } let(:first_param) { 4 } - let(:all_records) { ascending_packages.reverse } + let(:all_records) { expected_packages } end end end @@ -180,7 +188,7 @@ RSpec.shared_examples 'group and project packages query' do context 'include_versionless' do let(:params) { { include_versionless: true } } - it { is_expected.to include({ "name" => versionaless_package.name }) } + it { is_expected.to include({ "name" => versionless_package.name }) } end end end diff --git a/spec/support/shared_examples/requests/api/graphql/packages/package_details_shared_examples.rb b/spec/support/shared_examples/requests/api/graphql/packages/package_details_shared_examples.rb index 9385706d991..ab93f54111b 100644 --- a/spec/support/shared_examples/requests/api/graphql/packages/package_details_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/graphql/packages/package_details_shared_examples.rb @@ -49,17 +49,5 @@ RSpec.shared_examples 'a package with files' do expect(response_package_file_ids).not_to include(package_file_pending_destruction.to_global_id.to_s) end - - context 'with packages_installable_package_files disabled' do - before(:context) do - stub_feature_flags(packages_installable_package_files: false) - end - - it 'returns them' do - expect(package.reload.package_files).to include(package_file_pending_destruction) - - expect(response_package_file_ids).to include(package_file_pending_destruction.to_global_id.to_s) - end - end end end diff --git a/spec/support/shared_examples/requests/api/notes_shared_examples.rb b/spec/support/shared_examples/requests/api/notes_shared_examples.rb index 0434d0beb7e..2a157f6e855 100644 --- a/spec/support/shared_examples/requests/api/notes_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/notes_shared_examples.rb @@ -190,7 +190,7 @@ RSpec.shared_examples 'noteable API' do |parent_type, noteable_type, id_name| if parent_type == 'projects' context 'by a project owner' do - let(:user) { project.owner } + let(:user) { project.first_owner } it 'sets the creation time on the new note' do post api("/#{parent_type}/#{parent.id}/#{noteable_type}/#{noteable[id_name]}/notes", user), params: params |