rspec integration pg12 8/8
Passed Started
by
@DylanGriffith

Dylan Griffith
1Running with gitlab-runner 14.4.0-rc1 (bc99a056)2 on blue-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 1zzGUpzq3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:5c4789e9bb7bb119b87daeffe7ac587b6e6eff4072a1b43b11a5a4209ed7c265 for postgres:12 with digest postgres@sha256:03a821bf55c06afc5b1eca7d1ba2ca0fd13edbe0e2794a90d741f1fea31787af ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:a7a6051077c6c9cfc9ad478778271b49900cb5c4667e64a4128306d8f41a5396 for redis:5.0-alpine with digest redis@sha256:cb5840073dc475b45bf856eb666f5e4d19e3b1ae882e0f3a1396d399cfa23702 ...13Waiting for services to be up and running...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...16Using docker image sha256:b8b4629afe237f58781d0f297f9802abe7234c61d769cef19072e62e539b44db for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:eafffa71075a6c3a6132f20dee186f63e8e6446d7fbde8f8a3aa5c1f8e66ba98 ...18Running on runner-1zzgupzq-project-278964-concurrent-0 via runner-1zzgupzq-private-1635280644-a449d914...20$ eval "$CI_PRE_CLONE_SCRIPT"21Downloading archived master...22Connecting to storage.googleapis.com (172.217.193.128:443)23saving to '/tmp/gitlab.tar.gz'24gitlab.tar.gz 1% | | 4576k 0:01:16 ETA25gitlab.tar.gz 70% |********************** | 240M 0:00:00 ETA26gitlab.tar.gz 100% |********************************| 342M 0:00:00 ETA27'/tmp/gitlab.tar.gz' saved28Extracting tarball into /builds/gitlab-org/gitlab...29Fetching changes with git depth set to 20...30Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/31Created fresh repository.32remote: Enumerating objects: 127042, done. 33remote: Counting objects: 100% (127042/127042), done. 34remote: Compressing objects: 100% (85632/85632), done. 35remote: Total 127042 (delta 58018), reused 87454 (delta 36683), pack-reused 0 36Receiving objects: 100% (127042/127042), 124.85 MiB | 31.43 MiB/s, done.37Resolving deltas: 100% (58018/58018), done.39 * [new ref] e28bf2006022fa717b8e023304aaae32593982e4 -> refs/pipelines/39605215340 * [new branch] master -> origin/master41Checking out e28bf200 as master...42Skipping Git submodules setup44Checking cache for ruby-gems-v1-5...45cache.zip is up to date 46Successfully extracted cache47Checking cache for gitaly-ruby-gems-v1-5...48cache.zip is up to date 49Successfully extracted cache51Downloading artifacts for compile-test-assets (1718320136)...52Downloading artifacts from coordinator... ok id=1718320136 responseStatus=200 OK token=ransSmQE53Downloading artifacts for retrieve-tests-metadata (1718320147)...54Downloading artifacts from coordinator... ok id=1718320147 responseStatus=200 OK token=u5F8xuWx55Downloading artifacts for setup-test-env (1718320139)...56Downloading artifacts from coordinator... ok id=1718320139 responseStatus=200 OK token=GEzxAMiL58Using docker image sha256:b8b4629afe237f58781d0f297f9802abe7234c61d769cef19072e62e539b44db for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:eafffa71075a6c3a6132f20dee186f63e8e6446d7fbde8f8a3aa5c1f8e66ba98 ...59$ echo $FOSS_ONLY60$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb61$ export GOPATH=$CI_PROJECT_DIR/.go62$ mkdir -p $GOPATH63$ source scripts/utils.sh64$ source scripts/prepare_build.sh65Bundler version 2.1.466production:development67Settings are listed in order of priority. The top value will be used.68path69Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"70clean71Set for the current user (/root/.bundle/config): "true"72without73Set via BUNDLE_WITHOUT: [:production, :development]74install_flags75Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"76$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check77The Gemfile's dependencies are satisfied78==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.79$ bundle pristine pg80Installing pg 1.2.3 with native extensions81==> 'bundle pristine pg' succeeded in 13 seconds.82$ setup_db_user_only83CREATE ROLE84GRANT85==> 'setup_db_user_only' succeeded in 1 seconds.86$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee87Dropped database 'gitlabhq_test'88Created database 'gitlabhq_test'89DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)90Dropped database 'gitlabhq_geo_test'91Created database 'gitlabhq_geo_test'92==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 25 seconds.93$ run_timed_command "gem install knapsack --no-document"94$ gem install knapsack --no-document95Successfully installed knapsack-4.0.0961 gem installed97==> 'gem install knapsack --no-document' succeeded in 1 seconds.98$ run_timed_command "scripts/gitaly-test-spawn"99$ scripts/gitaly-test-spawn100Don't run Bundler as root. Bundler can ask for sudo if it is needed, and101installing your bundle as root will break this application for all non-root102users on this machine.103Using abstract_type 0.0.7104Using concurrent-ruby 1.1.9105Using i18n 1.8.10106Using minitest 5.14.4107Using tzinfo 2.0.4108Using zeitwerk 2.4.2109Using activesupport 6.1.4.1110Using builder 3.2.4111Using erubi 1.10.0112Using mini_portile2 2.5.1113Using racc 1.5.2114Using nokogiri 1.11.7 (x86_64-linux)115Using rails-dom-testing 2.0.3116Using crass 1.0.6117Using loofah 2.12.0118Using rails-html-sanitizer 1.4.2119Using actionview 6.1.4.1120Using rack 2.2.3121Using rack-test 1.1.0122Using actionpack 6.1.4.1123Using ice_nine 0.11.2124Using thread_safe 0.3.6125Using memoizable 0.4.2126Using adamantium 0.2.0127Using public_suffix 4.0.6128Using addressable 2.7.0129Using ast 2.4.1130Using binding_ninja 0.2.3131Using bundler 2.1.4132Using charlock_holmes 0.7.7133Using coderay 1.1.2134Using equalizer 0.0.11135Using concord 0.1.5136Using diff-lcs 1.3137Using dotenv 2.7.6138Using escape_utils 1.2.1139Using factory_bot 5.0.2140Using multipart-post 2.1.1141Using faraday 1.0.1142Using ffi 1.15.3143Using json 2.5.1144Using gemojione 3.3.0145Using mini_mime 1.0.2146Using rugged 1.2.0147Using github-linguist 7.12.1148Using github-markup 1.7.0149Using mime-types-data 3.2020.1104150Using mime-types 3.3.1151Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1152Using rouge 3.26.0153Using nokogumbo 1.5.0154Using sanitize 4.6.6155Using stringex 2.8.5156Using gitlab-gollum-lib 4.2.7.10.gitlab.1157Using google-protobuf 3.17.3 (x86_64-linux)158Using googleapis-common-protos-types 1.1.0159Using grpc 1.30.2 (x86_64-linux)160Using opentracing 0.5.0161Using thrift 0.15.0162Using jaeger-client 1.1.0163Using pg_query 2.1.1164Using redis 4.4.0165Using gitlab-labkit 0.21.2166Using gitlab-markup 1.7.1167Using grpc-tools 1.30.2168Using sawyer 0.8.2169Using octokit 4.20.0170Using reverse_markdown 1.4.0171Using thor 1.1.0172Using licensee 9.14.1173Using method_source 0.9.2174Using msgpack 1.3.3175Using optimist 3.0.1176Using parallel 1.19.2177Using parser 2.7.2.0178Using procto 0.0.3179Using unparser 0.4.7180Using proc_to_ast 0.1.0181Using pry 0.12.2182Using rainbow 3.0.0183Using rbtrace 0.4.14184Using rdoc 6.3.2185Using regexp_parser 1.8.1186Using rexml 3.2.4187Using rspec-support 3.8.0188Using rspec-core 3.8.0189Using rspec-expectations 3.8.3190Using rspec-mocks 3.8.0191Using rspec 3.8.0192Using rspec-parameterized 0.4.2193Using rubocop-ast 0.2.0194Using ruby-progressbar 1.10.1195Using unicode-display_width 1.7.0196Using rubocop 0.86.0197Using sentry-raven 3.0.4198Using timecop 0.9.1199Bundle complete! 21 Gemfile dependencies, 96 gems now installed.200Gems in the groups production and development were not installed.201Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`202Checking gitaly-ruby Gemfile...203Checking gitaly-ruby bundle...204The Gemfile's dependencies are satisfied205Trying to connect to gitaly: ....................................... OK206Trying to connect to gitaly2: ................................................................ OK207Trying to connect to praefect: ......... OK208==> 'scripts/gitaly-test-spawn' succeeded in 13 seconds.209$ source ./scripts/rspec_helpers.sh210$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"211KNAPSACK_TEST_FILE_PATTERN: spec/{controllers,mailers,requests}{,/**/}*_spec.rb212Knapsack node specs:213spec/requests/api/nuget_project_packages_spec.rb214spec/requests/api/projects_spec.rb215spec/controllers/projects/merge_requests_controller_spec.rb216spec/requests/api/notes_spec.rb217spec/requests/api/conan_instance_packages_spec.rb218spec/requests/projects/cycle_analytics_events_spec.rb219spec/controllers/projects/branches_controller_spec.rb220spec/controllers/admin/instance_review_controller_spec.rb221spec/requests/api/helm_packages_spec.rb222spec/controllers/autocomplete_controller_spec.rb223spec/controllers/sent_notifications_controller_spec.rb224spec/controllers/ldap/omniauth_callbacks_controller_spec.rb225spec/requests/api/invitations_spec.rb226spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb227spec/requests/api/deployments_spec.rb228spec/controllers/projects/uploads_controller_spec.rb229spec/controllers/projects/milestones_controller_spec.rb230spec/requests/api/go_proxy_spec.rb231spec/controllers/projects/labels_controller_spec.rb232spec/controllers/projects/merge_requests/drafts_controller_spec.rb233spec/requests/api/admin/instance_clusters_spec.rb234spec/controllers/projects/web_ide_terminals_controller_spec.rb235spec/controllers/projects/pages_domains_controller_spec.rb236spec/requests/api/graphql/ci/pipelines_spec.rb237spec/controllers/projects/discussions_controller_spec.rb238spec/requests/api/protected_tags_spec.rb239spec/requests/api/graphql/project/alert_management/alerts_spec.rb240spec/requests/api/task_completion_status_spec.rb241spec/controllers/dashboard/milestones_controller_spec.rb242spec/controllers/projects/avatars_controller_spec.rb243spec/requests/api/unleash_spec.rb244spec/requests/api/graphql_spec.rb245spec/requests/api/graphql/group/dependency_proxy_manifests_spec.rb246spec/requests/api/issue_links_spec.rb247spec/mailers/emails/projects_spec.rb248spec/controllers/groups/variables_controller_spec.rb249spec/controllers/profiles/notifications_controller_spec.rb250spec/controllers/projects/releases/evidences_controller_spec.rb251spec/requests/api/features_spec.rb252spec/requests/api/admin/ci/variables_spec.rb253spec/controllers/projects/merge_requests/content_controller_spec.rb254spec/controllers/projects/pages_controller_spec.rb255spec/requests/api/group_export_spec.rb256spec/requests/search_controller_spec.rb257spec/requests/api/doorkeeper_access_spec.rb258spec/requests/api/graphql/mutations/issues/update_spec.rb259spec/requests/api/graphql/users_spec.rb260spec/controllers/concerns/send_file_upload_spec.rb261spec/controllers/users/terms_controller_spec.rb262spec/requests/api/graphql/mutations/merge_requests/set_locked_spec.rb263spec/requests/groups/autocomplete_sources_spec.rb264spec/requests/api/notification_settings_spec.rb265spec/controllers/projects/service_hook_logs_controller_spec.rb266spec/requests/api/graphql/project/issue/design_collection/versions_spec.rb267spec/controllers/health_check_controller_spec.rb268spec/controllers/admin/topics_controller_spec.rb269spec/requests/api/graphql/group/milestones_spec.rb270spec/controllers/groups/shared_projects_controller_spec.rb271spec/controllers/oauth/authorizations_controller_spec.rb272spec/requests/api/import_bitbucket_server_spec.rb273spec/requests/api/graphql/packages/composer_spec.rb274spec/requests/api/graphql/project/alert_management/alert_status_counts_spec.rb275spec/requests/api/graphql/project/cluster_agents_spec.rb276spec/mailers/emails/releases_spec.rb277spec/requests/projects/merge_requests/creations_spec.rb278spec/requests/api/graphql/mutations/ci/job_retry_spec.rb279spec/requests/api/graphql/mutations/metrics/dashboard/annotations/delete_spec.rb280spec/controllers/projects/analytics/cycle_analytics/summary_controller_spec.rb281spec/requests/api/graphql/ci/runners_spec.rb282spec/requests/whats_new_controller_spec.rb283spec/requests/api/graphql/mutations/dependency_proxy/group_settings/update_spec.rb284spec/mailers/abuse_report_mailer_spec.rb285spec/controllers/projects/error_tracking/projects_controller_spec.rb286spec/requests/jira_authorizations_spec.rb287spec/controllers/admin/hooks_controller_spec.rb288spec/requests/api/graphql/mutations/issues/set_confidential_spec.rb289spec/requests/api/graphql/mutations/ci/pipeline_destroy_spec.rb290spec/controllers/oauth/token_info_controller_spec.rb291spec/requests/admin/background_migrations_controller_spec.rb292spec/controllers/concerns/spammable_actions/akismet_mark_as_spam_action_spec.rb293spec/requests/api/graphql/mutations/issues/set_severity_spec.rb294spec/controllers/admin/usage_trends_controller_spec.rb295spec/controllers/admin/application_settings/appearances_controller_spec.rb296spec/requests/api/graphql/mutations/alert_management/alerts/todo/create_spec.rb297spec/controllers/concerns/redirects_for_missing_path_on_tree_spec.rb298spec/requests/api/graphql/mutations/alert_management/http_integration/reset_token_spec.rb299spec/requests/api/graphql/mutations/release_asset_links/update_spec.rb300spec/controllers/profiles/avatars_controller_spec.rb301spec/requests/api/graphql/mutations/user_callouts/create_spec.rb302spec/controllers/profiles/webauthn_registrations_controller_spec.rb303Filter specs:304Running specs:305Running all node tests without filter306spec/requests/api/nuget_project_packages_spec.rb307spec/requests/api/projects_spec.rb308spec/controllers/projects/merge_requests_controller_spec.rb309spec/requests/api/notes_spec.rb310spec/requests/api/conan_instance_packages_spec.rb311spec/requests/projects/cycle_analytics_events_spec.rb312spec/controllers/projects/branches_controller_spec.rb313spec/controllers/admin/instance_review_controller_spec.rb314spec/requests/api/helm_packages_spec.rb315spec/controllers/autocomplete_controller_spec.rb316spec/controllers/sent_notifications_controller_spec.rb317spec/controllers/ldap/omniauth_callbacks_controller_spec.rb318spec/requests/api/invitations_spec.rb319spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb320spec/requests/api/deployments_spec.rb321spec/controllers/projects/uploads_controller_spec.rb322spec/controllers/projects/milestones_controller_spec.rb323spec/requests/api/go_proxy_spec.rb324spec/controllers/projects/labels_controller_spec.rb325spec/controllers/projects/merge_requests/drafts_controller_spec.rb326spec/requests/api/admin/instance_clusters_spec.rb327spec/controllers/projects/web_ide_terminals_controller_spec.rb328spec/controllers/projects/pages_domains_controller_spec.rb329spec/requests/api/graphql/ci/pipelines_spec.rb330spec/controllers/projects/discussions_controller_spec.rb331spec/requests/api/protected_tags_spec.rb332spec/requests/api/graphql/project/alert_management/alerts_spec.rb333spec/requests/api/task_completion_status_spec.rb334spec/controllers/dashboard/milestones_controller_spec.rb335spec/controllers/projects/avatars_controller_spec.rb336spec/requests/api/unleash_spec.rb337spec/requests/api/graphql_spec.rb338spec/requests/api/graphql/group/dependency_proxy_manifests_spec.rb339spec/requests/api/issue_links_spec.rb340spec/mailers/emails/projects_spec.rb341spec/controllers/groups/variables_controller_spec.rb342spec/controllers/profiles/notifications_controller_spec.rb343spec/controllers/projects/releases/evidences_controller_spec.rb344spec/requests/api/features_spec.rb345spec/requests/api/admin/ci/variables_spec.rb346spec/controllers/projects/merge_requests/content_controller_spec.rb347spec/controllers/projects/pages_controller_spec.rb348spec/requests/api/group_export_spec.rb349spec/requests/search_controller_spec.rb350spec/requests/api/doorkeeper_access_spec.rb351spec/requests/api/graphql/mutations/issues/update_spec.rb352spec/requests/api/graphql/users_spec.rb353spec/controllers/concerns/send_file_upload_spec.rb354spec/controllers/users/terms_controller_spec.rb355spec/requests/api/graphql/mutations/merge_requests/set_locked_spec.rb356spec/requests/groups/autocomplete_sources_spec.rb357spec/requests/api/notification_settings_spec.rb358spec/controllers/projects/service_hook_logs_controller_spec.rb359spec/requests/api/graphql/project/issue/design_collection/versions_spec.rb360spec/controllers/health_check_controller_spec.rb361spec/controllers/admin/topics_controller_spec.rb362spec/requests/api/graphql/group/milestones_spec.rb363spec/controllers/groups/shared_projects_controller_spec.rb364spec/controllers/oauth/authorizations_controller_spec.rb365spec/requests/api/import_bitbucket_server_spec.rb366spec/requests/api/graphql/packages/composer_spec.rb367Knapsack report generator started!368WARNING: Shared example group 'returns a valid json search response' has been previously defined at:369 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335370...and you are now defining it at:371 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335372The new definition will overwrite the original one.373WARNING: Shared example group 'returns a valid json search response' has been previously defined at:374 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335375...and you are now defining it at:376 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335377The new definition will overwrite the original one.378WARNING: Shared example group 'returns a valid json search response' has been previously defined at:379 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335380...and you are now defining it at:381 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335382The new definition will overwrite the original one.383WARNING: Shared example group 'returns a valid json search response' has been previously defined at:384 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335385...and you are now defining it at:386 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335387The new definition will overwrite the original one.388WARNING: Shared example group 'returns a valid json search response' has been previously defined at:389 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335390...and you are now defining it at:391 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335392The new definition will overwrite the original one.393WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:394 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250395...and you are now defining it at:396 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250397The new definition will overwrite the original one.398WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:399 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250400...and you are now defining it at:401 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250402The new definition will overwrite the original one.403WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:404 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250405...and you are now defining it at:406 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250407The new definition will overwrite the original one.408WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:409 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250410...and you are now defining it at:411 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250412The new definition will overwrite the original one.413WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:414 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250415...and you are now defining it at:416 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250417The new definition will overwrite the original one.418Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}419==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.040729393 seconds...420Test environment set up in 1.23706988 seconds421API::NugetProjectPackages422 GET /api/v4/projects/:id/packages/nuget423 behaves like handling nuget service requests424 with valid target425 personal token426 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success427 behaves like process nuget service index request428 for user type developer429 returns a valid json response430 behaves like returning response status431 returns success432 behaves like a package tracking event433 creates a gitlab tracking event cli_metadata434 with invalid format435 behaves like rejects nuget packages access436 for user type anonymous437 behaves like returning response status438 returns not_found439 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success440 behaves like process nuget service index request441 for user type guest442 returns a valid json response443 behaves like returning response status444 returns success445 behaves like a package tracking event446 creates a gitlab tracking event cli_metadata447 with invalid format448 behaves like rejects nuget packages access449 for user type anonymous450 behaves like returning response status451 returns not_found452 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized453 behaves like rejects nuget packages access454 for user type developer455 has the correct response header456 behaves like returning response status457 returns unauthorized458 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized459 behaves like rejects nuget packages access460 for user type guest461 has the correct response header462 behaves like returning response status463 returns unauthorized464 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success465 behaves like process nuget service index request466 for user type developer467 returns a valid json response468 behaves like returning response status469 returns success470 behaves like a package tracking event471 creates a gitlab tracking event cli_metadata472 with invalid format473 behaves like rejects nuget packages access474 for user type anonymous475 behaves like returning response status476 returns not_found477 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success478 behaves like process nuget service index request479 for user type guest480 returns a valid json response481 behaves like returning response status482 returns success483 behaves like a package tracking event484 creates a gitlab tracking event cli_metadata485 with invalid format486 behaves like rejects nuget packages access487 for user type anonymous488 behaves like returning response status489 returns not_found490 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized491 behaves like rejects nuget packages access492 for user type developer493 has the correct response header494 behaves like returning response status495 returns unauthorized496 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized497 behaves like rejects nuget packages access498 for user type guest499 has the correct response header500 behaves like returning response status501 returns unauthorized502 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success503 behaves like process nuget service index request504 for user type anonymous505 returns a valid json response506 behaves like returning response status507 returns success508 behaves like a package tracking event509 creates a gitlab tracking event cli_metadata510 with invalid format511 behaves like rejects nuget packages access512 for user type anonymous513 behaves like returning response status514 returns not_found515 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success516 behaves like process nuget service index request517 for user type developer518 returns a valid json response519 behaves like returning response status520 returns success521 behaves like a package tracking event522 creates a gitlab tracking event cli_metadata523 with invalid format524 behaves like rejects nuget packages access525 for user type anonymous526 behaves like returning response status527 returns not_found528 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden529 behaves like rejects nuget packages access530 for user type guest531 behaves like returning response status532 returns forbidden533 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized534 behaves like rejects nuget packages access535 for user type developer536 has the correct response header537 behaves like returning response status538 returns unauthorized539 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized540 behaves like rejects nuget packages access541 for user type guest542 has the correct response header543 behaves like returning response status544 returns unauthorized545 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found546 behaves like rejects nuget packages access547 for user type developer548 behaves like returning response status549 returns not_found550 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found551 behaves like rejects nuget packages access552 for user type guest553 behaves like returning response status554 returns not_found555 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized556 behaves like rejects nuget packages access557 for user type developer558 has the correct response header559 behaves like returning response status560 returns unauthorized561 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized562 behaves like rejects nuget packages access563 for user type guest564 has the correct response header565 behaves like returning response status566 returns unauthorized567 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized568 behaves like rejects nuget packages access569 for user type anonymous570 has the correct response header571 behaves like returning response status572 returns unauthorized573 with job token574 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success575 behaves like process nuget service index request576 for user type developer577 returns a valid json response578 behaves like returning response status579 returns success580 behaves like a package tracking event581 creates a gitlab tracking event cli_metadata582 with invalid format583 behaves like rejects nuget packages access584 for user type anonymous585 behaves like returning response status586 returns not_found587 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success588 behaves like process nuget service index request589 for user type guest590 returns a valid json response591 behaves like returning response status592 returns success593 behaves like a package tracking event594 creates a gitlab tracking event cli_metadata595 with invalid format596 behaves like rejects nuget packages access597 for user type anonymous598 behaves like returning response status599 returns not_found600 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized601 behaves like rejects nuget packages access602 for user type developer603 has the correct response header604 behaves like returning response status605 returns unauthorized606 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized607 behaves like rejects nuget packages access608 for user type guest609 has the correct response header610 behaves like returning response status611 returns unauthorized612 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success613 behaves like process nuget service index request614 for user type developer615 returns a valid json response616 behaves like returning response status617 returns success618 behaves like a package tracking event619 creates a gitlab tracking event cli_metadata620 with invalid format621 behaves like rejects nuget packages access622 for user type anonymous623 behaves like returning response status624 returns not_found625 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success626 behaves like process nuget service index request627 for user type guest628 returns a valid json response629 behaves like returning response status630 returns success631 behaves like a package tracking event632 creates a gitlab tracking event cli_metadata633 with invalid format634 behaves like rejects nuget packages access635 for user type anonymous636 behaves like returning response status637 returns not_found638 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized639 behaves like rejects nuget packages access640 for user type developer641 has the correct response header642 behaves like returning response status643 returns unauthorized644 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized645 behaves like rejects nuget packages access646 for user type guest647 has the correct response header648 behaves like returning response status649 returns unauthorized650 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success651 behaves like process nuget service index request652 for user type anonymous653 returns a valid json response654 behaves like returning response status655 returns success656 behaves like a package tracking event657 creates a gitlab tracking event cli_metadata658 with invalid format659 behaves like rejects nuget packages access660 for user type anonymous661 behaves like returning response status662 returns not_found663 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success664 behaves like process nuget service index request665 for user type developer666 returns a valid json response667 behaves like returning response status668 returns success669 behaves like a package tracking event670 creates a gitlab tracking event cli_metadata671 with invalid format672 behaves like rejects nuget packages access673 for user type anonymous674 behaves like returning response status675 returns not_found676 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden677 behaves like rejects nuget packages access678 for user type guest679 behaves like returning response status680 returns forbidden681 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized682 behaves like rejects nuget packages access683 for user type developer684 has the correct response header685 behaves like returning response status686 returns unauthorized687 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized688 behaves like rejects nuget packages access689 for user type guest690 has the correct response header691 behaves like returning response status692 returns unauthorized693 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found694 behaves like rejects nuget packages access695 for user type developer696 behaves like returning response status697 returns not_found698 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found699 behaves like rejects nuget packages access700 for user type guest701 behaves like returning response status702 returns not_found703 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized704 behaves like rejects nuget packages access705 for user type developer706 has the correct response header707 behaves like returning response status708 returns unauthorized709 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized710 behaves like rejects nuget packages access711 for user type guest712 has the correct response header713 behaves like returning response status714 returns unauthorized715 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized716 behaves like rejects nuget packages access717 for user type anonymous718 has the correct response header719 behaves like returning response status720 returns unauthorized721 behaves like deploy token for package GET requests722 with deploy token headers723 valid token724 behaves like returning response status725 returns success726 invalid token727 behaves like returning response status728 returns unauthorized729 behaves like rejects nuget access with unknown target id730 with an unknown target731 as anonymous732 behaves like rejects nuget packages access733 for user type anonymous734 has the correct response header735 behaves like returning response status736 returns unauthorized737 as authenticated user738 behaves like rejects nuget packages access739 for user type anonymous740 behaves like returning response status741 returns not_found742 behaves like rejects nuget access with invalid target id743 with a target id with invalid integers744 id: "/../", status: :bad_request745 behaves like rejects nuget packages access746 for user type anonymous747 behaves like returning response status748 returns bad_request749 id: "", status: :not_found750 behaves like rejects nuget packages access751 for user type anonymous752 behaves like returning response status753 returns not_found754 id: "%20", status: :bad_request755 behaves like rejects nuget packages access756 for user type anonymous757 behaves like returning response status758 returns bad_request759 id: "%2e%2e%2f", status: :bad_request760 behaves like rejects nuget packages access761 for user type anonymous762 behaves like returning response status763 returns bad_request764 id: "NaN", status: :bad_request765 behaves like rejects nuget packages access766 for user type anonymous767 behaves like returning response status768 returns bad_request769 id: 1253, status: :unauthorized770 behaves like rejects nuget packages access771 for user type anonymous772 has the correct response header773 behaves like returning response status774 returns unauthorized775 id: "anything25", status: :bad_request776 behaves like rejects nuget packages access777 for user type anonymous778 behaves like returning response status779 returns bad_request780 GET /api/v4/projects/:id/packages/nuget/metadata/*package_name/index781 behaves like handling nuget metadata requests with package name782 with valid target783 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success784 behaves like process nuget metadata request at package name level785 for user type developer786 behaves like returning response status787 returns success788 behaves like returning nuget metadata json response with json schema789 returns a valid json response790 with invalid format791 behaves like rejects nuget packages access792 for user type anonymous793 behaves like returning response status794 returns not_found795 with lower case package name796 behaves like returning response status797 returns success798 behaves like returning nuget metadata json response with json schema799 returns a valid json response800 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success801 behaves like process nuget metadata request at package name level802 for user type guest803 behaves like returning response status804 returns success805 behaves like returning nuget metadata json response with json schema806 returns a valid json response807 with invalid format808 behaves like rejects nuget packages access809 for user type anonymous810 behaves like returning response status811 returns not_found812 with lower case package name813 behaves like returning response status814 returns success815 behaves like returning nuget metadata json response with json schema816 returns a valid json response817 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized818 behaves like rejects nuget packages access819 for user type developer820 has the correct response header821 behaves like returning response status822 returns unauthorized823 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized824 behaves like rejects nuget packages access825 for user type guest826 has the correct response header827 behaves like returning response status828 returns unauthorized829 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success830 behaves like process nuget metadata request at package name level831 for user type developer832 behaves like returning response status833 returns success834 behaves like returning nuget metadata json response with json schema835 returns a valid json response836 with invalid format837 behaves like rejects nuget packages access838 for user type anonymous839 behaves like returning response status840 returns not_found841 with lower case package name842 behaves like returning response status843 returns success844 behaves like returning nuget metadata json response with json schema845 returns a valid json response846 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success847 behaves like process nuget metadata request at package name level848 for user type guest849 behaves like returning response status850 returns success851 behaves like returning nuget metadata json response with json schema852 returns a valid json response853 with invalid format854 behaves like rejects nuget packages access855 for user type anonymous856 behaves like returning response status857 returns not_found858 with lower case package name859 behaves like returning response status860 returns success861 behaves like returning nuget metadata json response with json schema862 returns a valid json response863 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized864 behaves like rejects nuget packages access865 for user type developer866 has the correct response header867 behaves like returning response status868 returns unauthorized869 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized870 behaves like rejects nuget packages access871 for user type guest872 has the correct response header873 behaves like returning response status874 returns unauthorized875 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success876 behaves like process nuget metadata request at package name level877 for user type anonymous878 behaves like returning response status879 returns success880 behaves like returning nuget metadata json response with json schema881 returns a valid json response882 with invalid format883 behaves like rejects nuget packages access884 for user type anonymous885 behaves like returning response status886 returns not_found887 with lower case package name888 behaves like returning response status889 returns success890 behaves like returning nuget metadata json response with json schema891 returns a valid json response892 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success893 behaves like process nuget metadata request at package name level894 for user type developer895 behaves like returning response status896 returns success897 behaves like returning nuget metadata json response with json schema898 returns a valid json response899 with invalid format900 behaves like rejects nuget packages access901 for user type anonymous902 behaves like returning response status903 returns not_found904 with lower case package name905 behaves like returning response status906 returns success907 behaves like returning nuget metadata json response with json schema908 returns a valid json response909 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden910 behaves like rejects nuget packages access911 for user type guest912 behaves like returning response status913 returns forbidden914 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized915 behaves like rejects nuget packages access916 for user type developer917 has the correct response header918 behaves like returning response status919 returns unauthorized920 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized921 behaves like rejects nuget packages access922 for user type guest923 has the correct response header924 behaves like returning response status925 returns unauthorized926 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found927 behaves like rejects nuget packages access928 for user type developer929 behaves like returning response status930 returns not_found931 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found932 behaves like rejects nuget packages access933 for user type guest934 behaves like returning response status935 returns not_found936 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized937 behaves like rejects nuget packages access938 for user type developer939 has the correct response header940 behaves like returning response status941 returns unauthorized942 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized943 behaves like rejects nuget packages access944 for user type guest945 has the correct response header946 behaves like returning response status947 returns unauthorized948 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized949 behaves like rejects nuget packages access950 for user type anonymous951 has the correct response header952 behaves like returning response status953 returns unauthorized954 behaves like deploy token for package GET requests955 with deploy token headers956 valid token957 behaves like returning response status958 returns success959 invalid token960 behaves like returning response status961 returns unauthorized962 behaves like rejects nuget access with unknown target id963 with an unknown target964 as anonymous965 behaves like rejects nuget packages access966 for user type anonymous967 has the correct response header968 behaves like returning response status969 returns unauthorized970 as authenticated user971 behaves like rejects nuget packages access972 for user type anonymous973 behaves like returning response status974 returns not_found975 behaves like rejects nuget access with invalid target id976 with a target id with invalid integers977 id: "/../", status: :bad_request978 behaves like rejects nuget packages access979 for user type anonymous980 behaves like returning response status981 returns bad_request982 id: "", status: :not_found983 behaves like rejects nuget packages access984 for user type anonymous985 behaves like returning response status986 returns not_found987 id: "%20", status: :bad_request988 behaves like rejects nuget packages access989 for user type anonymous990 behaves like returning response status991 returns bad_request992 id: "%2e%2e%2f", status: :bad_request993 behaves like rejects nuget packages access994 for user type anonymous995 behaves like returning response status996 returns bad_request997 id: "NaN", status: :bad_request998 behaves like rejects nuget packages access999 for user type anonymous1000 behaves like returning response status1001 returns bad_request1002 id: 1253, status: :unauthorized1003 behaves like rejects nuget packages access1004 for user type anonymous1005 has the correct response header1006 behaves like returning response status1007 returns unauthorized1008 id: "anything25", status: :bad_request1009 behaves like rejects nuget packages access1010 for user type anonymous1011 behaves like returning response status1012 returns bad_request1013 GET /api/v4/projects/:id/packages/nuget/metadata/*package_name/*package_version1014 behaves like handling nuget metadata requests with package name and package version1015 with valid target1016 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1017 behaves like process nuget metadata request at package name and package version level1018 for user type developer1019 behaves like returning response status1020 returns success1021 behaves like returning nuget metadata json response with json schema1022 returns a valid json response1023 with invalid format1024 behaves like rejects nuget packages access1025 for user type anonymous1026 behaves like returning response status1027 returns not_found1028 with lower case package name1029 behaves like returning response status1030 returns success1031 behaves like returning nuget metadata json response with json schema1032 returns a valid json response1033 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1034 behaves like process nuget metadata request at package name and package version level1035 for user type guest1036 behaves like returning response status1037 returns success1038 behaves like returning nuget metadata json response with json schema1039 returns a valid json response1040 with invalid format1041 behaves like rejects nuget packages access1042 for user type anonymous1043 behaves like returning response status1044 returns not_found1045 with lower case package name1046 behaves like returning response status1047 returns success1048 behaves like returning nuget metadata json response with json schema1049 returns a valid json response1050 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1051 behaves like rejects nuget packages access1052 for user type developer1053 has the correct response header1054 behaves like returning response status1055 returns unauthorized1056 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1057 behaves like rejects nuget packages access1058 for user type guest1059 has the correct response header1060 behaves like returning response status1061 returns unauthorized1062 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1063 behaves like process nuget metadata request at package name and package version level1064 for user type developer1065 behaves like returning response status1066 returns success1067 behaves like returning nuget metadata json response with json schema1068 returns a valid json response1069 with invalid format1070 behaves like rejects nuget packages access1071 for user type anonymous1072 behaves like returning response status1073 returns not_found1074 with lower case package name1075 behaves like returning response status1076 returns success1077 behaves like returning nuget metadata json response with json schema1078 returns a valid json response1079 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1080 behaves like process nuget metadata request at package name and package version level1081 for user type guest1082 behaves like returning response status1083 returns success1084 behaves like returning nuget metadata json response with json schema1085 returns a valid json response1086 with invalid format1087 behaves like rejects nuget packages access1088 for user type anonymous1089 behaves like returning response status1090 returns not_found1091 with lower case package name1092 behaves like returning response status1093 returns success1094 behaves like returning nuget metadata json response with json schema1095 returns a valid json response1096 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1097 behaves like rejects nuget packages access1098 for user type developer1099 has the correct response header1100 behaves like returning response status1101 returns unauthorized1102 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1103 behaves like rejects nuget packages access1104 for user type guest1105 has the correct response header1106 behaves like returning response status1107 returns unauthorized1108 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1109 behaves like process nuget metadata request at package name and package version level1110 for user type anonymous1111 behaves like returning response status1112 returns success1113 behaves like returning nuget metadata json response with json schema1114 returns a valid json response1115 with invalid format1116 behaves like rejects nuget packages access1117 for user type anonymous1118 behaves like returning response status1119 returns not_found1120 with lower case package name1121 behaves like returning response status1122 returns success1123 behaves like returning nuget metadata json response with json schema1124 returns a valid json response1125 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1126 behaves like process nuget metadata request at package name and package version level1127 for user type developer1128 behaves like returning response status1129 returns success1130 behaves like returning nuget metadata json response with json schema1131 returns a valid json response1132 with invalid format1133 behaves like rejects nuget packages access1134 for user type anonymous1135 behaves like returning response status1136 returns not_found1137 with lower case package name1138 behaves like returning response status1139 returns success1140 behaves like returning nuget metadata json response with json schema1141 returns a valid json response1142 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1143 behaves like rejects nuget packages access1144 for user type guest1145 behaves like returning response status1146 returns forbidden1147 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1148 behaves like rejects nuget packages access1149 for user type developer1150 has the correct response header1151 behaves like returning response status1152 returns unauthorized1153 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1154 behaves like rejects nuget packages access1155 for user type guest1156 has the correct response header1157 behaves like returning response status1158 returns unauthorized1159 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1160 behaves like rejects nuget packages access1161 for user type developer1162 behaves like returning response status1163 returns not_found1164 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1165 behaves like rejects nuget packages access1166 for user type guest1167 behaves like returning response status1168 returns not_found1169 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1170 behaves like rejects nuget packages access1171 for user type developer1172 has the correct response header1173 behaves like returning response status1174 returns unauthorized1175 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1176 behaves like rejects nuget packages access1177 for user type guest1178 has the correct response header1179 behaves like returning response status1180 returns unauthorized1181 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1182 behaves like rejects nuget packages access1183 for user type anonymous1184 has the correct response header1185 behaves like returning response status1186 returns unauthorized1187 behaves like deploy token for package GET requests1188 with deploy token headers1189 valid token1190 behaves like returning response status1191 returns success1192 invalid token1193 behaves like returning response status1194 returns unauthorized1195 behaves like rejects nuget access with unknown target id1196 with an unknown target1197 as anonymous1198 behaves like rejects nuget packages access1199 for user type anonymous1200 has the correct response header1201 behaves like returning response status1202 returns unauthorized1203 as authenticated user1204 behaves like rejects nuget packages access1205 for user type anonymous1206 behaves like returning response status1207 returns not_found1208 behaves like rejects nuget access with invalid target id1209 with a target id with invalid integers1210 id: "/../", status: :bad_request1211 behaves like rejects nuget packages access1212 for user type anonymous1213 behaves like returning response status1214 returns bad_request1215 id: "", status: :not_found1216 behaves like rejects nuget packages access1217 for user type anonymous1218 behaves like returning response status1219 returns not_found1220 id: "%20", status: :bad_request1221 behaves like rejects nuget packages access1222 for user type anonymous1223 behaves like returning response status1224 returns bad_request1225 id: "%2e%2e%2f", status: :bad_request1226 behaves like rejects nuget packages access1227 for user type anonymous1228 behaves like returning response status1229 returns bad_request1230 id: "NaN", status: :bad_request1231 behaves like rejects nuget packages access1232 for user type anonymous1233 behaves like returning response status1234 returns bad_request1235 id: 1253, status: :unauthorized1236 behaves like rejects nuget packages access1237 for user type anonymous1238 has the correct response header1239 behaves like returning response status1240 returns unauthorized1241 id: "anything25", status: :bad_request1242 behaves like rejects nuget packages access1243 for user type anonymous1244 behaves like returning response status1245 returns bad_request1246 GET /api/v4/projects/:id/packages/nuget/query1247 behaves like handling nuget search requests1248 with valid target1249 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1250 behaves like process nuget search request1251 for user type developer1252 behaves like returns a valid json search response1253 returns a valid json response1254 behaves like returning response status1255 returns success1256 behaves like a package tracking event1257 creates a gitlab tracking event search_package1258 with skip set to 21259 behaves like returns a valid json search response1260 returns a valid json response1261 behaves like returning response status1262 returns success1263 with take set to 21264 behaves like returns a valid json search response1265 returns a valid json response1266 behaves like returning response status1267 returns success1268 without prereleases1269 behaves like returns a valid json search response1270 returns a valid json response1271 behaves like returning response status1272 returns success1273 with empty search term1274 behaves like returns a valid json search response1275 returns a valid json response1276 behaves like returning response status1277 returns success1278 with nil search term1279 behaves like returns a valid json search response1280 returns a valid json response1281 behaves like returning response status1282 returns success1283 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1284 behaves like process nuget search request1285 for user type guest1286 behaves like returns a valid json search response1287 returns a valid json response1288 behaves like returning response status1289 returns success1290 behaves like a package tracking event1291 creates a gitlab tracking event search_package1292 with skip set to 21293 behaves like returns a valid json search response1294 returns a valid json response1295 behaves like returning response status1296 returns success1297 with take set to 21298 behaves like returns a valid json search response1299 returns a valid json response1300 behaves like returning response status1301 returns success1302 without prereleases1303 behaves like returns a valid json search response1304 returns a valid json response1305 behaves like returning response status1306 returns success1307 with empty search term1308 behaves like returns a valid json search response1309 returns a valid json response1310 behaves like returning response status1311 returns success1312 with nil search term1313 behaves like returns a valid json search response1314 returns a valid json response1315 behaves like returning response status1316 returns success1317 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1318 behaves like rejects nuget packages access1319 for user type developer1320 has the correct response header1321 behaves like returning response status1322 returns unauthorized1323 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1324 behaves like rejects nuget packages access1325 for user type guest1326 has the correct response header1327 behaves like returning response status1328 returns unauthorized1329 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1330 behaves like process nuget search request1331 for user type developer1332 behaves like returns a valid json search response1333 returns a valid json response1334 behaves like returning response status1335 returns success1336 behaves like a package tracking event1337 creates a gitlab tracking event search_package1338 with skip set to 21339 behaves like returns a valid json search response1340 returns a valid json response1341 behaves like returning response status1342 returns success1343 with take set to 21344 behaves like returns a valid json search response1345 returns a valid json response1346 behaves like returning response status1347 returns success1348 without prereleases1349 behaves like returns a valid json search response1350 returns a valid json response1351 behaves like returning response status1352 returns success1353 with empty search term1354 behaves like returns a valid json search response1355 returns a valid json response1356 behaves like returning response status1357 returns success1358 with nil search term1359 behaves like returns a valid json search response1360 returns a valid json response1361 behaves like returning response status1362 returns success1363 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1364 behaves like process nuget search request1365 for user type guest1366 behaves like returns a valid json search response1367 returns a valid json response1368 behaves like returning response status1369 returns success1370 behaves like a package tracking event1371 creates a gitlab tracking event search_package1372 with skip set to 21373 behaves like returns a valid json search response1374 returns a valid json response1375 behaves like returning response status1376 returns success1377 with take set to 21378 behaves like returns a valid json search response1379 returns a valid json response1380 behaves like returning response status1381 returns success1382 without prereleases1383 behaves like returns a valid json search response1384 returns a valid json response1385 behaves like returning response status1386 returns success1387 with empty search term1388 behaves like returns a valid json search response1389 returns a valid json response1390 behaves like returning response status1391 returns success1392 with nil search term1393 behaves like returns a valid json search response1394 returns a valid json response1395 behaves like returning response status1396 returns success1397 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1398 behaves like rejects nuget packages access1399 for user type developer1400 has the correct response header1401 behaves like returning response status1402 returns unauthorized1403 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1404 behaves like rejects nuget packages access1405 for user type guest1406 has the correct response header1407 behaves like returning response status1408 returns unauthorized1409 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1410 behaves like process nuget search request1411 for user type anonymous1412 behaves like returns a valid json search response1413 returns a valid json response1414 behaves like returning response status1415 returns success1416 behaves like a package tracking event1417 creates a gitlab tracking event search_package1418 with skip set to 21419 behaves like returns a valid json search response1420 returns a valid json response1421 behaves like returning response status1422 returns success1423 with take set to 21424 behaves like returns a valid json search response1425 returns a valid json response1426 behaves like returning response status1427 returns success1428 without prereleases1429 behaves like returns a valid json search response1430 returns a valid json response1431 behaves like returning response status1432 returns success1433 with empty search term1434 behaves like returns a valid json search response1435 returns a valid json response1436 behaves like returning response status1437 returns success1438 with nil search term1439 behaves like returns a valid json search response1440 returns a valid json response1441 behaves like returning response status1442 returns success1443 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1444 behaves like process nuget search request1445 for user type developer1446 behaves like returns a valid json search response1447 returns a valid json response1448 behaves like returning response status1449 returns success1450 behaves like a package tracking event1451 creates a gitlab tracking event search_package1452 with skip set to 21453 behaves like returns a valid json search response1454 returns a valid json response1455 behaves like returning response status1456 returns success1457 with take set to 21458 behaves like returns a valid json search response1459 returns a valid json response1460 behaves like returning response status1461 returns success1462 without prereleases1463 behaves like returns a valid json search response1464 returns a valid json response1465 behaves like returning response status1466 returns success1467 with empty search term1468 behaves like returns a valid json search response1469 returns a valid json response1470 behaves like returning response status1471 returns success1472 with nil search term1473 behaves like returns a valid json search response1474 returns a valid json response1475 behaves like returning response status1476 returns success1477 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1478 behaves like rejects nuget packages access1479 for user type guest1480 behaves like returning response status1481 returns forbidden1482 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1483 behaves like rejects nuget packages access1484 for user type developer1485 has the correct response header1486 behaves like returning response status1487 returns unauthorized1488 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1489 behaves like rejects nuget packages access1490 for user type guest1491 has the correct response header1492 behaves like returning response status1493 returns unauthorized1494 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1495 behaves like rejects nuget packages access1496 for user type developer1497 behaves like returning response status1498 returns not_found1499 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1500 behaves like rejects nuget packages access1501 for user type guest1502 behaves like returning response status1503 returns not_found1504 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1505 behaves like rejects nuget packages access1506 for user type developer1507 has the correct response header1508 behaves like returning response status1509 returns unauthorized1510 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1511 behaves like rejects nuget packages access1512 for user type guest1513 has the correct response header1514 behaves like returning response status1515 returns unauthorized1516 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1517 behaves like rejects nuget packages access1518 for user type anonymous1519 has the correct response header1520 behaves like returning response status1521 returns unauthorized1522 behaves like deploy token for package GET requests1523 with deploy token headers1524 valid token1525 behaves like returning response status1526 returns success1527 invalid token1528 behaves like returning response status1529 returns unauthorized1530 behaves like rejects nuget access with unknown target id1531 with an unknown target1532 as anonymous1533 behaves like rejects nuget packages access1534 for user type anonymous1535 has the correct response header1536 behaves like returning response status1537 returns unauthorized1538 as authenticated user1539 behaves like rejects nuget packages access1540 for user type anonymous1541 behaves like returning response status1542 returns not_found1543 behaves like rejects nuget access with invalid target id1544 with a target id with invalid integers1545 id: "/../", status: :bad_request1546 behaves like rejects nuget packages access1547 for user type anonymous1548 behaves like returning response status1549 returns bad_request1550 id: "", status: :not_found1551 behaves like rejects nuget packages access1552 for user type anonymous1553 behaves like returning response status1554 returns not_found1555 id: "%20", status: :bad_request1556 behaves like rejects nuget packages access1557 for user type anonymous1558 behaves like returning response status1559 returns bad_request1560 id: "%2e%2e%2f", status: :bad_request1561 behaves like rejects nuget packages access1562 for user type anonymous1563 behaves like returning response status1564 returns bad_request1565 id: "NaN", status: :bad_request1566 behaves like rejects nuget packages access1567 for user type anonymous1568 behaves like returning response status1569 returns bad_request1570 id: 1253, status: :unauthorized1571 behaves like rejects nuget packages access1572 for user type anonymous1573 has the correct response header1574 behaves like returning response status1575 returns unauthorized1576 id: "anything25", status: :bad_request1577 behaves like rejects nuget packages access1578 for user type anonymous1579 behaves like returning response status1580 returns bad_request1581 GET /api/v4/projects/:id/packages/nuget/download/*package_name/index1582 with valid target1583 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1584 behaves like process nuget download versions request1585 for user type developer1586 behaves like returning response status1587 returns success1588 behaves like returns a valid nuget download versions json response1589 returns a valid json response1590 with invalid format1591 behaves like rejects nuget packages access1592 for user type anonymous1593 behaves like returning response status1594 returns not_found1595 with lower case package name1596 behaves like returning response status1597 returns success1598 behaves like returns a valid nuget download versions json response1599 returns a valid json response1600 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1601 behaves like process nuget download versions request1602 for user type guest1603 behaves like returning response status1604 returns success1605 behaves like returns a valid nuget download versions json response1606 returns a valid json response1607 with invalid format1608 behaves like rejects nuget packages access1609 for user type anonymous1610 behaves like returning response status1611 returns not_found1612 with lower case package name1613 behaves like returning response status1614 returns success1615 behaves like returns a valid nuget download versions json response1616 returns a valid json response1617 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1618 behaves like rejects nuget packages access1619 for user type developer1620 has the correct response header1621 behaves like returning response status1622 returns unauthorized1623 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1624 behaves like rejects nuget packages access1625 for user type guest1626 has the correct response header1627 behaves like returning response status1628 returns unauthorized1629 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1630 behaves like process nuget download versions request1631 for user type developer1632 behaves like returning response status1633 returns success1634 behaves like returns a valid nuget download versions json response1635 returns a valid json response1636 with invalid format1637 behaves like rejects nuget packages access1638 for user type anonymous1639 behaves like returning response status1640 returns not_found1641 with lower case package name1642 behaves like returning response status1643 returns success1644 behaves like returns a valid nuget download versions json response1645 returns a valid json response1646 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1647 behaves like process nuget download versions request1648 for user type guest1649 behaves like returning response status1650 returns success1651 behaves like returns a valid nuget download versions json response1652 returns a valid json response1653 with invalid format1654 behaves like rejects nuget packages access1655 for user type anonymous1656 behaves like returning response status1657 returns not_found1658 with lower case package name1659 behaves like returning response status1660 returns success1661 behaves like returns a valid nuget download versions json response1662 returns a valid json response1663 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1664 behaves like rejects nuget packages access1665 for user type developer1666 has the correct response header1667 behaves like returning response status1668 returns unauthorized1669 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1670 behaves like rejects nuget packages access1671 for user type guest1672 has the correct response header1673 behaves like returning response status1674 returns unauthorized1675 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1676 behaves like process nuget download versions request1677 for user type anonymous1678 behaves like returning response status1679 returns success1680 behaves like returns a valid nuget download versions json response1681 returns a valid json response1682 with invalid format1683 behaves like rejects nuget packages access1684 for user type anonymous1685 behaves like returning response status1686 returns not_found1687 with lower case package name1688 behaves like returning response status1689 returns success1690 behaves like returns a valid nuget download versions json response1691 returns a valid json response1692 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1693 behaves like process nuget download versions request1694 for user type developer1695 behaves like returning response status1696 returns success1697 behaves like returns a valid nuget download versions json response1698 returns a valid json response1699 with invalid format1700 behaves like rejects nuget packages access1701 for user type anonymous1702 behaves like returning response status1703 returns not_found1704 with lower case package name1705 behaves like returning response status1706 returns success1707 behaves like returns a valid nuget download versions json response1708 returns a valid json response1709 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1710 behaves like rejects nuget packages access1711 for user type guest1712 behaves like returning response status1713 returns forbidden1714 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1715 behaves like rejects nuget packages access1716 for user type developer1717 has the correct response header1718 behaves like returning response status1719 returns unauthorized1720 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1721 behaves like rejects nuget packages access1722 for user type guest1723 has the correct response header1724 behaves like returning response status1725 returns unauthorized1726 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1727 behaves like rejects nuget packages access1728 for user type developer1729 behaves like returning response status1730 returns not_found1731 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1732 behaves like rejects nuget packages access1733 for user type guest1734 behaves like returning response status1735 returns not_found1736 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1737 behaves like rejects nuget packages access1738 for user type developer1739 has the correct response header1740 behaves like returning response status1741 returns unauthorized1742 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1743 behaves like rejects nuget packages access1744 for user type guest1745 has the correct response header1746 behaves like returning response status1747 returns unauthorized1748 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1749 behaves like rejects nuget packages access1750 for user type anonymous1751 has the correct response header1752 behaves like returning response status1753 returns unauthorized1754 behaves like deploy token for package GET requests1755 with deploy token headers1756 valid token1757 behaves like returning response status1758 returns success1759 invalid token1760 behaves like returning response status1761 returns unauthorized1762 behaves like rejects nuget access with unknown target id1763 with an unknown target1764 as anonymous1765 behaves like rejects nuget packages access1766 for user type anonymous1767 has the correct response header1768 behaves like returning response status1769 returns unauthorized1770 as authenticated user1771 behaves like rejects nuget packages access1772 for user type anonymous1773 behaves like returning response status1774 returns not_found1775 behaves like rejects nuget access with invalid target id1776 with a target id with invalid integers1777 id: "/../", status: :bad_request1778 behaves like rejects nuget packages access1779 for user type anonymous1780 behaves like returning response status1781 returns bad_request1782 id: "", status: :not_found1783 behaves like rejects nuget packages access1784 for user type anonymous1785 behaves like returning response status1786 returns not_found1787 id: "%20", status: :bad_request1788 behaves like rejects nuget packages access1789 for user type anonymous1790 behaves like returning response status1791 returns bad_request1792 id: "%2e%2e%2f", status: :bad_request1793 behaves like rejects nuget packages access1794 for user type anonymous1795 behaves like returning response status1796 returns bad_request1797 id: "NaN", status: :bad_request1798 behaves like rejects nuget packages access1799 for user type anonymous1800 behaves like returning response status1801 returns bad_request1802 id: 1253, status: :unauthorized1803 behaves like rejects nuget packages access1804 for user type anonymous1805 has the correct response header1806 behaves like returning response status1807 returns unauthorized1808 id: "anything25", status: :bad_request1809 behaves like rejects nuget packages access1810 for user type anonymous1811 behaves like returning response status1812 returns bad_request1813 GET /api/v4/projects/:id/packages/nuget/download/*package_name/*package_version/*package_filename1814 with valid target1815 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1816 behaves like process nuget download content request1817 for user type developer1818 returns a valid package archive1819 behaves like returning response status1820 returns success1821 behaves like a package tracking event1822 creates a gitlab tracking event pull_package1823 with invalid format1824 behaves like rejects nuget packages access1825 for user type anonymous1826 behaves like returning response status1827 returns not_found1828 with symbol package1829 returns a valid package archive1830 behaves like a package tracking event1831 creates a gitlab tracking event pull_symbol_package1832 with lower case package name1833 returns a valid package archive1834 behaves like returning response status1835 returns success1836 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1837 behaves like process nuget download content request1838 for user type guest1839 returns a valid package archive1840 behaves like returning response status1841 returns success1842 behaves like a package tracking event1843 creates a gitlab tracking event pull_package1844 with invalid format1845 behaves like rejects nuget packages access1846 for user type anonymous1847 behaves like returning response status1848 returns not_found1849 with symbol package1850 returns a valid package archive1851 behaves like a package tracking event1852 creates a gitlab tracking event pull_symbol_package1853 with lower case package name1854 returns a valid package archive1855 behaves like returning response status1856 returns success1857 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1858 behaves like rejects nuget packages access1859 for user type developer1860 has the correct response header1861 behaves like returning response status1862 returns unauthorized1863 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1864 behaves like rejects nuget packages access1865 for user type guest1866 has the correct response header1867 behaves like returning response status1868 returns unauthorized1869 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1870 behaves like process nuget download content request1871 for user type developer1872 returns a valid package archive1873 behaves like returning response status1874 returns success1875 behaves like a package tracking event1876 creates a gitlab tracking event pull_package1877 with invalid format1878 behaves like rejects nuget packages access1879 for user type anonymous1880 behaves like returning response status1881 returns not_found1882 with symbol package1883 returns a valid package archive1884 behaves like a package tracking event1885 creates a gitlab tracking event pull_symbol_package1886 with lower case package name1887 returns a valid package archive1888 behaves like returning response status1889 returns success1890 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1891 behaves like process nuget download content request1892 for user type guest1893 returns a valid package archive1894 behaves like returning response status1895 returns success1896 behaves like a package tracking event1897 creates a gitlab tracking event pull_package1898 with invalid format1899 behaves like rejects nuget packages access1900 for user type anonymous1901 behaves like returning response status1902 returns not_found1903 with symbol package1904 returns a valid package archive1905 behaves like a package tracking event1906 creates a gitlab tracking event pull_symbol_package1907 with lower case package name1908 returns a valid package archive1909 behaves like returning response status1910 returns success1911 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1912 behaves like rejects nuget packages access1913 for user type developer1914 has the correct response header1915 behaves like returning response status1916 returns unauthorized1917 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1918 behaves like rejects nuget packages access1919 for user type guest1920 has the correct response header1921 behaves like returning response status1922 returns unauthorized1923 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1924 behaves like process nuget download content request1925 for user type anonymous1926 returns a valid package archive1927 behaves like returning response status1928 returns success1929 behaves like a package tracking event1930 creates a gitlab tracking event pull_package1931 with invalid format1932 behaves like rejects nuget packages access1933 for user type anonymous1934 behaves like returning response status1935 returns not_found1936 with symbol package1937 returns a valid package archive1938 behaves like a package tracking event1939 creates a gitlab tracking event pull_symbol_package1940 with lower case package name1941 returns a valid package archive1942 behaves like returning response status1943 returns success1944 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1945 behaves like process nuget download content request1946 for user type developer1947 returns a valid package archive1948 behaves like returning response status1949 returns success1950 behaves like a package tracking event1951 creates a gitlab tracking event pull_package1952 with invalid format1953 behaves like rejects nuget packages access1954 for user type anonymous1955 behaves like returning response status1956 returns not_found1957 with symbol package1958 returns a valid package archive1959 behaves like a package tracking event1960 creates a gitlab tracking event pull_symbol_package1961 with lower case package name1962 returns a valid package archive1963 behaves like returning response status1964 returns success1965 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1966 behaves like rejects nuget packages access1967 for user type guest1968 behaves like returning response status1969 returns forbidden1970 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1971 behaves like rejects nuget packages access1972 for user type developer1973 has the correct response header1974 behaves like returning response status1975 returns unauthorized1976 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1977 behaves like rejects nuget packages access1978 for user type guest1979 has the correct response header1980 behaves like returning response status1981 returns unauthorized1982 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1983 behaves like rejects nuget packages access1984 for user type developer1985 behaves like returning response status1986 returns not_found1987 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1988 behaves like rejects nuget packages access1989 for user type guest1990 behaves like returning response status1991 returns not_found1992 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1993 behaves like rejects nuget packages access1994 for user type developer1995 has the correct response header1996 behaves like returning response status1997 returns unauthorized1998 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1999 behaves like rejects nuget packages access2000 for user type guest2001 has the correct response header2002 behaves like returning response status2003 returns unauthorized2004 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2005 behaves like rejects nuget packages access2006 for user type anonymous2007 has the correct response header2008 behaves like returning response status2009 returns unauthorized2010 behaves like deploy token for package GET requests2011 with deploy token headers2012 valid token2013 behaves like returning response status2014 returns success2015 invalid token2016 behaves like returning response status2017 returns unauthorized2018 behaves like rejects nuget access with unknown target id2019 with an unknown target2020 as anonymous2021 behaves like rejects nuget packages access2022 for user type anonymous2023 has the correct response header2024 behaves like returning response status2025 returns unauthorized2026 as authenticated user2027 behaves like rejects nuget packages access2028 for user type anonymous2029 behaves like returning response status2030 returns not_found2031 behaves like rejects nuget access with invalid target id2032 with a target id with invalid integers2033 id: "/../", status: :bad_request2034 behaves like rejects nuget packages access2035 for user type anonymous2036 behaves like returning response status2037 returns bad_request2038 id: "", status: :not_found2039 behaves like rejects nuget packages access2040 for user type anonymous2041 behaves like returning response status2042 returns not_found2043 id: "%20", status: :bad_request2044 behaves like rejects nuget packages access2045 for user type anonymous2046 behaves like returning response status2047 returns bad_request2048 id: "%2e%2e%2f", status: :bad_request2049 behaves like rejects nuget packages access2050 for user type anonymous2051 behaves like returning response status2052 returns bad_request2053 id: "NaN", status: :bad_request2054 behaves like rejects nuget packages access2055 for user type anonymous2056 behaves like returning response status2057 returns bad_request2058 id: 1253, status: :unauthorized2059 behaves like rejects nuget packages access2060 for user type anonymous2061 has the correct response header2062 behaves like returning response status2063 returns unauthorized2064 id: "anything25", status: :bad_request2065 behaves like rejects nuget packages access2066 for user type anonymous2067 behaves like returning response status2068 returns bad_request2069 PUT /api/v4/projects/:id/packages/nuget/authorize2070 behaves like nuget authorize upload endpoint2071 with valid project2072 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2073 behaves like process nuget workhorse authorization2074 for user type developer2075 has the proper content type2076 behaves like returning response status2077 returns success2078 with a request that bypassed gitlab-workhorse2079 behaves like returning response status2080 returns forbidden2081 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2082 behaves like rejects nuget packages access2083 for user type guest2084 behaves like returning response status2085 returns forbidden2086 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2087 behaves like rejects nuget packages access2088 for user type developer2089 has the correct response header2090 behaves like returning response status2091 returns unauthorized2092 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2093 behaves like rejects nuget packages access2094 for user type guest2095 has the correct response header2096 behaves like returning response status2097 returns unauthorized2098 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2099 behaves like rejects nuget packages access2100 for user type developer2101 behaves like returning response status2102 returns forbidden2103 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2104 behaves like rejects nuget packages access2105 for user type guest2106 behaves like returning response status2107 returns forbidden2108 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2109 behaves like rejects nuget packages access2110 for user type developer2111 has the correct response header2112 behaves like returning response status2113 returns unauthorized2114 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2115 behaves like rejects nuget packages access2116 for user type guest2117 has the correct response header2118 behaves like returning response status2119 returns unauthorized2120 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2121 behaves like rejects nuget packages access2122 for user type anonymous2123 has the correct response header2124 behaves like returning response status2125 returns unauthorized2126 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2127 behaves like process nuget workhorse authorization2128 for user type developer2129 has the proper content type2130 behaves like returning response status2131 returns success2132 with a request that bypassed gitlab-workhorse2133 behaves like returning response status2134 returns forbidden2135 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2136 behaves like rejects nuget packages access2137 for user type guest2138 behaves like returning response status2139 returns forbidden2140 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2141 behaves like rejects nuget packages access2142 for user type developer2143 has the correct response header2144 behaves like returning response status2145 returns unauthorized2146 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2147 behaves like rejects nuget packages access2148 for user type guest2149 has the correct response header2150 behaves like returning response status2151 returns unauthorized2152 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2153 behaves like rejects nuget packages access2154 for user type developer2155 behaves like returning response status2156 returns not_found2157 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2158 behaves like rejects nuget packages access2159 for user type guest2160 behaves like returning response status2161 returns not_found2162 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2163 behaves like rejects nuget packages access2164 for user type developer2165 has the correct response header2166 behaves like returning response status2167 returns unauthorized2168 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2169 behaves like rejects nuget packages access2170 for user type guest2171 has the correct response header2172 behaves like returning response status2173 returns unauthorized2174 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2175 behaves like rejects nuget packages access2176 for user type anonymous2177 has the correct response header2178 behaves like returning response status2179 returns unauthorized2180 behaves like deploy token for package uploads2181 with deploy token headers2182 valid token2183 behaves like returning response status2184 returns success2185 invalid token2186 behaves like returning response status2187 returns unauthorized2188 behaves like job token for package uploads2189 with job token headers2190 valid token2191 behaves like returning response status2192 returns success2193 invalid token2194 behaves like returning response status2195 returns unauthorized2196 invalid user2197 behaves like returning response status2198 returns unauthorized2199 behaves like rejects nuget access with unknown target id2200 with an unknown target2201 as anonymous2202 behaves like rejects nuget packages access2203 for user type anonymous2204 has the correct response header2205 behaves like returning response status2206 returns unauthorized2207 as authenticated user2208 behaves like rejects nuget packages access2209 for user type anonymous2210 behaves like returning response status2211 returns not_found2212 behaves like rejects nuget access with invalid target id2213 with a target id with invalid integers2214 id: "/../", status: :bad_request2215 behaves like rejects nuget packages access2216 for user type anonymous2217 behaves like returning response status2218 returns bad_request2219 id: "", status: :not_found2220 behaves like rejects nuget packages access2221 for user type anonymous2222 behaves like returning response status2223 returns not_found2224 id: "%20", status: :bad_request2225 behaves like rejects nuget packages access2226 for user type anonymous2227 behaves like returning response status2228 returns bad_request2229 id: "%2e%2e%2f", status: :bad_request2230 behaves like rejects nuget packages access2231 for user type anonymous2232 behaves like returning response status2233 returns bad_request2234 id: "NaN", status: :bad_request2235 behaves like rejects nuget packages access2236 for user type anonymous2237 behaves like returning response status2238 returns bad_request2239 id: 1253, status: :unauthorized2240 behaves like rejects nuget packages access2241 for user type anonymous2242 has the correct response header2243 behaves like returning response status2244 returns unauthorized2245 id: "anything25", status: :bad_request2246 behaves like rejects nuget packages access2247 for user type anonymous2248 behaves like returning response status2249 returns bad_request2250 PUT /api/v4/projects/:id/packages/nuget2251 behaves like nuget upload endpoint2252 with valid project2253 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2254 behaves like process nuget upload2255 for user type developer2256 with object storage disabled2257 without a file from workhorse2258 behaves like returning response status2259 returns bad_request2260 with correct params2261 behaves like package workhorse uploads2262 without a workhorse header2263 logs an error2264 behaves like returning response status2265 returns forbidden2266 behaves like creates nuget package files2267 creates package files2268 behaves like a package tracking event2269 creates a gitlab tracking event push_package2270 with object storage enabled2271 and direct upload enabled2272 behaves like creates nuget package files2273 creates package files2274 with invalid remote_id: 1231232275 behaves like returning response status2276 returns forbidden2277 with invalid remote_id: ../../1231232278 behaves like returning response status2279 returns forbidden2280 with crafted package.path param2281 does not create a package file2282 behaves like returning response status2283 returns bad_request2284 and direct upload disabled2285 and background upload disabled2286 behaves like creates nuget package files2287 creates package files2288 and background upload enabled2289 behaves like creates nuget package files2290 creates package files2291 behaves like background upload schedules a file migration2292 background upload enabled2293 schedules migration of file to object storage2294 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2295 behaves like rejects nuget packages access2296 for user type guest2297 behaves like returning response status2298 returns forbidden2299 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2300 behaves like rejects nuget packages access2301 for user type developer2302 has the correct response header2303 behaves like returning response status2304 returns unauthorized2305 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2306 behaves like rejects nuget packages access2307 for user type guest2308 has the correct response header2309 behaves like returning response status2310 returns unauthorized2311 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2312 behaves like rejects nuget packages access2313 for user type developer2314 behaves like returning response status2315 returns forbidden2316 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2317 behaves like rejects nuget packages access2318 for user type guest2319 behaves like returning response status2320 returns forbidden2321 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2322 behaves like rejects nuget packages access2323 for user type developer2324 has the correct response header2325 behaves like returning response status2326 returns unauthorized2327 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2328 behaves like rejects nuget packages access2329 for user type guest2330 has the correct response header2331 behaves like returning response status2332 returns unauthorized2333 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2334 behaves like rejects nuget packages access2335 for user type anonymous2336 has the correct response header2337 behaves like returning response status2338 returns unauthorized2339 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2340 behaves like process nuget upload2341 for user type developer2342 with object storage disabled2343 without a file from workhorse2344 behaves like returning response status2345 returns bad_request2346 with correct params2347 behaves like package workhorse uploads2348 without a workhorse header2349 logs an error2350 behaves like returning response status2351 returns forbidden2352 behaves like creates nuget package files2353 creates package files2354 behaves like a package tracking event2355 creates a gitlab tracking event push_package2356 with object storage enabled2357 and direct upload enabled2358 behaves like creates nuget package files2359 creates package files2360 with invalid remote_id: 1231232361 behaves like returning response status2362 returns forbidden2363 with invalid remote_id: ../../1231232364 behaves like returning response status2365 returns forbidden2366 with crafted package.path param2367 does not create a package file2368 behaves like returning response status2369 returns bad_request2370 and direct upload disabled2371 and background upload disabled2372 behaves like creates nuget package files2373 creates package files2374 and background upload enabled2375 behaves like creates nuget package files2376 creates package files2377 behaves like background upload schedules a file migration2378 background upload enabled2379 schedules migration of file to object storage2380 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2381 behaves like rejects nuget packages access2382 for user type guest2383 behaves like returning response status2384 returns forbidden2385 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2386 behaves like rejects nuget packages access2387 for user type developer2388 has the correct response header2389 behaves like returning response status2390 returns unauthorized2391 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2392 behaves like rejects nuget packages access2393 for user type guest2394 has the correct response header2395 behaves like returning response status2396 returns unauthorized2397 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2398 behaves like rejects nuget packages access2399 for user type developer2400 behaves like returning response status2401 returns not_found2402 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2403 behaves like rejects nuget packages access2404 for user type guest2405 behaves like returning response status2406 returns not_found2407 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2408 behaves like rejects nuget packages access2409 for user type developer2410 has the correct response header2411 behaves like returning response status2412 returns unauthorized2413 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2414 behaves like rejects nuget packages access2415 for user type guest2416 has the correct response header2417 behaves like returning response status2418 returns unauthorized2419 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2420 behaves like rejects nuget packages access2421 for user type anonymous2422 has the correct response header2423 behaves like returning response status2424 returns unauthorized2425 behaves like deploy token for package uploads2426 with deploy token headers2427 valid token2428 behaves like returning response status2429 returns success2430 invalid token2431 behaves like returning response status2432 returns unauthorized2433 behaves like job token for package uploads2434 with job token headers2435 valid token2436 creates a package with build info2437 behaves like returning response status2438 returns success2439 invalid token2440 behaves like returning response status2441 returns unauthorized2442 invalid user2443 behaves like returning response status2444 returns unauthorized2445 behaves like rejects nuget access with unknown target id2446 with an unknown target2447 as anonymous2448 behaves like rejects nuget packages access2449 for user type anonymous2450 has the correct response header2451 behaves like returning response status2452 returns unauthorized2453 as authenticated user2454 behaves like rejects nuget packages access2455 for user type anonymous2456 behaves like returning response status2457 returns not_found2458 behaves like rejects nuget access with invalid target id2459 with a target id with invalid integers2460 id: "/../", status: :bad_request2461 behaves like rejects nuget packages access2462 for user type anonymous2463 behaves like returning response status2464 returns bad_request2465 id: "", status: :not_found2466 behaves like rejects nuget packages access2467 for user type anonymous2468 behaves like returning response status2469 returns not_found2470 id: "%20", status: :bad_request2471 behaves like rejects nuget packages access2472 for user type anonymous2473 behaves like returning response status2474 returns bad_request2475 id: "%2e%2e%2f", status: :bad_request2476 behaves like rejects nuget packages access2477 for user type anonymous2478 behaves like returning response status2479 returns bad_request2480 id: "NaN", status: :bad_request2481 behaves like rejects nuget packages access2482 for user type anonymous2483 behaves like returning response status2484 returns bad_request2485 id: 1253, status: :unauthorized2486 behaves like rejects nuget packages access2487 for user type anonymous2488 has the correct response header2489 behaves like returning response status2490 returns unauthorized2491 id: "anything25", status: :bad_request2492 behaves like rejects nuget packages access2493 for user type anonymous2494 behaves like returning response status2495 returns bad_request2496 file size above maximum limit2497 behaves like returning response status2498 returns bad_request2499 PUT /api/v4/projects/:id/packages/nuget/symbolpackage/authorize2500 behaves like nuget authorize upload endpoint2501 with valid project2502 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2503 behaves like process nuget workhorse authorization2504 for user type developer2505 has the proper content type2506 behaves like returning response status2507 returns success2508 with a request that bypassed gitlab-workhorse2509 behaves like returning response status2510 returns forbidden2511 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2512 behaves like rejects nuget packages access2513 for user type guest2514 behaves like returning response status2515 returns forbidden2516 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2517 behaves like rejects nuget packages access2518 for user type developer2519 has the correct response header2520 behaves like returning response status2521 returns unauthorized2522 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2523 behaves like rejects nuget packages access2524 for user type guest2525 has the correct response header2526 behaves like returning response status2527 returns unauthorized2528 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2529 behaves like rejects nuget packages access2530 for user type developer2531 behaves like returning response status2532 returns forbidden2533 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2534 behaves like rejects nuget packages access2535 for user type guest2536 behaves like returning response status2537 returns forbidden2538 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2539 behaves like rejects nuget packages access2540 for user type developer2541 has the correct response header2542 behaves like returning response status2543 returns unauthorized2544 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2545 behaves like rejects nuget packages access2546 for user type guest2547 has the correct response header2548 behaves like returning response status2549 returns unauthorized2550 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2551 behaves like rejects nuget packages access2552 for user type anonymous2553 has the correct response header2554 behaves like returning response status2555 returns unauthorized2556 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2557 behaves like process nuget workhorse authorization2558 for user type developer2559 has the proper content type2560 behaves like returning response status2561 returns success2562 with a request that bypassed gitlab-workhorse2563 behaves like returning response status2564 returns forbidden2565 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2566 behaves like rejects nuget packages access2567 for user type guest2568 behaves like returning response status2569 returns forbidden2570 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2571 behaves like rejects nuget packages access2572 for user type developer2573 has the correct response header2574 behaves like returning response status2575 returns unauthorized2576 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2577 behaves like rejects nuget packages access2578 for user type guest2579 has the correct response header2580 behaves like returning response status2581 returns unauthorized2582 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2583 behaves like rejects nuget packages access2584 for user type developer2585 behaves like returning response status2586 returns not_found2587 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2588 behaves like rejects nuget packages access2589 for user type guest2590 behaves like returning response status2591 returns not_found2592 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2593 behaves like rejects nuget packages access2594 for user type developer2595 has the correct response header2596 behaves like returning response status2597 returns unauthorized2598 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2599 behaves like rejects nuget packages access2600 for user type guest2601 has the correct response header2602 behaves like returning response status2603 returns unauthorized2604 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2605 behaves like rejects nuget packages access2606 for user type anonymous2607 has the correct response header2608 behaves like returning response status2609 returns unauthorized2610 behaves like deploy token for package uploads2611 with deploy token headers2612 valid token2613 behaves like returning response status2614 returns success2615 invalid token2616 behaves like returning response status2617 returns unauthorized2618 behaves like job token for package uploads2619 with job token headers2620 valid token2621 behaves like returning response status2622 returns success2623 invalid token2624 behaves like returning response status2625 returns unauthorized2626 invalid user2627 behaves like returning response status2628 returns unauthorized2629 behaves like rejects nuget access with unknown target id2630 with an unknown target2631 as anonymous2632 behaves like rejects nuget packages access2633 for user type anonymous2634 has the correct response header2635 behaves like returning response status2636 returns unauthorized2637 as authenticated user2638 behaves like rejects nuget packages access2639 for user type anonymous2640 behaves like returning response status2641 returns not_found2642 behaves like rejects nuget access with invalid target id2643 with a target id with invalid integers2644 id: "/../", status: :bad_request2645 behaves like rejects nuget packages access2646 for user type anonymous2647 behaves like returning response status2648 returns bad_request2649 id: "", status: :not_found2650 behaves like rejects nuget packages access2651 for user type anonymous2652 behaves like returning response status2653 returns not_found2654 id: "%20", status: :bad_request2655 behaves like rejects nuget packages access2656 for user type anonymous2657 behaves like returning response status2658 returns bad_request2659 id: "%2e%2e%2f", status: :bad_request2660 behaves like rejects nuget packages access2661 for user type anonymous2662 behaves like returning response status2663 returns bad_request2664 id: "NaN", status: :bad_request2665 behaves like rejects nuget packages access2666 for user type anonymous2667 behaves like returning response status2668 returns bad_request2669 id: 1253, status: :unauthorized2670 behaves like rejects nuget packages access2671 for user type anonymous2672 has the correct response header2673 behaves like returning response status2674 returns unauthorized2675 id: "anything25", status: :bad_request2676 behaves like rejects nuget packages access2677 for user type anonymous2678 behaves like returning response status2679 returns bad_request2680 PUT /api/v4/projects/:id/packages/nuget/symbolpackage2681 behaves like nuget upload endpoint2682 with valid project2683 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2684 behaves like process nuget upload2685 for user type developer2686 with object storage disabled2687 without a file from workhorse2688 behaves like returning response status2689 returns bad_request2690 with correct params2691 behaves like package workhorse uploads2692 without a workhorse header2693 logs an error2694 behaves like returning response status2695 returns forbidden2696 behaves like creates nuget package files2697 creates package files2698 behaves like a package tracking event2699 creates a gitlab tracking event push_symbol_package2700 with object storage enabled2701 and direct upload enabled2702 behaves like creates nuget package files2703 creates package files2704 with invalid remote_id: 1231232705 behaves like returning response status2706 returns forbidden2707 with invalid remote_id: ../../1231232708 behaves like returning response status2709 returns forbidden2710 with crafted package.path param2711 does not create a package file2712 behaves like returning response status2713 returns bad_request2714 and direct upload disabled2715 and background upload disabled2716 behaves like creates nuget package files2717 creates package files2718 and background upload enabled2719 behaves like creates nuget package files2720 creates package files2721 behaves like background upload schedules a file migration2722 background upload enabled2723 schedules migration of file to object storage2724 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2725 behaves like rejects nuget packages access2726 for user type guest2727 behaves like returning response status2728 returns forbidden2729 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2730 behaves like rejects nuget packages access2731 for user type developer2732 has the correct response header2733 behaves like returning response status2734 returns unauthorized2735 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2736 behaves like rejects nuget packages access2737 for user type guest2738 has the correct response header2739 behaves like returning response status2740 returns unauthorized2741 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2742 behaves like rejects nuget packages access2743 for user type developer2744 behaves like returning response status2745 returns forbidden2746 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2747 behaves like rejects nuget packages access2748 for user type guest2749 behaves like returning response status2750 returns forbidden2751 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2752 behaves like rejects nuget packages access2753 for user type developer2754 has the correct response header2755 behaves like returning response status2756 returns unauthorized2757 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2758 behaves like rejects nuget packages access2759 for user type guest2760 has the correct response header2761 behaves like returning response status2762 returns unauthorized2763 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2764 behaves like rejects nuget packages access2765 for user type anonymous2766 has the correct response header2767 behaves like returning response status2768 returns unauthorized2769 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2770 behaves like process nuget upload2771 for user type developer2772 with object storage disabled2773 without a file from workhorse2774 behaves like returning response status2775 returns bad_request2776 with correct params2777 behaves like package workhorse uploads2778 without a workhorse header2779 logs an error2780 behaves like returning response status2781 returns forbidden2782 behaves like creates nuget package files2783 creates package files2784 behaves like a package tracking event2785 creates a gitlab tracking event push_symbol_package2786 with object storage enabled2787 and direct upload enabled2788 behaves like creates nuget package files2789 creates package files2790 with invalid remote_id: 1231232791 behaves like returning response status2792 returns forbidden2793 with invalid remote_id: ../../1231232794 behaves like returning response status2795 returns forbidden2796 with crafted package.path param2797 does not create a package file2798 behaves like returning response status2799 returns bad_request2800 and direct upload disabled2801 and background upload disabled2802 behaves like creates nuget package files2803 creates package files2804 and background upload enabled2805 behaves like creates nuget package files2806 creates package files2807 behaves like background upload schedules a file migration2808 background upload enabled2809 schedules migration of file to object storage2810 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2811 behaves like rejects nuget packages access2812 for user type guest2813 behaves like returning response status2814 returns forbidden2815 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2816 behaves like rejects nuget packages access2817 for user type developer2818 has the correct response header2819 behaves like returning response status2820 returns unauthorized2821 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2822 behaves like rejects nuget packages access2823 for user type guest2824 has the correct response header2825 behaves like returning response status2826 returns unauthorized2827 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2828 behaves like rejects nuget packages access2829 for user type developer2830 behaves like returning response status2831 returns not_found2832 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2833 behaves like rejects nuget packages access2834 for user type guest2835 behaves like returning response status2836 returns not_found2837 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2838 behaves like rejects nuget packages access2839 for user type developer2840 has the correct response header2841 behaves like returning response status2842 returns unauthorized2843 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2844 behaves like rejects nuget packages access2845 for user type guest2846 has the correct response header2847 behaves like returning response status2848 returns unauthorized2849 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2850 behaves like rejects nuget packages access2851 for user type anonymous2852 has the correct response header2853 behaves like returning response status2854 returns unauthorized2855 behaves like deploy token for package uploads2856 with deploy token headers2857 valid token2858 behaves like returning response status2859 returns success2860 invalid token2861 behaves like returning response status2862 returns unauthorized2863 behaves like job token for package uploads2864 with job token headers2865 valid token2866 creates a package with build info2867 behaves like returning response status2868 returns success2869 invalid token2870 behaves like returning response status2871 returns unauthorized2872 invalid user2873 behaves like returning response status2874 returns unauthorized2875 behaves like rejects nuget access with unknown target id2876 with an unknown target2877 as anonymous2878 behaves like rejects nuget packages access2879 for user type anonymous2880 has the correct response header2881 behaves like returning response status2882 returns unauthorized2883 as authenticated user2884 behaves like rejects nuget packages access2885 for user type anonymous2886 behaves like returning response status2887 returns not_found2888 behaves like rejects nuget access with invalid target id2889 with a target id with invalid integers2890 id: "/../", status: :bad_request2891 behaves like rejects nuget packages access2892 for user type anonymous2893 behaves like returning response status2894 returns bad_request2895 id: "", status: :not_found2896 behaves like rejects nuget packages access2897 for user type anonymous2898 behaves like returning response status2899 returns not_found2900 id: "%20", status: :bad_request2901 behaves like rejects nuget packages access2902 for user type anonymous2903 behaves like returning response status2904 returns bad_request2905 id: "%2e%2e%2f", status: :bad_request2906 behaves like rejects nuget packages access2907 for user type anonymous2908 behaves like returning response status2909 returns bad_request2910 id: "NaN", status: :bad_request2911 behaves like rejects nuget packages access2912 for user type anonymous2913 behaves like returning response status2914 returns bad_request2915 id: 1253, status: :unauthorized2916 behaves like rejects nuget packages access2917 for user type anonymous2918 has the correct response header2919 behaves like returning response status2920 returns unauthorized2921 id: "anything25", status: :bad_request2922 behaves like rejects nuget packages access2923 for user type anonymous2924 behaves like returning response status2925 returns bad_request2926 file size above maximum limit2927 behaves like returning response status2928 returns bad_request2929API::Projects2930 GET /projects2931 when unauthenticated2932 behaves like projects response2933 returns an array of projects2934 returns the proper security headers2935 behaves like projects response without N + 1 queries2936 avoids N + 1 queries2937 when authenticated as regular user2938 includes container_registry_access_level2939 includes correct value of container_registry_enabled2940 includes project topics2941 includes open_issues_count2942 does not include projects marked for deletion2943 does not include open_issues_count if issues are disabled2944 does not include statistics by default2945 includes statistics if requested2946 does not include license by default2947 does not include license if requested2948 behaves like projects response2949 returns an array of projects2950 returns the proper security headers2951 behaves like projects response without N + 1 queries2952 avoids N + 1 queries2953 when some projects are in a group2954 behaves like projects response without N + 1 queries2955 avoids N + 1 queries2956 filter by topic (column topic_list)2957 returns no projects2958 returns matching project for a single topic2959 returns matching project for multiple topics2960 returns no projects if project match only some topic2961 ignores topic if it is empty2962 and with_issues_enabled=true2963 only returns projects with issues enabled2964 when external issue tracker is enabled2965 includes open_issues_count2966 does not include open_issues_count if issues are disabled2967 and with simple=true2968 returns a simplified version of all the projects2969 and using archived2970 returns archived projects2971 returns non-archived projects2972 returns every project2973 and using search2974 behaves like projects response2975 returns an array of projects2976 returns the proper security headers2977 and using search and search_namespaces is true2978 behaves like projects response2979 returns an array of projects2980 returns the proper security headers2981 and using id_after2982 behaves like projects response2983 returns an array of projects2984 returns the proper security headers2985 regression: empty string is ignored2986 behaves like projects response2987 returns an array of projects2988 returns the proper security headers2989 and using id_before2990 behaves like projects response2991 returns an array of projects2992 returns the proper security headers2993 regression: empty string is ignored2994 behaves like projects response2995 returns an array of projects2996 returns the proper security headers2997 and using both id_after and id_before2998 behaves like projects response2999 returns an array of projects3000 returns the proper security headers3001 and membership=true3002 behaves like projects response3003 returns an array of projects3004 returns the proper security headers3005 and using the visibility filter3006 filters based on private visibility param3007 filters based on internal visibility param3008 filters based on public visibility param3009 and using the programming language filter3010 filters case-insensitively by programming language3011 and using sorting3012 returns the correct order when sorted by id3013 and with owned=true3014 returns an array of projects the user owns3015 when admin creates a project3016 does not list as owned project for admin3017 and with starred=true3018 returns the starred projects viewable by the user3019 and with all query parameters3020 including owned filter3021 returns only projects that satisfy all query parameters3022 including membership filter3023 returns only projects that satisfy all query parameters3024 and with min_access_level3025 returns an array of projects the user has at least developer access3026 when authenticated as a different user3027 behaves like projects response3028 returns an array of projects3029 returns the proper security headers3030 and with_issues_enabled=true3031 does not return private issue projects3032 when authenticated as admin3033 behaves like projects response3034 returns an array of projects3035 returns the proper security headers3036 sorting3037 by project statistics3038 sorting by repository_size3039 admin user3040 when sorting by repository_size ascendingly3041 returns a properly sorted list of projects3042 when sorting by repository_size descendingly3043 returns a properly sorted list of projects3044 non-admin user3045 returns projects ordered normally3046 sorting by storage_size3047 admin user3048 when sorting by storage_size ascendingly3049 returns a properly sorted list of projects3050 when sorting by storage_size descendingly3051 returns a properly sorted list of projects3052 non-admin user3053 returns projects ordered normally3054 sorting by wiki_size3055 admin user3056 when sorting by wiki_size ascendingly3057 returns a properly sorted list of projects3058 when sorting by wiki_size descendingly3059 returns a properly sorted list of projects3060 non-admin user3061 returns projects ordered normally3062 sorting by packages_size3063 admin user3064 when sorting by packages_size ascendingly3065 returns a properly sorted list of projects3066 when sorting by packages_size descendingly3067 returns a properly sorted list of projects3068 non-admin user3069 returns projects ordered normally3070 by similarity3071 returns non-public items based ordered by similarity3072 when `search` parameter is not given3073 returns items ordered by created_at descending3074 when called anonymously3075 returns items ordered by created_at descending3076 filtering by repository_storage3077 admin user3078 behaves like projects response3079 returns an array of projects3080 returns the proper security headers3081 non-admin user3082 behaves like projects response3083 returns an array of projects3084 returns the proper security headers3085 with keyset pagination3086 headers and records3087 includes a pagination header with link to the next page3088 contains only the first project with per_page = 13089 still includes a link if the end has reached and there is no more data after this page3090 does not include a next link when the page does not have any records3091 returns an empty array when the page does not have any records3092 responds with 501 if order_by is different from id3093 with descending sorting3094 includes a pagination header with link to the next page3095 contains only the last project with per_page = 13096 retrieving the full relation3097 returns all projects3098 with forked projects3099 avoids N+1 queries3100 when service desk is enabled3101caught error of type Settingslogic::MissingSetting in after callback inside Grape::Middleware::Formatter : Missing setting 'address' in 'monitoring' section in /builds/gitlab-org/gitlab/config/gitlab.yml3102caught error of type Settingslogic::MissingSetting in after callback inside Grape::Middleware::Formatter : Missing setting 'address' in 'monitoring' section in /builds/gitlab-org/gitlab/config/gitlab.yml3103caught error of type Settingslogic::MissingSetting in after callback inside Grape::Middleware::Formatter : Missing setting 'address' in 'monitoring' section in /builds/gitlab-org/gitlab/config/gitlab.yml3104 avoids N+1 queries3105 POST /projects3106 creates new project without path but with name and returns 2013107 creates new project without name but with path and returns 2013108 creates new project with name and path and returns 2013109 creates last project before reaching project limit3110 does not create new project without name or path and returns 4003111 assigns attributes to project3112 assigns container_registry_enabled to project3113 assigns container_registry_enabled to project3114 creates a project using a template3115 returns 400 for an invalid template3116 disallows creating a project with an import_url and template3117 disallows creating a project with an import_url when git import source is disabled3118 disallows creating a project with an import_url that is not reachable3119 creates a project with an import_url that is valid3120 sets a project as public3121 sets a project as internal3122 sets a project as private3123 creates a new project initialized with a README.md3124 sets tag list to a project (deprecated)3125 sets topics to a project3126 uploads avatar for project a project3127 sets a project as not allowing outdated diff discussions to automatically resolve3128 sets a project as allowing outdated diff discussions to automatically resolve3129 sets a project as not removing source branches3130 sets a project as removing source branches3131 sets a project as allowing merge even if build fails3132 sets a project as allowing merge only if merge_when_pipeline_succeeds3133 sets a project as not allowing merge when pipeline is skipped3134 sets a project as allowing merge when pipeline is skipped3135 sets a project as allowing merge even if discussions are unresolved3136 sets a project as allowing merge if only_allow_merge_if_all_discussions_are_resolved is nil3137 sets a project as allowing merge only if all discussions are resolved3138 sets a project as enabling auto close referenced issues3139 sets a project as disabling auto close referenced issues3140 sets the merge method of a project to rebase merge3141 rejects invalid values for merge_method3142 ignores import_url when it is nil3143 maximum number of projects reached3144 does not create new project and respond with 4033145 behaves like create project with default branch parameter3146 creates project with provided default branch name3147 when branch name is empty3148 creates project with a default project branch name3149 when initialize with readme is not set3150 creates project with a default project branch name3151 when a visibility level is restricted3152 does not allow a non-admin to use a restricted visibility level3153 allows an admin to override restricted visibility settings3154 GET /users/:user_id/projects/3155 returns error when user not found3156 returns projects filtered by user id3157 includes container_registry_access_level3158 returns projects filtered by username3159 returns projects filtered by minimal access level3160 and using id_after3161 only returns projects with id_after filter given3162 returns both projects without a id_after filter3163 and using id_before3164 only returns projects with id_before filter given3165 returns both projects without a id_before filter3166 and using both id_before and id_after3167 only returns projects with id matching the range3168 and using the programming language filter3169 filters case-insensitively by programming language3170 GET /users/:user_id/starred_projects/3171 returns error when user not found3172 with a public profile3173 returns projects filtered by user3174 with a private profile3175 user does not have access to view the private profile3176 returns no projects3177 user has access to view the private profile3178 returns projects filtered by user3179 POST /projects/user/:id3180 creates new project without path but with name and return 2013181 creates new project with name and path and returns 2013182 responds with 400 on failure and not project3183 sets container_registry_enabled3184 assigns attributes to project3185 sets a project as public3186 sets a project as internal3187 sets a project as private3188 sets a project as not allowing outdated diff discussions to automatically resolve3189 sets a project as allowing outdated diff discussions to automatically resolve3190 sets a project as not removing source branches3191 sets a project as removing source branches3192 sets a project as allowing merge even if build fails3193 sets a project as allowing merge only if pipeline succeeds3194 sets a project as not allowing merge when pipeline is skipped3195 sets a project as allowing merge when pipeline is skipped3196 sets a project as allowing merge even if discussions are unresolved3197 sets a project as allowing merge only if all discussions are resolved3198 behaves like create project with default branch parameter3199 creates project with provided default branch name3200 when branch name is empty3201 creates project with a default project branch name3202 when initialize with readme is not set3203 creates project with a default project branch name3204 container_registry_enabled3205 container_registry_enabled: true, container_registry_access_level: 203206 setting container_registry_enabled also sets container_registry_access_level3207 container_registry_enabled: false, container_registry_access_level: 03208 setting container_registry_enabled also sets container_registry_access_level3209 container_registry_access_level3210 container_registry_access_level: "enabled", container_registry_enabled: true3211 setting container_registry_access_level also sets container_registry_enabled3212 container_registry_access_level: "private", container_registry_enabled: true3213 setting container_registry_access_level also sets container_registry_enabled3214 container_registry_access_level: "disabled", container_registry_enabled: false3215 setting container_registry_access_level also sets container_registry_enabled3216 POST /projects/:id/uploads/authorize3217 with authorized user3218 returns 2003219 with unauthorized user3220 returns 4043221 with exempted project3222 returns 2003223 with upload size enforcement disabled3224 returns 2003225 with no Workhorse headers3226 returns 4033227 POST /projects/:id/uploads3228 uploads the file and returns its info3229 does not leave the temporary file in place after uploading, even when the tempfile reaper does not run3230 with exempted project3231 behaves like capped upload attachments3232 limits the upload to 1 GB3233 logs a warning if file exceeds attachment size3234 with upload size enforcement disabled3235 behaves like capped upload attachments3236 limits the upload to 1 GB3237 logs a warning if file exceeds attachment size3238 GET /projects/:id/groups3239 when unauthenticated3240 does not return groups for private projects3241 for public projects3242 behaves like successful groups response3243 returns an array of groups3244 when authenticated as user3245 when user does not have access to the project3246 does not return groups3247 when user has access to the project3248 behaves like successful groups response3249 returns an array of groups3250 when search by root group name3251 behaves like successful groups response3252 returns an array of groups3253 with_shared option is on3254 behaves like successful groups response3255 returns an array of groups3256 when shared_min_access_level is set3257 behaves like successful groups response3258 returns an array of groups3259 when shared_visible_only is on3260 behaves like successful groups response3261 returns an array of groups3262 when search by shared group name3263 behaves like successful groups response3264 returns an array of groups3265 when skip_groups is set3266 behaves like successful groups response3267 returns an array of groups3268 when authenticated as admin3269 behaves like successful groups response3270 returns an array of groups3271 GET /projects/:id3272 exposes service desk attributes3273 when unauthenticated3274 does not return private projects3275 returns public projects3276 the project is a public fork3277 hides details of a public fork parent3278 and the project has a private repository3279 hides protected attributes of private repositories if user is not a member3280 exposes protected attributes of private repositories if user is a member3281 when authenticated as an admin3282 returns a project by id3283 exposes all necessary attributes3284 when authenticated as a regular user3285 returns a project by id3286 returns a group link with expiration date3287 returns a project by path name3288 returns a 404 error if not found3289 returns a 404 error if user is not a member3290 handles users with dots3291 exposes namespace fields3292 does not include license fields by default3293 includes license fields when requested3294 does not include statistics by default3295 includes statistics if requested3296 includes import_error if user can admin project3297 does not include import_error if user cannot admin project3298 returns 404 when project is marked for deletion3299 and the project has a private repository3300 does not include statistics if user is not a member3301 includes statistics if user is a member3302 includes statistics also when repository is disabled3303 links exposure3304 exposes related resources full URIs3305 filters related URIs when their feature is not enabled3306 the project is a fork3307 shows details of a visible fork parent3308 hides details of a hidden fork parent3309 permissions3310 all projects3311 contains permission information3312 personal project3313 sets project access and returns 2003314 group project3315 sets the owner and return 2003316 nested group project3317 sets group access and return 2003318 with various access levels across nested groups3319 sets the maximum group access and return 2003320 when project belongs to a group namespace3321 returns group web_url and avatar_url3322 when project belongs to a user namespace3323 returns user web_url and avatar_url3324 behaves like storing arguments in the application context for the API3325 places the expected params in the application context3326 repository_storage attribute3327 when authenticated as an admin3328 returns repository_storage attribute3329 when authenticated as a regular user3330 does not return repository_storage attribute3331 when project is shared to multiple groups3332 avoids N+1 queries3333 GET /projects/:id/users3334 when unauthenticated3335 behaves like project users response3336 returns the project users3337 when authenticated3338 returns a 404 error if not found3339 returns a 404 error if user is not a member3340 filters out users listed in skip_users3341 valid request3342 behaves like project users response3343 returns the project users3344 fork management3345 POST /projects/:id/fork/:forked_from_id3346 refreshes the forks count cache3347 user is a developer3348 denies project to be forked from an existing project3349 user is maintainer3350 allows project to be forked from an existing project3351 fails without permission from forked_from project3352 denies project to be forked from a private project3353 user is admin3354 allows project to be forked from an existing project3355 allows project to be forked from a private project3356 refreshes the forks count cachce3357 fails if forked_from project which does not exist3358 fails with 409 if already forked3359 DELETE /projects/:id/fork3360 is not visible to users outside group3361 when users belong to project group3362 is forbidden to non-owner users3363 is idempotent if not forked3364 for a forked project3365 makes forked project unforked3366 behaves like 412 response3367 for a modified ressource3368 returns 412 with a JSON error3369 for an unmodified ressource3370 returns 204 with an empty body3371 GET /projects/:id/forks3372 for a forked project3373 for a user that can access the forks3374 returns the forks3375 for a user that cannot access the forks3376 returns an empty array3377 for a non-forked project3378 returns an empty array3379 POST /projects/:id/share3380 shares project with group3381 updates project authorization3382 returns a 400 error when group id is not given3383 returns a 400 error when access level is not given3384 returns a 400 error when sharing is disabled3385 returns a 404 error when user cannot read group3386 returns a 404 error when group does not exist3387 returns a 400 error when wrong params passed3388 returns a 409 error when link is not saved3389 DELETE /projects/:id/share/:group_id3390 returns a 400 when group id is not an integer3391 returns a 404 error when group link does not exist3392 returns a 404 error when project does not exist3393 for a valid group3394 returns 204 when deleting a group share3395 updates project authorization3396 behaves like 412 response3397 for a modified ressource3398 returns 412 with a JSON error3399 for an unmodified ressource3400 returns 204 with an empty body3401 POST /projects/:id/import_project_members/:project_id3402 returns 200 when it successfully imports members from another project3403 returns 404 if the source project does not exist3404 returns 404 if the target project members cannot be administered by the requester3405 returns 422 if the import failed for valid projects3406 PUT /projects/:id3407 sets container_registry_access_level3408 sets container_registry_enabled3409 returns 400 when nothing sent3410 updating packages_enabled attribute3411 is enabled by default3412 disables project packages feature3413 when unauthenticated3414 returns authentication error3415 when authenticated as project owner3416 updates name3417 updates visibility_level3418 updates visibility_level from public to private3419 does not update name to existing name3420 updates request_access_enabled3421 updates path & name to existing path & name in different namespace3422 updates default_branch3423 updates jobs_enabled3424 updates builds_access_level3425 updates pages_access_level3426 updates emails_disabled3427 updates build_git_strategy3428 rejects to update build_git_strategy when build_git_strategy is invalid3429 updates merge_method3430 rejects to update merge_method when merge_method is invalid3431 updates restrict_user_defined_variables3432 updates avatar3433 updates auto_devops_deploy_strategy3434 updates auto_devops_enabled3435 updates topics using tag_list (deprecated)3436 updates topics3437 updates squash_option3438 does not update an invalid squash_option3439 when authenticated as project maintainer3440 updates path3441 updates other attributes3442 does not update path to existing path3443 does not update name3444 does not update visibility_level3445 updates container_expiration_policy3446 doesn't update container_expiration_policy with invalid regex3447 doesn't update container_expiration_policy with invalid keep_n3448 when authenticated as project developer3449 does not update other attributes3450 when updating repository storage3451 as a user3452 returns 200 but does not change repository_storage3453 as an admin3454 returns 400 when repository storage is unknown3455 returns 200 when repository storage has changed3456 when updating service desk3457 returns 2003458 enables the service_desk3459 when updating keep latest artifact3460 returns 2003461 enables keep_latest_artifact3462 POST /projects/:id/archive3463 on an unarchived project3464 archives the project3465 on an archived project3466 remains archived3467 user without archiving rights to the project3468 rejects the action3469 POST /projects/:id/unarchive3470 on an unarchived project3471 remains unarchived3472 on an archived project3473 unarchives the project3474 user without archiving rights to the project3475 rejects the action3476 POST /projects/:id/star3477 on an unstarred project3478 stars the project3479 on a starred project3480 does not modify the star count3481 POST /projects/:id/unstar3482 on a starred project3483 unstars the project3484 on an unstarred project3485 does not modify the star count3486 GET /projects/:id/starrers3487 returns not_found(404) for not existing project3488 public project without user3489 returns only starrers with a public profile3490 behaves like project starrers response3491 returns an array of starrers3492 returns the proper security headers3493 public project with user with private profile3494 returns current user with a private profile3495 behaves like project starrers response3496 returns an array of starrers3497 returns the proper security headers3498 private project3499 with unauthorized user3500 returns not_found for existing but unauthorized project3501 without user3502 returns not_found for existing but unauthorized project3503 GET /projects/:id/languages3504 with an authorized user3505 returns not_found(404) for not existing project3506 behaves like languages and percentages JSON response3507 when the languages haven't been detected yet3508 returns expected language values3509 when the languages were detected before3510 returns the detection from the database3511 with not authorized user3512 returns not_found for existing but unauthorized project3513 without user3514 returns not_found for existing but unauthorized project3515 behaves like languages and percentages JSON response3516 when the languages haven't been detected yet3517 returns expected language values3518 when the languages were detected before3519 returns the detection from the database3520 DELETE /projects/:id3521 when authenticated as user3522 removes project3523 does not remove a project if not an owner3524 does not remove a non existing project3525 does not remove a project not attached to user3526 behaves like 412 response3527 for a modified ressource3528 returns 412 with a JSON error3529 for an unmodified ressource3530 returns 204 with an empty body3531 when authenticated as admin3532 removes any existing project3533 does not remove a non existing project3534 behaves like 412 response3535 for a modified ressource3536 returns 412 with a JSON error3537 for an unmodified ressource3538 returns 204 with an empty body3539 POST /projects/:id/fork3540 when authenticated3541 forks if user has sufficient access to project3542 forks if user is admin3543 fails on missing project access for the project to fork3544 fails if forked project exists in the user namespace3545 fails if project to fork from does not exist3546 forks with explicit own user namespace id3547 forks with explicit own user name as namespace3548 forks to another user when admin3549 fails if trying to fork to another user when not admin3550 fails if trying to fork to non-existent namespace3551 forks to owned group3552 forks to owned subgroup3553 fails to fork to not owned group3554 forks to not owned group when admin3555 accepts a path for the target project3556 fails to fork if path is already taken3557 accepts custom parameters for the target project3558 fails to fork if name is already taken3559 forks to the same namespace with alternative path and name3560 fails to fork to the same namespace without alternative path and name3561 fails to fork with an unknown visibility level3562 when namespace_id is specified3563 and namespace_id is specified alone3564 behaves like forking to specified namespace_id3565 forks to specified namespace_id3566 and namespace_id and namespace are both specified3567 behaves like forking to specified namespace_id3568 forks to specified namespace_id3569 and namespace_id and namespace_path are both specified3570 behaves like forking to specified namespace_id3571 forks to specified namespace_id3572 when namespace_path is specified3573 and namespace_path is specified alone3574 behaves like forking to specified namespace_path3575 forks to specified namespace_path3576 and namespace_path and namespace are both specified3577 behaves like forking to specified namespace_path3578 forks to specified namespace_path3579 when unauthenticated3580 returns authentication error3581 forking disabled3582 denies project to be forked3583 POST /projects/:id/housekeeping3584 when authenticated as owner3585 starts the housekeeping process3586 when housekeeping lease is taken3587 returns conflict3588 when authenticated as developer3589 returns forbidden error3590 when unauthenticated3591 returns authentication error3592 PUT /projects/:id/transfer3593 when authenticated as owner3594 transfers the project to the new namespace3595 fails when transferring to a non owned namespace3596 fails when transferring to an unknown namespace3597 fails on missing namespace3598 when authenticated as developer3599 target namespace allows developers to create projects3600 fails transferring the project to the target namespace3601 GET /projects/:id/storage3602 returns project storage data when user is admin3603 does not return project storage data when user is not admin3604 responds with a 401 for unauthenticated users trying to access a non-existent project id3605 responds with a 403 for non-admin users trying to access a non-existent project id3606 when unauthenticated3607 does not return project storage data3608 behaves like custom attributes endpoints3609 GET /projects with custom attributes filter3610 with an unauthorized user3611 does not filter by custom attributes3612 with an authorized user3613 filters by custom attributes3614 GET /projects with custom attributes3615 with an unauthorized user3616 does not include custom attributes3617 with an authorized user3618 does not include custom attributes by default3619 includes custom attributes if requested3620 GET /projects/:id with custom attributes3621 with an unauthorized user3622 does not include custom attributes3623 with an authorized user3624 does not include custom attributes by default3625 includes custom attributes if requested3626 GET /projects/:id/custom_attributes3627 with an unauthorized user3628 behaves like an unauthorized API user3629 is expected to eq 4033630 with an authorized user3631 returns all custom attributes3632 GET /projects/:id/custom_attributes/:key3633 with an unauthorized user3634 behaves like an unauthorized API user3635 is expected to eq 4033636 with an authorized user3637 returns a single custom attribute3638 PUT /projects/:id/custom_attributes/:key3639 with an unauthorized user3640 behaves like an unauthorized API user3641 is expected to eq 4033642 with an authorized user3643 creates a new custom attribute3644 updates an existing custom attribute3645 DELETE /projects/:id/custom_attributes/:key3646 with an unauthorized user3647 behaves like an unauthorized API user3648 is expected to eq 4033649 with an authorized user3650 deletes an existing custom attribute3651Projects::MergeRequestsController3652 GET commit_change_content3653 renders commit_change_content template3654 GET show3655 with the invite_members_in_comment experiment3656 when user can invite3657 assigns the candidate experience and tracks the event3658 when user can not invite3659 does not track the event3660 with view param3661 saves the preferred diff view in a cookie3662 when merge request is unchecked3663 check_mergeability_async_in_widget feature flag is disabled3664 checks mergeability asynchronously3665 as html3666 renders merge request page3667 logs the view with Gitlab::Search::RecentMergeRequests3668 when diff files were cleaned3669 renders page when diff size is not persisted and diff_refs does not exist3670 with `default_merge_ref_for_diffs` feature flag enabled3671 adds the diff_head parameter3672 when diff is missing3673 renders merge request page3674 that is invalid3675 renders merge request page3676 when project has moved3677 redirects from an old merge request correctly3678 redirects from an old merge request commits correctly3679 when user is setting notes filters3680 behaves like issuable notes filter3681 sets discussion filter3682 expires notes e-tag cache for issuable if filter changed3683 does not expires notes e-tag cache for issuable if filter did not change3684 does not set notes filter when database is in read-only mode3685 does not set notes filter when persist_filter param is false3686 returns only user comments3687 returns only activity notes3688 when filter is set to "only_comments"3689 does not merge label event notes3690 as json3691 with basic serializer param3692 renders basic MR entity as json3693 with widget serializer param3694 renders widget MR entity as json3695 when no serialiser was passed3696 renders widget MR entity as json3697 that is invalid3698 renders merge request page3699 as diff3700 triggers workhorse to serve the request3701 as patch3702 triggers workhorse to serve the request3703 GET index3704 behaves like issuables list meta-data3705 creates indexed meta-data object for issuable notes and votes count3706 avoids N+1 queries3707 searching3708 works when sorting by created_asc3709 works when sorting by created_at_asc3710 works when sorting by created_date3711 works when sorting by created_desc3712 works when sorting by created_at_desc3713 works when sorting by id_asc3714 works when sorting by id_desc3715 works when sorting by updated_asc3716 works when sorting by updated_at_asc3717 works when sorting by updated_desc3718 works when sorting by updated_at_desc3719 works when sorting by title_asc3720 works when sorting by title_desc3721 works when sorting by closest_future_date3722 works when sorting by closest_future_date_asc3723 works when sorting by due_date3724 works when sorting by due_date_asc3725 works when sorting by due_date_desc3726 works when sorting by relative_position3727 works when sorting by relative_position_asc3728 works when sorting by weight3729 works when sorting by weight_asc3730 works when sorting by weight_desc3731 works when sorting by popularity3732 works when sorting by priority3733 works when sorting by label_priority3734 when given empty collection3735 doesn't execute any queries with false conditions3736 behaves like set sort order from user preference3737 #set_sort_order_from_user_preference3738 when database is in read-only mode3739 does not update user preference3740 when database is not in read-only mode3741 updates user preference3742 when page param3743 redirects to last_page if page number is larger than number of pages3744 redirects to specified page3745 does not redirect to external sites when provided a host field3746 when filtering by opened state3747 with opened merge requests3748 lists those merge requests3749 with reopened merge requests3750 lists those merge requests3751 behaves like issuable list with anonymous search disabled3752 when disable_anonymous_search is enabled3753 shows a flash message3754 when search param is not given3755 does not show a flash message3756 when user is signed-in3757 does not show a flash message3758 when format is not HTML3759DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: layouts/xml.atom (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:136)3760DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: layouts/xml.atom (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:136)3761 does not show a flash message3762 when disable_anonymous_search is disabled3763 does not show a flash message3764 PUT update3765 changing the assignee3766 limits the attributes exposed on the assignee3767 when user does not have access to update issue3768 responds with 4043769 there is no source project3770 closes MR without errors3771 allows editing of a closed merge request3772 does not allow to update target branch closed merge request3773 behaves like update invalid issuable3774 when updating causes conflicts3775 renders edit when format is html3776 renders json error message when format is json3777 when updating an invalid issuable3778 renders edit when merge request is invalid3779 two merge requests with the same source branch3780 does not allow a closed merge request to be reopened if another one is open3781 POST merge3782 when user cannot access3783 returns 4043784 when the merge request is not mergeable3785 returns :failed3786 when the sha parameter does not match the source SHA3787 returns :sha_mismatch3788 when the sha parameter matches the source SHA3789 returns :success3790 starts the merge immediately with permitted params3791 when squash is passed as 13792 updates the squash attribute on the MR to true3793 when squash is passed as 03794 updates the squash attribute on the MR to false3795 when a squash commit message is passed3796 passes the same message to SquashService3797 when merge when pipeline succeeds option is passed3798 returns :merge_when_pipeline_succeeds3799 sets the MR to merge when the pipeline succeeds3800 when project.only_allow_merge_if_pipeline_succeeds? is true3801 returns :merge_when_pipeline_succeeds3802 and head pipeline is not the current one3803 returns :failed3804 when auto merge has not been enabled yet3805 calls AutoMergeService#execute3806 when auto merge has already been enabled3807 calls AutoMergeService#update3808 only_allow_merge_if_all_discussions_are_resolved? setting3809 when enabled3810 with unresolved discussion3811 returns :failed3812 with all discussions resolved3813 returns :success3814 when disabled3815 with unresolved discussion3816 returns :success3817 with all discussions resolved3818 returns :success3819 DELETE destroy3820 denies access to users unless they're admin or project owner3821 when the user is owner3822 deletes the merge request3823 prevents deletion if destroy_confirm is not set3824 prevents deletion in JSON format if destroy_confirm is not set3825 GET commits3826 renders the commits template to a string3827 GET pipelines3828 with "enabled" builds on a public project3829 for a project owner3830 responds with serialized pipelines3831 for an unassociated user3832 responds with no pipelines3833 with private builds on a public project3834 for a project owner3835 responds with serialized pipelines3836 for an unassociated user3837 responds with no pipelines3838 from a project fork3839 with private builds3840 for the target project member3841 does not respond with serialized pipelines38431st Try error in ./spec/controllers/projects/merge_requests_controller_spec.rb:827:3844expected `[{"active"=>true, "commit"=>{"author"=>nil, "author_email"=>"job@gitlab.com", "author_gravatar_url"=>...push", "triggered"=>[], "triggered_by"=>nil, "updated_at"=>"2021-10-26T21:29:20.993Z", "user"=>nil}].empty?` to be truthy, got false3846RSpec::Retry: 2nd try ./spec/controllers/projects/merge_requests_controller_spec.rb:8273847 for the source project member3848 responds with serialized pipelines3849 with public builds3850 for the target project member3851 does not respond with serialized pipelines3852 for the source project member3853 responds with serialized pipelines3854 with pagination3855 paginates the result3856 GET context commits3857 returns the commits for context commits3858 GET exposed_artifacts3859 permissions on a public project with private CI/CD3860 while signed out3861 responds with a 4043862 while signed in as an unrelated user3863 responds with a 4043864 when pipeline has jobs with exposed artifacts3865 when fetching exposed artifacts is in progress3866 sends polling interval3867 returns 204 HTTP status3868 when fetching exposed artifacts is completed3869 returns exposed artifacts3870 when pipeline does not have jobs with exposed artifacts3871 returns no content3872 GET coverage_reports3873 permissions on a public project with private CI/CD3874 while signed out3875 responds with a 4043876 while signed in as an unrelated user3877 responds with a 4043878 when pipeline has jobs with coverage reports3879 when processing coverage reports is in progress3880 sends polling interval3881 returns 204 HTTP status3882 when processing coverage reports is completed3883 returns coverage reports3884 when user created corrupted coverage reports3885 does not send polling interval3886 returns 400 HTTP status3887 when pipeline does not have jobs with coverage reports3888 returns no content3889 GET codequality_mr_diff_reports3890 permissions on a public project with private CI/CD3891 while signed out3892 responds with a 4043893 while signed in as an unrelated user3894 responds with a 4043895 when pipeline has jobs with codequality mr diff report3896 when processing codequality mr diff report is in progress3897 sends polling interval3898 returns 204 HTTP status3899 when processing codequality mr diff report is completed3900 returns codequality mr diff report3901 GET terraform_reports3902 permissions on a public project with private CI/CD3903 while signed out3904 responds with a 4043905 while signed in as an unrelated user3906 responds with a 4043907 when pipeline has jobs with terraform reports3908 when processing terraform reports is in progress3909 sends polling interval3910 returns 204 HTTP status3911 when processing terraform reports is completed3912 returns terraform reports3913 when user created corrupted terraform reports3914 does not send polling interval3915 returns 400 HTTP status3916 when pipeline does not have jobs with terraform reports3917 returns error3918 GET test_reports3919 permissions on a public project with private CI/CD3920 while signed out3921 responds with a 4043922 while signed in as an unrelated user3923 responds with a 4043924 when comparison is being processed3925 sends polling interval3926 returns 204 HTTP status3927 when comparison is done3928 does not send polling interval3929 returns 200 HTTP status3930 when user created corrupted test reports3931 does not send polling interval3932 returns 400 HTTP status3933 GET accessibility_reports3934 permissions on a public project with private CI/CD3935 while signed out3936 responds with a 4043937 while signed in as an unrelated user3938 responds with a 4043939 when pipeline has jobs with accessibility reports3940 when processing accessibility reports is in progress3941 sends polling interval3942 returns 204 HTTP status3943 when processing accessibility reports is completed3944 returns accessibility reports3945 when user created corrupted accessibility reports3946 does not send polling interval3947 returns 400 HTTP status3948 GET codequality_reports3949 permissions on a public project with private CI/CD3950 while signed out3951 responds with a 4043952 while signed in as an unrelated user3953 responds with a 4043954 when pipeline has jobs with codequality reports3955 when processing codequality reports is in progress3956 sends polling interval3957 returns 204 HTTP status3958 when processing codequality reports is completed3959 returns codequality reports3960 when pipeline has job without a codequality report3961 returns a 4003962 POST remove_wip3963 removes the wip status3964 renders MergeRequest as JSON3965 POST cancel_auto_merge3966 calls AutoMergeService3967 is expected to respond with numeric status code success3968 renders MergeRequest as JSON3969 POST assign_related_issues3970 shows a flash message on success3971 correctly pluralizes flash message on success3972 calls MergeRequests::AssignIssuesService3973 is skipped when not signed in3974 GET ci_environments_status3975 uses the explicitly linked deployments3976 the environment is from a forked project3977 links to the environment on that project3978 keeps queries in check3979 has no N+1 SQL issues for environments3980 when environment_target is 'merge_commit'3981 returns nothing3982 when is merged3983 returns the environment on the source project3984 when a merge request has multiple environments with deployments3985 exposes multiple environment statuses3986 when route map is not present in the project3987 does not have N+1 Gitaly requests for environments3988 when there is route map present in a project3989 does not have N+1 Gitaly requests for diff files3990 GET pipeline_status.json3991 when head_pipeline exists3992 returns a detailed head_pipeline status in json3993 with project member visibility on a public project3994 returns pipeline data to project members3995 returns blank OK response to non-project-members3996 when head_pipeline does not exist3997 returns blank OK response3998 POST #rebase3999 successfully4000 enqeues a RebaseWorker4001 with NOWAIT lock4002 returns a 4094003 with a forked project4004 user cannot push to source branch4005 returns 40440071st Try error in ./spec/controllers/projects/merge_requests_controller_spec.rb:2120:4008(RebaseWorker (class)).perform_async(167, 175, false)4009 expected: 0 times with arguments: (167, 175, false)4010 received: 1 time with arguments: (167, 175, false)4012RSpec::Retry: 2nd try ./spec/controllers/projects/merge_requests_controller_spec.rb:21204013 user can push to source branch4014 returns 2004015 GET discussions4016 when authenticated4017 returns 2004018 highlight preloading4019 with commit diff notes4020 preloads notes diffs highlights4021 with diff notes4022 preloads notes diffs highlights4023 does not preload highlights when diff note is resolved4025 behaves like discussions provider4026 returns the expected discussions4027 GET edit4028 responds successfully4029 assigns the noteable to make sure autocompletes work4030 POST export_csv4031 redirects to the merge request index4032 enqueues an IssuableExportCsvWorker worker4033API::Notes4034 when there are cross-reference system notes4035 behaves like with cross-reference system notes4036 returns only the note that the user should see4037 avoids Git calls and N+1 SQL queries4038 when noteable is an Issue4039 behaves like noteable API4040 GET /projects/:id/issues/:noteable_id/notes4041 returns an array of notes4042 returns a 404 error when noteable id not found4043 returns 404 when not authorized4044 sorting4045 sorts by ascending order when requested4046 sorts by updated_at in descending order when requested4047 sorts by updated_at in ascending order when requested4048 without sort params4049 sorts by created_at in descending order by default4050 fetches notes using parent path as id paremeter4051 2 notes with equal created_at4052 page breaks first page correctly4053 page breaks second page correctly4054 GET /projects/:id/issues/:noteable_id/notes/:note_id4055 returns a note by id4056 returns a 404 error if note not found4057 POST /projects/:id/issues/:noteable_id/notes4058 creates a new note4059 creates a confidential note if confidential is set to true4060 returns a 400 bad request error if body not given4061 returns a 401 unauthorized error if user not authenticated4062 creates an activity event when a note is created4063 setting created_at4064 by an admin4065 sets the creation time on the new note4066 by a project owner4067 sets the creation time on the new note4068 by a group owner4069 sets the creation time on the new note4070 by another user4071 ignores the given creation time4072 when the user is posting an award emoji on a noteable created by someone else4073 creates a new note4074 when the user is posting an award emoji on their own noteable4075 creates a new note4076 when user does not have access to read the noteable4077 responds with 4044078 when request exceeds the rate limit4079 prevents user from creating more notes4080 allows user in allow-list to create notes4081 PUT /projects/:id/issues/:noteable_id/notes/:note_id4082 returns a 404 error when note id not found4083 returns a 400 bad request error if body is empty4084 when eveything is ok4085 with multiple params present4086 returns modified note4087 updates the note4088 when only body param is present4089 updates only the note text4090 when only confidential param is present4091 updates only the note text4092 DELETE /projects/:id/issues/:noteable_id/notes/:note_id4093 deletes a note4094 returns a 404 error when note id not found4095 behaves like 412 response4096 for a modified ressource4097 returns 412 with a JSON error4098 for an unmodified ressource4099 returns 204 with an empty body4100 when user does not have access to create noteable4101 responds with resource not found error4102 does not create new note4103 when referencing other project4104 GET /projects/:id/noteable/:noteable_id/notes4105 current user cannot view the notes4106 returns an empty array4107 issue is confidential4108 returns 4044109 current user can view the note4110 returns a non-empty array4111 activity filters4112 when not provided4113 returns all the notes4114 behaves like a notes request4115 is a note array response4116 when all_notes provided4117 returns all the notes4118 behaves like a notes request4119 is a note array response4120 when provided4121 filter: "only_comments", count: 1, system_notable: false4122 properly filters the returned notables4123 behaves like a notes request4124 is a note array response4125 filter: "only_activity", count: 1, system_notable: true4126 properly filters the returned notables4127 behaves like a notes request4128 is a note array response4129 GET /projects/:id/noteable/:noteable_id/notes/:note_id4130 current user cannot view the notes4131 returns a 404 error4132 when issue is confidential4133 returns 4044134 current user can view the note4135 returns an issue note by id4136 when noteable is a Snippet4137 behaves like noteable API4138 GET /projects/:id/snippets/:noteable_id/notes4139 returns an array of notes4140 returns a 404 error when noteable id not found4141 returns 404 when not authorized4142 sorting4143 sorts by ascending order when requested4144 sorts by updated_at in descending order when requested4145 sorts by updated_at in ascending order when requested4146 without sort params4147 sorts by created_at in descending order by default4148 fetches notes using parent path as id paremeter4149 2 notes with equal created_at4150 page breaks first page correctly4151 page breaks second page correctly4152 GET /projects/:id/snippets/:noteable_id/notes/:note_id4153 returns a note by id4154 returns a 404 error if note not found4155 POST /projects/:id/snippets/:noteable_id/notes4156 creates a new note4157 creates a confidential note if confidential is set to true4158 returns a 400 bad request error if body not given4159 returns a 401 unauthorized error if user not authenticated4160 creates an activity event when a note is created4161 setting created_at4162 by an admin4163 sets the creation time on the new note4164 by a project owner4165 sets the creation time on the new note4166 by a group owner4167 sets the creation time on the new note4168 by another user4169 ignores the given creation time4170 when the user is posting an award emoji on a noteable created by someone else4171 creates a new note4172 when the user is posting an award emoji on their own noteable4173 creates a new note4174 when user does not have access to read the noteable4175 responds with 4044176 when request exceeds the rate limit4177 prevents user from creating more notes4178 allows user in allow-list to create notes4179 PUT /projects/:id/snippets/:noteable_id/notes/:note_id4180 returns a 404 error when note id not found4181 returns a 400 bad request error if body is empty4182 when eveything is ok4183 with multiple params present4184 returns modified note4185 updates the note4186 when only body param is present4187 updates only the note text4188 when only confidential param is present4189 updates only the note text4190 DELETE /projects/:id/snippets/:noteable_id/notes/:note_id4191 deletes a note4192 returns a 404 error when note id not found4193 behaves like 412 response4194 for a modified ressource4195 returns 412 with a JSON error4196 for an unmodified ressource4197 returns 204 with an empty body4198 when noteable is a Merge Request4199 behaves like noteable API4200 GET /projects/:id/merge_requests/:noteable_id/notes4201 returns an array of notes4202 returns a 404 error when noteable id not found4203 returns 404 when not authorized4204 sorting4205 sorts by ascending order when requested4206 sorts by updated_at in descending order when requested4207 sorts by updated_at in ascending order when requested4208 without sort params4209 sorts by created_at in descending order by default4210 fetches notes using parent path as id paremeter4211 2 notes with equal created_at4212 page breaks first page correctly4213 page breaks second page correctly4214 GET /projects/:id/merge_requests/:noteable_id/notes/:note_id4215 returns a note by id4216 returns a 404 error if note not found4217 POST /projects/:id/merge_requests/:noteable_id/notes4218 creates a new note4219 creates a confidential note if confidential is set to true4220 returns a 400 bad request error if body not given4221 returns a 401 unauthorized error if user not authenticated4222 creates an activity event when a note is created4223 setting created_at4224 by an admin4225 sets the creation time on the new note4226 by a project owner4227 sets the creation time on the new note4228 by a group owner4229 sets the creation time on the new note4230 by another user4231 ignores the given creation time4232 when the user is posting an award emoji on a noteable created by someone else4233 creates a new note4234 when the user is posting an award emoji on their own noteable4235 creates a new note4236 when user does not have access to read the noteable4237 responds with 4044238 when request exceeds the rate limit4239 prevents user from creating more notes4240 allows user in allow-list to create notes4241 PUT /projects/:id/merge_requests/:noteable_id/notes/:note_id4242 returns a 404 error when note id not found4243 returns a 400 bad request error if body is empty4244 when eveything is ok4245 with multiple params present4246 returns modified note4247 updates the note4248 when only body param is present4249 updates only the note text4250 when only confidential param is present4251 updates only the note text4252 DELETE /projects/:id/merge_requests/:noteable_id/notes/:note_id4253 deletes a note4254 returns a 404 error when note id not found4255 behaves like 412 response4256 for a modified ressource4257 returns 412 with a JSON error4258 for an unmodified ressource4259 returns 204 with an empty body4260 a command only note4261 returns 202 Accepted status4262 does not actually create a new note4263 does however create a system note about the change4264 applies the commands4265 reports the changes4266 when the merge request discussion is locked4267 when a user is a team member4268 returns 200 status4269 creates a new note4270 when a user is not a team member4271 returns 403 status4272 does not create a new note4273API::ConanInstancePackages4274 GET /api/v4/packages/conan/v1/ping4275 behaves like conan ping endpoint4276 responds with 200 OK when no token provided4277 packages feature disabled4278 responds with 404 Not Found4279 GET /api/v4/packages/conan/v1/conans/search4280 behaves like conan search endpoint4281 returns packages with a matching name4282 is expected to contain exactly "package-5/1.0.0@namespace681+project845/stable"4283 returns packages using a * wildcard4284 is expected to contain exactly "package-7/1.0.0@namespace683+project847/stable"4285 does not return non-matching packages4286 is expected to be blank4287 GET /api/v4/packages/conan/v1/users/authenticate4288 behaves like conan authenticate endpoint4289 responds with 401 Unauthorized when an invalid access token ID is provided4290 responds with 401 Unauthorized when invalid user is provided4291 responds with 401 Unauthorized when the provided JWT is signed with different secret4292 responds with 401 UnauthorizedOK when invalid JWT is provided4293 when using invalid token4294 responds with 4014295 when valid JWT access token is provided4296 responds with 2004297 token has valid validity time4298 with valid job token4299 responds with 2004300 with valid deploy token4301 responds with 2004302 GET /api/v4/packages/conan/v1/users/check_credentials4303 behaves like conan check_credentials endpoint4304 responds with a 200 OK with PAT4305 responds with a 401 Unauthorized when an invalid token is used4306 with job token4307 responds with a 200 OK with job token4308 with deploy token4309 responds with a 200 OK with job token4310 recipe endpoints4311 GET /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel4312 behaves like recipe snapshot endpoint4313 behaves like rejects invalid recipe4314 with invalid recipe path4315 returns 4004316 behaves like rejects recipe for invalid project4317 with invalid project4318 behaves like not found request4319 returns not found4320 behaves like empty recipe for not found package4321 with invalid recipe url4322 returns not found4323 with existing package4324 returns a hash of files with their md5 hashes4325 GET /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference4326 behaves like package snapshot endpoint4327 behaves like rejects invalid recipe4328 with invalid recipe path4329 returns 4004330 behaves like rejects recipe for invalid project4331 with invalid project4332 behaves like not found request4333 returns not found4334 behaves like empty recipe for not found package4335 with invalid recipe url4336 returns not found4337 with existing package4338 returns a hash of md5 values for the files4339 GET /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/digest4340 behaves like recipe download_urls endpoint4341 behaves like rejects invalid recipe4342 with invalid recipe path4343 returns 4004344 behaves like rejects recipe for invalid project4345 with invalid project4346 behaves like not found request4347 returns not found4348 behaves like recipe download_urls4349 returns the download_urls for the recipe files4350 behaves like not selecting a package with the wrong type4351 with a nuget package with same name and version4352 calls the presenter with a nil package4353 GET /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls4354 behaves like package download_urls endpoint4355 behaves like rejects invalid recipe4356 with invalid recipe path4357 returns 4004358 behaves like rejects recipe for invalid project4359 with invalid project4360 behaves like not found request4361 returns not found4362 behaves like package download_urls4363 returns the download_urls for the package files4364 behaves like not selecting a package with the wrong type4365 with a nuget package with same name and version4366 calls the presenter with a nil package4367 GET /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/download_urls4368 behaves like recipe download_urls endpoint4369 behaves like rejects invalid recipe4370 with invalid recipe path4371 returns 4004372 behaves like rejects recipe for invalid project4373 with invalid project4374 behaves like not found request4375 returns not found4376 behaves like recipe download_urls4377 returns the download_urls for the recipe files4378 behaves like not selecting a package with the wrong type4379 with a nuget package with same name and version4380 calls the presenter with a nil package4381 GET /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/digest4382 behaves like package download_urls endpoint4383 behaves like rejects invalid recipe4384 with invalid recipe path4385 returns 4004386 behaves like rejects recipe for invalid project4387 with invalid project4388 behaves like not found request4389 returns not found4390 behaves like package download_urls4391 returns the download_urls for the package files4392 behaves like not selecting a package with the wrong type4393 with a nuget package with same name and version4394 calls the presenter with a nil package4395 POST /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/upload_urls4396 behaves like recipe upload_urls endpoint4397 returns a set of upload urls for the files requested4398 behaves like rejects invalid recipe4399 with invalid recipe path4400 returns 4004401 behaves like rejects invalid upload_url params4402 with unaccepted json format4403 returns 4004404 with conan_sources and conan_export files4405 returns upload urls for the additional files4406 with an invalid file4407 does not return the invalid file as an upload_url4408 POST /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls4409 behaves like package upload_urls endpoint4410 returns a set of upload urls for the files requested4411 behaves like rejects invalid recipe4412 with invalid recipe path4413 returns 4004414 behaves like rejects invalid upload_url params4415 with unaccepted json format4416 returns 4004417 with invalid files4418 returns upload urls only for the valid requested files4419 DELETE /api/v4/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel4420 behaves like delete package endpoint4421 returns unauthorized for users without valid permission4422 behaves like rejects invalid recipe4423 with invalid recipe path4424 returns 4004425 with delete permissions4426 deletes a package4427 behaves like a gitlab tracking event4428 creates a gitlab tracking event delete_package4429 file download endpoints4430 GET /api/v4/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/4431:recipe_revision/export/:file_name4432 behaves like recipe file download endpoint4433 behaves like a public project with packages4434 returns the file4435 behaves like allows download with no token4436 with no private token4437 returns 2004438 behaves like an internal project with packages4439 returns the file4440 behaves like denies download with no token4441 with no private token4442 returns 4044443 behaves like a private project with packages4444 returns the file4445 denies download when not enough permissions4446 behaves like denies download with no token4447 with no private token4448 returns 4044449 behaves like project not found by recipe4450 behaves like not found request4451 returns not found4452 GET /api/v4/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/4453:recipe_revision/package/:conan_package_reference/:package_revision/:file_name4454 behaves like package file download endpoint4455 behaves like a public project with packages4456 returns the file4457 behaves like allows download with no token4458 with no private token4459 returns 2004460 behaves like an internal project with packages4461 returns the file4462 behaves like denies download with no token4463 with no private token4464 returns 4044465 behaves like a private project with packages4466 returns the file4467 denies download when not enough permissions4468 behaves like denies download with no token4469 with no private token4470 returns 4044471 tracking the conan_package.tgz download4472 behaves like a gitlab tracking event4473 creates a gitlab tracking event pull_package4474 behaves like project not found by recipe4475 behaves like not found request4476 returns not found4477 file upload endpoints4478 PUT /api/v4/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:file_name/authorize4479 behaves like workhorse authorize endpoint4480 behaves like rejects invalid recipe4481 with invalid recipe path4482 returns 4004483 behaves like rejects invalid file_name4484 with invalid file_name4485 returns 4004486 behaves like workhorse authorization4487 authorizes posting package with a valid token4488 rejects request without a valid token4489 rejects request without a valid permission4490 rejects requests that bypassed gitlab-workhorse4491 when using remote storage4492 when direct upload is enabled4493 responds with status 200, location of package remote store and object details4494 when direct upload is disabled4495 handles as a local file4496 PUT /api/v4/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:conan_package_reference/:package_revision/:file_name/authorize4497 behaves like workhorse authorize endpoint4498 behaves like rejects invalid recipe4499 with invalid recipe path4500 returns 4004501 behaves like rejects invalid file_name4502 with invalid file_name4503 returns 4004504 behaves like workhorse authorization4505 authorizes posting package with a valid token4506 rejects request without a valid token4507 rejects request without a valid permission4508 rejects requests that bypassed gitlab-workhorse4509 when using remote storage4510 when direct upload is enabled4511 responds with status 200, location of package remote store and object details4512 when direct upload is disabled4513 handles as a local file4514 PUT /api/v4/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:file_name4515 behaves like workhorse recipe file upload endpoint4516 behaves like rejects invalid recipe4517 with invalid recipe path4518 returns 4004519 behaves like rejects invalid file_name4520 with invalid file_name4521 returns 4004522 behaves like uploads a package file4523 file size above maximum limit4524 handles as a local file4525 with object storage disabled4526 without a file from workhorse4527 rejects the request4528 with a file4529 behaves like package workhorse uploads4530 without a workhorse header4531 logs an error4532 behaves like returning response status4533 returns forbidden4534 without a token4535 rejects request without a token4536 when params from workhorse are correct4537 creates package and stores package file4538 doesn't attempt to migrate file to object storage4539 with object storage enabled4540 and direct upload enabled4541 with invalid remote_id: 1231234542 responds with status 4034543 with invalid remote_id: ../../1231234544 responds with status 4034545 with valid remote_id4546 creates package and stores package file4547 behaves like background upload schedules a file migration4548 background upload enabled4549 schedules migration of file to object storage4550 PUT /api/v4/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:conan_package_reference/:package_revision/:file_name4551 behaves like workhorse package file upload endpoint4552 behaves like rejects invalid recipe4553 with invalid recipe path4554 returns 4004555 behaves like rejects invalid file_name4556 with invalid file_name4557 returns 4004558 behaves like uploads a package file4559 file size above maximum limit4560 handles as a local file4561 with object storage disabled4562 without a file from workhorse4563 rejects the request4564 with a file4565 behaves like package workhorse uploads4566 without a workhorse header4567 logs an error4568 behaves like returning response status4569 returns forbidden4570 without a token4571 rejects request without a token4572 when params from workhorse are correct4573 creates package and stores package file4574 doesn't attempt to migrate file to object storage4575 with object storage enabled4576 and direct upload enabled4577 with invalid remote_id: 1231234578 responds with status 4034579 with invalid remote_id: ../../1231234580 responds with status 4034581 with valid remote_id4582 creates package and stores package file4583 behaves like background upload schedules a file migration4584 background upload enabled4585 schedules migration of file to object storage4586 tracking the conan_package.tgz upload4587 behaves like a gitlab tracking event4588 creates a gitlab tracking event push_package4589value stream analytics events4590 GET /:namespace/:project/value_stream_analytics/events/issues4591 lists the issue events4592 lists the plan events4593 lists the code events4594 lists the test events4595 lists the review events4596 lists the staging events4597 with private project and builds4598 does not list the test events4599 does not list the staging events4600 lists the issue events4601Projects::BranchesController4602 POST create with HTML format4603 on creation of a new branch4604 valid branch name, valid source4605 redirects4606 invalid branch name, valid ref4607 redirects4608 valid branch name, invalid ref4609 is expected to render template new4610 invalid branch name, invalid ref4611 is expected to render template new4612 valid branch name with encoded slashes4613 is expected to render template new4614 example at ./spec/controllers/projects/branches_controller_spec.rb:734615 created from the new branch button on issues4616 redirects4617 posts a system note4618 confidential_issue_project_id is present4619 user cannot update issue4620 does not post a system note4621 user can update issue4622 issue is under the specified project4623 posts a system note4624 issue is not under the specified project4625 does not post a system note4626 repository-less project4627 redirects to newly created branch4628 redirects to autodeploy setup page4629 when user configured kubernetes from CI/CD > Clusters4630 redirects to autodeploy setup page4631 when create branch service fails4632 doesn't post a system note4633 without issue feature access4634 doesn't post a system note4635 POST create with JSON format4636 with valid params4637 returns a successful 200 response4638 returns the created branch4639 with invalid params4640 returns an unprocessable entity 422 response4641 POST destroy with HTML format4642 returns 3034643 POST destroy4644 as JS4645 valid branch name, valid source4646 is expected to respond with numeric status code ok4647 is expected to be blank4648 valid branch name with unencoded slashes4649 is expected to respond with numeric status code ok4650 is expected to be blank4651 valid branch name with encoded slashes4652 is expected to respond with numeric status code ok4653 is expected to be blank4654 invalid branch name, valid ref4655 is expected to respond with numeric status code not_found4656 is expected to be blank4657 as JSON4658 valid branch name, valid source4659 returns JSON response with message4660 is expected to respond with numeric status code ok4661 valid branch name with unencoded slashes4662 returns JSON response with message4663 is expected to respond with numeric status code ok4664 valid branch name with encoded slashes4665 returns JSON response with message4666 is expected to respond with numeric status code ok4667 invalid branch name, valid ref4668 returns JSON response with message4669 is expected to respond with numeric status code not_found4670 as HTML4671 redirects to branches path4672 DELETE destroy_all_merged4673 when user is allowed to push4674 redirects to branches4675 starts worker to delete merged branches4676 when user is not allowed to push4677 responds with status 4044678 GET index4679 when rendering a JSON format4680 filters branches by name4681 when a branch has multiple pipelines4682DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_icon_commit.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)4683DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_icon_commit.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)4684 chooses the latest to determine status4685 when multiple branches exist4686 all relevant commit statuses are received4687 when a branch contains no pipelines4688 no commit statuses are received4689 when cache is enabled yet cold4690 return with a status 2004691 when branch contains an invalid UTF-8 sequence4692 return with a status 2004693 when deprecated sort/search/page parameters are specified4694 returns with a status 301 when sort specified4695 returns with a status 301 when search specified4696 returns with a status 301 when page specified4697 fetching branches for overview4698 sets active and stale branches4699 when gitaly is not available4700 returns with a status 2004701 sets gitaly_unavailable variable4702 GET diverging_commit_counts4703 returns the commit counts behind and ahead of default branch4704 returns the commits counts with no names provided4705 with many branches4706 returns 422 if no names are specified4707 returns the list of counts4708Admin::InstanceReviewController4709 GET #index4710 with usage ping enabled4711/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH4712/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here4713 redirects to the customers app with correct params4714 with usage ping disabled4715 redirects to the customers app with correct params4716API::HelmPackages4717 GET /api/v4/projects/:id/packages/helm/:channel/index.yaml4718 with a project id4719 behaves like handling helm chart index requests4720 with valid project4721 personal token4722 visibility: :public, user_role: :guest, shared_examples_name: "process helm service index request", expected_status: :success4723 behaves like process helm service index request4724 for user type guest4725 returns a valid YAML response4726 visibility: :public, user_role: :not_a_member, shared_examples_name: "process helm service index request", expected_status: :success4727 behaves like process helm service index request4728 for user type not_a_member4729 returns a valid YAML response4730 visibility: :public, user_role: :anonymous, shared_examples_name: "process helm service index request", expected_status: :success4731 behaves like process helm service index request4732 for user type anonymous4733 returns a valid YAML response4734 visibility: :private, user_role: :reporter, shared_examples_name: "process helm service index request", expected_status: :success4735 behaves like process helm service index request4736 for user type reporter4737 returns a valid YAML response4738 visibility: :private, user_role: :guest, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4739 behaves like rejects helm packages access4740 for user type guest4741 behaves like returning response status4742 returns forbidden4743 visibility: :private, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :not_found4744 behaves like rejects helm packages access4745 for user type not_a_member4746 behaves like returning response status4747 returns not_found4748 visibility: :private, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized4749 behaves like rejects helm packages access4750 for user type anonymous4751 has the correct response header4752 behaves like returning response status4753 returns unauthorized4754 when an invalid token is passed4755 behaves like returning response status4756 returns unauthorized4757 with job token4758 visibility: :public, user_role: :guest, shared_examples_name: "process helm service index request", expected_status: :success4759 behaves like process helm service index request4760 for user type guest4761 returns a valid YAML response4762 visibility: :public, user_role: :not_a_member, shared_examples_name: "process helm service index request", expected_status: :success4763 behaves like process helm service index request4764 for user type not_a_member4765 returns a valid YAML response4766 visibility: :public, user_role: :anonymous, shared_examples_name: "process helm service index request", expected_status: :success4767 behaves like process helm service index request4768 for user type anonymous4769 returns a valid YAML response4770 visibility: :private, user_role: :reporter, shared_examples_name: "process helm service index request", expected_status: :success4771 behaves like process helm service index request4772 for user type reporter4773 returns a valid YAML response4774 visibility: :private, user_role: :guest, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4775 behaves like rejects helm packages access4776 for user type guest4777 behaves like returning response status4778 returns forbidden4779 visibility: :private, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :not_found4780 behaves like rejects helm packages access4781 for user type not_a_member4782 behaves like returning response status4783 returns not_found4784 visibility: :private, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized4785 behaves like rejects helm packages access4786 for user type anonymous4787 has the correct response header4788 behaves like returning response status4789 returns unauthorized4790 behaves like deploy token for package GET requests4791 with deploy token headers4792 valid token4793 behaves like returning response status4794 returns success4795 invalid token4796 behaves like returning response status4797 returns unauthorized4798 behaves like rejects helm access with unknown project id4799 with an unknown project4800 as anonymous4801 behaves like rejects helm packages access4802 for user type anonymous4803 has the correct response header4804 behaves like returning response status4805 returns unauthorized4806 as authenticated user4807 behaves like rejects helm packages access4808 for user type anonymous4809 behaves like returning response status4810 returns not_found4811 with an url encoded project id4812 behaves like handling helm chart index requests4813 with valid project4814 personal token4815 visibility: :public, user_role: :guest, shared_examples_name: "process helm service index request", expected_status: :success4816 behaves like process helm service index request4817 for user type guest4818 returns a valid YAML response4819 visibility: :public, user_role: :not_a_member, shared_examples_name: "process helm service index request", expected_status: :success4820 behaves like process helm service index request4821 for user type not_a_member4822 returns a valid YAML response4823 visibility: :public, user_role: :anonymous, shared_examples_name: "process helm service index request", expected_status: :success4824 behaves like process helm service index request4825 for user type anonymous4826 returns a valid YAML response4827 visibility: :private, user_role: :reporter, shared_examples_name: "process helm service index request", expected_status: :success4828 behaves like process helm service index request4829 for user type reporter4830 returns a valid YAML response4831 visibility: :private, user_role: :guest, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4832 behaves like rejects helm packages access4833 for user type guest4834 behaves like returning response status4835 returns forbidden4836 visibility: :private, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :not_found4837 behaves like rejects helm packages access4838 for user type not_a_member4839 behaves like returning response status4840 returns not_found4841 visibility: :private, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized4842 behaves like rejects helm packages access4843 for user type anonymous4844 has the correct response header4845 behaves like returning response status4846 returns unauthorized4847 when an invalid token is passed4848 behaves like returning response status4849 returns unauthorized4850 with job token4851 visibility: :public, user_role: :guest, shared_examples_name: "process helm service index request", expected_status: :success4852 behaves like process helm service index request4853 for user type guest4854 returns a valid YAML response4855 visibility: :public, user_role: :not_a_member, shared_examples_name: "process helm service index request", expected_status: :success4856 behaves like process helm service index request4857 for user type not_a_member4858 returns a valid YAML response4859 visibility: :public, user_role: :anonymous, shared_examples_name: "process helm service index request", expected_status: :success4860 behaves like process helm service index request4861 for user type anonymous4862 returns a valid YAML response4863 visibility: :private, user_role: :reporter, shared_examples_name: "process helm service index request", expected_status: :success4864 behaves like process helm service index request4865 for user type reporter4866 returns a valid YAML response4867 visibility: :private, user_role: :guest, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4868 behaves like rejects helm packages access4869 for user type guest4870 behaves like returning response status4871 returns forbidden4872 visibility: :private, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :not_found4873 behaves like rejects helm packages access4874 for user type not_a_member4875 behaves like returning response status4876 returns not_found4877 visibility: :private, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized4878 behaves like rejects helm packages access4879 for user type anonymous4880 has the correct response header4881 behaves like returning response status4882 returns unauthorized4883 behaves like deploy token for package GET requests4884 with deploy token headers4885 valid token4886 behaves like returning response status4887 returns success4888 invalid token4889 behaves like returning response status4890 returns unauthorized4891 behaves like rejects helm access with unknown project id4892 with an unknown project4893 as anonymous4894 behaves like rejects helm packages access4895 for user type anonymous4896 has the correct response header4897 behaves like returning response status4898 returns unauthorized4899 as authenticated user4900 behaves like rejects helm packages access4901 for user type anonymous4902 behaves like returning response status4903 returns not_found4904 with dot in channel4905 behaves like returning response status4906 returns success4907 GET /api/v4/projects/:id/packages/helm/:channel/charts/:file_name.tgz4908 with valid project4909 visibility: :public, user_role: :guest, shared_examples_name: "process helm download content request", expected_status: :success4910 behaves like process helm download content request4911 for user type guest4912 returns expected status and a valid package archive4913 behaves like a package tracking event4914 creates a gitlab tracking event pull_package4915 visibility: :public, user_role: :not_a_member, shared_examples_name: "process helm download content request", expected_status: :success4916 behaves like process helm download content request4917 for user type not_a_member4918 returns expected status and a valid package archive4919 behaves like a package tracking event4920 creates a gitlab tracking event pull_package4921 visibility: :public, user_role: :anonymous, shared_examples_name: "process helm download content request", expected_status: :success4922 behaves like process helm download content request4923 for user type anonymous4924 returns expected status and a valid package archive4925 behaves like a package tracking event4926 creates a gitlab tracking event pull_package4927 visibility: :private, user_role: :reporter, shared_examples_name: "process helm download content request", expected_status: :success4928 behaves like process helm download content request4929 for user type reporter4930 returns expected status and a valid package archive4931 behaves like a package tracking event4932 creates a gitlab tracking event pull_package4933 visibility: :private, user_role: :guest, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4934 behaves like rejects helm packages access4935 for user type guest4936 behaves like returning response status4937 returns forbidden4938 visibility: :private, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :not_found4939 behaves like rejects helm packages access4940 for user type not_a_member4941 behaves like returning response status4942 returns not_found4943 visibility: :private, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized4944 behaves like rejects helm packages access4945 for user type anonymous4946 has the correct response header4947 behaves like returning response status4948 returns unauthorized4949 when an invalid token is passed4950 behaves like returning response status4951 returns unauthorized4952 behaves like deploy token for package GET requests4953 with deploy token headers4954 valid token4955 behaves like returning response status4956 returns success4957 invalid token4958 behaves like returning response status4959 returns unauthorized4960 POST /api/v4/projects/:id/packages/helm/api/:channel/charts/authorize4961 with valid project4962 visibility_level: :public, user_role: :developer, shared_examples_name: "process helm workhorse authorization", expected_status: :success4963 behaves like process helm workhorse authorization4964 for user type developer4965 has the proper status and content type4966 with a request that bypassed gitlab-workhorse4967 behaves like returning response status4968 returns forbidden4969 visibility_level: :public, user_role: :reporter, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4970 behaves like rejects helm packages access4971 for user type reporter4972 behaves like returning response status4973 returns forbidden4974 visibility_level: :public, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4975 behaves like rejects helm packages access4976 for user type not_a_member4977 behaves like returning response status4978 returns forbidden4979 visibility_level: :public, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized4980 behaves like rejects helm packages access4981 for user type anonymous4982 has the correct response header4983 behaves like returning response status4984 returns unauthorized4985 visibility_level: :private, user_role: :developer, shared_examples_name: "process helm workhorse authorization", expected_status: :success4986 behaves like process helm workhorse authorization4987 for user type developer4988 has the proper status and content type4989 with a request that bypassed gitlab-workhorse4990 behaves like returning response status4991 returns forbidden4992 visibility_level: :private, user_role: :reporter, shared_examples_name: "rejects helm packages access", expected_status: :forbidden4993 behaves like rejects helm packages access4994 for user type reporter4995 behaves like returning response status4996 returns forbidden4997 visibility_level: :private, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :not_found4998 behaves like rejects helm packages access4999 for user type not_a_member5000 behaves like returning response status5001 returns not_found5002 visibility_level: :private, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized5003 behaves like rejects helm packages access5004 for user type anonymous5005 has the correct response header5006 behaves like returning response status5007 returns unauthorized5008 when an invalid token is passed5009 behaves like returning response status5010 returns unauthorized5011 behaves like deploy token for package uploads5012 with deploy token headers5013 valid token5014 behaves like returning response status5015 returns success5016 invalid token5017 behaves like returning response status5018 returns unauthorized5019 behaves like job token for package uploads5020 with job token headers5021 valid token5022 behaves like returning response status5023 returns success5024 invalid token5025 behaves like returning response status5026 returns unauthorized5027 invalid user5028 behaves like returning response status5029 returns success5030 behaves like rejects helm access with unknown project id5031 with an unknown project5032 as anonymous5033 behaves like rejects helm packages access5034 for user type anonymous5035 has the correct response header5036 behaves like returning response status5037 returns unauthorized5038 as authenticated user5039 behaves like rejects helm packages access5040 for user type anonymous5041 behaves like returning response status5042 returns not_found5043 POST /api/v4/projects/:id/packages/helm/api/:channel/charts5044 with valid project5045 visibility_level: :public, user_role: :developer, shared_examples_name: "process helm upload", expected_status: :created5046 behaves like process helm upload5047 for user type developer5048 with object storage disabled5049 without a file from workhorse5050 behaves like returning response status5051 returns bad_request5052 with correct params5053 behaves like package workhorse uploads5054 without a workhorse header5055 logs an error5056 behaves like returning response status5057 returns forbidden5058 behaves like creates helm package files5059 creates package files5060 behaves like a package tracking event5061 creates a gitlab tracking event push_package5062 with object storage enabled5063 and direct upload enabled5064 behaves like creates helm package files5065 creates package files5066 with invalid remote_id: 1231235067 behaves like returning response status5068 returns forbidden5069 with invalid remote_id: ../../1231235070 behaves like returning response status5071 returns forbidden5072 and direct upload disabled5073 and background upload disabled5074 behaves like creates helm package files5075 creates package files5076 and background upload enabled5077 behaves like creates helm package files5078 creates package files5079 behaves like background upload schedules a file migration5080 background upload enabled5081 schedules migration of file to object storage5082 visibility_level: :public, user_role: :reporter, shared_examples_name: "rejects helm packages access", expected_status: :forbidden5083 behaves like rejects helm packages access5084 for user type reporter5085 behaves like returning response status5086 returns forbidden5087 visibility_level: :public, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :forbidden5088 behaves like rejects helm packages access5089 for user type not_a_member5090 behaves like returning response status5091 returns forbidden5092 visibility_level: :public, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized5093 behaves like rejects helm packages access5094 for user type anonymous5095 has the correct response header5096 behaves like returning response status5097 returns unauthorized5098 visibility_level: :private, user_role: :developer, shared_examples_name: "process helm upload", expected_status: :created5099 behaves like process helm upload5100 for user type developer5101 with object storage disabled5102 without a file from workhorse5103 behaves like returning response status5104 returns bad_request5105 with correct params5106 behaves like package workhorse uploads5107 without a workhorse header5108 logs an error5109 behaves like returning response status5110 returns forbidden5111 behaves like creates helm package files5112 creates package files5113 behaves like a package tracking event5114 creates a gitlab tracking event push_package5115 with object storage enabled5116 and direct upload enabled5117 behaves like creates helm package files5118 creates package files5119 with invalid remote_id: 1231235120 behaves like returning response status5121 returns forbidden5122 with invalid remote_id: ../../1231235123 behaves like returning response status5124 returns forbidden5125 and direct upload disabled5126 and background upload disabled5127 behaves like creates helm package files5128 creates package files5129 and background upload enabled5130 behaves like creates helm package files5131 creates package files5132 behaves like background upload schedules a file migration5133 background upload enabled5134 schedules migration of file to object storage5135 visibility_level: :private, user_role: :guest, shared_examples_name: "rejects helm packages access", expected_status: :forbidden5136 behaves like rejects helm packages access5137 for user type guest5138 behaves like returning response status5139 returns forbidden5140 visibility_level: :private, user_role: :not_a_member, shared_examples_name: "rejects helm packages access", expected_status: :not_found5141 behaves like rejects helm packages access5142 for user type not_a_member5143 behaves like returning response status5144 returns not_found5145 visibility_level: :private, user_role: :anonymous, shared_examples_name: "rejects helm packages access", expected_status: :unauthorized5146 behaves like rejects helm packages access5147 for user type anonymous5148 has the correct response header5149 behaves like returning response status5150 returns unauthorized5151 when an invalid token is passed5152 behaves like returning response status5153 returns unauthorized5154 behaves like deploy token for package uploads5155 with deploy token headers5156 valid token5157 behaves like returning response status5158 returns success5159 invalid token5160 behaves like returning response status5161 returns unauthorized5162 behaves like job token for package uploads5163 with job token headers5164 valid token5165 creates a package with build info5166 behaves like returning response status5167 returns success5168 invalid token5169 behaves like returning response status5170 returns unauthorized5171 invalid user5172 behaves like returning response status5173 returns success5174 behaves like rejects helm access with unknown project id5175 with an unknown project5176 as anonymous5177 behaves like rejects helm packages access5178 for user type anonymous5179 has the correct response header5180 behaves like returning response status5181 returns unauthorized5182 as authenticated user5183 behaves like rejects helm packages access5184 for user type anonymous5185 behaves like returning response status5186 returns not_found5187 file size above maximum limit5188 behaves like returning response status5189 returns bad_request5190AutocompleteController5191 GET users5192 project members5193 GET #users with project ID5194 returns the project members5195 GET #users with unknown project5196 is expected to respond with numeric status code not_found5197 group members5198 GET #users with group ID5199 returns the group members5200 GET #users with unknown group ID5201 is expected to respond with numeric status code not_found5202 non-member login for public project5203 GET #users with project ID5204 returns the project members and non-members5205 all users5206 is expected to be a kind of Array5207 is expected to eq 35208 user order5209 shows exact matches first5210 limited users per page5211 is expected to be a kind of Array5212 is expected to eq 205213 unauthenticated user5214 GET #users with public project5215 is expected to be a kind of Array5216 is expected to eq 25217 GET #users with project5218 is expected to respond with numeric status code not_found5219 GET #users with unknown project5220 is expected to respond with numeric status code not_found5221 GET #users with inaccessible group5222 is expected to respond with numeric status code not_found5223 GET #users with no project5224 is expected to be a kind of Array5225 is expected to be empty5226 GET #users with todo filter5227 gives an array of users5228 author of issuable included5229 authenticated5230 includes the author5231 rejects non existent user ids5232 without authenticating5233 returns empty result5234 skip_users parameter included5235 skips the user IDs passed5236 merge_request_iid parameter included5237 includes can_merge option to users5238 GET projects5239 authorized projects5240 GET #projects with project ID5241 returns projects5242 authorized projects and search5243 GET #projects with project ID and search5244 returns projects5245 authorized projects apply limit5246 GET #projects with project ID5247 returns projects5248 authorized projects without admin_issue ability5249 GET #projects with project ID5250 returns no projects5251 GET award_emojis5252 unauthorized user5253 returns empty json5254 sign in as user without award emoji5255 returns empty json5256 sign in as user with award emoji5257 returns json sorted by name count5258 GET deploy_keys_with_owners5259 unauthorized user5260 returns a not found response5261 when the user who can read the project is logged in5262 renders the deploy key in a json payload, with its owner5263 and they cannot read the project5264 returns a not found response5265 with an unknown project5266 returns a not found response5267 and the user cannot read the owner of the key5268 returns a payload without owner5269 Get merge_request_target_branches5270 anonymous user5271 returns empty json5272 user without any accessible merge requests5273 returns empty json5274 user with an accessible merge request but no scope5275 params: {}5276 returns an error5277 params: {:group_id=>" "}5278 returns an error5279 params: {:project_id=>" "}5280 returns an error5281 params: {:group_id=>" ", :project_id=>" "}5282 returns an error5283 user with an accessible merge request by project5284 returns json5285 user with an accessible merge request by group5286 returns json5287SentNotificationsController5288 GET unsubscribe5289 when the user is not logged in5290 when the force param is passed5291 unsubscribes the user5292 sets the flash message5293 redirects to the login page5294 when the force param is not passed5295 when project is public5296 when unsubscribing from issue5297 shows issue title5298 behaves like unsubscribing as anonymous5299 does not unsubscribe the user5300 does not set the flash message5301 renders unsubscribe page5302 shows project name or path5303 when unsubscribing from confidential issue5304 does not show issue title5305 behaves like unsubscribing as anonymous5306 does not unsubscribe the user5307 does not set the flash message5308 renders unsubscribe page5309 shows project name or path5310 when unsubscribing from merge request5311 shows merge request title5312 shows project name or path5313 behaves like unsubscribing as anonymous5314 does not unsubscribe the user5315 does not set the flash message5316 renders unsubscribe page5317 shows project name or path5318 when project is not public5319 when unsubscribing from issue5320 does not show issue title5321 behaves like unsubscribing as anonymous5322 does not unsubscribe the user5323 does not set the flash message5324 renders unsubscribe page5325 does not show project name or path5326 when unsubscribing from confidential issue5327 does not show issue title5328 behaves like unsubscribing as anonymous5329 does not unsubscribe the user5330 does not set the flash message5331 renders unsubscribe page5332 does not show project name or path5333 when unsubscribing from merge request5334 dos not show merge request title5335 behaves like unsubscribing as anonymous5336 does not unsubscribe the user5337 does not set the flash message5338 renders unsubscribe page5339 does not show project name or path5340 when the noteable associated to the notification has been deleted5341 behaves like returns 4045342 does not set the flash message5343 returns a 4045344 when the user is logged in5345 when the ID passed does not exist5346 behaves like returns 4045347 does not set the flash message5348 returns a 4045349 when the force param is passed5350 unsubscribes the user5351 sets the flash message5352 redirects to the issue page5353 when the force param is not passed5354 unsubscribes the user5355 sets the flash message5356 redirects to the merge request page5357 when project is private5358 and user does not have access5359 unsubscribes user and redirects to root path5360 and user has access5361 unsubscribes user and redirects to issue path5362 when the noteable associated to the notification has been deleted5363 behaves like returns 4045364 does not set the flash message5365 returns a 4045366Ldap::OmniauthCallbacksController5367 allows sign in5368 creates an authentication event record5369 respects remember me checkbox5370 with sign in prevented5371 does not allow sign in5372 with 2FA5373 passes remember_me to the Devise view5374 access denied5375 warns the user5376 doesn't authenticate user5377 sign up5378 is allowed5379 enable admin mode5380 with a regular user5381 cannot be enabled5382 with an admin user5383 when requested first5384 can be enabled5385 when not requested first5386 cannot be enabled5387API::Invitations5388 POST /projects/:id/invitations5389 behaves like POST /:source_type/:id/invitations5390 with :source_type == projects5391 returns a message if member already exists5392 returns 404 when the email is not valid5393 returns 404 when the email list is not a valid format5394 returns 400 when email is not given5395 returns 400 when access_level is not given5396 returns 400 when access_level is not valid5397 behaves like a 404 response when source is private5398 returns 4045399 when authenticated as a non-member or member with insufficient rights5400 as a access_requester5401 returns 4035402 as a stranger5403 returns 4035404 as a developer5405 returns 4035406 when authenticated as a maintainer/owner5407 invites a new member5408 invites a list of new email addresses5409 and new member is already a requester5410 does not transform the requester into a proper member5411 access levels5412 does not create the member if group level is higher5413 creates the member if group level is lower5414 access expiry date5415 when set to a date in the past5416 does not create a member5417 when set to a date in the future5418 invites a member5419 with areas_of_focus5420 tracks the areas_of_focus from params5421 with tasks_to_be_done and tasks_project_id in the params5422 when there is 1 invitation5423 creates a member_task with the tasks_to_be_done and the project5424 when there are multiple invitations5425 creates a member_task with the tasks_to_be_done and the project5426 with invite_source considerations5427 tracks the invite source as api5428 tracks the invite source from params5429 POST /groups/:id/invitations5430 behaves like POST /:source_type/:id/invitations5431 with :source_type == groups5432 returns a message if member already exists5433 returns 404 when the email is not valid5434 returns 404 when the email list is not a valid format5435 returns 400 when email is not given5436 returns 400 when access_level is not given5437 returns 400 when access_level is not valid5438 behaves like a 404 response when source is private5439 returns 4045440 when authenticated as a non-member or member with insufficient rights5441 as a access_requester5442 returns 4035443 as a stranger5444 returns 4035445 as a developer5446 returns 4035447 when authenticated as a maintainer/owner5448 invites a new member5449 invites a list of new email addresses5450 and new member is already a requester5451 does not transform the requester into a proper member5452 access levels5453 does not create the member if group level is higher5454 creates the member if group level is lower5455 access expiry date5456 when set to a date in the past5457 does not create a member5458 when set to a date in the future5459 invites a member5460 with areas_of_focus5461 tracks the areas_of_focus from params5462 with tasks_to_be_done and tasks_project_id in the params5463 when there is 1 invitation5464 creates a member_task with the tasks_to_be_done and the project5465 when there are multiple invitations5466 creates a member_task with the tasks_to_be_done and the project5467 with invite_source considerations5468 tracks the invite source as api5469 tracks the invite source from params5470 GET /projects/:id/invitations5471 behaves like GET /:source_type/:id/invitations5472 with :source_type == projects5473 avoids N+1 queries5474 does not find confirmed members5475 finds all members with no query string specified5476 finds the invitation by invite_email with query string5477 behaves like a 404 response when source is private5478 returns 4045479 when authenticated as a maintainer5480 returns 2005481 when authenticated as a developer5482 returns 4035483 when authenticated as a access_requester5484 returns 4035485 when authenticated as a stranger5486 returns 4035487 GET /groups/:id/invitations5488 behaves like GET /:source_type/:id/invitations5489 with :source_type == groups5490 avoids N+1 queries5491 does not find confirmed members5492 finds all members with no query string specified5493 finds the invitation by invite_email with query string5494 behaves like a 404 response when source is private5495 returns 4045496 when authenticated as a maintainer5497 returns 2005498 when authenticated as a developer5499 returns 4035500 when authenticated as a access_requester5501 returns 4035502 when authenticated as a stranger5503 returns 4035504 DELETE /projects/:id/inviations/:email5505 behaves like DELETE /:source_type/:id/invitations/:email5506 with :source_type == projects5507 returns 404 if member does not exist5508 returns 422 for a valid request if the resource was not destroyed5509 behaves like a 404 response when source is private5510 returns 4045511 when authenticated as a non-member or member with insufficient rights5512 as a access_requester5513 returns 4035514 as a stranger5515 returns 4035516 when authenticated as a member and deleting themself5517 does not delete the member5518 when authenticated as a maintainer/owner5519 deletes the member and returns 204 with no content5520 DELETE /groups/:id/inviations/:email5521 behaves like DELETE /:source_type/:id/invitations/:email5522 with :source_type == groups5523 returns 404 if member does not exist5524 returns 422 for a valid request if the resource was not destroyed5525 behaves like a 404 response when source is private5526 returns 4045527 when authenticated as a non-member or member with insufficient rights5528 as a access_requester5529 returns 4035530 as a stranger5531 returns 4035532 when authenticated as a member and deleting themself5533 does not delete the member5534 when authenticated as a maintainer/owner5535 deletes the member and returns 204 with no content5536 PUT /projects/:id/invitations5537 behaves like PUT /:source_type/:id/invitations/:email5538 with :source_type == projects5539 behaves like a 404 response when source is private5540 returns 4045541 when authenticated as a non-member or member with insufficient rights5542 as a access_requester5543 returns 4035544 as a stranger5545 returns 4035546 when authenticated as a maintainer/owner5547 returns 409 if member does not exist5548 returns 400 when access_level is not given and there are no other params5549 returns 400 when access level is not valid5550 updating access level5551 updates the invitation5552 updating access expiry date5553 when set to a date in the past5554 does not update the member5555 when set to a date in the future5556 updates the member5557 PUT /groups/:id/invitations5558 behaves like PUT /:source_type/:id/invitations/:email5559 with :source_type == groups5560 behaves like a 404 response when source is private5561 returns 4045562 when authenticated as a non-member or member with insufficient rights5563 as a access_requester5564 returns 4035565 as a stranger5566 returns 4035567 when authenticated as a maintainer/owner5568 returns 409 if member does not exist5569 returns 400 when access_level is not given and there are no other params5570 returns 400 when access level is not valid5571 updating access level5572 updates the invitation5573 updating access expiry date5574 when set to a date in the past5575 does not update the member5576 when set to a date in the future5577 updates the member5578Updating the container expiration policy5579 post graphql mutation5580 with existing container expiration policy5581 user_role: :maintainer, shared_examples_name: "accepting the mutation request updating the container expiration policy"5582 behaves like accepting the mutation request updating the container expiration policy5583 behaves like updating the container expiration policy attributes5584 updates the container expiration policy5585 behaves like not creating the container expiration policy5586 doesn't create the container expiration policy5587 behaves like returning a success5588 returns the updated container expiration policy5589 behaves like returning response status5590 returns success5591 behaves like rejecting invalid regex for5592 for field name_regex5593 returns an error5594 behaves like returning response status5595 returns success5596 behaves like not creating the container expiration policy5597 doesn't create the container expiration policy5598 behaves like rejecting invalid regex for5599 for field name_regex_keep5600 returns an error5601 behaves like returning response status5602 returns success5603 behaves like not creating the container expiration policy5604 doesn't create the container expiration policy5605 behaves like rejecting blank name_regex when enabled5606 for blank name_regex5607 returns an error5608 behaves like returning response status5609 returns success5610 behaves like not creating the container expiration policy5611 doesn't create the container expiration policy5612 user_role: :developer, shared_examples_name: "accepting the mutation request updating the container expiration policy"5613 behaves like accepting the mutation request updating the container expiration policy5614 behaves like updating the container expiration policy attributes5615 updates the container expiration policy5616 behaves like not creating the container expiration policy5617 doesn't create the container expiration policy5618 behaves like returning a success5619 returns the updated container expiration policy5620 behaves like returning response status5621 returns success5622 behaves like rejecting invalid regex for5623 for field name_regex5624 returns an error5625 behaves like returning response status5626 returns success5627 behaves like not creating the container expiration policy5628 doesn't create the container expiration policy5629 behaves like rejecting invalid regex for5630 for field name_regex_keep5631 returns an error5632 behaves like returning response status5633 returns success5634 behaves like not creating the container expiration policy5635 doesn't create the container expiration policy5636 behaves like rejecting blank name_regex when enabled5637 for blank name_regex5638 returns an error5639 behaves like returning response status5640 returns success5641 behaves like not creating the container expiration policy5642 doesn't create the container expiration policy5643 user_role: :reporter, shared_examples_name: "denying the mutation request"5644 behaves like denying the mutation request5645 returns no response5646 behaves like not creating the container expiration policy5647 doesn't create the container expiration policy5648 behaves like returning response status5649 returns success5650 user_role: :guest, shared_examples_name: "denying the mutation request"5651 behaves like denying the mutation request5652 returns no response5653 behaves like not creating the container expiration policy5654 doesn't create the container expiration policy5655 behaves like returning response status5656 returns success5657 user_role: :anonymous, shared_examples_name: "denying the mutation request"5658 behaves like denying the mutation request5659 returns no response5660 behaves like not creating the container expiration policy5661 doesn't create the container expiration policy5662 behaves like returning response status5663 returns success5664 without existing container expiration policy5665 user_role: :maintainer, shared_examples_name: "accepting the mutation request creating the container expiration policy"5666 behaves like accepting the mutation request creating the container expiration policy5667 behaves like creating the container expiration policy5668 behaves like updating the container expiration policy attributes5669 creates a new container expiration policy5670 updates the container expiration policy5671 behaves like returning a success5672 returns the updated container expiration policy5673 behaves like returning response status5674 returns success5675 behaves like returning a success5676 returns the updated container expiration policy5677 behaves like returning response status5678 returns success5679 behaves like rejecting invalid regex for5680 for field name_regex5681 returns an error5682 behaves like returning response status5683 returns success5684 behaves like not creating the container expiration policy5685 doesn't create the container expiration policy5686 behaves like rejecting invalid regex for5687 for field name_regex_keep5688 returns an error5689 behaves like returning response status5690 returns success5691 behaves like not creating the container expiration policy5692 doesn't create the container expiration policy5693 behaves like rejecting blank name_regex when enabled5694 for blank name_regex5695 returns an error5696 behaves like returning response status5697 returns success5698 behaves like not creating the container expiration policy5699 doesn't create the container expiration policy5700 user_role: :developer, shared_examples_name: "accepting the mutation request creating the container expiration policy"5701 behaves like accepting the mutation request creating the container expiration policy5702 behaves like creating the container expiration policy5703 behaves like updating the container expiration policy attributes5704 creates a new container expiration policy5705 updates the container expiration policy5706 behaves like returning a success5707 returns the updated container expiration policy5708 behaves like returning response status5709 returns success5710 behaves like returning a success5711 returns the updated container expiration policy5712 behaves like returning response status5713 returns success5714 behaves like rejecting invalid regex for5715 for field name_regex5716 returns an error5717 behaves like returning response status5718 returns success5719 behaves like not creating the container expiration policy5720 doesn't create the container expiration policy5721 behaves like rejecting invalid regex for5722 for field name_regex_keep5723 returns an error5724 behaves like returning response status5725 returns success5726 behaves like not creating the container expiration policy5727 doesn't create the container expiration policy5728 behaves like rejecting blank name_regex when enabled5729 for blank name_regex5730 returns an error5731 behaves like returning response status5732 returns success5733 behaves like not creating the container expiration policy5734 doesn't create the container expiration policy5735 user_role: :reporter, shared_examples_name: "denying the mutation request"5736 behaves like denying the mutation request5737 returns no response5738 behaves like not creating the container expiration policy5739 doesn't create the container expiration policy5740 behaves like returning response status5741 returns success5742 user_role: :guest, shared_examples_name: "denying the mutation request"5743 behaves like denying the mutation request5744 returns no response5745 behaves like not creating the container expiration policy5746 doesn't create the container expiration policy5747 behaves like returning response status5748 returns success5749 user_role: :anonymous, shared_examples_name: "denying the mutation request"5750 behaves like denying the mutation request5751 returns no response5752 behaves like not creating the container expiration policy5753 doesn't create the container expiration policy5754 behaves like returning response status5755 returns success5756API::Deployments5757 GET /projects/:id/deployments5758 as member of the project5759 returns projects deployments sorted by id asc5760 returns multiple deployments without N + 15761 with updated_at filters specified5762 returns projects deployments with last update in specified datetime range5763 when forbidden order_by is specified5764 returns projects deployments with last update in specified datetime range5765 with the environment filter specifed5766 returns deployments for the environment5767 ordering5768 returns ordered deployments5769 with invalid order_by5770 returns error5771 with invalid sorting5772 returns error5773 as non member5774 returns a 404 status code5775 GET /projects/:id/deployments/:deployment_id5776 as a member of the project5777 returns the projects deployment5778 as non member5779 returns a 404 status code5780 POST /projects/:id/deployments5781 as a maintainer5782 creates a new deployment5783 errors when creating a deployment with an invalid name5784 links any merged merge requests to the deployment5785 as a developer5786 creates a new deployment5787 links any merged merge requests to the deployment5788 links any picked merge requests to the deployment5789 as non member5790 returns a 404 status code5791 PUT /projects/:id/deployments/:deployment_id5792 as a maintainer5793 returns a 403 when updating a deployment with a build5794 updates a deployment without an associated build5795 returns an error when an invalid status transition is detected5796 links merge requests when the deployment status changes to success5797 as a developer5798 returns a 403 when updating a deployment with a build5799 updates a deployment without an associated build5800 as non member5801 returns a 404 status code5802 GET /projects/:id/deployments/:deployment_id/merge_requests5803 when a user is not a member of the deployment project5804 returns a 404 status code5805 when a user member of the deployment project5806 returns the relevant merge requests linked to a deployment for a project5807 when a deployment is not associated to any existing merge requests5808 returns an empty array5809 prevent N + 1 queries5810 when the endpoint returns multiple records5811 succeeds5812 with 10 more records5813 does not increase the query count5814Projects::UploadsController5815 behaves like handle uploads5816 behaves like handle uploads authorize5817 POST #authorize5818 when a user is not authorized to upload a file5819 returns 404 status5820 when id is not passed as a param5821 returns 404 status5822 when a user can upload a file5823 and the request bypassed workhorse5824 raises an exception5825 and request is sent by gitlab-workhorse to authorize the request5826 when using local storage5827 behaves like a local file5828 behaves like a valid response5829 responds with status 2005830 uses the gitlab-workhorse content type5831 responds with status 200, location of uploads store and object details5832 when using remote storage5833 when direct upload is enabled5834 behaves like a valid response5835 responds with status 2005836 uses the gitlab-workhorse content type5837 responds with status 200, location of uploads remote store and object details5838 when direct upload is disabled5839 behaves like a local file5840 behaves like a valid response5841 responds with status 2005842 uses the gitlab-workhorse content type5843 responds with status 200, location of uploads store and object details5844 POST #create5845 when a user is not authorized to upload a file5846 returns 404 status5847 when a user can upload a file5848 without params['file']5849 returns an error5850 with valid image5851 returns a content with original filename, new link, and correct type.5852 creates a corresponding Upload record5853 with valid non-image file5854 returns a content with original filename, new link, and correct type.5855 GET #show5856 when the secret is invalid5857 responds with status 4045858 is a working exploit without the validation5859 when accessing a specific upload via different model5860 responds with status 4045861 when the upload does not have a MIME type that Rails knows5862 falls back to the null type5863 when the model is public5864 when not signed in5865 when the file exists5866 responds with status 2005867 when neither the uploader nor the model exists5868 responds with status 4045869 when the file doesn't exist5870 responds with status 4045871 when signed in5872 when the file exists5873 responds with status 2005874 when the file doesn't exist5875 responds with status 4045876 when the model is private5877 when not signed in5878 when the file exists5879 when the file is an image5880 responds with status 2005881 when the file is not an image5882 redirects to the sign in page5883 when the file doesn't exist5884 redirects to the sign in page5885 when signed in5886 when the user has access to the project5887 when the file exists5888 responds with status 2005889 when the file doesn't exist5890 responds with status 4045891 when the user doesn't have access to the model5892 when the file exists5893 when the file is an image5894 responds with status 2005895 when the file is not an image5896 responds with status 4045897 when the file doesn't exist5898 responds with status 4045899 when the URL the old style, without /-/system5900 responds with a redirect to the login page5901 with a moved project5902 redirects to a file with the proper extension5903 when exception occurs5904 responds with status internal_server_error5905Projects::MilestonesController5906 behaves like milestone tabs5907 #issues5908 as html5909 redirects to milestone#show5910 as json5911 renders the issues tab template to a string5912 #merge_requests5913 as html5914 redirects to milestone#show5915 as json5916 renders the merge requests tab template to a string5917 #participants5918 as html5919 redirects to milestone#show5920 as json5921 renders the participants tab template to a string5922 #labels5923 as html5924 redirects to milestone#show5925 as json5926 renders the labels tab template to a string5927 #show5928DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_icon_burndown_chart_splash.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)5929DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_issues.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)5930DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_issues.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)5931DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_mr_bold.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)5932DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_mr_bold.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)5933 shows milestone page5934 returns milestone json5935 #index5936 as html5937 queries only projects milestones5938 searches milestones by title when search_title is given5939 renders paginated milestones without missing or duplicates5940 as json5941 with a single group ancestor5942 queries projects milestones and groups milestones5943 with nested groups5944 queries projects milestones and all ancestors milestones5945 #destroy5946 removes milestone5947 #promote5948 when user does not have permission to promote milestone5949 renders 4045950 #labels5951 as json5952 does not render labels of private issues if user has no access5953 does render labels of private issues if user has access5954 promotion succeeds5955 shows group milestone5956 renders milestone name without parsing it as HTML5957 when user cannot admin group milestones5958 renders 4045959 #participants5960 when guest user5961 when issue is not confidential5962 shows milestone participants5963 when issue is confidential5964 shows no milestone participants5965API::GoProxy5966 GET /projects/:id/packages/go/*module_name/@v/list5967 for the root module5968 behaves like a module version list resource5969 returns v1.0.1, v1.0.2, v1.0.35970 for the package5971 behaves like a module version list resource5972 returns nothing5973 for the submodule5974 behaves like a module version list resource5975 returns v1.0.35976 for the root module v25977 behaves like a module version list resource5978 returns v2.0.05979 with a URL encoded relative path component5980 behaves like a missing module version list resource5981 behaves like an unavailable resource5982 returns not found5983 with the feature disabled5984 behaves like a missing module version list resource5985 behaves like an unavailable resource5986 returns not found5987 GET /projects/:id/packages/go/*module_name/@v/:module_version.info5988 with the root module v1.0.15989 behaves like a module version information resource5990 returns information for v1.0.15991 with the submodule v1.0.35992 behaves like a module version information resource5993 returns information for v1.0.35994 with the root module v2.0.05995 behaves like a module version information resource5996 returns information for v2.0.05997 with an invalid path5998 behaves like a missing module version information resource5999 behaves like an unavailable resource6000 returns not found6001 with an invalid version6002 behaves like a missing module version information resource6003 behaves like an unavailable resource6004 returns not found6005 with a pseudo-version for v16006 behaves like a module pseudo-version information resource6007 returns information for v1.0.4-0.yyyymmddhhmmss-abcdefabcdef6008 with a pseudo-version for v26009 behaves like a module pseudo-version information resource6010 returns information for v2.0.0-yyyymmddhhmmss-abcdefabcdef6011 with a pseudo-version with an invalid timestamp6012 behaves like a missing module pseudo-version information resource6013 behaves like an unavailable resource6014 returns not found6015 with a pseudo-version with an invalid commit sha6016 behaves like a missing module pseudo-version information resource6017 behaves like an unavailable resource6018 returns not found6019 with a pseudo-version with a short commit sha6020 behaves like a missing module pseudo-version information resource6021 behaves like an unavailable resource6022 returns not found6023 GET /projects/:id/packages/go/*module_name/@v/:module_version.mod6024 with the root module v1.0.16025 behaves like a module file resource6026 returns /go.mod from the repo6027 with the submodule v1.0.36028 behaves like a module file resource6029 returns /mod/go.mod from the repo6030 with the root module v2.0.06031 behaves like a module file resource6032 returns /v2/go.mod from the repo6033 with an invalid path6034 behaves like a missing module file resource6035 behaves like an unavailable resource6036 returns not found6037 with an invalid version6038 behaves like a missing module file resource6039 behaves like an unavailable resource6040 returns not found6041 GET /projects/:id/packages/go/*module_name/@v/:module_version.zip6042 with the root module v1.0.16043 behaves like a module archive resource6044 returns an archive of / @ v1.0.1 from the repo6045 with the root module v1.0.26046 behaves like a module archive resource6047 returns an archive of / @ v1.0.2 from the repo6048 with the root module v1.0.36049 behaves like a module archive resource6050 returns an archive of / @ v1.0.3 from the repo6051 with the submodule v1.0.36052 behaves like a module archive resource6053 returns an archive of /mod @ v1.0.3 from the repo6054 with the root module v2.0.06055 behaves like a module archive resource6056 returns an archive of /v2 @ v2.0.0 from the repo6057 with an invalid module directive6058 GET /projects/:id/packages/go/*module_name/@v/list6059 with a completely wrong directive for v16060 behaves like a module version list resource6061 returns nothing6062 with a directive omitting the suffix for v26063 behaves like a module version list resource6064 returns nothing6065 GET /projects/:id/packages/go/*module_name/@v/:module_version.info6066 with a completely wrong directive for v16067 behaves like a missing module version information resource6068 behaves like an unavailable resource6069 returns not found6070 with a directive omitting the suffix for v26071 behaves like a missing module version information resource6072 behaves like an unavailable resource6073 returns not found6074 with a case sensitive project and versions6075 GET /projects/:id/packages/go/*module_name/@v/list6076 with a case encoded path6077 behaves like a module version list resource6078 returns v1.0.1-prerelease, v1.0.1-Prerelease6079 without a case encoded path6080 behaves like a missing module version list resource6081 behaves like an unavailable resource6082 returns not found6083 GET /projects/:id/packages/go/*module_name/@v/:module_version.info6084 with a case encoded path6085 behaves like a module version information resource6086 returns information for v1.0.1-Prerelease6087 without a case encoded path6088 behaves like a module version information resource6089 returns information for v1.0.1-prerelease6090 with a private project6091 GET /projects/:id/packages/go/*module_name/@v/list6092 returns ok with an oauth token6093 returns ok with a job token6094 returns ok with a personal access token6095 returns ok with a personal access token and basic authentication6096 returns unauthorized with a failed job token6097 returns unauthorized with no authentication6098 with a public project6099 GET /projects/:id/packages/go/*module_name/@v/list6100 returns ok with no authentication6101 with a non-existent project6102 GET /projects/:id/packages/go/*module_name/@v/list6103 returns not found with a user6104 returns not found with an oauth token6105 returns not found with a job token6106 returns not found with a personal access token6107 returns unauthorized with no authentication6108Projects::LabelsController6109 GET #index6110 @prioritized_labels6111 does not include labels without priority6112 is sorted by priority, then label title6113 @labels6114 is sorted by label title6115 does not include labels with priority6116 does not include group labels when project does not belong to a group6117 with subgroups6118 returns ancestor group labels6119 with views rendered6120 avoids N+1 queries6121 POST #generate6122 personal project6123 creates labels6124 project belonging to a group6125 creates labels6126 POST #toggle_subscription6127 allows user to toggle subscription on project labels6128 allows user to toggle subscription on group labels6129 POST #promote6130 not group reporters6131 denies access6132 group reporter6133 gives access6134 promotes the label6135 renders label name without parsing it as HTML6136 service raising InvalidRecord6137 returns to label list6138 #ensure_canonical_path6139 for a GET request6140 when requesting the canonical path6141 non-show path6142 with exactly matching casing6143 does not redirect6144 with different casing6145 redirects to the correct casing6146 when requesting a redirected path6147 redirects to the canonical path6148 with an AJAX request6149 redirects to the canonical path but does not set flash message6150 with JSON format6151 redirects to the canonical path but does not set flash message6152 for a non-GET request6153 when requesting the canonical path with different casing6154 does not 4046155 does not redirect to the correct casing6156 when requesting a redirected path6157 returns not found6158Projects::MergeRequests::DraftsController6159 GET #index6160 list merge request draft notes for current user6161 POST #create6162 creates a draft note6163 creates draft note with position6164 creates a draft note with quick actions6165 without permissions6166 does not allow draft note creation6167 in a thread6168 creates draft note as a reply6169 creates a draft note that will resolve a thread6170 cannot create more than one draft note per thread6171 commit_id is present6172 value is a commit sha6173 creates the draft note with commit ID6174 value is "undefined"6175 creates the draft note with nil commit ID6176 PUT #update6177 updates the draft6178 without permissions6179 does not allow editing draft note belonging to someone else6180 POST #publish6181 publishes draft notes with position6182 does nothing if there are no draft notes6183 publishes a draft note with quick actions and applies them6184 publishes all draft notes for an MR6185 can publish just a single draft note6186 without permissions6187 when note belongs to someone else6188 behaves like action that does not allow publishing draft note6189 does not allow publishing draft note6190 when merge request discussion is locked6191 behaves like action that does not allow publishing draft note6192 does not allow publishing draft note6193 when PublishService errors6194 returns message and 500 response6195 when publishing drafts in a thread6196 resolves a thread if the draft note resolves it6197 unresolves a thread if the draft note unresolves it6198 DELETE #destroy6199 destroys the draft note when ID is given6200 without permissions6201 does not allow destroying a draft note belonging to someone else6202 without permissions6203 does not allow editing draft note belonging to someone else6204 DELETE #discard6205 deletes all DraftNotes belonging to a user in a Merge Request6206 without permissions6207 does not destroys a draft note belonging to someone else6208API::Admin::InstanceClusters6209 GET /admin/clusters6210 when authenticated as a non-admin user6211 returns 4036212 when authenticated as admin6213 returns 2006214 includes pagination headers6215 only returns the instance clusters6216 GET /admin/clusters/:cluster_id6217 when authenticated as admin6218 when no cluster associated to the ID6219 returns 4046220 when cluster with cluster_id exists6221 returns 2006222 returns the cluster with cluster_id6223 returns the cluster information6224 returns kubernetes platform information6225 returns user information6226 returns GCP provider information6227 when cluster has no provider6228 does not include GCP provider info6229 when trying to get a project cluster via the instance cluster endpoint6230 returns 4046231 when authenticated as a non-admin user6232 returns 4036233 POST /admin/clusters/add6234 authorized user6235 with valid params6236 responds with 2016237 creates a new Clusters::Cluster6238 when user does not indicate authorization type6239 defaults to RBAC6240 when user sets authorization type as ABAC6241 creates an ABAC cluster6242 when namespace_per_environment is not set6243 defaults to true6244 when an instance cluster already exists6245 allows user to add multiple clusters6246 with invalid params6247 when missing a required parameter6248 responds with 4006249 with a malformed api url6250 responds with 4006251 returns validation errors6252 non-authorized user6253 responds with 4036254 PUT /admin/clusters/:cluster_id6255 authorized user6256 with valid params6257 responds with 2006258 updates cluster attributes6259 with invalid params6260 responds with 4006261 does not update cluster attributes6262 returns validation errors6263 with a GCP cluster6264 when user tries to change GCP specific fields6265 responds with 4006266 returns validation error6267 when user tries to change domain6268 responds with 2006269 with an user cluster6270 responds with 2006271 updates platform kubernetes attributes6272 with a cluster that does not exist6273 returns 4046274 when trying to update a project cluster via the instance cluster endpoint6275 returns 4046276 non-authorized user6277 responds with 4036278 DELETE /admin/clusters/:cluster_id6279 authorized user6280 responds with 2046281 deletes the cluster6282 with a cluster that does not exist6283 returns 4046284 when trying to update a project cluster via the instance cluster endpoint6285 returns 4046286 non-authorized user6287 responds with 4036288Projects::WebIdeTerminalsController6289 GET show6290 behaves like terminal access rights6291 with admin6292 when admin mode is enabled6293 returns 2006294 when admin mode is disabled6295 returns 4046296 with owner6297 returns 2006298 with maintainer6299 returns 2006300 with developer6301 returns 4046302 with reporter6303 returns 4046304 with guest6305 returns 4046306 with non member6307 returns 4046308 behaves like when pipeline is not from a webide source6309 with admin6310 returns 4046311 POST check_config6312 behaves like terminal access rights6313 with admin6314 when admin mode is enabled6315 returns 2006316 when admin mode is disabled6317 returns 4046318 with owner6319 returns 2006320 with maintainer6321 returns 2006322 with developer6323 returns 4046324 with reporter6325 returns 4046326 with guest6327 returns 4046328 with non member6329 returns 4046330 when invalid config file6331 returns 4226332 POST create6333 when terminal job is created successfully6334 increases the web ide terminal counter6335 access rights6336 behaves like terminal access rights6337 with admin6338 when admin mode is enabled6339 returns 2006340 when admin mode is disabled6341 returns 4046342 with owner6343 returns 2006344 with maintainer6345 returns 2006346 with developer6347 returns 4046348 with reporter6349 returns 4046350 with guest6351 returns 4046352 with non member6353 returns 4046354 when branch does not exist6355 returns 4006356 behaves like web ide terminal usage counter6357 does not increase6358 when there is an error creating the job6359 returns 4006360 behaves like web ide terminal usage counter6361 does not increase6362 when the current build is nil6363 returns 4006364 behaves like web ide terminal usage counter6365 does not increase6366 POST cancel6367 behaves like terminal access rights6368 with admin6369 when admin mode is enabled6370 returns 2006371 when admin mode is disabled6372 returns 4046373 with owner6374 returns 2006375 with maintainer6376 returns 2006377 with developer6378 returns 4046379 with reporter6380 returns 4046381 with guest6382 returns 4046383 with non member6384 returns 4046385 behaves like when pipeline is not from a webide source6386 with admin6387 returns 4046388 when job is not cancelable6389 returns 4226390 POST retry6391 behaves like terminal access rights6392 with admin6393 when admin mode is enabled6394 returns 2006395 when admin mode is disabled6396 returns 4046397 with owner6398 returns 2006399 with maintainer6400 returns 2006401 with developer6402 returns 4046403 with reporter6404 returns 4046405 with guest6406 returns 4046407 with non member6408 returns 4046409 behaves like when pipeline is not from a webide source6410 with admin6411 returns 4046412 when job is not retryable6413 returns 4226414 when job is cancelled6415 returns 2006416 when job fails6417 returns 2006418 when job is successful6419 returns 2006420Projects::PagesDomainsController6421 GET show6422 displays to the 'show' page6423 when user is developer6424 renders 404 page6425 GET new6426 displays the 'new' page6427 POST create6428 creates a new pages domain6429 GET show6430 displays the 'show' page6431 PATCH update6432 with valid params6433 updates the domain6434 redirects to the project page6435 with key parameter6436 marks certificate as provided by user6437 the domain is invalid6438 renders the show action6439 when parameters include the domain6440 does not update domain6441 POST verify6442 handles verification success6443 handles verification failure6444 returns a 404 response for an unknown domain6445 POST retry_auto_ssl6446 calls retry service and redirects6447 DELETE destroy6448 deletes the pages domain6449 DELETE #clean_certificate6450 redirects to show page6451 removes certificate6452 sets certificate source to user_provided6453 when pages_https_only is set6454 does not remove certificate6455 redirects to show page with a flash message6456 pages disabled6457 GET show6458 returns 404 status6459 GET new6460 returns 404 status6461 POST create6462 returns 404 status6463 DELETE destroy6464 deletes the pages domain6465Query.project(fullPath).pipelines6466 duration fields6467 includes the duration fields6468 .stages6469 is null if the user is a guest6470 is present if the user has reporter access6471 .groups6472 is empty if the user is a guest6473 is present if the user has reporter access6474 .jobs6475 limits the results6476 fetches all results6477 fetches the jobs without an N+16478 .jobs(securityReportTypes)6479 fetches the jobs matching the report type filter6480 upstream6481 returns the upstream pipeline of a pipeline6482 behaves like a working graphql query6483 returns a successful response6484 when fetching the upstream pipeline from the pipeline6485 avoids N+1 queries6486 downstream6487 returns the downstream pipelines of a pipeline6488 behaves like a working graphql query6489 returns a successful response6490 when fetching the downstream pipelines from the pipeline6491 avoids N+1 queries6492Projects::DiscussionsController6493 GET show6494 when user is not authorized to read the MR6495 returns 4046496 when user is authorized to read the MR6497 returns status 2006498 returns status 404 if MR does not exists6499 when user is authorized but note is LegacyDiffNote6500 returns status 2006501 POST resolve6502 when the user is not authorized to resolve the discussion6503 returns status 4046504 when the user is authorized to resolve the discussion6505 when the discussion is not resolvable6506 returns status 4046507 when the discussion is resolvable6508 resolves the discussion6509 sends notifications if all discussions are resolved6510 returns the name of the resolving user6511 returns status 2006512 renders discussion with serializer6513 diff discussion6514 returns truncated diff lines6515 DELETE unresolve6516 when the user is not authorized to resolve the discussion6517 returns status 4046518 when the user is authorized to resolve the discussion6519 when the discussion is not resolvable6520 returns status 4046521 when the discussion is resolvable6522 unresolves the discussion6523 tracks thread unresolve usage data6524 returns status 2006525 when vue_mr_discussions cookie is present6526 renders discussion with serializer6527API::ProtectedTags6528 GET /projects/:id/protected_tags6529 when authenticated as a maintainer6530 behaves like protected tags6531 returns the protected tags6532 when authenticated as a guest6533 behaves like 403 response6534 returns 4036535 GET /projects/:id/protected_tags/:tag6536 when authenticated as a maintainer6537 behaves like protected tag6538 returns the protected tag6539 when protected tag does not exist6540 behaves like 404 response6541 returns 4046542 when protected tag contains a wildcard6543 behaves like protected tag6544 returns the protected tag6545 when protected tag does not exist6546 behaves like 404 response6547 returns 4046548 when authenticated as a guest6549 behaves like 403 response6550 returns 4036551 POST /projects/:id/protected_tags6552 when authenticated as a maintainer6553 protects a single tag with maintainers can create tags6554 protects a single tag with developers can create tags6555 protects a single tag with no one can create tags6556 returns a 422 error if the same tag is protected twice6557 returns 201 if the same tag is proteted on different projects6558 when tag has a wildcard in its name6559 protects multiple tags with a wildcard in the name6560 when authenticated as a guest6561 returns a 403 error if guest6562 DELETE /projects/:id/protected_tags/unprotect/:tag6563 unprotects a single tag6564 returns 404 if tag does not exist6565 behaves like 412 response6566 for a modified ressource6567 returns 412 with a JSON error6568 for an unmodified ressource6569 returns 204 with an empty body6570 when tag has a wildcard in its name6571 unprotects a wildcard tag6572getting Alert Management Alerts6573 with alert data6574 without project permissions6575 is expected to equal nil6576 behaves like a working graphql query6577 returns a successful response6578 with project permissions6579 is expected to eq 26580 returns the correct properties of the alerts6581 behaves like a working graphql query6582 returns a successful response6583 with iid given6584 is expected to eq 16585 is expected to eq "1"6586 behaves like a working graphql query6587 returns a successful response6588 with statuses given6589 is expected to eq 16590 is expected to eq "2"6591 behaves like a working graphql query6592 returns a successful response6593 sorting data given6594 sorts in the correct order6595 behaves like a working graphql query6596 returns a successful response6597 ascending order6598 sorts in the correct order6599 searching6600 is expected to eq 16601 is expected to eq "1"6602 behaves like a working graphql query6603 returns a successful response6604 unknown criteria6605 is expected to eq 06606 assignee_username6607 is expected to eq "2"6608 behaves like a working graphql query6609 returns a successful response6610task completion status response6611 task list completion status for issues6612 behaves like taskable completion status provider6613 with a description of ""6614 is expected to respond with numeric status code ok6615 returns the expected results6616 with a description of "Lorem ipsum"6617 is expected to respond with numeric status code ok6618 returns the expected results6619 with a description of "- [ ] task 1\n - [x] task 2 "6620 is expected to respond with numeric status code ok6621 returns the expected results6622 with a description of "- [ ] task 1\n - [ ] task 2 "6623 is expected to respond with numeric status code ok6624 returns the expected results6625 with a description of "- [x] task 1\n - [x] task 2 "6626 is expected to respond with numeric status code ok6627 returns the expected results6628 with a description of "- [ ] task 1"6629 is expected to respond with numeric status code ok6630 returns the expected results6631 with a description of "- [x] task 1"6632 is expected to respond with numeric status code ok6633 returns the expected results6634 task list completion status for merge_requests6635 behaves like taskable completion status provider6636 with a description of ""6637 is expected to respond with numeric status code ok6638 returns the expected results6639 with a description of "Lorem ipsum"6640 is expected to respond with numeric status code ok6641 returns the expected results6642 with a description of "- [ ] task 1\n - [x] task 2 "6643 is expected to respond with numeric status code ok6644 returns the expected results6645 with a description of "- [ ] task 1\n - [ ] task 2 "6646 is expected to respond with numeric status code ok6647 returns the expected results6648 with a description of "- [x] task 1\n - [x] task 2 "6649 is expected to respond with numeric status code ok6650 returns the expected results6651 with a description of "- [ ] task 1"6652 is expected to respond with numeric status code ok6653 returns the expected results6654 with a description of "- [x] task 1"6655 is expected to respond with numeric status code ok6656 returns the expected results6657Dashboard::MilestonesController6658 #index6659 returns group and project milestones to which the user belongs6660 returns closed group and project milestones to which the user belongs6661 searches legacy project milestones by title when search_title is given6662 searches group milestones by title when search_title is given6663 shows counts of open/closed/all group and project milestones to which the user belongs to6664 external authorization6665 behaves like disabled when using an external authorization service6666 works when the feature is not enabled6667 renders a 404 with a message when the feature is enabled6668Projects::AvatarsController6669 GET #show6670 when repository has no avatar6671 shows 4046672 when repository has an avatar6673 when the avatar is stored in the repository6674 sends the avatar6675 sets appropriate caching headers6676 behaves like project cache control headers6677 when project is public6678 returns cache_control public header to true6679 when project is private6680 returns cache_control public header to true6681 when project is internal6682 returns cache_control public header to true6683 when the avatar is stored in lfs6684 behaves like a controller that can serve LFS files6685 when lfs is enabled6686 when the project is linked to the LfsObject6687 serves the file6688 and lfs uses object storage6689 responds with redirect to file6690 sets content disposition6691 when project is not linked to the LfsObject6692 does not serve the file6693 when the project is part of a fork network6694 when the project is the root of the fork network6695 behaves like a controller that correctly serves lfs files within a fork network6696 is expected not to eq #<Project id:1185 namespace1348/project1519>>6697 does not serve the file if no members are linked to the LfsObject6698 serves the file when the fork network root is linked to the LfsObject6699 serves the file when the fork network member is linked to the LfsObject6700 when the project is a downstream member of the fork network6701 behaves like a controller that correctly serves lfs files within a fork network6702 is expected not to eq #<Project id:1190 namespace1353/project1524>>6703 does not serve the file if no members are linked to the LfsObject6704 serves the file when the fork network root is linked to the LfsObject6705 serves the file when the fork network member is linked to the LfsObject6706 when lfs is not enabled6707 delivers ASCII file6708 behaves like project cache control headers6709 when project is public6710 returns cache_control public header to true6711 when project is private6712 returns cache_control public header to true6713 when project is internal6714 returns cache_control public header to true6715 DELETE #destroy6716/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil6717 removes avatar from DB by calling destroy6718API::Unleash6719 GET /feature_flags/unleash/:project_id/features6720 behaves like authenticated request6721 when using instance id6722 responds with OK6723 when repository is disabled6724 responds with forbidden6725 when repository is private6726 responds with OK6727 when using header6728 responds with OK6729 when using bogus instance id6730 responds with unauthorized6731 when using not existing project6732 responds with unauthorized6733 with version 2 feature flags6734 does not return a flag without any strategies6735 returns a flag with a default strategy6736 returns a flag with a userWithId strategy6737 returns a flag with multiple strategies6738 returns only flags matching the environment scope6739 returns only strategies matching the environment scope6740 returns only flags for the given project6741 returns all strategies with a matching scope6742 returns a strategy with more than one matching scope6743 returns a disabled flag with a matching scope6744 returns a userWithId strategy for a gitlabUserList strategy6745 GET /feature_flags/unleash/:project_id/client/features6746 behaves like authenticated request6747 when using instance id6748 responds with OK6749 when repository is disabled6750 responds with forbidden6751 when repository is private6752 responds with OK6753 when using header6754 responds with OK6755 when using bogus instance id6756 responds with unauthorized6757 when using not existing project6758 responds with unauthorized6759 with version 2 feature flags6760 does not return a flag without any strategies6761 returns a flag with a default strategy6762 returns a flag with a userWithId strategy6763 returns a flag with multiple strategies6764 returns only flags matching the environment scope6765 returns only strategies matching the environment scope6766 returns only flags for the given project6767 returns all strategies with a matching scope6768 returns a strategy with more than one matching scope6769 returns a disabled flag with a matching scope6770 returns a userWithId strategy for a gitlabUserList strategy6771 POST /feature_flags/unleash/:project_id/client/register6772 behaves like authenticated request6773 when using instance id6774 responds with OK6775 when repository is disabled6776 responds with forbidden6777 when repository is private6778 responds with OK6779 when using header6780 responds with OK6781 when using bogus instance id6782 responds with unauthorized6783 when using not existing project6784 responds with unauthorized6785 POST /feature_flags/unleash/:project_id/client/metrics6786 behaves like authenticated request6787 when using instance id6788 responds with OK6789 when repository is disabled6790 responds with forbidden6791 when repository is private6792 responds with OK6793 when using header6794 responds with OK6795 when using bogus instance id6796 responds with unauthorized6797 when using not existing project6798 responds with unauthorized6799GraphQL6800 logging6801 with no variables6802 behaves like logging a graphql query6803 logs a query with the expected params6804 does not instantiate any query analyzers6805 with variables6806 behaves like logging a graphql query6807 logs a query with the expected params6808 does not instantiate any query analyzers6809 when there is an error in the logger6810 logs the exception in Sentry and continues with the request6811 when executing mutations6812 with POST6813 succeeds6814 with variables6815 succeeds6816 with GET6817 fails6818 with variables6819 fails6820 when executing queries6821 with POST6822 succeeds6823 with GET6824 succeeds6825 when selecting a query by operation name6826 with POST6827 succeeds when selecting the query6828 succeeds when selecting the mutation6829 with GET6830 succeeds when selecting the query6831 fails when selecting the mutation6832 when batching mutations and queries6833 with POST6834 succeeds6835 with GET6836 fails with a helpful error message6837 with invalid variables6838 returns an error6839 authentication6840 allows access to public data without authentication6841 does not authenticate a user with an invalid CSRF6842 authenticates a user with a valid session token6843 with token authentication6844 authenticates users with a PAT6845 prevents access by deactived users6846 when the personal access token has no api scope6847 does not log the user in6848 testing for Gitaly calls6849 behaves like a working graphql query6850 returns a successful response6851 when Gitaly is called6852 logs a warning that the 'calls_gitaly' field declaration is missing6853 resolver complexity6854 when fetching single resource6855 processes the query6856 when fetching too many resources6857 returns an error6858 complexity limits6859 unauthenticated user6860 raises a complexity error6861 authenticated user6862 does not raise an error as it uses the `AUTHENTICATED_MAX_COMPLEXITY`6863 keyset pagination6864 when new_graphql_keyset_pagination feature flag is off6865 paginates datetimes correctly when they have millisecond data6866 when new_graphql_keyset_pagination feature flag is on6867 paginates datetimes correctly when they have millisecond data6868getting dependency proxy manifests in a group6869 returns the total count of manifests6870 behaves like a working graphql query6871 returns a successful response6872 with different permissions6873 group_visibility: :private, role: :maintainer, access_granted: true6874 return the proper response6875 group_visibility: :private, role: :developer, access_granted: true6876 return the proper response6877 group_visibility: :private, role: :reporter, access_granted: true6878 return the proper response6879 group_visibility: :private, role: :guest, access_granted: true6880 return the proper response6881 group_visibility: :private, role: :anonymous, access_granted: false6882 return the proper response6883 group_visibility: :public, role: :maintainer, access_granted: true6884 return the proper response6885 group_visibility: :public, role: :developer, access_granted: true6886 return the proper response6887 group_visibility: :public, role: :reporter, access_granted: true6888 return the proper response6889 group_visibility: :public, role: :guest, access_granted: true6890 return the proper response6891 group_visibility: :public, role: :anonymous, access_granted: false6892 return the proper response6893 limiting the number of manifests6894 only returns N manifests6895API::IssueLinks6896 GET /links6897 when unauthenticated6898 returns 4016899 when authenticated6900 returns related issues6901 returns multiple links without N + 16902 POST /links6903 when unauthenticated6904 returns 4016905 when authenticated6906 given target project not found6907 returns 4046908 given target issue not found6909 returns 4046910 when user does not have write access to given issue6911 returns 4046912 when trying to relate to a confidential issue6913 returns 4046914 when trying to relate to a private project issue6915 returns 4046916 when user has ability to create an issue link6917 returns 201 status and contains the expected link response6918 returns 201 when sending full path of target project6919 DELETE /links/:issue_link_id6920 when unauthenticated6921 returns 4016922 when authenticated6923 when user does not have write access to given issue link6924 returns 4046925 issue link not found6926 returns 4046927 when trying to delete a link with a private project issue6928 returns 4046929 when user has ability to delete the issue link6930 returns 2006931Emails::Projects6932 #prometheus_alert_fired_email6933 has expected X-GitLab alert headers6934 behaves like an email with X-GitLab headers containing project details6935 has X-GitLab-Project headers6936 with incident6937 has expected X-GitLab incident headers6938 with empty payload6939 has expected subject6940 has expected content6941 behaves like an email sent from GitLab6942 has the characteristics of an email sent from GitLab6943 behaves like it should not have Gmail Actions links6944 is expected not to have body including "ViewAction"6945 behaves like a user cannot unsubscribe through footer link6946 does not have a List-Unsubscribe header or a body link6947 with description6948 has expected subject6949 has expected content6950 behaves like an email sent from GitLab6951 has the characteristics of an email sent from GitLab6952 behaves like it should not have Gmail Actions links6953 is expected not to have body including "ViewAction"6954 behaves like a user cannot unsubscribe through footer link6955 does not have a List-Unsubscribe header or a body link6956 with environment6957 has expected subject6958 has expected content6959 behaves like an email sent from GitLab6960 has the characteristics of an email sent from GitLab6961 behaves like it should not have Gmail Actions links6962 is expected not to have body including "ViewAction"6963 behaves like a user cannot unsubscribe through footer link6964 does not have a List-Unsubscribe header or a body link6965 with gitlab alerting rule6966 has expected subject6967 has expected content6968 behaves like an email sent from GitLab6969 has the characteristics of an email sent from GitLab6970 behaves like it should not have Gmail Actions links6971 is expected not to have body including "ViewAction"6972 behaves like a user cannot unsubscribe through footer link6973 does not have a List-Unsubscribe header or a body link6974 behaves like shows the incident issues url6975 create issue setting enabled6976 is expected to have body including "http://localhost/group121/a-known-name/-/incidents"6977 resolved6978 has expected subject6979 has expected content6980 behaves like an email sent from GitLab6981 has the characteristics of an email sent from GitLab6982 behaves like it should not have Gmail Actions links6983 is expected not to have body including "ViewAction"6984 behaves like a user cannot unsubscribe through footer link6985 does not have a List-Unsubscribe header or a body link6986Groups::VariablesController6987 GET #show6988 renders the variables as json6989 has only one variable6990 when the user is a maintainer6991 returns not found response6992 PATCH #update6993 with invalid new variable parameters6994 does not update the existing variable6995 does not create the new variable6996 returns a bad request response6997 with duplicate new variable parameters6998 does not update the existing variable6999 does not create the new variable7000 returns a bad request response7001 with valid new variable parameters7002 updates the existing variable7003 creates the new variable7004 returns a successful response7005 has all variables in response7006 with a deleted variable7007 destroys the variable7008 returns a successful response7009 has all variables in response7010 with missing variable7011 returns not found response7012 for variables of type file7013 creates new variable of type file7014 when the user is a maintainer7015 returns not found response7016 with external authorization enabled7017 GET #show7018 is successful7019 PATCH #update7020 is successful7021Profiles::NotificationsController7022 GET show7023 renders7024 when personal projects are present7025 N+1 query check7026 does not have an N+17027 with groups that do not have notification preferences7028 still shows up in the list7029 N+1 query check7030 does not have an N+17031 with group notifications7032 paginates the groups7033 when the user is not a member7034 does not show public groups7035 with project notifications7036 when project is public7037 shows notification setting for project7038 when project is public7039 shows notification setting for project7040 POST update7041 updates only permitted attributes7042 shows an error message if the params are invalid7043Projects::Releases::EvidencesController7044 GET #show7045 when the user is a developer7046 returns the correct evidence summary as a json7047 when the release was created before evidence existed7048 behaves like not found7049 renders 4047050 when the user is a guest for the project7051 when the project is private7052 behaves like not found7053 renders 4047054 when the project is public7055 behaves like successful request7056 renders a 2007057 when release is associated to a milestone which includes an issue7058 when user is non-project member7059 behaves like does not show the issue in evidence7060 is expected to eq true7061 when project is private7062 behaves like evidence not found7063 is expected to respond with numeric status code not_found7064 when project restricts the visibility of issues to project members only7065 behaves like evidence not found7066 is expected to respond with numeric status code not_found7067 when user is auditor7068 behaves like does not show the issue in evidence7069 is expected to eq true7070 when project is private7071 behaves like does not show the issue in evidence7072 is expected to eq true7073 when project restricts the visibility of issues to project members only7074 behaves like does not show the issue in evidence7075 is expected to eq true7076 when external authorization control is enabled7077 behaves like evidence not found7078 is expected to respond with numeric status code not_found7079API::Features7080 GET /features7081 returns a 401 for anonymous users7082 returns a 403 for users7083 returns the feature list for admins7084 POST /feature7085 when the feature does not exist7086 returns a 401 for anonymous users7087 returns a 403 for users7088 creates a feature with the given percentage of time if passed an integer7089 creates a feature with the given percentage of actors if passed an integer7090 when passed value=true7091 creates an enabled feature7092 logs the event7093 creates an enabled feature for the given Flipper group when passed feature_group=perf_team7094 creates an enabled feature for the given user when passed user=username7095 creates an enabled feature for the given user and feature group when passed user=username and feature_group=perf_team7096 when enabling for a project by path7097 when the project exists7098 sets the feature gate7099 when the project does not exist7100 sets no new values7101 when enabling for a group by path7102 when the group exists7103 sets the feature gate7104 when the group does not exist7105 sets no new values and keeps the feature disabled7106 when the feature exists7107 when passed value=true7108 enables the feature7109 enables the feature for the given Flipper group when passed feature_group=perf_team7110 enables the feature for the given user when passed user=username7111 when feature is enabled and value=false is passed7112 disables the feature7113 disables the feature for the given Flipper group when passed feature_group=perf_team7114 disables the feature for the given user when passed user=username7115 with a pre-existing percentage of time value7116 updates the percentage of time if passed an integer7117 with a pre-existing percentage of actors value7118 updates the percentage of actors if passed an integer7119 DELETE /feature/:name7120 when the user has no access7121 returns a 401 for anonymous users7122 returns a 403 for users7123 when the user has access7124 returns 204 when the value is not set7125 when the gate value was set7126 deletes an enabled feature7127 logs the event7128API::Admin::Ci::Variables7129 GET /admin/ci/variables7130 returns instance-level variables for admins7131 does not return instance-level variables for regular users7132 does not return instance-level variables for unauthorized users7133 GET /admin/ci/variables/:key7134 returns instance-level variable details for admins7135 responds with 404 Not Found if requesting non-existing variable7136 does not return instance-level variable details for regular users7137 does not return instance-level variable details for unauthorized users7138 POST /admin/ci/variables7139 authorized user with proper permissions7140 creates variable for admins7141 creates variable with optional attributes7142 does not allow to duplicate variable key7143 does not allow values above 10,000 characters7144 authorized user with invalid permissions7145 does not create variable7146 unauthorized user7147 does not create variable7148 PUT /admin/ci/variables/:key7149 authorized user with proper permissions7150 updates variable data7151 responds with 404 Not Found if requesting non-existing variable7152 authorized user with invalid permissions7153 does not update variable7154 unauthorized user7155 does not update variable7156 DELETE /admin/ci/variables/:key7157 authorized user with proper permissions7158 deletes variable7159 responds with 404 Not Found if requesting non-existing variable7160 authorized user with invalid permissions7161 does not delete variable7162 unauthorized user7163 does not delete variable7164Projects::MergeRequests::ContentController7165 user has access to the project7166 GET cached_widget7167 renders widget MR entity as json7168 closes an MR with moved source project7169 GET widget7170 checks whether the MR can be merged7171 merged merge request7172 renders widget MR entity as json7173 with coverage data7174 renders widget MR entity as json7175 user does not have access to the project7176 GET cached_widget7177 returns 4047178 GET widget7179 returns 4047180Projects::PagesController7181 GET show7182 returns 200 status7183 when the project is in a subgroup7184 returns a 200 status code7185 DELETE destroy7186 returns 302 status7187 when user is developer7188 returns 404 status7189 pages disabled7190 GET show7191 returns 404 status7192 DELETE destroy7193 returns 404 status7194 PATCH update7195 returns 302 status7196 redirects back to the pages settings7197 calls the update service7198 when update_service returns an error message7199 adds an error message7200API::GroupExport7201 GET /groups/:group_id/export/download7202 group_import_export feature flag enabled7203 when export file exists7204 downloads exported group archive7205 when export_file.file does not exist7206 returns 4047207 when object is not present7208 returns 4047209 when export file does not exist7210 returns 4047211 group_import_export feature flag disabled7212 responds with 404 Not Found7213 when the requests have exceeded the rate limit7214 throttles the endpoint7215 POST /groups/:group_id/export7216 group_import_export feature flag enabled7217 when user is a group owner7218 accepts download7219 when the export cannot be started7220 returns an error7221 when user is not a group owner7222 forbids the request7223 group_import_export feature flag disabled7224 responds with 404 Not Found7225 when the requests have exceeded the rate limit7226 throttles the endpoint7227 relations export7228 POST /groups/:id/export_relations7229 accepts the request7230 when response is not success7231 returns api error7232 GET /groups/:id/export_relations/download7233 when export file exists7234 downloads exported group archive7235 when export_file.file does not exist7236 returns 4047237 GET /groups/:id/export_relations/status7238 returns a list of relation export statuses7239SearchController7240 GET /search7241 for issues scope7242 behaves like an efficient database result7243 avoids N+1 database queries7244 for merge_request scope7245 behaves like an efficient database result7246 avoids N+1 database queries7247 for project scope7248 behaves like an efficient database result7249 avoids N+1 database queries7250 when searching by SHA7251 finds a commit and redirects to its page7252 finds a commit in uppercase and redirects to its page7253 finds a commit with a partial sha and redirects to its page7254 redirects to the commit even if another scope result is returned7255 goes to search results with the force_search_results param set7256 does not redirect if user cannot download_code from project7257 does not redirect if commit sha not found in project7258 does not redirect if not using project scope7259doorkeeper access7260 unauthenticated7261 returns authentication success7262 allows user authenticating from the same ip7263 blocks user authenticating from two distinct ips7264 when token invalid7265 returns authentication error7266 authorization by OAuth token7267 returns authentication success7268 allows user authenticating from the same ip7269 blocks user authenticating from two distinct ips7270 when user is blocked7271 behaves like forbidden request7272 returns 403 response7273 when user is ldap_blocked7274 behaves like forbidden request7275 returns 403 response7276 when user is deactivated7277 behaves like forbidden request7278 returns 403 response7279 when user is blocked pending approval7280 behaves like forbidden request7281 returns 403 response7282Update of an existing issue7283 the user is not allowed to update issue7284 behaves like a mutation that returns a top-level access error7285 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7286 when user has permissions to update issue7287 updates the issue7288 when issue_type is updated7289 updates issue_type and work_item_type7290 setting labels7291 reset labels7292 resets labels7293 reset labels and add labels7294 returns error for mutually exclusive arguments7295 reset labels and remove labels7296 returns error for mutually exclusive arguments7297 with global label ids7298 resets labels7299 add and remove labels7300 returns error for mutually exclusive arguments7301Users7302 .users7303 with no arguments7304 behaves like a working users query7305 includes a list of users7306 behaves like a working graphql query7307 returns a successful response7308 with a list of usernames7309 behaves like a working users query7310 includes a list of users7311 behaves like a working graphql query7312 returns a successful response7313 with a list of IDs7314 behaves like a working users query7315 includes a list of users7316 behaves like a working graphql query7317 returns a successful response7318 when usernames and ids parameter are used7319 displays an error7320 when admins is true7321 current user is not an admin7322 includes all non-admin users7323 behaves like a working users query7324 includes a list of users7325 behaves like a working graphql query7326 returns a successful response7327 when current user is an admin7328 includes only admins7329 behaves like a working users query7330 includes a list of users7331 behaves like a working graphql query7332 returns a successful response7333 sorting and pagination7334 when sorting by created_at7335 when ascending7336 behaves like sorted paginated query7337 behaves like requires variables7338 shared example requires variables to be set7340 when sorting7341 sorts correctly7342 when paginating7343 paginates correctly7344 when descending7345 behaves like sorted paginated query7346 behaves like requires variables7347 shared example requires variables to be set7349 when sorting7350 sorts correctly7351 when paginating7352 paginates correctly7353SendFileUpload7354 #send_upload7355 when local file is used7356 sends a file7357 behaves like handles image resize requests7358 behaves like handles image resize requests allowed by FF7359 with valid width parameter7360 renders OK with workhorse command header7361 with missing width parameter7362 does not write workhorse command header7363 with invalid width parameter7364 does not write workhorse command header7365 with width that is not allowed7366 does not write workhorse command header7367 when image file is not an avatar7368 does not write workhorse command header7369 when image file type is not considered safe for scaling7370 does not write workhorse command header7371 when FF is disabled7372 behaves like bypasses image resize requests not allowed by FF7373 does not write workhorse command header7374 with inline image7375 sends a file with inline disposition7376 with attachment7377 sends a file with content-type of text/plain7378 with a proxied file in object storage7379 sends a file with a custom type7380 when remote file is used7381 and proxying is enabled7382 behaves like proxied file7383 sends a file7384 and proxying is disabled7385 sends a file7386 with proxy requested7387 behaves like proxied file7388 sends a file7389 behaves like handles image resize requests7390 behaves like handles image resize requests allowed by FF7391 with valid width parameter7392 renders OK with workhorse command header7393 with missing width parameter7394 does not write workhorse command header7395 with invalid width parameter7396 does not write workhorse command header7397 with width that is not allowed7398 does not write workhorse command header7399 when image file is not an avatar7400 does not write workhorse command header7401 when image file type is not considered safe for scaling7402 does not write workhorse command header7403 when FF is disabled7404 behaves like bypasses image resize requests not allowed by FF7405 does not write workhorse command header7406Users::TermsController7407 GET #index7408 when a user is signed in7409 redirects when no terms exist7410 when terms exist7411 shows terms when they exist7412 shows a message when the user already accepted the terms7413 when a user is not signed in7414 when terms exist7415 returns success response7416 when no terms exist7417 redirects7418 POST #accept7419 when a user is signed in7420 saves that the user accepted the terms7421 redirects to a path when specified7422 redirects to the referer when no redirect specified7423 redirecting to another domain7424 is prevented when passing a redirect param7425 is prevented when redirecting to the referer7426 when a user is not signed in7427 redirects to login page7428 POST #decline7429 when a user is signed in7430 stores that the user declined the terms7431 signs out the user7432 when a user is not signed in7433 redirects to login page7434Setting locked status of a merge request7435 returns an error if the user is not allowed to update the merge request7436 marks the merge request as WIP7437 does not do anything if the merge request was already locked7438 when passing locked false as input7439 does not do anything if the merge request was not marked locked7440 unmarks the merge request as locked7441groups autocomplete7442 #issues7443 issue_types: nil, expected: :all7444 returns the correct response7445 issue_types: "", expected: :all7446 returns the correct response7447 issue_types: "invalid", expected: :none7448 returns the correct response7449 issue_types: "issue", expected: :issue7450 returns the correct response7451 issue_types: "incident", expected: :incident7452 returns the correct response7453 #milestones7454 returns correct response7455API::NotificationSettings7456 GET /notification_settings7457 returns global notification settings for the current user7458 PUT /notification_settings7459 updates global notification settings for the current user7460 PUT /notification_settings7461 fails on non-user email address7462 GET /groups/:id/notification_settings7463 returns group level notification settings for the current user7464 PUT /groups/:id/notification_settings7465 updates group level notification settings for the current user7466 GET /projects/:id/notification_settings7467 returns project level notification settings for the current user7468 PUT /projects/:id/notification_settings7469 updates project level notification settings for the current user7470 PUT /projects/:id/notification_settings7471 fails on invalid level7472Projects::ServiceHookLogsController7473 GET #show7474 is expected to be successful7475 renders a 404 if the hook does not exist7476 POST #retry7477 executes the hook and redirects to the service form7478 renders a 404 if the hook does not exist7479Getting versions related to an issue7480 returns the design filename7481 with all fields requested7482 returns correct data7483 filter by sha7484 finds only those versions at or before the given cut-off7485 filter by id7486 finds only those versions at or before the given cut-off7487 pagination7488 sorts designs for reliable pagination7489HealthCheckController7490 GET #index7491 when services are up but accessed from outside whitelisted ips7492 returns a not found page7493 when services are accessed with token7494 supports passing the token in the header7495 supports passing the token in query params7496 when services are up and accessed from whitelisted ips7497 supports successful plaintext response7498 supports successful json response7499 supports successful xml response7500 supports successful responses for specific checks7501 when a service is down but NO access token7502 returns a not found page7503 when a service is down and an endpoint is accessed from whitelisted ip7504 supports failure plaintext response7505 supports failure json response7506 supports failure xml response7507 supports failure responses for specific checks7508Admin::TopicsController7509 GET #index7510 renders the template7511 as a normal user7512 renders a 404 error7513 GET #new7514 renders the template7515 as a normal user7516 renders a 404 error7517 GET #edit7518 renders the template7519 as a normal user7520 renders a 404 error7521 POST #create7522 creates topic7523 shows error message for invalid topic7524 as a normal user7525 renders a 404 error7526 PUT #update7527 updates topic7528 shows error message for invalid topic7529 as a normal user7530 renders a 404 error7531Milestones through GroupQuery7532 Get list of milestones from a group7533 when the request is correct7534 returns milestones successfully7535 behaves like a working graphql query7536 returns a successful response7537 when filtering by timeframe7538 fetches milestones between start_date and due_date7539 fetches milestones between timeframe start and end arguments7540 when filtering by state7541 returns milestones with given state7542 when including milestones from decendants7543 when including decendants7544 returns milestones also from subgroups and subprojects visible to user7545 when including ancestors7546 returns milestones from ancestor groups7547 ensures each field returns the correct value7548 returns correct values for scalar fields7549 milestone statistics7550 returns the correct milestone statistics7551Groups::SharedProjectsController7552 GET #index7553 returns only projects shared with the group7554 allows filtering shared projects7555 allows sorting projects7556 does not include archived projects7557Oauth::AuthorizationsController7558 includes Two-factor enforcement concern7559 GET #new7560 when application is confidential7561 does not allow the implicit flow7562 when the user is confirmed7563 when there is already an access token for the application with a matching scope7564 authorizes the request and shows the user a page that redirects7565 without valid params7566 returns 200 code and renders error view7567 with valid params7568 returns 200 code and renders view7569 deletes session.user_return_to and redirects when skip authorization7570 POST #create7571 when the user is confirmed7572 when there is already an access token for the application with a matching scope7573 authorizes the request and redirects7574 when the user is unconfirmed7575 returns 200 and renders error view7576 when application is confidential7577 does not allow the implicit flow7578 DELETE #destroy7579 when the user is confirmed7580 when there is already an access token for the application with a matching scope7581 authorizes the request and redirects7582 when the user is unconfirmed7583 returns 200 and renders error view7584 when application is confidential7585 does not allow the implicit flow7586API::ImportBitbucketServer7587 POST /import/bitbucket_server7588 with no optional parameters7589 rejects requests when Bitbucket Server Importer is disabled7590 returns 201 response when the project is imported successfully7591 with a new project name7592 returns 201 response when the project is imported successfully with a new project name7593 with an invalid URL7594 returns 400 response due to a blocked URL7595 with a new namespace7596 returns 201 response when the project is imported successfully to a new namespace7597 with a private inaccessible namespace7598 returns 401 response when user can not create projects in the chosen namespace7599 with an inaccessible bitbucket server instance7600 raises a connection error7601package details7602DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7603DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7604 has the correct metadata7605DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7606DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7607 does not have files7608 behaves like a package detail7609 behaves like a working graphql query7610DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7611DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7612 returns a successful response7613DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7614DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7615 matches the JSON schema7616getting Alert Management Alert counts by status7617 with alert data7618 without project permissions7619 is expected to equal nil7620 behaves like a working graphql query7621 returns a successful response7622 with project permissions7623 returns the correct counts for each status7624 behaves like a working graphql query7625 returns a successful response7626 with search criteria7627 returns the correct counts for each status7628 behaves like a working graphql query7629 returns a successful response7630Project.cluster_agents7631DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7632DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7633DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7634DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7635DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7636DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7637DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7638DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7639DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7640DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7641 can retrieve cluster agents7642 selecting page info7643 can paginate cluster agents7644 selecting tokens7645 can select tokens in last_used_at order7646 does not suffer from N+1 performance issues7647 selecting connections7648 can retrieve connections and agent metadata7649Emails::Releases7650 #new_release_email7651 contains a message with the new release tag7652 contains the release assets7653 contains the release notes7654 behaves like an email sent from GitLab7655 has the characteristics of an email sent from GitLab7656 when the release has a name7657 shows the correct subject7658 when the release does not have a name7659 shows the correct subject7660 release notes with attachment7661 renders absolute links7662merge requests creations7663 GET /:namespace/:project/merge_requests/new7664 avoids N+1 DB queries even with forked projects7665JobRetry7666 returns an error if the user is not allowed to retry the job7667 retries a job7668Mutations::Metrics::Dashboard::Annotations::Delete7669 is expected to require graphql authorizations :delete_metrics_dashboard_annotation7670 when the user has permission to delete the annotation7671 with valid params7672 deletes the annotation7673 with invalid params7674 behaves like a mutation that returns top-level errors7675 is expected to contain exactly (include "invalid value for id")7676 when the delete fails7677 returns the error7678 when the user does not have permission to delete the annotation7679 does not delete the annotation7680 behaves like a mutation that returns top-level errors7681 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7682Projects::Analytics::CycleAnalytics::SummaryController7683 GET "show"7684 succeeds7685 when analytics_disabled features are disabled7686 renders 4047687 when user is not part of the project7688 renders 4047689 when filters are applied7690 filters by author username7691 filters by milestone title7692Query.runners7693 Query.runners7694 runner_type is INSTANCE_TYPE and status is ACTIVE7695 behaves like a working graphql query returning expected runner7696 returns expected runner7697 behaves like a working graphql query7698 returns a successful response7699 runner_type is PROJECT_TYPE and status is NOT_CONNECTED7700 behaves like a working graphql query returning expected runner7701 returns expected runner7702 behaves like a working graphql query7703 returns a successful response7704 pagination7705 when sorted by contacted_at ascending7706 behaves like sorted paginated query7707 behaves like requires variables7708 shared example requires variables to be set7710 when sorting7711 sorts correctly7712 when paginating7713 paginates correctly7714 when sorted by created_at7715 behaves like sorted paginated query7716 behaves like requires variables7717 shared example requires variables to be set7719 when sorting7720 sorts correctly7721 when paginating7722 paginates correctly7723WhatsNewController7724 GET #index7725 with no page param7726 responds with paginated data and headers7727 with page param7728 passes the page parameter7729 returns a 404 if page param is negative7730 with whats_new_variant = disabled7731 returns a 4047732Updating the dependency proxy group settings7733 post graphql mutation7734 without permission7735 returns no response7736 with permission7737 returns the updated dependency proxy settings7738AbuseReportMailer7739 .notify7740 behaves like appearance header and footer enabled7741 contains header and footer7742 behaves like appearance header and footer not enabled7743 does not contain header and footer7744 with abuse_notification_email set7745 sends to the abuse_notification_email7746 includes the user in the subject7747 with no abuse_notification_email set7748 returns early7749Projects::ErrorTracking::ProjectsController7750 GET #index7751 with insufficient permissions7752 returns 4047753 with an anonymous user7754 redirects to sign-in page7755 with authorized user7756 service result is successful7757 returns a list of projects7758 service result is erroneous7759 without http_status7760 returns 400 with message7761 with explicit http_status7762 returns http_status with message7763Jira authorization requests7764 POST access_token7765 returns values similar to a POST to /oauth/token7766 when authorization fails7767 when client_id is invalid7768 behaves like an unauthorized request7769 returns 4017770 when client_secret is invalid7771 behaves like an unauthorized request7772 returns 4017773 when code is invalid7774 returns bad request7775Admin::HooksController7776 POST #create7777 sets all parameters7778 DELETE #destroy7779 behaves like Web hook destroyer7780 displays a message about synchronous delete7781 displays a message about async delete7782 displays an error if deletion failed7783Setting an issue as confidential7784 returns an error if the user is not allowed to update the issue7785 updates the issue confidentiality7786PipelineDestroy7787 returns an error if the user is not allowed to destroy the pipeline7788 destroys a pipeline7789Oauth::TokenInfoController7790 includes Two-factor enforcement concern7791 #show7792 when the user is not authenticated7793 responds with a 4007794 when the request is valid7795 responds with the token info7796 when the doorkeeper_token is not recognised7797 responds with a 4007798 when the token is expired7799 responds with a 4007800 when the token is revoked7801 responds with a 4007802Admin::BackgroundMigrationsController7803 POST #retry7804 redirects the user to the admin migrations page7805 retries the migration7806 when the migration is not failed7807 keeps the same migration status7808SpammableActions::AkismetMarkAsSpamAction7809 #mark_as_spam7810 when user is admin7811 when service returns truthy7812 redirects with notice7813 when service returns falsey7814 redirects with notice7815 when user is not admin7816 calls #access_denied!7817Setting severity level of an incident7818 when the user is not allowed to update the incident7819 returns an error7820 when the user is allowed to update the incident7821 updates the issue7822Admin::UsageTrendsController7823 GET #show7824 behaves like tracking unique visits7825 tracks unique visit if the format is HTML7826 tracks unique visit if DNT is not enabled7827 does not track unique visit if DNT is enabled7828 does not track unique visit if the format is JSON7829Admin::ApplicationSettings::AppearancesController7830 POST #create7831 creates appearance with footer and header message7832 when enabling header and footer in email7833 creates appearance with enabled flag7834 PUT #update7835 updates appearance with footer and header message7836 when enabling header and footer in email7837 updates appearance with enabled flag7838Creating a todo for the alert7839 creates a todo for the current user7840 todo already exists7841 surfaces an error7842RedirectsForMissingPathOnTree7843 #redirect_to_root_path7844 redirects to the tree path with a notice7845Resetting a token on an existing HTTP Integration7846 updates the integration7847Updating an existing release asset link7848 updates and existing release asset link and returns the updated link7849Profiles::AvatarsController7850/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil7851 removes avatar from DB by calling destroy7852Create a user callout7853 creates user callout7854Profiles::WebauthnRegistrationsController7855 #destroy7856 deletes the given webauthn registration7857Knapsack report was generated. Preview:7858{7859 "spec/requests/api/nuget_project_packages_spec.rb": 166.93911452200018,7860 "spec/requests/api/projects_spec.rb": 231.08840367300036,7861 "spec/controllers/projects/merge_requests_controller_spec.rb": 118.99515599899996,7862 "spec/requests/api/notes_spec.rb": 132.52526674499995,7863 "spec/requests/api/conan_instance_packages_spec.rb": 105.62895601899982,7864 "spec/requests/projects/cycle_analytics_events_spec.rb": 95.89854450299981,7865 "spec/controllers/projects/branches_controller_spec.rb": 53.08729185899983,7866 "spec/controllers/admin/instance_review_controller_spec.rb": 68.71443781599964,7867 "spec/requests/api/helm_packages_spec.rb": 26.03818443099999,7868 "spec/controllers/autocomplete_controller_spec.rb": 35.51037771400024,7869 "spec/controllers/sent_notifications_controller_spec.rb": 28.658181283999966,7870 "spec/controllers/ldap/omniauth_callbacks_controller_spec.rb": 49.54529945400009,7871 "spec/requests/api/invitations_spec.rb": 22.683029842999986,7872 "spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb": 23.60590516000002,7873 "spec/requests/api/deployments_spec.rb": 30.912420316999942,7874 "spec/controllers/projects/uploads_controller_spec.rb": 16.33615864300009,7875 "spec/controllers/projects/milestones_controller_spec.rb": 25.76971536100018,7876 "spec/requests/api/go_proxy_spec.rb": 12.6785798410001,7877 "spec/controllers/projects/labels_controller_spec.rb": 13.612495618999674,7878 "spec/controllers/projects/merge_requests/drafts_controller_spec.rb": 25.46075919199984,7879 "spec/requests/api/admin/instance_clusters_spec.rb": 8.410856160999629,7880 "spec/controllers/projects/web_ide_terminals_controller_spec.rb": 13.01575080800012,7881 "spec/controllers/projects/pages_domains_controller_spec.rb": 13.39963872899989,7882 "spec/requests/api/graphql/ci/pipelines_spec.rb": 11.99184517599997,7883 "spec/controllers/projects/discussions_controller_spec.rb": 17.823185312000078,7884 "spec/requests/api/protected_tags_spec.rb": 12.2870728959997,7885 "spec/requests/api/graphql/project/alert_management/alerts_spec.rb": 11.823006562000046,7886 "spec/requests/api/task_completion_status_spec.rb": 9.15489849200003,7887 "spec/controllers/dashboard/milestones_controller_spec.rb": 12.172827983999923,7888 "spec/controllers/projects/avatars_controller_spec.rb": 5.695737383000051,7889 "spec/requests/api/unleash_spec.rb": 8.087764464999964,7890 "spec/requests/api/graphql_spec.rb": 7.780531668999629,7891 "spec/requests/api/graphql/group/dependency_proxy_manifests_spec.rb": 5.486495488999935,7892 "spec/requests/api/issue_links_spec.rb": 10.623672297000212,7893 "spec/mailers/emails/projects_spec.rb": 6.3235313840000344,7894 "spec/controllers/groups/variables_controller_spec.rb": 5.421240475000104,7895 "spec/controllers/profiles/notifications_controller_spec.rb": 8.082777635999719,7896 "spec/controllers/projects/releases/evidences_controller_spec.rb": 9.069909909999751,7897 "spec/requests/api/features_spec.rb": 4.198879184999896,7898 "spec/requests/api/admin/ci/variables_spec.rb": 3.089944285999991,7899 "spec/controllers/projects/merge_requests/content_controller_spec.rb": 7.454744124999706,7900 "spec/controllers/projects/pages_controller_spec.rb": 5.910933460999331,7901 "spec/requests/api/group_export_spec.rb": 5.163953036999374,7902 "spec/requests/search_controller_spec.rb": 7.741300462000254,7903 "spec/requests/api/doorkeeper_access_spec.rb": 4.201131173999784,7904 "spec/requests/api/graphql/mutations/issues/update_spec.rb": 4.89959459199963,7905 "spec/requests/api/graphql/users_spec.rb": 2.237544285000695,7906 "spec/controllers/concerns/send_file_upload_spec.rb": 0.9922061419993042,7907 "spec/controllers/users/terms_controller_spec.rb": 2.398549971999273,7908 "spec/requests/api/graphql/mutations/merge_requests/set_locked_spec.rb": 5.206057506999969,7909 "spec/requests/groups/autocomplete_sources_spec.rb": 1.767938826000318,7910 "spec/requests/api/notification_settings_spec.rb": 3.4399129290004566,7911 "spec/controllers/projects/service_hook_logs_controller_spec.rb": 2.957598619000237,7912 "spec/requests/api/graphql/project/issue/design_collection/versions_spec.rb": 1.8392486650000137,7913 "spec/controllers/health_check_controller_spec.rb": 1.1936219700000947,7914 "spec/controllers/admin/topics_controller_spec.rb": 1.275097912000092,7915 "spec/requests/api/graphql/group/milestones_spec.rb": 3.680775679999897,7916 "spec/controllers/groups/shared_projects_controller_spec.rb": 3.9238345379999373,7917 "spec/controllers/oauth/authorizations_controller_spec.rb": 2.6408149319995573,7918 "spec/requests/api/import_bitbucket_server_spec.rb": 3.102407430999847,7919 "spec/requests/api/graphql/packages/composer_spec.rb": 2.9433838510003625,7920 "spec/requests/api/graphql/project/alert_management/alert_status_counts_spec.rb": 2.045049373000438,7921 "spec/requests/api/graphql/project/cluster_agents_spec.rb": 3.7203935070001535,7922 "spec/mailers/emails/releases_spec.rb": 2.3732885839999653,7923 "spec/requests/projects/merge_requests/creations_spec.rb": 3.72446620700066,7924 "spec/requests/api/graphql/mutations/ci/job_retry_spec.rb": 1.007767232000333,7925 "spec/requests/api/graphql/mutations/metrics/dashboard/annotations/delete_spec.rb": 2.0278610440000193,7926 "spec/controllers/projects/analytics/cycle_analytics/summary_controller_spec.rb": 1.7160728720000407,7927 "spec/requests/api/graphql/ci/runners_spec.rb": 2.1641437560001577,7928 "spec/requests/whats_new_controller_spec.rb": 0.6200802540006407,7929 "spec/requests/api/graphql/mutations/dependency_proxy/group_settings/update_spec.rb": 0.8495402609996745,7930 "spec/mailers/abuse_report_mailer_spec.rb": 1.036700889999338,7931 "spec/controllers/projects/error_tracking/projects_controller_spec.rb": 1.0551550000000134,7932 "spec/requests/jira_authorizations_spec.rb": 0.9462361160003638,7933 "spec/controllers/admin/hooks_controller_spec.rb": 1.0428095199995369,7934 "spec/requests/api/graphql/mutations/issues/set_confidential_spec.rb": 1.4349970980001672,7935 "spec/requests/api/graphql/mutations/ci/pipeline_destroy_spec.rb": 0.7063576489999832,7936 "spec/controllers/oauth/token_info_controller_spec.rb": 0.7630963060000795,7937 "spec/requests/admin/background_migrations_controller_spec.rb": 0.7232259880001948,7938 "spec/controllers/concerns/spammable_actions/akismet_mark_as_spam_action_spec.rb": 1.363236612000037,7939 "spec/requests/api/graphql/mutations/issues/set_severity_spec.rb": 1.229702368999824,7940 "spec/controllers/admin/usage_trends_controller_spec.rb": 0.8116829829996277,7941 "spec/controllers/admin/application_settings/appearances_controller_spec.rb": 0.8447012520000499,7942 "spec/requests/api/graphql/mutations/alert_management/alerts/todo/create_spec.rb": 0.7611967360007839,7943 "spec/controllers/concerns/redirects_for_missing_path_on_tree_spec.rb": 0.935147035999762,7944 "spec/requests/api/graphql/mutations/alert_management/http_integration/reset_token_spec.rb": 0.5712314570000672,7945 "spec/requests/api/graphql/mutations/release_asset_links/update_spec.rb": 0.6397521230001075,7946 "spec/controllers/profiles/avatars_controller_spec.rb": 0.33414164099940535,7947 "spec/requests/api/graphql/mutations/user_callouts/create_spec.rb": 0.31959379199997784,7948 "spec/controllers/profiles/webauthn_registrations_controller_spec.rb": 0.229249497999262537949}7950Knapsack global time execution for tests: 26m 18s7951Finished in 26 minutes 21 seconds (files took 50.34 seconds to load)79523021 examples, 0 failures7953Tue 26 Oct 2021 09:48:02 PM UTC7955Not uploading cache ruby-gems-v1-5 due to policy7956Not uploading cache gitaly-ruby-gems-v1-5 due to policy7958Uploading artifacts...7959coverage/: found 5 matching files and directories 7960WARNING: crystalball/: no matching files 7961deprecations/: found 9 matching files and directories 7962knapsack/: found 3 matching files and directories 7963rspec_flaky/: found 4 matching files and directories 7964rspec_profiling/: found 1 matching files and directories 7965WARNING: tmp/capybara/: no matching files 7966tmp/memory_test/: found 2 matching files and directories 7967log/*.log: found 18 matching files and directories 7968Uploading artifacts as "archive" to coordinator... ok id=1718320243 responseStatus=201 Created token=krrTHVdb7969Uploading artifacts...7970junit_rspec.xml: found 1 matching files and directories 7971Uploading artifacts as "junit" to coordinator... ok id=1718320243 responseStatus=201 Created token=krrTHVdb7973Job succeeded