rspec integration pg12 8/10
Passed Started
by
@jerasmus

Jacques Erasmus
1Running with gitlab-runner 14.10.0~beta.50.g1f2fe53e (1f2fe53e)2 on green-2.shared-gitlab-org.runners-manager.gitlab.com/default 8zCxmpPt3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:19789c9e83692f61ca3314294926bb26b68068f08aab1bd207915dcbd1a629c7 for postgres:12 with digest postgres@sha256:f2765d6a2a6459578274645b4d801345060322da2ba855af3d84878be28fe923 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:131bc9ee328cff6485bae97a15d5867539c2902681d2bb30ab20117132936344 for redis:6.0-alpine with digest redis@sha256:54cd3000b43117c720f7d1ae77692b798ad8b4d54e304dbd8e49e799e77494a1 ...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:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...16Using docker image sha256:f5ccee577b270c6a832d9828384f62b437fcd3314314b5a98a5ab1cd248c3455 for registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7291ca4981a34fb65e8293b932eab1b4a4949bffa86bf4427b9f12c73f3483b7 ...18Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1651133194-8fc4bd5b...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 103295, done. 25remote: Counting objects: 100% (103295/103295), done. 26remote: Compressing objects: 100% (73122/73122), done. 27remote: Total 103295 (delta 39893), reused 68736 (delta 26495), pack-reused 0 28Receiving objects: 100% (103295/103295), 104.30 MiB | 33.08 MiB/s, done.29Resolving deltas: 100% (39893/39893), done.31 * [new ref] refs/pipelines/526772223 -> refs/pipelines/52677222332 * [new branch] master -> origin/master33Checking out d5ce7ff4 as master...34Skipping Git submodules setup36Checking cache for ruby-gems-bullseye-9-protected...37Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-bullseye-9-protected 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-bullseye-9-protected...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-bullseye-9-protected 41Successfully extracted cache43Downloading artifacts for compile-test-assets (2388875148)...44Downloading artifacts from coordinator... ok id=2388875148 responseStatus=200 OK token=Hwaf-unk45Downloading artifacts for detect-tests (2388875168)...46Downloading artifacts from coordinator... ok id=2388875168 responseStatus=200 OK token=C51XdtG347Downloading artifacts for retrieve-tests-metadata (2388875184)...48Downloading artifacts from coordinator... ok id=2388875184 responseStatus=200 OK token=DVXPaLbN49Downloading artifacts for setup-test-env (2388875163)...50Downloading artifacts from coordinator... ok id=2388875163 responseStatus=200 OK token=qLL8tAwL52Using docker image sha256:f5ccee577b270c6a832d9828384f62b437fcd3314314b5a98a5ab1cd248c3455 for registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7291ca4981a34fb65e8293b932eab1b4a4949bffa86bf4427b9f12c73f3483b7 ...53$ echo $FOSS_ONLY54$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb55$ export GOPATH=$CI_PROJECT_DIR/.go56$ mkdir -p $GOPATH57$ source scripts/utils.sh58$ source scripts/prepare_build.sh59Successfully installed bundler-2.3.6601 gem installed61Bundler version 2.3.662production:development63Settings are listed in order of priority. The top value will be used.64clean65Set for the current user (/root/.bundle/config): true66install_flags67Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"68path69Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"70without71Set via BUNDLE_WITHOUT: [:production, :development]72$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check73Don't run Bundler as root. Bundler can ask for sudo if it is needed, and74installing your bundle as root will break this application for all non-root75users on this machine.76The Gemfile's dependencies are satisfied77==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 6 seconds.78$ bundle pristine pg79Installing pg 1.2.3 with native extensions80==> 'bundle pristine pg' succeeded in 13 seconds.81Using decomposed database config (config/database.yml.decomposed-postgresql)82$ setup_db_user_only83CREATE ROLE84GRANT85==> 'setup_db_user_only' succeeded in 0 seconds.86$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee87DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)88DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:NewHasVariable> at app/models/concerns/ci/new_has_variable.rb:9)89DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Kubernetes> at app/models/clusters/platforms/kubernetes.rb:29)90DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Kubernetes> at app/models/clusters/platforms/kubernetes.rb:34)91DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)92DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)93DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)94DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)95DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)96DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)97DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)98DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)99DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)100DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Integration> at app/models/integration.rb:52)101DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Helm> at app/models/clusters/applications/helm.rb:12)102DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Prometheus> at app/models/clusters/applications/prometheus.rb:23)103DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)104DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)105DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)106DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from connected? at ee/lib/gitlab/geo.rb:79)107Dropped database 'gitlabhq_test'108Dropped database 'gitlabhq_test_ci'109Dropped database 'gitlabhq_geo_test'110Created database 'gitlabhq_test'111Created database 'gitlabhq_test_ci'112Created database 'gitlabhq_geo_test'113DEPRECATION 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)114Dropped database 'gitlabhq_geo_test'115Created database 'gitlabhq_geo_test'116==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 41 seconds.117$ run_timed_command "gem install knapsack --no-document"118$ gem install knapsack --no-document119Successfully installed knapsack-4.0.01201 gem installed121==> 'gem install knapsack --no-document' succeeded in 1 seconds.122$ run_timed_command "scripts/gitaly-test-spawn"123$ scripts/gitaly-test-spawn124find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory125find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory126find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory127Don't run Bundler as root. Bundler can ask for sudo if it is needed, and128installing your bundle as root will break this application for all non-root129users on this machine.130Using abstract_type 0.0.7131Using concurrent-ruby 1.1.10132Using i18n 1.10.0133Using minitest 5.15.0134Using tzinfo 2.0.4135Using zeitwerk 2.5.4136Using activesupport 6.1.4.7137Using builder 3.2.4138Using erubi 1.10.0139Using mini_portile2 2.8.0140Using racc 1.6.0141Using nokogiri 1.13.3 (x86_64-linux)142Using rails-dom-testing 2.0.3143Using crass 1.0.6144Using loofah 2.16.0145Using rails-html-sanitizer 1.4.2146Using actionview 6.1.4.7147Using rack 2.2.3148Using rack-test 1.1.0149Using actionpack 6.1.4.7150Using ice_nine 0.11.2151Using thread_safe 0.3.6152Using memoizable 0.4.2153Using adamantium 0.2.0154Using public_suffix 4.0.6155Using addressable 2.7.0156Using ast 2.4.2157Using binding_ninja 0.2.3158Using bundler 2.1.4159Using charlock_holmes 0.7.7160Using coderay 1.1.2161Using equalizer 0.0.11162Using concord 0.1.5163Using diff-lcs 1.3164Using dotenv 2.7.6165Using escape_utils 1.2.1166Using factory_bot 5.0.2167Using multipart-post 2.1.1168Using faraday 1.0.1169Using ffi 1.15.3170Using json 2.6.1171Using gemojione 3.3.0172Using mini_mime 1.0.2173Using rugged 1.2.0174Using github-linguist 7.12.1175Using github-markup 1.7.0176Using mime-types-data 3.2020.1104177Using mime-types 3.3.1178Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1179Using rouge 3.27.0180Using sanitize 6.0.0181Using stringex 2.8.5182Using gitlab-gollum-lib 4.2.7.10.gitlab.2183Using google-protobuf 3.19.1 (x86_64-linux)184Using googleapis-common-protos-types 1.3.0185Using grpc 1.42.0 (x86_64-linux)186Using opentracing 0.5.0187Using thrift 0.15.0188Using jaeger-client 1.1.0189Using pg_query 2.1.1190Using redis 4.4.0191Using gitlab-labkit 0.21.2192Using rubyzip 2.3.2193Using thor 1.1.0194Using tomlrb 2.0.1195Using with_env 1.1.0196Using rexml 3.2.5197Using xml-simple 1.1.9198Using gitlab-license_finder 6.14.2.1199Using gitlab-markup 1.7.1200Using grpc-tools 1.42.0201Using sawyer 0.8.2202Using octokit 4.20.0203Using reverse_markdown 1.4.0204Using licensee 9.14.1205Using method_source 0.9.2206Using msgpack 1.3.3207Using optimist 3.0.1208Using parallel 1.19.2209Using parser 3.0.3.2210Using procto 0.0.3211Using unparser 0.4.7212Using proc_to_ast 0.1.0213Using pry 0.12.2214Using rainbow 3.0.0215Using rbtrace 0.4.14216Using rdoc 6.3.2217Using regexp_parser 1.8.1218Using rspec-support 3.8.0219Using rspec-core 3.8.0220Using rspec-expectations 3.8.3221Using rspec-mocks 3.8.0222Using rspec 3.8.0223Using rspec-parameterized 0.4.2224Using rubocop-ast 0.2.0225Using ruby-progressbar 1.10.1226Using unicode-display_width 1.7.0227Using rubocop 0.86.0228Using sentry-raven 3.0.4229Using timecop 0.9.1230Bundle complete! 22 Gemfile dependencies, 100 gems now installed.231Gems in the groups production and development were not installed.232Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`233Checking gitaly-ruby Gemfile...234Checking gitaly-ruby bundle...235The Gemfile's dependencies are satisfied236Trying to connect to gitaly: ............................................... OK237Trying to connect to gitaly2: ................................................................ OK238Trying to connect to praefect: ......... OK239==> 'scripts/gitaly-test-spawn' succeeded in 13 seconds.240$ source ./scripts/rspec_helpers.sh241$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"242SKIP_FLAKY_TESTS_AUTOMATICALLY: true243RETRY_FAILED_TESTS_IN_NEW_PROCESS: true244KNAPSACK_GENERATE_REPORT: true245FLAKY_RSPEC_GENERATE_REPORT: true246KNAPSACK_TEST_FILE_PATTERN: spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb247KNAPSACK_LOG_LEVEL: debug248KNAPSACK_REPORT_PATH: knapsack/rspec_integration_pg12_8_10_report.json249FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json250FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_integration_pg12_8_10_report.json251NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_integration_pg12_8_10_report.json252SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_integration_pg12_8_10_report.txt253RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_integration_pg12_8_10_report.txt254CRYSTALBALL: 255Knapsack node specs:256spec/requests/api/nuget_project_packages_spec.rb257spec/requests/api/maven_packages_spec.rb258spec/controllers/projects/issues_controller_spec.rb259spec/controllers/projects/pipelines_controller_spec.rb260spec/controllers/projects_controller_spec.rb261spec/requests/api/group_clusters_spec.rb262spec/requests/api/ci/runner/jobs_artifacts_spec.rb263spec/requests/api/ci/job_artifacts_spec.rb264spec/requests/api/internal/base_spec.rb265spec/requests/api/ci/jobs_spec.rb266spec/controllers/uploads_controller_spec.rb267spec/controllers/projects/releases_controller_spec.rb268spec/controllers/projects/milestones_controller_spec.rb269spec/controllers/projects/uploads_controller_spec.rb270spec/controllers/omniauth_callbacks_controller_spec.rb271spec/requests/api/protected_branches_spec.rb272spec/requests/api/todos_spec.rb273spec/controllers/projects/starrers_controller_spec.rb274spec/controllers/projects/templates_controller_spec.rb275spec/controllers/groups/uploads_controller_spec.rb276spec/requests/api/commit_statuses_spec.rb277spec/controllers/projects/services_controller_spec.rb278spec/requests/api/resource_label_events_spec.rb279spec/requests/api/unleash_spec.rb280spec/controllers/projects/boards_controller_spec.rb281spec/requests/api/merge_request_diffs_spec.rb282spec/requests/api/graphql/packages/package_spec.rb283spec/requests/api/graphql/metrics/dashboard_query_spec.rb284spec/requests/api/graphql/mutations/design_management/delete_spec.rb285spec/requests/api/graphql/packages/nuget_spec.rb286spec/requests/api/project_repository_storage_moves_spec.rb287spec/requests/projects/issue_links_controller_spec.rb288spec/controllers/projects/graphs_controller_spec.rb289spec/requests/api/resource_state_events_spec.rb290spec/mailers/emails/issues_spec.rb291spec/requests/api/graphql/project/issue_spec.rb292spec/requests/api/group_container_repositories_spec.rb293spec/requests/api/graphql/project/error_tracking/sentry_errors_request_spec.rb294spec/controllers/projects/feature_flags_user_lists_controller_spec.rb295spec/controllers/concerns/controller_with_cross_project_access_check_spec.rb296spec/requests/api/graphql/mutations/work_items/create_from_task_spec.rb297spec/controllers/snippets/blobs_controller_spec.rb298spec/controllers/concerns/send_file_upload_spec.rb299spec/controllers/admin/topics_controller_spec.rb300spec/controllers/users/terms_controller_spec.rb301spec/requests/api/graphql/project/cluster_agents_spec.rb302spec/requests/api/import_bitbucket_server_spec.rb303spec/requests/api/graphql/group/milestones_spec.rb304spec/controllers/passwords_controller_spec.rb305spec/requests/api/graphql/read_only_spec.rb306spec/controllers/concerns/project_unauthorized_spec.rb307spec/requests/api/graphql/mutations/boards/lists/destroy_spec.rb308spec/requests/api/graphql/mutations/design_management/move_spec.rb309spec/controllers/projects/static_site_editor_controller_spec.rb310spec/requests/api/graphql/mutations/clusters/agent_tokens/agent_tokens/create_spec.rb311spec/controllers/projects/autocomplete_sources_controller_spec.rb312spec/requests/api/graphql/project/terraform/state_spec.rb313spec/controllers/projects/usage_quotas_controller_spec.rb314spec/controllers/groups/imports_controller_spec.rb315spec/requests/api/graphql/metrics/dashboard/annotations_spec.rb316spec/requests/api/graphql/mutations/boards/lists/update_spec.rb317spec/controllers/projects/web_ide_schemas_controller_spec.rb318spec/controllers/profiles/gpg_keys_controller_spec.rb319spec/requests/api/dependency_proxy_spec.rb320spec/controllers/projects/group_links_controller_spec.rb321spec/requests/projects/integrations/shimos_controller_spec.rb322spec/controllers/concerns/sorting_preference_spec.rb323spec/requests/api/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb324spec/controllers/admin/application_settings/appearances_controller_spec.rb325spec/requests/api/geo_spec.rb326spec/requests/api/graphql/project/recent_issue_boards_query_spec.rb327spec/requests/api/graphql/terraform/state/unlock_spec.rb328spec/requests/api/graphql/mutations/ci/job_cancel_spec.rb329spec/controllers/projects/environments/sample_metrics_controller_spec.rb330spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb331spec/requests/api/graphql/terraform/state/delete_spec.rb332spec/requests/projects/google_cloud/revoke_oauth_controller_spec.rb333spec/controllers/concerns/spammable_actions/captcha_check/json_format_actions_support_spec.rb334spec/controllers/admin/gitaly_servers_controller_spec.rb335spec/controllers/oauth/tokens_controller_spec.rb336Filter specs:337Running specs:338Running all node tests without filter339spec/requests/api/nuget_project_packages_spec.rb340spec/requests/api/maven_packages_spec.rb341spec/controllers/projects/issues_controller_spec.rb342spec/controllers/projects/pipelines_controller_spec.rb343spec/controllers/projects_controller_spec.rb344spec/requests/api/group_clusters_spec.rb345spec/requests/api/ci/runner/jobs_artifacts_spec.rb346spec/requests/api/ci/job_artifacts_spec.rb347spec/requests/api/internal/base_spec.rb348spec/requests/api/ci/jobs_spec.rb349spec/controllers/uploads_controller_spec.rb350spec/controllers/projects/releases_controller_spec.rb351spec/controllers/projects/milestones_controller_spec.rb352spec/controllers/projects/uploads_controller_spec.rb353spec/controllers/omniauth_callbacks_controller_spec.rb354spec/requests/api/protected_branches_spec.rb355spec/requests/api/todos_spec.rb356spec/controllers/projects/starrers_controller_spec.rb357spec/controllers/projects/templates_controller_spec.rb358spec/controllers/groups/uploads_controller_spec.rb359spec/requests/api/commit_statuses_spec.rb360spec/controllers/projects/services_controller_spec.rb361spec/requests/api/resource_label_events_spec.rb362spec/requests/api/unleash_spec.rb363spec/controllers/projects/boards_controller_spec.rb364spec/requests/api/merge_request_diffs_spec.rb365spec/requests/api/graphql/packages/package_spec.rb366spec/requests/api/graphql/metrics/dashboard_query_spec.rb367spec/requests/api/graphql/mutations/design_management/delete_spec.rb368spec/requests/api/graphql/packages/nuget_spec.rb369spec/requests/api/project_repository_storage_moves_spec.rb370spec/requests/projects/issue_links_controller_spec.rb371spec/controllers/projects/graphs_controller_spec.rb372spec/requests/api/resource_state_events_spec.rb373spec/mailers/emails/issues_spec.rb374spec/requests/api/graphql/project/issue_spec.rb375spec/requests/api/group_container_repositories_spec.rb376spec/requests/api/graphql/project/error_tracking/sentry_errors_request_spec.rb377spec/controllers/projects/feature_flags_user_lists_controller_spec.rb378spec/controllers/concerns/controller_with_cross_project_access_check_spec.rb379spec/requests/api/graphql/mutations/work_items/create_from_task_spec.rb380spec/controllers/snippets/blobs_controller_spec.rb381spec/controllers/concerns/send_file_upload_spec.rb382spec/controllers/admin/topics_controller_spec.rb383spec/controllers/users/terms_controller_spec.rb384spec/requests/api/graphql/project/cluster_agents_spec.rb385spec/requests/api/import_bitbucket_server_spec.rb386spec/requests/api/graphql/group/milestones_spec.rb387spec/controllers/passwords_controller_spec.rb388spec/requests/api/graphql/read_only_spec.rb389spec/controllers/concerns/project_unauthorized_spec.rb390spec/requests/api/graphql/mutations/boards/lists/destroy_spec.rb391spec/requests/api/graphql/mutations/design_management/move_spec.rb392spec/controllers/projects/static_site_editor_controller_spec.rb393spec/requests/api/graphql/mutations/clusters/agent_tokens/agent_tokens/create_spec.rb394spec/controllers/projects/autocomplete_sources_controller_spec.rb395spec/requests/api/graphql/project/terraform/state_spec.rb396spec/controllers/projects/usage_quotas_controller_spec.rb397spec/controllers/groups/imports_controller_spec.rb398spec/requests/api/graphql/metrics/dashboard/annotations_spec.rb399spec/requests/api/graphql/mutations/boards/lists/update_spec.rb400spec/controllers/projects/web_ide_schemas_controller_spec.rb401spec/controllers/profiles/gpg_keys_controller_spec.rb402spec/requests/api/dependency_proxy_spec.rb403spec/controllers/projects/group_links_controller_spec.rb404spec/requests/projects/integrations/shimos_controller_spec.rb405spec/controllers/concerns/sorting_preference_spec.rb406spec/requests/api/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rbKnapsack report generator started!407DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from connected? at ee/lib/gitlab/geo.rb:79)408DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)409DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)410WARNING: Shared example group 'returns a valid json search response' has been previously defined at:411 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335412...and you are now defining it at:413 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335414The new definition will overwrite the original one.415WARNING: Shared example group 'returns a valid json search response' has been previously defined at:416 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335417...and you are now defining it at:418 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335419The new definition will overwrite the original one.420WARNING: Shared example group 'returns a valid json search response' has been previously defined at:421 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335422...and you are now defining it at:423 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335424The new definition will overwrite the original one.425WARNING: Shared example group 'returns a valid json search response' has been previously defined at:426 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335427...and you are now defining it at:428 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335429The new definition will overwrite the original one.430WARNING: Shared example group 'returns a valid json search response' has been previously defined at:431 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335432...and you are now defining it at:433 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:335434The new definition will overwrite the original one.435WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:436 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250437...and you are now defining it at:438 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250439The new definition will overwrite the original one.440WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:441 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250442...and you are now defining it at:443 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250444The new definition will overwrite the original one.445WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:446 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250447...and you are now defining it at:448 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250449The new definition will overwrite the original one.450WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:451 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250452...and you are now defining it at:453 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250454The new definition will overwrite the original one.455WARNING: Shared example group 'returns a valid nuget download versions json response' has been previously defined at:456 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250457...and you are now defining it at:458 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:250459The new definition will overwrite the original one.460Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}461==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.079706962 seconds...462Test environment set up in 0.558076054 seconds463API::NugetProjectPackages464 GET /api/v4/projects/:id/packages/nuget465 behaves like handling nuget service requests466 with valid target467 personal token468 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success469 behaves like process nuget service index request470 for user type developer471 returns a valid json response472 behaves like returning response status473 returns success474 behaves like a package tracking event475 creates a gitlab tracking event cli_metadata476 with invalid format477 behaves like rejects nuget packages access478 for user type anonymous479 behaves like returning response status480 returns not_found481 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success482 behaves like process nuget service index request483 for user type guest484 returns a valid json response485 behaves like returning response status486 returns success487 behaves like a package tracking event488 creates a gitlab tracking event cli_metadata489 with invalid format490 behaves like rejects nuget packages access491 for user type anonymous492 behaves like returning response status493 returns not_found494 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized495 behaves like rejects nuget packages access496 for user type developer497 has the correct response header498 behaves like returning response status499 returns unauthorized500 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized501 behaves like rejects nuget packages access502 for user type guest503 has the correct response header504 behaves like returning response status505 returns unauthorized506 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success507 behaves like process nuget service index request508 for user type developer509 returns a valid json response510 behaves like returning response status511 returns success512 behaves like a package tracking event513 creates a gitlab tracking event cli_metadata514 with invalid format515 behaves like rejects nuget packages access516 for user type anonymous517 behaves like returning response status518 returns not_found519 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success520 behaves like process nuget service index request521 for user type guest522 returns a valid json response523 behaves like returning response status524 returns success525 behaves like a package tracking event526 creates a gitlab tracking event cli_metadata527 with invalid format528 behaves like rejects nuget packages access529 for user type anonymous530 behaves like returning response status531 returns not_found532 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized533 behaves like rejects nuget packages access534 for user type developer535 has the correct response header536 behaves like returning response status537 returns unauthorized538 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized539 behaves like rejects nuget packages access540 for user type guest541 has the correct response header542 behaves like returning response status543 returns unauthorized544 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success545 behaves like process nuget service index request546 for user type anonymous547 returns a valid json response548 behaves like returning response status549 returns success550 behaves like a package tracking event551 creates a gitlab tracking event cli_metadata552 with invalid format553 behaves like rejects nuget packages access554 for user type anonymous555 behaves like returning response status556 returns not_found557 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success558 behaves like process nuget service index request559 for user type developer560 returns a valid json response561 behaves like returning response status562 returns success563 behaves like a package tracking event564 creates a gitlab tracking event cli_metadata565 with invalid format566 behaves like rejects nuget packages access567 for user type anonymous568 behaves like returning response status569 returns not_found570 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden571 behaves like rejects nuget packages access572 for user type guest573 behaves like returning response status574 returns forbidden575 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized576 behaves like rejects nuget packages access577 for user type developer578 has the correct response header579 behaves like returning response status580 returns unauthorized581 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized582 behaves like rejects nuget packages access583 for user type guest584 has the correct response header585 behaves like returning response status586 returns unauthorized587 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found588 behaves like rejects nuget packages access589 for user type developer590 behaves like returning response status591 returns not_found592 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found593 behaves like rejects nuget packages access594 for user type guest595 behaves like returning response status596 returns not_found597 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized598 behaves like rejects nuget packages access599 for user type developer600 has the correct response header601 behaves like returning response status602 returns unauthorized603 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized604 behaves like rejects nuget packages access605 for user type guest606 has the correct response header607 behaves like returning response status608 returns unauthorized609 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized610 behaves like rejects nuget packages access611 for user type anonymous612 has the correct response header613 behaves like returning response status614 returns unauthorized615 with job token616 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success617 behaves like process nuget service index request618 for user type developer619 returns a valid json response620 behaves like returning response status621 returns success622 behaves like a package tracking event623 creates a gitlab tracking event cli_metadata624 with invalid format625 behaves like rejects nuget packages access626 for user type anonymous627 behaves like returning response status628 returns not_found629 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success630 behaves like process nuget service index request631 for user type guest632 returns a valid json response633 behaves like returning response status634 returns success635 behaves like a package tracking event636 creates a gitlab tracking event cli_metadata637 with invalid format638 behaves like rejects nuget packages access639 for user type anonymous640 behaves like returning response status641 returns not_found642 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized643 behaves like rejects nuget packages access644 for user type developer645 has the correct response header646 behaves like returning response status647 returns unauthorized648 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized649 behaves like rejects nuget packages access650 for user type guest651 has the correct response header652 behaves like returning response status653 returns unauthorized654 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success655 behaves like process nuget service index request656 for user type developer657 returns a valid json response658 behaves like returning response status659 returns success660 behaves like a package tracking event661 creates a gitlab tracking event cli_metadata662 with invalid format663 behaves like rejects nuget packages access664 for user type anonymous665 behaves like returning response status666 returns not_found667 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success668 behaves like process nuget service index request669 for user type guest670 returns a valid json response671 behaves like returning response status672 returns success673 behaves like a package tracking event674 creates a gitlab tracking event cli_metadata675 with invalid format676 behaves like rejects nuget packages access677 for user type anonymous678 behaves like returning response status679 returns not_found680 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized681 behaves like rejects nuget packages access682 for user type developer683 has the correct response header684 behaves like returning response status685 returns unauthorized686 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized687 behaves like rejects nuget packages access688 for user type guest689 has the correct response header690 behaves like returning response status691 returns unauthorized692 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success693 behaves like process nuget service index request694 for user type anonymous695 returns a valid json response696 behaves like returning response status697 returns success698 behaves like a package tracking event699 creates a gitlab tracking event cli_metadata700 with invalid format701 behaves like rejects nuget packages access702 for user type anonymous703 behaves like returning response status704 returns not_found705 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success706 behaves like process nuget service index request707 for user type developer708 returns a valid json response709 behaves like returning response status710 returns success711 behaves like a package tracking event712 creates a gitlab tracking event cli_metadata713 with invalid format714 behaves like rejects nuget packages access715 for user type anonymous716 behaves like returning response status717 returns not_found718 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden719 behaves like rejects nuget packages access720 for user type guest721 behaves like returning response status722 returns forbidden723 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized724 behaves like rejects nuget packages access725 for user type developer726 has the correct response header727 behaves like returning response status728 returns unauthorized729 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized730 behaves like rejects nuget packages access731 for user type guest732 has the correct response header733 behaves like returning response status734 returns unauthorized735 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found736 behaves like rejects nuget packages access737 for user type developer738 behaves like returning response status739 returns not_found740 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found741 behaves like rejects nuget packages access742 for user type guest743 behaves like returning response status744 returns not_found745 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized746 behaves like rejects nuget packages access747 for user type developer748 has the correct response header749 behaves like returning response status750 returns unauthorized751 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized752 behaves like rejects nuget packages access753 for user type guest754 has the correct response header755 behaves like returning response status756 returns unauthorized757 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized758 behaves like rejects nuget packages access759 for user type anonymous760 has the correct response header761 behaves like returning response status762 returns unauthorized763 behaves like deploy token for package GET requests764 with deploy token headers765 valid token766 behaves like returning response status767 returns success768 invalid token769 behaves like returning response status770 returns unauthorized771 behaves like rejects nuget access with unknown target id772 with an unknown target773 as anonymous774 behaves like rejects nuget packages access775 for user type anonymous776 has the correct response header777 behaves like returning response status778 returns unauthorized779 as authenticated user780 behaves like rejects nuget packages access781 for user type anonymous782 behaves like returning response status783 returns not_found784 behaves like rejects nuget access with invalid target id785 with a target id with invalid integers786 id: "/../", status: :bad_request787 behaves like rejects nuget packages access788 for user type anonymous789 behaves like returning response status790 returns bad_request791 id: "", status: :not_found792 behaves like rejects nuget packages access793 for user type anonymous794 behaves like returning response status795 returns not_found796 id: "%20", status: :bad_request797 behaves like rejects nuget packages access798 for user type anonymous799 behaves like returning response status800 returns bad_request801 id: "%2e%2e%2f", status: :bad_request802 behaves like rejects nuget packages access803 for user type anonymous804 behaves like returning response status805 returns bad_request806 id: "NaN", status: :bad_request807 behaves like rejects nuget packages access808 for user type anonymous809 behaves like returning response status810 returns bad_request811 id: 1253, status: :unauthorized812 behaves like rejects nuget packages access813 for user type anonymous814 has the correct response header815 behaves like returning response status816 returns unauthorized817 id: "anything25", status: :bad_request818 behaves like rejects nuget packages access819 for user type anonymous820 behaves like returning response status821 returns bad_request822 GET /api/v4/projects/:id/packages/nuget/metadata/*package_name/index823 behaves like handling nuget metadata requests with package name824 with valid target825 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success826 behaves like process nuget metadata request at package name level827 for user type developer828 behaves like returning response status829 returns success830 behaves like returning nuget metadata json response with json schema831 returns a valid json response832 with invalid format833 behaves like rejects nuget packages access834 for user type anonymous835 behaves like returning response status836 returns not_found837 with lower case package name838 behaves like returning response status839 returns success840 behaves like returning nuget metadata json response with json schema841 returns a valid json response842 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success843 behaves like process nuget metadata request at package name level844 for user type guest845 behaves like returning response status846 returns success847 behaves like returning nuget metadata json response with json schema848 returns a valid json response849 with invalid format850 behaves like rejects nuget packages access851 for user type anonymous852 behaves like returning response status853 returns not_found854 with lower case package name855 behaves like returning response status856 returns success857 behaves like returning nuget metadata json response with json schema858 returns a valid json response859 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized860 behaves like rejects nuget packages access861 for user type developer862 has the correct response header863 behaves like returning response status864 returns unauthorized865 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized866 behaves like rejects nuget packages access867 for user type guest868 has the correct response header869 behaves like returning response status870 returns unauthorized871 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success872 behaves like process nuget metadata request at package name level873 for user type developer874 behaves like returning response status875 returns success876 behaves like returning nuget metadata json response with json schema877 returns a valid json response878 with invalid format879 behaves like rejects nuget packages access880 for user type anonymous881 behaves like returning response status882 returns not_found883 with lower case package name884 behaves like returning response status885 returns success886 behaves like returning nuget metadata json response with json schema887 returns a valid json response888 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success889 behaves like process nuget metadata request at package name level890 for user type guest891 behaves like returning response status892 returns success893 behaves like returning nuget metadata json response with json schema894 returns a valid json response895 with invalid format896 behaves like rejects nuget packages access897 for user type anonymous898 behaves like returning response status899 returns not_found900 with lower case package name901 behaves like returning response status902 returns success903 behaves like returning nuget metadata json response with json schema904 returns a valid json response905 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized906 behaves like rejects nuget packages access907 for user type developer908 has the correct response header909 behaves like returning response status910 returns unauthorized911 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized912 behaves like rejects nuget packages access913 for user type guest914 has the correct response header915 behaves like returning response status916 returns unauthorized917 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success918 behaves like process nuget metadata request at package name level919 for user type anonymous920 behaves like returning response status921 returns success922 behaves like returning nuget metadata json response with json schema923 returns a valid json response924 with invalid format925 behaves like rejects nuget packages access926 for user type anonymous927 behaves like returning response status928 returns not_found929 with lower case package name930 behaves like returning response status931 returns success932 behaves like returning nuget metadata json response with json schema933 returns a valid json response934 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success935 behaves like process nuget metadata request at package name level936 for user type developer937 behaves like returning response status938 returns success939 behaves like returning nuget metadata json response with json schema940 returns a valid json response941 with invalid format942 behaves like rejects nuget packages access943 for user type anonymous944 behaves like returning response status945 returns not_found946 with lower case package name947 behaves like returning response status948 returns success949 behaves like returning nuget metadata json response with json schema950 returns a valid json response951 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden952 behaves like rejects nuget packages access953 for user type guest954 behaves like returning response status955 returns forbidden956 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized957 behaves like rejects nuget packages access958 for user type developer959 has the correct response header960 behaves like returning response status961 returns unauthorized962 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized963 behaves like rejects nuget packages access964 for user type guest965 has the correct response header966 behaves like returning response status967 returns unauthorized968 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found969 behaves like rejects nuget packages access970 for user type developer971 behaves like returning response status972 returns not_found973 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found974 behaves like rejects nuget packages access975 for user type guest976 behaves like returning response status977 returns not_found978 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized979 behaves like rejects nuget packages access980 for user type developer981 has the correct response header982 behaves like returning response status983 returns unauthorized984 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized985 behaves like rejects nuget packages access986 for user type guest987 has the correct response header988 behaves like returning response status989 returns unauthorized990 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized991 behaves like rejects nuget packages access992 for user type anonymous993 has the correct response header994 behaves like returning response status995 returns unauthorized996 behaves like deploy token for package GET requests997 with deploy token headers998 valid token999 behaves like returning response status1000 returns success1001 invalid token1002 behaves like returning response status1003 returns unauthorized1004 behaves like rejects nuget access with unknown target id1005 with an unknown target1006 as anonymous1007 behaves like rejects nuget packages access1008 for user type anonymous1009 has the correct response header1010 behaves like returning response status1011 returns unauthorized1012 as authenticated user1013 behaves like rejects nuget packages access1014 for user type anonymous1015 behaves like returning response status1016 returns not_found1017 behaves like rejects nuget access with invalid target id1018 with a target id with invalid integers1019 id: "/../", status: :bad_request1020 behaves like rejects nuget packages access1021 for user type anonymous1022 behaves like returning response status1023 returns bad_request1024 id: "", status: :not_found1025 behaves like rejects nuget packages access1026 for user type anonymous1027 behaves like returning response status1028 returns not_found1029 id: "%20", status: :bad_request1030 behaves like rejects nuget packages access1031 for user type anonymous1032 behaves like returning response status1033 returns bad_request1034 id: "%2e%2e%2f", status: :bad_request1035 behaves like rejects nuget packages access1036 for user type anonymous1037 behaves like returning response status1038 returns bad_request1039 id: "NaN", status: :bad_request1040 behaves like rejects nuget packages access1041 for user type anonymous1042 behaves like returning response status1043 returns bad_request1044 id: 1253, status: :unauthorized1045 behaves like rejects nuget packages access1046 for user type anonymous1047 has the correct response header1048 behaves like returning response status1049 returns unauthorized1050 id: "anything25", status: :bad_request1051 behaves like rejects nuget packages access1052 for user type anonymous1053 behaves like returning response status1054 returns bad_request1055 GET /api/v4/projects/:id/packages/nuget/metadata/*package_name/*package_version1056 behaves like handling nuget metadata requests with package name and package version1057 with valid target1058 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: :success1059 behaves like process nuget metadata request at package name and package version level1060 for user type developer1061 behaves like returning response status1062 returns success1063 behaves like returning nuget metadata json response with json schema1064 returns a valid json response1065 with invalid format1066 behaves like rejects nuget packages access1067 for user type anonymous1068 behaves like returning response status1069 returns not_found1070 with lower case package name1071 behaves like returning response status1072 returns success1073 behaves like returning nuget metadata json response with json schema1074 returns a valid json response1075 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: :success1076 behaves like process nuget metadata request at package name and package version level1077 for user type guest1078 behaves like returning response status1079 returns success1080 behaves like returning nuget metadata json response with json schema1081 returns a valid json response1082 with invalid format1083 behaves like rejects nuget packages access1084 for user type anonymous1085 behaves like returning response status1086 returns not_found1087 with lower case package name1088 behaves like returning response status1089 returns success1090 behaves like returning nuget metadata json response with json schema1091 returns a valid json response1092 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1093 behaves like rejects nuget packages access1094 for user type developer1095 has the correct response header1096 behaves like returning response status1097 returns unauthorized1098 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1099 behaves like rejects nuget packages access1100 for user type guest1101 has the correct response header1102 behaves like returning response status1103 returns unauthorized1104 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: :success1105 behaves like process nuget metadata request at package name and package version level1106 for user type developer1107 behaves like returning response status1108 returns success1109 behaves like returning nuget metadata json response with json schema1110 returns a valid json response1111 with invalid format1112 behaves like rejects nuget packages access1113 for user type anonymous1114 behaves like returning response status1115 returns not_found1116 with lower case package name1117 behaves like returning response status1118 returns success1119 behaves like returning nuget metadata json response with json schema1120 returns a valid json response1121 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: :success1122 behaves like process nuget metadata request at package name and package version level1123 for user type guest1124 behaves like returning response status1125 returns success1126 behaves like returning nuget metadata json response with json schema1127 returns a valid json response1128 with invalid format1129 behaves like rejects nuget packages access1130 for user type anonymous1131 behaves like returning response status1132 returns not_found1133 with lower case package name1134 behaves like returning response status1135 returns success1136 behaves like returning nuget metadata json response with json schema1137 returns a valid json response1138 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1139 behaves like rejects nuget packages access1140 for user type developer1141 has the correct response header1142 behaves like returning response status1143 returns unauthorized1144 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1145 behaves like rejects nuget packages access1146 for user type guest1147 has the correct response header1148 behaves like returning response status1149 returns unauthorized1150 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: :success1151 behaves like process nuget metadata request at package name and package version level1152 for user type anonymous1153 behaves like returning response status1154 returns success1155 behaves like returning nuget metadata json response with json schema1156 returns a valid json response1157 with invalid format1158 behaves like rejects nuget packages access1159 for user type anonymous1160 behaves like returning response status1161 returns not_found1162 with lower case package name1163 behaves like returning response status1164 returns success1165 behaves like returning nuget metadata json response with json schema1166 returns a valid json response1167 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: :success1168 behaves like process nuget metadata request at package name and package version level1169 for user type developer1170 behaves like returning response status1171 returns success1172 behaves like returning nuget metadata json response with json schema1173 returns a valid json response1174 with invalid format1175 behaves like rejects nuget packages access1176 for user type anonymous1177 behaves like returning response status1178 returns not_found1179 with lower case package name1180 behaves like returning response status1181 returns success1182 behaves like returning nuget metadata json response with json schema1183 returns a valid json response1184 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1185 behaves like rejects nuget packages access1186 for user type guest1187 behaves like returning response status1188 returns forbidden1189 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1190 behaves like rejects nuget packages access1191 for user type developer1192 has the correct response header1193 behaves like returning response status1194 returns unauthorized1195 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1196 behaves like rejects nuget packages access1197 for user type guest1198 has the correct response header1199 behaves like returning response status1200 returns unauthorized1201 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1202 behaves like rejects nuget packages access1203 for user type developer1204 behaves like returning response status1205 returns not_found1206 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1207 behaves like rejects nuget packages access1208 for user type guest1209 behaves like returning response status1210 returns not_found1211 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1212 behaves like rejects nuget packages access1213 for user type developer1214 has the correct response header1215 behaves like returning response status1216 returns unauthorized1217 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1218 behaves like rejects nuget packages access1219 for user type guest1220 has the correct response header1221 behaves like returning response status1222 returns unauthorized1223 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1224 behaves like rejects nuget packages access1225 for user type anonymous1226 has the correct response header1227 behaves like returning response status1228 returns unauthorized1229 behaves like deploy token for package GET requests1230 with deploy token headers1231 valid token1232 behaves like returning response status1233 returns success1234 invalid token1235 behaves like returning response status1236 returns unauthorized1237 behaves like rejects nuget access with unknown target id1238 with an unknown target1239 as anonymous1240 behaves like rejects nuget packages access1241 for user type anonymous1242 has the correct response header1243 behaves like returning response status1244 returns unauthorized1245 as authenticated user1246 behaves like rejects nuget packages access1247 for user type anonymous1248 behaves like returning response status1249 returns not_found1250 behaves like rejects nuget access with invalid target id1251 with a target id with invalid integers1252 id: "/../", status: :bad_request1253 behaves like rejects nuget packages access1254 for user type anonymous1255 behaves like returning response status1256 returns bad_request1257 id: "", status: :not_found1258 behaves like rejects nuget packages access1259 for user type anonymous1260 behaves like returning response status1261 returns not_found1262 id: "%20", status: :bad_request1263 behaves like rejects nuget packages access1264 for user type anonymous1265 behaves like returning response status1266 returns bad_request1267 id: "%2e%2e%2f", status: :bad_request1268 behaves like rejects nuget packages access1269 for user type anonymous1270 behaves like returning response status1271 returns bad_request1272 id: "NaN", status: :bad_request1273 behaves like rejects nuget packages access1274 for user type anonymous1275 behaves like returning response status1276 returns bad_request1277 id: 1253, status: :unauthorized1278 behaves like rejects nuget packages access1279 for user type anonymous1280 has the correct response header1281 behaves like returning response status1282 returns unauthorized1283 id: "anything25", status: :bad_request1284 behaves like rejects nuget packages access1285 for user type anonymous1286 behaves like returning response status1287 returns bad_request1288 GET /api/v4/projects/:id/packages/nuget/query1289 behaves like handling nuget search requests1290 with valid target1291 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1292 behaves like process nuget search request1293 for user type developer1294 behaves like returns a valid json search response1295 returns a valid json response1296 behaves like returning response status1297 returns success1298 behaves like a package tracking event1299 creates a gitlab tracking event search_package1300 with skip set to 21301 behaves like returns a valid json search response1302 returns a valid json response1303 behaves like returning response status1304 returns success1305 with take set to 21306 behaves like returns a valid json search response1307 returns a valid json response1308 behaves like returning response status1309 returns success1310 without prereleases1311 behaves like returns a valid json search response1312 returns a valid json response1313 behaves like returning response status1314 returns success1315 with empty search term1316 behaves like returns a valid json search response1317 returns a valid json response1318 behaves like returning response status1319 returns success1320 with nil search term1321 behaves like returns a valid json search response1322 returns a valid json response1323 behaves like returning response status1324 returns success1325 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1326 behaves like process nuget search request1327 for user type guest1328 behaves like returns a valid json search response1329 returns a valid json response1330 behaves like returning response status1331 returns success1332 behaves like a package tracking event1333 creates a gitlab tracking event search_package1334 with skip set to 21335 behaves like returns a valid json search response1336 returns a valid json response1337 behaves like returning response status1338 returns success1339 with take set to 21340 behaves like returns a valid json search response1341 returns a valid json response1342 behaves like returning response status1343 returns success1344 without prereleases1345 behaves like returns a valid json search response1346 returns a valid json response1347 behaves like returning response status1348 returns success1349 with empty search term1350 behaves like returns a valid json search response1351 returns a valid json response1352 behaves like returning response status1353 returns success1354 with nil search term1355 behaves like returns a valid json search response1356 returns a valid json response1357 behaves like returning response status1358 returns success1359 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1360 behaves like rejects nuget packages access1361 for user type developer1362 has the correct response header1363 behaves like returning response status1364 returns unauthorized1365 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1366 behaves like rejects nuget packages access1367 for user type guest1368 has the correct response header1369 behaves like returning response status1370 returns unauthorized1371 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1372 behaves like process nuget search request1373 for user type developer1374 behaves like returns a valid json search response1375 returns a valid json response1376 behaves like returning response status1377 returns success1378 behaves like a package tracking event1379 creates a gitlab tracking event search_package1380 with skip set to 21381 behaves like returns a valid json search response1382 returns a valid json response1383 behaves like returning response status1384 returns success1385 with take set to 21386 behaves like returns a valid json search response1387 returns a valid json response1388 behaves like returning response status1389 returns success1390 without prereleases1391 behaves like returns a valid json search response1392 returns a valid json response1393 behaves like returning response status1394 returns success1395 with empty search term1396 behaves like returns a valid json search response1397 returns a valid json response1398 behaves like returning response status1399 returns success1400 with nil search term1401 behaves like returns a valid json search response1402 returns a valid json response1403 behaves like returning response status1404 returns success1405 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1406 behaves like process nuget search request1407 for user type guest1408 behaves like returns a valid json search response1409 returns a valid json response1410 behaves like returning response status1411 returns success1412 behaves like a package tracking event1413 creates a gitlab tracking event search_package1414 with skip set to 21415 behaves like returns a valid json search response1416 returns a valid json response1417 behaves like returning response status1418 returns success1419 with take set to 21420 behaves like returns a valid json search response1421 returns a valid json response1422 behaves like returning response status1423 returns success1424 without prereleases1425 behaves like returns a valid json search response1426 returns a valid json response1427 behaves like returning response status1428 returns success1429 with empty search term1430 behaves like returns a valid json search response1431 returns a valid json response1432 behaves like returning response status1433 returns success1434 with nil search term1435 behaves like returns a valid json search response1436 returns a valid json response1437 behaves like returning response status1438 returns success1439 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1440 behaves like rejects nuget packages access1441 for user type developer1442 has the correct response header1443 behaves like returning response status1444 returns unauthorized1445 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1446 behaves like rejects nuget packages access1447 for user type guest1448 has the correct response header1449 behaves like returning response status1450 returns unauthorized1451 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1452 behaves like process nuget search request1453 for user type anonymous1454 behaves like returns a valid json search response1455 returns a valid json response1456 behaves like returning response status1457 returns success1458 behaves like a package tracking event1459 creates a gitlab tracking event search_package1460 with skip set to 21461 behaves like returns a valid json search response1462 returns a valid json response1463 behaves like returning response status1464 returns success1465 with take set to 21466 behaves like returns a valid json search response1467 returns a valid json response1468 behaves like returning response status1469 returns success1470 without prereleases1471 behaves like returns a valid json search response1472 returns a valid json response1473 behaves like returning response status1474 returns success1475 with empty search term1476 behaves like returns a valid json search response1477 returns a valid json response1478 behaves like returning response status1479 returns success1480 with nil search term1481 behaves like returns a valid json search response1482 returns a valid json response1483 behaves like returning response status1484 returns success1485 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1486 behaves like process nuget search request1487 for user type developer1488 behaves like returns a valid json search response1489 returns a valid json response1490 behaves like returning response status1491 returns success1492 behaves like a package tracking event1493 creates a gitlab tracking event search_package1494 with skip set to 21495 behaves like returns a valid json search response1496 returns a valid json response1497 behaves like returning response status1498 returns success1499 with take set to 21500 behaves like returns a valid json search response1501 returns a valid json response1502 behaves like returning response status1503 returns success1504 without prereleases1505 behaves like returns a valid json search response1506 returns a valid json response1507 behaves like returning response status1508 returns success1509 with empty search term1510 behaves like returns a valid json search response1511 returns a valid json response1512 behaves like returning response status1513 returns success1514 with nil search term1515 behaves like returns a valid json search response1516 returns a valid json response1517 behaves like returning response status1518 returns success1519 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1520 behaves like rejects nuget packages access1521 for user type guest1522 behaves like returning response status1523 returns forbidden1524 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1525 behaves like rejects nuget packages access1526 for user type developer1527 has the correct response header1528 behaves like returning response status1529 returns unauthorized1530 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1531 behaves like rejects nuget packages access1532 for user type guest1533 has the correct response header1534 behaves like returning response status1535 returns unauthorized1536 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1537 behaves like rejects nuget packages access1538 for user type developer1539 behaves like returning response status1540 returns not_found1541 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1542 behaves like rejects nuget packages access1543 for user type guest1544 behaves like returning response status1545 returns not_found1546 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1547 behaves like rejects nuget packages access1548 for user type developer1549 has the correct response header1550 behaves like returning response status1551 returns unauthorized1552 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1553 behaves like rejects nuget packages access1554 for user type guest1555 has the correct response header1556 behaves like returning response status1557 returns unauthorized1558 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1559 behaves like rejects nuget packages access1560 for user type anonymous1561 has the correct response header1562 behaves like returning response status1563 returns unauthorized1564 behaves like deploy token for package GET requests1565 with deploy token headers1566 valid token1567 behaves like returning response status1568 returns success1569 invalid token1570 behaves like returning response status1571 returns unauthorized1572 behaves like rejects nuget access with unknown target id1573 with an unknown target1574 as anonymous1575 behaves like rejects nuget packages access1576 for user type anonymous1577 has the correct response header1578 behaves like returning response status1579 returns unauthorized1580 as authenticated user1581 behaves like rejects nuget packages access1582 for user type anonymous1583 behaves like returning response status1584 returns not_found1585 behaves like rejects nuget access with invalid target id1586 with a target id with invalid integers1587 id: "/../", status: :bad_request1588 behaves like rejects nuget packages access1589 for user type anonymous1590 behaves like returning response status1591 returns bad_request1592 id: "", status: :not_found1593 behaves like rejects nuget packages access1594 for user type anonymous1595 behaves like returning response status1596 returns not_found1597 id: "%20", status: :bad_request1598 behaves like rejects nuget packages access1599 for user type anonymous1600 behaves like returning response status1601 returns bad_request1602 id: "%2e%2e%2f", status: :bad_request1603 behaves like rejects nuget packages access1604 for user type anonymous1605 behaves like returning response status1606 returns bad_request1607 id: "NaN", status: :bad_request1608 behaves like rejects nuget packages access1609 for user type anonymous1610 behaves like returning response status1611 returns bad_request1612 id: 1253, status: :unauthorized1613 behaves like rejects nuget packages access1614 for user type anonymous1615 has the correct response header1616 behaves like returning response status1617 returns unauthorized1618 id: "anything25", status: :bad_request1619 behaves like rejects nuget packages access1620 for user type anonymous1621 behaves like returning response status1622 returns bad_request1623 GET /api/v4/projects/:id/packages/nuget/download/*package_name/index1624 with valid target1625 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1626 behaves like process nuget download versions request1627 for user type developer1628 behaves like returning response status1629 returns success1630 behaves like returns a valid nuget download versions json response1631 returns a valid json response1632 with invalid format1633 behaves like rejects nuget packages access1634 for user type anonymous1635 behaves like returning response status1636 returns not_found1637 with lower case package name1638 behaves like returning response status1639 returns success1640 behaves like returns a valid nuget download versions json response1641 returns a valid json response1642 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1643 behaves like process nuget download versions request1644 for user type guest1645 behaves like returning response status1646 returns success1647 behaves like returns a valid nuget download versions json response1648 returns a valid json response1649 with invalid format1650 behaves like rejects nuget packages access1651 for user type anonymous1652 behaves like returning response status1653 returns not_found1654 with lower case package name1655 behaves like returning response status1656 returns success1657 behaves like returns a valid nuget download versions json response1658 returns a valid json response1659 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1660 behaves like rejects nuget packages access1661 for user type developer1662 has the correct response header1663 behaves like returning response status1664 returns unauthorized1665 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1666 behaves like rejects nuget packages access1667 for user type guest1668 has the correct response header1669 behaves like returning response status1670 returns unauthorized1671 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1672 behaves like process nuget download versions request1673 for user type developer1674 behaves like returning response status1675 returns success1676 behaves like returns a valid nuget download versions json response1677 returns a valid json response1678 with invalid format1679 behaves like rejects nuget packages access1680 for user type anonymous1681 behaves like returning response status1682 returns not_found1683 with lower case package name1684 behaves like returning response status1685 returns success1686 behaves like returns a valid nuget download versions json response1687 returns a valid json response1688 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1689 behaves like process nuget download versions request1690 for user type guest1691 behaves like returning response status1692 returns success1693 behaves like returns a valid nuget download versions json response1694 returns a valid json response1695 with invalid format1696 behaves like rejects nuget packages access1697 for user type anonymous1698 behaves like returning response status1699 returns not_found1700 with lower case package name1701 behaves like returning response status1702 returns success1703 behaves like returns a valid nuget download versions json response1704 returns a valid json response1705 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1706 behaves like rejects nuget packages access1707 for user type developer1708 has the correct response header1709 behaves like returning response status1710 returns unauthorized1711 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1712 behaves like rejects nuget packages access1713 for user type guest1714 has the correct response header1715 behaves like returning response status1716 returns unauthorized1717 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1718 behaves like process nuget download versions request1719 for user type anonymous1720 behaves like returning response status1721 returns success1722 behaves like returns a valid nuget download versions json response1723 returns a valid json response1724 with invalid format1725 behaves like rejects nuget packages access1726 for user type anonymous1727 behaves like returning response status1728 returns not_found1729 with lower case package name1730 behaves like returning response status1731 returns success1732 behaves like returns a valid nuget download versions json response1733 returns a valid json response1734 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1735 behaves like process nuget download versions request1736 for user type developer1737 behaves like returning response status1738 returns success1739 behaves like returns a valid nuget download versions json response1740 returns a valid json response1741 with invalid format1742 behaves like rejects nuget packages access1743 for user type anonymous1744 behaves like returning response status1745 returns not_found1746 with lower case package name1747 behaves like returning response status1748 returns success1749 behaves like returns a valid nuget download versions json response1750 returns a valid json response1751 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1752 behaves like rejects nuget packages access1753 for user type guest1754 behaves like returning response status1755 returns forbidden1756 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1757 behaves like rejects nuget packages access1758 for user type developer1759 has the correct response header1760 behaves like returning response status1761 returns unauthorized1762 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1763 behaves like rejects nuget packages access1764 for user type guest1765 has the correct response header1766 behaves like returning response status1767 returns unauthorized1768 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1769 behaves like rejects nuget packages access1770 for user type developer1771 behaves like returning response status1772 returns not_found1773 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1774 behaves like rejects nuget packages access1775 for user type guest1776 behaves like returning response status1777 returns not_found1778 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1779 behaves like rejects nuget packages access1780 for user type developer1781 has the correct response header1782 behaves like returning response status1783 returns unauthorized1784 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1785 behaves like rejects nuget packages access1786 for user type guest1787 has the correct response header1788 behaves like returning response status1789 returns unauthorized1790 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1791 behaves like rejects nuget packages access1792 for user type anonymous1793 has the correct response header1794 behaves like returning response status1795 returns unauthorized1796 behaves like deploy token for package GET requests1797 with deploy token headers1798 valid token1799 behaves like returning response status1800 returns success1801 invalid token1802 behaves like returning response status1803 returns unauthorized1804 behaves like rejects nuget access with unknown target id1805 with an unknown target1806 as anonymous1807 behaves like rejects nuget packages access1808 for user type anonymous1809 has the correct response header1810 behaves like returning response status1811 returns unauthorized1812 as authenticated user1813 behaves like rejects nuget packages access1814 for user type anonymous1815 behaves like returning response status1816 returns not_found1817 behaves like rejects nuget access with invalid target id1818 with a target id with invalid integers1819 id: "/../", status: :bad_request1820 behaves like rejects nuget packages access1821 for user type anonymous1822 behaves like returning response status1823 returns bad_request1824 id: "", status: :not_found1825 behaves like rejects nuget packages access1826 for user type anonymous1827 behaves like returning response status1828 returns not_found1829 id: "%20", status: :bad_request1830 behaves like rejects nuget packages access1831 for user type anonymous1832 behaves like returning response status1833 returns bad_request1834 id: "%2e%2e%2f", status: :bad_request1835 behaves like rejects nuget packages access1836 for user type anonymous1837 behaves like returning response status1838 returns bad_request1839 id: "NaN", status: :bad_request1840 behaves like rejects nuget packages access1841 for user type anonymous1842 behaves like returning response status1843 returns bad_request1844 id: 1253, status: :unauthorized1845 behaves like rejects nuget packages access1846 for user type anonymous1847 has the correct response header1848 behaves like returning response status1849 returns unauthorized1850 id: "anything25", status: :bad_request1851 behaves like rejects nuget packages access1852 for user type anonymous1853 behaves like returning response status1854 returns bad_request1855 GET /api/v4/projects/:id/packages/nuget/download/*package_name/*package_version/*package_filename1856 with valid target1857 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1858 behaves like process nuget download content request1859 for user type developer1860 returns a valid package archive1861 behaves like returning response status1862 returns success1863 behaves like a package tracking event1864 creates a gitlab tracking event pull_package1865 with invalid format1866 behaves like rejects nuget packages access1867 for user type anonymous1868 behaves like returning response status1869 returns not_found1870 with symbol package1871 returns a valid package archive1872 behaves like a package tracking event1873 creates a gitlab tracking event pull_symbol_package1874 with lower case package name1875 returns a valid package archive1876 behaves like returning response status1877 returns success1878 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1879 behaves like process nuget download content request1880 for user type guest1881 returns a valid package archive1882 behaves like returning response status1883 returns success1884 behaves like a package tracking event1885 creates a gitlab tracking event pull_package1886 with invalid format1887 behaves like rejects nuget packages access1888 for user type anonymous1889 behaves like returning response status1890 returns not_found1891 with symbol package1892 returns a valid package archive1893 behaves like a package tracking event1894 creates a gitlab tracking event pull_symbol_package1895 with lower case package name1896 returns a valid package archive1897 behaves like returning response status1898 returns success1899 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1900 behaves like rejects nuget packages access1901 for user type developer1902 has the correct response header1903 behaves like returning response status1904 returns unauthorized1905 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1906 behaves like rejects nuget packages access1907 for user type guest1908 has the correct response header1909 behaves like returning response status1910 returns unauthorized1911 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1912 behaves like process nuget download content request1913 for user type developer1914 returns a valid package archive1915 behaves like returning response status1916 returns success1917 behaves like a package tracking event1918 creates a gitlab tracking event pull_package1919 with invalid format1920 behaves like rejects nuget packages access1921 for user type anonymous1922 behaves like returning response status1923 returns not_found1924 with symbol package1925 returns a valid package archive1926 behaves like a package tracking event1927 creates a gitlab tracking event pull_symbol_package1928 with lower case package name1929 returns a valid package archive1930 behaves like returning response status1931 returns success1932 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1933 behaves like process nuget download content request1934 for user type guest1935 returns a valid package archive1936 behaves like returning response status1937 returns success1938 behaves like a package tracking event1939 creates a gitlab tracking event pull_package1940 with invalid format1941 behaves like rejects nuget packages access1942 for user type anonymous1943 behaves like returning response status1944 returns not_found1945 with symbol package1946 returns a valid package archive1947 behaves like a package tracking event1948 creates a gitlab tracking event pull_symbol_package1949 with lower case package name1950 returns a valid package archive1951 behaves like returning response status1952 returns success1953 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1954 behaves like rejects nuget packages access1955 for user type developer1956 has the correct response header1957 behaves like returning response status1958 returns unauthorized1959 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1960 behaves like rejects nuget packages access1961 for user type guest1962 has the correct response header1963 behaves like returning response status1964 returns unauthorized1965 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1966 behaves like process nuget download content request1967 for user type anonymous1968 returns a valid package archive1969 behaves like returning response status1970 returns success1971 behaves like a package tracking event1972 creates a gitlab tracking event pull_package1973 with invalid format1974 behaves like rejects nuget packages access1975 for user type anonymous1976 behaves like returning response status1977 returns not_found1978 with symbol package1979 returns a valid package archive1980 behaves like a package tracking event1981 creates a gitlab tracking event pull_symbol_package1982 with lower case package name1983 returns a valid package archive1984 behaves like returning response status1985 returns success1986 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1987 behaves like process nuget download content request1988 for user type developer1989 returns a valid package archive1990 behaves like returning response status1991 returns success1992 behaves like a package tracking event1993 creates a gitlab tracking event pull_package1994 with invalid format1995 behaves like rejects nuget packages access1996 for user type anonymous1997 behaves like returning response status1998 returns not_found1999 with symbol package2000 returns a valid package archive2001 behaves like a package tracking event2002 creates a gitlab tracking event pull_symbol_package2003 with lower case package name2004 returns a valid package archive2005 behaves like returning response status2006 returns success2007 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2008 behaves like rejects nuget packages access2009 for user type guest2010 behaves like returning response status2011 returns forbidden2012 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2013 behaves like rejects nuget packages access2014 for user type developer2015 has the correct response header2016 behaves like returning response status2017 returns unauthorized2018 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2019 behaves like rejects nuget packages access2020 for user type guest2021 has the correct response header2022 behaves like returning response status2023 returns unauthorized2024 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2025 behaves like rejects nuget packages access2026 for user type developer2027 behaves like returning response status2028 returns not_found2029 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2030 behaves like rejects nuget packages access2031 for user type guest2032 behaves like returning response status2033 returns not_found2034 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2035 behaves like rejects nuget packages access2036 for user type developer2037 has the correct response header2038 behaves like returning response status2039 returns unauthorized2040 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2041 behaves like rejects nuget packages access2042 for user type guest2043 has the correct response header2044 behaves like returning response status2045 returns unauthorized2046 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2047 behaves like rejects nuget packages access2048 for user type anonymous2049 has the correct response header2050 behaves like returning response status2051 returns unauthorized2052 behaves like deploy token for package GET requests2053 with deploy token headers2054 valid token2055 behaves like returning response status2056 returns success2057 invalid token2058 behaves like returning response status2059 returns unauthorized2060 behaves like rejects nuget access with unknown target id2061 with an unknown target2062 as anonymous2063 behaves like rejects nuget packages access2064 for user type anonymous2065 has the correct response header2066 behaves like returning response status2067 returns unauthorized2068 as authenticated user2069 behaves like rejects nuget packages access2070 for user type anonymous2071 behaves like returning response status2072 returns not_found2073 behaves like rejects nuget access with invalid target id2074 with a target id with invalid integers2075 id: "/../", status: :bad_request2076 behaves like rejects nuget packages access2077 for user type anonymous2078 behaves like returning response status2079 returns bad_request2080 id: "", status: :not_found2081 behaves like rejects nuget packages access2082 for user type anonymous2083 behaves like returning response status2084 returns not_found2085 id: "%20", status: :bad_request2086 behaves like rejects nuget packages access2087 for user type anonymous2088 behaves like returning response status2089 returns bad_request2090 id: "%2e%2e%2f", status: :bad_request2091 behaves like rejects nuget packages access2092 for user type anonymous2093 behaves like returning response status2094 returns bad_request2095 id: "NaN", status: :bad_request2096 behaves like rejects nuget packages access2097 for user type anonymous2098 behaves like returning response status2099 returns bad_request2100 id: 1253, status: :unauthorized2101 behaves like rejects nuget packages access2102 for user type anonymous2103 has the correct response header2104 behaves like returning response status2105 returns unauthorized2106 id: "anything25", status: :bad_request2107 behaves like rejects nuget packages access2108 for user type anonymous2109 behaves like returning response status2110 returns bad_request2111 PUT /api/v4/projects/:id/packages/nuget/authorize2112 behaves like nuget authorize upload endpoint2113 with valid project2114 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2115 behaves like process nuget workhorse authorization2116 for user type developer2117 has the proper content type2118 behaves like returning response status2119 returns success2120 with a request that bypassed gitlab-workhorse2121 behaves like returning response status2122 returns forbidden2123 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2124 behaves like rejects nuget packages access2125 for user type guest2126 behaves like returning response status2127 returns forbidden2128 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2129 behaves like rejects nuget packages access2130 for user type developer2131 has the correct response header2132 behaves like returning response status2133 returns unauthorized2134 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2135 behaves like rejects nuget packages access2136 for user type guest2137 has the correct response header2138 behaves like returning response status2139 returns unauthorized2140 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2141 behaves like rejects nuget packages access2142 for user type developer2143 behaves like returning response status2144 returns forbidden2145 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2146 behaves like rejects nuget packages access2147 for user type guest2148 behaves like returning response status2149 returns forbidden2150 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2151 behaves like rejects nuget packages access2152 for user type developer2153 has the correct response header2154 behaves like returning response status2155 returns unauthorized2156 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2157 behaves like rejects nuget packages access2158 for user type guest2159 has the correct response header2160 behaves like returning response status2161 returns unauthorized2162 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2163 behaves like rejects nuget packages access2164 for user type anonymous2165 has the correct response header2166 behaves like returning response status2167 returns unauthorized2168 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2169 behaves like process nuget workhorse authorization2170 for user type developer2171 has the proper content type2172 behaves like returning response status2173 returns success2174 with a request that bypassed gitlab-workhorse2175 behaves like returning response status2176 returns forbidden2177 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2178 behaves like rejects nuget packages access2179 for user type guest2180 behaves like returning response status2181 returns forbidden2182 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2183 behaves like rejects nuget packages access2184 for user type developer2185 has the correct response header2186 behaves like returning response status2187 returns unauthorized2188 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2189 behaves like rejects nuget packages access2190 for user type guest2191 has the correct response header2192 behaves like returning response status2193 returns unauthorized2194 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2195 behaves like rejects nuget packages access2196 for user type developer2197 behaves like returning response status2198 returns not_found2199 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2200 behaves like rejects nuget packages access2201 for user type guest2202 behaves like returning response status2203 returns not_found2204 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2205 behaves like rejects nuget packages access2206 for user type developer2207 has the correct response header2208 behaves like returning response status2209 returns unauthorized2210 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2211 behaves like rejects nuget packages access2212 for user type guest2213 has the correct response header2214 behaves like returning response status2215 returns unauthorized2216 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2217 behaves like rejects nuget packages access2218 for user type anonymous2219 has the correct response header2220 behaves like returning response status2221 returns unauthorized2222 behaves like deploy token for package uploads2223 with deploy token headers2224 valid token2225 behaves like returning response status2226 returns success2227 invalid token2228 behaves like returning response status2229 returns unauthorized2230 behaves like job token for package uploads2231 with job token headers2232 valid token2233 behaves like returning response status2234 returns success2235 invalid token2236 behaves like returning response status2237 returns unauthorized2238 invalid user2239 behaves like returning response status2240 returns unauthorized2241 behaves like rejects nuget access with unknown target id2242 with an unknown target2243 as anonymous2244 behaves like rejects nuget packages access2245 for user type anonymous2246 has the correct response header2247 behaves like returning response status2248 returns unauthorized2249 as authenticated user2250 behaves like rejects nuget packages access2251 for user type anonymous2252 behaves like returning response status2253 returns not_found2254 behaves like rejects nuget access with invalid target id2255 with a target id with invalid integers2256 id: "/../", status: :bad_request2257 behaves like rejects nuget packages access2258 for user type anonymous2259 behaves like returning response status2260 returns bad_request2261 id: "", status: :not_found2262 behaves like rejects nuget packages access2263 for user type anonymous2264 behaves like returning response status2265 returns not_found2266 id: "%20", status: :bad_request2267 behaves like rejects nuget packages access2268 for user type anonymous2269 behaves like returning response status2270 returns bad_request2271 id: "%2e%2e%2f", status: :bad_request2272 behaves like rejects nuget packages access2273 for user type anonymous2274 behaves like returning response status2275 returns bad_request2276 id: "NaN", status: :bad_request2277 behaves like rejects nuget packages access2278 for user type anonymous2279 behaves like returning response status2280 returns bad_request2281 id: 1253, status: :unauthorized2282 behaves like rejects nuget packages access2283 for user type anonymous2284 has the correct response header2285 behaves like returning response status2286 returns unauthorized2287 id: "anything25", status: :bad_request2288 behaves like rejects nuget packages access2289 for user type anonymous2290 behaves like returning response status2291 returns bad_request2292 PUT /api/v4/projects/:id/packages/nuget2293 behaves like nuget upload endpoint2294 with valid project2295 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2296 behaves like process nuget upload2297 for user type developer2298 with object storage disabled2299 without a file from workhorse2300 behaves like returning response status2301 returns bad_request2302 with correct params2303 behaves like package workhorse uploads2304 without a workhorse header2305 logs an error2306 behaves like returning response status2307 returns forbidden2308 behaves like creates nuget package files2309 creates package files2310 behaves like a package tracking event2311 creates a gitlab tracking event push_package2312 with object storage enabled2313 and direct upload enabled2314 behaves like creates nuget package files2315 creates package files2316 with invalid remote_id: 1231232317 behaves like returning response status2318 returns forbidden2319 with invalid remote_id: ../../1231232320 behaves like returning response status2321 returns forbidden2322 with crafted package.path param2323 does not create a package file2324 behaves like returning response status2325 returns bad_request2326 and direct upload disabled2327 and background upload disabled2328 behaves like creates nuget package files2329 creates package files2330 and background upload enabled2331 behaves like creates nuget package files2332 creates package files2333 behaves like background upload schedules a file migration2334 background upload enabled2335 schedules migration of file to object storage2336 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2337 behaves like rejects nuget packages access2338 for user type guest2339 behaves like returning response status2340 returns forbidden2341 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2342 behaves like rejects nuget packages access2343 for user type developer2344 has the correct response header2345 behaves like returning response status2346 returns unauthorized2347 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2348 behaves like rejects nuget packages access2349 for user type guest2350 has the correct response header2351 behaves like returning response status2352 returns unauthorized2353 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2354 behaves like rejects nuget packages access2355 for user type developer2356 behaves like returning response status2357 returns forbidden2358 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2359 behaves like rejects nuget packages access2360 for user type guest2361 behaves like returning response status2362 returns forbidden2363 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2364 behaves like rejects nuget packages access2365 for user type developer2366 has the correct response header2367 behaves like returning response status2368 returns unauthorized2369 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2370 behaves like rejects nuget packages access2371 for user type guest2372 has the correct response header2373 behaves like returning response status2374 returns unauthorized2375 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2376 behaves like rejects nuget packages access2377 for user type anonymous2378 has the correct response header2379 behaves like returning response status2380 returns unauthorized2381 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2382 behaves like process nuget upload2383 for user type developer2384 with object storage disabled2385 without a file from workhorse2386 behaves like returning response status2387 returns bad_request2388 with correct params2389 behaves like package workhorse uploads2390 without a workhorse header2391 logs an error2392 behaves like returning response status2393 returns forbidden2394 behaves like creates nuget package files2395 creates package files2396 behaves like a package tracking event2397 creates a gitlab tracking event push_package2398 with object storage enabled2399 and direct upload enabled2400 behaves like creates nuget package files2401 creates package files2402 with invalid remote_id: 1231232403 behaves like returning response status2404 returns forbidden2405 with invalid remote_id: ../../1231232406 behaves like returning response status2407 returns forbidden2408 with crafted package.path param2409 does not create a package file2410 behaves like returning response status2411 returns bad_request2412 and direct upload disabled2413 and background upload disabled2414 behaves like creates nuget package files2415 creates package files2416 and background upload enabled2417 behaves like creates nuget package files2418 creates package files2419 behaves like background upload schedules a file migration2420 background upload enabled2421 schedules migration of file to object storage2422 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2423 behaves like rejects nuget packages access2424 for user type guest2425 behaves like returning response status2426 returns forbidden2427 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2428 behaves like rejects nuget packages access2429 for user type developer2430 has the correct response header2431 behaves like returning response status2432 returns unauthorized2433 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2434 behaves like rejects nuget packages access2435 for user type guest2436 has the correct response header2437 behaves like returning response status2438 returns unauthorized2439 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2440 behaves like rejects nuget packages access2441 for user type developer2442 behaves like returning response status2443 returns not_found2444 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2445 behaves like rejects nuget packages access2446 for user type guest2447 behaves like returning response status2448 returns not_found2449 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2450 behaves like rejects nuget packages access2451 for user type developer2452 has the correct response header2453 behaves like returning response status2454 returns unauthorized2455 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2456 behaves like rejects nuget packages access2457 for user type guest2458 has the correct response header2459 behaves like returning response status2460 returns unauthorized2461 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2462 behaves like rejects nuget packages access2463 for user type anonymous2464 has the correct response header2465 behaves like returning response status2466 returns unauthorized2467 behaves like deploy token for package uploads2468 with deploy token headers2469 valid token2470 behaves like returning response status2471 returns success2472 invalid token2473 behaves like returning response status2474 returns unauthorized2475 behaves like job token for package uploads2476 with job token headers2477 valid token2478 creates a package with build info2479 behaves like returning response status2480 returns success2481 invalid token2482 behaves like returning response status2483 returns unauthorized2484 invalid user2485 behaves like returning response status2486 returns unauthorized2487 behaves like rejects nuget access with unknown target id2488 with an unknown target2489 as anonymous2490 behaves like rejects nuget packages access2491 for user type anonymous2492 has the correct response header2493 behaves like returning response status2494 returns unauthorized2495 as authenticated user2496 behaves like rejects nuget packages access2497 for user type anonymous2498 behaves like returning response status2499 returns not_found2500 behaves like rejects nuget access with invalid target id2501 with a target id with invalid integers2502 id: "/../", status: :bad_request2503 behaves like rejects nuget packages access2504 for user type anonymous2505 behaves like returning response status2506 returns bad_request2507 id: "", status: :not_found2508 behaves like rejects nuget packages access2509 for user type anonymous2510 behaves like returning response status2511 returns not_found2512 id: "%20", status: :bad_request2513 behaves like rejects nuget packages access2514 for user type anonymous2515 behaves like returning response status2516 returns bad_request2517 id: "%2e%2e%2f", status: :bad_request2518 behaves like rejects nuget packages access2519 for user type anonymous2520 behaves like returning response status2521 returns bad_request2522 id: "NaN", status: :bad_request2523 behaves like rejects nuget packages access2524 for user type anonymous2525 behaves like returning response status2526 returns bad_request2527 id: 1253, status: :unauthorized2528 behaves like rejects nuget packages access2529 for user type anonymous2530 has the correct response header2531 behaves like returning response status2532 returns unauthorized2533 id: "anything25", status: :bad_request2534 behaves like rejects nuget packages access2535 for user type anonymous2536 behaves like returning response status2537 returns bad_request2538 file size above maximum limit2539 behaves like returning response status2540 returns bad_request2541 PUT /api/v4/projects/:id/packages/nuget/symbolpackage/authorize2542 behaves like nuget authorize upload endpoint2543 with valid project2544 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2545 behaves like process nuget workhorse authorization2546 for user type developer2547 has the proper content type2548 behaves like returning response status2549 returns success2550 with a request that bypassed gitlab-workhorse2551 behaves like returning response status2552 returns forbidden2553 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2554 behaves like rejects nuget packages access2555 for user type guest2556 behaves like returning response status2557 returns forbidden2558 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2559 behaves like rejects nuget packages access2560 for user type developer2561 has the correct response header2562 behaves like returning response status2563 returns unauthorized2564 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2565 behaves like rejects nuget packages access2566 for user type guest2567 has the correct response header2568 behaves like returning response status2569 returns unauthorized2570 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2571 behaves like rejects nuget packages access2572 for user type developer2573 behaves like returning response status2574 returns forbidden2575 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2576 behaves like rejects nuget packages access2577 for user type guest2578 behaves like returning response status2579 returns forbidden2580 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2581 behaves like rejects nuget packages access2582 for user type developer2583 has the correct response header2584 behaves like returning response status2585 returns unauthorized2586 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2587 behaves like rejects nuget packages access2588 for user type guest2589 has the correct response header2590 behaves like returning response status2591 returns unauthorized2592 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2593 behaves like rejects nuget packages access2594 for user type anonymous2595 has the correct response header2596 behaves like returning response status2597 returns unauthorized2598 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2599 behaves like process nuget workhorse authorization2600 for user type developer2601 has the proper content type2602 behaves like returning response status2603 returns success2604 with a request that bypassed gitlab-workhorse2605 behaves like returning response status2606 returns forbidden2607 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2608 behaves like rejects nuget packages access2609 for user type guest2610 behaves like returning response status2611 returns forbidden2612 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2613 behaves like rejects nuget packages access2614 for user type developer2615 has the correct response header2616 behaves like returning response status2617 returns unauthorized2618 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2619 behaves like rejects nuget packages access2620 for user type guest2621 has the correct response header2622 behaves like returning response status2623 returns unauthorized2624 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2625 behaves like rejects nuget packages access2626 for user type developer2627 behaves like returning response status2628 returns not_found2629 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2630 behaves like rejects nuget packages access2631 for user type guest2632 behaves like returning response status2633 returns not_found2634 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2635 behaves like rejects nuget packages access2636 for user type developer2637 has the correct response header2638 behaves like returning response status2639 returns unauthorized2640 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2641 behaves like rejects nuget packages access2642 for user type guest2643 has the correct response header2644 behaves like returning response status2645 returns unauthorized2646 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2647 behaves like rejects nuget packages access2648 for user type anonymous2649 has the correct response header2650 behaves like returning response status2651 returns unauthorized2652 behaves like deploy token for package uploads2653 with deploy token headers2654 valid token2655 behaves like returning response status2656 returns success2657 invalid token2658 behaves like returning response status2659 returns unauthorized2660 behaves like job token for package uploads2661 with job token headers2662 valid token2663 behaves like returning response status2664 returns success2665 invalid token2666 behaves like returning response status2667 returns unauthorized2668 invalid user2669 behaves like returning response status2670 returns unauthorized2671 behaves like rejects nuget access with unknown target id2672 with an unknown target2673 as anonymous2674 behaves like rejects nuget packages access2675 for user type anonymous2676 has the correct response header2677 behaves like returning response status2678 returns unauthorized2679 as authenticated user2680 behaves like rejects nuget packages access2681 for user type anonymous2682 behaves like returning response status2683 returns not_found2684 behaves like rejects nuget access with invalid target id2685 with a target id with invalid integers2686 id: "/../", status: :bad_request2687 behaves like rejects nuget packages access2688 for user type anonymous2689 behaves like returning response status2690 returns bad_request2691 id: "", status: :not_found2692 behaves like rejects nuget packages access2693 for user type anonymous2694 behaves like returning response status2695 returns not_found2696 id: "%20", status: :bad_request2697 behaves like rejects nuget packages access2698 for user type anonymous2699 behaves like returning response status2700 returns bad_request2701 id: "%2e%2e%2f", status: :bad_request2702 behaves like rejects nuget packages access2703 for user type anonymous2704 behaves like returning response status2705 returns bad_request2706 id: "NaN", status: :bad_request2707 behaves like rejects nuget packages access2708 for user type anonymous2709 behaves like returning response status2710 returns bad_request2711 id: 1253, status: :unauthorized2712 behaves like rejects nuget packages access2713 for user type anonymous2714 has the correct response header2715 behaves like returning response status2716 returns unauthorized2717 id: "anything25", status: :bad_request2718 behaves like rejects nuget packages access2719 for user type anonymous2720 behaves like returning response status2721 returns bad_request2722 PUT /api/v4/projects/:id/packages/nuget/symbolpackage2723 behaves like nuget upload endpoint2724 with valid project2725 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2726 behaves like process nuget upload2727 for user type developer2728 with object storage disabled2729 without a file from workhorse2730 behaves like returning response status2731 returns bad_request2732 with correct params2733 behaves like package workhorse uploads2734 without a workhorse header2735 logs an error2736 behaves like returning response status2737 returns forbidden2738 behaves like creates nuget package files2739 creates package files2740 behaves like a package tracking event2741 creates a gitlab tracking event push_symbol_package2742 with object storage enabled2743 and direct upload enabled2744 behaves like creates nuget package files2745 creates package files2746 with invalid remote_id: 1231232747 behaves like returning response status2748 returns forbidden2749 with invalid remote_id: ../../1231232750 behaves like returning response status2751 returns forbidden2752 with crafted package.path param2753 does not create a package file2754 behaves like returning response status2755 returns bad_request2756 and direct upload disabled2757 and background upload disabled2758 behaves like creates nuget package files2759 creates package files2760 and background upload enabled2761 behaves like creates nuget package files2762 creates package files2763 behaves like background upload schedules a file migration2764 background upload enabled2765 schedules migration of file to object storage2766 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2767 behaves like rejects nuget packages access2768 for user type guest2769 behaves like returning response status2770 returns forbidden2771 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2772 behaves like rejects nuget packages access2773 for user type developer2774 has the correct response header2775 behaves like returning response status2776 returns unauthorized2777 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2778 behaves like rejects nuget packages access2779 for user type guest2780 has the correct response header2781 behaves like returning response status2782 returns unauthorized2783 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2784 behaves like rejects nuget packages access2785 for user type developer2786 behaves like returning response status2787 returns forbidden2788 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2789 behaves like rejects nuget packages access2790 for user type guest2791 behaves like returning response status2792 returns forbidden2793 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2794 behaves like rejects nuget packages access2795 for user type developer2796 has the correct response header2797 behaves like returning response status2798 returns unauthorized2799 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2800 behaves like rejects nuget packages access2801 for user type guest2802 has the correct response header2803 behaves like returning response status2804 returns unauthorized2805 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2806 behaves like rejects nuget packages access2807 for user type anonymous2808 has the correct response header2809 behaves like returning response status2810 returns unauthorized2811 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget upload", expected_status: :created2812 behaves like process nuget upload2813 for user type developer2814 with object storage disabled2815 without a file from workhorse2816 behaves like returning response status2817 returns bad_request2818 with correct params2819 behaves like package workhorse uploads2820 without a workhorse header2821 logs an error2822 behaves like returning response status2823 returns forbidden2824 behaves like creates nuget package files2825 creates package files2826 behaves like a package tracking event2827 creates a gitlab tracking event push_symbol_package2828 with object storage enabled2829 and direct upload enabled2830 behaves like creates nuget package files2831 creates package files2832 with invalid remote_id: 1231232833 behaves like returning response status2834 returns forbidden2835 with invalid remote_id: ../../1231232836 behaves like returning response status2837 returns forbidden2838 with crafted package.path param2839 does not create a package file2840 behaves like returning response status2841 returns bad_request2842 and direct upload disabled2843 and background upload disabled2844 behaves like creates nuget package files2845 creates package files2846 and background upload enabled2847 behaves like creates nuget package files2848 creates package files2849 behaves like background upload schedules a file migration2850 background upload enabled2851 schedules migration of file to object storage2852 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2853 behaves like rejects nuget packages access2854 for user type guest2855 behaves like returning response status2856 returns forbidden2857 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2858 behaves like rejects nuget packages access2859 for user type developer2860 has the correct response header2861 behaves like returning response status2862 returns unauthorized2863 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2864 behaves like rejects nuget packages access2865 for user type guest2866 has the correct response header2867 behaves like returning response status2868 returns unauthorized2869 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2870 behaves like rejects nuget packages access2871 for user type developer2872 behaves like returning response status2873 returns not_found2874 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2875 behaves like rejects nuget packages access2876 for user type guest2877 behaves like returning response status2878 returns not_found2879 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2880 behaves like rejects nuget packages access2881 for user type developer2882 has the correct response header2883 behaves like returning response status2884 returns unauthorized2885 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2886 behaves like rejects nuget packages access2887 for user type guest2888 has the correct response header2889 behaves like returning response status2890 returns unauthorized2891 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2892 behaves like rejects nuget packages access2893 for user type anonymous2894 has the correct response header2895 behaves like returning response status2896 returns unauthorized2897 behaves like deploy token for package uploads2898 with deploy token headers2899 valid token2900 behaves like returning response status2901 returns success2902 invalid token2903 behaves like returning response status2904 returns unauthorized2905 behaves like job token for package uploads2906 with job token headers2907 valid token2908 creates a package with build info2909 behaves like returning response status2910 returns success2911 invalid token2912 behaves like returning response status2913 returns unauthorized2914 invalid user2915 behaves like returning response status2916 returns unauthorized2917 behaves like rejects nuget access with unknown target id2918 with an unknown target2919 as anonymous2920 behaves like rejects nuget packages access2921 for user type anonymous2922 has the correct response header2923 behaves like returning response status2924 returns unauthorized2925 as authenticated user2926 behaves like rejects nuget packages access2927 for user type anonymous2928 behaves like returning response status2929 returns not_found2930 behaves like rejects nuget access with invalid target id2931 with a target id with invalid integers2932 id: "/../", status: :bad_request2933 behaves like rejects nuget packages access2934 for user type anonymous2935 behaves like returning response status2936 returns bad_request2937 id: "", status: :not_found2938 behaves like rejects nuget packages access2939 for user type anonymous2940 behaves like returning response status2941 returns not_found2942 id: "%20", status: :bad_request2943 behaves like rejects nuget packages access2944 for user type anonymous2945 behaves like returning response status2946 returns bad_request2947 id: "%2e%2e%2f", status: :bad_request2948 behaves like rejects nuget packages access2949 for user type anonymous2950 behaves like returning response status2951 returns bad_request2952 id: "NaN", status: :bad_request2953 behaves like rejects nuget packages access2954 for user type anonymous2955 behaves like returning response status2956 returns bad_request2957 id: 1253, status: :unauthorized2958 behaves like rejects nuget packages access2959 for user type anonymous2960 has the correct response header2961 behaves like returning response status2962 returns unauthorized2963 id: "anything25", status: :bad_request2964 behaves like rejects nuget packages access2965 for user type anonymous2966 behaves like returning response status2967 returns bad_request2968 file size above maximum limit2969 behaves like returning response status2970 returns bad_request2971API::MavenPackages2972 GET /api/v4/packages/maven/*path/:file_name2973 a public project2974 behaves like handling groups, subgroups and user namespaces for2975 behaves like handling groups and subgroups for2976 within a group2977 that is public2978 behaves like getting a file2979 returns sha1 of the file2980 behaves like tracking the file download event2981 with jar file2982 behaves like a package tracking event2983 creates a gitlab tracking event pull_package2984 behaves like successfully returning the file2985 returns the file2986 with a non existing maven path2987 behaves like rejecting the request for non existing maven path2988 rejects the request2989 within a subgroup2990 that is public2991 behaves like getting a file2992 returns sha1 of the file2993 behaves like tracking the file download event2994 with jar file2995 behaves like a package tracking event2996 creates a gitlab tracking event pull_package2997 behaves like successfully returning the file2998 returns the file2999 with a non existing maven path3000 behaves like rejecting the request for non existing maven path3001 rejects the request3002 within a user namespace3003 that is public3004 behaves like getting a file3005 returns sha1 of the file3006 behaves like tracking the file download event3007 with jar file3008 behaves like a package tracking event3009 creates a gitlab tracking event pull_package3010 behaves like successfully returning the file3011 returns the file3012 with a non existing maven path3013 behaves like rejecting the request for non existing maven path3014 rejects the request3015 internal project3016 behaves like handling groups, subgroups and user namespaces for3017 behaves like handling groups and subgroups for3018 within a group3019 that is public3020 behaves like getting a file3021 denies download when no private token3022 behaves like tracking the file download event3023 with jar file3024 behaves like a package tracking event3025 creates a gitlab tracking event pull_package3026 behaves like successfully returning the file3027 returns the file3028 behaves like downloads with a job token3029 with a running job3030 allows download with job token3031 with a finished job3032 returns unauthorized error3033 behaves like downloads with a deploy token3034 successful download3035 allows download with deploy token3036 allows download with deploy token with only write_package_registry scope3037 with a non existing maven path3038 behaves like rejecting the request for non existing maven path3039 rejects the request3040 that is internal3041 behaves like getting a file3042 denies download when no private token3043 behaves like tracking the file download event3044 with jar file3045 behaves like a package tracking event3046 creates a gitlab tracking event pull_package3047 behaves like successfully returning the file3048 returns the file3049 behaves like downloads with a job token3050 with a running job3051 allows download with job token3052 with a finished job3053 returns unauthorized error3054 behaves like downloads with a deploy token3055 successful download3056 allows download with deploy token3057 allows download with deploy token with only write_package_registry scope3058 with a non existing maven path3059 behaves like rejecting the request for non existing maven path3060 rejects the request3061 within a subgroup3062 that is public3063 behaves like getting a file3064 denies download when no private token3065 behaves like tracking the file download event3066 with jar file3067 behaves like a package tracking event3068 creates a gitlab tracking event pull_package3069 behaves like successfully returning the file3070 returns the file3071 behaves like downloads with a job token3072 with a running job3073 allows download with job token3074 with a finished job3075 returns unauthorized error3076 behaves like downloads with a deploy token3077 successful download3078 allows download with deploy token3079 allows download with deploy token with only write_package_registry scope3080 with a non existing maven path3081 behaves like rejecting the request for non existing maven path3082 rejects the request3083 that is internal3084 behaves like getting a file3085 denies download when no private token3086 behaves like tracking the file download event3087 with jar file3088 behaves like a package tracking event3089 creates a gitlab tracking event pull_package3090 behaves like successfully returning the file3091 returns the file3092 behaves like downloads with a job token3093 with a running job3094 allows download with job token3095 with a finished job3096 returns unauthorized error3097 behaves like downloads with a deploy token3098 successful download3099 allows download with deploy token3100 allows download with deploy token with only write_package_registry scope3101 with a non existing maven path3102 behaves like rejecting the request for non existing maven path3103 rejects the request3104 within a user namespace3105 that is public3106 behaves like getting a file3107 denies download when no private token3108 behaves like tracking the file download event3109 with jar file3110 behaves like a package tracking event3111 creates a gitlab tracking event pull_package3112 behaves like successfully returning the file3113 returns the file3114 behaves like downloads with a job token3115 with a running job3116 allows download with job token3117 with a finished job3118 returns unauthorized error3119 behaves like downloads with a deploy token3120 successful download3121 allows download with deploy token3122 allows download with deploy token with only write_package_registry scope3123 with a non existing maven path3124 behaves like rejecting the request for non existing maven path3125 rejects the request3126 that is internal3127 behaves like getting a file3128 denies download when no private token3129 behaves like tracking the file download event3130 with jar file3131 behaves like a package tracking event3132 creates a gitlab tracking event pull_package3133 behaves like successfully returning the file3134 returns the file3135 behaves like downloads with a job token3136 with a running job3137 allows download with job token3138 with a finished job3139 returns unauthorized error3140 behaves like downloads with a deploy token3141 successful download3142 allows download with deploy token3143 allows download with deploy token with only write_package_registry scope3144 with a non existing maven path3145 behaves like rejecting the request for non existing maven path3146 rejects the request3147 private project3148 behaves like handling groups, subgroups and user namespaces for3149 behaves like handling groups and subgroups for3150 within a group3151 that is public3152 behaves like getting a file3153 denies download when not enough permissions3154 denies download when no private token3155 does not allow download by a unauthorized deploy token with same id as a user with access3156 behaves like tracking the file download event3157 with jar file3158 behaves like a package tracking event3159 creates a gitlab tracking event pull_package3160 behaves like successfully returning the file3161 returns the file3162 behaves like downloads with a job token3163 with a running job3164 allows download with job token3165 with a finished job3166 returns unauthorized error3167 behaves like downloads with a deploy token3168 successful download3169 allows download with deploy token3170 allows download with deploy token with only write_package_registry scope3171 with a non existing maven path3172 behaves like rejecting the request for non existing maven path3173 rejects the request3174 that is internal3175 behaves like getting a file3176 denies download when not enough permissions3177 denies download when no private token3178 does not allow download by a unauthorized deploy token with same id as a user with access3179 behaves like tracking the file download event3180 with jar file3181 behaves like a package tracking event3182 creates a gitlab tracking event pull_package3183 behaves like successfully returning the file3184 returns the file3185 behaves like downloads with a job token3186 with a running job3187 allows download with job token3188 with a finished job3189 returns unauthorized error3190 behaves like downloads with a deploy token3191 successful download3192 allows download with deploy token3193 allows download with deploy token with only write_package_registry scope3194 with a non existing maven path3195 behaves like rejecting the request for non existing maven path3196 rejects the request3197 that is private3198 behaves like getting a file3199 denies download when not enough permissions3200 denies download when no private token3201 does not allow download by a unauthorized deploy token with same id as a user with access3202 behaves like tracking the file download event3203 with jar file3204 behaves like a package tracking event3205 creates a gitlab tracking event pull_package3206 behaves like successfully returning the file3207 returns the file3208 behaves like downloads with a job token3209 with a running job3210 allows download with job token3211 with a finished job3212 returns unauthorized error3213 behaves like downloads with a deploy token3214 successful download3215 allows download with deploy token3216 allows download with deploy token with only write_package_registry scope3217 with a non existing maven path3218 behaves like rejecting the request for non existing maven path3219 rejects the request3220 within a subgroup3221 that is public3222 behaves like getting a file3223 denies download when not enough permissions3224 denies download when no private token3225 does not allow download by a unauthorized deploy token with same id as a user with access3226 behaves like tracking the file download event3227 with jar file3228 behaves like a package tracking event3229 creates a gitlab tracking event pull_package3230 behaves like successfully returning the file3231 returns the file3232 behaves like downloads with a job token3233 with a running job3234 allows download with job token3235 with a finished job3236 returns unauthorized error3237 behaves like downloads with a deploy token3238 successful download3239 allows download with deploy token3240 allows download with deploy token with only write_package_registry scope3241 with a non existing maven path3242 behaves like rejecting the request for non existing maven path3243 rejects the request3244 that is internal3245 behaves like getting a file3246 denies download when not enough permissions3247 denies download when no private token3248 does not allow download by a unauthorized deploy token with same id as a user with access3249 behaves like tracking the file download event3250 with jar file3251 behaves like a package tracking event3252 creates a gitlab tracking event pull_package3253 behaves like successfully returning the file3254 returns the file3255 behaves like downloads with a job token3256 with a running job3257 allows download with job token3258 with a finished job3259 returns unauthorized error3260 behaves like downloads with a deploy token3261 successful download3262 allows download with deploy token3263 allows download with deploy token with only write_package_registry scope3264 with a non existing maven path3265 behaves like rejecting the request for non existing maven path3266 rejects the request3267 that is private3268 behaves like getting a file3269 denies download when not enough permissions3270 denies download when no private token3271 does not allow download by a unauthorized deploy token with same id as a user with access3272 behaves like tracking the file download event3273 with jar file3274 behaves like a package tracking event3275 creates a gitlab tracking event pull_package3276 behaves like successfully returning the file3277 returns the file3278 behaves like downloads with a job token3279 with a running job3280 allows download with job token3281 with a finished job3282 returns unauthorized error3283 behaves like downloads with a deploy token3284 successful download3285 allows download with deploy token3286 allows download with deploy token with only write_package_registry scope3287 with a non existing maven path3288 behaves like rejecting the request for non existing maven path3289 rejects the request3290 within a user namespace3291 that is public3292 behaves like getting a file3293 denies download when not enough permissions3294 denies download when no private token3295 does not allow download by a unauthorized deploy token with same id as a user with access3296 behaves like tracking the file download event3297 with jar file3298 behaves like a package tracking event3299 creates a gitlab tracking event pull_package3300 behaves like successfully returning the file3301 returns the file3302 behaves like downloads with a job token3303 with a running job3304 allows download with job token3305 with a finished job3306 returns unauthorized error3307 behaves like downloads with a deploy token3308 successful download3309 allows download with deploy token3310 allows download with deploy token with only write_package_registry scope3311 with a non existing maven path3312 behaves like rejecting the request for non existing maven path3313 rejects the request3314 that is internal3315 behaves like getting a file3316 denies download when not enough permissions3317 denies download when no private token3318 does not allow download by a unauthorized deploy token with same id as a user with access3319 behaves like tracking the file download event3320 with jar file3321 behaves like a package tracking event3322 creates a gitlab tracking event pull_package3323 behaves like successfully returning the file3324 returns the file3325 behaves like downloads with a job token3326 with a running job3327 allows download with job token3328 with a finished job3329 returns unauthorized error3330 behaves like downloads with a deploy token3331 successful download3332 allows download with deploy token3333 allows download with deploy token with only write_package_registry scope3334 with a non existing maven path3335 behaves like rejecting the request for non existing maven path3336 rejects the request3337 that is private3338 behaves like getting a file3339 denies download when not enough permissions3340 denies download when no private token3341 does not allow download by a unauthorized deploy token with same id as a user with access3342 behaves like tracking the file download event3343 with jar file3344 behaves like a package tracking event3345 creates a gitlab tracking event pull_package3346 behaves like successfully returning the file3347 returns the file3348 behaves like downloads with a job token3349 with a running job3350 allows download with job token3351 with a finished job3352 returns unauthorized error3353 behaves like downloads with a deploy token3354 successful download3355 allows download with deploy token3356 allows download with deploy token with only write_package_registry scope3357 with a non existing maven path3358 behaves like rejecting the request for non existing maven path3359 rejects the request3360 project name is different from a package name3361 rejects request3362 HEAD /api/v4/packages/maven/*path/:file_name3363 with check_maven_path_first enabled3364 behaves like handling groups, subgroups and user namespaces for3365 behaves like handling groups and subgroups for3366 within a group3367 that is public3368 behaves like heading a file3369 behaves like processing HEAD requests3370 with object storage enabled3371 non AWS provider3372 does not generated a signed url for head3373 with AWS provider3374 generates a signed url for head3375 with object storage disabled3376 does not generate a signed url for head3377 with a non existing maven path3378 behaves like rejecting the request for non existing maven path3379 rejects the request3380 within a subgroup3381 that is public3382 behaves like heading a file3383 behaves like processing HEAD requests3384 with object storage enabled3385 non AWS provider3386 does not generated a signed url for head3387 with AWS provider3388 generates a signed url for head3389 with object storage disabled3390 does not generate a signed url for head3391 with a non existing maven path3392 behaves like rejecting the request for non existing maven path3393 rejects the request3394 within a user namespace3395 that is public3396 behaves like heading a file3397 behaves like processing HEAD requests3398 with object storage enabled3399 non AWS provider3400 does not generated a signed url for head3401 with AWS provider3402 generates a signed url for head3403 with object storage disabled3404 does not generate a signed url for head3405 with a non existing maven path3406 behaves like rejecting the request for non existing maven path3407 rejects the request3408 with check_maven_path_first disabled3409 behaves like handling groups, subgroups and user namespaces for3410 behaves like handling groups and subgroups for3411 within a group3412 that is public3413 behaves like heading a file3414 behaves like processing HEAD requests3415 with object storage enabled3416 non AWS provider3417 does not generated a signed url for head3418 with AWS provider3419 generates a signed url for head3420 with object storage disabled3421 does not generate a signed url for head3422 with a non existing maven path3423 behaves like rejecting the request for non existing maven path3424 rejects the request3425 within a subgroup3426 that is public3427 behaves like heading a file3428 behaves like processing HEAD requests3429 with object storage enabled3430 non AWS provider3431 does not generated a signed url for head3432 with AWS provider3433 generates a signed url for head3434 with object storage disabled3435 does not generate a signed url for head3436 with a non existing maven path3437 behaves like rejecting the request for non existing maven path3438 rejects the request3439 within a user namespace3440 that is public3441 behaves like heading a file3442 behaves like processing HEAD requests3443 with object storage enabled3444 non AWS provider3445 does not generated a signed url for head3446 with AWS provider3447 generates a signed url for head3448 with object storage disabled3449 does not generate a signed url for head3450 with a non existing maven path3451 behaves like rejecting the request for non existing maven path3452 rejects the request3453 GET /api/v4/groups/:id/-/packages/maven/*path/:file_name3454 a public project3455 behaves like handling groups and subgroups for3456 within a group3457 that is public3458 behaves like getting a file for a group3459 returns sha1 of the file3460 behaves like tracking the file download event3461 with jar file3462 behaves like a package tracking event3463 creates a gitlab tracking event pull_package3464 behaves like successfully returning the file3465 returns the file3466 with a non existing maven path3467 behaves like rejecting the request for non existing maven path3468 rejects the request3469 within a subgroup3470 that is public3471 behaves like getting a file for a group3472 returns sha1 of the file3473 behaves like tracking the file download event3474 with jar file3475 behaves like a package tracking event3476 creates a gitlab tracking event pull_package3477 behaves like successfully returning the file3478 returns the file3479 with a non existing maven path3480 behaves like rejecting the request for non existing maven path3481 rejects the request3482 internal project3483 behaves like handling groups and subgroups for3484 within a group3485 that is internal3486 behaves like getting a file for a group3487 denies download when no private token3488 behaves like tracking the file download event3489 with jar file3490 behaves like a package tracking event3491 creates a gitlab tracking event pull_package3492 behaves like successfully returning the file3493 returns the file3494 behaves like downloads with a job token3495 with a running job3496 allows download with job token3497 with a finished job3498 returns unauthorized error3499 behaves like downloads with a deploy token3500 successful download3501 allows download with deploy token3502 allows download with deploy token with only write_package_registry scope3503 with a non existing maven path3504 behaves like rejecting the request for non existing maven path3505 rejects the request3506 that is public3507 behaves like getting a file for a group3508 denies download when no private token3509 behaves like tracking the file download event3510 with jar file3511 behaves like a package tracking event3512 creates a gitlab tracking event pull_package3513 behaves like successfully returning the file3514 returns the file3515 behaves like downloads with a job token3516 with a running job3517 allows download with job token3518 with a finished job3519 returns unauthorized error3520 behaves like downloads with a deploy token3521 successful download3522 allows download with deploy token3523 allows download with deploy token with only write_package_registry scope3524 with a non existing maven path3525 behaves like rejecting the request for non existing maven path3526 rejects the request3527 within a subgroup3528 that is internal3529 behaves like getting a file for a group3530 denies download when no private token3531 behaves like tracking the file download event3532 with jar file3533 behaves like a package tracking event3534 creates a gitlab tracking event pull_package3535 behaves like successfully returning the file3536 returns the file3537 behaves like downloads with a job token3538 with a running job3539 allows download with job token3540 with a finished job3541 returns unauthorized error3542 behaves like downloads with a deploy token3543 successful download3544 allows download with deploy token3545 allows download with deploy token with only write_package_registry scope3546 with a non existing maven path3547 behaves like rejecting the request for non existing maven path3548 rejects the request3549 that is public3550 behaves like getting a file for a group3551 denies download when no private token3552 behaves like tracking the file download event3553 with jar file3554 behaves like a package tracking event3555 creates a gitlab tracking event pull_package3556 behaves like successfully returning the file3557 returns the file3558 behaves like downloads with a job token3559 with a running job3560 allows download with job token3561 with a finished job3562 returns unauthorized error3563 behaves like downloads with a deploy token3564 successful download3565 allows download with deploy token3566 allows download with deploy token with only write_package_registry scope3567 with a non existing maven path3568 behaves like rejecting the request for non existing maven path3569 rejects the request3570 private project3571 behaves like handling groups and subgroups for3572 within a group3573 that is private3574 behaves like getting a file for a group3575 denies download when not enough permissions3576 denies download when no private token3577 behaves like tracking the file download event3578 with jar file3579 behaves like a package tracking event3580 creates a gitlab tracking event pull_package3581 behaves like successfully returning the file3582 returns the file3583 behaves like downloads with a job token3584 with a running job3585 allows download with job token3586 with a finished job3587 returns unauthorized error3588 behaves like downloads with a deploy token3589 successful download3590 allows download with deploy token3591 allows download with deploy token with only write_package_registry scope3592 with a non existing maven path3593 behaves like rejecting the request for non existing maven path3594 rejects the request3595 with group deploy token3596 returns the file with only write_package_registry scope3597 behaves like successfully returning the file3598 returns the file3599 with a non existing maven path3600 behaves like rejecting the request for non existing maven path3601 rejects the request3602 that is internal3603 behaves like getting a file for a group3604 denies download when not enough permissions3605 denies download when no private token3606 behaves like tracking the file download event3607 with jar file3608 behaves like a package tracking event3609 creates a gitlab tracking event pull_package3610 behaves like successfully returning the file3611 returns the file3612 behaves like downloads with a job token3613 with a running job3614 allows download with job token3615 with a finished job3616 returns unauthorized error3617 behaves like downloads with a deploy token3618 successful download3619 allows download with deploy token3620 allows download with deploy token with only write_package_registry scope3621 with a non existing maven path3622 behaves like rejecting the request for non existing maven path3623 rejects the request3624 with group deploy token3625 returns the file with only write_package_registry scope3626 behaves like successfully returning the file3627 returns the file3628 with a non existing maven path3629 behaves like rejecting the request for non existing maven path3630 rejects the request3631 that is public3632 behaves like getting a file for a group3633 denies download when not enough permissions3634 denies download when no private token3635 behaves like tracking the file download event3636 with jar file3637 behaves like a package tracking event3638 creates a gitlab tracking event pull_package3639 behaves like successfully returning the file3640 returns the file3641 behaves like downloads with a job token3642 with a running job3643 allows download with job token3644 with a finished job3645 returns unauthorized error3646 behaves like downloads with a deploy token3647 successful download3648 allows download with deploy token3649 allows download with deploy token with only write_package_registry scope3650 with a non existing maven path3651 behaves like rejecting the request for non existing maven path3652 rejects the request3653 with group deploy token3654 returns the file with only write_package_registry scope3655 behaves like successfully returning the file3656 returns the file3657 with a non existing maven path3658 behaves like rejecting the request for non existing maven path3659 rejects the request3660 within a subgroup3661 that is private3662 behaves like getting a file for a group3663 denies download when not enough permissions3664 denies download when no private token3665 behaves like tracking the file download event3666 with jar file3667 behaves like a package tracking event3668 creates a gitlab tracking event pull_package3669 behaves like successfully returning the file3670 returns the file3671 behaves like downloads with a job token3672 with a running job3673 allows download with job token3674 with a finished job3675 returns unauthorized error3676 behaves like downloads with a deploy token3677 successful download3678 allows download with deploy token3679 allows download with deploy token with only write_package_registry scope3680 with a non existing maven path3681 behaves like rejecting the request for non existing maven path3682 rejects the request3683 with group deploy token3684 returns the file with only write_package_registry scope3685 behaves like successfully returning the file3686 returns the file3687 with a non existing maven path3688 behaves like rejecting the request for non existing maven path3689 rejects the request3690 that is internal3691 behaves like getting a file for a group3692 denies download when not enough permissions3693 denies download when no private token3694 behaves like tracking the file download event3695 with jar file3696 behaves like a package tracking event3697 creates a gitlab tracking event pull_package3698 behaves like successfully returning the file3699 returns the file3700 behaves like downloads with a job token3701 with a running job3702 allows download with job token3703 with a finished job3704 returns unauthorized error3705 behaves like downloads with a deploy token3706 successful download3707 allows download with deploy token3708 allows download with deploy token with only write_package_registry scope3709 with a non existing maven path3710 behaves like rejecting the request for non existing maven path3711 rejects the request3712 with group deploy token3713 returns the file with only write_package_registry scope3714 behaves like successfully returning the file3715 returns the file3716 with a non existing maven path3717 behaves like rejecting the request for non existing maven path3718 rejects the request3719 that is public3720 behaves like getting a file for a group3721 denies download when not enough permissions3722 denies download when no private token3723 behaves like tracking the file download event3724 with jar file3725 behaves like a package tracking event3726 creates a gitlab tracking event pull_package3727 behaves like successfully returning the file3728 returns the file3729 behaves like downloads with a job token3730 with a running job3731 allows download with job token3732 with a finished job3733 returns unauthorized error3734 behaves like downloads with a deploy token3735 successful download3736 allows download with deploy token3737 allows download with deploy token with only write_package_registry scope3738 with a non existing maven path3739 behaves like rejecting the request for non existing maven path3740 rejects the request3741 with group deploy token3742 returns the file with only write_package_registry scope3743 behaves like successfully returning the file3744 returns the file3745 with a non existing maven path3746 behaves like rejecting the request for non existing maven path3747 rejects the request3748 with a reporter from a subgroup accessing the root group3749 behaves like successfully returning the file3750 returns the file3751 with a non existing maven path3752 behaves like rejecting the request for non existing maven path3753 rejects the request3754 maven metadata file3755 in multiple versionless packages3756 downloads the file3757 in multiple snapshot packages3758 downloads the file3759 HEAD /api/v4/groups/:id/-/packages/maven/*path/:file_name3760 with check_maven_path_first enabled3761 behaves like handling groups and subgroups for3762 within a group3763 that is public3764 behaves like processing HEAD requests3765 with object storage enabled3766 non AWS provider3767 does not generated a signed url for head3768 with AWS provider3769 generates a signed url for head3770 with object storage disabled3771 does not generate a signed url for head3772 with a non existing maven path3773 behaves like rejecting the request for non existing maven path3774 rejects the request3775 within a subgroup3776 that is public3777 behaves like processing HEAD requests3778 with object storage enabled3779 non AWS provider3780 does not generated a signed url for head3781 with AWS provider3782 generates a signed url for head3783 with object storage disabled3784 does not generate a signed url for head3785 with a non existing maven path3786 behaves like rejecting the request for non existing maven path3787 rejects the request3788 with check_maven_path_first disabled3789 behaves like handling groups and subgroups for3790 within a group3791 that is public3792 behaves like processing HEAD requests3793 with object storage enabled3794 non AWS provider3795 does not generated a signed url for head3796 with AWS provider3797 generates a signed url for head3798 with object storage disabled3799 does not generate a signed url for head3800 with a non existing maven path3801 behaves like rejecting the request for non existing maven path3802 rejects the request3803 within a subgroup3804 that is public3805 behaves like processing HEAD requests3806 with object storage enabled3807 non AWS provider3808 does not generated a signed url for head3809 with AWS provider3810 generates a signed url for head3811 with object storage disabled3812 does not generate a signed url for head3813 with a non existing maven path3814 behaves like rejecting the request for non existing maven path3815 rejects the request3816 GET /api/v4/projects/:id/packages/maven/*path/:file_name3817 a public project3818 returns sha1 of the file3819 behaves like tracking the file download event3820 with jar file3821 behaves like a package tracking event3822 creates a gitlab tracking event pull_package3823 behaves like successfully returning the file3824 returns the file3825 when the repository is disabled3826 behaves like successfully returning the file3827 returns the file3828 with a non existing maven path3829 behaves like rejecting the request for non existing maven path3830 rejects the request3831 private project3832 denies download when not enough permissions3833 denies download when no private token3834 behaves like tracking the file download event3835 with jar file3836 behaves like a package tracking event3837 creates a gitlab tracking event pull_package3838 behaves like successfully returning the file3839 returns the file3840 behaves like downloads with a job token3841 with a running job3842 allows download with job token3843 with a finished job3844 returns unauthorized error3845 behaves like downloads with a deploy token3846 successful download3847 allows download with deploy token3848 allows download with deploy token with only write_package_registry scope3849 with a non existing maven path3850 behaves like rejecting the request for non existing maven path3851 rejects the request3852 HEAD /api/v4/projects/:id/packages/maven/*path/:file_name3853 with check_maven_path_first enabled3854 behaves like processing HEAD requests3855 with object storage enabled3856 non AWS provider3857 does not generated a signed url for head3858 with AWS provider3859 generates a signed url for head3860 with object storage disabled3861 does not generate a signed url for head3862 with a non existing maven path3863 behaves like rejecting the request for non existing maven path3864 rejects the request3865 with check_maven_path_first disabled3866 behaves like processing HEAD requests3867 with object storage enabled3868 non AWS provider3869 does not generated a signed url for head3870 with AWS provider3871 generates a signed url for head3872 with object storage disabled3873 does not generate a signed url for head3874 with a non existing maven path3875 behaves like rejecting the request for non existing maven path3876 rejects the request3877 PUT /api/v4/projects/:id/packages/maven/*path/:file_name/authorize3878 rejects a malicious request3879 authorizes posting package with a valid token3880 rejects request without a valid token3881 rejects request without a valid permission3882 rejects requests that did not go through gitlab-workhorse3883 authorizes upload with job token3884 authorizes upload with deploy token3885 rejects requests by a unauthorized deploy token with same id as a user with access3886 PUT /api/v4/projects/:id/packages/maven/*path/:file_name3887 rejects requests without a file from workhorse3888 rejects request without a token3889 without workhorse rewritten field3890 rejects the request3891 when params from workhorse are correct3892 rejects a malicious request3893 creates package and stores package file3894 allows upload with running job token3895 rejects upload without running job token3896 allows upload with deploy token3897 rejects uploads by a unauthorized deploy token with same id as a user with access3898 file size is too large3899 rejects the request3900 behaves like package workhorse uploads3901 without a workhorse header3902 logs an error3903 behaves like returning response status3904 returns forbidden3905 event tracking3906 behaves like a package tracking event3907 creates a gitlab tracking event push_package3908 when the package file fails to be created3909 behaves like not a package tracking event3910 does not create a gitlab tracking event3911 version is not correct3912 rejects request3913 when package duplicates are not allowed3914 rejects the request3915 when uploading to the versionless package which contains metadata about all versions3916 behaves like storing the package file3917 stores the file3918 when uploading different non-duplicate files to the same package3919 behaves like storing the package file3920 stores the file3921 when the package name matches the exception regex3922 behaves like storing the package file3923 stores the file3924 for sha1 file3925 checks the sha13926 for md5 file3927 returns an empty body3928Projects::IssuesController3929 GET #index3930 external issue tracker3931 when GitLab issues disabled3932 returns 404 status3933 when GitLab issues enabled3934 renders the "index" template3935 when project has moved3936 redirects to the new issue tracker from the old one3937 redirects from an old issue correctly3938 internal issue tracker3939 returns index3940 returns only list type issues3941 returns 301 if request path doesn't match project path3942 returns 404 when issues are disabled3943 when issues_full_text_search is disabled3944 behaves like issuables list meta-data3945 creates indexed meta-data object for issuable notes and votes count3946 avoids N+1 queries3947 searching3948 works when sorting by created_asc3949 works when sorting by created_at_asc3950 works when sorting by created_date3951 works when sorting by created_desc3952 works when sorting by created_at_desc3953 works when sorting by id_asc3954 works when sorting by id_desc3955 works when sorting by updated_asc3956 works when sorting by updated_at_asc3957 works when sorting by updated_desc3958 works when sorting by updated_at_desc3959 works when sorting by title_asc3960 works when sorting by title_desc3961 works when sorting by closest_future_date3962 works when sorting by closest_future_date_asc3963 works when sorting by due_date3964 works when sorting by due_date_asc3965 works when sorting by due_date_desc3966 works when sorting by relative_position3967 works when sorting by relative_position_asc3968 works when sorting by weight3969 works when sorting by weight_asc3970 works when sorting by weight_desc3971 works when sorting by popularity3972 works when sorting by priority3973 works when sorting by label_priority3974 when given empty collection3975 doesn't execute any queries with false conditions3976 when issues_full_text_search is enabled3977 behaves like issuables list meta-data3978 creates indexed meta-data object for issuable notes and votes count3979 avoids N+1 queries3980 searching3981 works when sorting by created_asc3982 works when sorting by created_at_asc3983 works when sorting by created_date3984 works when sorting by created_desc3985 works when sorting by created_at_desc3986 works when sorting by id_asc3987 works when sorting by id_desc3988 works when sorting by updated_asc3989 works when sorting by updated_at_asc3990 works when sorting by updated_desc3991 works when sorting by updated_at_desc3992 works when sorting by title_asc3993 works when sorting by title_desc3994 works when sorting by closest_future_date3995 works when sorting by closest_future_date_asc3996 works when sorting by due_date3997 works when sorting by due_date_asc3998 works when sorting by due_date_desc3999 works when sorting by relative_position4000 works when sorting by relative_position_asc4001 works when sorting by weight4002 works when sorting by weight_asc4003 works when sorting by weight_desc4004 works when sorting by popularity4005 works when sorting by priority4006 works when sorting by label_priority4007 when given empty collection4008 doesn't execute any queries with false conditions4009 behaves like set sort order from user preference4010 #set_sort_order_from_user_preference4011 when database is in read-only mode4012 does not update user preference4013 when database is not in read-only mode4014 updates user preference4015 behaves like issuable list with anonymous search disabled4016 when disable_anonymous_search is enabled4017 shows a flash message4018 when search param is not given4019 does not show a flash message4020 when user is signed-in4021 does not show a flash message4022 when format is not HTML4023 does not show a flash message4024 when disable_anonymous_search is disabled4025 does not show a flash message4026 behaves like paginated collection4027 renders a page number that is not ouf of range4028 redirects to last_page if page number is larger than number of pages4029 does not redirect to external sites when provided a host field4030 redirects to last page when out of bounds on non-html requests4031 does not use pagination if disabled4032 with relative_position sorting4033 overrides the number allowed on the page4034 allows the default number on the page4035 external authorization4036 behaves like unauthorized when external service denies access4037 allows access when the authorization service allows it4038 allows access when the authorization service denies it4039 GET #show4040 returns issue_email_participants4041 GET #new4042 redirects to signin if not logged in4043 internal issue tracker4044 builds a new issue4045 fills in an issue for a merge request4046 fills in an issue for a discussion4047 conf_value: true, conf_result: true4048 sets the confidential flag to the expected value4049 conf_value: "true", conf_result: true4050 sets the confidential flag to the expected value4051 conf_value: "TRUE", conf_result: true4052 sets the confidential flag to the expected value4053 conf_value: false, conf_result: false4054 sets the confidential flag to the expected value4055 conf_value: "false", conf_result: false4056 sets the confidential flag to the expected value4057 conf_value: "FALSE", conf_result: false4058 sets the confidential flag to the expected value4059 setting issue type4060 is expected to eq "issue"4061 incident issue4062 is expected to eq "incident"4063 external issue tracker4064 when GitLab issues disabled4065 returns 404 status4066 when GitLab issues enabled4067 renders the "new" template4068 #related_branches4069 the current user cannot download code4070 prevents access4071 there are no related branches4072 assigns empty arrays4073 there are related branches4074 finds and assigns the appropriate branch information4075 Redirect after sign in4076 with a JSON request4077 does not store the visited URL4078 with an HTML request4079 stores the visited URL4080 POST #move4081 when moving issue to another private project4082 when user has access to move issue4083 moves issue to another project4084 when user does not have access to move issue4085 responds with 4044086 PUT #reorder4087 when user has access4088 with valid params4089 reorders issues and returns a successful 200 response4090 with invalid params4091 returns a unprocessable entity 422 response for invalid move ids4092 returns a not found 404 response for invalid issue id4093 returns a unprocessable entity 422 response for issues not in group4094 with unauthorized user4095 responds with 4044096 PUT #update4097 when user has access to update issue4098 updates the issue4099 with issue_type param4100 permits the parameter4101 when an issue is identified as spam4102 when allow_possible_spam feature flag is false4103 renders json with spam_action_response_fields4104 when allow_possible_spam feature flag is true4105 updates the issue4106 when user does not have access to update issue4107 responds with 4044108 GET #realtime_changes4109 when an issue was edited4110 returns last edited time4111 when an issue was edited by a deleted user4112 returns 2004113 when getting the changes4114 returns the necessary data4115 Confidential Issues4116 GET #index4117 does not list confidential issues for guests4118 does not list confidential issues for non project members4119 does not list confidential issues for project members with guest role4120 lists confidential issues for author4121 lists confidential issues for assignee4122 lists confidential issues for project members4123 when admin mode is enabled4124 lists confidential issues for admin4125 when admin mode is disabled4126 does not list confidential issues for admin4127 PUT #update4128 behaves like restricted action4129 returns 404 for guests4130 returns 404 for non project members4131 returns 404 for project members with guest role4132 returns 200 for author4133 returns 200 for assignee4134 returns 200 for project members4135 when admin mode is enabled4136 returns 200 for admin4137 when admin mode is disabled4138 returns 404 for admin (PENDING: Temporarily skipped with xit)4139 behaves like update invalid issuable4140 when updating causes conflicts4141 renders edit when format is html4142 renders json error message when format is json4143 when updating an invalid issuable4144 renders edit when merge request is invalid4145 changing the assignee4146 limits the attributes exposed on the assignee4147 Recaptcha is enabled4148 when SpamVerdictService allows the issue4149 normally updates the issue4150 when an issue is identified as spam4151 when recaptcha is not verified4152 when allow_possible_spam feature flag is false4153 rejects an issue recognized as spam4154 rejects an issue recognized as a spam when reCAPTCHA disabled4155 creates a spam log4156 renders properly4157 renders spam_action_response_fields json response4158 when allow_possible_spam feature flag is true4159 updates the issue recognized as spam4160 creates a spam log4161 returns 200 status4162 when recaptcha is verified4163 returns 200 status4164 accepts an issue after reCAPTCHA is verified4165 marks spam log as recaptcha_verified4166 does not mark spam log as recaptcha_verified when it does not belong to current_user4167 GET #show4168 avoids (most) N+1s loading labels4169 logs the view with Gitlab::Search::RecentIssues4170 behaves like restricted action4171 returns 404 for guests4172 returns 404 for non project members4173 returns 404 for project members with guest role4174 returns 200 for author4175 returns 200 for assignee4176 returns 200 for project members4177 when admin mode is enabled4178 returns 200 for admin4179 when admin mode is disabled4180 returns 404 for admin (PENDING: Temporarily skipped with xit)4181 when not logged in4182 does not log the view with Gitlab::Search::RecentIssues4183 GET #realtime_changes4184 behaves like restricted action4185 returns 404 for guests4186 returns 404 for non project members4187 returns 404 for project members with guest role4188 returns 200 for author4189 returns 200 for assignee4190 returns 200 for project members4191 when admin mode is enabled4192 returns 200 for admin4193 when admin mode is disabled4194 returns 404 for admin (PENDING: Temporarily skipped with xit)4195 GET #edit4196 behaves like restricted action4197 returns 404 for guests4198 returns 404 for non project members4199 returns 404 for project members with guest role4200 returns 200 for author4201 returns 200 for assignee4202 returns 200 for project members4203 when admin mode is enabled4204 returns 200 for admin4205 when admin mode is disabled4206 returns 404 for admin (PENDING: Temporarily skipped with xit)4207 PUT #update4208 behaves like restricted action4209 returns 404 for guests4210 returns 404 for non project members4211 returns 404 for project members with guest role4212 returns 302 for author4213 returns 302 for assignee4214 returns 302 for project members4215 when admin mode is enabled4216 returns 302 for admin4217 when admin mode is disabled4218 returns 404 for admin (PENDING: Temporarily skipped with xit)4219 POST #create4220 creates the issue successfully4221 when creating an incident4222 sets the correct issue_type4223 when trying to create a task4224 defaults to issue type4225 resolving discussions in MergeRequest4226 creates an issue for the project4227 doesn't overwrite given params4228 resolves the discussion in the merge_request4229 sets a flash message4230 resolving a single discussion4231 resolves a single discussion4232 sets a flash message that one discussion was resolved4233 Recaptcha is enabled4234 when SpamVerdictService allows the issue4235 creates an issue4236 when an issue is identified as spam and requires recaptcha4237 when captcha is not verified4238 when allow_possible_spam feature flag is false4239 rejects an issue recognized as spam4240 creates a spam log4241 does not create an issue when it is not valid4242 does not create an issue when reCAPTCHA is not enabled4243 when allow_possible_spam feature flag is true4244 creates an issue recognized as spam4245 creates a spam log4246 does not create an issue when it is not valid4247 when Recaptcha is verified4248 accepts an issue after reCAPTCHA is verified4249 marks spam log as recaptcha_verified4250 does not mark spam log as recaptcha_verified when it does not belong to current_user4251 user agent details are saved4252 creates a user agent detail4253 when description has quick actions4254 can add spent time4255 can set the time estimate4256 when created from sentry error4257 creates an issue4258 creates a sentry issue4259 when the endpoint receives requests above the limit4260 when issue creation limits imposed4261 prevents from creating more issues4262 logs the event on auth.log4263 setting issue type4264 is expected to eq "issue"4265 incident issue4266 is expected to eq "incident"4267 POST #mark_as_spam4268 properly submits to Akismet4269 updates issue4270 DELETE #destroy4271 when the user is a developer4272 does not delete the issue, returning :not_found4273 when the user is owner4274 deletes the issue4275 prevents deletion if destroy_confirm is not set4276 prevents deletion in JSON format if destroy_confirm is not set4277 POST #toggle_award_emoji4278 toggles the award emoji4279 removes the already awarded emoji4280 marks Todos on the Issue as done4281 POST create_merge_request4282 creates a new merge request4283 render merge request as json4284 is not available when the project is archived4285 is not available for users who cannot create merge requests4286 invalid branch name4287 is unprocessable4288 target_project_id is set4289 creates a new merge request4290 POST #import_csv4291 unauthorized4292 returns 404 for guests4293 returns 404 for project members with reporter role4294 authorized4295 returns 302 for project members with developer role4296 shows error when upload fails4297 POST export_csv4298 when logged in4299 allows CSV export4300 when not logged in4301 redirects to the sign in page4302 GET service_desk4303 adds an author filter for the support bot user4304 does not allow any other author to be set4305 supports other filters4306 allows an assignee to be specified by id4307 GET #discussions4308 when authenticated4309 returns discussion json4310 renders the author status html if there is a status4311 does not cause an extra query for the status4313 behaves like discussions provider4314 returns the expected discussions4315 when user is setting notes filters4316 behaves like issuable notes filter4317 sets discussion filter4318 expires notes e-tag cache for issuable if filter changed4319 does not expires notes e-tag cache for issuable if filter did not change4320 does not set notes filter when database is in read-only mode4321 does not set notes filter when persist_filter param is false4322 returns only user comments4323 returns only activity notes4324 when filter is set to "only_comments"4325 does not merge label event notes4326 with cross-reference system note4327 filters notes that the user should not see4328 does not result in N+1 queries4329 private project4330 user is allowed access4331 displays all available notes4332 user is a guest4333 does not display notes w/type listed in TYPES_RESTRICTED_BY_ACCESS_LEVEL4334 GET #designs4335 when project has moved4336 redirects from an old issue/designs correctly4337Projects::PipelinesController4338 GET index.json4339 does not include coverage data for the pipelines4340 paginates the result4341 when using persisted stages4342 returns serialized pipelines4343 when performing gitaly calls4344 limits the Gitaly requests4345 when the project is private4346 returns `not_found` when the user does not have access4347 returns the pipelines when the user has access4348 when user tries to access legacy scope via URL4349 redirects to all pipelines with that status instead4350 filter by scope4351 scope is branches or tags4352 when scope is branches4353 returns matched pipelines4354 when scope is tags4355 returns matched pipelines4356 filter by username4357 when username exists4358 returns matched pipelines4359 when username does not exist4360 returns empty4361 filter by ref4362 when pipelines with the ref exists4363 returns matched pipelines4364 when no pipeline with the ref exists4365 returns empty list4366 filter by status4367 when pipelines with the status exists4368 returns matched pipelines4369 when no pipeline with the status exists4370 returns empty list4371 when invalid status4372 returns all list4373 GET #index4374 runners_availability_section experiment4375 behaves like tracks assignment and records the subject4376DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in enable_runners_availability_section_experiment at /builds/gitlab-org/gitlab/app/controllers/projects/pipelines_controller.rb:365)4377 tracks the assignment4378DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in enable_runners_availability_section_experiment at /builds/gitlab-org/gitlab/app/controllers/projects/pipelines_controller.rb:365)4379 records the subject4380 GET #show4381 when the project is public4382 avoids N+1 database queries4383 when the project is private4384 returns `not_found` when the user does not have access4385 GET show.json4386 returns the pipeline4387 when the pipeline has multiple stages and groups4388 does not perform N + 1 queries4389 when builds are disabled4390 users can not see internal pipelines4391 when pipeline is external4392 users can see the external pipeline4393 with triggered pipelines4394 when it does have permission to read other projects4395 when not-expanding any pipelines4396 behaves like not expanded4397 does return base details4398 does not expand triggered_by pipeline4399 does not expand triggered pipelines4400 when expanding non-existing pipeline4401 behaves like not expanded4402 does return base details4403 does not expand triggered_by pipeline4404 does not expand triggered pipelines4405 when expanding pipeline that is not directly expandable4406 behaves like not expanded4407 does return base details4408 does not expand triggered_by pipeline4409 does not expand triggered pipelines4410 when expanding self4411 it does not recursively expand pipelines4412 behaves like not expanded4413 does return base details4414 does not expand triggered_by pipeline4415 does not expand triggered pipelines4416 when expanding source and target pipeline4417 behaves like expanded4418 does return base details4419 does expand triggered_by pipeline4420 does not recursively expand triggered_by4421 does expand triggered pipelines4422 does not recursively expand triggered4423 when expand depth is limited to 14424 behaves like not expanded4425 does return base details4426 does not expand triggered_by pipeline4427 does not expand triggered pipelines4428 when expanding all4429 behaves like expanded4430 does return base details4431 does expand triggered_by pipeline4432 does not recursively expand triggered_by4433 does expand triggered pipelines4434 does not recursively expand triggered4435 when does not have permission to read other projects4436 behaves like not expanded4437 does return base details4438 does not expand triggered_by pipeline4439 does not expand triggered pipelines4440 GET dag4441 behaves like the show page4442 redirects to pipeline path with param4443 when the FF pipeline_tabs_vue is disabled4444 renders the show template4445 GET dag.json4446 returns the pipeline with DAG serialization4447 GET builds4448 behaves like the show page4449 redirects to pipeline path with param4450 when the FF pipeline_tabs_vue is disabled4451 renders the show template4452 GET failures4453 redirects to the pipeline page with `failures` query param4454 with ff `pipeline_tabs_vue` disabled4455 with failed jobs4456 shows the page4457 without failed jobs4458 redirects to the main pipeline page4459 GET stages.json4460 when accessing existing stage4461 without retried4462 returns pipeline jobs without the retried builds4463 with retried4464 returns pipelines jobs with the retried builds4465 when accessing unknown stage4466 responds with not found4467 GET status.json4468 return a detailed pipeline status in json4469 GET #charts4470 behaves like tracking unique visits4471 tracks unique visit if the format is HTML4472 tracks unique visit if DNT is not enabled4473 does not track unique visit if DNT is enabled4474 does not track unique visit if the format is JSON4475 behaves like tracking unique visits4476 tracks unique visit if the format is HTML4477 tracks unique visit if DNT is not enabled4478 does not track unique visit if DNT is enabled4479 does not track unique visit if the format is JSON4480 behaves like tracking unique visits4481 tracks unique visit if the format is HTML4482 tracks unique visit if DNT is not enabled4483 does not track unique visit if DNT is enabled4484 does not track unique visit if the format is JSON4485 behaves like tracking unique visits4486 tracks unique visit if the format is HTML4487 tracks unique visit if DNT is not enabled4488 does not track unique visit if DNT is enabled4489 does not track unique visit if the format is JSON4490 POST create4491 with a valid .gitlab-ci.yml file4492 behaves like creates a pipeline4493 is expected to redirect to "/namespace480/project482/-/pipelines/174"4494 when latest commit contains [ci skip]4495 behaves like creates a pipeline4496 is expected to redirect to "/namespace481/project483/-/pipelines/175"4497 with an invalid .gitlab-ci.yml file4498 does not persist a pipeline4499 POST create.json4500 with a valid .gitlab-ci.yml file4501 creates a pipeline4502 with an invalid .gitlab-ci.yml file4503 does not create a pipeline4504 POST retry.json4505 retries a pipeline in the background without returning any content4506 when builds are disabled4507 fails to retry pipeline4508 when access denied4509 returns an error4510 when service returns an error4511 does not retry4512 POST cancel.json4513 cancels a pipeline without returning any content4514 when builds are disabled4515 fails to retry pipeline4516 GET test_report4517 behaves like the show page4518 redirects to pipeline path with param4519 when the FF pipeline_tabs_vue is disabled4520 renders the show template4521 GET test_report.json4522 with attachments4523 does not have N+1 problem with attachments4524 when pipeline does not have a test report4525 renders an empty test report4526 when pipeline has a test report4527 renders the test report4528 when pipeline has a corrupt test report artifact4529 renders the test reports4530 returns a suite_error on the suite with corrupted XML4531 when test_report contains attachment and scope is with_attachment as a URL param4532 returns a test reports with attachment4533 when test_report does not contain attachment and scope is with_attachment as a URL param4534 returns a test reports with empty values4535 GET latest4536 renders a 404 if no pipeline is found for the ref4537 no ref provided4538 shows latest pipeline for the default project branch4539 ref provided4540 shows a 404 if no pipeline exists4541 shows the latest pipeline for the provided ref4542 newer pipeline exists for older sha4543 shows the provided ref with the last sha/pipeline combo4544 DELETE #destroy4545 when user has ability to delete pipeline4546 deletes pipeline and redirects4547 and builds are disabled4548 fails to delete pipeline4549 when user has no privileges4550 fails to delete pipeline4551 GET config_variables.json4552 when sending a valid sha4553 returns variable list4554 when sending an invalid sha4555 returns empty json4556 when sending an invalid config4557 returns empty result4558 when the cache is empty4559 returns no content4560 when project uses external project ci config4561 returns other project config variables4562 GET downloadable_artifacts.json4563 when pipeline is empty4564 returns status not_found4565 when pipeline exists4566 when pipeline does not have any downloadable artifacts4567 returns an empty array4568 when pipeline has downloadable artifacts4569 returns an array of artifacts4570ProjectsController4571 updates Service Desk attributes4572 GET new4573 with an authenticated user4574 when namespace_id param is present4575 when user has access to the namespace4576 renders the template4577 when user does not have access to the namespace4578 responds with status 4044579 GET index4580 as a user4581 redirects to root page4582 as a guest4583 redirects to Explore page4584 GET #activity as JSON4585 when user has permission to see the event4586 returns count4587 design events are visible4588 returns correct count4589 when user has no permission to see the event4590 filters out invisible event4591 GET show4592 user not project member4593 user does not have access to project4594 does not initialize notification setting4595 user has access to project4596 and does not have notification setting4597 initializes notification as disabled4598 and has notification setting4599 shows current notification setting4600 when project repository is disabled4601 shows wiki homepage4602 shows issues list page if wiki is disabled4603 shows activity page if wiki and issues are disabled4604 shows activity if enabled by user4605 project with empty repo4606 with readme view set4607 renders the empty project view4608 with activity view set4609 renders the empty project view4610 with files view set4611 renders the empty project view4612 project with broken repo4613 with readme view set4614 renders the empty project view4615 with activity view set4616 renders the empty project view4617 with files view set4618 renders the empty project view4619 rendering default project view4620 renders the activity view4621 renders the files view4622 renders the readme view4623 does not make Gitaly requests4624 renders files even with invalid license4625 PUC highlighting4626 option is enabled4627 adds the highlighting class4628 option is disabled4629 doesn't add the highlighting class4630 when the url contains .atom4631 expects an error creating the project4632 when the project is pending deletions4633 renders a 404 error4634 redirection from http://someproject.git4635 user_type: :anonymous, project_visibility: :public, expected_redirect: :redirect_to_project4636 returns the expected status4637 user_type: :anonymous, project_visibility: :internal, expected_redirect: :redirect_to_signup4638 returns the expected status4639 user_type: :anonymous, project_visibility: :private, expected_redirect: :redirect_to_signup4640 returns the expected status4641 user_type: :signed_in, project_visibility: :public, expected_redirect: :redirect_to_project4642 returns the expected status4643 user_type: :signed_in, project_visibility: :internal, expected_redirect: :redirect_to_project4644 returns the expected status4645 user_type: :signed_in, project_visibility: :private, expected_redirect: nil4646 returns the expected status4647 user_type: :member, project_visibility: :public, expected_redirect: :redirect_to_project4648 returns the expected status4649 user_type: :member, project_visibility: :internal, expected_redirect: :redirect_to_project4650 returns the expected status4651 user_type: :member, project_visibility: :private, expected_redirect: :redirect_to_project4652 returns the expected status4653 when project is moved and git format is requested4654 redirects to new project path4655 when the project is forked and has a repository4656 does not increase the number of queries when the project is forked4657 POST create4658 on import4659 when import by url is disabled4660 does not create project and reports an error4661 when import by url is enabled4662 creates project4663 GET edit4664 allows an admin user to access the page4665 sets the badge API endpoint4666 POST #archive4667 for a user with the ability to archive a project4668 archives the project4669 redirects to projects path4670 for a user that does not have the ability to archive a project4671 does not archive the project4672 returns 4044673 POST #unarchive4674 for a user with the ability to unarchive a project4675 unarchives the project4676 redirects to projects path4677 for a user that does not have the ability to unarchive a project4678 does not unarchive the project4679 returns 4044680 #housekeeping4681 when authenticated as owner4682 forces a full garbage collection4683 when authenticated as developer4684 does not execute housekeeping4685 #update4686 hashed storage4687 behaves like updating a project4688 updates Fast Forward Merge attributes4689 does not update namespace4690 when there is a conflicting project path4691 does not show any references to the conflicting path4692 when only renaming a project path4693 doesnt change the disk_path when using hashed storage4694 upgrades and move project to hashed storage when project was originally legacy (PENDING: No reason given)4695 when project has container repositories with tags4696 does not allow to rename the project4697 legacy storage4698 behaves like updating a project4699 updates Fast Forward Merge attributes4700 does not update namespace4701 when there is a conflicting project path4702 does not show any references to the conflicting path4703 when only renaming a project path4704 doesnt change the disk_path when using hashed storage (PENDING: No reason given)4705 upgrades and move project to hashed storage when project was originally legacy4706 when project has container repositories with tags4707 does not allow to rename the project4708 as maintainer4709 behaves like unauthorized when external service denies access4710 allows access when the authorization service allows it4711 allows access when the authorization service denies it4712 updates when the service allows access4713 does not update when the service rejects access4714 when updating boolean values on project_settings4715 boolean_value: "1", result: true4716 updates project settings attributes accordingly4717 boolean_value: "0", result: false4718 updates project settings attributes accordingly4719 boolean_value: 1, result: true4720 updates project settings attributes accordingly4721 boolean_value: 0, result: false4722 updates project settings attributes accordingly4723 boolean_value: true, result: true4724 updates project settings attributes accordingly4725 boolean_value: false, result: false4726 updates project settings attributes accordingly4727 with project feature attributes4728 feature: :metrics_dashboard_access_level, initial_value: 10, update_to: 204729 updates the project_feature new4730 feature: :container_registry_access_level, initial_value: 20, update_to: 104731 updates the project_feature new4732 #transfer4733 updates namespace4734 when new namespace is empty4735 behaves like project namespace is not changed4736 project namespace is not changed4737 when new namespace is the same as the current namespace4738 behaves like project namespace is not changed4739 project namespace is not changed4740 #destroy4741 redirects to the dashboard4742 when the project is forked4743 closes all related merge requests4744 PUT #new_issuable_address for issue4745 has http status 2004746 changes the user incoming email token4747 changes projects new issue address4748 PUT #new_issuable_address for merge request4749 has http status 2004750 changes the user incoming email token4751 changes projects new merge request address4752 POST #toggle_star4753 toggles star if user is signed in4754 does nothing if user is not signed in4755 DELETE remove_fork4756 does nothing if user is not signed in4757 when signed in4758 with forked project4759 removes fork from project4760 when project not forked4761 does nothing if project was not forked4762 GET refs4763 gets a list of branches and tags4764 gets a list of branches, tags and commits4765 when gitaly is unavailable4766 responds with 503 error4767 when preferred language is Japanese4768 gets a list of branches, tags and commits4769 when private project4770 as a guest4771 renders forbidden4772 when input params are invalid4773 does not break4774 POST #preview_markdown4775 renders json in a correct format4776 when not authorized4777 returns 4044778 state filter on references4779 renders JSON body with state filter for issues4780 renders JSON body with state filter for MRs4781 when path parameter is provided4782 renders JSON body with image links expanded4783 when path and ref parameters are provided4784 renders JSON body with image links expanded4785 #ensure_canonical_path4786 for a GET request4787 when requesting the canonical path4788 with exactly matching casing4789 loads the project4790 with different casing4791 redirects to the normalized path4792 when requesting a redirected path4793 redirects to the canonical path4794 redirects to the canonical path (testing non-show action)4795 for a POST request4796 when requesting the canonical path with different casing4797 does not 4044798 does not redirect to the correct casing4799 when requesting a redirected path4800 returns not found4801 for a DELETE request4802 when requesting the canonical path with different casing4803 does not 4044804 does not redirect to the correct casing4805 when requesting a redirected path4806 returns not found4807 project export4808 #export4809 when project export is enabled4810 returns 3024811 when project export is disabled4812 returns 4044813 when the endpoint receives requests above the limit4814 prevents requesting project export4815 #download_export4816 object storage enabled4817 when project export is enabled4818 returns 2004819 when project export file is absent4820 alerts the user and returns 3024821 when project export is disabled4822 returns 4044823 when the endpoint receives requests above the limit4824 prevents requesting project export4825 applies correct scope when throttling4826 applies throttle per namespace4827 throttles downloads within same namespaces4828 allows downloads from different namespaces4829 #remove_export4830 when project export is enabled4831/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 nil4832 returns 3024833 when project export is disabled4834 returns 4044835 #generate_new_export4836 when project export is enabled4837/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 nil4838 returns 3024839 when project export is disabled4840 returns 4044841 when the endpoint receives requests above the limit4842 prevents requesting project export4843 GET show.atom4844 filters by calling event.visible_to_user?4845 filters by calling event.visible_to_user?4846 GET #unfoldered_environment_names4847 shows the environment names of a public project to an anonymous user4848 does not show environment names of a private project to anonymous users4849 shows environment names of a private project to a project member4850 does not show environment names of a private project to a logged-in non-member4851API::GroupClusters4852 GET /groups/:id/clusters4853 feature flag is disabled4854 responds with :not_found4855 non-authorized user4856 responds with 4034857 authorized user4858 responds with 2004859 includes pagination headers4860 only include authorized clusters4861 GET /groups/:id/clusters/:cluster_id4862 feature flag is disabled4863 responds with :not_found4864 non-authorized user4865 responds with 4034866 authorized user4867 returns specific cluster4868 returns cluster information4869 returns group information4870 returns kubernetes platform information4871 returns user information4872 returns GCP provider information4873 when cluster has no provider4874 does not include GCP provider info4875 with non-existing cluster4876 returns 4044877 POST /groups/:id/clusters/user4878 feature flag is disabled4879 responds with :not_found4880 non-authorized user4881 responds with 4034882 authorized user4883 with valid params4884 responds with 2014885 creates a new Cluster::Cluster4886 when user does not indicate authorization type4887 defaults to RBAC4888 when user sets authorization type as ABAC4889 creates an ABAC cluster4890 when namespace_per_environment is not set4891 defaults to true4892 current user does not have access to management_project_id4893 responds with 4004894 returns validation errors4895 with invalid params4896 responds with 4004897 does not create a new Clusters::Cluster4898 returns validation errors4899 non-authorized user4900 responds with 4034901 PUT /groups/:id/clusters/:cluster_id4902 when another cluster exists4903 responds with 2014904 allows multiple clusters to be associated to group4905 PUT /groups/:id/clusters/:cluster_id4906 feature flag is disabled4907 responds with :not_found4908 non-authorized user4909 responds with 4034910 authorized user4911 with valid params4912 responds with 2004913 updates cluster attributes4914 with invalid params4915 responds with 4004916 does not update cluster attributes4917 returns validation errors4918 current user does not have access to management_project_id4919 responds with 4004920 returns validation errors4921 with a GCP cluster4922 when user tries to change GCP specific fields4923 responds with 4004924 returns validation error4925 when user tries to change domain4926 responds with 2004927 with an user cluster4928 responds with 2004929 updates platform kubernetes attributes4930 with a cluster that does not belong to user4931 responds with 4044932 DELETE /groups/:id/clusters/:cluster_id4933 feature flag is disabled4934 responds with :not_found4935 non-authorized user4936 responds with 4034937 authorized user4938 responds with 2044939 deletes the cluster4940 with a cluster that does not belong to user4941 responds with 4044942API::Ci::Runner4943 /api/v4/jobs4944 artifacts4945 POST /api/v4/jobs/:id/artifacts/authorize4946 reject requests that did not go through gitlab-workhorse4947 when using token as parameter4948 and the artifact is too large4949 behaves like rejecting artifacts that are too large4950 based on plan limit setting4951 behaves like failed request4952 responds with payload too large error4953 based on application setting4954 behaves like failed request4955 responds with payload too large error4956 based on root namespace setting4957 behaves like failed request4958 responds with payload too large error4959 based on child namespace setting4960 behaves like failed request4961 responds with payload too large error4962 based on project setting4963 behaves like failed request4964 responds with payload too large error4965 posting artifacts to running job4966 doesn't update runner info4967 behaves like API::CI::Runner application context metadata4968 contains correct context metadata4969 when using local storage4970 behaves like authorizes local file4971 succeeds4972 when using remote storage4973 when direct upload is enabled4974 succeeds4975 when direct upload is disabled4976 behaves like authorizes local file4977 succeeds4978 when job does not exist anymore4979 returns 403 Forbidden4980 when using token as header4981 authorizes posting artifacts to running job4982 fails to post too large artifact4983 when using runners token4984 fails to authorize artifacts posting4985 authorization token is invalid4986 responds with forbidden4987 authorize uploading of an lsif artifact4988 adds ProcessLsif header4989 tracks code_intelligence usage ping4990 POST /api/v4/jobs/:id/artifacts4991 doesn't update runner info4992 behaves like API::CI::Runner application context metadata4993 contains correct context metadata4994 when the artifact is too large4995 behaves like rejecting artifacts that are too large4996 based on plan limit setting4997 behaves like failed request4998 responds with payload too large error4999 based on application setting5000 behaves like failed request5001 responds with payload too large error5002 based on root namespace setting5003 behaves like failed request5004 responds with payload too large error5005 based on child namespace setting5006 behaves like failed request5007 responds with payload too large error5008 based on project setting5009 behaves like failed request5010 responds with payload too large error5011 when artifacts are being stored inside of tmp path5012 when job has been erased5013 responds with forbidden5014 when job does not exist anymore5015 returns 403 Forbidden5016 when job is running5017 when uses accelerated file post5018 for file stored locally5019 behaves like successful artifacts upload5020 updates successfully5021 for file stored remotely5022 when valid remote_id is used5023 behaves like successful artifacts upload5024 updates successfully5025 when invalid remote_id is used5026 responds with bad request5027 when using runners token5028 responds with forbidden5029 when artifacts post request does not contain file5030 fails to post artifacts without file5031 GitLab Workhorse is not configured5032 fails to post artifacts without GitLab-Workhorse5033 Is missing GitLab Workhorse token headers5034 fails to post artifacts without GitLab-Workhorse5035 when setting an expire date5036 when an expire_in is given5037 updates when specified5038 when no expire_in is given5039 ignores if not specified5040 with application default5041 when default is 5 days5042 sets to application default5043 when default is 05044 does not set expire_in5045 when value is never5046 does not set expire_in5047 posts artifacts file and metadata file5048 when posts data accelerated by workhorse is correct5049 stores artifacts and artifacts metadata5050 with a malicious file.path param5051 rejects the request5052 when workhorse header is missing5053 rejects the request5054 when there is no artifacts file in post data5055 is expected to respond with bad request5056 does not store metadata5057 when artifact_type is archive5058 when artifact_format is zip5059 stores junit test report5060 when artifact_format is gzip5061 returns an error5062 when artifact_type is junit5063 when artifact_format is gzip5064 stores junit test report5065 when artifact_format is raw5066 returns an error5067 when artifact_type is metrics_referee5068 when artifact_format is gzip5069 stores metrics_referee data5070 when artifact_format is raw5071 returns an error5072 when artifact_type is network_referee5073 when artifact_format is gzip5074 stores network_referee data5075 when artifact_format is raw5076 returns an error5077 when artifact_type is dotenv5078 when artifact_format is gzip5079 stores dotenv file5080 parses dotenv file5081 when parse error happens5082 returns an error5083 when artifact_format is raw5084 returns an error5085 when artifacts already exist for the job5086 when sha256 is the same of the existing artifact5087 ignores the new artifact5088 when sha256 is different than the existing artifact5089 logs and returns an error5090 when object storage throws errors5091 does not store artifacts5092 when artifacts are being stored outside of tmp path5093 fails to post artifacts for outside of tmp path5094 GET /api/v4/jobs/:id/artifacts5095 doesn't update runner info5096 behaves like API::CI::Runner application context metadata5097 contains correct context metadata5098 when job has artifacts5099 when using job token5100 when artifacts are stored locally5101 download artifacts5102 when artifacts are stored remotely5103 when proxy download is being used5104 uses workhorse send-url5105 when direct download is being used5106 receive redirect for downloading artifacts5107 when using runnners token5108 responds with forbidden5109 when job does not have artifacts5110 responds with not found5111 when job does not exist anymore5112 responds with 403 Forbidden5113API::Ci::JobArtifacts5114 DELETE /projects/:id/jobs/:job_id/artifacts5115 when user is anonymous5116 does not delete artifacts5117 returns status 401 (unauthorized)5118 with developer5119 does not delete artifacts5120 returns status 403 (forbidden)5121 with authorized user5122 deletes artifacts5123 returns status 204 (no content)5124 DELETE /projects/:id/artifacts5125 when user is anonymous5126 does not execute Ci::JobArtifacts::DeleteProjectArtifactsService5127 returns status 401 (unauthorized)5128 with developer5129 does not execute Ci::JobArtifacts::DeleteProjectArtifactsService5130 returns status 403 (forbidden)5131 with authorized user5132 executes Ci::JobArtifacts::DeleteProjectArtifactsService5133 returns status 202 (accepted)5134 GET /projects/:id/jobs/:job_id/artifacts/:artifact_path5135 when job has artifacts5136 when user is anonymous5137 when project is public5138 allows to access artifacts5139 when project is public with artifacts that are non public5140 rejects access to artifacts5141 with the non_public_artifacts feature flag disabled5142 allows access to artifacts5143 when project is public with builds access disabled5144 rejects access to artifacts5145 when project is private5146 rejects access and hides existence of artifacts5147 when user is authorized5148 returns a specific artifact file for a valid path5149 when artifacts are locked5150 allows access to expired artifact5151 when job does not have artifacts5152 does not return job artifact file5153 GET /projects/:id/jobs/:job_id/artifacts5154 normal authentication5155 job with artifacts5156 does not return job artifacts if not uploaded5157 when artifacts are stored locally5158 authorized user5159 behaves like downloads artifact5160 returns specific job artifacts5161 when job token is used5162 behaves like downloads artifact5163 returns specific job artifacts5164 when job token scope is enabled5165 does not allow downloading artifacts5166 when project is added to the job token scope5167 behaves like downloads artifact5168 returns specific job artifacts5169 unauthorized user5170 does not return specific job artifacts5171 when artifacts are stored remotely5172 when proxy download is enabled5173 responds with the workhorse send-url5174 when proxy download is disabled5175 returns location redirect5176 authorized user5177Skipping ./spec/requests/api/ci/job_artifacts_spec.rb[1:4:1:1:2:3:1] 'API::Ci::JobArtifacts GET /projects/:id/jobs/:job_id/artifacts normal authentication job with artifacts when artifacts are stored remotely authorized user returns the file remote URL' because it's flaky.5178 returns the file remote URL (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)5179 unauthorized user5180 does not return specific job artifacts5181 when public project guest and artifacts are non public5182 rejects access and hides existence of artifacts5183 with the non_public_artifacts feature flag disabled5184 allows access to artifacts5185 GET /projects/:id/artifacts/:ref_name/download?job=name5186 when not logged in5187 does not find a resource in a private project5188 when logging as guest5189 gives 4035190 non-existing job5191 has no such ref5192 behaves like not found5193 is expected to respond with numeric status code not_found5194 has no such job5195 behaves like not found5196 is expected to respond with numeric status code not_found5197 find proper job5198 with regular branch5199 behaves like a valid file5200 when artifacts are stored locally5201 is expected to respond with numeric status code ok5202 is expected to include {"Content-Transfer-Encoding" => "binary", "Content-Disposition" => "attachment; filename=\"ci_build_artifacts.zip\"; filename*=UTF-8''ci_build_artifacts.zip"}5203 when artifacts are stored remotely5204 returns location redirect5205 with branch name containing slash5206 behaves like a valid file5207 when artifacts are stored locally5208 is expected to respond with numeric status code ok5209 is expected to include {"Content-Transfer-Encoding" => "binary", "Content-Disposition" => "attachment; filename=\"ci_build_artifacts.zip\"; filename*=UTF-8''ci_build_artifacts.zip"}5210 when artifacts are stored remotely5211 returns location redirect5212 with job name in a child pipeline5213 behaves like a valid file5214 when artifacts are stored locally5215 is expected to respond with numeric status code ok5216 is expected to include {"Content-Transfer-Encoding" => "binary", "Content-Disposition" => "attachment; filename=\"ci_build_artifacts.zip\"; filename*=UTF-8''ci_build_artifacts.zip"}5217 when artifacts are stored remotely5218 returns location redirect5219 GET id/jobs/artifacts/:ref_name/raw/*artifact_path?job=name5220 when job has artifacts5221 when user is anonymous5222 when project is public5223 allows to access artifacts5224 when project is public with builds access disabled5225 rejects access to artifacts5226 when project is public with non public artifacts5227 rejects access and hides existence of artifacts5228 with the non_public_artifacts feature flag disabled5229 allows access to artifacts5230 when project is private5231 rejects access and hides existence of artifacts5232 when user is authorized5233 returns a specific artifact file for a valid path5234 with branch name containing slash5235 returns a specific artifact file for a valid path5236 non-existing job5237 has no such ref5238 behaves like not found5239 is expected to respond with numeric status code not_found5240 has no such job5241 behaves like not found5242 is expected to respond with numeric status code not_found5243 when job does not have artifacts5244 does not return job artifact file5245 POST /projects/:id/jobs/:job_id/artifacts/keep5246 artifacts did not expire5247 keeps artifacts5248 no artifacts5249 responds with not found5250API::Internal::Base5251 GET /internal/check5252 is expected to equal true5253 returns false for field `redis` when redis is unavailable5254 authenticating5255 authenticates using a header5256 returns 401 when no credentials provided5257 GET /internal/two_factor_recovery_codes5258 behaves like actor key validations5259 key does not exist5260 returns an error message5261 key without user5262 returns an error message5263 key is a deploy key5264 returns an error message5265 when two-factor is enabled5266 returns new recovery codes when the user exists5267 when two-factor is not enabled5268 returns an error message5269 POST /internal/personal_access_token5270 returns an error message when given an non existent user5271 returns an error message when no name parameter is received5272 returns an error message when no scopes parameter is received5273 returns an error message when expires_at contains an invalid date5274 returns an error message when it receives an invalid scope5275 returns a token without expiry when the expires_at parameter is missing5276 returns a token with expiry when it receives a valid expires_at parameter5277 behaves like actor key validations5278 key does not exist5279 returns an error message5280 key without user5281 returns an error message5282 key is a deploy key5283 returns an error message5284 POST /internal/lfs_authenticate5285 user key5286 returns the correct information about the key5287 returns the correct information about the user5288 returns a 404 when no key or user is provided5289 returns a 404 when the wrong key is provided5290 returns a 404 when the wrong user is provided5291 returns a 404 when LFS is disabled on the project5292 other repository types5293 returns the correct information for a project wiki5294 returns a 404 when the container does not support LFS5295 deploy key5296 returns the correct information about the key5297 GET /internal/discover5298 finds a user by key id5299 finds a user by username5300 responds successfully when a user is not found5301 response successfully when passing invalid params5302 GET /internal/authorized_keys5303 returns 404 with a partial key5304 returns 404 with an not valid base64 string5305 using an existing key5306 finds the key5307 exposes the comment of the key as a simple identifier of username + hostname5308 POST /internal/allowed5309 access granted5310 git push with project.wiki5311 responds with success5312 behaves like sets hook env5313 with env passed as a JSON5314 sets env in RequestStore5315 git pull with project.wiki5316 responds with success5317 git push with personal snippet5318 responds with success5319 behaves like sets hook env5320 with env passed as a JSON5321 sets env in RequestStore5322 git pull with personal snippet5323 responds with success5324 git push with project snippet5325 responds with success5326 behaves like sets hook env5327 with env passed as a JSON5328 sets env in RequestStore5329 git pull with project snippet5330 responds with success5331 git pull5332 with a feature flag enabled globally5333 has the correct payload5334 behaves like rate limited request5335 is throttled by rate limiter5336 when rate_limit_gitlab_shell feature flag is disabled5337 is not throttled by rate limiter5338 when user_id is passed5339 behaves like rate limited request5340 is throttled by rate limiter5341 when rate_limit_gitlab_shell feature flag is disabled5342 is not throttled by rate limiter5343 with a feature flag enabled for a project5344 has the flag set to true for that project5345 has the flag set to false for other projects5346 with a sidechannels enabled for a project5347 has the use_sidechannel field set to true for that project5348 has the use_sidechannel field set to false for other projects5349 git push5350 project as namespace/project5351 is expected to be nil5352 behaves like rate limited request5353 is throttled by rate limiter5354 when rate_limit_gitlab_shell feature flag is disabled5355 is not throttled by rate limiter5356 when receive_max_input_size has been updated5357 returns maxInputSize and partial clone git config5358 when receive_max_input_size is empty5359 returns partial clone git config5360 with Project5361 behaves like storing arguments in the application context for the API5362 places the expected params in the application context5363 with PersonalSnippet5364 behaves like storing arguments in the application context for the API5365 places the expected params in the application context5366 with ProjectSnippet5367 behaves like storing arguments in the application context for the API5368 places the expected params in the application context5369 access denied5370 git pull5371 is expected to be nil5372 git push5373 is expected to be nil5374 with a pending membership5375 returns not found for git pull5376 returns not found for git push5377 custom action5378 git push5379 is expected to be nil5380 console message5381 git pull5382 with a key that has expired5383 includes the `key expired` message in the response5384 with a key that will expire in the next 7 days5385 includes the `key expiring soon` message in the response5386 with a key that has no expiry5387 does not include any message in the response5388 blocked user5389 git pull5390 is expected to be nil5391 git push5392 is expected to be nil5393 request times out5394 git push5395 responds with a gateway timeout5396 archived project5397 git pull5398 is expected to be truthy5399 git push5400 is expected to be falsey5401 deploy key5402 added to project5403 is expected to eq "secret"5404 behaves like rate limited request5405 is throttled by rate limiter5406 when rate_limit_gitlab_shell feature flag is disabled5407 is not throttled by rate limiter5408 not added to project5409 is expected to be falsey5410 project does not exist5411 git pull5412 returns a 200 response with status: false5413 returns a 200 response when using a project path that does not exist5414 git push5415 from a user/group namespace5416 creates the project5417 from the personal snippet path5418 does not create snippet5419 from a project path5420 from an non existent project path5421 does not create project5422 does not create snippet5423 from an existent project path5424 does not create snippet5425 user does not exist5426 is expected to be falsey5427 ssh access has been disabled5428 rejects the SSH push5429 rejects the SSH pull5430 http access has been disabled5431 rejects the HTTP push5432 rejects the HTTP pull5433 web actions are always allowed5434 allows WEB push5435 the project path was changed5436 rejects the push5437 rejects the SSH pull5438 for design repositories5439 does not allow access5440 admin mode5441 application setting :admin_mode is enabled5442 with an admin user5443 is member of the project5444 behaves like pushes succeed for ssh and http5445 accepts the SSH push5446 accepts the HTTP push5447 is not member of the project5448 behaves like pushes succeed for ssh and http5449 accepts the SSH push5450 accepts the HTTP push5451 with a regular user5452 is member of the project5453 behaves like pushes succeed for ssh and http5454 accepts the SSH push5455 accepts the HTTP push5456 is not member of the project5457 behaves like pushes fail for ssh and http5458 rejects the SSH push5459 rejects the HTTP push5460 application setting :admin_mode is disabled5461 with an admin user5462 is member of the project5463 behaves like pushes succeed for ssh and http5464 accepts the SSH push5465 accepts the HTTP push5466 is not member of the project5467 behaves like pushes succeed for ssh and http5468 accepts the SSH push5469 accepts the HTTP push5470 with a regular user5471 is member of the project5472 behaves like pushes succeed for ssh and http5473 accepts the SSH push5474 accepts the HTTP push5475 is not member of the project5476 behaves like pushes fail for ssh and http5477 rejects the SSH push5478 rejects the HTTP push5479 POST /internal/post_receive5480 with Project5481 behaves like runs post-receive hooks5482 executes PostReceiveService5483 tries to notify that the container has moved5484 behaves like storing arguments in the application context for the API5485 places the expected params in the application context5486 with PersonalSnippet5487 behaves like runs post-receive hooks5488 executes PostReceiveService5489 tries to notify that the container has moved5490 behaves like storing arguments in the application context for the API5491 places the expected params in the application context5492 with ProjectSnippet5493 behaves like runs post-receive hooks5494 executes PostReceiveService5495 tries to notify that the container has moved5496 behaves like storing arguments in the application context for the API5497 places the expected params in the application context5498 with ProjectWiki5499 behaves like runs post-receive hooks5500 executes PostReceiveService5501 tries to notify that the container has moved5502 behaves like storing arguments in the application context for the API5503 places the expected params in the application context5504 with an orphaned write deploy key5505 does not try to notify that project moved5506 when container is nil5507 does not try to notify that project moved5508 POST /internal/pre_receive5509 decreases the reference counter and returns the result5510 POST /internal/two_factor_config5511 behaves like actor key validations5512 key does not exist5513 returns an error message5514 key without user5515 returns an error message5516 when the key is a deploy key5517 does not required two factor5518 when two-factor is enabled5519 returns user two factor config5520 when two-factor is not enabled5521 returns an error message5522 two_factor_for_cli feature is disabled5523 when two-factor is enabled for the user5524 returns user two factor config5525 POST /internal/two_factor_otp_check5526 is not available5527API::Ci::Jobs5528 GET /job5529 when token is valid but not CI_JOB_TOKEN5530 returns not found5531 with job token authentication header5532 returns specific job data5533 behaves like returns common job data5534 returns common job data5535 behaves like returns common pipeline data5536 returns common pipeline data5537 with job token authentication params5538 returns specific job data5539 behaves like returns common job data5540 returns common job data5541 behaves like returns common pipeline data5542 returns common pipeline data5543 with non running job5544 behaves like returns unauthorized5545 returns unauthorized5546 with basic auth header5547 does not return a job5548 without authentication5549 behaves like returns unauthorized5550 returns unauthorized5551 GET /job/allowed_agents5552 when token is valid and user is authorized5553 behaves like valid allowed_agents request5554 returns agent info5555 when deployment5556 includes environment slug5557 when passing the token as params5558 behaves like valid allowed_agents request5559 returns agent info5560 when user is anonymous5561 returns unauthorized5562 when token is invalid because job has finished5563 returns unauthorized5564 when token is invalid5565 returns unauthorized5566 when token is valid but not CI_JOB_TOKEN5567 returns not found5568 GET /projects/:id/jobs5569 authorized user5570 returns project jobs5571 returns correct values5572 returns pipeline data5573 avoids N+1 queries5574 without artifacts and trace5575 returns no artifacts nor trace data5576 behaves like a job with artifacts and trace5577 with artifacts and trace5578 returns artifacts and trace data5579 filter project with one scope element5580 is expected to be a kind of Array5581 filter project with array of scope elements5582 is expected to be a kind of Array5583 respond 400 when scope contains invalid state5584 is expected to respond with numeric status code bad_request5585 unauthorized user5586 when user is not logged in5587 does not return project jobs5588 when user is guest5589 does not return project jobs5590 GET /projects/:id/jobs/:job_id5591 authorized user5592 returns specific job data5593 behaves like returns common job data5594 returns common job data5595 behaves like a job with artifacts and trace5596 with artifacts and trace5597 returns artifacts and trace data5598 behaves like returns common pipeline data5599 returns common pipeline data5600 unauthorized user5601 does not return specific job data5602 when job succeeded5603 does not return failure_reason5604 when job failed5605 returns failure_reason5606 when trace artifact record exists with no stored file5607 returns no artifacts nor trace data5608 GET /projects/:id/jobs/:job_id/trace5609 authorized user5610 when trace is in ObjectStorage5611 returns specific job trace5612 when trace is artifact5613 returns specific job trace5614 when live trace and uploadless trace artifact5615 returns specific job trace5616 when trace is live5617 returns specific job trace5618 when no trace5619 returns empty trace5620 when trace artifact record exists with no stored file5621 returns empty trace5622 unauthorized user5623 does not return specific job trace5624 when ci_debug_trace is set to true5625 public_builds: true, user_project_role: "developer", expected_status: :ok5626 renders trace to authorized users5627 public_builds: true, user_project_role: "guest", expected_status: :forbidden5628 renders trace to authorized users5629 public_builds: false, user_project_role: "developer", expected_status: :ok5630 renders trace to authorized users5631 public_builds: false, user_project_role: "guest", expected_status: :forbidden5632 renders trace to authorized users5633 POST /projects/:id/jobs/:job_id/cancel5634 authorized user5635 user with :update_build persmission5636 cancels running or pending job5637 user without :update_build permission5638 does not cancel job5639 unauthorized user5640 does not cancel job5641 POST /projects/:id/jobs/:job_id/retry5642 authorized user5643 user with :update_build permission5644 retries non-running job5645 when a build is not retryable5646 responds with unprocessable entity5647 user without :update_build permission5648 does not retry job5649 unauthorized user5650 does not retry job5651 POST /projects/:id/jobs/:job_id/erase5652 job is erasable5653 updates job5654 behaves like erases job5655 erases job content5656 when job has an unarchived trace artifact5657 behaves like erases job5658 erases job content5659 job is not erasable5660 responds with forbidden5661 when a developer erases a build5662 when the build was created by the developer5663 is expected to respond with numeric status code created5664 when the build was created by the other5665 is expected to respond with numeric status code forbidden5666 POST /projects/:id/jobs/:job_id/play5667 on a playable job5668 when user is authorized to trigger a manual action5669 that is a bridge5670 plays the job5671 that is a build5672 plays the job5673 when the user provides valid custom variables5674 applies the variables to the job5675 when the user provides a variable without a key5676 reports that the key is missing5677 when the user provides a variable without a value5678 reports that the value is missing5679 when the user provides both valid and invalid variables5680 reports the invalid variables and does not run the job5681 when user is not authorized to trigger a manual action5682 when user does not have access to the project5683 does not trigger a manual action5684 when user is not allowed to trigger the manual action5685 does not trigger a manual action5686 on a non-playable job5687 returns a status code 400, Bad Request5688UploadsController5689 POST #authorize5690 behaves like handle uploads authorize5691 POST #authorize5692 when a user is not authorized to upload a file5693 returns 404 status5694 when id is not passed as a param5695 returns 404 status5696 when a user can upload a file5697 and the request bypassed workhorse5698 raises an exception5699 and request is sent by gitlab-workhorse to authorize the request5700 when using local storage5701 behaves like a local file5702 behaves like a valid response5703 responds with status 2005704 uses the gitlab-workhorse content type5705 responds with status 200, location of uploads store and object details5706 when using remote storage5707 when direct upload is enabled5708 behaves like a valid response5709 responds with status 2005710 uses the gitlab-workhorse content type5711 responds with status 200, location of uploads remote store and object details5712 when direct upload is disabled5713 behaves like a local file5714 behaves like a valid response5715 responds with status 2005716 uses the gitlab-workhorse content type5717 responds with status 200, location of uploads store and object details5718 POST create5719 snippet uploads5720 when a user does not have permissions to upload a file5721 returns 401 when the user is not logged in5722 returns 404 when user can't comment on a snippet5723 when a user is logged in5724 returns an error without file5725 returns an error with invalid model5726 returns 404 status when object not found5727 with valid image5728 returns a content with original filename, new link, and correct type.5729 creates a corresponding Upload record5730 with valid non-image file5731 returns a content with original filename, new link, and correct type.5732 creates a corresponding Upload record5733 user uploads5734 returns 401 when the user has no access5735 when user is logged in5736 returns a content with original filename, new link, and correct type.5737 creates a corresponding Upload record5738 returns 404 when given user is not the logged in one5739 with valid non-image file5740 returns a content with original filename, new link, and correct type.5741 creates a corresponding Upload record5742 GET show5743 Content-Disposition security measures5744 for PNG files5745 behaves like uploaded file with disposition5746 returns correct Content-Disposition5747 for PDF files5748 behaves like uploaded file with disposition5749 returns correct Content-Disposition5750 for SVG files5751 behaves like uploaded file with disposition5752 returns correct Content-Disposition5753 when viewing a user avatar5754 when signed in5755 when the user is blocked5756 responds with status 4015757 when the user isn't blocked5758 responds with status 2005759 behaves like content publicly cached5760 ensures content is publicly cached5761 when not signed in5762 responds with status 2005763 behaves like content publicly cached5764 ensures content is publicly cached5765 when viewing a project avatar5766 when the project is public5767 when not signed in5768 responds with status 2005769 behaves like content 5 min private cached with revalidation5770 ensures content will not be cached without revalidation5771 when signed in5772 responds with status 2005773 behaves like content 5 min private cached with revalidation5774 ensures content will not be cached without revalidation5775 when the project is private5776 when not signed in5777 responds with status 4015778 when signed in5779 when the user has access to the project5780 when the user is blocked5781 responds with status 4015782 when the user isn't blocked5783 responds with status 2005784 behaves like content 5 min private cached with revalidation5785 ensures content will not be cached without revalidation5786 when the user doesn't have access to the project5787 responds with status 4045788 when viewing a group avatar5789 when the group is public5790 when not signed in5791 responds with status 2005792 behaves like content 5 min private cached with revalidation5793 ensures content will not be cached without revalidation5794 when signed in5795 responds with status 2005796 behaves like content 5 min private cached with revalidation5797 ensures content will not be cached without revalidation5798 when the group is private5799 when signed in5800 when the user has access to the project5801 when the user is blocked5802 responds with status 4015803 when the user isn't blocked5804 responds with status 2005805 behaves like content 5 min private cached with revalidation5806 ensures content will not be cached without revalidation5807 when the user doesn't have access to the project5808 responds with status 4045809 when viewing a note attachment5810 when the project is public5811 when not signed in5812 responds with status 2005813 behaves like content not cached5814 ensures content will not be cached without revalidation5815 when signed in5816 responds with status 2005817 behaves like content not cached5818 ensures content will not be cached without revalidation5819 when the project is private5820 when not signed in5821 responds with status 4015822 when signed in5823 when the user has access to the project5824 when the user is blocked5825 responds with status 4015826 when the user isn't blocked5827 responds with status 2005828 behaves like content not cached5829 ensures content will not be cached without revalidation5830 when the user doesn't have access to the project5831 responds with status 4045832 when viewing a topic avatar5833 when signed in5834 responds with status 2005835 behaves like content publicly cached5836 ensures content is publicly cached5837 when not signed in5838 responds with status 2005839 behaves like content publicly cached5840 ensures content is publicly cached5841 Appearance5842 when viewing a custom header logo5843 when not signed in5844 responds with status 2005845 behaves like content publicly cached5846 ensures content is publicly cached5847 when viewing a custom logo5848 when not signed in5849 responds with status 2005850 behaves like content publicly cached5851 ensures content is publicly cached5852 original filename or a version filename must match5853 has a valid filename on the original file5854 successfully returns the file5855 has an invalid filename on the original file5856 returns a 4045857 when viewing alert metric images5858 responds with status 2005859Projects::ReleasesController5860 GET #index5861 as html5862 returns a text/html content_type5863 behaves like common access controls5864 renders a 2005865 when the project is private5866 when user is a developer5867 renders a 200 for a logged in developer5868 when user is an external user5869 renders a 404 when logged in but not in the project5870 when the project is private and the user is not logged in5871 returns a redirect5872 as json5873 returns an application/json content_type5874 returns the project's releases as JSON, ordered by released_at5875 behaves like common access controls5876 renders a 2005877 when the project is private5878 when user is a developer5879 renders a 200 for a logged in developer5880 when user is an external user5881 renders a 404 when logged in but not in the project5882 when the project is private and the user is not logged in5883 returns a redirect5884 GET #new5885 is expected to be denied for reporter. Expected: 401,404 Got: 4045886 is expected to be allowed for developer. Expected: 200,201,204,302 Got: 2005887 GET #edit5888 behaves like successful request5889 renders a 2005890 when tag name contains slash5891 is accesible at a URL encoded path5892 behaves like successful request5893 renders a 2005894 when release does not exist5895 behaves like not found5896 renders 4045897 when user is a reporter5898 behaves like not found5899 renders 4045900 GET #show5901 behaves like successful request5902 renders a 2005903 when tag name contains slash5904 is accesible at a URL encoded path5905 behaves like successful request5906 renders a 2005907 when release does not exist5908 behaves like not found5909 renders 4045910 when user is a guest5911 behaves like successful request5912 renders a 2005913 when user is an external user for the project5914 behaves like not found5915 GET #latest_permalink5916 when user is a guest5917 proceeds with the redirect5918 when user is an external user for the project5919 behaves like not found5920 when there are no releases for the project5921 behaves like not found5922 multiple releases5923 redirects to the latest release5924 suffix path redirection5925 redirects to the latest release with suffix path and format5926 suffix path abuse5927 raises attack error5928 url parameters5929 carries over query parameters without order_by parameter in the redirect5930 order_by parameter5931 invalid parameter5932 behaves like redirects to latest release ordered by using released_at5933 is expected to redirect to "/namespace645/project715/-/releases/latest"5934 valid parameter5935 behaves like redirects to latest release ordered by using released_at5936 is expected to redirect to "/namespace646/project716/-/releases/latest"5937Projects::MilestonesController5938 behaves like milestone tabs5939 #issues5940 as html5941 redirects to milestone#show5942 as json5943 renders the issues tab template to a string5944 #merge_requests5945 as html5946 redirects to milestone#show5947 as json5948 renders the merge requests tab template to a string5949 #participants5950 as html5951 redirects to milestone#show5952 as json5953 renders the participants tab template to a string5954 #labels5955 as html5956 redirects to milestone#show5957 as json5958 renders the labels tab template to a string5959 #show5960 shows milestone page5961 returns milestone json5962 #index5963 as html5964 queries only projects milestones5965 searches milestones by title when search_title is given5966 renders paginated milestones without missing or duplicates5967 as json5968 with a single group ancestor5969 queries projects milestones and groups milestones5970 with nested groups5971 queries projects milestones and all ancestors milestones5972 #destroy5973 removes milestone5974 #promote5975 when user does not have permission to promote milestone5976 renders 4045977 #labels5978 as json5979 does not render labels of private issues if user has no access5980 does render labels of private issues if user has access5981 promotion succeeds5982 shows group milestone5983 renders milestone name without parsing it as HTML5984 when user cannot admin group milestones5985 renders 4045986 #participants5987 when guest user5988 when issue is not confidential5989 shows milestone participants5990 when issue is confidential5991 shows no milestone participants5992Projects::UploadsController5993 behaves like handle uploads5994 behaves like handle uploads authorize5995 POST #authorize5996 when a user is not authorized to upload a file5997 returns 404 status5998 when id is not passed as a param5999 returns 404 status6000 when a user can upload a file6001 and the request bypassed workhorse6002 raises an exception6003 and request is sent by gitlab-workhorse to authorize the request6004 when using local storage6005 behaves like a local file6006 behaves like a valid response6007 responds with status 2006008 uses the gitlab-workhorse content type6009 responds with status 200, location of uploads store and object details6010 when using remote storage6011 when direct upload is enabled6012 behaves like a valid response6013 responds with status 2006014 uses the gitlab-workhorse content type6015 responds with status 200, location of uploads remote store and object details6016 when direct upload is disabled6017 behaves like a local file6018 behaves like a valid response6019 responds with status 2006020 uses the gitlab-workhorse content type6021 responds with status 200, location of uploads store and object details6022 POST #create6023 when a user is not authorized to upload a file6024 returns 404 status6025 when a user can upload a file6026 without params['file']6027 returns an error6028 with valid image6029 returns a content with original filename, new link, and correct type.6030 creates a corresponding Upload record6031 with valid non-image file6032 returns a content with original filename, new link, and correct type.6033 GET #show6034 when the secret is invalid6035 responds with status 4046036 is a working exploit without the validation6037 when accessing a specific upload via different model6038 responds with status 4046039 when the upload does not have a MIME type that Rails knows6040 falls back to the null type6041 when the model is public6042 when not signed in6043 when the file exists6044 responds with status 2006045 when neither the uploader nor the model exists6046 responds with status 4046047 when the file doesn't exist6048 responds with status 4046049 when signed in6050 when the file exists6051 responds with status 2006052 when the file doesn't exist6053 responds with status 4046054 when the model is private6055 when not signed in6056 when the file exists6057 when the file is an image6058 enforce_auth_checks_on_uploads feature flag6059 with flag enabled6060 responds with appropriate status6061 with flag disabled6062 responds with status 2006063 when the file is not an image6064 redirects to the sign in page6065 when the file doesn't exist6066 redirects to the sign in page6067 when signed in6068 when the user has access to the project6069 when the file exists6070 responds with status 2006071 when the file doesn't exist6072 responds with status 4046073 when the user doesn't have access to the model6074 when the file exists6075 when the file is an image6076 enforce_auth_checks_on_uploads feature flag6077 with flag enabled6078 responds with status 4046079 with flag disabled6080 responds with status 2006081 when the file is not an image6082 responds with status 4046083 when the file doesn't exist6084 responds with status 4046085 when the URL the old style, without /-/system6086 responds with a redirect to the login page6087 with a moved project6088 redirects to a file with the proper extension6089 when exception occurs6090 responds with status internal_server_error6091OmniauthCallbacksController6092 omniauth6093 a deactivated user6094 allows sign in6095 activates the user6096 shows reactivation flash message after logging in6097 when sign in is not valid6098 renders omniauth error page6099 when the user is on the last sign in attempt6100 when using a form based provider6101 locks the user when sign in fails6102 when using a button based provider6103 does not lock the user when sign in fails6104 when sign in fails6105 calls through to the failure handler6106 when a redirect fragment is provided6107 when a redirect url is stored6108 redirects with fragment6109 when a redirect url with a fragment is stored6110 redirects with the new fragment6111 when no redirect url is stored6112 does not redirect with the fragment6113 strategies6114 github6115 allows sign in6116 creates an authentication event record6117 behaves like known sign in6118 when the remote IP and the last sign in IP match6119 does not notify the user6120 sets/updates the encrypted cookie6121 when the remote IP and the last sign in IP do not match6122 notifies the user when the cookie is expired6123 notifies the user when the cookie is for another user6124 does not notify the user when remote IP matches an active session6125 does not notify the user when the cookie is present and not expired6126 when the cookie is not previously set6127 notifies the user6128 sets the encrypted cookie6129 when notify_on_unknown_sign_in global setting is false6130 does not notify the user6131 does not set a cookie6132 when user has no linked provider6133 links identity6134 and is not allowed to link the provider6135 returns 4036136 when user with 2FA is unconfirmed6137 redirects to login page6138 sign up6139 is allowed6140 when OAuth is disabled6141 prevents login via POST6142 shows warning when attempting login6143 allows linking the disabled provider6144 sign up6145 is prevented6146 auth06147 does not allow sign in without extern_uid6148 atlassian_oauth26149 when the user and identity already exist6150 allows sign-in6151 sets the username and caller_id in the context6152 for a new user6153 denies sign-in if sign-up is enabled, but block_auto_created_users is set6154 accepts sign-in if sign-up is enabled6155 denies sign-in if sign-up is not enabled6156 salesforce6157 without verified email6158 does not allow sign in6159 with verified email6160 allows sign in6161 #saml6162 behaves like known sign in6163 when the remote IP and the last sign in IP match6164 does not notify the user6165 sets/updates the encrypted cookie6166 when the remote IP and the last sign in IP do not match6167 notifies the user when the cookie is expired6168 notifies the user when the cookie is for another user6169 does not notify the user when remote IP matches an active session6170 does not notify the user when the cookie is present and not expired6171 when the cookie is not previously set6172 notifies the user6173 sets the encrypted cookie6174 when notify_on_unknown_sign_in global setting is false6175 does not notify the user6176 does not set a cookie6177 sign up6178 denies login if sign up is enabled, but block_auto_created_users is set6179 accepts login if sign up is enabled6180 denies login if sign up is not enabled6181 with GitLab initiated request6182 when worth two factors6183 expects user to be signed_in6184 when not worth two factors6185 expects user to provide second factor6186 with IdP initiated request6187 lets the user know their account isn't linked yet6188 redirects to profile account page6189 doesn't link a new identity to the user6190 sets the username and caller_id in the context6191 with a blocked user trying to log in when there are hooks set up6192 is expected not to raise Exception6193 enable admin mode6194 user and admin mode requested by the same user6195 with a regular user6196 cannot be enabled6197 with an admin user6198 when requested first6199 can be enabled6200 when not requested first6201 cannot be enabled6202 user and admin mode requested by different users6203 with a regular user6204 cannot be enabled6205 with an admin user6206 when requested first6207 cannot be enabled6208 when not requested first6209 cannot be enabled6210API::ProtectedBranches6211 GET /projects/:id/protected_branches6212 when authenticated as a maintainer6213 when search param is not present6214 behaves like protected branches6215 returns the protected branches6216 when search param is present6217 behaves like protected branches6218 returns the protected branches6219 when authenticated as a guest6220 behaves like 403 response6221 returns 4036222 GET /projects/:id/protected_branches/:branch6223 when authenticated as a maintainer6224 behaves like protected branch6225 returns the protected branch6226 when protected branch does not exist6227 behaves like 404 response6228 returns 4046229 when protected branch contains a wildcard6230 behaves like protected branch6231 returns the protected branch6232 when protected branch does not exist6233 behaves like 404 response6234 returns 4046235 when protected branch contains a period6236 behaves like protected branch6237 returns the protected branch6238 when protected branch does not exist6239 behaves like 404 response6240 returns 4046241 when authenticated as a guest6242 behaves like 403 response6243 returns 4036244 POST /projects/:id/protected_branches6245 when authenticated as a maintainer6246 protects a single branch6247 protects a single branch and developers can push6248 protects a single branch and developers can merge6249 protects a single branch and developers can push and merge6250 protects a single branch and no one can push6251 protects a single branch and no one can merge6252 protects a single branch and no one can push or merge6253 protects a single branch and allows force pushes6254 returns a 409 error if the same branch is protected twice6255 when branch has a wildcard in its name6256 protects multiple branches with a wildcard in the name6257 when a policy restricts rule deletion6258 prevents deletion of the protected branch rule6259 when authenticated as a guest6260 returns a 403 error if guest6261 DELETE /projects/:id/protected_branches/unprotect/:branch6262 unprotects a single branch6263 returns 404 if branch does not exist6264 behaves like 412 response6265 for a modified ressource6266 returns 412 with a JSON error6267 for an unmodified ressource6268 returns 204 with an empty body6269 when a policy restricts rule deletion6270 prevents deletion of the protected branch rule6271 when branch has a wildcard in its name6272 unprotects a wildcard branch6273API::Todos6274 GET /todos6275 avoids N+1 queries6276 when unauthenticated6277 returns authentication error6278 when authenticated6279 returns an array of pending todos for current user6280 when invalid params6281 invalid action6282 returns 4006283 invalid state6284 returns 4006285 invalid type6286 returns 4006287 when current user does not have access to one of the TODO's target6288 filters out unauthorized todos6289 and using the author filter6290 filters based on author_id param6291 and using the type filter6292 filters based on type param6293 and using the state filter6294 filters based on state param6295 and using the project filter6296 filters based on project_id param6297 and using the group filter6298 filters based on project_id param6299 and using the action filter6300 filters based on action param6301 when there is a Design Todo6302 is expected to respond with numeric status code ok6303 avoids N+1 queries6304 includes the Design Todo in the response6305 POST /todos/:id/mark_as_done6306 when unauthenticated6307 returns authentication error6308 when authenticated6309 marks a todo as done6310 updates todos cache6311 returns 404 if the todo does not belong to the current user6312 POST /mark_as_done6313 when unauthenticated6314 returns authentication error6315 when authenticated6316 marks all todos as done6317 updates todos cache6318 POST :id/issuable_type/:issuable_id/todo6319 for an issue6320 returns an error if the issue author does not have access6321 behaves like an issuable6322 creates a todo on an issuable6323 returns 304 there already exist a todo on that issuable6324 returns 404 if the issuable is not found6325 returns an error if the issuable is not accessible6326 for a merge request6327 returns an error if the merge request author does not have access6328 behaves like an issuable6329 creates a todo on an issuable6330 returns 304 there already exist a todo on that issuable6331 returns 404 if the issuable is not found6332 returns an error if the issuable is not accessible6333Projects::StarrersController6334 GET index6335 N+1 queries6336 avoids N+1s loading users6337 when project is public6338 when no user is logged in6339 with no searching6340 only users with public profiles are visible6341 starrers counts are correct6342 when searching by user6343 only users with public profiles are visible6344 starrers counts are correct6345 when public user is logged in6346 with no searching6347 their star is also visible6348 starrers counts are correct6349 when searching by user6350 only users with public profiles are visible6351 starrers counts are correct6352 when private user is logged in6353 with no searching6354 their star is also visible6355 starrers counts are correct6356 when searching by user6357 only users with public profiles are visible6358 starrers counts are correct6359 when admin is logged in6360 with no searching6361 all users are visible6362 starrers counts are correct6363 when searching by user6364 public and private starrers are visible6365 starrers counts are correct6366 when project is private6367 starrers are not visible for non logged in users6368 when user is logged in6369 only users with public profiles are visible6370 starrers counts are correct6371Projects::TemplatesController6372 #index6373 when querying for issue templates6374 behaves like templates request6375 returns the templates6376 fails for user with no access6377 when querying for merge_request templates6378 behaves like templates request6379 returns the templates6380 fails for user with no access6381 #show6382 when the user is not a member of the project6383 is expected to respond with numeric status code not_found6384 is expected to respond with numeric status code not_found6385 when user is a member of the project6386 is expected to match {"key"=>"issue_template_2", "name"=>"issue_template_2", "content"=>"issue content 2"}6387 is expected to match {"key"=>"merge_request_template_2", "name"=>"merge_request_template_2", "content"=>"merge request content 2"}6388 when params are invalid6389 does not route when the template type is invalid6390 renders 404 when the format type is invalid6391 renders 404 when the key is unknown6392 when user is a guest of the project6393 is expected to match {"key"=>"issue_template_2", "name"=>"issue_template_2", "content"=>"issue content 2"}6394 is expected to respond with numeric status code not_found6395 #names6396 when querying for issue templates6397 behaves like template names request6398 returns the template names6399 fails for user with no access6400 when querying for merge_request templates6401 behaves like template names request6402 returns the template names6403 fails for user with no access6404Groups::UploadsController6405 behaves like handle uploads6406 behaves like handle uploads authorize6407 POST #authorize6408 when a user is not authorized to upload a file6409 returns 404 status6410 when id is not passed as a param6411 returns 404 status6412 when a user can upload a file6413 and the request bypassed workhorse6414 raises an exception6415 and request is sent by gitlab-workhorse to authorize the request6416 when using local storage6417 behaves like a local file6418 behaves like a valid response6419 responds with status 2006420 uses the gitlab-workhorse content type6421 responds with status 200, location of uploads store and object details6422 when using remote storage6423 when direct upload is enabled6424 behaves like a valid response6425 responds with status 2006426 uses the gitlab-workhorse content type6427 responds with status 200, location of uploads remote store and object details6428 when direct upload is disabled6429 behaves like a local file6430 behaves like a valid response6431 responds with status 2006432 uses the gitlab-workhorse content type6433 responds with status 200, location of uploads store and object details6434 POST #create6435 when a user is not authorized to upload a file6436 returns 404 status6437 when a user can upload a file6438 without params['file']6439 returns an error6440 with valid image6441 returns a content with original filename, new link, and correct type.6442 creates a corresponding Upload record6443 with valid non-image file6444 returns a content with original filename, new link, and correct type.6445 GET #show6446 when the secret is invalid6447 responds with status 4046448 is a working exploit without the validation6449 when accessing a specific upload via different model6450 responds with status 4046451 when the upload does not have a MIME type that Rails knows6452 falls back to the null type6453 when the model is public6454 when not signed in6455 when the file exists6456 responds with status 2006457 when neither the uploader nor the model exists6458 responds with status 4046459 when the file doesn't exist6460 responds with status 4046461 when signed in6462 when the file exists6463 responds with status 2006464 when the file doesn't exist6465 responds with status 4046466 when the model is private6467 when not signed in6468 when the file exists6469 when the file is an image6470 enforce_auth_checks_on_uploads feature flag6471 with flag enabled6472 responds with appropriate status6473 with flag disabled6474 responds with status 2006475 when the file is not an image6476 redirects to the sign in page6477 when the file doesn't exist6478 redirects to the sign in page6479 when signed in6480 when the user has access to the project6481 when the file exists6482 responds with status 2006483 when the file doesn't exist6484 responds with status 4046485 when the user doesn't have access to the model6486 when the file exists6487 when the file is an image6488 enforce_auth_checks_on_uploads feature flag6489 with flag enabled6490 responds with status 4046491 with flag disabled6492 responds with status 2006493 when the file is not an image6494 responds with status 4046495 when the file doesn't exist6496 responds with status 4046497 with a moved group6498 redirects to a file with the proper extension6499API::CommitStatuses6500 GET /projects/:id/repository/commits/:sha/statuses6501 ci commit exists6502 reporter user6503 latest commit statuses6504 returns latest commit statuses6505 all commit statuses6506 returns all commit statuses6507 latest commit statuses for specific ref6508 returns latest commit statuses for specific ref6509 latest commit statues for specific name6510 return latest commit statuses for specific name6511 ci commit does not exist6512 returns empty array6513 guest user6514 does not return project commits6515 unauthorized user6516 does not return project commits6517 POST /projects/:id/statuses/:sha6518 developer user6519 uses only required parameters6520 for pending6521 when pipeline for sha does not exists6522 creates commit status and sets pipeline iid6523 for running6524 when pipeline for sha does not exists6525 creates commit status and sets pipeline iid6526 for success6527 when pipeline for sha does not exists6528 creates commit status and sets pipeline iid6529 for failed6530 when pipeline for sha does not exists6531 creates commit status and sets pipeline iid6532 for canceled6533 when pipeline for sha does not exists6534 creates commit status and sets pipeline iid6535 when pipeline already exists for the specified sha6536 behaves like creates a commit status for the existing pipeline6537 is expected to eq 10000006538 with pipeline for merge request6539 behaves like creates a commit status for the existing pipeline6540 is expected to eq 10000006541 transitions status from pending6542 to running6543 to success6544 to failed6545 to canceled6546 with all optional parameters6547 when creating a commit status6548 creates commit status6549 when merge request exists for given branch6550 sets head pipeline6551 when updating a commit status6552 updates a commit status6553 does not create a new commit status6554 when the `state` parameter is sent the same6555 does not update the commit status6556 when a pipeline id is specified6557 update the correct pipeline6558 when retrying a commit status6559 correctly posts a new commit status6560 retries the commit status6561 when status is invalid6562 does not create commit status6563 when request without a state made6564 does not create commit status6565 when updating a protected ref6566 with user as developer6567 does not create commit status6568 with user as maintainer6569 creates commit status6570 when commit SHA is invalid6571 returns not found error6572 when target URL is an invalid address6573 responds with bad request status and validation errors6574 when target URL is an unsupported scheme6575 responds with bad request status and validation errors6576 when trying to update a status of a different type6577 responds with bad request status and validation errors6578 reporter user6579 does not create commit status6580 guest user6581 does not create commit status6582 unauthorized user6583 does not create commit status6584Projects::ServicesController6585 behaves like Integrations::Actions6586 GET #edit6587 assigns the integration6588 PUT #update6589 updates the integration with the provided params and redirects to the form6590 when sending a password field6591 updates the integration with the password and other params6592 when sending a blank password field6593 ignores the password field and saves the other params6594 #test6595 when the integration is not testable6596 renders 4046597 when validations fail6598 returns error messages in JSON response6599 when successful6600 returns success6601 with empty project6602 returns success6603 with chat notification integration6604 returns success6605 when service is configured for the first time6606 persist the object6607 creates the ServiceHook object6608 when unsuccessful6609 returns an error response when the integration test fails6610 with the Slack integration6611 returns an error response when the URL is blocked6612 returns an error response when a network exception is raised6613 PUT #update6614 as HTML6615 when param `active` is set to true6616 when redirect_to param is present6617 behaves like integration update6618 redirects to the correct url with a flash message6619 when redirect_to is an external domain6620 behaves like integration update6621 redirects to the correct url with a flash message6622 when redirect_to param is an empty string6623 behaves like integration update6624 redirects to the correct url with a flash message6625 when param `active` is set to false6626 behaves like integration update6627 redirects to the correct url with a flash message6628 when param `inherit_from_id` is set to empty string6629 sets inherit_from_id to nil6630 when param `inherit_from_id` is set to an instance integration6631 ignores submitted params and inherits instance settings6632 when param `inherit_from_id` is set to a group integration6633 ignores submitted params and inherits group settings6634 when param `inherit_from_id` is set to an unrelated group6635 ignores the param and saves the submitted settings6636 as JSON6637 when update succeeds6638 returns success response6639 when update fails with missing password6640 returns JSON response errors6641 when update fails with invalid URL6642 returns JSON response with errors6643 with Prometheus integration6644 when feature flag :settings_operations_prometheus_service is enabled6645 redirects user back to edit page with alert6646 does not modify integration6647 when feature flag :settings_operations_prometheus_service is disabled6648 modifies integration6649 GET #edit6650 with Jira service6651 with approved services6652 renders edit page6653 with Prometheus service6654 when feature flag :settings_operations_prometheus_service is enabled6655 renders deprecation warning notice6656 when feature flag :settings_operations_prometheus_service is disabled6657 does not render deprecation warning notice6658API::ResourceLabelEvents6659 when eventable is an Issue6660 behaves like resource_label_events API6661 GET /projects/:id/issues/:noteable_id/resource_label_events6662 with local label reference6663 returns an array of resource label events6664 returns a 404 error when eventable id not found6665 returns 404 when not authorized6666 with cross-project label reference6667 returns cross references accessible by user6668 does not return cross references not accessible by user6669 GET /projects/:id/issues/:noteable_id/resource_label_events/:event_id6670 with local label reference6671 returns a resource label event by id6672 returns 404 when not authorized6673 returns a 404 error if resource label event not found6674 with cross-project label reference6675 returns a 404 error if cross-reference project is not accessible6676 pagination6677 returns the second page6678 when eventable is a Merge Request6679 behaves like resource_label_events API6680 GET /projects/:id/merge_requests/:noteable_id/resource_label_events6681 with local label reference6682 returns an array of resource label events6683 returns a 404 error when eventable id not found6684 returns 404 when not authorized6685 with cross-project label reference6686 returns cross references accessible by user6687 does not return cross references not accessible by user6688 GET /projects/:id/merge_requests/:noteable_id/resource_label_events/:event_id6689 with local label reference6690 returns a resource label event by id6691 returns 404 when not authorized6692 returns a 404 error if resource label event not found6693 with cross-project label reference6694 returns a 404 error if cross-reference project is not accessible6695 pagination6696 returns the second page6697API::Unleash6698 GET /feature_flags/unleash/:project_id/features6699 behaves like authenticated request6700 when using instance id6701 responds with OK6702 when repository is disabled6703 responds with forbidden6704 when repository is private6705 responds with OK6706 when using header6707 responds with OK6708 when using bogus instance id6709 responds with unauthorized6710 when using not existing project6711 responds with unauthorized6712 with version 2 feature flags6713 does not return a flag without any strategies6714 returns a flag with a default strategy6715 returns a flag with a userWithId strategy6716 returns a flag with multiple strategies6717 returns only flags matching the environment scope6718 returns only strategies matching the environment scope6719 returns only flags for the given project6720 returns all strategies with a matching scope6721 returns a strategy with more than one matching scope6722 returns a disabled flag with a matching scope6723 returns a userWithId strategy for a gitlabUserList strategy6724 GET /feature_flags/unleash/:project_id/client/features6725 behaves like authenticated request6726 when using instance id6727 responds with OK6728 when repository is disabled6729 responds with forbidden6730 when repository is private6731 responds with OK6732 when using header6733 responds with OK6734 when using bogus instance id6735 responds with unauthorized6736 when using not existing project6737 responds with unauthorized6738 with version 2 feature flags6739 does not return a flag without any strategies6740 returns a flag with a default strategy6741 returns a flag with a userWithId strategy6742 returns a flag with multiple strategies6743 returns only flags matching the environment scope6744 returns only strategies matching the environment scope6745 returns only flags for the given project6746 returns all strategies with a matching scope6747 returns a strategy with more than one matching scope6748 returns a disabled flag with a matching scope6749 returns a userWithId strategy for a gitlabUserList strategy6750 POST /feature_flags/unleash/:project_id/client/register6751 behaves like authenticated request6752 when using instance id6753 responds with OK6754 when repository is disabled6755 responds with forbidden6756 when repository is private6757 responds with OK6758 when using header6759 responds with OK6760 when using bogus instance id6761 responds with unauthorized6762 when using not existing project6763 responds with unauthorized6764 POST /feature_flags/unleash/:project_id/client/metrics6765 behaves like authenticated request6766 when using instance id6767 responds with OK6768 when repository is disabled6769 responds with forbidden6770 when repository is private6771 responds with OK6772 when using header6773 responds with OK6774 when using bogus instance id6775 responds with unauthorized6776 when using not existing project6777 responds with unauthorized6778Projects::BoardsController6779 GET index6780 creates a new project board when project does not have one6781 sets boards_endpoint instance variable to a boards path6782 when format is HTML6783 renders template6784 with unauthorized user6785 returns a not found 404 response6786 when user is signed out6787 renders template6788 when format is JSON6789 returns a list of project boards6790 with unauthorized user6791 returns a not found 404 response6792 issues are disabled6793 returns a not found 404 response6794 behaves like unauthorized when external service denies access6795 allows access when the authorization service allows it6796 allows access when the authorization service denies it6797 GET show6798 sets boards_endpoint instance variable to a boards path6799 when format is HTML6800 renders template6801 with unauthorized user6802 returns a not found 404 response6803 when user is signed out6804 does not save visit6805 when format is JSON6806 returns project board6807 with unauthorized user6808 returns a not found 404 response6809 when board does not belong to project6810 returns a not found 404 response6811API::MergeRequestDiffs MergeRequestDiffs6812 GET /projects/:id/merge_requests/:merge_request_iid/versions6813 returns 200 for a valid merge request6814 returns a 404 when merge_request id is used instead of the iid6815 returns a 404 when merge_request_iid not found6816 when merge request author has only guest access6817 behaves like rejects user from accessing merge request info6818 returns a 403 error6819 GET /projects/:id/merge_requests/:merge_request_iid/versions/:version_id6820 returns a 200 for a valid merge request6821 returns a 404 when merge_request id is used instead of the iid6822 returns a 404 when merge_request version_id is not found6823 returns a 404 when merge_request_iid is not found6824 when merge request author has only guest access6825 behaves like rejects user from accessing merge request info6826 returns a 403 error6827 caching merge request diffs6828 is performed6829package details6830 with unauthorized user6831 returns no packages6832 with authorized user6833 behaves like a working graphql query6834DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6835DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6836 returns a successful response6837DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6838DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6839 matches the JSON schema6840 there are other versions of this package6841 includes the sibling versions6842 going deeper6843 does not create a cycle of versions6844 with package files pending destruction6845DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6846DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6847 does not return them6848 with a batched query6849 returns an error for the second package and data for the first6850 pipelines field6851 loads the second page with pagination first correctly6852 loads the second page with pagination last correctly6853 package managers paths6854DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6855DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6856 returns npm_url correctly6857DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6858DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6859 returns maven_url correctly6860DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6861DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6862 returns conan_url correctly6863DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6864DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6865 returns nuget_url correctly6866DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6867DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6868 returns pypi_url correctly6869DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6870DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6871 returns pypi_setup_url correctly6872DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6873DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6874 returns composer_url correctly6875DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6876DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6877 returns composer_config_repository_url correctly6878Getting Metrics Dashboard6879 with metrics_dashboard_exhaustive_validations feature flag off6880 for anonymous user6881 requested dashboard is available6882 returns nil6883 behaves like a working graphql query6884 returns a successful response6885 for user with developer access6886 requested dashboard is available6887 returns metrics dashboard6888 behaves like a working graphql query6889 returns a successful response6890 invalid dashboard6891DEPRECATION WARNING: Enumerating ActiveModel::Errors as a hash has been deprecated.6892In Rails 6.1, `errors` is an array of Error objects,6893therefore it should be accessed by a block with a single block6894parameter like this:6895person.errors.each do |error|6896 attribute = error.attribute6897 message = error.message6898end6899You are passing a block expecting two parameters,6900so the old hash behavior is simulated. As this is deprecated,6901this will result in an ArgumentError in Rails 6.2.6902 (called from map at /builds/gitlab-org/gitlab/app/models/performance_monitoring/prometheus_dashboard.rb:63)6903 returns metrics dashboard6904 empty dashboard6905DEPRECATION WARNING: Enumerating ActiveModel::Errors as a hash has been deprecated.6906In Rails 6.1, `errors` is an array of Error objects,6907therefore it should be accessed by a block with a single block6908parameter like this:6909person.errors.each do |error|6910 attribute = error.attribute6911 message = error.message6912end6913You are passing a block expecting two parameters,6914so the old hash behavior is simulated. As this is deprecated,6915this will result in an ArgumentError in Rails 6.2.6916 (called from map at /builds/gitlab-org/gitlab/app/models/performance_monitoring/prometheus_dashboard.rb:63)6917 returns metrics dashboard6918 requested dashboard can not be found6919 returns nil6920 behaves like a working graphql query6921 returns a successful response6922 with metrics_dashboard_exhaustive_validations feature flag on6923 for anonymous user6924 requested dashboard is available6925 returns nil6926 behaves like a working graphql query6927 returns a successful response6928 for user with developer access6929 requested dashboard is available6930 returns metrics dashboard6931 behaves like a working graphql query6932 returns a successful response6933 invalid dashboard6934 returns metrics dashboard6935 empty dashboard6936 returns metrics dashboard6937 requested dashboard can not be found6938 returns nil6939 behaves like a working graphql query6940 returns a successful response6941deleting designs6942 the designs list is empty6943 behaves like a failed request6944 reports an error6945 the designs list contains filenames we cannot find6946 behaves like a failed request6947 reports an error6948 the current user does not have developer access6949 behaves like a failed request6950 reports an error6951 when the issue does not exist6952 behaves like a failed request6953 reports an error6954 when saving the designs raises an error6955 responds with errors6956 one of the designs is already deleted6957 reports an error6958 when the user names designs to delete6959 deletes the designs6960 has no errors6961nuget package details6962DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6963DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6964 has the correct metadata6965DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6966DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6967 has dependency links6968DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6969DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6970 avoids N+1 queries6971 behaves like a package detail6972 behaves like a working graphql query6973DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6974DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6975 returns a successful response6976 behaves like matching the package details schema6977DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6978DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6979 matches the JSON schema6980 with pipelines6981 behaves like a working graphql query6982DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6983DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6984 returns a successful response6985 behaves like matching the package details schema6986DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6987DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6988 matches the JSON schema6989 behaves like a package with files6990DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6991DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6992 has the right amount of files6993DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6994DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6995 has the basic package files data6996 with package files pending destruction6997DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6998DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6999 does not return them7000API::ProjectRepositoryStorageMoves7001 behaves like repository_storage_moves API7002 GET /projects/:id/repository_storage_moves7003 behaves like get container repository storage move list7004 returns container repository storage moves7005 avoids N+1 queries7006 returns the most recently created first7007 permissions7008 is expected to be allowed for :admin7009 is expected to be denied for :user7010 non-existent container7011 returns not found7012 GET /projects/:id/repository_storage_moves/:repository_storage_move_id7013 behaves like get single container repository storage move7014 returns a container repository storage move7015 non-existent container repository storage move7016 returns not found7017 permissions7018 is expected to be allowed for :admin7019 is expected to be denied for :user7020 non-existent container7021 returns not found7022 GET /project_repository_storage_moves7023 behaves like get container repository storage move list7024 returns container repository storage moves7025 avoids N+1 queries7026 returns the most recently created first7027 permissions7028 is expected to be allowed for :admin7029 is expected to be denied for :user7030 GET /project_repository_storage_moves/:repository_storage_move_id7031 behaves like get single container repository storage move7032 returns a container repository storage move7033 non-existent container repository storage move7034 returns not found7035 permissions7036 is expected to be allowed for :admin7037 is expected to be denied for :user7038 POST /projects/:id/repository_storage_moves7039 schedules a container repository storage move7040 permissions7041 is expected to be allowed for :admin7042 is expected to be denied for :user7043 destination_storage_name is missing7044 schedules a container repository storage move7045 when container does not exist7046 returns not found7047 POST /project_repository_storage_moves7048 schedules the worker7049 source_storage_name is invalid7050 gives an error7051 destination_storage_name is missing7052 schedules the worker7053 destination_storage_name is invalid7054 gives an error7055 normal user7056 is expected to be denied for :user7057Projects::IssueLinksController7058 GET /*namespace_id/:project_id/issues/:issue_id/links7059 returns JSON response7060 POST /*namespace_id/:project_id/issues/:issue_id/links7061 with success7062 returns success JSON7063 with failure7064 when unauthorized7065 returns 4037066 when failing service result7067 returns failure JSON7068 DELETE /*namespace_id/:project_id/issues/:issue_id/link/:id7069 when unauthorized7070 when no authorization on current project7071 returns 4037072 when no authorization on the related issue project7073 returns 4047074 when authorized7075 returns success JSON7076 when non of issues of the link is not the issue requested in the path7077 returns 4047078 does not delete the link7079Projects::GraphsController7080 GET languages7081 redirects_to action charts7082 GET commits7083 redirects_to action charts7084 charts7085 with an anonymous user7086 renders charts with 200 status code7087 when anonymous users can read build report results7088 sets the daily coverage options7089 when anonymous users cannot read build report results7090 does not set daily coverage options7091 behaves like tracking unique visits7092 tracks unique visit if the format is HTML7093 tracks unique visit if DNT is not enabled7094 does not track unique visit if DNT is enabled7095 does not track unique visit if the format is JSON7096 when languages were previously detected7097 sets the languages properly7098API::ResourceStateEvents7099 when eventable is an Issue7100 behaves like resource_state_events API7101 GET /projects/:id/issues/:noteable_id/resource_state_events7102 returns an array of resource state events7103 returns a 404 error when eventable id not found7104 returns 404 when not authorized7105 GET /projects/:id/issues/:noteable_id/resource_state_events/:event_id7106 returns a resource state event by id7107 returns 404 when not authorized7108 returns a 404 error if resource state event not found7109 pagination7110 returns the second page7111 when eventable is a Merge Request7112 behaves like resource_state_events API7113 GET /projects/:id/merge_requests/:noteable_id/resource_state_events7114 returns an array of resource state events7115 returns a 404 error when eventable id not found7116 returns 404 when not authorized7117 GET /projects/:id/merge_requests/:noteable_id/resource_state_events/:event_id7118 returns a resource state event by id7119 returns 404 when not authorized7120 returns a 404 error if resource state event not found7121 pagination7122 returns the second page7123Emails::Issues7124 adds email methods to Notify7125 #import_issues_csv_email7126 shows number of successful issues imported7127 shows error when file is invalid7128 shows line numbers with errors7129 with header and footer7130 behaves like appearance header and footer enabled7131 contains header and footer7132 behaves like appearance header and footer not enabled7133 does not contain header and footer7134 #issues_csv_email7135 attachment has csv mime type7136 generates a useful filename7137 mentions number of issues and project name7138 doesn't need to mention truncation by default7139 when truncated7140 mentions that the csv has been truncated7141 mentions the number of issues written and expected7142Query.project(fullPath).issue(iid)7143 .designCollection7144 .design7145 behaves like being able to fetch a design-like object by ID7146 the ID is passed7147 retrieves the object7148 the user is unauthorized7149 behaves like a failure to find anything7150 finds nothing7151 without parameters7152 raises an error7153 attempting to retrieve an object from a different issue7154 behaves like a failure to find anything7155 finds nothing7156 behaves like being able to fetch a design-like object by ID7157 the ID is passed7158 retrieves the object7159 the user is unauthorized7160 behaves like a failure to find anything7161 finds nothing7162 without parameters7163 raises an error7164 attempting to retrieve an object from a different issue7165 behaves like a failure to find anything7166 finds nothing7167 .version7168 no parameters7169 raises an error7170 (sha: STRING_TYPE)7171 behaves like a successful query for a version7172 finds the version7173 (id: ID_TYPE)7174 behaves like a successful query for a version7175 finds the version7176 .designAtVersion7177 behaves like being able to fetch a design-like object by ID7178 the ID is passed7179DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7180 retrieves the object7181 the user is unauthorized7182 behaves like a failure to find anything7183 finds nothing7184 without parameters7185 raises an error7186 attempting to retrieve an object from a different issue7187 behaves like a failure to find anything7188 finds nothing7189API::GroupContainerRepositories7190 GET /groups/:id/registry/repositories7191 behaves like rejected container repository access7192 for guest7193 returns forbidden7194 behaves like rejected container repository access7195 for anonymous7196 returns not_found7197 behaves like handling network errors with the container registry7198caught error of type Faraday::Error in after callback inside Grape::Middleware::Formatter : 7199 returns a connection error7200 behaves like returns repositories for allowed users7201 for reporter7202 returns a list of repositories7203 returns a matching schema7204 with tags param7205 returns a list of repositories and their tags7206 returns a matching schema7207 with tags_count param7208 returns a list of repositories and their tags_count7209 returns a matching schema7210 behaves like a package tracking event7211 creates a gitlab tracking event list_repositories7212 with invalid group id7213 returns not found7214sentry errors requests7215 getting a detailed sentry error7216 returns a successful response7217 when data is loading via reactive cache7218 is expected to return an empty error7219 when reactive cache returns data7220 is expected to return the frequency correctly7221 behaves like setting sentry error data7222 sets the sentry error data correctly7223 when user does not have permission7224 is expected to return an empty error7225 when sentry api returns an error7226 is expected to handle the error and return nil7227 getting an errors list7228 behaves like a working graphql query7229 returns a successful response7230 when data is loading via reactive cache7231 is expected to return nil7232 when reactive cache returns data7233 is expected to return an array of data7234 sets the pagination correctly7235 is expected to return the frequency correctly7236 behaves like setting sentry error data7237 sets the sentry error data correctly7238 when sentry api itself errors out7239 is expected to handle the error and return nil7240 getting a stack trace7241 behaves like a working graphql query7242 returns a successful response7243 when data is loading via reactive cache7244 is expected to return an empty error7245 when reactive cache returns data7246 behaves like setting stack trace error7247 sets the stack trace data correctly7248 sets the stack trace entry data correctly7249 when user does not have permission7250 is expected to return an empty error7251 when sentry api returns an error7252 is expected to handle the error and return nil7253Projects::FeatureFlagsUserListsController7254 GET #index7255 redirects when the user is unauthenticated7256 returns not found if the user does not belong to the project7257 returns not found for a reporter7258 renders the new page for a developer7259 GET #new7260 redirects when the user is unauthenticated7261 returns not found if the user does not belong to the project7262 returns not found for a reporter7263 renders the new page for a developer7264 GET #edit7265 renders the edit page for a developer7266 returns not found with an iid that does not exist7267 returns not found for a list belonging to a another project7268 GET #show7269 renders the page for a developer7270 returns not found with an iid that does not exist7271 returns not found for a list belonging to a another project7272ControllerWithCrossProjectAccessCheck7273 When reading cross project is not allowed7274 #requires_cross_project_access7275 renders a 403 with trying to access a cross project page7276 is skipped when the `if` condition returns false7277 is skipped when the `unless` condition returns true7278 correctly renders an action that does not require cross project access7279 #skip_cross_project_access_check7280 renders a success when the check is skipped7281 is executed when the `if` condition returns false7282 is executed when the `unless` condition returns true7283 does not skip the check on an action that is not skipped7284 does not skip the check on an action that was not defined to skip7285Create a work item from a task in a work item's description7286 the user is not allowed to update a work item7287 behaves like a mutation that returns a top-level access error7288 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"7289 when user has permissions to create a work item7290 creates the work item7291 when creating a work item fails7292 makes no changes to the DB and returns an error message7293 behaves like has spam protection7294 #check_spam_action_response!7295 when the object is spam (DISALLOW)7296 and no CAPTCHA is available7297 behaves like disallow response7298 informs the client that the request was denied as spam7299 and a CAPTCHA is required7300 behaves like disallow response7301 informs the client that the request was denied as spam7302 when the object is not spam (CONDITIONAL ALLOW)7303 and no CAPTCHA is required7304 does not return a top-level error7305 and a CAPTCHA is required7306 informs the client that the request may be retried after solving the CAPTCHA7307 when the work_items feature flag is disabled7308 does nothing and returns and error7309Snippets::BlobsController7310 GET #raw7311 snippet_visibility_level: :public, user: :author, status: :ok7312 responds with correct status7313 snippet_visibility_level: :public, user: :other_user, status: :ok7314 responds with correct status7315 snippet_visibility_level: :public, user: nil, status: :ok7316 responds with correct status7317 snippet_visibility_level: :private, user: :author, status: :ok7318 responds with correct status7319 snippet_visibility_level: :private, user: :other_user, status: :not_found7320 responds with correct status7321 snippet_visibility_level: :private, user: nil, status: :redirect7322 responds with correct status7323 behaves like raw snippet blob7324 with valid params7325 delivers file with correct Workhorse headers7326 responds with status 2007327 Content Disposition7328 when the disposition is inline7329 returns inline in the content disposition header7330 when the disposition is attachment7331 returns attachment plus the filename in the content disposition header7332 with invalid file path7333 behaves like returning response status7334 returns not_found7335 with invalid ref7336 behaves like returning response status7337 returns not_found7338 behaves like content disposition headers7339 sets content disposition to inline7340 when inline param is false7341 sets content disposition to attachment7342 with a snippet without a repository7343 behaves like raw snippet without repository7344 when authorized7345 returns a 4227346 when unauthorized7347 behaves like returning response status7348 returns redirect7349SendFileUpload7350 #send_upload7351 when local file is used7352 sends a file7353 behaves like handles image resize requests7354 behaves like handles image resize requests allowed by FF7355 with valid width parameter7356 renders OK with workhorse command header7357 with missing width parameter7358 does not write workhorse command header7359 with invalid width parameter7360 does not write workhorse command header7361 with width that is not allowed7362 does not write workhorse command header7363 when image file is not an avatar7364 does not write workhorse command header7365 when image file type is not considered safe for scaling7366 does not write workhorse command header7367 when FF is disabled7368 behaves like bypasses image resize requests not allowed by FF7369 does not write workhorse command header7370 with inline image7371 sends a file with inline disposition7372 with attachment7373 sends a file with content-type of text/plain7374 with a proxied file in object storage7375 sends a file with a custom type7376 when remote file is used7377 and proxying is enabled7378 behaves like proxied file7379 sends a file7380 and proxying is disabled7381 sends a file7382 with proxy requested7383 behaves like proxied file7384 sends a file7385 behaves like handles image resize requests7386 behaves like handles image resize requests allowed by FF7387 with valid width parameter7388 renders OK with workhorse command header7389 with missing width parameter7390 does not write workhorse command header7391 with invalid width parameter7392 does not write workhorse command header7393 with width that is not allowed7394 does not write workhorse command header7395 when image file is not an avatar7396 does not write workhorse command header7397 when image file type is not considered safe for scaling7398 does not write workhorse command header7399 when FF is disabled7400 behaves like bypasses image resize requests not allowed by FF7401 does not write workhorse command header7402Admin::TopicsController7403 GET #index7404 renders the template7405 as a normal user7406 renders a 404 error7407 GET #new7408 renders the template7409 as a normal user7410 renders a 404 error7411 GET #edit7412 renders the template7413 as a normal user7414 renders a 404 error7415 POST #create7416 creates topic7417 shows error message for invalid topic name7418 shows error message if topic name not unique (case insensitive)7419 shows error message for invalid topic title7420 as a normal user7421 renders a 404 error7422 PUT #update7423 updates topic7424 shows error message for invalid topic7425 shows error message if topic not unique (case insensitive)7426 as a normal user7427 renders a 404 error7428Users::TermsController7429 GET #index7430 when a user is signed in7431 redirects when no terms exist7432 when terms exist7433 shows terms when they exist7434 shows a message when the user already accepted the terms7435 when a user is not signed in7436 when terms exist7437 returns success response7438 when no terms exist7439 redirects7440 POST #accept7441 when a user is signed in7442 saves that the user accepted the terms7443 redirects to a path when specified7444 redirects to the referer when no redirect specified7445 redirecting to another domain7446 is prevented when passing a redirect param7447 is prevented when redirecting to the referer7448 when a user is not signed in7449 redirects to login page7450 POST #decline7451 when a user is signed in7452 stores that the user declined the terms7453 signs out the user7454 when a user is not signed in7455 redirects to login page7456Project.cluster_agents7457DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7458DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7459DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7460DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7461DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7462DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7463 can retrieve cluster agents7464 selecting page info7465 can paginate cluster agents7466 selecting tokens7467 can select tokens in last_used_at order7468 does not suffer from N+1 performance issues7469 selecting connections7470 can retrieve connections and agent metadata7471 selecting activity events7472 retrieves activity event details7473API::ImportBitbucketServer7474 POST /import/bitbucket_server7475 with no optional parameters7476 rejects requests when Bitbucket Server Importer is disabled7477 returns 201 response when the project is imported successfully7478 with a new project name7479 returns 201 response when the project is imported successfully with a new project name7480 with an invalid URL7481 returns 400 response due to a blocked URL7482 with a new namespace7483 returns 201 response when the project is imported successfully to a new namespace7484 with a private inaccessible namespace7485 returns 401 response when user can not create projects in the chosen namespace7486 with an inaccessible bitbucket server instance7487 raises a connection error7488Milestones through GroupQuery7489 Get list of milestones from a group7490 when the request is correct7491 returns milestones successfully7492 behaves like a working graphql query7493 returns a successful response7494 when filtering by timeframe7495 fetches milestones between start_date and due_date7496 fetches milestones between timeframe start and end arguments7497 when filtering by state7498 returns milestones with given state7499 when including milestones from decendants7500 when including decendants7501 returns milestones also from subgroups and subprojects visible to user7502 when including ancestors7503 returns milestones from ancestor groups7504 ensures each field returns the correct value7505 returns correct values for scalar fields7506 milestone statistics7507 returns the correct milestone statistics7508PasswordsController7509 #check_password_authentication_available7510 when password authentication is disabled for the web interface and Git7511 prevents a password reset7512 when reset email belongs to an ldap user7513 prevents a password reset7514 #update7515 updating the password7516 sets the username and caller_id in the context7517 password update is successful7518 updates the password-related flags7519 password update is unsuccessful7520 does not update the password-related flags7521 #create7522 when reCAPTCHA is disabled7523 successfully sends password reset when reCAPTCHA is not solved7524 when reCAPTCHA is enabled7525 displays an error when the reCAPTCHA is not solved7526 successfully sends password reset when reCAPTCHA is solved7527Requests on a read-only node7528 when db is read-only7529 behaves like graphql on a read-only GitLab instance7530 mutations7531 disallows the query7532 does not destroy the Note7533 read-only queries7534DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7535DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7536 allows the query7537ProjectUnauthorized7538 .on_routable_not_found7539 renders a 200 when the service allows access to the project7540 renders a 403 when the service denies access to the project7541 renders a 404 when the user cannot see the project at all7542Mutations::Boards::Lists::Destroy7543 behaves like board lists destroy request7544 when the user does not have permission7545 does not destroy the list7546 returns an error7547 when the user has permission7548 when given id is not for a list7549 returns an error7550 when list does not exist7551 returns a top level error7552 when everything is ok7553 destroys the list7554 returns an empty list7555 when the list is not destroyable7556 behaves like does not destroy the list and returns an error7557 does not destroy the list7558 returns an error and not nil list7559moving designs7560 the user is not allowed to move designs7561 returns an error7562 the neighbors do not have positions7563 maintains the correct order in the presence of other unpositioned designs7564 behaves like a successful move7565 does not error, and reports the current order7566 moving a design between two others7567 behaves like a successful move7568 does not error, and reports the current order7569 moving a design to the start7570 behaves like a successful move7571 does not error, and reports the current order7572 moving a design to the end7573 behaves like a successful move7574 does not error, and reports the current order7575Projects::StaticSiteEditorController7576 GET index7577 responds with 404 page7578 GET show7579 User roles7580 anonymous7581 redirects to sign in and returns7582 as guest7583 responds with 404 page7584 as developer7585 redirects to the Web IDE7586 assigns ref and path variables7587 when combination of ref and path is incorrect7588 responds with 404 page7589Create a new cluster agent token7590 without user permissions7591 does not create a token7592 behaves like a mutation that returns top-level errors7593 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"7594 with project permissions7595 creates a new token7596 returns token information7597Projects::AutocompleteSourcesController7598 GET members7599 returns an array of member object7600 GET milestones7601 lists milestones7602 when user cannot read project issues and merge requests7603 renders 4047604 GET contacts7605 when feature flag is enabled7606 when a group has contact relations enabled7607 when a user can read contacts7608 lists contacts7609 when a user can not read contacts7610 renders 4047611 when a group has contact relations disabled7612 renders 4047613 when feature flag is disabled7614 renders 4047615query a single terraform state7616 returns terraform state data7617 behaves like a working graphql query7618 returns a successful response7619 unauthorized users7620 is expected to be nil7621Projects::UsageQuotasController7622 GET #index7623 when user does not have read_usage_quotas permission7624 renders not_found7625 when user has read_usage_quotas permission7626 renders index with 200 status code7627Groups::ImportsController7628 GET #show7629 when the user has permission to view the group7630 when the import is in progress7631 renders the show template7632 sets the flash notice7633 when the import has failed7634 redirects to the new group path7635 sets a flash error7636 when the import has finished7637 redirects to the group page7638 when there is no import state7639 redirects to the group page7640 when the user does not have permission to view the group7641 returns a 4047642Getting Metrics Dashboard Annotations7643 returns annotations7644 behaves like a working graphql query7645 returns a successful response7646 arguments7647 from is missing7648 returns error7649 to is missing7650 behaves like a working graphql query7651 returns a successful response7652Update of an existing board list7653 behaves like a GraphQL request to update board list7654 the user is not allowed to read board lists7655 behaves like a mutation that returns a top-level access error7656 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"7657 when user has permissions to admin board lists7658 updates the list position and collapsed state7659 when user has permissions to read board lists7660 updates the list collapsed state but not the list position7661Projects::WebIdeSchemasController7662 GET show7663 when branch is invalid7664 returns 4227665 when a valid schema exists7666 returns the schema7667 when an error occurs parsing the schema7668 returns 422 with the error7669Profiles::GpgKeysController7670 POST #create7671 creates a new key7672API::DependencyProxy7673 DELETE /groups/:id/dependency_proxy/cache7674 with a group id7675 behaves like responding to purge requests7676 with feature available and enabled7677 an admin user7678 deletes the blobs and returns no content7679 a non-admin7680 behaves like returning response status7681 returns forbidden7682 depencency proxy is not enabled in the config7683 behaves like returning response status7684 returns not_found7685 with an url encoded group id7686 behaves like responding to purge requests7687 with feature available and enabled7688 an admin user7689 deletes the blobs and returns no content7690 a non-admin7691 behaves like returning response status7692 returns forbidden7693 depencency proxy is not enabled in the config7694 behaves like returning response status7695 returns not_found7696Projects::GroupLinksController7697 #update7698 when `expires_at` is set7699 returns correct json response7700 when `expires_at` is not set7701 returns empty json response7702Projects::Integrations::ShimosController7703 GET #show7704 when Shimo integration is inactive7705 returns 404 status7706 when Shimo integration is active7707 renders the "show" template7708SortingPreference7709 #set_sort_order_from_user_preference7710 when sort param given7711 when sorting_field is defined7712 sets user_preference with the right value7713 when no sorting_field is defined on the controller7714 does not touch user_preference7715 when a user sorting preference exists7716 returns the set preference7717 #set_set_order_from_cookie7718 when sort param given7719 sets the cookie with the right values and flags7720 when cookie exists7721 sets the cookie with the right values and flags7722ConfigureSecretDetection7723 when authorized7724 creates a branch with secret detection configured7725Admin::ApplicationSettings::AppearancesController7726 POST #create7727 creates appearance with footer and header message7728 when enabling header and footer in email7729 creates appearance with enabled flag7730 PUT #update7731 updates appearance with footer and header message7732 when enabling header and footer in email7733 updates appearance with enabled flag7734API::Geo7735 GET /geo/proxy7736 rejects requests that bypassed gitlab-workhorse7737 with valid auth7738 returns empty data7739getting project recent issue boards7740 behaves like querying a GraphQL type recent boards7741 Get list of recently visited boards7742 when the request is correct7743 returns recent boards for user successfully7744 behaves like a working graphql query7745 returns a successful response7746 when requests has errors7747 when there are no recently visited boards7748 returns empty result7749unlock a terraform state7750 returns a successful response7751 unlocks the state7752JobCancel7753 returns an error if the user is not allowed to cancel the job7754 cancels a job7755Projects::Environments::SampleMetricsController7756 GET #query7757 when the file is not found7758 returns a 4047759 when the sample data is found7760 returns JSON with a message and a 200 status code7761Projects::Ci::PrometheusMetrics::HistogramsController7762 POST /*namespace_id/:project_id/-/ci/prometheus_metrics/histograms7763 with known histograms7764 returns 201 Created7765 with unknown histograms7766 returns 404 Not Found7767delete a terraform state7768 returns a successful response7769 deletes the state7770Projects::GoogleCloud::RevokeOauthController7771 POST #create7772 when GCP token is invalid7773 redirects to Google OAuth2 authorize URL7774 when revocation is successful7775 calls revoke endpoint and redirects7776 when revocation fails7777 calls revoke endpoint and redirects7778SpammableActions::CaptchaCheck::JsonFormatActionsSupport7779 #with_captcha_check_json_format7780 when spammable.render_recaptcha? is true7781 renders json containing spam_action_response_fields7782 when spammable.render_recaptcha? is false7783 yields to block7784Admin::GitalyServersController7785 #index7786 shows the gitaly servers page7787Oauth::TokensController7788 includes Two-factor enforcement concern7789Knapsack report was generated. Preview:7790{7791 "spec/requests/api/nuget_project_packages_spec.rb": 181.76892168599989,7792 "spec/requests/api/maven_packages_spec.rb": 179.29082304799977,7793 "spec/controllers/projects/issues_controller_spec.rb": 125.4231100750003,7794 "spec/controllers/projects/pipelines_controller_spec.rb": 119.92928431499968,7795 "spec/controllers/projects_controller_spec.rb": 74.93883891399946,7796 "spec/requests/api/group_clusters_spec.rb": 83.38491778999924,7797 "spec/requests/api/ci/runner/jobs_artifacts_spec.rb": 59.93305924299966,7798 "spec/requests/api/ci/job_artifacts_spec.rb": 49.262998313000026,7799 "spec/requests/api/internal/base_spec.rb": 29.34962314400036,7800 "spec/requests/api/ci/jobs_spec.rb": 39.19646718900003,7801 "spec/controllers/uploads_controller_spec.rb": 28.62088747800044,7802 "spec/controllers/projects/releases_controller_spec.rb": 33.35110335399986,7803 "spec/controllers/projects/milestones_controller_spec.rb": 30.588832120000006,7804 "spec/controllers/projects/uploads_controller_spec.rb": 23.837128375999782,7805 "spec/controllers/omniauth_callbacks_controller_spec.rb": 21.46210490300018,7806 "spec/requests/api/protected_branches_spec.rb": 21.43338448600025,7807 "spec/requests/api/todos_spec.rb": 18.10155997899983,7808 "spec/controllers/projects/starrers_controller_spec.rb": 19.44679751500007,7809 "spec/controllers/projects/templates_controller_spec.rb": 14.84161273600057,7810 "spec/controllers/groups/uploads_controller_spec.rb": 13.832827797000391,7811 "spec/requests/api/commit_statuses_spec.rb": 16.71865752800022,7812 "spec/controllers/projects/services_controller_spec.rb": 11.506782338999983,7813 "spec/requests/api/resource_label_events_spec.rb": 12.341723444999843,7814 "spec/requests/api/unleash_spec.rb": 6.266053822999311,7815 "spec/controllers/projects/boards_controller_spec.rb": 11.6806771319998,7816 "spec/requests/api/merge_request_diffs_spec.rb": 9.971534661999613,7817 "spec/requests/api/graphql/packages/package_spec.rb": 11.713742398999784,7818 "spec/requests/api/graphql/metrics/dashboard_query_spec.rb": 10.445531925000068,7819 "spec/requests/api/graphql/mutations/design_management/delete_spec.rb": 6.694260420000319,7820 "spec/requests/api/graphql/packages/nuget_spec.rb": 8.795509191000747,7821 "spec/requests/api/project_repository_storage_moves_spec.rb": 3.6371015969998552,7822 "spec/requests/projects/issue_links_controller_spec.rb": 8.264589192999665,7823 "spec/controllers/projects/graphs_controller_spec.rb": 6.072978452000825,7824 "spec/requests/api/resource_state_events_spec.rb": 4.230845716000658,7825 "spec/mailers/emails/issues_spec.rb": 5.737807587000134,7826 "spec/requests/api/graphql/project/issue_spec.rb": 3.7509056259996214,7827 "spec/requests/api/group_container_repositories_spec.rb": 5.050141815999268,7828 "spec/requests/api/graphql/project/error_tracking/sentry_errors_request_spec.rb": 4.75390965600036,7829 "spec/controllers/projects/feature_flags_user_lists_controller_spec.rb": 3.228305278999869,7830 "spec/controllers/concerns/controller_with_cross_project_access_check_spec.rb": 5.393996402000084,7831 "spec/requests/api/graphql/mutations/work_items/create_from_task_spec.rb": 3.353589256000305,7832 "spec/controllers/snippets/blobs_controller_spec.rb": 2.3806311620000997,7833 "spec/controllers/concerns/send_file_upload_spec.rb": 0.938267266999901,7834 "spec/controllers/admin/topics_controller_spec.rb": 1.1684508329999517,7835 "spec/controllers/users/terms_controller_spec.rb": 2.268130974000087,7836 "spec/requests/api/graphql/project/cluster_agents_spec.rb": 3.348256035999839,7837 "spec/requests/api/import_bitbucket_server_spec.rb": 3.9455116169992834,7838 "spec/requests/api/graphql/group/milestones_spec.rb": 4.182540873000107,7839 "spec/controllers/passwords_controller_spec.rb": 1.7121733989997665,7840 "spec/requests/api/graphql/read_only_spec.rb": 3.855320075999771,7841 "spec/controllers/concerns/project_unauthorized_spec.rb": 2.4325779569999213,7842 "spec/requests/api/graphql/mutations/boards/lists/destroy_spec.rb": 2.7796575530001064,7843 "spec/requests/api/graphql/mutations/design_management/move_spec.rb": 2.5197680690007473,7844 "spec/controllers/projects/static_site_editor_controller_spec.rb": 1.5117435490001299,7845 "spec/requests/api/graphql/mutations/clusters/agent_tokens/agent_tokens/create_spec.rb": 1.068172993999724,7846 "spec/controllers/projects/autocomplete_sources_controller_spec.rb": 2.511642610000308,7847 "spec/requests/api/graphql/project/terraform/state_spec.rb": 1.3575994849998096,7848 "spec/controllers/projects/usage_quotas_controller_spec.rb": 2.4893781820001095,7849 "spec/controllers/groups/imports_controller_spec.rb": 2.565406523999627,7850 "spec/requests/api/graphql/metrics/dashboard/annotations_spec.rb": 1.6247929279998061,7851 "spec/requests/api/graphql/mutations/boards/lists/update_spec.rb": 1.6078614390007715,7852 "spec/controllers/projects/web_ide_schemas_controller_spec.rb": 0.9802224629993361,7853 "spec/controllers/profiles/gpg_keys_controller_spec.rb": 2.0546710450007595,7854 "spec/requests/api/dependency_proxy_spec.rb": 2.153722395000841,7855 "spec/controllers/projects/group_links_controller_spec.rb": 1.2140120390004085,7856 "spec/requests/projects/integrations/shimos_controller_spec.rb": 1.465772234000724,7857 "spec/controllers/concerns/sorting_preference_spec.rb": 0.5843401620004443,7858 "spec/requests/api/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb": 0.5493308349996369,7859 "spec/controllers/admin/application_settings/appearances_controller_spec.rb": 0.698415699999714,7860 "spec/requests/api/geo_spec.rb": 0.20808254899930034,7861 "spec/requests/api/graphql/project/recent_issue_boards_query_spec.rb": 0.8869755220002844,7862 "spec/requests/api/graphql/terraform/state/unlock_spec.rb": 1.1355059570005324,7863 "spec/requests/api/graphql/mutations/ci/job_cancel_spec.rb": 0.912123328999769,7864 "spec/controllers/projects/environments/sample_metrics_controller_spec.rb": 1.004151930000262,7865 "spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb": 0.6728520029992069,7866 "spec/requests/api/graphql/terraform/state/delete_spec.rb": 0.9250629689995549,7867 "spec/requests/projects/google_cloud/revoke_oauth_controller_spec.rb": 0.9792224530001477,7868 "spec/controllers/concerns/spammable_actions/captcha_check/json_format_actions_support_spec.rb": 1.1961211309999271,7869 "spec/controllers/admin/gitaly_servers_controller_spec.rb": 0.2558970549998776,7870 "spec/controllers/oauth/tokens_controller_spec.rb": 0.16639988300084957871}7872Knapsack global time execution for tests: 23m 11s7873Pending: (Failures listed here are expected and do not affect your suite's status)7874 1) Projects::IssuesController Confidential Issues PUT #update behaves like restricted action when admin mode is disabled returns 404 for admin7875 # Temporarily skipped with xit7876 # ./spec/controllers/projects/issues_controller_spec.rb:8827877 2) Projects::IssuesController Confidential Issues GET #show behaves like restricted action when admin mode is disabled returns 404 for admin7878 # Temporarily skipped with xit7879 # ./spec/controllers/projects/issues_controller_spec.rb:8827880 3) Projects::IssuesController Confidential Issues GET #realtime_changes behaves like restricted action when admin mode is disabled returns 404 for admin7881 # Temporarily skipped with xit7882 # ./spec/controllers/projects/issues_controller_spec.rb:8827883 4) Projects::IssuesController Confidential Issues GET #edit behaves like restricted action when admin mode is disabled returns 404 for admin7884 # Temporarily skipped with xit7885 # ./spec/controllers/projects/issues_controller_spec.rb:8827886 5) Projects::IssuesController Confidential Issues PUT #update behaves like restricted action when admin mode is disabled returns 404 for admin7887 # Temporarily skipped with xit7888 # ./spec/controllers/projects/issues_controller_spec.rb:8827889 6) ProjectsController#update hashed storage behaves like updating a project when only renaming a project path upgrades and move project to hashed storage when project was originally legacy7890 # No reason given7891 # ./spec/controllers/projects_controller_spec.rb:6917892 7) ProjectsController#update legacy storage behaves like updating a project when only renaming a project path doesnt change the disk_path when using hashed storage7893 # No reason given7894 # ./spec/controllers/projects_controller_spec.rb:6727895 8) API::Ci::JobArtifacts GET /projects/:id/jobs/:job_id/artifacts normal authentication job with artifacts when artifacts are stored remotely authorized user returns the file remote URL7896 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example7897 # ./spec/requests/api/ci/job_artifacts_spec.rb:3567898Finished in 23 minutes 15 seconds (files took 1 minute 27.63 seconds to load)78992896 examples, 0 failures, 8 pending7900RSpec exited with 0.7901No examples to retry, congrats!7903Not uploading cache ruby-gems-bullseye-9-protected due to policy7904Not uploading cache gitaly-ruby-gems-bullseye-9-protected due to policy7906Uploading artifacts...7907coverage/: found 5 matching files and directories 7908crystalball/: found 2 matching files and directories 7909deprecations/: found 9 matching files and directories 7910knapsack/: found 3 matching files and directories 7911rspec/: found 9 matching files and directories 7912WARNING: tmp/capybara/: no matching files 7913log/*.log: found 20 matching files and directories 7914WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2388875906/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7915WARNING: Retrying... context=artifacts-uploader error=request redirected7916Uploading artifacts as "archive" to coordinator... 201 Created id=2388875906 responseStatus=201 Created token=PrNgnfjP7917Uploading artifacts...7918rspec/junit_rspec.xml: found 1 matching files and directories 7919WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2388875906/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7920WARNING: Retrying... context=artifacts-uploader error=request redirected7921Uploading artifacts as "junit" to coordinator... 201 Created id=2388875906 responseStatus=201 Created token=PrNgnfjP7923Job succeeded