rspec integration pg12 10/10
Passed Started
by
@.luke

Luke Duncalfe
1Running with gitlab-runner 14.5.2 (e91107dd)2 on blue-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 1zzGUpzq3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:f1a5e4852a8c335ef0f1a3aae30c39c8484660d5aa7dfd5bb8756ee473575da5 for postgres:12 with digest postgres@sha256:0854202db0b3378c46909bab43a85b01dc1b92cc44520480e47dd4fbc22714ee ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:1746b159f8934fe63cae3984643ee8c5651bcfc80ae107032a60f2871a0e7cdb for redis:5.0-alpine with digest redis@sha256:a04b57e05b784a406bc818f6b450233328c4115a1e1f104d84ce916eb1583925 ...13Waiting for services to be up and running...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...16Using docker image sha256:5b9920187fd97abe77ba8b8a3c8029b970dbace758fd2dc8756c2976a4bff96d for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:4ab23b0728c6791b71363fe9413ab1d284f8d163988ebd8823dfb84f31aafe00 ...18Running on runner-1zzgupzq-project-278964-concurrent-0 via runner-1zzgupzq-private-1639443539-da163f30...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: 91326, done. 25remote: Counting objects: 100% (91326/91326), done. 26remote: Compressing objects: 100% (68267/68267), done. 27remote: Total 91326 (delta 30507), reused 60832 (delta 19269), pack-reused 0 28Receiving objects: 100% (91326/91326), 103.88 MiB | 30.86 MiB/s, done.29Resolving deltas: 100% (30507/30507), done.31 * [new ref] 74a38a79b62c49b1e9b89b9829f66b53abaed5a9 -> refs/pipelines/42880374432 * [new branch] master -> origin/master33Checking out 74a38a79 as master...34Skipping Git submodules setup36Checking cache for ruby-gems-v1-9...37cache.zip is up to date 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-v1-9...40cache.zip is up to date 41Successfully extracted cache43Downloading artifacts for compile-test-assets (1880797874)...44Downloading artifacts from coordinator... ok id=1880797874 responseStatus=200 OK token=HwSwMQAA45Downloading artifacts for detect-tests (1880797889)...46Downloading artifacts from coordinator... ok id=1880797889 responseStatus=200 OK token=cosp53gX47Downloading artifacts for retrieve-tests-metadata (1880797899)...48Downloading artifacts from coordinator... ok id=1880797899 responseStatus=200 OK token=mhRg1nsp49Downloading artifacts for setup-test-env (1880797883)...50Downloading artifacts from coordinator... ok id=1880797883 responseStatus=200 OK token=eZ79kRQL52Using docker image sha256:5b9920187fd97abe77ba8b8a3c8029b970dbace758fd2dc8756c2976a4bff96d for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:4ab23b0728c6791b71363fe9413ab1d284f8d163988ebd8823dfb84f31aafe00 ...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.sh59Bundler version 2.1.460production:development61Settings are listed in order of priority. The top value will be used.62path63Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"64clean65Set for the current user (/root/.bundle/config): "true"66without67Set via BUNDLE_WITHOUT: [:production, :development]68install_flags69Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"70$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check71The Gemfile's dependencies are satisfied72==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.73$ bundle pristine pg74Installing pg 1.2.3 with native extensions75==> 'bundle pristine pg' succeeded in 10 seconds.76$ setup_db_user_only77CREATE ROLE78GRANT79==> 'setup_db_user_only' succeeded in 1 seconds.80$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee81Dropped database 'gitlabhq_test'82Dropped database 'gitlabhq_geo_test'83Created database 'gitlabhq_test'84Created database 'gitlabhq_geo_test'85DEPRECATION 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)86Dropped database 'gitlabhq_geo_test'87Created database 'gitlabhq_geo_test'88==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 30 seconds.89$ run_timed_command "gem install knapsack --no-document"90$ gem install knapsack --no-document91Successfully installed knapsack-4.0.0921 gem installed93==> 'gem install knapsack --no-document' succeeded in 1 seconds.94$ run_timed_command "scripts/gitaly-test-spawn"95$ scripts/gitaly-test-spawn96Don't run Bundler as root. Bundler can ask for sudo if it is needed, and97installing your bundle as root will break this application for all non-root98users on this machine.99Using abstract_type 0.0.7100Using concurrent-ruby 1.1.9101Using i18n 1.8.10102Using minitest 5.14.4103Using tzinfo 2.0.4104Using zeitwerk 2.4.2105Using activesupport 6.1.4.1106Using builder 3.2.4107Using erubi 1.10.0108Using mini_portile2 2.5.1109Using racc 1.5.2110Using nokogiri 1.11.7 (x86_64-linux)111Using rails-dom-testing 2.0.3112Using crass 1.0.6113Using loofah 2.12.0114Using rails-html-sanitizer 1.4.2115Using actionview 6.1.4.1116Using rack 2.2.3117Using rack-test 1.1.0118Using actionpack 6.1.4.1119Using ice_nine 0.11.2120Using thread_safe 0.3.6121Using memoizable 0.4.2122Using adamantium 0.2.0123Using public_suffix 4.0.6124Using addressable 2.7.0125Using ast 2.4.1126Using binding_ninja 0.2.3127Using bundler 2.1.4128Using charlock_holmes 0.7.7129Using coderay 1.1.2130Using equalizer 0.0.11131Using concord 0.1.5132Using diff-lcs 1.3133Using dotenv 2.7.6134Using escape_utils 1.2.1135Using factory_bot 5.0.2136Using multipart-post 2.1.1137Using faraday 1.0.1138Using ffi 1.15.3139Using json 2.5.1140Using gemojione 3.3.0141Using mini_mime 1.0.2142Using rugged 1.2.0143Using github-linguist 7.12.1144Using github-markup 1.7.0145Using mime-types-data 3.2020.1104146Using mime-types 3.3.1147Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1148Using rouge 3.26.0149Using nokogumbo 1.5.0150Using sanitize 4.6.6151Using stringex 2.8.5152Using gitlab-gollum-lib 4.2.7.10.gitlab.1153Using google-protobuf 3.17.3 (x86_64-linux)154Using googleapis-common-protos-types 1.1.0155Using grpc 1.30.2 (x86_64-linux)156Using opentracing 0.5.0157Using thrift 0.15.0158Using jaeger-client 1.1.0159Using pg_query 2.1.1160Using redis 4.4.0161Using gitlab-labkit 0.21.2162Using rubyzip 2.3.2163Using thor 1.1.0164Using tomlrb 2.0.1165Using with_env 1.1.0166Using rexml 3.2.4167Using xml-simple 1.1.9168Using gitlab-license_finder 6.14.2.1169Using gitlab-markup 1.7.1170Using grpc-tools 1.30.2171Using sawyer 0.8.2172Using octokit 4.20.0173Using reverse_markdown 1.4.0174Using licensee 9.14.1175Using method_source 0.9.2176Using msgpack 1.3.3177Using optimist 3.0.1178Using parallel 1.19.2179Using parser 2.7.2.0180Using procto 0.0.3181Using unparser 0.4.7182Using proc_to_ast 0.1.0183Using pry 0.12.2184Using rainbow 3.0.0185Using rbtrace 0.4.14186Using rdoc 6.3.2187Using regexp_parser 1.8.1188Using rspec-support 3.8.0189Using rspec-core 3.8.0190Using rspec-expectations 3.8.3191Using rspec-mocks 3.8.0192Using rspec 3.8.0193Using rspec-parameterized 0.4.2194Using rubocop-ast 0.2.0195Using ruby-progressbar 1.10.1196Using unicode-display_width 1.7.0197Using rubocop 0.86.0198Using sentry-raven 3.0.4199Using timecop 0.9.1200Bundle complete! 22 Gemfile dependencies, 101 gems now installed.201Gems in the groups production and development were not installed.202Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`203Checking gitaly-ruby Gemfile...204Checking gitaly-ruby bundle...205The Gemfile's dependencies are satisfied206Trying to connect to gitaly: .................................................. OK207Trying to connect to gitaly2: ............................................................... OK208Trying to connect to praefect: ......... OK209$ source ./scripts/rspec_helpers.sh210==> 'scripts/gitaly-test-spawn' succeeded in 13 seconds.211$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"212KNAPSACK_TEST_FILE_PATTERN: spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb213SKIP_FLAKY_TESTS_AUTOMATICALLY: true214Knapsack report generator started!215warning: parser/current is loading parser/ruby27, which recognizes216warning: 2.7.4-compliant syntax, but you are running 2.7.5.217warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.218undefined method `[]' for #<RspecFlaky::FlakyExample:0x00007f93b6890ac0>219Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}220==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.069011204 seconds...221Test environment set up in 1.774862908 seconds222API::MavenPackages223 GET /api/v4/packages/maven/*path/:file_name224 a public project225 behaves like handling groups, subgroups and user namespaces for226 behaves like handling groups and subgroups for227 within a group228 that is public229 behaves like getting a file230 returns sha1 of the file231 behaves like tracking the file download event232 with jar file233 behaves like a package tracking event234 creates a gitlab tracking event pull_package235 behaves like successfully returning the file236 returns the file237 with a non existing maven path238 behaves like rejecting the request for non existing maven path239 rejects the request240 within a subgroup241 that is public242 behaves like getting a file243 returns sha1 of the file244 behaves like tracking the file download event245 with jar file246 behaves like a package tracking event247 creates a gitlab tracking event pull_package248 behaves like successfully returning the file249 returns the file250 with a non existing maven path251 behaves like rejecting the request for non existing maven path252 rejects the request253 within a user namespace254 that is public255 behaves like getting a file256 returns sha1 of the file257 behaves like tracking the file download event258 with jar file259 behaves like a package tracking event260 creates a gitlab tracking event pull_package261 behaves like successfully returning the file262 returns the file263 with a non existing maven path264 behaves like rejecting the request for non existing maven path265 rejects the request266 internal project267 behaves like handling groups, subgroups and user namespaces for268 behaves like handling groups and subgroups for269 within a group270 that is public271 behaves like getting a file272 denies download when no private token273 behaves like tracking the file download event274 with jar file275 behaves like a package tracking event276 creates a gitlab tracking event pull_package277 behaves like successfully returning the file278 returns the file279 behaves like downloads with a job token280 with a running job281 allows download with job token282 with a finished job283 returns unauthorized error284 behaves like downloads with a deploy token285 successful download286 allows download with deploy token287 allows download with deploy token with only write_package_registry scope288 with a non existing maven path289 behaves like rejecting the request for non existing maven path290 rejects the request291 that is internal292 behaves like getting a file293 denies download when no private token294 behaves like tracking the file download event295 with jar file296 behaves like a package tracking event297 creates a gitlab tracking event pull_package298 behaves like successfully returning the file299 returns the file300 behaves like downloads with a job token301 with a running job302 allows download with job token303 with a finished job304 returns unauthorized error305 behaves like downloads with a deploy token306 successful download307 allows download with deploy token308 allows download with deploy token with only write_package_registry scope309 with a non existing maven path310 behaves like rejecting the request for non existing maven path311 rejects the request312 within a subgroup313 that is public314 behaves like getting a file315 denies download when no private token316 behaves like tracking the file download event317 with jar file318 behaves like a package tracking event319 creates a gitlab tracking event pull_package320 behaves like successfully returning the file321 returns the file322 behaves like downloads with a job token323 with a running job324 allows download with job token325 with a finished job326 returns unauthorized error327 behaves like downloads with a deploy token328 successful download329 allows download with deploy token330 allows download with deploy token with only write_package_registry scope331 with a non existing maven path332 behaves like rejecting the request for non existing maven path333 rejects the request334 that is internal335 behaves like getting a file336 denies download when no private token337 behaves like tracking the file download event338 with jar file339 behaves like a package tracking event340 creates a gitlab tracking event pull_package341 behaves like successfully returning the file342 returns the file343 behaves like downloads with a job token344 with a running job345 allows download with job token346 with a finished job347 returns unauthorized error348 behaves like downloads with a deploy token349 successful download350 allows download with deploy token351 allows download with deploy token with only write_package_registry scope352 with a non existing maven path353 behaves like rejecting the request for non existing maven path354 rejects the request355 within a user namespace356 that is public357 behaves like getting a file358 denies download when no private token359 behaves like tracking the file download event360 with jar file361 behaves like a package tracking event362 creates a gitlab tracking event pull_package363 behaves like successfully returning the file364 returns the file365 behaves like downloads with a job token366 with a running job367 allows download with job token368 with a finished job369 returns unauthorized error370 behaves like downloads with a deploy token371 successful download372 allows download with deploy token373 allows download with deploy token with only write_package_registry scope374 with a non existing maven path375 behaves like rejecting the request for non existing maven path376 rejects the request377 that is internal378 behaves like getting a file379 denies download when no private token380 behaves like tracking the file download event381 with jar file382 behaves like a package tracking event383 creates a gitlab tracking event pull_package384 behaves like successfully returning the file385 returns the file386 behaves like downloads with a job token387 with a running job388 allows download with job token389 with a finished job390 returns unauthorized error391 behaves like downloads with a deploy token392 successful download393 allows download with deploy token394 allows download with deploy token with only write_package_registry scope395 with a non existing maven path396 behaves like rejecting the request for non existing maven path397 rejects the request398 private project399 behaves like handling groups, subgroups and user namespaces for400 behaves like handling groups and subgroups for401 within a group402 that is public403 behaves like getting a file404 denies download when not enough permissions405 denies download when no private token406 does not allow download by a unauthorized deploy token with same id as a user with access407 behaves like tracking the file download event408 with jar file409 behaves like a package tracking event410 creates a gitlab tracking event pull_package411 behaves like successfully returning the file412 returns the file413 behaves like downloads with a job token414 with a running job415 allows download with job token416 with a finished job417 returns unauthorized error418 behaves like downloads with a deploy token419 successful download420 allows download with deploy token421 allows download with deploy token with only write_package_registry scope422 with a non existing maven path423 behaves like rejecting the request for non existing maven path424 rejects the request425 that is internal426 behaves like getting a file427 denies download when not enough permissions428 denies download when no private token429 does not allow download by a unauthorized deploy token with same id as a user with access430 behaves like tracking the file download event431 with jar file432 behaves like a package tracking event433 creates a gitlab tracking event pull_package434 behaves like successfully returning the file435 returns the file436 behaves like downloads with a job token437 with a running job438 allows download with job token439 with a finished job440 returns unauthorized error441 behaves like downloads with a deploy token442 successful download443 allows download with deploy token444 allows download with deploy token with only write_package_registry scope445 with a non existing maven path446 behaves like rejecting the request for non existing maven path447 rejects the request448 that is private449 behaves like getting a file450 denies download when not enough permissions451 denies download when no private token452 does not allow download by a unauthorized deploy token with same id as a user with access453 behaves like tracking the file download event454 with jar file455 behaves like a package tracking event456 creates a gitlab tracking event pull_package457 behaves like successfully returning the file458 returns the file459 behaves like downloads with a job token460 with a running job461 allows download with job token462 with a finished job463 returns unauthorized error464 behaves like downloads with a deploy token465 successful download466 allows download with deploy token467 allows download with deploy token with only write_package_registry scope468 with a non existing maven path469 behaves like rejecting the request for non existing maven path470 rejects the request471 within a subgroup472 that is public473 behaves like getting a file474 denies download when not enough permissions475 denies download when no private token476 does not allow download by a unauthorized deploy token with same id as a user with access477 behaves like tracking the file download event478 with jar file479 behaves like a package tracking event480 creates a gitlab tracking event pull_package481 behaves like successfully returning the file482 returns the file483 behaves like downloads with a job token484 with a running job485 allows download with job token486 with a finished job487 returns unauthorized error488 behaves like downloads with a deploy token489 successful download490 allows download with deploy token491 allows download with deploy token with only write_package_registry scope492 with a non existing maven path493 behaves like rejecting the request for non existing maven path494 rejects the request495 that is internal496 behaves like getting a file497 denies download when not enough permissions498 denies download when no private token499 does not allow download by a unauthorized deploy token with same id as a user with access500 behaves like tracking the file download event501 with jar file502 behaves like a package tracking event503 creates a gitlab tracking event pull_package504 behaves like successfully returning the file505 returns the file506 behaves like downloads with a job token507 with a running job508 allows download with job token509 with a finished job510 returns unauthorized error511 behaves like downloads with a deploy token512 successful download513 allows download with deploy token514 allows download with deploy token with only write_package_registry scope515 with a non existing maven path516 behaves like rejecting the request for non existing maven path517 rejects the request518 that is private519 behaves like getting a file520 denies download when not enough permissions521 denies download when no private token522 does not allow download by a unauthorized deploy token with same id as a user with access523 behaves like tracking the file download event524 with jar file525 behaves like a package tracking event526 creates a gitlab tracking event pull_package527 behaves like successfully returning the file528 returns the file529 behaves like downloads with a job token530 with a running job531 allows download with job token532 with a finished job533 returns unauthorized error534 behaves like downloads with a deploy token535 successful download536 allows download with deploy token537 allows download with deploy token with only write_package_registry scope538 with a non existing maven path539 behaves like rejecting the request for non existing maven path540 rejects the request541 within a user namespace542 that is public543 behaves like getting a file544 denies download when not enough permissions545 denies download when no private token546 does not allow download by a unauthorized deploy token with same id as a user with access547 behaves like tracking the file download event548 with jar file549 behaves like a package tracking event550 creates a gitlab tracking event pull_package551 behaves like successfully returning the file552 returns the file553 behaves like downloads with a job token554 with a running job555 allows download with job token556 with a finished job557 returns unauthorized error558 behaves like downloads with a deploy token559 successful download560 allows download with deploy token561 allows download with deploy token with only write_package_registry scope562 with a non existing maven path563 behaves like rejecting the request for non existing maven path564 rejects the request565 that is internal566 behaves like getting a file567 denies download when not enough permissions568 denies download when no private token569 does not allow download by a unauthorized deploy token with same id as a user with access570 behaves like tracking the file download event571 with jar file572 behaves like a package tracking event573 creates a gitlab tracking event pull_package574 behaves like successfully returning the file575 returns the file576 behaves like downloads with a job token577 with a running job578 allows download with job token579 with a finished job580 returns unauthorized error581 behaves like downloads with a deploy token582 successful download583 allows download with deploy token584 allows download with deploy token with only write_package_registry scope585 with a non existing maven path586 behaves like rejecting the request for non existing maven path587 rejects the request588 that is private589 behaves like getting a file590 denies download when not enough permissions591 denies download when no private token592 does not allow download by a unauthorized deploy token with same id as a user with access593 behaves like tracking the file download event594 with jar file595 behaves like a package tracking event596 creates a gitlab tracking event pull_package597 behaves like successfully returning the file598 returns the file599 behaves like downloads with a job token600 with a running job601 allows download with job token602 with a finished job603 returns unauthorized error604 behaves like downloads with a deploy token605 successful download606 allows download with deploy token607 allows download with deploy token with only write_package_registry scope608 with a non existing maven path609 behaves like rejecting the request for non existing maven path610 rejects the request611 project name is different from a package name612 rejects request613 HEAD /api/v4/packages/maven/*path/:file_name614 with check_maven_path_first enabled615 behaves like handling groups, subgroups and user namespaces for616 behaves like handling groups and subgroups for617 within a group618 that is public619 behaves like heading a file620 behaves like processing HEAD requests621 with object storage enabled622 non AWS provider623 does not generated a signed url for head624 with AWS provider625 generates a signed url for head626 with object storage disabled627 does not generate a signed url for head628 with a non existing maven path629 behaves like rejecting the request for non existing maven path630 rejects the request631 within a subgroup632 that is public633 behaves like heading a file634 behaves like processing HEAD requests635 with object storage enabled636 non AWS provider637 does not generated a signed url for head638 with AWS provider639 generates a signed url for head640 with object storage disabled641 does not generate a signed url for head642 with a non existing maven path643 behaves like rejecting the request for non existing maven path644 rejects the request645 within a user namespace646 that is public647 behaves like heading a file648 behaves like processing HEAD requests649 with object storage enabled650 non AWS provider651 does not generated a signed url for head652 with AWS provider653 generates a signed url for head654 with object storage disabled655 does not generate a signed url for head656 with a non existing maven path657 behaves like rejecting the request for non existing maven path658 rejects the request659 with check_maven_path_first disabled660 behaves like handling groups, subgroups and user namespaces for661 behaves like handling groups and subgroups for662 within a group663 that is public664 behaves like heading a file665 behaves like processing HEAD requests666 with object storage enabled667 non AWS provider668 does not generated a signed url for head669 with AWS provider670 generates a signed url for head671 with object storage disabled672 does not generate a signed url for head673 with a non existing maven path674 behaves like rejecting the request for non existing maven path675 rejects the request676 within a subgroup677 that is public678 behaves like heading a file679 behaves like processing HEAD requests680 with object storage enabled681 non AWS provider682 does not generated a signed url for head683 with AWS provider684 generates a signed url for head685 with object storage disabled686 does not generate a signed url for head687 with a non existing maven path688 behaves like rejecting the request for non existing maven path689 rejects the request690 within a user namespace691 that is public692 behaves like heading a file693 behaves like processing HEAD requests694 with object storage enabled695 non AWS provider696 does not generated a signed url for head697 with AWS provider698 generates a signed url for head699 with object storage disabled700 does not generate a signed url for head701 with a non existing maven path702 behaves like rejecting the request for non existing maven path703 rejects the request704 GET /api/v4/groups/:id/-/packages/maven/*path/:file_name705 a public project706 behaves like handling groups and subgroups for707 within a group708 that is public709 behaves like getting a file for a group710 returns sha1 of the file711 behaves like tracking the file download event712 with jar file713 behaves like a package tracking event714 creates a gitlab tracking event pull_package715 behaves like successfully returning the file716 returns the file717 with a non existing maven path718 behaves like rejecting the request for non existing maven path719 rejects the request720 within a subgroup721 that is public722 behaves like getting a file for a group723 returns sha1 of the file724 behaves like tracking the file download event725 with jar file726 behaves like a package tracking event727 creates a gitlab tracking event pull_package728 behaves like successfully returning the file729 returns the file730 with a non existing maven path731 behaves like rejecting the request for non existing maven path732 rejects the request733 internal project734 behaves like handling groups and subgroups for735 within a group736 that is internal737 behaves like getting a file for a group738 denies download when no private token739 behaves like tracking the file download event740 with jar file741 behaves like a package tracking event742 creates a gitlab tracking event pull_package743 behaves like successfully returning the file744 returns the file745 behaves like downloads with a job token746 with a running job747 allows download with job token748 with a finished job749 returns unauthorized error750 behaves like downloads with a deploy token751 successful download752 allows download with deploy token753 allows download with deploy token with only write_package_registry scope754 with a non existing maven path755 behaves like rejecting the request for non existing maven path756 rejects the request757 that is public758 behaves like getting a file for a group759 denies download when no private token760 behaves like tracking the file download event761 with jar file762 behaves like a package tracking event763 creates a gitlab tracking event pull_package764 behaves like successfully returning the file765 returns the file766 behaves like downloads with a job token767 with a running job768 allows download with job token769 with a finished job770 returns unauthorized error771 behaves like downloads with a deploy token772 successful download773 allows download with deploy token774 allows download with deploy token with only write_package_registry scope775 with a non existing maven path776 behaves like rejecting the request for non existing maven path777 rejects the request778 within a subgroup779 that is internal780 behaves like getting a file for a group781 denies download when no private token782 behaves like tracking the file download event783 with jar file784 behaves like a package tracking event785 creates a gitlab tracking event pull_package786 behaves like successfully returning the file787 returns the file788 behaves like downloads with a job token789 with a running job790 allows download with job token791 with a finished job792 returns unauthorized error793 behaves like downloads with a deploy token794 successful download795 allows download with deploy token796 allows download with deploy token with only write_package_registry scope797 with a non existing maven path798 behaves like rejecting the request for non existing maven path799 rejects the request800 that is public801 behaves like getting a file for a group802 denies download when no private token803 behaves like tracking the file download event804 with jar file805 behaves like a package tracking event806 creates a gitlab tracking event pull_package807 behaves like successfully returning the file808 returns the file809 behaves like downloads with a job token810 with a running job811 allows download with job token812 with a finished job813 returns unauthorized error814 behaves like downloads with a deploy token815 successful download816 allows download with deploy token817 allows download with deploy token with only write_package_registry scope818 with a non existing maven path819 behaves like rejecting the request for non existing maven path820 rejects the request821 private project822 behaves like handling groups and subgroups for823 within a group824 that is private825 behaves like getting a file for a group826 denies download when not enough permissions827 denies download when no private token828 behaves like tracking the file download event829 with jar file830 behaves like a package tracking event831 creates a gitlab tracking event pull_package832 behaves like successfully returning the file833 returns the file834 behaves like downloads with a job token835 with a running job836 allows download with job token837 with a finished job838 returns unauthorized error839 behaves like downloads with a deploy token840 successful download841 allows download with deploy token842 allows download with deploy token with only write_package_registry scope843 with a non existing maven path844 behaves like rejecting the request for non existing maven path845 rejects the request846 with group deploy token847 returns the file with only write_package_registry scope848 behaves like successfully returning the file849 returns the file850 with a non existing maven path851 behaves like rejecting the request for non existing maven path852 rejects the request853 that is internal854 behaves like getting a file for a group855 denies download when not enough permissions856 denies download when no private token857 behaves like tracking the file download event858 with jar file859 behaves like a package tracking event860 creates a gitlab tracking event pull_package861 behaves like successfully returning the file862 returns the file863 behaves like downloads with a job token864 with a running job865 allows download with job token866 with a finished job867 returns unauthorized error868 behaves like downloads with a deploy token869 successful download870 allows download with deploy token871 allows download with deploy token with only write_package_registry scope872 with a non existing maven path873 behaves like rejecting the request for non existing maven path874 rejects the request875 with group deploy token876 returns the file with only write_package_registry scope877 behaves like successfully returning the file878 returns the file879 with a non existing maven path880 behaves like rejecting the request for non existing maven path881 rejects the request882 that is public883 behaves like getting a file for a group884 denies download when not enough permissions885 denies download when no private token886 behaves like tracking the file download event887 with jar file888 behaves like a package tracking event889 creates a gitlab tracking event pull_package890 behaves like successfully returning the file891 returns the file892 behaves like downloads with a job token893 with a running job894 allows download with job token895 with a finished job896 returns unauthorized error897 behaves like downloads with a deploy token898 successful download899 allows download with deploy token900 allows download with deploy token with only write_package_registry scope901 with a non existing maven path902 behaves like rejecting the request for non existing maven path903 rejects the request904 with group deploy token905 returns the file with only write_package_registry scope906 behaves like successfully returning the file907 returns the file908 with a non existing maven path909 behaves like rejecting the request for non existing maven path910 rejects the request911 within a subgroup912 that is private913 behaves like getting a file for a group914 denies download when not enough permissions915 denies download when no private token916 behaves like tracking the file download event917 with jar file918 behaves like a package tracking event919 creates a gitlab tracking event pull_package920 behaves like successfully returning the file921 returns the file922 behaves like downloads with a job token923 with a running job924 allows download with job token925 with a finished job926 returns unauthorized error927 behaves like downloads with a deploy token928 successful download929 allows download with deploy token930 allows download with deploy token with only write_package_registry scope931 with a non existing maven path932 behaves like rejecting the request for non existing maven path933 rejects the request934 with group deploy token935 returns the file with only write_package_registry scope936 behaves like successfully returning the file937 returns the file938 with a non existing maven path939 behaves like rejecting the request for non existing maven path940 rejects the request941 that is internal942 behaves like getting a file for a group943 denies download when not enough permissions944 denies download when no private token945 behaves like tracking the file download event946 with jar file947 behaves like a package tracking event948 creates a gitlab tracking event pull_package949 behaves like successfully returning the file950 returns the file951 behaves like downloads with a job token952 with a running job953 allows download with job token954 with a finished job955 returns unauthorized error956 behaves like downloads with a deploy token957 successful download958 allows download with deploy token959 allows download with deploy token with only write_package_registry scope960 with a non existing maven path961 behaves like rejecting the request for non existing maven path962 rejects the request963 with group deploy token964 returns the file with only write_package_registry scope965 behaves like successfully returning the file966 returns the file967 with a non existing maven path968 behaves like rejecting the request for non existing maven path969 rejects the request970 that is public971 behaves like getting a file for a group972 denies download when not enough permissions973 denies download when no private token974 behaves like tracking the file download event975 with jar file976 behaves like a package tracking event977 creates a gitlab tracking event pull_package978 behaves like successfully returning the file979 returns the file980 behaves like downloads with a job token981 with a running job982 allows download with job token983 with a finished job984 returns unauthorized error985 behaves like downloads with a deploy token986 successful download987 allows download with deploy token988 allows download with deploy token with only write_package_registry scope989 with a non existing maven path990 behaves like rejecting the request for non existing maven path991 rejects the request992 with group deploy token993 returns the file with only write_package_registry scope994 behaves like successfully returning the file995 returns the file996 with a non existing maven path997 behaves like rejecting the request for non existing maven path998 rejects the request999 with a reporter from a subgroup accessing the root group1000 behaves like successfully returning the file1001 returns the file1002 with a non existing maven path1003 behaves like rejecting the request for non existing maven path1004 rejects the request1005 maven metadata file1006 in multiple versionless packages1007 downloads the file1008 in multiple snapshot packages1009 downloads the file1010 HEAD /api/v4/groups/:id/-/packages/maven/*path/:file_name1011 with check_maven_path_first enabled1012 behaves like handling groups and subgroups for1013 within a group1014 that is public1015 behaves like processing HEAD requests1016 with object storage enabled1017 non AWS provider1018 does not generated a signed url for head1019 with AWS provider1020 generates a signed url for head1021 with object storage disabled1022 does not generate a signed url for head1023 with a non existing maven path1024 behaves like rejecting the request for non existing maven path1025 rejects the request1026 within a subgroup1027 that is public1028 behaves like processing HEAD requests1029 with object storage enabled1030 non AWS provider1031 does not generated a signed url for head1032 with AWS provider1033 generates a signed url for head1034 with object storage disabled1035 does not generate a signed url for head1036 with a non existing maven path1037 behaves like rejecting the request for non existing maven path1038 rejects the request1039 with check_maven_path_first disabled1040 behaves like handling groups and subgroups for1041 within a group1042 that is public1043 behaves like processing HEAD requests1044 with object storage enabled1045 non AWS provider1046 does not generated a signed url for head1047 with AWS provider1048 generates a signed url for head1049 with object storage disabled1050 does not generate a signed url for head1051 with a non existing maven path1052 behaves like rejecting the request for non existing maven path1053 rejects the request1054 within a subgroup1055 that is public1056 behaves like processing HEAD requests1057 with object storage enabled1058 non AWS provider1059 does not generated a signed url for head1060 with AWS provider1061 generates a signed url for head1062 with object storage disabled1063 does not generate a signed url for head1064 with a non existing maven path1065 behaves like rejecting the request for non existing maven path1066 rejects the request1067 GET /api/v4/projects/:id/packages/maven/*path/:file_name1068 a public project1069 returns sha1 of the file1070 behaves like tracking the file download event1071 with jar file1072 behaves like a package tracking event1073 creates a gitlab tracking event pull_package1074 behaves like successfully returning the file1075 returns the file1076 when the repository is disabled1077 behaves like successfully returning the file1078 returns the file1079 with a non existing maven path1080 behaves like rejecting the request for non existing maven path1081 rejects the request1082 private project1083 denies download when not enough permissions1084 denies download when no private token1085 behaves like tracking the file download event1086 with jar file1087 behaves like a package tracking event1088 creates a gitlab tracking event pull_package1089 behaves like successfully returning the file1090 returns the file1091 behaves like downloads with a job token1092 with a running job1093 allows download with job token1094 with a finished job1095 returns unauthorized error1096 behaves like downloads with a deploy token1097 successful download1098 allows download with deploy token1099 allows download with deploy token with only write_package_registry scope1100 with a non existing maven path1101 behaves like rejecting the request for non existing maven path1102 rejects the request1103 HEAD /api/v4/projects/:id/packages/maven/*path/:file_name1104 with check_maven_path_first enabled1105 behaves like processing HEAD requests1106 with object storage enabled1107 non AWS provider1108 does not generated a signed url for head1109 with AWS provider1110 generates a signed url for head1111 with object storage disabled1112 does not generate a signed url for head1113 with a non existing maven path1114 behaves like rejecting the request for non existing maven path1115 rejects the request1116 with check_maven_path_first disabled1117 behaves like processing HEAD requests1118 with object storage enabled1119 non AWS provider1120 does not generated a signed url for head1121 with AWS provider1122 generates a signed url for head1123 with object storage disabled1124 does not generate a signed url for head1125 with a non existing maven path1126 behaves like rejecting the request for non existing maven path1127 rejects the request1128 PUT /api/v4/projects/:id/packages/maven/*path/:file_name/authorize1129 rejects a malicious request1130 authorizes posting package with a valid token1131 rejects request without a valid token1132 rejects request without a valid permission1133 rejects requests that did not go through gitlab-workhorse1134 authorizes upload with job token1135 authorizes upload with deploy token1136 rejects requests by a unauthorized deploy token with same id as a user with access1137 PUT /api/v4/projects/:id/packages/maven/*path/:file_name1138 rejects requests without a file from workhorse1139 rejects request without a token1140 without workhorse rewritten field1141 rejects the request1142 when params from workhorse are correct1143 rejects a malicious request1144 creates package and stores package file1145 allows upload with running job token1146 rejects upload without running job token1147 allows upload with deploy token1148 rejects uploads by a unauthorized deploy token with same id as a user with access1149 file size is too large1150 rejects the request1151 behaves like package workhorse uploads1152 without a workhorse header1153 logs an error1154 behaves like returning response status1155 returns forbidden1156 event tracking1157 behaves like a package tracking event1158 creates a gitlab tracking event push_package1159 when the package file fails to be created1160 behaves like not a package tracking event1161 does not create a gitlab tracking event1162 version is not correct1163 rejects request1164 when package duplicates are not allowed1165 rejects the request1166 when uploading to the versionless package which contains metadata about all versions1167 behaves like storing the package file1168 stores the file1169 when uploading different non-duplicate files to the same package1170 behaves like storing the package file1171 stores the file1172 when the package name matches the exception regex1173 behaves like storing the package file1174 stores the file1175 for sha1 file1176 checks the sha11177 for md5 file1178 returns an empty body1179API::Ci::Pipelines1180 GET /projects/:id/pipelines1181 behaves like pipelines visibility table1182 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001183 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1184 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001185 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1186 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001187 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1188 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001189 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1190 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001191 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1192 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4041193 is expected to match (a hash including "message")1194 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4041195 is expected to match (a hash including "message")1196 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001197 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1198 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001199 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1200 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001201 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1202 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001203 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1204 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001205 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1206 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001207 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1208 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001209 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1210 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001211 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1212 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001213 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1214 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4041215 is expected to match (a hash including "message")1216 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4041217 is expected to match (a hash including "message")1218 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031219 is expected to match (a hash including "message")1220 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001221 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1222 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001223 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1224 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001225 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1226 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001227 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1228 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001229 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1230 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001231 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1232 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001233 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1234 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001235 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1236 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4041237 is expected to match (a hash including "message")1238 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4041239 is expected to match (a hash including "message")1240 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001241 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1242 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001243 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1244 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001245 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1246 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001247 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1248 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001249 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1250 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001251 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1252 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001253 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1254 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001255 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1256 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001257 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1258 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4041259 is expected to match (a hash including "message")1260 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4041261 is expected to match (a hash including "message")1262 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031263 is expected to match (a hash including "message")1264 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001265 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1266 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001267 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1268 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001269 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1270 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001271 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1272 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001273 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1274 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001275 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1276 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001277 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1278 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001279 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1280 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4041281 is expected to match (a hash including "message")1282 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2001283 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1284 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001285 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1286 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001287 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1288 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001289 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1290 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001291 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1292 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001293 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1294 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001295 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1296 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001297 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1298 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001299 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1300 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001301 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1302 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4041303 is expected to match (a hash including "message")1304 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031305 is expected to match (a hash including "message")1306 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031307 is expected to match (a hash including "message")1308 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001309 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1310 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001311 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1312 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001313 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1314 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001315 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1316 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001317 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1318 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001319 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1320 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001321 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1322 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001323 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1324 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4041325 is expected to match (a hash including "message")1326 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4031327 is expected to match (a hash including "message")1328 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001329 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1330 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001331 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1332 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001333 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1334 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001335 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1336 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001337 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1338 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001339 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1340 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001341 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1342 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001343 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1344 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001345 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1346 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4041347 is expected to match (a hash including "message")1348 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031349 is expected to match (a hash including "message")1350 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031351 is expected to match (a hash including "message")1352 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001353 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1354 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001355 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1356 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001357 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1358 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001359 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1360 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001361 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1362 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001363 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1364 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001365 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1366 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001367 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1368 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 2001369 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1370 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2001371 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1372 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001373 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1374 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001375 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1376 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001377 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1378 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001379 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1380 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001381 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1382 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001383 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1384 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001385 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1386 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001387 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1388 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001389 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1390 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4031391 is expected to match (a hash including "message")1392 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031393 is expected to match (a hash including "message")1394 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031395 is expected to match (a hash including "message")1396 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001397 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1398 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001399 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1400 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001401 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1402 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001403 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1404 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001405 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1406 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001407 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1408 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001409 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1410 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001411 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1412 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4031413 is expected to match (a hash including "message")1414 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4031415 is expected to match (a hash including "message")1416 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001417 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1418 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001419 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1420 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001421 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1422 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001423 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1424 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001425 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1426 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001427 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1428 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001429 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1430 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001431 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1432 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001433 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1434 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4031435 is expected to match (a hash including "message")1436 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031437 is expected to match (a hash including "message")1438 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031439 is expected to match (a hash including "message")1440 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001441 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1442 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001443 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1444 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001445 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 2}))1446 authorized user1447 returns project pipelines1448 keys in the response1449 includes pipeline source1450 when parameter is passed1451 when scope is running1452 returns matched pipelines1453 when scope is pending1454 returns matched pipelines1455 when scope is finished1456 returns matched pipelines1457 when scope is branches or tags1458 when scope is branches1459 returns matched pipelines1460 when scope is tags1461 returns matched pipelines1462 when scope is invalid1463 returns bad_request1464 when status is created1465 returns matched pipelines1466 when status is waiting_for_resource1467 returns matched pipelines1468 when status is preparing1469 returns matched pipelines1470 when status is pending1471 returns matched pipelines1472 when status is running1473 returns matched pipelines1474 when status is success1475 returns matched pipelines1476 when status is failed1477 returns matched pipelines1478 when status is canceled1479 returns matched pipelines1480 when status is skipped1481 returns matched pipelines1482 when status is manual1483 returns matched pipelines1484 when status is scheduled1485 returns matched pipelines1486 when status is invalid1487 returns bad_request1488 when ref is specified1489 when ref exists1490 returns matched pipelines1491 when ref does not exist1492 returns empty1493 when username is specified1494 when username exists1495 returns matched pipelines1496 when username does not exist1497 returns empty1498 when yaml_errors is specified1499 when yaml_errors is true1500 returns matched pipelines1501 when yaml_errors is false1502 returns matched pipelines1503 when yaml_errors is invalid1504 returns bad_request1505 when updated_at filters are specified1506 returns pipelines with last update date in specified datetime range1507 when order_by and sort are specified1508 when order_by user_id1509 when sort parameter is valid1510 sorts as user_id: :desc1511 when sort parameter is invalid1512 returns bad_request1513 when order_by is invalid1514 returns bad_request1515 when a source is specified1516 returns matched pipelines1517 when source is invalid1518 returns bad_request1519 unauthorized user1520 does not return project pipelines1521 GET /projects/:id/pipelines/:pipeline_id/jobs1522 authorized user1523 returns pipeline jobs1524 returns correct values1525 returns pipeline data1526 avoids N+1 queries1527 behaves like a job with artifacts and trace1528 with artifacts and trace1529 returns artifacts and trace data1530 filter jobs with one scope element1531 is expected to all match (a hash including {"duration" => (be nil), "queued_duration" => (be >= 0.0)})1532 when filtering to only running jobs1533 is expected to all match (a hash including {"duration" => (be >= 0.0), "queued_duration" => (be >= 0.0)})1534 filter jobs with hash1535 is expected to respond with numeric status code bad_request1536 filter jobs with array of scope elements1537 is expected to be a kind of Array1538 respond 400 when scope contains invalid state1539 is expected to respond with numeric status code bad_request1540 jobs in different pipelines1541 excludes jobs from other pipelines1542 pipeline has retried jobs1543 does not return retried jobs by default1544 when include_retried is false1545 does not return retried jobs1546 when include_retried is true1547 returns retried jobs1548 no pipeline is found1549 does not return jobs1550 unauthorized user1551 when user is not logged in1552 does not return jobs1553 when user is guest1554 does not return jobs1555 GET /projects/:id/pipelines/:pipeline_id/bridges1556 authorized user1557 returns pipeline bridges1558 returns correct values1559 returns pipeline data1560 returns downstream pipeline data1561 avoids N+1 queries1562 filter bridges1563 with one scope element1564 skip_before_request1565 with array of scope elements1566 skip_before_request1567 respond 400 when scope contains invalid state1568 in an array1569 is expected to respond with numeric status code bad_request1570 in a hash1571 is expected to respond with numeric status code bad_request1572 in a string1573 is expected to respond with numeric status code bad_request1574 bridges in different pipelines1575 excludes bridges from other pipelines1576 no pipeline is found1577 does not return bridges1578 unauthorized user1579 when user is not logged in1580 does not return bridges1581 when user is guest1582 does not return bridges1583 when user has no read_build access for project1584 does not return bridges1585 POST /projects/:id/pipeline1586 authorized user1587 with gitlab-ci.yml1588 creates and returns a new pipeline1589 fails when using an invalid ref1590 variables given1591 creates and returns a new pipeline using the given variables1592 using variables conditions1593 creates and returns a new pipeline using the given variables1594 condition unmatch1595 doesn't create a job1596 without gitlab-ci.yml1597 without auto devops enabled1598 fails to create pipeline1599 unauthorized user1600 does not create pipeline1601 GET /projects/:id/pipelines/:pipeline_id1602 behaves like pipelines visibility table1603 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001604 is expected to match (match response schema "public_api/v4/pipeline/detail")1605 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001606 is expected to match (match response schema "public_api/v4/pipeline/detail")1607 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001608 is expected to match (match response schema "public_api/v4/pipeline/detail")1609 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001610 is expected to match (match response schema "public_api/v4/pipeline/detail")1611 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001612 is expected to match (match response schema "public_api/v4/pipeline/detail")1613 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4041614 is expected to match (a hash including "message")1615 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4041616 is expected to match (a hash including "message")1617 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001618 is expected to match (match response schema "public_api/v4/pipeline/detail")1619 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001620 is expected to match (match response schema "public_api/v4/pipeline/detail")1621 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001622 is expected to match (match response schema "public_api/v4/pipeline/detail")1623 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001624 is expected to match (match response schema "public_api/v4/pipeline/detail")1625 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001626 is expected to match (match response schema "public_api/v4/pipeline/detail")1627 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001628 is expected to match (match response schema "public_api/v4/pipeline/detail")1629 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001630 is expected to match (match response schema "public_api/v4/pipeline/detail")1631 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001632 is expected to match (match response schema "public_api/v4/pipeline/detail")1633 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001634 is expected to match (match response schema "public_api/v4/pipeline/detail")1635 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4041636 is expected to match (a hash including "message")1637 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4041638 is expected to match (a hash including "message")1639 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031640 is expected to match (a hash including "message")1641 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001642 is expected to match (match response schema "public_api/v4/pipeline/detail")1643 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001644 is expected to match (match response schema "public_api/v4/pipeline/detail")1645 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001646 is expected to match (match response schema "public_api/v4/pipeline/detail")1647 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001648 is expected to match (match response schema "public_api/v4/pipeline/detail")1649 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001650 is expected to match (match response schema "public_api/v4/pipeline/detail")1651 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001652 is expected to match (match response schema "public_api/v4/pipeline/detail")1653 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001654 is expected to match (match response schema "public_api/v4/pipeline/detail")1655 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001656 is expected to match (match response schema "public_api/v4/pipeline/detail")1657 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4041658 is expected to match (a hash including "message")1659 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4041660 is expected to match (a hash including "message")1661 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001662 is expected to match (match response schema "public_api/v4/pipeline/detail")1663 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001664 is expected to match (match response schema "public_api/v4/pipeline/detail")1665 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001666 is expected to match (match response schema "public_api/v4/pipeline/detail")1667 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001668 is expected to match (match response schema "public_api/v4/pipeline/detail")1669 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001670 is expected to match (match response schema "public_api/v4/pipeline/detail")1671 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001672 is expected to match (match response schema "public_api/v4/pipeline/detail")1673 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001674 is expected to match (match response schema "public_api/v4/pipeline/detail")1675 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001676 is expected to match (match response schema "public_api/v4/pipeline/detail")1677 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001678 is expected to match (match response schema "public_api/v4/pipeline/detail")1679 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4041680 is expected to match (a hash including "message")1681 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4041682 is expected to match (a hash including "message")1683 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031684 is expected to match (a hash including "message")1685 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001686 is expected to match (match response schema "public_api/v4/pipeline/detail")1687 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001688 is expected to match (match response schema "public_api/v4/pipeline/detail")1689 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001690 is expected to match (match response schema "public_api/v4/pipeline/detail")1691 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001692 is expected to match (match response schema "public_api/v4/pipeline/detail")1693 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001694 is expected to match (match response schema "public_api/v4/pipeline/detail")1695 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001696 is expected to match (match response schema "public_api/v4/pipeline/detail")1697 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001698 is expected to match (match response schema "public_api/v4/pipeline/detail")1699 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001700 is expected to match (match response schema "public_api/v4/pipeline/detail")1701 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4041702 is expected to match (a hash including "message")1703 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2001704 is expected to match (match response schema "public_api/v4/pipeline/detail")1705 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001706 is expected to match (match response schema "public_api/v4/pipeline/detail")1707 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001708 is expected to match (match response schema "public_api/v4/pipeline/detail")1709 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001710 is expected to match (match response schema "public_api/v4/pipeline/detail")1711 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001712 is expected to match (match response schema "public_api/v4/pipeline/detail")1713 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001714 is expected to match (match response schema "public_api/v4/pipeline/detail")1715 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001716 is expected to match (match response schema "public_api/v4/pipeline/detail")1717 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001718 is expected to match (match response schema "public_api/v4/pipeline/detail")1719 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001720 is expected to match (match response schema "public_api/v4/pipeline/detail")1721 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001722 is expected to match (match response schema "public_api/v4/pipeline/detail")1723 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4041724 is expected to match (a hash including "message")1725 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031726 is expected to match (a hash including "message")1727 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031728 is expected to match (a hash including "message")1729 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001730 is expected to match (match response schema "public_api/v4/pipeline/detail")1731 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001732 is expected to match (match response schema "public_api/v4/pipeline/detail")1733 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001734 is expected to match (match response schema "public_api/v4/pipeline/detail")1735 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001736 is expected to match (match response schema "public_api/v4/pipeline/detail")1737 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001738 is expected to match (match response schema "public_api/v4/pipeline/detail")1739 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001740 is expected to match (match response schema "public_api/v4/pipeline/detail")1741 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001742 is expected to match (match response schema "public_api/v4/pipeline/detail")1743 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001744 is expected to match (match response schema "public_api/v4/pipeline/detail")1745 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4041746 is expected to match (a hash including "message")1747 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4031748 is expected to match (a hash including "message")1749 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001750 is expected to match (match response schema "public_api/v4/pipeline/detail")1751 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001752 is expected to match (match response schema "public_api/v4/pipeline/detail")1753 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001754 is expected to match (match response schema "public_api/v4/pipeline/detail")1755 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001756 is expected to match (match response schema "public_api/v4/pipeline/detail")1757 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001758 is expected to match (match response schema "public_api/v4/pipeline/detail")1759 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001760 is expected to match (match response schema "public_api/v4/pipeline/detail")1761 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001762 is expected to match (match response schema "public_api/v4/pipeline/detail")1763 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001764 is expected to match (match response schema "public_api/v4/pipeline/detail")1765 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001766 is expected to match (match response schema "public_api/v4/pipeline/detail")1767 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4041768 is expected to match (a hash including "message")1769 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031770 is expected to match (a hash including "message")1771 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031772 is expected to match (a hash including "message")1773 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001774 is expected to match (match response schema "public_api/v4/pipeline/detail")1775 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001776 is expected to match (match response schema "public_api/v4/pipeline/detail")1777 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001778 is expected to match (match response schema "public_api/v4/pipeline/detail")1779 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001780 is expected to match (match response schema "public_api/v4/pipeline/detail")1781 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001782 is expected to match (match response schema "public_api/v4/pipeline/detail")1783 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001784 is expected to match (match response schema "public_api/v4/pipeline/detail")1785 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001786 is expected to match (match response schema "public_api/v4/pipeline/detail")1787 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001788 is expected to match (match response schema "public_api/v4/pipeline/detail")1789 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 2001790 is expected to match (match response schema "public_api/v4/pipeline/detail")1791 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2001792 is expected to match (match response schema "public_api/v4/pipeline/detail")1793 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001794 is expected to match (match response schema "public_api/v4/pipeline/detail")1795 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001796 is expected to match (match response schema "public_api/v4/pipeline/detail")1797 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001798 is expected to match (match response schema "public_api/v4/pipeline/detail")1799 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001800 is expected to match (match response schema "public_api/v4/pipeline/detail")1801 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001802 is expected to match (match response schema "public_api/v4/pipeline/detail")1803 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001804 is expected to match (match response schema "public_api/v4/pipeline/detail")1805 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001806 is expected to match (match response schema "public_api/v4/pipeline/detail")1807 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001808 is expected to match (match response schema "public_api/v4/pipeline/detail")1809 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001810 is expected to match (match response schema "public_api/v4/pipeline/detail")1811 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4031812 is expected to match (a hash including "message")1813 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031814 is expected to match (a hash including "message")1815 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031816 is expected to match (a hash including "message")1817 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001818 is expected to match (match response schema "public_api/v4/pipeline/detail")1819 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001820 is expected to match (match response schema "public_api/v4/pipeline/detail")1821 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001822 is expected to match (match response schema "public_api/v4/pipeline/detail")1823 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2001824 is expected to match (match response schema "public_api/v4/pipeline/detail")1825 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2001826 is expected to match (match response schema "public_api/v4/pipeline/detail")1827 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2001828 is expected to match (match response schema "public_api/v4/pipeline/detail")1829 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2001830 is expected to match (match response schema "public_api/v4/pipeline/detail")1831 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2001832 is expected to match (match response schema "public_api/v4/pipeline/detail")1833 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4031834 is expected to match (a hash including "message")1835 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4031836 is expected to match (a hash including "message")1837 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2001838 is expected to match (match response schema "public_api/v4/pipeline/detail")1839 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2001840 is expected to match (match response schema "public_api/v4/pipeline/detail")1841 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2001842 is expected to match (match response schema "public_api/v4/pipeline/detail")1843 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2001844 is expected to match (match response schema "public_api/v4/pipeline/detail")1845 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2001846 is expected to match (match response schema "public_api/v4/pipeline/detail")1847 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2001848 is expected to match (match response schema "public_api/v4/pipeline/detail")1849 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2001850 is expected to match (match response schema "public_api/v4/pipeline/detail")1851 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2001852 is expected to match (match response schema "public_api/v4/pipeline/detail")1853 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2001854 is expected to match (match response schema "public_api/v4/pipeline/detail")1855 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4031856 is expected to match (a hash including "message")1857 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4031858 is expected to match (a hash including "message")1859 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4031860 is expected to match (a hash including "message")1861 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2001862 is expected to match (match response schema "public_api/v4/pipeline/detail")1863 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2001864 is expected to match (match response schema "public_api/v4/pipeline/detail")1865 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2001866 is expected to match (match response schema "public_api/v4/pipeline/detail")1867 authorized user1868 exposes known attributes1869 returns project pipeline1870 returns 404 when it does not exist1871 with coverage1872 exposes the coverage1873 unauthorized user1874 does not return a project pipeline1875 when pipeline is a dangling pipeline1876 returns the specified pipeline1877 GET /projects/:id/pipelines/latest1878 authorized user1879 default repository branch1880 gets the latest pipleine1881 ref parameter1882 gets the latest pipleine1883 unauthorized user1884 does not return a project pipeline1885 GET /projects/:id/pipelines/:pipeline_id/variables1886 user is a mantainer1887 returns pipeline variables empty1888 with variables1889 returns pipeline variables1890 user is a developer1891 pipeline created by the developer user1892 returns pipeline variables1893 pipeline created is not created by the developer user1894 does not return pipeline variables1895 user is not a project member1896 does not return pipeline variables1897 DELETE /projects/:id/pipelines/:pipeline_id1898 authorized user1899 destroys the pipeline1900 returns 404 when it does not exist1901 does not log an audit event1902 when the pipeline has jobs1903 destroys associated jobs1904 unauthorized user1905 when user is not member1906 returns a 4041907 when user is developer1908 returns a 4031909 POST /projects/:id/pipelines/:pipeline_id/retry1910 authorized user1911 retries failed builds1912 unauthorized user1913 does not return a project pipeline1914 POST /projects/:id/pipelines/:pipeline_id/cancel1915 authorized user1916 retries failed builds1917 user without proper access rights1918 rejects the action1919 GET /projects/:id/pipelines/:pipeline_id/test_report1920 authorized user1921 when pipeline does not have a test report1922 returns an empty test report1923 when pipeline has a test report1924 returns the test report1925 when pipeline has corrupt test reports1926 returns a suite_error1927 unauthorized user1928 does not return project pipelines1929 GET /projects/:id/pipelines/:pipeline_id/test_report_summary1930 authorized user1931 when pipeline does not have a test report summary1932 returns an empty test report summary1933 when pipeline has a test report summary1934 returns the test report summary1935 unauthorized user1936 does not return project pipelines1937API::ConanProjectPackages1938 GET /api/v4/projects/:id/packages/conan/v1/ping1939 behaves like conan ping endpoint1940 responds with 200 OK when no token provided1941 packages feature disabled1942 responds with 404 Not Found1943 GET /api/v4/projects/:id/packages/conan/v1/conans/search1944 behaves like conan search endpoint1945 returns packages with a matching name1946 is expected to contain exactly "package-5/1.0.0@namespace41+project42/stable"1947 returns packages using a * wildcard1948 is expected to contain exactly "package-7/1.0.0@namespace43+project44/stable"1949 does not return non-matching packages1950 is expected to be blank1951 GET /api/v4/projects/:id/packages/conan/v1/users/authenticate1952 behaves like conan authenticate endpoint1953 responds with 401 Unauthorized when an invalid access token ID is provided1954 responds with 401 Unauthorized when invalid user is provided1955 responds with 401 Unauthorized when the provided JWT is signed with different secret1956 responds with 401 UnauthorizedOK when invalid JWT is provided1957 when using invalid token1958 responds with 4011959 when valid JWT access token is provided1960 responds with 2001961 token has valid validity time1962 with valid job token1963 responds with 2001964 with valid deploy token1965 responds with 2001966 GET /api/v4/projects/:id/packages/conan/v1/users/check_credentials1967 behaves like conan check_credentials endpoint1968 responds with a 200 OK with PAT1969 responds with a 401 Unauthorized when an invalid token is used1970 with job token1971 responds with a 200 OK with job token1972 with deploy token1973 responds with a 200 OK with job token1974 recipe endpoints1975 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel1976 behaves like recipe snapshot endpoint1977 behaves like rejects invalid recipe1978 with invalid recipe path1979 returns 4001980 behaves like rejects recipe for invalid project1981 with invalid project1982 behaves like not found request1983 returns not found1984 behaves like empty recipe for not found package1985 with invalid recipe url1986 returns not found1987 behaves like handling empty values for username and channel1988 username: "username", channel: "channel", status: :ok1989 returns the correct status code1990 username: "username", channel: "_", status: :bad_request1991 returns the correct status code1992 username: "_", channel: "channel", status: :bad_request_or_not_found1993 returns the correct status code1994 username: "_", channel: "_", status: :ok_or_not_found1995 returns the correct status code1996 with existing package1997 returns a hash of files with their md5 hashes1998 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference1999 behaves like package snapshot endpoint2000 behaves like rejects invalid recipe2001 with invalid recipe path2002 returns 4002003 behaves like rejects recipe for invalid project2004 with invalid project2005 behaves like not found request2006 returns not found2007 behaves like empty recipe for not found package2008 with invalid recipe url2009 returns not found2010 behaves like handling empty values for username and channel2011 username: "username", channel: "channel", status: :ok2012 returns the correct status code2013 username: "username", channel: "_", status: :bad_request2014 returns the correct status code2015 username: "_", channel: "channel", status: :bad_request_or_not_found2016 returns the correct status code2017 username: "_", channel: "_", status: :ok_or_not_found2018 returns the correct status code2019 with existing package2020 returns a hash of md5 values for the files2021 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/digest2022 behaves like recipe download_urls endpoint2023 behaves like rejects invalid recipe2024 with invalid recipe path2025 returns 4002026 behaves like rejects recipe for invalid project2027 with invalid project2028 behaves like not found request2029 returns not found2030 behaves like recipe download_urls2031 returns the download_urls for the recipe files2032 behaves like not selecting a package with the wrong type2033 with a nuget package with same name and version2034 calls the presenter with a nil package2035 behaves like handling empty values for username and channel2036 username: "username", channel: "channel", status: :ok2037 returns the correct status code2038 username: "username", channel: "_", status: :bad_request2039 returns the correct status code2040 username: "_", channel: "channel", status: :bad_request_or_not_found2041 returns the correct status code2042 username: "_", channel: "_", status: :ok_or_not_found2043 returns the correct status code2044 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls2045 behaves like package download_urls endpoint2046 behaves like rejects invalid recipe2047 with invalid recipe path2048 returns 4002049 behaves like rejects recipe for invalid project2050 with invalid project2051 behaves like not found request2052 returns not found2053 behaves like package download_urls2054 returns the download_urls for the package files2055 behaves like not selecting a package with the wrong type2056 with a nuget package with same name and version2057 calls the presenter with a nil package2058 behaves like handling empty values for username and channel2059 username: "username", channel: "channel", status: :ok2060 returns the correct status code2061 username: "username", channel: "_", status: :bad_request2062 returns the correct status code2063 username: "_", channel: "channel", status: :bad_request_or_not_found2064 returns the correct status code2065 username: "_", channel: "_", status: :ok_or_not_found2066 returns the correct status code2067 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/download_urls2068 behaves like recipe download_urls endpoint2069 behaves like rejects invalid recipe2070 with invalid recipe path2071 returns 4002072 behaves like rejects recipe for invalid project2073 with invalid project2074 behaves like not found request2075 returns not found2076 behaves like recipe download_urls2077 returns the download_urls for the recipe files2078 behaves like not selecting a package with the wrong type2079 with a nuget package with same name and version2080 calls the presenter with a nil package2081 behaves like handling empty values for username and channel2082 username: "username", channel: "channel", status: :ok2083 returns the correct status code2084 username: "username", channel: "_", status: :bad_request2085 returns the correct status code2086 username: "_", channel: "channel", status: :bad_request_or_not_found2087 returns the correct status code2088 username: "_", channel: "_", status: :ok_or_not_found2089 returns the correct status code2090 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/digest2091 behaves like package download_urls endpoint2092 behaves like rejects invalid recipe2093 with invalid recipe path2094 returns 4002095 behaves like rejects recipe for invalid project2096 with invalid project2097 behaves like not found request2098 returns not found2099 behaves like package download_urls2100 returns the download_urls for the package files2101 behaves like not selecting a package with the wrong type2102 with a nuget package with same name and version2103 calls the presenter with a nil package2104 behaves like handling empty values for username and channel2105 username: "username", channel: "channel", status: :ok2106 returns the correct status code2107 username: "username", channel: "_", status: :bad_request2108 returns the correct status code2109 username: "_", channel: "channel", status: :bad_request_or_not_found2110 returns the correct status code2111 username: "_", channel: "_", status: :ok_or_not_found2112 returns the correct status code2113 POST /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/upload_urls2114 behaves like recipe upload_urls endpoint2115 returns a set of upload urls for the files requested2116 behaves like rejects invalid recipe2117 with invalid recipe path2118 returns 4002119 behaves like rejects invalid upload_url params2120 with unaccepted json format2121 returns 4002122 behaves like handling empty values for username and channel2123 username: "username", channel: "channel", status: :ok2124 returns the correct status code2125 username: "username", channel: "_", status: :bad_request2126 returns the correct status code2127 username: "_", channel: "channel", status: :bad_request_or_not_found2128 returns the correct status code2129 username: "_", channel: "_", status: :ok_or_not_found2130 returns the correct status code2131 with conan_sources and conan_export files2132 returns upload urls for the additional files2133 with an invalid file2134 does not return the invalid file as an upload_url2135 POST /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls2136 behaves like package upload_urls endpoint2137 returns a set of upload urls for the files requested2138 behaves like rejects invalid recipe2139 with invalid recipe path2140 returns 4002141 behaves like rejects invalid upload_url params2142 with unaccepted json format2143 returns 4002144 behaves like handling empty values for username and channel2145 username: "username", channel: "channel", status: :ok2146 returns the correct status code2147 username: "username", channel: "_", status: :bad_request2148 returns the correct status code2149 username: "_", channel: "channel", status: :bad_request_or_not_found2150 returns the correct status code2151 username: "_", channel: "_", status: :ok_or_not_found2152 returns the correct status code2153 with invalid files2154 returns upload urls only for the valid requested files2155 DELETE /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel2156 behaves like delete package endpoint2157 returns unauthorized for users without valid permission2158 behaves like rejects invalid recipe2159 with invalid recipe path2160 returns 4002161 behaves like handling empty values for username and channel2162 username: "username", channel: "channel", status: :ok2163 returns the correct status code2164 username: "username", channel: "_", status: :bad_request2165 returns the correct status code2166 username: "_", channel: "channel", status: :bad_request_or_not_found2167 returns the correct status code2168 username: "_", channel: "_", status: :ok_or_not_found2169 returns the correct status code2170 with delete permissions2171 deletes a package2172 behaves like a gitlab tracking event2173 creates a gitlab tracking event delete_package2174 file upload endpoints2175 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:file_name/authorize2176 behaves like workhorse authorize endpoint2177 behaves like rejects invalid recipe2178 with invalid recipe path2179 returns 4002180 behaves like rejects invalid file_name2181 with invalid file_name2182 returns 4002183 behaves like workhorse authorization2184 authorizes posting package with a valid token2185 rejects request without a valid token2186 rejects request without a valid permission2187 rejects requests that bypassed gitlab-workhorse2188 when using remote storage2189 when direct upload is enabled2190 responds with status 200, location of package remote store and object details2191 when direct upload is disabled2192 handles as a local file2193 behaves like handling empty values for username and channel2194 username: "username", channel: "channel", status: :ok2195 returns the correct status code2196 username: "username", channel: "_", status: :bad_request2197 returns the correct status code2198 username: "_", channel: "channel", status: :bad_request_or_not_found2199 returns the correct status code2200 username: "_", channel: "_", status: :ok_or_not_found2201 returns the correct status code2202 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:conan_package_reference/:package_revision/:file_name/authorize2203 behaves like workhorse authorize endpoint2204 behaves like rejects invalid recipe2205 with invalid recipe path2206 returns 4002207 behaves like rejects invalid file_name2208 with invalid file_name2209 returns 4002210 behaves like workhorse authorization2211 authorizes posting package with a valid token2212 rejects request without a valid token2213 rejects request without a valid permission2214 rejects requests that bypassed gitlab-workhorse2215 when using remote storage2216 when direct upload is enabled2217 responds with status 200, location of package remote store and object details2218 when direct upload is disabled2219 handles as a local file2220 behaves like handling empty values for username and channel2221 username: "username", channel: "channel", status: :ok2222 returns the correct status code2223 username: "username", channel: "_", status: :bad_request2224 returns the correct status code2225 username: "_", channel: "channel", status: :bad_request_or_not_found2226 returns the correct status code2227 username: "_", channel: "_", status: :ok_or_not_found2228 returns the correct status code2229 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:file_name2230 behaves like workhorse recipe file upload endpoint2231 behaves like rejects invalid recipe2232 with invalid recipe path2233 returns 4002234 behaves like rejects invalid file_name2235 with invalid file_name2236 returns 4002237 behaves like uploads a package file2238 file size above maximum limit2239 handles as a local file2240 with object storage disabled2241 without a file from workhorse2242 rejects the request2243 with a file2244 behaves like package workhorse uploads2245 without a workhorse header2246 logs an error2247 behaves like returning response status2248 returns forbidden2249 without a token2250 rejects request without a token2251 when params from workhorse are correct2252 creates package and stores package file2253 doesn't attempt to migrate file to object storage2254 with object storage enabled2255 and direct upload enabled2256 with invalid remote_id: 1231232257 responds with status 4032258 with invalid remote_id: ../../1231232259 responds with status 4032260 with valid remote_id2261 creates package and stores package file2262 behaves like background upload schedules a file migration2263 background upload enabled2264 schedules migration of file to object storage2265 behaves like handling empty values for username and channel2266 username: "username", channel: "channel", status: :ok2267 returns the correct status code2268 username: "username", channel: "_", status: :bad_request2269 returns the correct status code2270 username: "_", channel: "channel", status: :bad_request_or_not_found2271 returns the correct status code2272 username: "_", channel: "_", status: :ok_or_not_found2273 returns the correct status code2274 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:conan_package_reference/:package_revision/:file_name2275 behaves like workhorse package file upload endpoint2276 behaves like rejects invalid recipe2277 with invalid recipe path2278 returns 4002279 behaves like rejects invalid file_name2280 with invalid file_name2281 returns 4002282 behaves like uploads a package file2283 file size above maximum limit2284 handles as a local file2285 with object storage disabled2286 without a file from workhorse2287 rejects the request2288 with a file2289 behaves like package workhorse uploads2290 without a workhorse header2291 logs an error2292 behaves like returning response status2293 returns forbidden2294 without a token2295 rejects request without a token2296 when params from workhorse are correct2297 creates package and stores package file2298 doesn't attempt to migrate file to object storage2299 with object storage enabled2300 and direct upload enabled2301 with invalid remote_id: 1231232302 responds with status 4032303 with invalid remote_id: ../../1231232304 responds with status 4032305 with valid remote_id2306 creates package and stores package file2307 behaves like background upload schedules a file migration2308 background upload enabled2309 schedules migration of file to object storage2310 behaves like handling empty values for username and channel2311 username: "username", channel: "channel", status: :ok2312 returns the correct status code2313 username: "username", channel: "_", status: :bad_request2314 returns the correct status code2315 username: "_", channel: "channel", status: :bad_request_or_not_found2316 returns the correct status code2317 username: "_", channel: "_", status: :ok_or_not_found2318 returns the correct status code2319 tracking the conan_package.tgz upload2320 behaves like a gitlab tracking event2321 creates a gitlab tracking event push_package2322getting merge request listings nested in a project2323 behaves like a working graphql query2324DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2325DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2326DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2327DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2328DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2329DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2330DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2331DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2332DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2333DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2334DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2335DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2336DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2337DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2338DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2339DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2340DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2341DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2342DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2343DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2344DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2345DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2346DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2347DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2348DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2349DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2350DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2351DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2352DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2353DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2354 returns a successful response2355 when requesting a single field2356 when selecting any single scalar field2357 field: "id"2358 selects the correct MR2359 field: "iid"2360 selects the correct MR2361 field: "title"2362 selects the correct MR2363 field: "titleHtml"2364 selects the correct MR2365 field: "description"2366 selects the correct MR2367 field: "descriptionHtml"2368 selects the correct MR2369 field: "state"2370 selects the correct MR2371 field: "createdAt"2372 selects the correct MR2373 field: "updatedAt"2374 selects the correct MR2375 field: "mergedAt"2376 selects the correct MR2377 field: "projectId"2378 selects the correct MR2379 field: "sourceProjectId"2380 selects the correct MR2381 field: "targetProjectId"2382 selects the correct MR2383 field: "sourceBranch"2384 selects the correct MR2385 field: "sourceBranchProtected"2386 selects the correct MR2387 field: "targetBranch"2388 selects the correct MR2389 field: "draft"2390 selects the correct MR2391 field: "mergeWhenPipelineSucceeds"2392 selects the correct MR2393 field: "diffHeadSha"2394 selects the correct MR2395 field: "mergeCommitSha"2396 selects the correct MR2397 field: "userNotesCount"2398 selects the correct MR2399 field: "userDiscussionsCount"2400 selects the correct MR2401 field: "shouldRemoveSourceBranch"2402 selects the correct MR2403 field: "forceRemoveSourceBranch"2404 selects the correct MR2405 field: "mergeStatus"2406 selects the correct MR2407 field: "mergeStatusEnum"2408 selects the correct MR2409 field: "inProgressMergeCommitSha"2410 selects the correct MR2411 field: "mergeError"2412 selects the correct MR2413 field: "allowCollaboration"2414 selects the correct MR2415 field: "shouldBeRebased"2416 selects the correct MR2417 field: "rebaseCommitSha"2418 selects the correct MR2419 field: "rebaseInProgress"2420 selects the correct MR2421 field: "defaultMergeCommitMessage"2422 selects the correct MR2423 field: "defaultMergeCommitMessageWithDescription"2424 selects the correct MR2425 field: "defaultSquashCommitMessage"2426 selects the correct MR2427 field: "mergeOngoing"2428 selects the correct MR2429 field: "sourceBranchExists"2430 selects the correct MR2431 field: "targetBranchExists"2432 selects the correct MR2433 field: "divergedFromTargetBranch"2434 selects the correct MR2435 field: "mergeableDiscussionsState"2436 selects the correct MR2437 field: "webUrl"2438 selects the correct MR2439 field: "upvotes"2440 selects the correct MR2441 field: "downvotes"2442 selects the correct MR2443 field: "subscribed"2444 selects the correct MR2445 field: "discussionLocked"2446 selects the correct MR2447 field: "timeEstimate"2448 selects the correct MR2449 field: "totalTimeSpent"2450 selects the correct MR2451 field: "humanTimeEstimate"2452 selects the correct MR2453 field: "humanTotalTimeSpent"2454 selects the correct MR2455 field: "reference"2456 selects the correct MR2457 field: "commitCount"2458 selects the correct MR2459 field: "conflicts"2460 selects the correct MR2461 field: "autoMergeEnabled"2462 selects the correct MR2463 field: "squashOnMerge"2464 selects the correct MR2465 field: "squash"2466 selects the correct MR2467 field: "availableAutoMergeStrategies"2468 selects the correct MR2469 field: "hasCi"2470 selects the correct MR2471 field: "mergeable"2472 selects the correct MR2473 field: "securityAutoFix"2474 selects the correct MR2475 field: "autoMergeStrategy"2476 selects the correct MR2477 field: "approved"2478 selects the correct MR2479 field: "approvalsLeft"2480 selects the correct MR2481 field: "approvalsRequired"2482 selects the correct MR2483 field: "mergeTrainsCount"2484 selects the correct MR2485 field: "hasSecurityReports"2486 selects the correct MR2487 field: "securityReportsUpToDateOnTargetBranch"2488 selects the correct MR2489 when selecting any single nested field2490 field: "notes", subfield: "resolved", is_connection: true2491 selects the correct MR2492 field: "notes", subfield: "resolvable", is_connection: true2493 selects the correct MR2494 field: "notes", subfield: "resolvedAt", is_connection: true2495 selects the correct MR2496 field: "notes", subfield: "id", is_connection: true2497 selects the correct MR2498 field: "notes", subfield: "system", is_connection: true2499 selects the correct MR2500 field: "notes", subfield: "systemNoteIconName", is_connection: true2501 selects the correct MR2502 field: "notes", subfield: "body", is_connection: true2503 selects the correct MR2504 field: "notes", subfield: "bodyHtml", is_connection: true2505 selects the correct MR2506 field: "notes", subfield: "createdAt", is_connection: true2507 selects the correct MR2508 field: "notes", subfield: "updatedAt", is_connection: true2509 selects the correct MR2510 field: "notes", subfield: "confidential", is_connection: true2511 selects the correct MR2512 field: "notes", subfield: "url", is_connection: true2513 selects the correct MR2514 field: "discussions", subfield: "resolved", is_connection: true2515 selects the correct MR2516 field: "discussions", subfield: "resolvable", is_connection: true2517 selects the correct MR2518 field: "discussions", subfield: "resolvedAt", is_connection: true2519 selects the correct MR2520 field: "discussions", subfield: "id", is_connection: true2521 selects the correct MR2522 field: "discussions", subfield: "replyId", is_connection: true2523 selects the correct MR2524 field: "discussions", subfield: "createdAt", is_connection: true2525 selects the correct MR2526 field: "currentUserTodos", subfield: "id", is_connection: true2527 selects the correct MR2528 field: "currentUserTodos", subfield: "action", is_connection: true2529 selects the correct MR2530 field: "currentUserTodos", subfield: "targetType", is_connection: true2531 selects the correct MR2532 field: "currentUserTodos", subfield: "body", is_connection: true2533 selects the correct MR2534 field: "currentUserTodos", subfield: "state", is_connection: true2535 selects the correct MR2536 field: "currentUserTodos", subfield: "createdAt", is_connection: true2537 selects the correct MR2538 field: "userPermissions", subfield: "readMergeRequest", is_connection: false2539 selects the correct MR2540 field: "userPermissions", subfield: "adminMergeRequest", is_connection: false2541 selects the correct MR2542 field: "userPermissions", subfield: "updateMergeRequest", is_connection: false2543 selects the correct MR2544 field: "userPermissions", subfield: "createNote", is_connection: false2545 selects the correct MR2546 field: "userPermissions", subfield: "pushToSourceBranch", is_connection: false2547 selects the correct MR2548 field: "userPermissions", subfield: "removeSourceBranch", is_connection: false2549 selects the correct MR2550 field: "userPermissions", subfield: "cherryPickOnCurrentMergeRequest", is_connection: false2551 selects the correct MR2552 field: "userPermissions", subfield: "revertOnCurrentMergeRequest", is_connection: false2553 selects the correct MR2554 field: "userPermissions", subfield: "canMerge", is_connection: false2555 selects the correct MR2556 field: "sourceProject", subfield: "id", is_connection: false2557 selects the correct MR2558 field: "sourceProject", subfield: "fullPath", is_connection: false2559 selects the correct MR2560 field: "sourceProject", subfield: "path", is_connection: false2561 selects the correct MR2562 field: "sourceProject", subfield: "nameWithNamespace", is_connection: false2563 selects the correct MR2564 field: "sourceProject", subfield: "name", is_connection: false2565 selects the correct MR2566 field: "sourceProject", subfield: "description", is_connection: false2567 selects the correct MR2568 field: "sourceProject", subfield: "descriptionHtml", is_connection: false2569 selects the correct MR2570 field: "sourceProject", subfield: "tagList", is_connection: false2571 selects the correct MR2572 field: "sourceProject", subfield: "topics", is_connection: false2573 selects the correct MR2574 field: "sourceProject", subfield: "sshUrlToRepo", is_connection: false2575 selects the correct MR2576 field: "sourceProject", subfield: "httpUrlToRepo", is_connection: false2577 selects the correct MR2578 field: "sourceProject", subfield: "webUrl", is_connection: false2579 selects the correct MR2580 field: "sourceProject", subfield: "starCount", is_connection: false2581 selects the correct MR2582 field: "sourceProject", subfield: "forksCount", is_connection: false2583DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2584 selects the correct MR2585 field: "sourceProject", subfield: "createdAt", is_connection: false2586 selects the correct MR2587 field: "sourceProject", subfield: "lastActivityAt", is_connection: false2588 selects the correct MR2589 field: "sourceProject", subfield: "archived", is_connection: false2590 selects the correct MR2591 field: "sourceProject", subfield: "visibility", is_connection: false2592 selects the correct MR2593 field: "sourceProject", subfield: "sharedRunnersEnabled", is_connection: false2594 selects the correct MR2595 field: "sourceProject", subfield: "lfsEnabled", is_connection: false2596 selects the correct MR2597 field: "sourceProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false2598 selects the correct MR2599 field: "sourceProject", subfield: "serviceDeskEnabled", is_connection: false2600 selects the correct MR2601 field: "sourceProject", subfield: "serviceDeskAddress", is_connection: false2602 selects the correct MR2603 field: "sourceProject", subfield: "avatarUrl", is_connection: false2604 selects the correct MR2605 field: "sourceProject", subfield: "issuesEnabled", is_connection: false2606 selects the correct MR2607 field: "sourceProject", subfield: "mergeRequestsEnabled", is_connection: false2608 selects the correct MR2609 field: "sourceProject", subfield: "wikiEnabled", is_connection: false2610 selects the correct MR2611 field: "sourceProject", subfield: "snippetsEnabled", is_connection: false2612 selects the correct MR2613 field: "sourceProject", subfield: "containerRegistryEnabled", is_connection: false2614 selects the correct MR2615 field: "sourceProject", subfield: "jobsEnabled", is_connection: false2616 selects the correct MR2617 field: "sourceProject", subfield: "publicJobs", is_connection: false2618 selects the correct MR2619 field: "sourceProject", subfield: "openIssuesCount", is_connection: false2620DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2621 selects the correct MR2622 field: "sourceProject", subfield: "importStatus", is_connection: false2623 selects the correct MR2624 field: "sourceProject", subfield: "jiraImportStatus", is_connection: false2625 selects the correct MR2626 field: "sourceProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false2627 selects the correct MR2628 field: "sourceProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false2629 selects the correct MR2630 field: "sourceProject", subfield: "requestAccessEnabled", is_connection: false2631 selects the correct MR2632 field: "sourceProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false2633 selects the correct MR2634 field: "sourceProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false2635 selects the correct MR2636 field: "sourceProject", subfield: "removeSourceBranchAfterMerge", is_connection: false2637 selects the correct MR2638 field: "sourceProject", subfield: "autocloseReferencedIssues", is_connection: false2639 selects the correct MR2640 field: "sourceProject", subfield: "suggestionCommitMessage", is_connection: false2641 selects the correct MR2642 field: "sourceProject", subfield: "squashReadOnly", is_connection: false2643 selects the correct MR2644 field: "sourceProject", subfield: "containerRepositoriesCount", is_connection: false2645 selects the correct MR2646 field: "sourceProject", subfield: "mergeCommitTemplate", is_connection: false2647 selects the correct MR2648 field: "sourceProject", subfield: "squashCommitTemplate", is_connection: false2649 selects the correct MR2650 field: "sourceProject", subfield: "securityDashboardPath", is_connection: false2651 selects the correct MR2652 field: "sourceProject", subfield: "repositorySizeExcess", is_connection: false2653 selects the correct MR2654 field: "sourceProject", subfield: "actualRepositorySizeLimit", is_connection: false2655 selects the correct MR2656 field: "targetProject", subfield: "id", is_connection: false2657 selects the correct MR2658 field: "targetProject", subfield: "fullPath", is_connection: false2659 selects the correct MR2660 field: "targetProject", subfield: "path", is_connection: false2661 selects the correct MR2662 field: "targetProject", subfield: "nameWithNamespace", is_connection: false2663 selects the correct MR2664 field: "targetProject", subfield: "name", is_connection: false2665 selects the correct MR2666 field: "targetProject", subfield: "description", is_connection: false2667 selects the correct MR2668 field: "targetProject", subfield: "descriptionHtml", is_connection: false2669 selects the correct MR2670 field: "targetProject", subfield: "tagList", is_connection: false2671 selects the correct MR2672 field: "targetProject", subfield: "topics", is_connection: false2673 selects the correct MR2674 field: "targetProject", subfield: "sshUrlToRepo", is_connection: false2675 selects the correct MR2676 field: "targetProject", subfield: "httpUrlToRepo", is_connection: false2677 selects the correct MR2678 field: "targetProject", subfield: "webUrl", is_connection: false2679 selects the correct MR2680 field: "targetProject", subfield: "starCount", is_connection: false2681 selects the correct MR2682 field: "targetProject", subfield: "forksCount", is_connection: false2683DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2684 selects the correct MR2685 field: "targetProject", subfield: "createdAt", is_connection: false2686 selects the correct MR2687 field: "targetProject", subfield: "lastActivityAt", is_connection: false2688 selects the correct MR2689 field: "targetProject", subfield: "archived", is_connection: false2690 selects the correct MR2691 field: "targetProject", subfield: "visibility", is_connection: false2692 selects the correct MR2693 field: "targetProject", subfield: "sharedRunnersEnabled", is_connection: false2694 selects the correct MR2695 field: "targetProject", subfield: "lfsEnabled", is_connection: false2696 selects the correct MR2697 field: "targetProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false2698 selects the correct MR2699 field: "targetProject", subfield: "serviceDeskEnabled", is_connection: false2700 selects the correct MR2701 field: "targetProject", subfield: "serviceDeskAddress", is_connection: false2702 selects the correct MR2703 field: "targetProject", subfield: "avatarUrl", is_connection: false2704 selects the correct MR2705 field: "targetProject", subfield: "issuesEnabled", is_connection: false2706 selects the correct MR2707 field: "targetProject", subfield: "mergeRequestsEnabled", is_connection: false2708 selects the correct MR2709 field: "targetProject", subfield: "wikiEnabled", is_connection: false2710 selects the correct MR2711 field: "targetProject", subfield: "snippetsEnabled", is_connection: false2712 selects the correct MR2713 field: "targetProject", subfield: "containerRegistryEnabled", is_connection: false2714 selects the correct MR2715 field: "targetProject", subfield: "jobsEnabled", is_connection: false2716 selects the correct MR2717 field: "targetProject", subfield: "publicJobs", is_connection: false2718 selects the correct MR2719 field: "targetProject", subfield: "openIssuesCount", is_connection: false2720DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2721 selects the correct MR2722 field: "targetProject", subfield: "importStatus", is_connection: false2723 selects the correct MR2724 field: "targetProject", subfield: "jiraImportStatus", is_connection: false2725 selects the correct MR2726 field: "targetProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false2727 selects the correct MR2728 field: "targetProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false2729 selects the correct MR2730 field: "targetProject", subfield: "requestAccessEnabled", is_connection: false2731 selects the correct MR2732 field: "targetProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false2733 selects the correct MR2734 field: "targetProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false2735 selects the correct MR2736 field: "targetProject", subfield: "removeSourceBranchAfterMerge", is_connection: false2737 selects the correct MR2738 field: "targetProject", subfield: "autocloseReferencedIssues", is_connection: false2739 selects the correct MR2740 field: "targetProject", subfield: "suggestionCommitMessage", is_connection: false2741 selects the correct MR2742 field: "targetProject", subfield: "squashReadOnly", is_connection: false2743 selects the correct MR2744 field: "targetProject", subfield: "containerRepositoriesCount", is_connection: false2745 selects the correct MR2746 field: "targetProject", subfield: "mergeCommitTemplate", is_connection: false2747 selects the correct MR2748 field: "targetProject", subfield: "squashCommitTemplate", is_connection: false2749 selects the correct MR2750 field: "targetProject", subfield: "securityDashboardPath", is_connection: false2751 selects the correct MR2752 field: "targetProject", subfield: "repositorySizeExcess", is_connection: false2753 selects the correct MR2754 field: "targetProject", subfield: "actualRepositorySizeLimit", is_connection: false2755 selects the correct MR2756 field: "diffRefs", subfield: "headSha", is_connection: false2757 selects the correct MR2758 field: "diffRefs", subfield: "baseSha", is_connection: false2759 selects the correct MR2760 field: "diffRefs", subfield: "startSha", is_connection: false2761 selects the correct MR2762 field: "project", subfield: "id", is_connection: false2763 selects the correct MR2764 field: "project", subfield: "fullPath", is_connection: false2765 selects the correct MR2766 field: "project", subfield: "path", is_connection: false2767 selects the correct MR2768 field: "project", subfield: "nameWithNamespace", is_connection: false2769 selects the correct MR2770 field: "project", subfield: "name", is_connection: false2771 selects the correct MR2772 field: "project", subfield: "description", is_connection: false2773 selects the correct MR2774 field: "project", subfield: "descriptionHtml", is_connection: false2775 selects the correct MR2776 field: "project", subfield: "tagList", is_connection: false2777 selects the correct MR2778 field: "project", subfield: "topics", is_connection: false2779 selects the correct MR2780 field: "project", subfield: "sshUrlToRepo", is_connection: false2781 selects the correct MR2782 field: "project", subfield: "httpUrlToRepo", is_connection: false2783 selects the correct MR2784 field: "project", subfield: "webUrl", is_connection: false2785 selects the correct MR2786 field: "project", subfield: "starCount", is_connection: false2787 selects the correct MR2788 field: "project", subfield: "forksCount", is_connection: false2789DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2790 selects the correct MR2791 field: "project", subfield: "createdAt", is_connection: false2792 selects the correct MR2793 field: "project", subfield: "lastActivityAt", is_connection: false2794 selects the correct MR2795 field: "project", subfield: "archived", is_connection: false2796 selects the correct MR2797 field: "project", subfield: "visibility", is_connection: false2798 selects the correct MR2799 field: "project", subfield: "sharedRunnersEnabled", is_connection: false2800 selects the correct MR2801 field: "project", subfield: "lfsEnabled", is_connection: false2802 selects the correct MR2803 field: "project", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false2804 selects the correct MR2805 field: "project", subfield: "serviceDeskEnabled", is_connection: false2806 selects the correct MR2807 field: "project", subfield: "serviceDeskAddress", is_connection: false2808 selects the correct MR2809 field: "project", subfield: "avatarUrl", is_connection: false2810 selects the correct MR2811 field: "project", subfield: "issuesEnabled", is_connection: false2812 selects the correct MR2813 field: "project", subfield: "mergeRequestsEnabled", is_connection: false2814 selects the correct MR2815 field: "project", subfield: "wikiEnabled", is_connection: false2816 selects the correct MR2817 field: "project", subfield: "snippetsEnabled", is_connection: false2818 selects the correct MR2819 field: "project", subfield: "containerRegistryEnabled", is_connection: false2820 selects the correct MR2821 field: "project", subfield: "jobsEnabled", is_connection: false2822 selects the correct MR2823 field: "project", subfield: "publicJobs", is_connection: false2824 selects the correct MR2825 field: "project", subfield: "openIssuesCount", is_connection: false2826DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.2827 selects the correct MR2828 field: "project", subfield: "importStatus", is_connection: false2829 selects the correct MR2830 field: "project", subfield: "jiraImportStatus", is_connection: false2831 selects the correct MR2832 field: "project", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false2833 selects the correct MR2834 field: "project", subfield: "allowMergeOnSkippedPipeline", is_connection: false2835 selects the correct MR2836 field: "project", subfield: "requestAccessEnabled", is_connection: false2837 selects the correct MR2838 field: "project", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false2839 selects the correct MR2840 field: "project", subfield: "printingMergeRequestLinkEnabled", is_connection: false2841 selects the correct MR2842 field: "project", subfield: "removeSourceBranchAfterMerge", is_connection: false2843 selects the correct MR2844 field: "project", subfield: "autocloseReferencedIssues", is_connection: false2845 selects the correct MR2846 field: "project", subfield: "suggestionCommitMessage", is_connection: false2847 selects the correct MR2848 field: "project", subfield: "squashReadOnly", is_connection: false2849 selects the correct MR2850 field: "project", subfield: "containerRepositoriesCount", is_connection: false2851 selects the correct MR2852 field: "project", subfield: "mergeCommitTemplate", is_connection: false2853 selects the correct MR2854 field: "project", subfield: "squashCommitTemplate", is_connection: false2855 selects the correct MR2856 field: "project", subfield: "securityDashboardPath", is_connection: false2857 selects the correct MR2858 field: "project", subfield: "repositorySizeExcess", is_connection: false2859 selects the correct MR2860 field: "project", subfield: "actualRepositorySizeLimit", is_connection: false2861 selects the correct MR2862 field: "diffStats", subfield: "path", is_connection: false2863 selects the correct MR2864 field: "diffStats", subfield: "additions", is_connection: false2865 selects the correct MR2866 field: "diffStats", subfield: "deletions", is_connection: false2867 selects the correct MR2868 field: "diffStatsSummary", subfield: "additions", is_connection: false2869 selects the correct MR2870 field: "diffStatsSummary", subfield: "deletions", is_connection: false2871 selects the correct MR2872 field: "diffStatsSummary", subfield: "changes", is_connection: false2873 selects the correct MR2874 field: "diffStatsSummary", subfield: "fileCount", is_connection: false2875 selects the correct MR2876 field: "headPipeline", subfield: "id", is_connection: false2877 selects the correct MR2878 field: "headPipeline", subfield: "iid", is_connection: false2879 selects the correct MR2880 field: "headPipeline", subfield: "sha", is_connection: false2881 selects the correct MR2882 field: "headPipeline", subfield: "beforeSha", is_connection: false2883 selects the correct MR2884 field: "headPipeline", subfield: "complete", is_connection: false2885 selects the correct MR2886 field: "headPipeline", subfield: "status", is_connection: false2887 selects the correct MR2888 field: "headPipeline", subfield: "warnings", is_connection: false2889 selects the correct MR2890 field: "headPipeline", subfield: "configSource", is_connection: false2891 selects the correct MR2892 field: "headPipeline", subfield: "duration", is_connection: false2893 selects the correct MR2894 field: "headPipeline", subfield: "queuedDuration", is_connection: false2895 selects the correct MR2896 field: "headPipeline", subfield: "coverage", is_connection: false2897 selects the correct MR2898 field: "headPipeline", subfield: "createdAt", is_connection: false2899 selects the correct MR2900 field: "headPipeline", subfield: "updatedAt", is_connection: false2901 selects the correct MR2902 field: "headPipeline", subfield: "startedAt", is_connection: false2903 selects the correct MR2904 field: "headPipeline", subfield: "finishedAt", is_connection: false2905 selects the correct MR2906 field: "headPipeline", subfield: "committedAt", is_connection: false2907 selects the correct MR2908 field: "headPipeline", subfield: "retryable", is_connection: false2909 selects the correct MR2910 field: "headPipeline", subfield: "cancelable", is_connection: false2911 selects the correct MR2912 field: "headPipeline", subfield: "path", is_connection: false2913 selects the correct MR2914 field: "headPipeline", subfield: "commitPath", is_connection: false2915 selects the correct MR2916 field: "headPipeline", subfield: "active", is_connection: false2917 selects the correct MR2918 field: "headPipeline", subfield: "usesNeeds", is_connection: false2919 selects the correct MR2920 field: "headPipeline", subfield: "ref", is_connection: false2921 selects the correct MR2922 field: "pipelines", subfield: "id", is_connection: true2923 selects the correct MR2924 field: "pipelines", subfield: "iid", is_connection: true2925 selects the correct MR2926 field: "pipelines", subfield: "sha", is_connection: true2927 selects the correct MR2928 field: "pipelines", subfield: "beforeSha", is_connection: true2929 selects the correct MR2930 field: "pipelines", subfield: "complete", is_connection: true2931 selects the correct MR2932 field: "pipelines", subfield: "status", is_connection: true2933 selects the correct MR2934 field: "pipelines", subfield: "warnings", is_connection: true2935 selects the correct MR2936 field: "pipelines", subfield: "configSource", is_connection: true2937 selects the correct MR2938 field: "pipelines", subfield: "duration", is_connection: true2939 selects the correct MR2940 field: "pipelines", subfield: "queuedDuration", is_connection: true2941 selects the correct MR2942 field: "pipelines", subfield: "coverage", is_connection: true2943 selects the correct MR2944 field: "pipelines", subfield: "createdAt", is_connection: true2945 selects the correct MR2946 field: "pipelines", subfield: "updatedAt", is_connection: true2947 selects the correct MR2948 field: "pipelines", subfield: "startedAt", is_connection: true2949 selects the correct MR2950 field: "pipelines", subfield: "finishedAt", is_connection: true2951 selects the correct MR2952 field: "pipelines", subfield: "committedAt", is_connection: true2953 selects the correct MR2954 field: "pipelines", subfield: "retryable", is_connection: true2955 selects the correct MR2956 field: "pipelines", subfield: "cancelable", is_connection: true2957 selects the correct MR2958 field: "pipelines", subfield: "path", is_connection: true2959 selects the correct MR2960 field: "pipelines", subfield: "commitPath", is_connection: true2961 selects the correct MR2962 field: "pipelines", subfield: "active", is_connection: true2963 selects the correct MR2964 field: "pipelines", subfield: "usesNeeds", is_connection: true2965 selects the correct MR2966 field: "pipelines", subfield: "ref", is_connection: true2967 selects the correct MR2968 field: "milestone", subfield: "id", is_connection: false2969 selects the correct MR2970 field: "milestone", subfield: "iid", is_connection: false2971 selects the correct MR2972 field: "milestone", subfield: "title", is_connection: false2973 selects the correct MR2974 field: "milestone", subfield: "description", is_connection: false2975 selects the correct MR2976 field: "milestone", subfield: "state", is_connection: false2977 selects the correct MR2978 field: "milestone", subfield: "expired", is_connection: false2979 selects the correct MR2980 field: "milestone", subfield: "webPath", is_connection: false2981 selects the correct MR2982 field: "milestone", subfield: "dueDate", is_connection: false2983 selects the correct MR2984 field: "milestone", subfield: "startDate", is_connection: false2985 selects the correct MR2986 field: "milestone", subfield: "createdAt", is_connection: false2987 selects the correct MR2988 field: "milestone", subfield: "updatedAt", is_connection: false2989 selects the correct MR2990 field: "milestone", subfield: "projectMilestone", is_connection: false2991 selects the correct MR2992 field: "milestone", subfield: "groupMilestone", is_connection: false2993 selects the correct MR2994 field: "milestone", subfield: "subgroupMilestone", is_connection: false2995 selects the correct MR2996 field: "assignees", subfield: "id", is_connection: true2997 selects the correct MR2998 field: "assignees", subfield: "bot", is_connection: true2999 selects the correct MR3000 field: "assignees", subfield: "username", is_connection: true3001 selects the correct MR3002 field: "assignees", subfield: "name", is_connection: true3003 selects the correct MR3004 field: "assignees", subfield: "state", is_connection: true3005 selects the correct MR3006 field: "assignees", subfield: "email", is_connection: true3007 selects the correct MR3008 field: "assignees", subfield: "publicEmail", is_connection: true3009 selects the correct MR3010 field: "assignees", subfield: "avatarUrl", is_connection: true3011 selects the correct MR3012 field: "assignees", subfield: "webUrl", is_connection: true3013 selects the correct MR3014 field: "assignees", subfield: "webPath", is_connection: true3015 selects the correct MR3016 field: "assignees", subfield: "groupCount", is_connection: true3017 selects the correct MR3018 field: "assignees", subfield: "location", is_connection: true3019 selects the correct MR3020 field: "reviewers", subfield: "id", is_connection: true3021 selects the correct MR3022 field: "reviewers", subfield: "bot", is_connection: true3023 selects the correct MR3024 field: "reviewers", subfield: "username", is_connection: true3025 selects the correct MR3026 field: "reviewers", subfield: "name", is_connection: true3027 selects the correct MR3028 field: "reviewers", subfield: "state", is_connection: true3029 selects the correct MR3030 field: "reviewers", subfield: "email", is_connection: true3031 selects the correct MR3032 field: "reviewers", subfield: "publicEmail", is_connection: true3033 selects the correct MR3034 field: "reviewers", subfield: "avatarUrl", is_connection: true3035 selects the correct MR3036 field: "reviewers", subfield: "webUrl", is_connection: true3037 selects the correct MR3038 field: "reviewers", subfield: "webPath", is_connection: true3039 selects the correct MR3040 field: "reviewers", subfield: "groupCount", is_connection: true3041 selects the correct MR3042 field: "reviewers", subfield: "location", is_connection: true3043 selects the correct MR3044 field: "author", subfield: "id", is_connection: false3045 selects the correct MR3046 field: "author", subfield: "bot", is_connection: false3047 selects the correct MR3048 field: "author", subfield: "username", is_connection: false3049 selects the correct MR3050 field: "author", subfield: "name", is_connection: false3051 selects the correct MR3052 field: "author", subfield: "state", is_connection: false3053 selects the correct MR3054 field: "author", subfield: "email", is_connection: false3055 selects the correct MR3056 field: "author", subfield: "publicEmail", is_connection: false3057 selects the correct MR3058 field: "author", subfield: "avatarUrl", is_connection: false3059 selects the correct MR3060 field: "author", subfield: "webUrl", is_connection: false3061 selects the correct MR3062 field: "author", subfield: "webPath", is_connection: false3063 selects the correct MR3064 field: "author", subfield: "groupCount", is_connection: false3065 selects the correct MR3066 field: "author", subfield: "location", is_connection: false3067 selects the correct MR3068 field: "participants", subfield: "id", is_connection: true3069 selects the correct MR3070 field: "participants", subfield: "bot", is_connection: true3071 selects the correct MR3072 field: "participants", subfield: "username", is_connection: true3073 selects the correct MR3074 field: "participants", subfield: "name", is_connection: true3075 selects the correct MR3076 field: "participants", subfield: "state", is_connection: true3077 selects the correct MR3078 field: "participants", subfield: "email", is_connection: true3079 selects the correct MR3080 field: "participants", subfield: "publicEmail", is_connection: true3081 selects the correct MR3082 field: "participants", subfield: "avatarUrl", is_connection: true3083 selects the correct MR3084 field: "participants", subfield: "webUrl", is_connection: true3085 selects the correct MR3086 field: "participants", subfield: "webPath", is_connection: true3087 selects the correct MR3088 field: "participants", subfield: "groupCount", is_connection: true3089 selects the correct MR3090 field: "participants", subfield: "location", is_connection: true3091 selects the correct MR3092 field: "labels", subfield: "id", is_connection: true3093 selects the correct MR3094 field: "labels", subfield: "description", is_connection: true3095 selects the correct MR3096 field: "labels", subfield: "descriptionHtml", is_connection: true3097 selects the correct MR3098 field: "labels", subfield: "title", is_connection: true3099 selects the correct MR3100 field: "labels", subfield: "color", is_connection: true3101 selects the correct MR3102 field: "labels", subfield: "textColor", is_connection: true3103 selects the correct MR3104 field: "labels", subfield: "createdAt", is_connection: true3105 selects the correct MR3106 field: "labels", subfield: "updatedAt", is_connection: true3107 selects the correct MR3108 field: "taskCompletionStatus", subfield: "count", is_connection: false3109 selects the correct MR3110 field: "taskCompletionStatus", subfield: "completedCount", is_connection: false3111 selects the correct MR3112 field: "approvedBy", subfield: "id", is_connection: true3113 selects the correct MR3114 field: "approvedBy", subfield: "bot", is_connection: true3115 selects the correct MR3116 field: "approvedBy", subfield: "username", is_connection: true3117 selects the correct MR3118 field: "approvedBy", subfield: "name", is_connection: true3119 selects the correct MR3120 field: "approvedBy", subfield: "state", is_connection: true3121 selects the correct MR3122 field: "approvedBy", subfield: "email", is_connection: true3123 selects the correct MR3124 field: "approvedBy", subfield: "publicEmail", is_connection: true3125 selects the correct MR3126 field: "approvedBy", subfield: "avatarUrl", is_connection: true3127 selects the correct MR3128 field: "approvedBy", subfield: "webUrl", is_connection: true3129 selects the correct MR3130 field: "approvedBy", subfield: "webPath", is_connection: true3131 selects the correct MR3132 field: "approvedBy", subfield: "groupCount", is_connection: true3133 selects the correct MR3134 field: "approvedBy", subfield: "location", is_connection: true3135 selects the correct MR3136 field: "commitsWithoutMergeCommits", subfield: "id", is_connection: true3137 selects the correct MR3138 field: "commitsWithoutMergeCommits", subfield: "sha", is_connection: true3139 selects the correct MR3140 field: "commitsWithoutMergeCommits", subfield: "shortId", is_connection: true3141 selects the correct MR3142 field: "commitsWithoutMergeCommits", subfield: "title", is_connection: true3143 selects the correct MR3144 field: "commitsWithoutMergeCommits", subfield: "titleHtml", is_connection: true3145 selects the correct MR3146 field: "commitsWithoutMergeCommits", subfield: "fullTitle", is_connection: true3147 selects the correct MR3148 field: "commitsWithoutMergeCommits", subfield: "fullTitleHtml", is_connection: true3149 selects the correct MR3150 field: "commitsWithoutMergeCommits", subfield: "description", is_connection: true3151 selects the correct MR3152 field: "commitsWithoutMergeCommits", subfield: "descriptionHtml", is_connection: true3153 selects the correct MR3154 field: "commitsWithoutMergeCommits", subfield: "message", is_connection: true3155 selects the correct MR3156 field: "commitsWithoutMergeCommits", subfield: "authoredDate", is_connection: true3157 selects the correct MR3158 field: "commitsWithoutMergeCommits", subfield: "webUrl", is_connection: true3159 selects the correct MR3160 field: "commitsWithoutMergeCommits", subfield: "webPath", is_connection: true3161 selects the correct MR3162 field: "commitsWithoutMergeCommits", subfield: "signatureHtml", is_connection: true3163 selects the correct MR3164 field: "commitsWithoutMergeCommits", subfield: "authorName", is_connection: true3165 selects the correct MR3166 field: "commitsWithoutMergeCommits", subfield: "authorGravatar", is_connection: true3167 selects the correct MR3168 field: "mergeUser", subfield: "id", is_connection: false3169 selects the correct MR3170 field: "mergeUser", subfield: "bot", is_connection: false3171 selects the correct MR3172 field: "mergeUser", subfield: "username", is_connection: false3173 selects the correct MR3174 field: "mergeUser", subfield: "name", is_connection: false3175 selects the correct MR3176 field: "mergeUser", subfield: "state", is_connection: false3177 selects the correct MR3178 field: "mergeUser", subfield: "email", is_connection: false3179 selects the correct MR3180 field: "mergeUser", subfield: "publicEmail", is_connection: false3181 selects the correct MR3182 field: "mergeUser", subfield: "avatarUrl", is_connection: false3183 selects the correct MR3184 field: "mergeUser", subfield: "webUrl", is_connection: false3185 selects the correct MR3186 field: "mergeUser", subfield: "webPath", is_connection: false3187 selects the correct MR3188 field: "mergeUser", subfield: "groupCount", is_connection: false3189 selects the correct MR3190 field: "mergeUser", subfield: "location", is_connection: false3191 selects the correct MR3192 field: "timelogs", subfield: "spentAt", is_connection: true3193 selects the correct MR3194 field: "timelogs", subfield: "timeSpent", is_connection: true3195 selects the correct MR3196 field: "timelogs", subfield: "summary", is_connection: true3197 selects the correct MR3198 field: "approvalState", subfield: "approvalRulesOverwritten", is_connection: false3199 selects the correct MR3200 when there are no search params3201 behaves like when searching with parameters3202 finds the right mrs3203 when the search params do not match anything3204 behaves like when searching with parameters3205 finds the right mrs3206 when searching by iids3207 behaves like when searching with parameters3208 finds the right mrs3209 when searching by state3210 behaves like when searching with parameters3211 finds the right mrs3212 when searching by source_branch3213 behaves like when searching with parameters3214 finds the right mrs3215 when searching by target_branch3216 behaves like when searching with parameters3217 finds the right mrs3218 when searching by label3219 behaves like when searching with parameters3220 finds the right mrs3221 when searching by combination3222 behaves like when searching with parameters3223 finds the right mrs3224 when requesting `approved_by`3225 exposes approver username3226 prevents N+1 queries3227 fields3228 when requesting `commit_count`3229 exposes `commit_count`3230 when requesting `merged_at`3231 prevents N+1 queries3232 when requesting `user_notes_count`3233 prevents N+1 queries3234 when requesting `user_discussions_count`3235 prevents N+1 queries3236 when requesting reviewers3237 returns the reviewers3238 prevents N+1 queries3239 performance3240 returns appropriate results3241 can lookahead to eliminate N+1 queries3242 sorting and pagination3243 when sorting by merged_at DESC3244 behaves like sorted paginated query3245 behaves like requires variables3246 shared example requires variables to be set3248 when sorting3249 sorts correctly3250 when paginating3251 paginates correctly3252 when last parameter is given3253 takes the last 2 records3254 when sorting by closed_at DESC3255 behaves like sorted paginated query3256 behaves like requires variables3257 shared example requires variables to be set3259 when sorting3260 sorts correctly3261 when paginating3262 paginates correctly3263 when last parameter is given3264 takes the last 2 records3265 when only the count is requested3266 when merged at filter is present3267 does not query the merge requests table for the count3268 returns the correct count3269 when total_time_to_merge and count is queried3270 does not query the merge requests table for the total_time_to_merge3271API::Files3272 http headers3273 converts value into string3274 raises exception if value is an Enumerable3275 HEAD /projects/:id/repository/files/:file_path3276 when unauthenticated and project is public3277 behaves like repository files3278 returns 400 when file path is invalid3279 returns file attributes in headers3280 caches sha256 of the content3281 returns file by commit sha3282 behaves like when path is absolute3283 returns 400 when file path is absolute3284 when mandatory params are not given3285 responds with a 400 status3286 when file_path does not exist3287 responds with a 404 status3288 when file_path does not exist3289 responds with a 403 status3290 when unauthenticated and project is private3291 responds with a 404 status3292 when PATs are used3293 behaves like repository files3294 returns 400 when file path is invalid3295 returns file attributes in headers3296 caches sha256 of the content3297 returns file by commit sha3298 behaves like when path is absolute3299 returns 400 when file path is absolute3300 when mandatory params are not given3301 responds with a 400 status3302 when file_path does not exist3303 responds with a 404 status3304 when file_path does not exist3305 responds with a 403 status3306 when authenticated as a developer3307 behaves like repository files3308 returns 400 when file path is invalid3309 returns file attributes in headers3310 caches sha256 of the content3311 returns file by commit sha3312 behaves like when path is absolute3313 returns 400 when file path is absolute3314 when mandatory params are not given3315 responds with a 400 status3316 when file_path does not exist3317 responds with a 404 status3318 when file_path does not exist3319 responds with a 403 status3320 when authenticated as a guest3321 behaves like 403 response3322 returns 4033323 GET /projects/:id/repository/files/:file_path3324 when unauthenticated and project is public3325 behaves like repository files3326 returns 400 for invalid file path3327 returns file attributes as json3328 returns json when file has txt extension3329 returns file by commit sha3330 returns raw file info3331 returns blame file info3332 sets inline content disposition by default3333 behaves like when path is absolute3334 returns 400 when file path is absolute3335 with filename with pathspec characters3336 returns JSON wth commit SHA3337 when mandatory params are not given3338 behaves like 400 response3339 returns 4003340 when file_path does not exist3341 behaves like 404 response3342 returns 4043343 when repository is disabled3344 behaves like 403 response3345 returns 4033346 when PATs are used3347 behaves like repository files3348 returns 400 for invalid file path3349 returns file attributes as json3350 returns json when file has txt extension3351 returns file by commit sha3352 returns raw file info3353 returns blame file info3354 sets inline content disposition by default3355 behaves like when path is absolute3356 returns 400 when file path is absolute3357 with filename with pathspec characters3358 returns JSON wth commit SHA3359 when mandatory params are not given3360 behaves like 400 response3361 returns 4003362 when file_path does not exist3363 behaves like 404 response3364 returns 4043365 when repository is disabled3366 behaves like 403 response3367 returns 4033368 when unauthenticated and project is private3369 behaves like 404 response3370 returns 4043371 when authenticated as a developer3372 behaves like repository files3373 returns 400 for invalid file path3374 returns file attributes as json3375 returns json when file has txt extension3376 returns file by commit sha3377 returns raw file info3378 returns blame file info3379 sets inline content disposition by default3380 behaves like when path is absolute3381 returns 400 when file path is absolute3382 with filename with pathspec characters3383 returns JSON wth commit SHA3384 when mandatory params are not given3385 behaves like 400 response3386 returns 4003387 when file_path does not exist3388 behaves like 404 response3389 returns 4043390 when repository is disabled3391 behaves like 403 response3392 returns 4033393 when authenticated as a guest3394 behaves like 403 response3395 returns 4033396 GET /projects/:id/repository/files/:file_path/blame3397 when unauthenticated and project is public3398 behaves like repository blame files3399 returns file attributes in headers3400 returns 400 when file path is invalid3401 returns blame file attributes as json3402 returns blame file info for files with dots3403 returns file by commit sha3404 behaves like when path is absolute3405 returns 400 when file path is absolute3406 when mandatory params are not given3407 behaves like 400 response3408 returns 4003409 when file_path does not exist3410 behaves like 404 response3411 returns 4043412 when commit does not exist3413 behaves like 404 response3414 returns 4043415 when repository is disabled3416 behaves like 403 response3417 returns 4033418 when unauthenticated and project is private3419 behaves like 404 response3420 returns 4043421 when authenticated as a developer3422 behaves like repository blame files3423 returns file attributes in headers3424 returns 400 when file path is invalid3425 returns blame file attributes as json3426 returns blame file info for files with dots3427 returns file by commit sha3428 behaves like when path is absolute3429 returns 400 when file path is absolute3430 when mandatory params are not given3431 behaves like 400 response3432 returns 4003433 when file_path does not exist3434 behaves like 404 response3435 returns 4043436 when commit does not exist3437 behaves like 404 response3438 returns 4043439 when repository is disabled3440 behaves like 403 response3441 returns 4033442 when authenticated as a guest3443 behaves like 403 response3444 returns 4033445 when PATs are used3446 returns blame file by commit sha3447 GET /projects/:id/repository/files/:file_path/raw3448 when unauthenticated and project is public3449 behaves like repository raw files3450 returns 400 when file path is invalid3451 returns raw file info3452 returns raw file info for files with dots3453 returns file by commit sha3454 sets no-cache headers3455 behaves like when path is absolute3456 returns 400 when file path is absolute3457 when ref is not provided3458 returns response :ok3459 when mandatory params are not given3460 behaves like 400 response3461 returns 4003462 when file_path does not exist3463 behaves like 404 response3464 returns 4043465 when repository is disabled3466 behaves like 403 response3467 returns 4033468 when unauthenticated and project is private3469 behaves like 404 response3470 returns 4043471 when authenticated as a developer3472 behaves like repository raw files3473 returns 400 when file path is invalid3474 returns raw file info3475 returns raw file info for files with dots3476 returns file by commit sha3477 sets no-cache headers3478 behaves like when path is absolute3479 returns 400 when file path is absolute3480 when ref is not provided3481 returns response :ok3482 when mandatory params are not given3483 behaves like 400 response3484 returns 4003485 when file_path does not exist3486 behaves like 404 response3487 returns 4043488 when repository is disabled3489 behaves like 403 response3490 returns 4033491 when authenticated as a guest3492 behaves like 403 response3493 returns 4033494 when PATs are used3495 returns file by commit sha3496 POST /projects/:id/repository/files/:file_path3497 returns 400 when file path is invalid3498 creates a new file in project repo3499 returns a 400 bad request if no mandatory params given3500 returns a 400 bad request if the commit message is empty3501 returns a 400 if editor fails to create file3502 behaves like when path is absolute3503 returns 400 when file path is absolute3504 with PATs3505 returns 403 with `read_repository` scope3506 returns 201 with `api` scope3507 when specifying an author3508 creates a new file with the specified author3509 when the repo is empty3510 creates a new file in project repo3511 PUT /projects/:id/repository/files3512 updates existing file in project repo3513 returns a 400 bad request if the commit message is empty3514 returns a 400 bad request if update existing file with stale last commit id3515 updates existing file in project repo with accepts correct last commit id3516 returns 400 when file path is invalid3517 returns a 400 bad request if no params given3518 behaves like when path is absolute3519 returns 400 when file path is absolute3520 when specifying an author3521 updates a file with the specified author3522 DELETE /projects/:id/repository/files3523 returns 400 when file path is invalid3524 deletes existing file in project repo3525 returns a 400 bad request if no params given3526 returns a 400 bad request if the commit message is empty3527 returns a 400 if fails to delete file3528 behaves like when path is absolute3529 returns 400 when file path is absolute3530 when specifying an author3531 removes a file with the specified author3532 POST /projects/:id/repository/files with binary file3533 remains unchanged3534Projects::NotesController3535 GET index3536 passes last_fetched_at from headers to NotesFinder and MergeIntoNotesService3537 when user notes_filter is present3538 filters system notes by comments3539 returns all notes3540 does not merge label event notes3541 for multiple pages of notes3542 feature flag enabled3543 returns the first page of notes3544 returns the second page of notes3545 returns the final page of notes3546 returns an empty page of notes3547 feature flag disabled3548 returns all notes3549 for a discussion note3550 responds with the expected attributes3551 for a diff discussion note3552 responds with the expected attributes3553 for a commit note3554 when displayed on a merge request3555 responds with the expected attributes3556 when displayed on the commit3557 responds with the expected attributes3558 when user cannot read commit3559 renders 4043560 for a regular note3561 responds with the expected attributes3562 with cross-reference system note3563 filters notes that the user should not see3564 does not result in N+1 queries3565 POST create3566 making the creation request3567 the project is publically available3568 for HTML3569 returns status 3023570 for JSON3571 returns status 200 for json3572 the note does not have commands_only errors3573 for empty note3574 returns status 422 for json3575 the project is a private project3576 format is3577 returns status 4043578 format is json3579 returns status 4043580 the user is a developer on a private project3581 HTML requests3582 returns status 302 (redirect)3583 JSON requests3584 returns status 2003585 the return_discussion param is set3586 returns discussion JSON when the return_discussion param is set3587 when creating a confidential note3588 when `confidential` parameter is not provided3589 sets `confidential` to `false` in JSON response3590 when `confidential` parameter is `false`3591 sets `confidential` to `false` in JSON response3592 when `confidential` parameter is `true`3593 sets `confidential` to `true` in JSON response3594 when creating a note with quick actions3595 with commands that return changes3596 includes changes in commands_changes3597 with commands that do not return changes3598 does not include changes in commands_changes3599 when the internal project prohibits non-members from accessing merge requests3600 prevents a non-member user from creating a note on one of the project's merge requests3601 when the user is a team member3602 can add comments3603 when the request includes a :in_reply_to_discussion_id designed to fool us3604 prevents the request from adding notes to the spoofed discussion3605 returns an error to the user3606 when the public project prohibits non-members from accessing merge requests3607 prevents a non-member user from creating a note on one of the project's merge requests3608 when the user is a team member3609 can add comments3610 when merge_request_diff_head_sha present3611 returns status 302 for html3612 when creating a comment on a commit with SHA1 starting with a large number3613 creates a note successfully3614 when creating a commit comment from an MR fork3615 when the note_project_id is not correct3616 returns a 4043617 when the user has no access to the fork3618 returns a 4043619 when the user has access to the fork3620 is successful3621 creates the note3622 when target_id and noteable_id do not match3623 uses target_id and ignores noteable_id3624 when the merge request discussion is locked3625 when a noteable is not found3626 returns 404 status3627 when a user is a team member3628 returns 302 status for html3629 returns 200 status for json3630 creates a new note3631 when a user is not a team member3632 returns 404 status3633 does not create a new note3634 behaves like request exceeding rate limit3635 with rate limiter3636 prevents from creating more notes3637 logs the event in auth.log3638 allows user in allow-list to create notes, even if the case is different3639 PUT update3640 should update the note with a valid issue3641 updates the note3642 doesnt update the note3643 disallows edits when the issue is confidential and the user has guest permissions3644 DELETE destroy3645 user is the author of a note3646 returns status 200 for html3647 deletes the note3648 user is not the author of a note3649 returns status 4043650 POST toggle_award_emoji3651 toggles the award emoji3652 removes the already awarded emoji3653 marks Todos on the Noteable as done3654 resolving and unresolving3655 POST resolve3656 when the user is not authorized to resolve the note3657 returns status 4043658 when the user is authorized to resolve the note3659 when the note is not resolvable3660 returns status 4043661 when the note is resolvable3662 resolves the note3663 sends notifications if all discussions are resolved3664 returns the name of the resolving user3665 returns status 2003666 DELETE unresolve3667 when the user is not authorized to resolve the note3668 returns status 4043669 when the user is authorized to resolve the note3670 when the note is not resolvable3671 returns status 4043672 when the note is resolvable3673 unresolves the note3674 returns status 2003675 GET outdated_line_change3676 successfully renders expected JSON response3677API::Wikis3678 GET /projects/:id/wikis3679 when wiki is disabled3680 when user is guest3681 returns 404 Project Not Found3682 when user is developer3683 returns 403 Forbidden3684 when user is maintainer3685 returns 403 Forbidden3686 when wiki is available only for team members3687 when user is guest3688 returns 404 Project Not Found3689 when user is developer3690 return the empty list of wiki pages3691 when wiki has pages3692 returns the list of wiki pages without content3693 returns the list of wiki pages with content3694 when user is maintainer3695 return the empty list of wiki pages3696 when wiki has pages3697 returns the list of wiki pages without content3698 returns the list of wiki pages with content3699 when wiki is available for everyone with access3700 when user is guest3701 returns 404 Project Not Found3702 when user is developer3703 return the empty list of wiki pages3704 when wiki has pages3705 returns the list of wiki pages without content3706 returns the list of wiki pages with content3707 when user is maintainer3708 return the empty list of wiki pages3709 when wiki has pages3710 returns the list of wiki pages without content3711 returns the list of wiki pages with content3712 GET /projects/:id/wikis/:slug3713 when wiki is disabled3714 when user is guest3715 returns 404 Project Not Found3716 when user is developer3717 returns 403 Forbidden3718 when user is maintainer3719 returns 403 Forbidden3720 when wiki is available only for team members3721 when user is guest3722 returns 404 Project Not Found3723 when user is developer3724 returns the wiki page3725 when page is not existing3726 returns 404 Wiki Page Not Found3727 when user is maintainer3728 returns the wiki page3729 when page is not existing3730 returns 404 Wiki Page Not Found3731 when wiki is available for everyone with access3732 when user is guest3733 returns 404 Project Not Found3734 when user is developer3735 returns the wiki page3736 when page is not existing3737 returns 404 Wiki Page Not Found3738 when user is maintainer3739 returns the wiki page3740 when page is not existing3741 returns 404 Wiki Page Not Found3742 POST /projects/:id/wikis3743 when wiki is disabled3744 when user is guest3745 returns 404 Project Not Found3746 when user is developer3747 returns 403 Forbidden3748 when user is maintainer3749 returns 403 Forbidden3750 when wiki is available only for team members3751 when user is guest3752 returns 404 Project Not Found3753 when user is developer3754DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3755 creates the wiki page3756 responds with validation error on empty title3757 responds with validation error on empty content3758 when user is maintainer3759DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3760 creates the wiki page3761 responds with validation error on empty title3762 responds with validation error on empty content3763 when wiki is available for everyone with access3764 when user is guest3765 returns 404 Project Not Found3766 when user is developer3767DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3768 creates the wiki page3769 responds with validation error on empty title3770 responds with validation error on empty content3771 when user is maintainer3772DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3773 creates the wiki page3774 responds with validation error on empty title3775 responds with validation error on empty content3776 PUT /projects/:id/wikis/:slug3777 when wiki is disabled3778 when user is guest3779 returns 404 Project Not Found3780 when user is developer3781 returns 403 Forbidden3782 when user is maintainer3783 returns 403 Forbidden3784 when wiki is available only for team members3785 when user is guest3786 returns 404 Project Not Found3787 when user is developer3788DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3789 updates the wiki page3790DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3791 updates with wiki with missing title3792DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3793 updates with wiki with missing content3794DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3795 updates with wiki with missing format3796 when page is not existing3797 returns 404 Wiki Page Not Found3798 when user is maintainer3799DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3800 updates the wiki page3801DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3802 updates with wiki with missing title3803DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3804 updates with wiki with missing content3805DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3806 updates with wiki with missing format3807 when page is not existing3808 returns 404 Wiki Page Not Found3809 when wiki is available for everyone with access3810 when user is guest3811 returns 404 Project Not Found3812 when user is developer3813DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3814 updates the wiki page3815DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3816 updates with wiki with missing title3817DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3818 updates with wiki with missing content3819DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3820 updates with wiki with missing format3821 when page is not existing3822 returns 404 Wiki Page Not Found3823 when user is maintainer3824DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3825 updates the wiki page3826DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3827 updates with wiki with missing title3828DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3829 updates with wiki with missing content3830DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3831 updates with wiki with missing format3832 when page is not existing3833 returns 404 Wiki Page Not Found3834 when wiki belongs to a group project3835DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3836 updates the wiki page3837DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3838 updates with wiki with missing title3839 updates with wiki with missing content3840 updates with wiki with missing format3841 DELETE /projects/:id/wikis/:slug3842 when wiki is disabled3843 when user is guest3844 returns 404 Project Not Found3845 when user is developer3846 returns 403 Forbidden3847 when user is maintainer3848 returns 403 Forbidden3849 when wiki is available only for team members3850 when user is guest3851 returns 404 Project Not Found3852 when user is developer3853 returns 403 Forbidden3854 when user is maintainer3855DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3856 returns 204 No Content3857 when wiki is available for everyone with access3858 when user is guest3859 returns 404 Project Not Found3860 when user is developer3861 returns 403 Forbidden3862 when user is maintainer3863DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3864 returns 204 No Content3865 when page is not existing3866 returns 404 Wiki Page Not Found3867 when there is an error deleting the page3868 returns 4223869 when wiki belongs to a group project3870DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)3871 returns 204 No Content3872 POST /projects/:id/wikis/attachments3873 when wiki is disabled3874 when user is guest3875 returns 404 Project Not Found3876 when user is developer3877 returns 403 Forbidden3878 when user is maintainer3879 returns 403 Forbidden3880 when wiki is available only for team members3881 when user is guest3882 returns 404 Project Not Found3883 when user is developer3884 pushes attachment to the wiki repository3885 responds with validation error on empty file3886 responds with validation error on invalid temp file3887 is backward compatible with regular multipart uploads3888 when user is maintainer3889 pushes attachment to the wiki repository3890 responds with validation error on empty file3891 responds with validation error on invalid temp file3892 is backward compatible with regular multipart uploads3893 when wiki is available for everyone with access3894 when user is guest3895 returns 404 Project Not Found3896 when user is developer3897 pushes attachment to the wiki repository3898 responds with validation error on empty file3899 responds with validation error on invalid temp file3900 is backward compatible with regular multipart uploads3901 when user is maintainer3902 pushes attachment to the wiki repository3903 responds with validation error on empty file3904 responds with validation error on invalid temp file3905 is backward compatible with regular multipart uploads3906Projects::Serverless::FunctionsController3907 GET #index3908 when cache is being read3909 returns checking3910 is expected to respond with numeric status code ok3911 when cache is ready3912 when no functions were found3913 returns checking3914 is expected to respond with numeric status code ok3915 when functions were found3916 returns functions3917 filters out the functions whose cluster the user does not have permission to read3918 returns a successful response status3919 when there is serverless domain for a cluster3920 returns JSON with function details with serverless domain URL3921 when there is no serverless domain for a cluster3922 keeps function URL as it was3923 GET #show3924 with function that does not exist3925 returns 4043926 with valid data3927 on Knative 0.5.03928 return json with function details3929 when there is serverless domain for a cluster3930 returns JSON with function details with serverless domain URL3931 returns 404 when user does not have permission to read the cluster3932 when there is no serverless domain for a cluster3933 keeps function URL as it was3934 on Knative 0.6.03935 return json with function details3936 when there is serverless domain for a cluster3937 returns JSON with function details with serverless domain URL3938 returns 404 when user does not have permission to read the cluster3939 when there is no serverless domain for a cluster3940 keeps function URL as it was3941 on Knative 0.7.03942 return json with function details3943 when there is serverless domain for a cluster3944 returns JSON with function details with serverless domain URL3945 returns 404 when user does not have permission to read the cluster3946 when there is no serverless domain for a cluster3947 keeps function URL as it was3948 on Knative 0.9.03949 return json with function details3950 when there is serverless domain for a cluster3951 returns JSON with function details with serverless domain URL3952 returns 404 when user does not have permission to read the cluster3953 when there is no serverless domain for a cluster3954 keeps function URL as it was3955 GET #metrics3956 invalid data3957 has a bad function name3958 GET #index with data3959 on Knative 0.5.03960 has data3961 has data in html3962 on Knative 0.6.03963 has data3964 has data in html3965 on Knative 0.7.03966 has data3967 has data in html3968 on Knative 0.9.03969 has data3970 has data in html3971AutocompleteController3972 GET users3973 project members3974 GET #users with project ID3975 returns the project members3976 GET #users with unknown project3977 is expected to respond with numeric status code not_found3978 group members3979 GET #users with group ID3980 returns the group members3981 GET #users with unknown group ID3982 is expected to respond with numeric status code not_found3983 non-member login for public project3984 GET #users with project ID3985 returns the project members and non-members3986 all users3987 is expected to be a kind of Array3988 is expected to eq 33989 user order3990 shows exact matches first3991 limited users per page3992 is expected to be a kind of Array3993 is expected to eq 203994 unauthenticated user3995 GET #users with public project3996 is expected to be a kind of Array3997 is expected to eq 23998 GET #users with project3999 is expected to respond with numeric status code not_found4000 GET #users with unknown project4001 is expected to respond with numeric status code not_found4002 GET #users with inaccessible group4003 is expected to respond with numeric status code not_found4004 GET #users with no project4005 is expected to be a kind of Array4006 is expected to be empty4007 GET #users with todo filter4008 gives an array of users4009 author of issuable included4010 authenticated4011 includes the author4012 rejects non existent user ids4013 without authenticating4014 returns empty result4015 skip_users parameter included4016 skips the user IDs passed4017 merge_request_iid parameter included4018 includes can_merge option to users4019 GET projects4020 authorized projects4021 GET #projects with project ID4022 returns projects4023 authorized projects and search4024 GET #projects with project ID and search4025 returns projects4026 authorized projects apply limit4027 GET #projects with project ID4028 returns projects4029 authorized projects without admin_issue ability4030 GET #projects with project ID4031 returns no projects4032 GET award_emojis4033 unauthorized user4034 returns empty json4035 sign in as user without award emoji4036 returns empty json4037 sign in as user with award emoji4038 returns json sorted by name count4039 GET deploy_keys_with_owners4040 unauthorized user4041 returns a not found response4042 when the user who can read the project is logged in4043 renders the deploy key in a json payload, with its owner4044 and they cannot read the project4045 returns a not found response4046 with an unknown project4047 returns a not found response4048 and the user cannot read the owner of the key4049 returns a payload without owner4050 Get merge_request_target_branches4051 anonymous user4052 returns empty json4053 user without any accessible merge requests4054 returns empty json4055 user with an accessible merge request but no scope4056 params: {}4057 returns an error4058 params: {:group_id=>" "}4059 returns an error4060 params: {:project_id=>" "}4061 returns an error4062 params: {:group_id=>" ", :project_id=>" "}4063 returns an error4064 user with an accessible merge request by project4065 returns json4066 user with an accessible merge request by group4067 returns json4068ApplicationController4069 #check_password_expiration4070 redirects if the user is over their password expiry4071 does not redirect if the user is under their password expiry4072 does not redirect if the user is over their password expiry but they are an ldap user4073 does not redirect if the user is over their password expiry but password authentication is disabled for the web interface4074 #add_gon_variables4075 with html format4076 behaves like setting gon variables4077 sets gon variables4078 with json format4079 behaves like not setting gon variables4080 does not set gon variables4081 with atom format4082 behaves like not setting gon variables4083 does not set gon variables4084 session expiration4085 authenticated user4086 does not set the expire_after option4087 unauthenticated user4088 sets the expire_after option4089 response format4090 when format is handled4091 returns 200 response4092 when format is not handled4093 returns 404 response4094 #route_not_found4095 renders 404 if authenticated4096 renders 404 if client is a search engine crawler4097 redirects to login page if not authenticated4098 redirects if unauthenticated and request format is unknown4099 #set_page_title_header4100 URI encodes UTF-8 characters in the title4101 two-factor authentication4102 #check_two_factor_requirement4103 does not redirect if user has temporary oauth email4104 does not redirect if 2FA is not required4105 does not redirect if user is not logged in4106 does not redirect if user has 2FA enabled4107 does not redirect if 2FA setup can be skipped4108 redirects to 2FA setup otherwise4109 #two_factor_authentication_required?4110 returns false if no 2FA requirement is present4111 returns true if a 2FA requirement is set in the application settings4112 returns true if a 2FA requirement is set on the user4113 #two_factor_grace_period4114 returns the grace period from the application settings4115 with a 2FA requirement set on the user4116 returns the user grace period if lower than the application grace period4117 returns the application grace period if lower than the user grace period4118 #two_factor_grace_period_expired?4119 returns false if the user has not started their grace period yet4120 with grace period started4121 returns true if the grace period has expired4122 returns false if the grace period is still active4123 #two_factor_skippable4124 returns false if 2FA is not required4125 returns false if the user has already enabled 2FA4126 returns false if the 2FA grace period has expired4127 returns true otherwise4128 #skip_two_factor?4129 returns false if 2FA setup was not skipped4130 with 2FA setup skipped4131 returns false if the grace period has expired4132 returns true if the grace period is still active4133 deactivated user4134 signs out a deactivated user4135 terms4136 does not query more when terms are enforced4137 when terms are enforced4138 redirects if the user did not accept the terms4139 does not redirect when the user accepted terms4140 #append_info_to_payload4141 does not log errors with a 200 response4142 does log correlation id4143 adds context metadata to the payload4144 urgency information4145 adds default urgency information to the payload4146 adds customized urgency information to the payload4147 #access_denied4148 renders a 404 without a message4149 renders a 403 when a message is passed to access denied4150 renders a status passed to access denied4151 when invalid UTF-8 parameters are received4152 html4153 renders 4124154 js4155 renders 4124156 X-GitLab-Custom-Error header4157 given a 422 error page4158 sets a custom header4159 given a 500 error page4160 sets a custom header4161 given a 200 success page4162 does not set a custom header4163 given a json response4164 sets a custom header4165 for html request4166 sets a custom header4167 for 200 response4168 does not set a custom header4169 control headers4170 user not logged in4171 sets the default headers4172 user logged in4173 sets the default headers4174 #stream_csv_headers4175 sets no-cache headers4176 sets stream headers4177 sets the csv specific headers4178 Gitlab::Session4179 is set on web requests4180 with sessionless user4181 is not set4182 #current_user_mode4183 with a regular user4184 admin mode is not set4185 with an admin user4186 admin mode is not set4187 that re-authenticated4188 admin mode is set4189 #required_signup_info4190 user with required role4191 is expected to redirect to "/users/sign_up/welcome"4192 user without a required role4193 is expected not to redirect to "/users/sign_up/welcome"4194 rescue_from Gitlab::Auth::IpBlacklisted4195 returns a 403 and logs the request4196 #set_current_context4197 does not break anything when no group or project method is defined4198 sets the username in the context when signed in4199 sets the group if it was available4200 sets the project if one was available4201 sets the caller_id as controller#action4202 sets the feature_category as defined in the controller4203 assigns the context to a variable for logging4204 assigns the context when the action caused an error4205 .endpoint_id_for_action4206 returns an expected endpoint id4207 #current_user4208 when being impersonated4209 returns a User with impersonator4210 when not being impersonated4211 returns a User4212 locale4213 sets user's locale4214 setting permissions-policy header4215 with FloC enabled4216 does not set the Permissions-Policy header4217 with FloC disabled4218 sets the Permissions-Policy header4219Query.project(fullPath).release(tagName)4220 ensures that the correct data is returned based on the project's visibility and the user's access level4221 when the project is private4222 when the user is not logged in4223 behaves like no access to the release field4224 repository-related fields4225 returns nil4226 when the user has Guest permissions4227 behaves like restricted access to release fields4228 scalar fields4229 finds all release data4230 milestones4231 finds milestones associated to a release4232 author4233 finds the author of the release4234 commit4235 restricts commit associated with the release4236 assets4237 count4238 returns non source release links count4239 links4240 finds all non source external release links4241 sources4242 restricts release sources4243 links4244 finds only selfUrl4245 evidences4246 restricts all evidence fields4247 behaves like no access to editUrl4248 does not return editUrl4249 when the user has Reporter permissions4250 behaves like full access to the release field4251 scalar fields4252 finds all release data4253 milestones4254 finds all milestones associated to a release4255 author4256 finds the author of the release4257 commit4258 finds the commit associated with the release4259 assets4260 count4261 returns the number of assets associated to the release4262 links4263 finds all release links4264 sources4265 finds all release sources4266 links4267 finds all release links4268 evidences4269 finds all evidence fields4270 behaves like no access to editUrl4271 does not return editUrl4272 when the user has Developer permissions4273 behaves like full access to the release field4274 scalar fields4275 finds all release data4276 milestones4277 finds all milestones associated to a release4278 author4279 finds the author of the release4280 commit4281 finds the commit associated with the release4282 assets4283 count4284 returns the number of assets associated to the release4285 links4286 finds all release links4287 sources4288 finds all release sources4289 links4290 finds all release links4291 evidences4292 finds all evidence fields4293 behaves like access to editUrl4294 returns editUrl4295 when the project is public4296 when the user is not logged in4297 behaves like full access to the release field4298 scalar fields4299 finds all release data4300 milestones4301 finds all milestones associated to a release4302 author4303 finds the author of the release4304 commit4305 finds the commit associated with the release4306 assets4307 count4308 returns the number of assets associated to the release4309 links4310 finds all release links4311 sources4312 finds all release sources4313 links4314 finds all release links4315 evidences4316 finds all evidence fields4317 behaves like no access to editUrl4318 does not return editUrl4319 when the user has Guest permissions4320 behaves like full access to the release field4321 scalar fields4322 finds all release data4323 milestones4324 finds all milestones associated to a release4325 author4326 finds the author of the release4327 commit4328 finds the commit associated with the release4329 assets4330 count4331 returns the number of assets associated to the release4332 links4333 finds all release links4334 sources4335 finds all release sources4336 links4337 finds all release links4338 evidences4339 finds all evidence fields4340 behaves like no access to editUrl4341 does not return editUrl4342 when the user has Reporter permissions4343 behaves like full access to the release field4344 scalar fields4345 finds all release data4346 milestones4347 finds all milestones associated to a release4348 author4349 finds the author of the release4350 commit4351 finds the commit associated with the release4352 assets4353 count4354 returns the number of assets associated to the release4355 links4356 finds all release links4357 sources4358 finds all release sources4359 links4360 finds all release links4361 evidences4362 finds all evidence fields4363 behaves like no access to editUrl4364 does not return editUrl4365 when the user has Reporter permissions4366 behaves like full access to the release field4367 scalar fields4368 finds all release data4369 milestones4370 finds all milestones associated to a release4371 author4372 finds the author of the release4373 commit4374 finds the commit associated with the release4375 assets4376 count4377 returns the number of assets associated to the release4378 links4379 finds all release links4380 sources4381 finds all release sources4382 links4383 finds all release links4384 evidences4385 finds all evidence fields4386 when the user has Developer permissions4387 behaves like full access to the release field4388 scalar fields4389 finds all release data4390 milestones4391 finds all milestones associated to a release4392 author4393 finds the author of the release4394 commit4395 finds the commit associated with the release4396 assets4397 count4398 returns the number of assets associated to the release4399 links4400 finds all release links4401 sources4402 finds all release sources4403 links4404 finds all release links4405 evidences4406 finds all evidence fields4407 behaves like access to editUrl4408 returns editUrl4409 upcoming release4410 future release4411 finds all release data4412 past release4413 finds all release data4414 milestone order4415 behaves like correct release milestone order4416 due_date4417 when both milestones have a due_date4418 behaves like correct sort order4419 sorts milestonee_1 before milestone_24420 when one milestone does not have a due_date4421 behaves like correct sort order4422 sorts milestonee_1 before milestone_24423 start_date4424 when both milestones have a start_date4425 behaves like correct sort order4426 sorts milestonee_1 before milestone_24427 when one milestone does not have a start_date4428 behaves like correct sort order4429 sorts milestonee_1 before milestone_24430 title4431 behaves like correct sort order4432 sorts milestonee_1 before milestone_24433Projects::WikisController4434 behaves like wiki controller actions4435 GET #new4436 redirects to #show and appends a `random_title` param4437 when the wiki repository cannot be created4438 redirects to the wiki container and displays an error message4439 GET #pages4440 assigns the page collections4441 does not load the page content4442 does not load the sidebar4443 behaves like recovers from git timeout4444 when we encounter git command errors4445 renders the appropriate template4446 when the request is of non-html format4447 returns a 404 error4448 GET #history4449 behaves like recovers from git timeout4450 when we encounter git command errors4451 renders the appropriate template4452 behaves like fetching history4453 returns status ok4454 assigns @commits4455 behaves like fetching history4456 returns status not_found4457 GET #diff4458 when commit exists4459 renders the diff4460 when commit does not exist4461 returns a 404 error4462 when page does not exist4463 returns a 404 error4464 behaves like recovers from git timeout4465 when we encounter git command errors4466 renders the appropriate template4467 GET #show4468 when page exists4469 renders the page4470 behaves like recovers from git timeout4471 when we encounter git command errors4472 renders the appropriate template4473 the sidebar fails to load4474 renders the page, and marks the sidebar as failed4475 page view tracking4476 increases the page view counter4477 behaves like tracking unique hll events4478 tracks unique event4479 when page content encoding is invalid4480 sets flash error4481 when the page does not exist4482 when the user can create pages4483 builds a new wiki page with the id as the title4484 when a random_title param is present4485 builds a new wiki page with no title4486 when the user cannot create pages4487 shows the empty state4488 when page is a file4489 file_name: "dk.png"4490 delivers the file with the correct headers4491 file_name: "unsanitized.svg"4492 delivers the file with the correct headers4493 file_name: "git-cheat-sheet.pdf"4494 delivers the file with the correct headers4495 POST #preview_markdown4496 renders json in a correct format4497 GET #edit4498 behaves like edit action4499 when the page does not exist4500 redirects to show4501 when id param is blank4502 redirects to the home page4503 when page content encoding is invalid4504 redirects to show4505 when the page has nil content4506 redirects to show4507 behaves like recovers from git timeout4508 when we encounter git command errors4509 renders the appropriate template4510 when page content encoding is valid4511 shows the edit page4512 PATCH #update4513 behaves like edit action4514 when the page does not exist4515 redirects to show4516 when id param is blank4517 redirects to the home page4518 when page content encoding is invalid4519 redirects to show4520 when the page has nil content4521 redirects to show4522 when page content encoding is valid4523DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4524 updates the page4525 when user does not have edit permissions4526 renders the empty state4527 POST #create4528 when page is valid4529DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4530 creates the page4531 when page is not valid4532 renders the edit state4533 DELETE #destroy4534 when page exists4535 behaves like deletes the page4536DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4537 is expected to change `wiki.list_pages.size` by -14538 but page cannot be deleted4539 renders the edit state4540 when user is a developer4541 behaves like deletes the page4542DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4543 is expected to change `wiki.list_pages.size` by -14544 when user is a reporter4545 returns 4044546 when page does not exist4547 renders 4044548 #git_access4549 renders the git access page4550API::ProjectDebianDistributions4551 POST projects/:id/debian_distributions4552 behaves like Debian distributions write endpoint4553 with valid container4554 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :created, expected_body: /^{.*"codename":"my-codename",.*"components":\["main"\],.*"architectures":\["all","amd64"\]/4555 behaves like Debian distributions POST request4556 creates distribution4557 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4558 behaves like Debian distributions POST request4559 returns unauthorized4560 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4561 behaves like Debian distributions POST request4562 returns forbidden4563 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4564 behaves like Debian distributions POST request4565 returns forbidden4566 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4567 behaves like Debian distributions POST request4568 returns unauthorized4569 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4570 behaves like Debian distributions POST request4571 returns unauthorized4572 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :created, expected_body: /^{.*"codename":"my-codename",.*"components":\["main"\],.*"architectures":\["all","amd64"\]/4573 behaves like Debian distributions POST request4574 creates distribution4575 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4576 behaves like Debian distributions POST request4577 returns forbidden4578 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4579 behaves like Debian distributions POST request4580 returns not_found4581 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4582 behaves like Debian distributions POST request4583 returns not_found4584 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4585 behaves like Debian distributions POST request4586 returns unauthorized4587 behaves like rejects Debian access with unknown container id4588 with an unknown container4589 as anonymous4590 behaves like Debian packages GET request4591 returns not_found4592 as authenticated user4593 behaves like Debian packages GET request4594 returns not_found4595 with invalid parameters4596 behaves like Debian distributions write endpoint4597 with valid container4598 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"codename":\["has already been taken"\]}}$/4599 behaves like Debian distributions GET request4600 returns bad_request and expected body4601 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4602 behaves like Debian distributions GET request4603 returns unauthorized4604 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4605 behaves like Debian distributions GET request4606 returns forbidden4607 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4608 behaves like Debian distributions GET request4609 returns forbidden4610 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4611 behaves like Debian distributions GET request4612 returns unauthorized4613 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4614 behaves like Debian distributions GET request4615 returns unauthorized4616 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"codename":\["has already been taken"\]}}$/4617 behaves like Debian distributions GET request4618 returns bad_request and expected body4619 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4620 behaves like Debian distributions GET request4621 returns forbidden4622 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4623 behaves like Debian distributions GET request4624 returns not_found4625 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4626 behaves like Debian distributions GET request4627 returns not_found4628 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4629 behaves like Debian distributions GET request4630 returns unauthorized4631 behaves like rejects Debian access with unknown container id4632 with an unknown container4633 as anonymous4634 behaves like Debian packages GET request4635 returns not_found4636 as authenticated user4637 behaves like Debian packages GET request4638 returns not_found4639 GET projects/:id/debian_distributions4640 behaves like Debian distributions read endpoint4641 with valid container4642 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4643 behaves like Debian distributions GET request4644 returns success and expected body4645 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4646 behaves like Debian distributions GET request4647 returns success and expected body4648 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4649 behaves like Debian distributions GET request4650 returns success and expected body4651 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4652 behaves like Debian distributions GET request4653 returns unauthorized4654 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4655 behaves like Debian distributions GET request4656 returns success and expected body4657 visibility_level: :private, user_type: :developer, auth_method: :basic, expected_status: :not_found, expected_body: nil4658 behaves like Debian distributions GET request4659 returns not_found4660 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4661 behaves like Debian distributions GET request4662 returns forbidden4663 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4664 behaves like Debian distributions GET request4665 returns not_found4666 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4667 behaves like Debian distributions GET request4668 returns not_found4669 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4670 behaves like Debian distributions GET request4671 returns unauthorized4672 behaves like rejects Debian access with unknown container id4673 with an unknown container4674 as anonymous4675 behaves like Debian packages GET request4676 returns not_found4677 as authenticated user4678 behaves like Debian packages GET request4679 returns not_found4680 GET projects/:id/debian_distributions/:codename4681 behaves like Debian distributions read endpoint4682 with valid container4683 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4684 behaves like Debian distributions GET request4685 returns success and expected body4686 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4687 behaves like Debian distributions GET request4688 returns success and expected body4689 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4690 behaves like Debian distributions GET request4691 returns success and expected body4692 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4693 behaves like Debian distributions GET request4694 returns unauthorized4695 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4696 behaves like Debian distributions GET request4697 returns success and expected body4698 visibility_level: :private, user_type: :developer, auth_method: :basic, expected_status: :not_found, expected_body: nil4699 behaves like Debian distributions GET request4700 returns not_found4701 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4702 behaves like Debian distributions GET request4703 returns forbidden4704 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4705 behaves like Debian distributions GET request4706 returns not_found4707 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4708 behaves like Debian distributions GET request4709 returns not_found4710 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4711 behaves like Debian distributions GET request4712 returns unauthorized4713 behaves like rejects Debian access with unknown container id4714 with an unknown container4715 as anonymous4716 behaves like Debian packages GET request4717 returns not_found4718 as authenticated user4719 behaves like Debian packages GET request4720 returns not_found4721 GET projects/:id/debian_distributions/:codename/key.asc4722 behaves like Debian distributions read endpoint4723 with valid container4724 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4725 behaves like Debian distributions GET request4726 returns success and expected body4727 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4728 behaves like Debian distributions GET request4729 returns success and expected body4730 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4731 behaves like Debian distributions GET request4732 returns success and expected body4733 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4734 behaves like Debian distributions GET request4735 returns unauthorized4736 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4737 behaves like Debian distributions GET request4738 returns success and expected body4739 visibility_level: :private, user_type: :developer, auth_method: :basic, expected_status: :not_found, expected_body: nil4740 behaves like Debian distributions GET request4741 returns not_found4742 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4743 behaves like Debian distributions GET request4744 returns forbidden4745 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4746 behaves like Debian distributions GET request4747 returns not_found4748 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4749 behaves like Debian distributions GET request4750 returns not_found4751 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4752 behaves like Debian distributions GET request4753 returns unauthorized4754 behaves like rejects Debian access with unknown container id4755 with an unknown container4756 as anonymous4757 behaves like Debian packages GET request4758 returns not_found4759 as authenticated user4760 behaves like Debian packages GET request4761 returns not_found4762 PUT projects/:id/debian_distributions/:codename4763 behaves like Debian distributions write endpoint4764 with valid container4765 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename",.*"suite":"my-suite",/4766 behaves like Debian distributions PUT request4767 updates distribution4768 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4769 behaves like Debian distributions PUT request4770 returns unauthorized4771 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4772 behaves like Debian distributions PUT request4773 returns forbidden4774 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4775 behaves like Debian distributions PUT request4776 returns forbidden4777 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4778 behaves like Debian distributions PUT request4779 returns unauthorized4780 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4781 behaves like Debian distributions PUT request4782 returns unauthorized4783 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename",.*"suite":"my-suite",/4784 behaves like Debian distributions PUT request4785 updates distribution4786 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4787 behaves like Debian distributions PUT request4788 returns forbidden4789 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4790 behaves like Debian distributions PUT request4791 returns not_found4792 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4793 behaves like Debian distributions PUT request4794 returns not_found4795 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4796 behaves like Debian distributions PUT request4797 returns unauthorized4798 behaves like rejects Debian access with unknown container id4799 with an unknown container4800 as anonymous4801 behaves like Debian packages GET request4802 returns not_found4803 as authenticated user4804 behaves like Debian packages GET request4805 returns not_found4806 with invalid parameters4807 behaves like Debian distributions write endpoint4808 with valid container4809 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"suite":\["has already been taken as Codename"\]}}$/4810 behaves like Debian distributions GET request4811 returns bad_request and expected body4812 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4813 behaves like Debian distributions GET request4814 returns unauthorized4815 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4816 behaves like Debian distributions GET request4817 returns forbidden4818 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4819 behaves like Debian distributions GET request4820 returns forbidden4821 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4822 behaves like Debian distributions GET request4823 returns unauthorized4824 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4825 behaves like Debian distributions GET request4826 returns unauthorized4827 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"suite":\["has already been taken as Codename"\]}}$/4828 behaves like Debian distributions GET request4829 returns bad_request and expected body4830 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4831 behaves like Debian distributions GET request4832 returns forbidden4833 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4834 behaves like Debian distributions GET request4835 returns not_found4836 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4837 behaves like Debian distributions GET request4838 returns not_found4839 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4840 behaves like Debian distributions GET request4841 returns unauthorized4842 behaves like rejects Debian access with unknown container id4843 with an unknown container4844 as anonymous4845 behaves like Debian packages GET request4846 returns not_found4847 as authenticated user4848 behaves like Debian packages GET request4849 returns not_found4850 DELETE projects/:id/debian_distributions/:codename4851 behaves like Debian distributions maintainer write endpoint4852 with valid container4853 visibility_level: :public, user_type: :maintainer, auth_method: :private_token, expected_status: :success, expected_body: /^{\"message\":\"202 Accepted\"}$/4854 behaves like Debian distributions DELETE request4855 updates distribution4856 visibility_level: :public, user_type: :maintainer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4857 behaves like Debian distributions DELETE request4858 returns unauthorized4859 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4860 behaves like Debian distributions DELETE request4861 returns forbidden4862 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4863 behaves like Debian distributions DELETE request4864 returns forbidden4865 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4866 behaves like Debian distributions DELETE request4867 returns unauthorized4868 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4869 behaves like Debian distributions DELETE request4870 returns unauthorized4871 visibility_level: :private, user_type: :maintainer, auth_method: :private_token, expected_status: :success, expected_body: /^{\"message\":\"202 Accepted\"}$/4872 behaves like Debian distributions DELETE request4873 updates distribution4874 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4875 behaves like Debian distributions DELETE request4876 returns forbidden4877 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4878 behaves like Debian distributions DELETE request4879 returns not_found4880 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4881 behaves like Debian distributions DELETE request4882 returns not_found4883 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4884 behaves like Debian distributions DELETE request4885 returns unauthorized4886 behaves like rejects Debian access with unknown container id4887 with an unknown container4888 as anonymous4889 behaves like Debian packages GET request4890 returns not_found4891 as authenticated user4892 behaves like Debian packages GET request4893 returns not_found4894 when destroy fails4895 behaves like Debian distributions maintainer write endpoint4896 with valid container4897 visibility_level: :public, user_type: :maintainer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":"Failed to delete distribution"}$/4898 behaves like Debian distributions GET request4899 returns bad_request and expected body4900 visibility_level: :public, user_type: :maintainer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4901 behaves like Debian distributions GET request4902 returns unauthorized4903 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4904 behaves like Debian distributions GET request4905 returns forbidden4906 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4907 behaves like Debian distributions GET request4908 returns forbidden4909 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4910 behaves like Debian distributions GET request4911 returns unauthorized4912 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4913 behaves like Debian distributions GET request4914 returns unauthorized4915 visibility_level: :private, user_type: :maintainer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":"Failed to delete distribution"}$/4916 behaves like Debian distributions GET request4917 returns bad_request and expected body4918 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4919 behaves like Debian distributions GET request4920 returns forbidden4921 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4922 behaves like Debian distributions GET request4923 returns not_found4924 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4925 behaves like Debian distributions GET request4926 returns not_found4927 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4928 behaves like Debian distributions GET request4929 returns unauthorized4930 behaves like rejects Debian access with unknown container id4931 with an unknown container4932 as anonymous4933 behaves like Debian packages GET request4934 returns not_found4935 as authenticated user4936 behaves like Debian packages GET request4937 returns not_found4938API::ProjectClusters4939 GET /projects/:id/clusters4940 non-authorized user4941 responds with 4034942 authorized user4943 includes pagination headers4944 only includes authorized clusters4945 GET /projects/:id/clusters/:cluster_id4946 non-authorized user4947 responds with 4034948 authorized user4949 returns specific cluster4950 returns cluster information4951 returns project information4952 returns kubernetes platform information4953 returns user information4954 returns GCP provider information4955 when cluster has no provider4956 does not include GCP provider info4957 with non-existing cluster4958 returns 4044959 POST /projects/:id/clusters/user4960 non-authorized user4961 responds with 4034962 authorized user4963 with valid params4964 creates a new Cluster::Cluster4965 when user does not indicate authorization type4966 defaults to RBAC4967 when user sets authorization type as ABAC4968 creates an ABAC cluster4969 when namespace_per_environment is not set4970 defaults to true4971 current user does not have access to management_project_id4972 responds with 4004973 returns validation errors4974 with invalid params4975 does not create a new Clusters::Cluster4976 non-authorized user4977 responds with 4034978 POST /projects/:id/clusters/user with multiple clusters4979 when another cluster exists4980 responds with 2014981 allows multiple clusters to be associated to project4982 PUT /projects/:id/clusters/:cluster_id4983 non-authorized user4984 responds with 4034985 authorized user4986 with valid params4987 updates cluster attributes4988 with invalid params4989 does not update cluster attributes4990 returns validation errors4991 current user does not have access to management_project_id4992 returns validation errors4993 with a GCP cluster4994 when user tries to change GCP specific fields4995 returns validation error4996 when user tries to change namespace4997 responds with 2004998 with an user cluster4999 updates platform kubernetes attributes5000 with a cluster that does not belong to user5001 responds with 4045002 DELETE /projects/:id/clusters/:cluster_id5003 non-authorized user5004 responds with 4035005 authorized user5006 deletes the cluster5007 with a cluster that does not belong to user5008 responds with 4045009Projects::RepositoriesController5010 GET archive5011 as a guest5012 responds with redirect in correct format5013 as a user5014 uses Gitlab::Workhorse5015 responds with redirect to the short name archive if fully qualified5016 responds with redirect for a path with multiple slashes5017 prioritizes the id param over the ref param when both are specified5018 behaves like hotlink interceptor5019 DDOS prevention5020 hotlinked as media5021 response_status: :ok, accept_header: "*/*"5022 renders the response5023 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"5024 renders the response5025 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"5026 renders the response5027 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"5028 renders the response5029 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"5030 renders the response5031 response_status: :ok, accept_header: "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/msword, */*"5032 renders the response5033 response_status: :ok, accept_header: "text/html, application/xhtml+xml, image/jxr, */*"5034 renders the response5035 response_status: :ok, accept_header: "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"5036 renders the response5037 response_status: :not_acceptable, accept_header: "image/webp,*/*"5038 renders the response5039 response_status: :not_acceptable, accept_header: "image/png,image/*;q=0.8,*/*;q=0.5"5040 renders the response5041 response_status: :not_acceptable, accept_header: "image/webp,image/apng,image/*,*/*;q=0.8"5042 renders the response5043 response_status: :not_acceptable, accept_header: "image/png,image/svg+xml,image/*;q=0.8, */*;q=0.5"5044 renders the response5045 response_status: :not_acceptable, accept_header: "video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5"5046 renders the response5047 response_status: :not_acceptable, accept_header: "audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5"5048 renders the response5049 response_status: :not_acceptable, accept_header: "text/css,*/*;q=0.1"5050 renders the response5051 response_status: :not_acceptable, accept_header: "text/css"5052 renders the response5053 response_status: :not_acceptable, accept_header: "text/css,*/*;q=0.1"5054 renders the response5055 hotlinked as a script5056 response_status: :ok, fetch_mode: "navigate"5057 renders the response5058 response_status: :ok, fetch_mode: "nested-navigate"5059 renders the response5060 response_status: :ok, fetch_mode: "same-origin"5061 renders the response5062 response_status: :not_acceptable, fetch_mode: "cors"5063 renders the response5064 response_status: :not_acceptable, fetch_mode: "no-cors"5065 renders the response5066 response_status: :not_acceptable, fetch_mode: "websocket"5067 renders the response5068 when the service raises an error5069DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: errors/git_not_found.html (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:133)5070DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: errors/git_not_found.html (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:133)5071 renders Not Found5072 when the request format is HTML5073 renders 4045074 rate limiting5075 rate limits user when thresholds hit5076 caching5077 sets appropriate caching headers5078 when project is public5079 sets appropriate caching headers5080 and repo is private5081 sets appropriate caching headers5082 when ref is a commit SHA5083 max-age is set to 3600 in Cache-Control header5084 when If-None-Modified header is set5085 returns a 304 status5086 as a sessionless user5087 when no token is provided5088 redirects to sign in page5089 when a token param is present5090 when token is correct5091 calls the action normally5092 when token is incorrect5093 redirects to sign in page5094 when a token header is present5095 when token is correct5096 calls the action normally5097 when token is incorrect5098 redirects to sign in page5099API::GoProxy5100 GET /projects/:id/packages/go/*module_name/@v/list5101 for the root module5102 behaves like a module version list resource5103 returns v1.0.1, v1.0.2, v1.0.35104 for the package5105 behaves like a module version list resource5106 returns nothing5107 for the submodule5108 behaves like a module version list resource5109 returns v1.0.35110 for the root module v25111 behaves like a module version list resource5112 returns v2.0.05113 with a URL encoded relative path component5114 behaves like a missing module version list resource5115 behaves like an unavailable resource5116 returns not found5117 with the feature disabled5118 behaves like a missing module version list resource5119 behaves like an unavailable resource5120 returns not found5121 GET /projects/:id/packages/go/*module_name/@v/:module_version.info5122 with the root module v1.0.15123 behaves like a module version information resource5124 returns information for v1.0.15125 with the submodule v1.0.35126 behaves like a module version information resource5127 returns information for v1.0.35128 with the root module v2.0.05129 behaves like a module version information resource5130 returns information for v2.0.05131 with an invalid path5132 behaves like a missing module version information resource5133 behaves like an unavailable resource5134 returns not found5135 with an invalid version5136 behaves like a missing module version information resource5137 behaves like an unavailable resource5138 returns not found5139 with a pseudo-version for v15140 behaves like a module pseudo-version information resource5141 returns information for v1.0.4-0.yyyymmddhhmmss-abcdefabcdef5142 with a pseudo-version for v25143 behaves like a module pseudo-version information resource5144 returns information for v2.0.0-yyyymmddhhmmss-abcdefabcdef5145 with a pseudo-version with an invalid timestamp5146 behaves like a missing module pseudo-version information resource5147 behaves like an unavailable resource5148 returns not found5149 with a pseudo-version with an invalid commit sha5150 behaves like a missing module pseudo-version information resource5151 behaves like an unavailable resource5152 returns not found5153 with a pseudo-version with a short commit sha5154 behaves like a missing module pseudo-version information resource5155 behaves like an unavailable resource5156 returns not found5157 GET /projects/:id/packages/go/*module_name/@v/:module_version.mod5158 with the root module v1.0.15159 behaves like a module file resource5160 returns /go.mod from the repo5161 with the submodule v1.0.35162 behaves like a module file resource5163 returns /mod/go.mod from the repo5164 with the root module v2.0.05165 behaves like a module file resource5166 returns /v2/go.mod from the repo5167 with an invalid path5168 behaves like a missing module file resource5169 behaves like an unavailable resource5170 returns not found5171 with an invalid version5172 behaves like a missing module file resource5173 behaves like an unavailable resource5174 returns not found5175 GET /projects/:id/packages/go/*module_name/@v/:module_version.zip5176 with the root module v1.0.15177 behaves like a module archive resource5178 returns an archive of / @ v1.0.1 from the repo5179 with the root module v1.0.25180 behaves like a module archive resource5181 returns an archive of / @ v1.0.2 from the repo5182 with the root module v1.0.35183 behaves like a module archive resource5184 returns an archive of / @ v1.0.3 from the repo5185 with the submodule v1.0.35186 behaves like a module archive resource5187 returns an archive of /mod @ v1.0.3 from the repo5188 with the root module v2.0.05189 behaves like a module archive resource5190 returns an archive of /v2 @ v2.0.0 from the repo5191 with an invalid module directive5192 GET /projects/:id/packages/go/*module_name/@v/list5193 with a completely wrong directive for v15194 behaves like a module version list resource5195 returns nothing5196 with a directive omitting the suffix for v25197 behaves like a module version list resource5198 returns nothing5199 GET /projects/:id/packages/go/*module_name/@v/:module_version.info5200 with a completely wrong directive for v15201 behaves like a missing module version information resource5202 behaves like an unavailable resource5203 returns not found5204 with a directive omitting the suffix for v25205 behaves like a missing module version information resource5206 behaves like an unavailable resource5207 returns not found5208 with a case sensitive project and versions5209 GET /projects/:id/packages/go/*module_name/@v/list5210 with a case encoded path5211 behaves like a module version list resource5212 returns v1.0.1-prerelease, v1.0.1-Prerelease5213 without a case encoded path5214 behaves like a missing module version list resource5215 behaves like an unavailable resource5216 returns not found5217 GET /projects/:id/packages/go/*module_name/@v/:module_version.info5218 with a case encoded path5219 behaves like a module version information resource5220 returns information for v1.0.1-Prerelease5221 without a case encoded path5222 behaves like a module version information resource5223 returns information for v1.0.1-prerelease5224 with a private project5225 GET /projects/:id/packages/go/*module_name/@v/list5226 returns ok with an oauth token5227 returns ok with a job token5228 returns ok with a personal access token5229 returns ok with a personal access token and basic authentication5230 returns unauthorized with a failed job token5231 returns unauthorized with no authentication5232 with a public project5233 GET /projects/:id/packages/go/*module_name/@v/list5234 returns ok with no authentication5235 with a non-existent project5236 GET /projects/:id/packages/go/*module_name/@v/list5237 returns not found with a user5238 returns not found with an oauth token5239 returns not found with a job token5240 returns not found with a personal access token5241 returns unauthorized with no authentication5242Projects::ProjectMembersController5243 GET index5244 has the project_members address with a 200 status code5245 project members5246 when project belongs to group5247 lists inherited project members by default5248 lists direct project members only5249 lists inherited project members only5250 when invited members are present5251 excludes the invited members from project members list5252 group links5253 lists group links5254 when `search_groups` param is present5255 lists group links that match search5256 invited members5257 when user has `admin_project_member` permissions5258 lists invited members5259 when user does not have `admin_project_member` permissions5260 does not list invited members5261 access requests5262 when user has `admin_project_member` permissions5263 lists access requests5264 when user does not have `admin_project_member` permissions5265 does not list access requests5266 POST create5267 when user does not have enough rights5268 returns 4045269 when user has enough rights5270 adds user to members5271 adds no user to members5272 adding project bot5273 returns error5274 access expiry date5275 when set to a date in the past5276 does not add user to members5277 when set to a date in the future5278 adds user to members5279 PUT update5280 access level5281 can change the access level to Guest5282 can change the access level to Reporter5283 can change the access level to Developer5284 can change the access level to Maintainer5285 access expiry date5286 when set to a date in the past5287 does not update the member5288 returns error status5289 returns error message5290 when set to a date in the future5291 updates the member5292 expiration date5293 when `expires_at` is set5294 returns correct json response5295 when `expires_at` is not set5296 returns empty json response5297 DELETE destroy5298 when member is not found5299 returns 4045300 when member is found5301 when user does not have enough rights5302 returns 4045303 when user has enough rights5304 [HTML] removes user from members5305 [JS] removes user from members5306 DELETE leave5307 when member is not found5308 returns 4045309 when member is found5310 and is not an owner5311 removes user from members5312 and is an owner5313 cannot remove themselves from the project5314 and is a requester5315 removes user from members5316 POST request_access5317 creates a new ProjectMember that is not a team member5318 POST approve5319 when member is not found5320 returns 4045321 when member is found5322 when user does not have enough rights5323 returns 4045324 when user has enough rights5325 adds user to members5326 POST apply_import5327 when user can admin source project members5328 imports source project members5329 when user can't admin source project members5330 does not import team members5331 responds with not found5332 POST create5333 when creating owner5334 does not create a member5335 when create maintainer5336 creates a member5337 POST resend_invite5338 is successful5339API::PagesDomains5340 GET /pages/domains5341 when pages is disabled5342 behaves like 404 response5343 returns 4045344 when pages is enabled5345 when authenticated as an admin5346 returns paginated all pages domains5347 when authenticated as a non-member5348 behaves like 403 response5349 returns 4035350 GET /projects/:project_id/pages/domains5351 when pages is disabled5352 behaves like 404 response5353 returns 4045354 when user is a maintainer5355 behaves like get pages domains5356 returns paginated pages domains5357 when user is a developer5358 behaves like 403 response5359 returns 4035360 when user is a reporter5361 behaves like 403 response5362 returns 4035363 when user is a guest5364 behaves like 403 response5365 returns 4035366 when user is not a member5367 behaves like 404 response5368 returns 4045369 GET /projects/:project_id/pages/domains/:domain5370 when domain is vacant5371 behaves like 404 response5372 returns 4045373 when user is a maintainer5374 behaves like get pages domain5375 returns pages domain5376 returns pages domain with project path5377 returns pages domain with a certificate5378 returns pages domain with an expired certificate5379 returns pages domain with letsencrypt5380 when user is a developer5381 behaves like 403 response5382 returns 4035383 when user is a reporter5384 behaves like 403 response5385 returns 4035386 when user is a guest5387 behaves like 403 response5388 returns 4035389 when user is not a member5390 behaves like 404 response5391 returns 4045392 POST /projects/:project_id/pages/domains5393 when user is a maintainer5394 behaves like post pages domains5395 creates a new pages domain5396 creates a new secure pages domain5397 creates domain with letsencrypt enabled5398 creates domain with letsencrypt enabled and provided certificate5399 fails to create pages domain without key5400 fails to create pages domain with key missmatch5401 when user is a developer5402 behaves like 403 response5403 returns 4035404 when user is a reporter5405 behaves like 403 response5406 returns 4035407 when user is a guest5408 behaves like 403 response5409 returns 4035410 when user is not a member5411 behaves like 404 response5412 returns 4045413 PUT /projects/:project_id/pages/domains/:domain5414 when domain is vacant5415 behaves like 404 response5416 returns 4045417 when user is a maintainer5418 behaves like put pages domain5419 updates pages domain removing certificate5420 updates pages domain adding certificate5421 updates pages domain adding certificate with letsencrypt5422 updates pages domain enabling letsencrypt5423 updates pages domain disabling letsencrypt while preserving the certificate5424 updates pages domain with expired certificate5425 updates pages domain with expired certificate not updating key5426 updates certificate source to user_provided if is changed5427 fails to update pages domain adding certificate without key5428 fails to update pages domain adding certificate with missing chain5429 fails to update pages domain with key missmatch5430 when user is a developer5431 behaves like 403 response5432 returns 4035433 when user is a reporter5434 behaves like 403 response5435 returns 4035436 when user is a guest5437 behaves like 403 response5438 returns 4035439 when user is not a member5440 behaves like 404 response5441 returns 4045442 DELETE /projects/:project_id/pages/domains/:domain5443 when domain is vacant5444 behaves like 404 response5445 returns 4045446 when user is a maintainer5447 behaves like delete pages domain5448 deletes a pages domain5449 when user is a developer5450 behaves like 403 response5451 returns 4035452 when user is a reporter5453 behaves like 403 response5454 returns 4035455 when user is a guest5456 behaves like 403 response5457 returns 4035458 when user is not a member5459 behaves like 404 response5460 returns 4045461SnippetsController5462 GET #index5463 when username parameter is present5464 renders snippets of a user when username is present5465 behaves like paginated collection5466 renders a page number that is not ouf of range5467 redirects to last_page if page number is larger than number of pages5468 does not redirect to external sites when provided a host field5469 when username parameter is not present5470 redirects to explore snippets page when user is not logged in5471 redirects to snippets dashboard page when user is logged in5472 behaves like snippets sort order5473 when no sort param is provided5474 calls SnippetsFinder with updated_at sort option5475 when sort param is provided5476 calls SnippetsFinder with the given sort param5477 GET #new5478 when signed in5479 responds with status 2005480 when user is not allowed to create a personal snippet5481 responds with status 4045482 when not signed in5483 redirects to the sign in page5484 GET #show5485 when the personal snippet is private5486 when signed in5487 when signed in user is not the author5488 responds with status 4045489 when signed in user is the author5490 responds with status 404 when embeddable content is requested5491 behaves like successful response5492 renders the snippet5493 when not signed in5494 redirects to the sign in page5495 when the personal snippet is internal5496 when signed in5497 responds with status 404 when embeddable content is requested5498 behaves like successful response5499 renders the snippet5500 when not signed in5501 redirects to the sign in page5502 when the personal snippet is public5503 when signed in5504 responds with status 200 when embeddable content is requested5505 behaves like successful response5506 renders the snippet5507 behaves like tracking unique hll events5508 tracks unique event5509 when not signed in5510 renders the snippet5511 when the personal snippet does not exist5512 when signed in5513 responds with status 4045514 when not signed in5515 responds with status 4045516 POST #mark_as_spam5517 updates the snippet5518 GET #raw5519 when the personal snippet is private5520 when signed in5521 when signed in user is not the author5522 responds with status 4045523 when signed in user is the author5524 behaves like successful response5525 has expected blob headers5526 sets cache_control public header based on snippet visibility5527 behaves like 200 status5528 responds with status 2005529 sets Gitlab-Workhorse-Detect-Content-Type header5530 behaves like content disposition headers5531 sets content disposition to inline5532 when inline param is false5533 sets content disposition to attachment5534 when snippet repository is empty5535 returns snippet database content5536 behaves like 200 status5537 responds with status 2005538 sets Gitlab-Workhorse-Detect-Content-Type header5539 behaves like CRLF line ending5540 returns LF line endings by default5541 when parameter present5542 does not convert line endings when parameter present5543 behaves like content disposition headers5544 sets content disposition to inline5545 when inline param is false5546 sets content disposition to attachment5547 when not signed in5548 redirects to the sign in page5549 when the personal snippet is internal5550 when signed in5551 behaves like successful response5552 has expected blob headers5553 sets cache_control public header based on snippet visibility5554 behaves like 200 status5555 responds with status 2005556 sets Gitlab-Workhorse-Detect-Content-Type header5557 behaves like content disposition headers5558 sets content disposition to inline5559 when inline param is false5560 sets content disposition to attachment5561 when snippet repository is empty5562 returns snippet database content5563 behaves like 200 status5564 responds with status 2005565 sets Gitlab-Workhorse-Detect-Content-Type header5566 behaves like CRLF line ending5567 returns LF line endings by default5568 when parameter present5569 does not convert line endings when parameter present5570 behaves like content disposition headers5571 sets content disposition to inline5572 when inline param is false5573 sets content disposition to attachment5574 when not signed in5575 redirects to the sign in page5576 when the personal snippet is public5577 when signed in5578 behaves like successful response5579 has expected blob headers5580 sets cache_control public header based on snippet visibility5581 behaves like 200 status5582 responds with status 2005583 sets Gitlab-Workhorse-Detect-Content-Type header5584 behaves like content disposition headers5585 sets content disposition to inline5586 when inline param is false5587 sets content disposition to attachment5588 when snippet repository is empty5589 returns snippet database content5590 behaves like 200 status5591 responds with status 2005592 sets Gitlab-Workhorse-Detect-Content-Type header5593 behaves like CRLF line ending5594 returns LF line endings by default5595 when parameter present5596 does not convert line endings when parameter present5597 behaves like content disposition headers5598 sets content disposition to inline5599 when inline param is false5600 sets content disposition to attachment5601 when not signed in5602 responds with status 2005603 when the personal snippet does not exist5604 when signed in5605 responds with status 4045606 when not signed in5607 redirects to the sign in path5608 award emoji on snippets5609 POST #toggle_award_emoji5610 toggles the award emoji5611 removes the already awarded emoji5612 POST #preview_markdown5613 renders json in a correct format5614Projects::TreeController5615 GET show5616 valid branch, no path5617 is expected to respond with 2005618 valid branch, valid path5619 is expected to respond with 2005620 valid branch, invalid path5621 redirects5622 invalid branch, valid path5623 is expected to respond with 4045624 renamed default branch, valid file5625 is expected to redirect to "/namespace727/project891/-/tree/master/encoding/"5626 renamed default branch, invalid file5627 is expected to redirect to "/namespace728/project892/-/tree/master/invalid-path/"5628 valid empty branch, invalid path5629 redirects5630 valid empty branch5631 is expected to respond with 2005632 invalid SHA commit ID5633 is expected to respond with 4045634 valid SHA commit ID5635 is expected to respond with 2005636 valid SHA commit ID with path5637 is expected to respond with numeric status code found5638 GET show with whitespace in ref5639 does not call make a Gitaly request5640 GET show with blob path5641 redirect to blob5642 redirects5643 #create_dir5644 successful creation5645 redirects to the new directory5646 unsuccessful creation5647 does not allow overwriting of existing files5648API::Events5649 GET /events5650 when unauthenticated5651 returns authentication error5652 when authenticated5653 returns users events5654 when scope is passed5655 returns all events across projects5656 when the requesting token has "read_user" scope5657 returns users events5658 returns "200" response on head request5659 when the requesting token does not have "read_user" or "api" scope5660 returns a "403" response5661 GET /users/:id/events5662 returns a 404 error if not found5663 as a user that cannot see another user5664 returns a "404" response5665 as a user token that cannot see another user5666 returns a "404" response5667 as a user that can see the event's project5668 accepts a username5669 returns the events5670 when the list of events includes wiki page events5671 returns information about the wiki event5672 when the list of events includes push events5673 responds with HTTP 200 OK5674 includes the push payload as a Hash5675 includes the push payload details5676 when there are multiple events from different projects5677 returns events in the correct order (from newest to oldest)5678 accepts filter parameters5679 when target users profile is private5680 returns no events5681 when scope is passed5682 when unauthenticated5683 returns no user events5684API::Boards5685 behaves like group and project boards5686 avoids N+1 queries5687 GET /projects/:id/boards5688 when unauthenticated5689 returns authentication error5690 when authenticated5691 returns the issue boards5692 GET /projects/:id/boards/:board_id5693 get a single board by id5694 PUT /projects/:id/boards/:board_id5695 updates the board name5696 updates the issue board booleans5697 GET /projects/:id/boards/:board_id/lists5698 returns issue board lists5699 returns 404 if board not found5700 GET /projects/:id/boards/:board_id/lists/:list_id5701 returns a list5702 returns 404 if list not found5703 POST /projects/:id/boards/lists5704 creates a new issue board list for labels5705 returns 400 when creating a new list if label_id is invalid5706 returns 403 for members with guest role5707 PUT /projects/:id/boards/:board_id/lists/:list_id to update only position5708 updates a list5709 returns 404 error if list id not found5710 returns 403 for members with guest role5711 DELETE /projects/:id/boards/lists/:list_id5712 rejects a non member from deleting a list5713 rejects a user with guest role from deleting a list5714 returns 404 error if list id not found5715 when the user is parent owner5716 deletes the list if an admin requests it5717 behaves like 412 response5718 for a modified ressource5719 returns 412 with a JSON error5720 for an unmodified ressource5721 returns 204 with an empty body5722 POST /projects/:id/boards5723 creates a new issue board5724 fails to create a new board5725 DELETE /projects/:id/boards/:board_id5726 delete the issue board5727 POST /projects/:id/boards/:board_id/lists5728 creates a new issue board list for group labels5729 creates a new board list for ancestor group labels5730 POST /groups/:id/boards/:board_id/lists5731 creates a new board list for ancestor group labels5732maven package details5733 a maven package with version5734 behaves like a package detail5735 behaves like a working graphql query5736DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5737DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5738 returns a successful response5739 behaves like matching the package details schema5740DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5741DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5742 matches the JSON schema5743 with pipelines5744 behaves like a working graphql query5745DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5746DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5747 returns a successful response5748 behaves like matching the package details schema5749DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5750DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5751 matches the JSON schema5752 behaves like correct maven metadata5753DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5754DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5755 has the correct metadata5756 behaves like a package with files5757DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5758DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5759 has the right amount of files5760DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5761DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5762 has the basic package files data5763 a versionless maven package5764DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5765DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5766 has an empty version5767 behaves like a package detail5768 behaves like a working graphql query5769DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5770DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5771 returns a successful response5772 behaves like matching the package details schema5773DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5774DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5775 matches the JSON schema5776 with pipelines5777 behaves like a working graphql query5778DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5779DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5780 returns a successful response5781 behaves like matching the package details schema5782DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5783DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5784 matches the JSON schema5785 behaves like correct maven metadata5786DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5787DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5788 has the correct metadata5789 behaves like a package with files5790DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5791DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5792 has the right amount of files5793DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5794DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.5795 has the basic package files data5796Projects::MirrorsController5797 Access control5798 #update5799 when project mirroring is enabled5800 allows requests from a maintainer5801 allows requests from an admin user5802 when project mirroring is disabled5803 disallows requests from a maintainer5804 when admin mode is enabled5805 allows requests from an admin user5806 when admin mode is disabled5807 disallows requests from an admin user5808 #update_now5809 when project mirroring is enabled5810 allows requests from a maintainer5811 allows requests from an admin user5812 when project mirroring is disabled5813 disallows requests from a maintainer5814 when admin mode is enabled5815 allows requests from an admin user5816 when admin mode is disabled5817 disallows requests from an admin user5818 setting up a remote mirror5819 when the current project is not a mirror5820 allows to create a remote mirror5821 setting up SSH public-key authentication5822 processes a successful update5823 #update5824 With valid URL for a push5825 processes a successful update5826 creates a RemoteMirror object5827 With invalid URL for a push5828 processes an unsuccessful update5829 does not create a RemoteMirror object5830 #ssh_host_keys5831 invalid URLs5832 returns an error with a 400 response for URL "INVALID"5833 returns an error with a 400 response for URL "git@example.com:foo/bar.git"5834 returns an error with a 400 response for URL "ssh://git@example.com:foo/bar.git"5835 no data in cache5836 requests the cache to be filled and returns a 204 response5837 error in the cache5838 returns the error with a 400 response5839 data in the cache5840 returns the data with a 200 response5841merge requests actions5842 GET /:namespace/:project/-/merge_requests/:iid5843 as json5844 with caching5845 for sidebar_extras5846 when the request has not been cached5847 behaves like a non-cached request5848 serializes merge request5849 when the request has already been cached5850 does not serialize merge request again5851 when the merge request is updated5852 when the logged in user is different5853 behaves like a non-cached request5854 serializes merge request5855 when the assignee is changed5856 behaves like a non-cached request5857 serializes merge request5858 when the existing assignee gets updated5859 behaves like a non-cached request5860 serializes merge request5861 when the reviewer is changed5862 behaves like a non-cached request5863 serializes merge request5864 when the existing reviewer gets updated5865 behaves like a non-cached request5866 serializes merge request5867 when the time_estimate is changed5868 behaves like a non-cached request5869 serializes merge request5870 when the spend_time is changed5871 behaves like a non-cached request5872 serializes merge request5873 when a user leaves a note5874 behaves like a non-cached request5875 serializes merge request5876 for other serializer5877 does not use cache5878API::DeployKeys5879 GET /deploy_keys5880 when unauthenticated5881 returns authentication error5882 when authenticated as non-admin user5883 returns a 403 error5884 when authenticated as admin5885 returns all deploy keys5886 avoids N+1 database queries5887 when `public` parameter is `true`5888 only returns public deploy keys5889 projects_with_write_access5890 returns projects with write access5891 GET /projects/:id/deploy_keys5892 returns array of ssh keys5893 returns multiple deploy keys without N + 15894 GET /projects/:id/deploy_keys/:key_id5895 returns a single key5896 returns 404 Not Found with invalid ID5897 POST /projects/:id/deploy_keys5898 does not create an invalid ssh key5899 does not create a key without title5900 creates new ssh key5901 returns an existing ssh key when attempting to add a duplicate5902 joins an existing ssh key to a new project5903 accepts can_push parameter5904 PUT /projects/:id/deploy_keys/:key_id5905 with non-admin5906 does not update a public deploy key5907 with admin5908 public deploy key attached to project5909 updates the title of the deploy key5910 updates can_push of deploy_keys_project5911 private deploy key5912 updates the title of the deploy key5913 updates can_push of deploy_keys_project5914 invalid title5915 does not update the title of the deploy key5916 with admin as project maintainer5917 public deploy key attached to project5918 updates the title of the deploy key5919 updates can_push of deploy_keys_project5920 with maintainer5921 public deploy key attached to project5922 does not update the title of the deploy key5923 updates can_push of deploy_keys_project5924 DELETE /projects/:id/deploy_keys/:key_id5925 removes existing key from project5926 returns 404 Not Found with invalid ID5927 when the deploy key is public5928 does not delete the deploy key5929 when the deploy key is not public5930 when the deploy key is only used by this project5931 deletes the deploy key5932 when the deploy key is used by other projects5933 does not delete the deploy key5934 behaves like 412 response5935 for a modified ressource5936 returns 412 with a JSON error5937 for an unmodified ressource5938 returns 204 with an empty body5939 POST /projects/:id/deploy_keys/:key_id/enable5940 when the user can admin the project5941 enables the key5942 when authenticated as non-admin user5943 returns a 404 error5944Merge Requests Diffs5945 GET diffs_batch5946 with caching5947 when the request has not been cached5948 behaves like serializes diffs with expected arguments5949 serializes paginated merge request diff collection5950 when the request has already been cached5951 does not serialize diffs5952 with the different user5953 behaves like serializes diffs with expected arguments5954 serializes paginated merge request diff collection5955 with a new unfoldable diff position5956 behaves like serializes diffs with expected arguments5957 serializes paginated merge request diff collection5958 with a new environment5959 behaves like serializes diffs with expected arguments5960 serializes paginated merge request diff collection5961 with disabled display_merge_conflicts_in_diff feature5962 behaves like serializes diffs with expected arguments5963 serializes paginated merge request diff collection5964 with diff_head option5965 behaves like serializes diffs with expected arguments5966 serializes paginated merge request diff collection5967 with the different pagination option5968 behaves like serializes diffs with expected arguments5969 serializes paginated merge request diff collection5970 with the different diff_view5971 behaves like serializes diffs with expected arguments5972 serializes paginated merge request diff collection5973 with the different expanded option5974 behaves like serializes diffs with expected arguments5975 serializes paginated merge request diff collection5976 with the different ignore_whitespace_change option5977 behaves like serializes diffs with expected arguments5978 serializes paginated merge request diff collection5979 when the paths is given5980 does not use cache5981API::UsageDataNonSqlMetrics5982 GET /usage_data/non_sql_metrics5983 with authentication5984 returns non sql metrics if user is admin5985 returns forbidden if user is not admin5986 without authentication5987 returns unauthorized5988 when feature_flag is disabled5989 returns not_found for admin5990 returns forbidden for non-admin5991Projects::Alerting::NotificationsController5992 POST #create5993 with generic alert payload5994 behaves like process alert payload5995 when notification service succeeds5996 responds with the alert data5997 does not pass excluded parameters to the notify service5998 when notification service fails5999 responds with the service response6000 with bearer token6001 when set6002 behaves like a working token6003 extracts token6004 with a corresponding integration6005 with integration parameters specified6006 the integration is active6007 extracts and finds the integration6008 when the integration is inactive6009 does not find an integration6010 without integration parameters specified6011 extracts and finds the legacy integration6012 with basic auth token6013 behaves like a working token6014 extracts token6015 with a corresponding integration6016 with integration parameters specified6017 the integration is active6018 extracts and finds the integration6019 when the integration is inactive6020 does not find an integration6021 without integration parameters specified6022 extracts and finds the legacy integration6023 when inextractable token6024 passes nil for a non-bearer token6025 when missing token6026 passes nil6027 with Prometheus alert payload6028 behaves like process alert payload6029 when notification service succeeds6030 responds with the alert data6031 does not pass excluded parameters to the notify service6032 when notification service fails6033 responds with the service response6034 with bearer token6035 when set6036 behaves like a working token6037 extracts token6038 with a corresponding integration6039 with integration parameters specified6040 the integration is active6041 extracts and finds the integration6042 when the integration is inactive6043 does not find an integration6044 without integration parameters specified6045 extracts and finds the legacy integration6046 with basic auth token6047 behaves like a working token6048 extracts token6049 with a corresponding integration6050 with integration parameters specified6051 the integration is active6052 extracts and finds the integration6053 when the integration is inactive6054 does not find an integration6055 without integration parameters specified6056 extracts and finds the legacy integration6057 when inextractable token6058 passes nil for a non-bearer token6059 when missing token6060 passes nil6061getting an issue list for a group6062 behaves like a working graphql query6063 returns a successful response6064 when there is a confidential issue6065 when the user cannot see confidential issues6066 returns issues without confidential issues for the group6067 filtering for confidential issues6068 returns no issues6069 filtering for non-confidential issues6070 returns correctly filtered issues6071 when the user can see confidential issues6072 returns issues with confidential issues for the group6073 filtering for confidential issues6074 returns correctly filtered issues6075 filtering for non-confidential issues6076 returns correctly filtered issues6077Projects::BadgesController6078 #pipeline6079 behaves like a badge resource6080 when pipelines are public6081 when project is public6082 returns the pipeline badge to unauthenticated users6083 when project is restricted6084 returns the pipeline badge to guest users6085 format6086 renders the `flat` badge layout by default6087 when style param is set to `flat`6088 renders the `flat` badge layout6089 when style param is set to an invalid type6090 renders the `flat` (default) badge layout6091 when style param is set to `flat-square`6092 renders the `flat-square` badge layout6093 when pipelines are not public6094 when project is public6095 returns 404 to unauthenticated users6096 when project is restricted to the user6097 defaults to project permissions6098 customization6099 when key_text param is used6100 sets custom key text6101 when key_width param is used6102 sets custom key width6103 with ignore_skipped param6104 returns skipped badge if set to false6105 does not return skipped badge if set to true6106 #coverage6107 behaves like a badge resource6108 when pipelines are public6109 when project is public6110 returns the coverage badge to unauthenticated users6111 when project is restricted6112 returns the coverage badge to guest users6113 format6114 renders the `flat` badge layout by default6115 when style param is set to `flat`6116 renders the `flat` badge layout6117 when style param is set to an invalid type6118 renders the `flat` (default) badge layout6119 when style param is set to `flat-square`6120 renders the `flat-square` badge layout6121 when pipelines are not public6122 when project is public6123 returns 404 to unauthenticated users6124 when project is restricted to the user6125 defaults to project permissions6126 customization6127 when key_text param is used6128 sets custom key text6129 when key_width param is used6130 sets custom key width6131API::Metrics::Dashboard::Annotations6132 environment6133 behaves like POST /:source_type/:id/metrics_dashboard/annotations6134 with :source_type == environments6135 with correct permissions6136 with valid parameters6137 creates a new annotation6138 with invalid parameters6139 returns error messsage6140 with undeclared params6141 filters out undeclared params6142 with special characers in dashboard_path in request body6143 with escaped characters6144 behaves like special characters unescaped6145 unescapes the dashboard_path6146 with unescaped characers6147 behaves like special characters unescaped6148 unescapes the dashboard_path6149 without correct permissions6150 returns error message6151 group cluster6152 behaves like POST /:source_type/:id/metrics_dashboard/annotations6153 with :source_type == clusters6154 with correct permissions6155 with valid parameters6156 creates a new annotation6157 with invalid parameters6158 returns error messsage6159 with undeclared params6160 filters out undeclared params6161 with special characers in dashboard_path in request body6162 with escaped characters6163 behaves like special characters unescaped6164 unescapes the dashboard_path6165 with unescaped characers6166 behaves like special characters unescaped6167 unescapes the dashboard_path6168 without correct permissions6169 returns error message6170 project cluster6171 behaves like POST /:source_type/:id/metrics_dashboard/annotations6172 with :source_type == clusters6173 with correct permissions6174 with valid parameters6175 creates a new annotation6176 with invalid parameters6177 returns error messsage6178 with undeclared params6179 filters out undeclared params6180 with special characers in dashboard_path in request body6181 with escaped characters6182 behaves like special characters unescaped6183 unescapes the dashboard_path6184 with unescaped characers6185 behaves like special characters unescaped6186 unescapes the dashboard_path6187 without correct permissions6188 returns error message6189API::Applications6190 POST /applications6191 authenticated and authorized user6192 creates and returns an OAuth application6193 does not allow creating an application with the wrong redirect_uri format6194 does not allow creating an application with a forbidden URI format6195 does not allow creating an application without a name6196 does not allow creating an application without a redirect_uri6197 does not allow creating an application without specifying `scopes`6198 does not allow creating an application with blank `scopes`6199 does not allow creating an application with invalid `scopes`6200 defaults to creating an application with confidential6201 multiple scopes6202 creates an application with multiple `scopes` when each scope specified is seperated by a space6203 does not allow creating an application with multiple `scopes` when one of the scopes is invalid6204 authorized user without authorization6205 does not create application6206 non-authenticated user6207 does not create application6208 GET /applications6209 authenticated and authorized user6210 can list application6211 authorized user without authorization6212 cannot list application6213 non-authenticated user6214 cannot list application6215 DELETE /applications/:id6216 authenticated and authorized user6217 can delete an application6218 cannot delete non-existing application6219 authorized user without authorization6220 cannot delete an application6221 non-authenticated user6222 cannot delete an application6223issue discussions6224 GET /:namespace/:project/-/issues/:iid/discussions6225 HTTP caching6226 returns 304 without serializing JSON6227 when user role changes6228 behaves like cache miss6229 returns 200 and serializes JSON6230 when emoji is awarded to a note6231 behaves like cache miss6232 returns 200 and serializes JSON6233 when note author name changes6234 behaves like cache miss6235 returns 200 and serializes JSON6236 when note author status changes6237 behaves like cache miss6238 returns 200 and serializes JSON6239 when note author role changes6240 behaves like cache miss6241 returns 200 and serializes JSON6242 when note is added6243 behaves like cache miss6244 returns 200 and serializes JSON6245 when note is modified6246 behaves like cache miss6247 returns 200 and serializes JSON6248 when note is deleted6249 behaves like cache miss6250 returns 200 and serializes JSON6251API::Admin::Ci::Variables6252 GET /admin/ci/variables6253 returns instance-level variables for admins6254 does not return instance-level variables for regular users6255 does not return instance-level variables for unauthorized users6256 GET /admin/ci/variables/:key6257 returns instance-level variable details for admins6258 responds with 404 Not Found if requesting non-existing variable6259 does not return instance-level variable details for regular users6260 does not return instance-level variable details for unauthorized users6261 POST /admin/ci/variables6262 authorized user with proper permissions6263 creates variable for admins6264 creates variable with optional attributes6265 does not allow to duplicate variable key6266 does not allow values above 10,000 characters6267 authorized user with invalid permissions6268 does not create variable6269 unauthorized user6270 does not create variable6271 PUT /admin/ci/variables/:key6272 authorized user with proper permissions6273 updates variable data6274 responds with 404 Not Found if requesting non-existing variable6275 authorized user with invalid permissions6276 does not update variable6277 unauthorized user6278 does not update variable6279 DELETE /admin/ci/variables/:key6280 authorized user with proper permissions6281 deletes variable6282 responds with 404 Not Found if requesting non-existing variable6283 authorized user with invalid permissions6284 does not delete variable6285 unauthorized user6286 does not delete variable6287Projects::StaticSiteEditorController6288 GET index6289 responds with 404 page6290 GET show6291 User roles6292 anonymous6293 redirects to sign in and returns6294 as guest6295 responds with 404 page6296 as developer6297 increases the views counter6298 renders the edit page6299 assigns ref and path variables6300 when combination of ref and path is incorrect6301 responds with 404 page6302 when invalid config file6303 redirects to project page and flashes error message6304 with a service response payload containing multiple data types6305 leaves data values which are strings as strings6306 leaves data values which are integers as integers6307 serializes data values which are booleans to JSON6308 serializes data values which are arrays to JSON6309 serializes data values which are hashes to JSON6310 serializes data values which are nil to an empty string6311uploading designs6312 returns an error if the user is not allowed to upload designs6313DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6314DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6315 succeeds, and responds with the created designs6316DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6317DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6318DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6319DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6320 can respond with skipped designs6321 when the input does not include a null value for each mapped file6322 returns an error6323 when the issue does not exist6324 returns an error6325 when saving the designs raises an error6326 responds with errors6327Deleting a release6328 when the current user has access to update releases6329 deletes the release6330 returns the deleted release6331 does not remove the Git tag associated with the deleted release6332 returns no errors6333 validation6334 when the release does not exist6335 returns the release as null6336 returns an errors-at-data message6337 when the project does not exist6338 behaves like unauthorized or not found error6339 returns a top-level error with message6340 when the current user doesn't have access to update releases6341 when the current user is a Reporter6342 behaves like unauthorized or not found error6343 returns a top-level error with message6344 when the current user is a Guest6345 behaves like unauthorized or not found error6346 returns a top-level error with message6347 when the current user is a public user6348 behaves like unauthorized or not found error6349 returns a top-level error with message6350Profiles::AccountsController6351 DELETE unlink6352 renders 404 if someone tries to unlink a non existent provider6353 saml provider6354 does not allow to unlink connected account6355 cas3 provider6356 does not allow to unlink connected account6357 twitter provider6358 allows to unlink connected account6359 facebook provider6360 allows to unlink connected account6361 google_oauth2 provider6362 allows to unlink connected account6363 gitlab provider6364 allows to unlink connected account6365 github provider6366 allows to unlink connected account6367 bitbucket provider6368 allows to unlink connected account6369 crowd provider6370 allows to unlink connected account6371 auth0 provider6372 allows to unlink connected account6373 authentiq provider6374 allows to unlink connected account6375 dingtalk provider6376 allows to unlink connected account6377 atlassian_oauth2 provider6378 allows a user to unlink a connected account6379API::MergeRequestApprovals6380 GET :id/merge_requests/:merge_request_iid/approvals6381 retrieves the approval status6382 when merge request author has only guest access6383 behaves like rejects user from accessing merge request info6384 returns a 403 error6385 POST :id/merge_requests/:merge_request_iid/approve6386 as a valid approver6387 when the sha param is not set6388 approves the merge request6389 when the sha param is correct6390 approves the merge request6391 when the sha param is incorrect6392 does not approve the merge request6393 POST :id/merge_requests/:merge_request_iid/unapprove6394 as a user who has approved the merge request6395 unapproves the merge request6396API::ErrorTracking::ClientKeys6397 GET /projects/:id/error_tracking/client_keys6398 behaves like endpoint with authorization6399 when unauthenticated6400 is expected to respond with numeric status code unauthorized6401 when authenticated as non-maintainer6402 is expected to respond with numeric status code forbidden6403 when authenticated as maintainer6404 returns client keys6405 POST /projects/:id/error_tracking/client_keys6406 behaves like endpoint with authorization6407 when unauthenticated6408 is expected to respond with numeric status code unauthorized6409 when authenticated as non-maintainer6410 is expected to respond with numeric status code forbidden6411 when authenticated as maintainer6412 returns a newly created client key6413 DELETE /projects/:id/error_tracking/client_keys/:key_id6414 behaves like endpoint with authorization6415 when unauthenticated6416 is expected to respond with numeric status code unauthorized6417 when authenticated as non-maintainer6418 is expected to respond with numeric status code forbidden6419 when authenticated as maintainer6420 returns a correct status6421EnforcesAdminAuthentication6422 application setting :admin_mode is enabled6423 authenticate_admin!6424 as an admin6425 renders redirect for re-authentication and does not set admin mode6426 when admin mode is active6427 renders ok6428 as a user6429 renders a 4046430 does not set admin mode6431 application setting :admin_mode is disabled6432 authenticate_admin!6433 as an admin6434 allows direct access to page6435 does not set admin mode6436 as a user6437 renders a 4046438 does not set admin mode6439Milestones through GroupQuery6440 Get list of milestones from a group6441 when the request is correct6442 returns milestones successfully6443 behaves like a working graphql query6444 returns a successful response6445 when filtering by timeframe6446 fetches milestones between start_date and due_date6447 fetches milestones between timeframe start and end arguments6448 when filtering by state6449 returns milestones with given state6450 when including milestones from decendants6451 when including decendants6452 returns milestones also from subgroups and subprojects visible to user6453 when including ancestors6454 returns milestones from ancestor groups6455 ensures each field returns the correct value6456 returns correct values for scalar fields6457 milestone statistics6458 returns the correct milestone statistics6459IssuableCollections6460 #page_count_for_relation6461 row count is known6462 returns the number of pages6463 row_count is unknown6464 page_param: nil, expected: 26465 returns current page + 1 if the row count is unknown6466 page_param: 1, expected: 26467 returns current page + 1 if the row count is unknown6468 page_param: "1", expected: 26469 returns current page + 1 if the row count is unknown6470 page_param: 2, expected: 36471 returns current page + 1 if the row count is unknown6472 #finder_options6473 scalar params6474 only allows whitelisted params6475 array params6476 only allows whitelisted params6477 search using an issue iid6478 mutates the search into a filter by iid6479API::Metrics::UserStarredDashboards6480 POST /projects/:id/metrics/user_starred_dashboards6481 with correct permissions6482 with valid parameters6483 dashboard_path as url param url escaped6484 creates a new user starred metrics dashboard6485 dashboard_path in request body unescaped6486 creates a new user starred metrics dashboard6487 with invalid parameters6488 returns error message6489 user is missing6490 returns 404 not found6491 project is missing6492 returns 404 not found6493 without correct permissions6494 returns 404 not found6495 DELETE /projects/:id/metrics/user_starred_dashboards6496 with correct permissions6497 with valid parameters6498 dashboard_path as url param url escaped6499 deletes given user starred metrics dashboard6500 dashboard_path in request body unescaped6501 deletes given user starred metrics dashboard6502 dashboard_path has not been specified6503 deletes all starred dashboards for that user within given project6504 with invalid parameters6505 user is missing6506 returns 404 not found6507 project is missing6508 returns 404 not found6509 without correct permissions6510 returns 404 not found6511PasswordsController6512 #check_password_authentication_available6513 when password authentication is disabled for the web interface and Git6514 prevents a password reset6515 when reset email belongs to an ldap user6516 prevents a password reset6517 #update6518 updating the password6519 sets the username and caller_id in the context6520 password update is successful6521 updates the password-related flags6522 password update is unsuccessful6523 does not update the password-related flags6524 #create6525 when reCAPTCHA is disabled6526 successfully sends password reset when reCAPTCHA is not solved6527 when reCAPTCHA is enabled6528 displays an error when the reCAPTCHA is not solved6529 successfully sends password reset when reCAPTCHA is solved6530InternalRedirect6531 #safe_redirect_path6532 input: "Hello world" being invalid6533 returns nil6534 input: "//example.com/hello/world" being invalid6535 returns nil6536 input: "https://example.com/hello/world" being invalid6537 returns nil6538 input: "not-starting-with-a-slash\n/starting/with/slash" being invalid6539 returns nil6540 input: "/hello/world" being valid6541 returns the path6542 returns the path with querystring and fragment6543 input: "/-/ide/project/path" being valid6544 returns the path6545 returns the path with querystring and fragment6546 #safe_redirect_path_for_url6547 input: "Hello world" being invalid6548 returns nil6549 input: "http://example.com/hello/world" being invalid6550 returns nil6551 input: "http://test.host:3000/hello/world" being invalid6552 returns nil6553 input: "http://test.host/hello/world" being on the same host6554 returns the path6555 returns the path with querystring and fragment6556 #sanitize_redirect6557 returns `nil` for invalid paths6558 returns `nil` for invalid urls6559 returns input for valid paths6560 returns path for valid urls6561 #host_allowed?6562 allows URI with the same host and port6563 rejects URI with other host6564 rejects URI with other port6565Marking all todos done6566 marks all pending todos as done6567 behaves as expected if there are no todos for the requesting user6568 when user is not logged in6569 behaves like a mutation that returns a top-level access error6570 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]6571Query current user groups6572 avoids N+1 queries6573 returns all groups where the user is a direct member6574 behaves like a working graphql query6575 returns a successful response6576 when permission_scope is CREATE_PROJECTS6577 is expected to match [{"id"=>"gid://gitlab/Group/3070", "name"=>"a public maintainer", "path"=>"a-public-maintainer", "fullPath"=>"a-public-maintainer"}, {"id"=>"gid://gitlab/Group/3068", "name"=>"b private maintainer", "path"=>"b-private-maintainer", "fullPath"=>"b-private-maintainer"}, {"id"=>"gid://gitlab/Group/3069", "name"=>"c public developer", "path"=>"c-public-developer", "fullPath"=>"c-public-developer"}]6578 when search is provided6579 is expected to match [{"id"=>"gid://gitlab/Group/3070", "name"=>"a public maintainer", "path"=>"a-public-maintainer", "fullPath"=>"a-public-maintainer"}, {"id"=>"gid://gitlab/Group/3068", "name"=>"b private maintainer", "path"=>"b-private-maintainer", "fullPath"=>"b-private-maintainer"}]6580 when search is provided6581 is expected to match [{"id"=>"gid://gitlab/Group/3070", "name"=>"a public maintainer", "path"=>"a-public-maintainer", "fullPath"=>"a-public-maintainer"}, {"id"=>"gid://gitlab/Group/3068", "name"=>"b private maintainer", "path"=>"b-private-maintainer", "fullPath"=>"b-private-maintainer"}]6582Admin::ApplicationsController6583 GET #index6584 renders the application form6585 GET #new6586 renders the application form6587 GET #edit6588 renders the application form6589 POST #create6590 creates the application6591 renders the application form on errors6592 when the params are for a confidential application6593 creates a confidential application6594 when scopes are not present6595 renders the application form on errors6596 PATCH #update6597 updates the application6598 renders the application form on errors6599 when updating the application to be confidential6600 successfully sets the application to confidential6601Admin::ImpersonationTokensController6602 when impersonation is disabled6603 shows error page for index page6604 responds with 404 for create action6605 responds with 404 for revoke action6606Import::PhabricatorController6607 GET #new6608 when the import source is not available6609 is expected to respond with numeric status code not_found6610 when the feature is disabled6611 is expected to respond with numeric status code not_found6612 when the import is available6613 is expected to respond with numeric status code ok6614 POST #create6615 with valid params6616 creates a project to import6617 when an import param is missing6618 does not create the project6619 when a project param is missing6620 does not create the project6621 behaves like project import rate limiter6622 when limit exceeds6623 notifies and redirects user6624Restoring many Todos6625 restores many todos6626 when using an invalid gid6627 contains the expected error6628Dashboard::GroupsController6629 renders group trees6630 #index6631 only includes projects the user is a member of6632 works when the external authorization service is enabled6633 when rendering an expanded hierarchy with public groups you are not a member of6634 renders only groups the user is a member of when searching hierarchy correctly6635Profiles::EmailsController6636 #create6637 sends an email confirmation6638 when email address is invalid6639 does not send an email confirmation6640 behaves like respects the rate limit6641 after the rate limit is exceeded6642 does not send any email6643 displays an alert6644 #resend_confirmation_instructions6645 resends an email confirmation6646 email does not exist6647 does not send an email confirmation6648 behaves like respects the rate limit6649 after the rate limit is exceeded6650 does not send any email6651 displays an alert6652Getting Metrics Dashboard Annotations6653 returns annotations6654 behaves like a working graphql query6655 returns a successful response6656 arguments6657 from is missing6658 returns error6659 to is missing6660 behaves like a working graphql query6661 returns a successful response6662PipelineCancel6663 does not cancel any pipelines not owned by the current user6664 returns a error if the pipline cannot be be canceled6665 cancels all cancelable builds from a pipeline6666Projects::ReleasesController6667 GET #downloads6668 filepath redirection6669 valid filepath6670 redirects to the asset direct link6671 redirects with a status of 3026672 invalid filepath6673 is not found6674 invalid filepath6675 cannot create an invalid filepath6676API::PersonalAccessTokens6677 GET /personal_access_tokens6678 logged in as an Administrator6679 returns all PATs by default6680 filtered with user_id parameter6681 returns only PATs belonging to that user6682 logged in as a non-Administrator6683 returns all PATs belonging to the signed-in user6684 filtered with user_id parameter6685 returns PATs belonging to the specific user6686 is unauthorized if filtered by a user other than current_user6687 not authenticated6688 is forbidden6689 DELETE /personal_access_tokens/:id6690 when current_user is an administrator6691 revokes a different users token6692 revokes their own token6693 when current_user is not an administrator6694 fails revokes a different users token6695 revokes their own token6696 cannot revoke impersonation token6697Update of an existing board list6698 behaves like a GraphQL request to update board list6699 the user is not allowed to read board lists6700 behaves like a mutation that returns a top-level access error6701 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]6702 when user has permissions to admin board lists6703 updates the list position and collapsed state6704 when user has permissions to read board lists6705 updates the list collapsed state but not the list position6706Import::ManifestController6707 POST upload6708 with a valid manifest6709 saves the manifest and redirects to the status page6710 with an invalid manifest6711 displays an error6712 when the user cannot create projects in the group6713 displays an error6714 GET status6715 when the data is stored via Gitlab::ManifestImport::Metadata6716 returns variables for json request6717 when the data is stored in the user session6718 returns variables for json request6719RepositoryCheckMailer6720 .notify6721 emails all admins6722 omits blocked admins6723 mentions the number of failed checks6724 with footer and header6725 behaves like appearance header and footer enabled6726 contains header and footer6727 behaves like appearance header and footer not enabled6728 does not contain header and footer6729API::ProjectStatistics6730 GET /projects/:id/statistics6731 returns the fetch statistics of the last 30 days6732 excludes the fetch statistics older than 30 days6733 responds with 403 when the user is not a reporter of the repository6734Querying a Milestone6735 when the user has access to the milestone6736 is expected to include {"title" => "My title 346"}6737 behaves like a working graphql query6738 returns a successful response6739 when the user does not have access to the milestone6740 is expected to be nil6741 behaves like a working graphql query6742 returns a successful response6743 when ID argument is missing6744 raises an exception6745API::Internal::Lfs6746 GET /internal/lfs6747 with invalid auth6748 returns 4016749 with valid auth6750 LFS in local storage6751 sends the file6752 delegates sending to Web server6753 retuns 404 for unknown file6754 returns 404 if LFS object does not belong to project6755 LFS in object storage6756 notifies Workhorse to send the file6757JiraConnect::AppDescriptorController6758 #show6759 returns JSON app descriptor6760JobUnschedule6761 returns an error if the user is not allowed to unschedule the job6762 unschedules a job6763Admin::HooksController6764 POST #create6765 sets all parameters6766 DELETE #destroy6767 behaves like Web hook destroyer6768 displays a message about synchronous delete6769 displays a message about async delete6770 displays an error if deletion failed6771Explore::GroupsController6772 renders group trees6773 includes public projects6774 restricted visibility level is public6775 redirects to login page6776ProjectMember6777 behaves like a working graphql query6778 returns a successful response6779 behaves like a working membership object query6780 contains edge to expected project6781 contains correct access level6782GroupMember6783 behaves like a working graphql query6784 returns a successful response6785 behaves like a working membership object query6786 contains edge to expected project6787 contains correct access level6788Query.project(fullPath).pipelines.jobs.artifacts6789 returns the fields for the artifacts6790Admin::PlanLimitsController6791 POST create6792 with an authenticated admin user6793 updates the plan limits6794 without admin access6795 returns `not_found`6796Profiles::WebauthnRegistrationsController6797 #destroy6798 deletes the given webauthn registration6799Admin::HealthCheckController6800 GET show6801 loads the health information6802Knapsack report was generated. Preview:6803{6804 "spec/requests/api/maven_packages_spec.rb": 241.47204077800006,6805 "spec/requests/api/ci/pipelines_spec.rb": 184.9600404800001,6806 "spec/requests/api/conan_project_packages_spec.rb": 186.18639475999998,6807 "spec/requests/api/graphql/project/merge_requests_spec.rb": 87.03406258099994,6808 "spec/requests/api/files_spec.rb": 95.67290897400017,6809 "spec/controllers/projects/notes_controller_spec.rb": 103.48299985299991,6810 "spec/requests/api/wikis_spec.rb": 80.60892818699995,6811 "spec/controllers/projects/serverless/functions_controller_spec.rb": 72.19684405999988,6812 "spec/controllers/autocomplete_controller_spec.rb": 50.7003811149998,6813 "spec/controllers/application_controller_spec.rb": 43.641918712000006,6814 "spec/requests/api/graphql/project/release_spec.rb": 36.80982201500001,6815 "spec/controllers/projects/wikis_controller_spec.rb": 39.74652200299988,6816 "spec/requests/api/project_debian_distributions_spec.rb": 26.203573597000286,6817 "spec/requests/api/project_clusters_spec.rb": 39.24989044799986,6818 "spec/controllers/projects/repositories_controller_spec.rb": 33.81241248000015,6819 "spec/requests/api/go_proxy_spec.rb": 18.111611849999917,6820 "spec/controllers/projects/project_members_controller_spec.rb": 24.402447366999695,6821 "spec/requests/api/pages_domains_spec.rb": 14.694743934999678,6822 "spec/controllers/snippets_controller_spec.rb": 14.284658178999962,6823 "spec/controllers/projects/tree_controller_spec.rb": 17.67266283400022,6824 "spec/requests/api/events_spec.rb": 18.98999201000015,6825 "spec/requests/api/boards_spec.rb": 13.95739383199998,6826 "spec/requests/api/graphql/packages/maven_spec.rb": 19.20812299399995,6827 "spec/controllers/projects/mirrors_controller_spec.rb": 14.830898021999928,6828 "spec/requests/projects/merge_requests_spec.rb": 13.290118272999734,6829 "spec/requests/api/deploy_keys_spec.rb": 10.843669286000022,6830 "spec/requests/projects/merge_requests/diffs_spec.rb": 12.84553596800015,6831 "spec/requests/api/usage_data_non_sql_metrics_spec.rb": 14.1764415130001,6832 "spec/controllers/projects/alerting/notifications_controller_spec.rb": 5.300185691000024,6833 "spec/requests/api/graphql/group/issues_spec.rb": 12.43407026199975,6834 "spec/controllers/projects/badges_controller_spec.rb": 9.451614283000254,6835 "spec/requests/api/metrics/dashboard/annotations_spec.rb": 7.932554333000098,6836 "spec/requests/api/applications_spec.rb": 5.9893981190002705,6837 "spec/requests/projects/issues/discussions_spec.rb": 9.19475127099986,6838 "spec/requests/api/admin/ci/variables_spec.rb": 5.1523994269996365,6839 "spec/controllers/projects/static_site_editor_controller_spec.rb": 8.971604578000097,6840 "spec/requests/api/graphql/mutations/design_management/upload_spec.rb": 8.617819660999885,6841 "spec/requests/api/graphql/mutations/releases/delete_spec.rb": 6.451460233000034,6842 "spec/controllers/profiles/accounts_controller_spec.rb": 5.058365540000068,6843 "spec/requests/api/merge_request_approvals_spec.rb": 7.754949749999923,6844 "spec/requests/api/error_tracking/client_keys_spec.rb": 3.720708394999747,6845 "spec/controllers/concerns/enforces_admin_authentication_spec.rb": 6.117443425000147,6846 "spec/requests/api/graphql/group/milestones_spec.rb": 6.04694564700003,6847 "spec/controllers/concerns/issuable_collections_spec.rb": 2.9136738420002075,6848 "spec/requests/api/metrics/user_starred_dashboards_spec.rb": 5.615345981000246,6849 "spec/controllers/passwords_controller_spec.rb": 2.7999865359997784,6850 "spec/controllers/concerns/internal_redirect_spec.rb": 2.3684921799999756,6851 "spec/requests/api/graphql/mutations/todos/mark_all_done_spec.rb": 3.4896130329998414,6852 "spec/requests/api/graphql/current_user/groups_query_spec.rb": 4.174417489999996,6853 "spec/controllers/admin/applications_controller_spec.rb": 3.975363946000016,6854 "spec/requests/admin/impersonation_tokens_controller_spec.rb": 1.4151646830000573,6855 "spec/controllers/import/phabricator_controller_spec.rb": 2.8375740739998037,6856 "spec/requests/api/graphql/mutations/todos/restore_many_spec.rb": 2.0919293899996774,6857 "spec/controllers/dashboard/groups_controller_spec.rb": 2.3025909830003,6858 "spec/controllers/profiles/emails_controller_spec.rb": 1.490313598999819,6859 "spec/requests/api/graphql/metrics/dashboard/annotations_spec.rb": 2.8059815050000907,6860 "spec/requests/api/graphql/mutations/ci/pipeline_cancel_spec.rb": 1.465377711000201,6861 "spec/requests/projects/releases_controller_spec.rb": 2.285451792999993,6862 "spec/requests/api/personal_access_tokens_spec.rb": 1.614547906000098,6863 "spec/requests/api/graphql/mutations/boards/lists/update_spec.rb": 1.825597898000069,6864 "spec/controllers/import/manifest_controller_spec.rb": 2.1220526479996806,6865 "spec/mailers/repository_check_mailer_spec.rb": 1.165688960999887,6866 "spec/requests/api/project_statistics_spec.rb": 1.5063416590000998,6867 "spec/requests/api/graphql/milestone_spec.rb": 1.4933792100000574,6868 "spec/requests/api/internal/lfs_spec.rb": 1.08867555300003,6869 "spec/controllers/jira_connect/app_descriptor_controller_spec.rb": 0.1901153539997722,6870 "spec/requests/api/graphql/mutations/ci/job_unschedule_spec.rb": 1.0083771459999298,6871 "spec/controllers/admin/hooks_controller_spec.rb": 1.0716627040001185,6872 "spec/controllers/explore/groups_controller_spec.rb": 0.9044299100000899,6873 "spec/requests/api/graphql/user/project_member_query_spec.rb": 1.0138892859999942,6874 "spec/requests/api/graphql/user/group_member_query_spec.rb": 0.9716808569996829,6875 "spec/requests/api/graphql/ci/job_artifacts_spec.rb": 0.8476055420001103,6876 "spec/controllers/admin/plan_limits_controller_spec.rb": 0.5195877930000279,6877 "spec/controllers/profiles/webauthn_registrations_controller_spec.rb": 0.5837721200000487,6878 "spec/controllers/admin/health_check_controller_spec.rb": 0.253462312000010576879}6880Knapsack global time execution for tests: 28m 17s6881Finished in 28 minutes 21 seconds (files took 51.45 seconds to load)68822867 examples, 0 failures6883Tue Dec 14 01:56:51 UTC 20216885Not uploading cache ruby-gems-v1-9 due to policy6886Not uploading cache gitaly-ruby-gems-v1-9 due to policy6888Uploading artifacts...6889coverage/: found 5 matching files and directories 6890crystalball/: found 2 matching files and directories 6891deprecations/: found 11 matching files and directories 6892knapsack/: found 3 matching files and directories 6893rspec_flaky/: found 5 matching files and directories 6894rspec_profiling/: found 1 matching files and directories 6895WARNING: tmp/capybara/: no matching files 6896tmp/memory_test/: found 2 matching files and directories 6897log/*.log: found 16 matching files and directories 6898Uploading artifacts as "archive" to coordinator... ok id=1880798038 responseStatus=201 Created token=WtE7kKMJ6899Uploading artifacts...6900junit_rspec.xml: found 1 matching files and directories 6901Uploading artifacts as "junit" to coordinator... ok id=1880798038 responseStatus=201 Created token=WtE7kKMJ6903Job succeeded