rspec integration pg14 11/13
Passed Started
by
@seggenberger

Sascha Eggenberger
1Running with gitlab-runner 16.6.0~beta.105.gd2263193 (d2263193)2 on green-2.shared-gitlab-org.runners-manager.gitlab.com/default 8zCxmpPt, system ID: s_130a96ce9e653 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...10Using docker image sha256:6c7370fd46a94d5beaed2a0304c7518e74a5759d4da3322ea9f7052507f51d80 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:1b39aac95406782d786043ec3f1772c0a3a5ce1b9ce28cf001cac9a290f366c8 ...11WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.12WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.13Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...16Using docker image sha256:f4c047edb00d9bbfcc2b002a01548fab14592940f5b3e6b3f227f690e3fa272d for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:9a1b6b68dc464f0baae914703d5b059e7773bf23c9579c44e2a1b1154a83656f ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:c9052246611fd2d9efcf620a05898778c045696a9ef664a13d2454e073dd05cc for redis:6.2-alpine with digest redis@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5 ...20Waiting for services to be up and running (timeout 30 seconds)...21Authenticating with credentials from job payload (GitLab Registry)22Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...23Using docker image sha256:b6ecd857a9432dbcf3db944482b11a6539f3a0be42b882ff1b2e14c381fb46ad for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:1312a2d5cbb44b0f06794cc762e3b684b200c3e4c0ba6e458c61a641293b28c0 ...25Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1700667535-2da75ceb...27Fetching changes with git depth set to 20...28Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/29Created fresh repository.30remote: Enumerating objects: 160062, done. 31remote: Counting objects: 100% (160062/160062), done. 32remote: Compressing objects: 100% (106043/106043), done. 33remote: Total 160062 (delta 72911), reused 107612 (delta 47791), pack-reused 0 34Receiving objects: 100% (160062/160062), 141.24 MiB | 28.82 MiB/s, done.35Resolving deltas: 100% (72911/72911), done.37 * [new ref] refs/pipelines/1081810896 -> refs/pipelines/108181089638Checking out bc34b5b9 as detached HEAD (ref is refs/merge-requests/137025/merge)...39Skipping Git submodules setup40$ git remote set-url origin "${CI_REPOSITORY_URL}"42Checking cache for ruby-gems-debian-bullseye-ruby-3.1-16...43cache.zip is up to date 44Successfully extracted cache46Downloading artifacts for compile-test-assets (5597250154)...47Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250154 responseStatus=200 OK token=64_qnwfQ48Downloading artifacts for detect-tests (5597250235)...49Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250235 responseStatus=200 OK token=64_qnwfQ50Downloading artifacts for retrieve-tests-metadata (5597250273)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250273 responseStatus=200 OK token=64_qnwfQ52Downloading artifacts for setup-test-env (5597250178)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250178 responseStatus=200 OK token=64_qnwfQ55Using docker image sha256:b6ecd857a9432dbcf3db944482b11a6539f3a0be42b882ff1b2e14c381fb46ad for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:1312a2d5cbb44b0f06794cc762e3b684b200c3e4c0ba6e458c61a641293b28c0 ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh93Using decomposed database config (config/database.yml.decomposed-postgresql)94Geo DB won't be set up.95Embedding DB won't be set up.147$ source ./scripts/rspec_helpers.sh148$ run_timed_command "gem install knapsack --no-document"149$ gem install knapsack --no-document150Successfully installed knapsack-4.0.01511 gem installed152==> 'gem install knapsack --no-document' succeeded in 1 seconds.153$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"158$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"159$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"160$ tooling/bin/create_job_metrics_file || true161[job-metrics] Creating the job metrics file for the CI/CD job.162$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request"163RETRY_FAILED_TESTS_IN_NEW_PROCESS: true164KNAPSACK_GENERATE_REPORT: true165FLAKY_RSPEC_GENERATE_REPORT: true166KNAPSACK_TEST_FILE_PATTERN: spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb167KNAPSACK_LOG_LEVEL: debug168KNAPSACK_REPORT_PATH: knapsack/rspec_integration_pg14_11_13_report.json169FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json170FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_integration_pg14_11_13_report.json171NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_integration_pg14_11_13_report.json172RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-5597251418.txt173CRYSTALBALL: 174RSPEC_TESTS_MAPPING_ENABLED: 175RSPEC_TESTS_FILTER_FILE: 176Shell set options (set -o) enabled:177braceexpand on178hashall on179interactive-comments on180pipefail on181Knapsack report generator started!182WARNING: Shared example group 'returns a valid json search response' has been previously defined at:183 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376184...and you are now defining it at:185 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376186The new definition will overwrite the original one.187WARNING: Shared example group 'returns a valid json search response' has been previously defined at:188 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376189...and you are now defining it at:190 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376191The new definition will overwrite the original one.192WARNING: Shared example group 'returns a valid json search response' has been previously defined at:193 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376194...and you are now defining it at:195 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376196The new definition will overwrite the original one.197WARNING: Shared example group 'returns a valid json search response' has been previously defined at:198 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376199...and you are now defining it at:200 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376201The new definition will overwrite the original one.202WARNING: Shared example group 'returns a valid json search response' has been previously defined at:203 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376204...and you are now defining it at:205 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376206The new definition will overwrite the original one.207WARNING: Shared example group 'returns a valid json search response' has been previously defined at:208 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376209...and you are now defining it at:210 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376211The new definition will overwrite the original one.212WARNING: Shared example group 'returns a valid json search response' has been previously defined at:213 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376214...and you are now defining it at:215 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376216The new definition will overwrite the original one.217WARNING: Shared example group 'returns a valid json search response' has been previously defined at:218 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376219...and you are now defining it at:220 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376221The new definition will overwrite the original one.222WARNING: Shared example group 'returns a valid json search response' has been previously defined at:223 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376224...and you are now defining it at:225 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:376226The new definition will overwrite the original one.227Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true, :real_ai_request=>true}228unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.229unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.230Test environment set up in 0.89480944 seconds231API::NugetGroupPackages232 with a subgroup233 behaves like handling all endpoints234 GET /api/v4/groups/:id/-/packages/nuget235 behaves like handling nuget service requests236 is expected to have request urgency :default237 with valid target238 visibility_level: "PUBLIC", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success239 behaves like process nuget service index request240 for user type developer241 returns a valid json or xml response242 behaves like returning response status243 returns success244 behaves like a package tracking event245 creates a gitlab tracking event cli_metadata246 with invalid format247 behaves like rejects nuget packages access248 for user type anonymous249 behaves like returning response status250 returns not_found251 visibility_level: "PUBLIC", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success252 behaves like process nuget service index request253 for user type guest254 returns a valid json or xml response255 behaves like returning response status256 returns success257 behaves like a package tracking event258 creates a gitlab tracking event cli_metadata259 with invalid format260 behaves like rejects nuget packages access261 for user type anonymous262 behaves like returning response status263 returns not_found264 visibility_level: "PUBLIC", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success265 behaves like process nuget service index request266 for user type developer267 returns a valid json or xml response268 behaves like returning response status269 returns success270 behaves like a package tracking event271 creates a gitlab tracking event cli_metadata272 with invalid format273 behaves like rejects nuget packages access274 for user type anonymous275 behaves like returning response status276 returns not_found277 visibility_level: "PUBLIC", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success278 behaves like process nuget service index request279 for user type guest280 returns a valid json or xml response281 behaves like returning response status282 returns success283 behaves like a package tracking event284 creates a gitlab tracking event cli_metadata285 with invalid format286 behaves like rejects nuget packages access287 for user type anonymous288 behaves like returning response status289 returns not_found290 visibility_level: "PUBLIC", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success291 behaves like process nuget service index request292 for user type anonymous293 returns a valid json or xml response294 behaves like returning response status295 returns success296 behaves like a package tracking event297 creates a gitlab tracking event cli_metadata298 with invalid format299 behaves like rejects nuget packages access300 for user type anonymous301 behaves like returning response status302 returns not_found303 visibility_level: "PRIVATE", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success304 behaves like process nuget service index request305 for user type developer306 returns a valid json or xml response307 behaves like returning response status308 returns success309 behaves like a package tracking event310 creates a gitlab tracking event cli_metadata311 with invalid format312 behaves like rejects nuget packages access313 for user type anonymous314 behaves like returning response status315 returns not_found316 visibility_level: "PRIVATE", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success317 behaves like process nuget service index request318 for user type guest319 returns a valid json or xml response320 behaves like returning response status321 returns success322 behaves like a package tracking event323 creates a gitlab tracking event cli_metadata324 with invalid format325 behaves like rejects nuget packages access326 for user type anonymous327 behaves like returning response status328 returns not_found329 visibility_level: "PRIVATE", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success330 behaves like process nuget service index request331 for user type developer332 returns a valid json or xml response333 behaves like returning response status334 returns success335 behaves like a package tracking event336 creates a gitlab tracking event cli_metadata337 with invalid format338 behaves like rejects nuget packages access339 for user type anonymous340 behaves like returning response status341 returns not_found342 visibility_level: "PRIVATE", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success343 behaves like process nuget service index request344 for user type guest345 returns a valid json or xml response346 behaves like returning response status347 returns success348 behaves like a package tracking event349 creates a gitlab tracking event cli_metadata350 with invalid format351 behaves like rejects nuget packages access352 for user type anonymous353 behaves like returning response status354 returns not_found355 visibility_level: "PRIVATE", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success356 behaves like process nuget service index request357 for user type anonymous358 returns a valid json or xml response359 behaves like returning response status360 returns success361 behaves like a package tracking event362 creates a gitlab tracking event cli_metadata363 with invalid format364 behaves like rejects nuget packages access365 for user type anonymous366 behaves like returning response status367 returns not_found368 behaves like rejects nuget access with unknown target id369 with an unknown target370 as anonymous371 behaves like rejects nuget packages access372 for user type anonymous373 behaves like returning response status374 returns not_found375 as authenticated user376 behaves like rejects nuget packages access377 for user type anonymous378 behaves like returning response status379 returns not_found380 behaves like rejects nuget access with invalid target id381 with a target id with invalid integers382 id: "/../", status: :bad_request383 behaves like rejects nuget packages access384 for user type anonymous385 behaves like returning response status386 returns bad_request387 id: "", status: :not_found388 behaves like rejects nuget packages access389 for user type anonymous390 behaves like returning response status391 returns not_found392 id: "%20", status: :bad_request393 behaves like rejects nuget packages access394 for user type anonymous395 behaves like returning response status396 returns bad_request397 id: "%2e%2e%2f", status: :bad_request398 behaves like rejects nuget packages access399 for user type anonymous400 behaves like returning response status401 returns bad_request402 id: "NaN", status: :bad_request403 behaves like rejects nuget packages access404 for user type anonymous405 behaves like returning response status406 returns bad_request407 id: 1253, status: :not_found408 behaves like rejects nuget packages access409 for user type anonymous410 behaves like returning response status411 returns not_found412 id: "anything25", status: :bad_request413 behaves like rejects nuget packages access414 for user type anonymous415 behaves like returning response status416 returns bad_request417 GET /api/v4/groups/:id/-/packages/nuget/v2418 behaves like handling nuget service requests419 is expected to have request urgency :low420 with valid target421 visibility_level: "PUBLIC", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success422 behaves like process nuget service index request423 for user type developer424 returns a valid json or xml response425 behaves like returning response status426 returns success427 behaves like a package tracking event428 creates a gitlab tracking event cli_metadata429 visibility_level: "PUBLIC", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success430 behaves like process nuget service index request431 for user type guest432 returns a valid json or xml response433 behaves like returning response status434 returns success435 behaves like a package tracking event436 creates a gitlab tracking event cli_metadata437 visibility_level: "PUBLIC", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success438 behaves like process nuget service index request439 for user type developer440 returns a valid json or xml response441 behaves like returning response status442 returns success443 behaves like a package tracking event444 creates a gitlab tracking event cli_metadata445 visibility_level: "PUBLIC", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success446 behaves like process nuget service index request447 for user type guest448 returns a valid json or xml response449 behaves like returning response status450 returns success451 behaves like a package tracking event452 creates a gitlab tracking event cli_metadata453 visibility_level: "PUBLIC", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success454 behaves like process nuget service index request455 for user type anonymous456 returns a valid json or xml response457 behaves like returning response status458 returns success459 behaves like a package tracking event460 creates a gitlab tracking event cli_metadata461 visibility_level: "PRIVATE", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success462 behaves like process nuget service index request463 for user type developer464 returns a valid json or xml response465 behaves like returning response status466 returns success467 behaves like a package tracking event468 creates a gitlab tracking event cli_metadata469 visibility_level: "PRIVATE", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success470 behaves like process nuget service index request471 for user type guest472 returns a valid json or xml response473 behaves like returning response status474 returns success475 behaves like a package tracking event476 creates a gitlab tracking event cli_metadata477 visibility_level: "PRIVATE", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success478 behaves like process nuget service index request479 for user type developer480 returns a valid json or xml response481 behaves like returning response status482 returns success483 behaves like a package tracking event484 creates a gitlab tracking event cli_metadata485 visibility_level: "PRIVATE", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success486 behaves like process nuget service index request487 for user type guest488 returns a valid json or xml response489 behaves like returning response status490 returns success491 behaves like a package tracking event492 creates a gitlab tracking event cli_metadata493 visibility_level: "PRIVATE", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success494 behaves like process nuget service index request495 for user type anonymous496 returns a valid json or xml response497 behaves like returning response status498 returns success499 behaves like a package tracking event500 creates a gitlab tracking event cli_metadata501 behaves like rejects nuget access with unknown target id502 with an unknown target503 as anonymous504 behaves like rejects nuget packages access505 for user type anonymous506 behaves like returning response status507 returns not_found508 as authenticated user509 behaves like rejects nuget packages access510 for user type anonymous511 behaves like returning response status512 returns not_found513 behaves like rejects nuget access with invalid target id514 with a target id with invalid integers515 id: "/../", status: :bad_request516 behaves like rejects nuget packages access517 for user type anonymous518 behaves like returning response status519 returns bad_request520 id: "", status: :not_found521 behaves like rejects nuget packages access522 for user type anonymous523 behaves like returning response status524 returns not_found525 id: "%20", status: :bad_request526 behaves like rejects nuget packages access527 for user type anonymous528 behaves like returning response status529 returns bad_request530 id: "%2e%2e%2f", status: :bad_request531 behaves like rejects nuget packages access532 for user type anonymous533 behaves like returning response status534 returns bad_request535 id: "NaN", status: :bad_request536 behaves like rejects nuget packages access537 for user type anonymous538 behaves like returning response status539 returns bad_request540 id: 1253, status: :not_found541 behaves like rejects nuget packages access542 for user type anonymous543 behaves like returning response status544 returns not_found545 id: "anything25", status: :bad_request546 behaves like rejects nuget packages access547 for user type anonymous548 behaves like returning response status549 returns bad_request550 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index551 behaves like handling nuget metadata requests with package name552 with valid target553 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success554 behaves like process nuget metadata request at package name level555 for user type developer556 behaves like returning response status557 returns success558 behaves like returning nuget metadata json response with json schema559 returns a valid json response560 with invalid format561 behaves like rejects nuget packages access562 for user type anonymous563 behaves like returning response status564 returns not_found565 with lower case package name566 behaves like returning response status567 returns success568 behaves like returning nuget metadata json response with json schema569 returns a valid json response570 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success571 behaves like process nuget metadata request at package name level572 for user type guest573 behaves like returning response status574 returns success575 behaves like returning nuget metadata json response with json schema576 returns a valid json response577 with invalid format578 behaves like rejects nuget packages access579 for user type anonymous580 behaves like returning response status581 returns not_found582 with lower case package name583 behaves like returning response status584 returns success585 behaves like returning nuget metadata json response with json schema586 returns a valid json response587 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized588 behaves like rejects nuget packages access589 for user type developer590 has the correct response header591 behaves like returning response status592 returns unauthorized593 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized594 behaves like rejects nuget packages access595 for user type guest596 has the correct response header597 behaves like returning response status598 returns unauthorized599 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success600 behaves like process nuget metadata request at package name level601 for user type developer602 behaves like returning response status603 returns success604 behaves like returning nuget metadata json response with json schema605 returns a valid json response606 with invalid format607 behaves like rejects nuget packages access608 for user type anonymous609 behaves like returning response status610 returns not_found611 with lower case package name612 behaves like returning response status613 returns success614 behaves like returning nuget metadata json response with json schema615 returns a valid json response616 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success617 behaves like process nuget metadata request at package name level618 for user type guest619 behaves like returning response status620 returns success621 behaves like returning nuget metadata json response with json schema622 returns a valid json response623 with invalid format624 behaves like rejects nuget packages access625 for user type anonymous626 behaves like returning response status627 returns not_found628 with lower case package name629 behaves like returning response status630 returns success631 behaves like returning nuget metadata json response with json schema632 returns a valid json response633 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized634 behaves like rejects nuget packages access635 for user type developer636 has the correct response header637 behaves like returning response status638 returns unauthorized639 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized640 behaves like rejects nuget packages access641 for user type guest642 has the correct response header643 behaves like returning response status644 returns unauthorized645 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized646 behaves like rejects nuget packages access647 for user type anonymous648 has the correct response header649 behaves like returning response status650 returns unauthorized651 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success652 behaves like process nuget metadata request at package name level653 for user type developer654 behaves like returning response status655 returns success656 behaves like returning nuget metadata json response with json schema657 returns a valid json response658 with invalid format659 behaves like rejects nuget packages access660 for user type anonymous661 behaves like returning response status662 returns not_found663 with lower case package name664 behaves like returning response status665 returns success666 behaves like returning nuget metadata json response with json schema667 returns a valid json response668 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found669 behaves like rejects nuget packages access670 for user type guest671 behaves like returning response status672 returns not_found673 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized674 behaves like rejects nuget packages access675 for user type developer676 has the correct response header677 behaves like returning response status678 returns unauthorized679 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized680 behaves like rejects nuget packages access681 for user type guest682 has the correct response header683 behaves like returning response status684 returns unauthorized685 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found686 behaves like rejects nuget packages access687 for user type developer688 behaves like returning response status689 returns not_found690 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found691 behaves like rejects nuget packages access692 for user type guest693 behaves like returning response status694 returns not_found695 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized696 behaves like rejects nuget packages access697 for user type developer698 has the correct response header699 behaves like returning response status700 returns unauthorized701 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized702 behaves like rejects nuget packages access703 for user type guest704 has the correct response header705 behaves like returning response status706 returns unauthorized707 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized708 behaves like rejects nuget packages access709 for user type anonymous710 has the correct response header711 behaves like returning response status712 returns unauthorized713 behaves like deploy token for package GET requests714 with deploy token headers715 valid token716 behaves like returning response status717 returns success718 invalid token719 behaves like returning response status720 returns unauthorized721 behaves like rejects nuget access with unknown target id722 with an unknown target723 as anonymous724 behaves like rejects nuget packages access725 for user type anonymous726 has the correct response header727 behaves like returning response status728 returns unauthorized729 as authenticated user730 behaves like rejects nuget packages access731 for user type anonymous732 behaves like returning response status733 returns not_found734 behaves like rejects nuget access with invalid target id735 with a target id with invalid integers736 id: "/../", status: :bad_request737 behaves like rejects nuget packages access738 for user type anonymous739 behaves like returning response status740 returns bad_request741 id: "", status: :not_found742 behaves like rejects nuget packages access743 for user type anonymous744 behaves like returning response status745 returns not_found746 id: "%20", status: :bad_request747 behaves like rejects nuget packages access748 for user type anonymous749 behaves like returning response status750 returns bad_request751 id: "%2e%2e%2f", status: :bad_request752 behaves like rejects nuget packages access753 for user type anonymous754 behaves like returning response status755 returns bad_request756 id: "NaN", status: :bad_request757 behaves like rejects nuget packages access758 for user type anonymous759 behaves like returning response status760 returns bad_request761 id: 1253, status: :unauthorized762 behaves like rejects nuget packages access763 for user type anonymous764 has the correct response header765 behaves like returning response status766 returns unauthorized767 id: "anything25", status: :bad_request768 behaves like rejects nuget packages access769 for user type anonymous770 behaves like returning response status771 returns bad_request772 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version773 behaves like handling nuget metadata requests with package name and package version774 with valid target775 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success776 behaves like process nuget metadata request at package name and package version level777 for user type developer778 behaves like returning response status779 returns success780 behaves like returning nuget metadata json response with json schema781 returns a valid json response782 with invalid format783 behaves like rejects nuget packages access784 for user type anonymous785 behaves like returning response status786 returns not_found787 with lower case package name788 behaves like returning response status789 returns success790 behaves like returning nuget metadata json response with json schema791 returns a valid json response792 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success793 behaves like process nuget metadata request at package name and package version level794 for user type guest795 behaves like returning response status796 returns success797 behaves like returning nuget metadata json response with json schema798 returns a valid json response799 with invalid format800 behaves like rejects nuget packages access801 for user type anonymous802 behaves like returning response status803 returns not_found804 with lower case package name805 behaves like returning response status806 returns success807 behaves like returning nuget metadata json response with json schema808 returns a valid json response809 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized810 behaves like rejects nuget packages access811 for user type developer812 has the correct response header813 behaves like returning response status814 returns unauthorized815 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized816 behaves like rejects nuget packages access817 for user type guest818 has the correct response header819 behaves like returning response status820 returns unauthorized821 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success822 behaves like process nuget metadata request at package name and package version level823 for user type developer824 behaves like returning response status825 returns success826 behaves like returning nuget metadata json response with json schema827 returns a valid json response828 with invalid format829 behaves like rejects nuget packages access830 for user type anonymous831 behaves like returning response status832 returns not_found833 with lower case package name834 behaves like returning response status835 returns success836 behaves like returning nuget metadata json response with json schema837 returns a valid json response838 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success839 behaves like process nuget metadata request at package name and package version level840 for user type guest841 behaves like returning response status842 returns success843 behaves like returning nuget metadata json response with json schema844 returns a valid json response845 with invalid format846 behaves like rejects nuget packages access847 for user type anonymous848 behaves like returning response status849 returns not_found850 with lower case package name851 behaves like returning response status852 returns success853 behaves like returning nuget metadata json response with json schema854 returns a valid json response855 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized856 behaves like rejects nuget packages access857 for user type developer858 has the correct response header859 behaves like returning response status860 returns unauthorized861 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized862 behaves like rejects nuget packages access863 for user type guest864 has the correct response header865 behaves like returning response status866 returns unauthorized867 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized868 behaves like rejects nuget packages access869 for user type anonymous870 has the correct response header871 behaves like returning response status872 returns unauthorized873 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success874 behaves like process nuget metadata request at package name and package version level875 for user type developer876 behaves like returning response status877 returns success878 behaves like returning nuget metadata json response with json schema879 returns a valid json response880 with invalid format881 behaves like rejects nuget packages access882 for user type anonymous883 behaves like returning response status884 returns not_found885 with lower case package name886 behaves like returning response status887 returns success888 behaves like returning nuget metadata json response with json schema889 returns a valid json response890 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found891 behaves like rejects nuget packages access892 for user type guest893 behaves like returning response status894 returns not_found895 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized896 behaves like rejects nuget packages access897 for user type developer898 has the correct response header899 behaves like returning response status900 returns unauthorized901 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized902 behaves like rejects nuget packages access903 for user type guest904 has the correct response header905 behaves like returning response status906 returns unauthorized907 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found908 behaves like rejects nuget packages access909 for user type developer910 behaves like returning response status911 returns not_found912 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found913 behaves like rejects nuget packages access914 for user type guest915 behaves like returning response status916 returns not_found917 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized918 behaves like rejects nuget packages access919 for user type developer920 has the correct response header921 behaves like returning response status922 returns unauthorized923 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized924 behaves like rejects nuget packages access925 for user type guest926 has the correct response header927 behaves like returning response status928 returns unauthorized929 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized930 behaves like rejects nuget packages access931 for user type anonymous932 has the correct response header933 behaves like returning response status934 returns unauthorized935 behaves like deploy token for package GET requests936 with deploy token headers937 valid token938 behaves like returning response status939 returns success940 invalid token941 behaves like returning response status942 returns unauthorized943 behaves like rejects nuget access with unknown target id944 with an unknown target945 as anonymous946 behaves like rejects nuget packages access947 for user type anonymous948 has the correct response header949 behaves like returning response status950 returns unauthorized951 as authenticated user952 behaves like rejects nuget packages access953 for user type anonymous954 behaves like returning response status955 returns not_found956 behaves like rejects nuget access with invalid target id957 with a target id with invalid integers958 id: "/../", status: :bad_request959 behaves like rejects nuget packages access960 for user type anonymous961 behaves like returning response status962 returns bad_request963 id: "", status: :not_found964 behaves like rejects nuget packages access965 for user type anonymous966 behaves like returning response status967 returns not_found968 id: "%20", status: :bad_request969 behaves like rejects nuget packages access970 for user type anonymous971 behaves like returning response status972 returns bad_request973 id: "%2e%2e%2f", status: :bad_request974 behaves like rejects nuget packages access975 for user type anonymous976 behaves like returning response status977 returns bad_request978 id: "NaN", status: :bad_request979 behaves like rejects nuget packages access980 for user type anonymous981 behaves like returning response status982 returns bad_request983 id: 1253, status: :unauthorized984 behaves like rejects nuget packages access985 for user type anonymous986 has the correct response header987 behaves like returning response status988 returns unauthorized989 id: "anything25", status: :bad_request990 behaves like rejects nuget packages access991 for user type anonymous992 behaves like returning response status993 returns bad_request994 GET /api/v4/groups/:id/-/packages/nuget/query995 behaves like handling nuget search requests996 with valid target997 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success998 behaves like process nuget search request999 for user type developer1000 behaves like returns a valid json search response1001 returns a valid json response1002 behaves like returning response status1003 returns success1004 behaves like a package tracking event1005 creates a gitlab tracking event search_package1006 with skip set to 21007 behaves like returns a valid json search response1008 returns a valid json response1009 behaves like returning response status1010 returns success1011 with take set to 21012 behaves like returns a valid json search response1013 returns a valid json response1014 behaves like returning response status1015 returns success1016 without prereleases1017 behaves like returns a valid json search response1018 returns a valid json response1019 behaves like returning response status1020 returns success1021 with empty search term1022 behaves like returns a valid json search response1023 returns a valid json response1024 behaves like returning response status1025 returns success1026 with nil search term1027 behaves like returns a valid json search response1028 returns a valid json response1029 behaves like returning response status1030 returns success1031 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1032 behaves like process nuget search request1033 for user type guest1034 behaves like returns a valid json search response1035 returns a valid json response1036 behaves like returning response status1037 returns success1038 behaves like a package tracking event1039 creates a gitlab tracking event search_package1040 with skip set to 21041 behaves like returns a valid json search response1042 returns a valid json response1043 behaves like returning response status1044 returns success1045 with take set to 21046 behaves like returns a valid json search response1047 returns a valid json response1048 behaves like returning response status1049 returns success1050 without prereleases1051 behaves like returns a valid json search response1052 returns a valid json response1053 behaves like returning response status1054 returns success1055 with empty search term1056 behaves like returns a valid json search response1057 returns a valid json response1058 behaves like returning response status1059 returns success1060 with nil search term1061 behaves like returns a valid json search response1062 returns a valid json response1063 behaves like returning response status1064 returns success1065 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1066 behaves like rejects nuget packages access1067 for user type developer1068 has the correct response header1069 behaves like returning response status1070 returns unauthorized1071 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1072 behaves like rejects nuget packages access1073 for user type guest1074 has the correct response header1075 behaves like returning response status1076 returns unauthorized1077 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1078 behaves like process nuget search request1079 for user type developer1080 behaves like returns a valid json search response1081 returns a valid json response1082 behaves like returning response status1083 returns success1084 behaves like a package tracking event1085 creates a gitlab tracking event search_package1086 with skip set to 21087 behaves like returns a valid json search response1088 returns a valid json response1089 behaves like returning response status1090 returns success1091 with take set to 21092 behaves like returns a valid json search response1093 returns a valid json response1094 behaves like returning response status1095 returns success1096 without prereleases1097 behaves like returns a valid json search response1098 returns a valid json response1099 behaves like returning response status1100 returns success1101 with empty search term1102 behaves like returns a valid json search response1103 returns a valid json response1104 behaves like returning response status1105 returns success1106 with nil search term1107 behaves like returns a valid json search response1108 returns a valid json response1109 behaves like returning response status1110 returns success1111 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1112 behaves like process nuget search request1113 for user type guest1114 behaves like returns a valid json search response1115 returns a valid json response1116 behaves like returning response status1117 returns success1118 behaves like a package tracking event1119 creates a gitlab tracking event search_package1120 with skip set to 21121 behaves like returns a valid json search response1122 returns a valid json response1123 behaves like returning response status1124 returns success1125 with take set to 21126 behaves like returns a valid json search response1127 returns a valid json response1128 behaves like returning response status1129 returns success1130 without prereleases1131 behaves like returns a valid json search response1132 returns a valid json response1133 behaves like returning response status1134 returns success1135 with empty search term1136 behaves like returns a valid json search response1137 returns a valid json response1138 behaves like returning response status1139 returns success1140 with nil search term1141 behaves like returns a valid json search response1142 returns a valid json response1143 behaves like returning response status1144 returns success1145 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1146 behaves like rejects nuget packages access1147 for user type developer1148 has the correct response header1149 behaves like returning response status1150 returns unauthorized1151 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1152 behaves like rejects nuget packages access1153 for user type guest1154 has the correct response header1155 behaves like returning response status1156 returns unauthorized1157 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1158 behaves like rejects nuget packages access1159 for user type anonymous1160 has the correct response header1161 behaves like returning response status1162 returns unauthorized1163 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1164 behaves like process nuget search request1165 for user type developer1166 behaves like returns a valid json search response1167 returns a valid json response1168 behaves like returning response status1169 returns success1170 behaves like a package tracking event1171 creates a gitlab tracking event search_package1172 with skip set to 21173 behaves like returns a valid json search response1174 returns a valid json response1175 behaves like returning response status1176 returns success1177 with take set to 21178 behaves like returns a valid json search response1179 returns a valid json response1180 behaves like returning response status1181 returns success1182 without prereleases1183 behaves like returns a valid json search response1184 returns a valid json response1185 behaves like returning response status1186 returns success1187 with empty search term1188 behaves like returns a valid json search response1189 returns a valid json response1190 behaves like returning response status1191 returns success1192 with nil search term1193 behaves like returns a valid json search response1194 returns a valid json response1195 behaves like returning response status1196 returns success1197 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process empty nuget search request", expected_status: :success1198 behaves like process empty nuget search request1199 returns a valid json response1200 behaves like returning response status1201 returns success1202 behaves like a package tracking event1203 creates a gitlab tracking event search_package1204 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1205 behaves like rejects nuget packages access1206 for user type developer1207 has the correct response header1208 behaves like returning response status1209 returns unauthorized1210 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1211 behaves like rejects nuget packages access1212 for user type guest1213 has the correct response header1214 behaves like returning response status1215 returns unauthorized1216 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1217 behaves like rejects nuget packages access1218 for user type developer1219 behaves like returning response status1220 returns not_found1221 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1222 behaves like rejects nuget packages access1223 for user type guest1224 behaves like returning response status1225 returns not_found1226 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1227 behaves like rejects nuget packages access1228 for user type developer1229 has the correct response header1230 behaves like returning response status1231 returns unauthorized1232 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1233 behaves like rejects nuget packages access1234 for user type guest1235 has the correct response header1236 behaves like returning response status1237 returns unauthorized1238 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1239 behaves like rejects nuget packages access1240 for user type anonymous1241 has the correct response header1242 behaves like returning response status1243 returns unauthorized1244 behaves like deploy token for package GET requests1245 with deploy token headers1246 valid token1247 behaves like returning response status1248 returns success1249 invalid token1250 behaves like returning response status1251 returns unauthorized1252 behaves like rejects nuget access with unknown target id1253 with an unknown target1254 as anonymous1255 behaves like rejects nuget packages access1256 for user type anonymous1257 has the correct response header1258 behaves like returning response status1259 returns unauthorized1260 as authenticated user1261 behaves like rejects nuget packages access1262 for user type anonymous1263 behaves like returning response status1264 returns not_found1265 behaves like rejects nuget access with invalid target id1266 with a target id with invalid integers1267 id: "/../", status: :bad_request1268 behaves like rejects nuget packages access1269 for user type anonymous1270 behaves like returning response status1271 returns bad_request1272 id: "", status: :not_found1273 behaves like rejects nuget packages access1274 for user type anonymous1275 behaves like returning response status1276 returns not_found1277 id: "%20", status: :bad_request1278 behaves like rejects nuget packages access1279 for user type anonymous1280 behaves like returning response status1281 returns bad_request1282 id: "%2e%2e%2f", status: :bad_request1283 behaves like rejects nuget packages access1284 for user type anonymous1285 behaves like returning response status1286 returns bad_request1287 id: "NaN", status: :bad_request1288 behaves like rejects nuget packages access1289 for user type anonymous1290 behaves like returning response status1291 returns bad_request1292 id: 1253, status: :unauthorized1293 behaves like rejects nuget packages access1294 for user type anonymous1295 has the correct response header1296 behaves like returning response status1297 returns unauthorized1298 id: "anything25", status: :bad_request1299 behaves like rejects nuget packages access1300 for user type anonymous1301 behaves like returning response status1302 returns bad_request1303 a group1304 behaves like handling all endpoints1305 GET /api/v4/groups/:id/-/packages/nuget1306 behaves like handling nuget service requests1307 is expected to have request urgency :default1308 with valid target1309 visibility_level: "PUBLIC", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1310 behaves like process nuget service index request1311 for user type developer1312 returns a valid json or xml response1313 behaves like returning response status1314 returns success1315 behaves like a package tracking event1316 creates a gitlab tracking event cli_metadata1317 with invalid format1318 behaves like rejects nuget packages access1319 for user type anonymous1320 behaves like returning response status1321 returns not_found1322 visibility_level: "PUBLIC", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1323 behaves like process nuget service index request1324 for user type guest1325 returns a valid json or xml response1326 behaves like returning response status1327 returns success1328 behaves like a package tracking event1329 creates a gitlab tracking event cli_metadata1330 with invalid format1331 behaves like rejects nuget packages access1332 for user type anonymous1333 behaves like returning response status1334 returns not_found1335 visibility_level: "PUBLIC", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1336 behaves like process nuget service index request1337 for user type developer1338 returns a valid json or xml response1339 behaves like returning response status1340 returns success1341 behaves like a package tracking event1342 creates a gitlab tracking event cli_metadata1343 with invalid format1344 behaves like rejects nuget packages access1345 for user type anonymous1346 behaves like returning response status1347 returns not_found1348 visibility_level: "PUBLIC", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1349 behaves like process nuget service index request1350 for user type guest1351 returns a valid json or xml response1352 behaves like returning response status1353 returns success1354 behaves like a package tracking event1355 creates a gitlab tracking event cli_metadata1356 with invalid format1357 behaves like rejects nuget packages access1358 for user type anonymous1359 behaves like returning response status1360 returns not_found1361 visibility_level: "PUBLIC", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1362 behaves like process nuget service index request1363 for user type anonymous1364 returns a valid json or xml response1365 behaves like returning response status1366 returns success1367 behaves like a package tracking event1368 creates a gitlab tracking event cli_metadata1369 with invalid format1370 behaves like rejects nuget packages access1371 for user type anonymous1372 behaves like returning response status1373 returns not_found1374 visibility_level: "PRIVATE", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1375 behaves like process nuget service index request1376 for user type developer1377 returns a valid json or xml response1378 behaves like returning response status1379 returns success1380 behaves like a package tracking event1381 creates a gitlab tracking event cli_metadata1382 with invalid format1383 behaves like rejects nuget packages access1384 for user type anonymous1385 behaves like returning response status1386 returns not_found1387 visibility_level: "PRIVATE", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1388 behaves like process nuget service index request1389 for user type guest1390 returns a valid json or xml response1391 behaves like returning response status1392 returns success1393 behaves like a package tracking event1394 creates a gitlab tracking event cli_metadata1395 with invalid format1396 behaves like rejects nuget packages access1397 for user type anonymous1398 behaves like returning response status1399 returns not_found1400 visibility_level: "PRIVATE", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1401 behaves like process nuget service index request1402 for user type developer1403 returns a valid json or xml response1404 behaves like returning response status1405 returns success1406 behaves like a package tracking event1407 creates a gitlab tracking event cli_metadata1408 with invalid format1409 behaves like rejects nuget packages access1410 for user type anonymous1411 behaves like returning response status1412 returns not_found1413 visibility_level: "PRIVATE", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1414 behaves like process nuget service index request1415 for user type guest1416 returns a valid json or xml response1417 behaves like returning response status1418 returns success1419 behaves like a package tracking event1420 creates a gitlab tracking event cli_metadata1421 with invalid format1422 behaves like rejects nuget packages access1423 for user type anonymous1424 behaves like returning response status1425 returns not_found1426 visibility_level: "PRIVATE", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1427 behaves like process nuget service index request1428 for user type anonymous1429 returns a valid json or xml response1430 behaves like returning response status1431 returns success1432 behaves like a package tracking event1433 creates a gitlab tracking event cli_metadata1434 with invalid format1435 behaves like rejects nuget packages access1436 for user type anonymous1437 behaves like returning response status1438 returns not_found1439 behaves like rejects nuget access with unknown target id1440 with an unknown target1441 as anonymous1442 behaves like rejects nuget packages access1443 for user type anonymous1444 behaves like returning response status1445 returns not_found1446 as authenticated user1447 behaves like rejects nuget packages access1448 for user type anonymous1449 behaves like returning response status1450 returns not_found1451 behaves like rejects nuget access with invalid target id1452 with a target id with invalid integers1453 id: "/../", status: :bad_request1454 behaves like rejects nuget packages access1455 for user type anonymous1456 behaves like returning response status1457 returns bad_request1458 id: "", status: :not_found1459 behaves like rejects nuget packages access1460 for user type anonymous1461 behaves like returning response status1462 returns not_found1463 id: "%20", status: :bad_request1464 behaves like rejects nuget packages access1465 for user type anonymous1466 behaves like returning response status1467 returns bad_request1468 id: "%2e%2e%2f", status: :bad_request1469 behaves like rejects nuget packages access1470 for user type anonymous1471 behaves like returning response status1472 returns bad_request1473 id: "NaN", status: :bad_request1474 behaves like rejects nuget packages access1475 for user type anonymous1476 behaves like returning response status1477 returns bad_request1478 id: 1253, status: :not_found1479 behaves like rejects nuget packages access1480 for user type anonymous1481 behaves like returning response status1482 returns not_found1483 id: "anything25", status: :bad_request1484 behaves like rejects nuget packages access1485 for user type anonymous1486 behaves like returning response status1487 returns bad_request1488 GET /api/v4/groups/:id/-/packages/nuget/v21489 behaves like handling nuget service requests1490 is expected to have request urgency :low1491 with valid target1492 visibility_level: "PUBLIC", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1493 behaves like process nuget service index request1494 for user type developer1495 returns a valid json or xml response1496 behaves like returning response status1497 returns success1498 behaves like a package tracking event1499 creates a gitlab tracking event cli_metadata1500 visibility_level: "PUBLIC", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1501 behaves like process nuget service index request1502 for user type guest1503 returns a valid json or xml response1504 behaves like returning response status1505 returns success1506 behaves like a package tracking event1507 creates a gitlab tracking event cli_metadata1508 visibility_level: "PUBLIC", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1509 behaves like process nuget service index request1510 for user type developer1511 returns a valid json or xml response1512 behaves like returning response status1513 returns success1514 behaves like a package tracking event1515 creates a gitlab tracking event cli_metadata1516 visibility_level: "PUBLIC", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1517 behaves like process nuget service index request1518 for user type guest1519 returns a valid json or xml response1520 behaves like returning response status1521 returns success1522 behaves like a package tracking event1523 creates a gitlab tracking event cli_metadata1524 visibility_level: "PUBLIC", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1525 behaves like process nuget service index request1526 for user type anonymous1527 returns a valid json or xml response1528 behaves like returning response status1529 returns success1530 behaves like a package tracking event1531 creates a gitlab tracking event cli_metadata1532 visibility_level: "PRIVATE", user_role: :developer, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1533 behaves like process nuget service index request1534 for user type developer1535 returns a valid json or xml response1536 behaves like returning response status1537 returns success1538 behaves like a package tracking event1539 creates a gitlab tracking event cli_metadata1540 visibility_level: "PRIVATE", user_role: :guest, member: true, shared_examples_name: "process nuget service index request", expected_status: :success1541 behaves like process nuget service index request1542 for user type guest1543 returns a valid json or xml response1544 behaves like returning response status1545 returns success1546 behaves like a package tracking event1547 creates a gitlab tracking event cli_metadata1548 visibility_level: "PRIVATE", user_role: :developer, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1549 behaves like process nuget service index request1550 for user type developer1551 returns a valid json or xml response1552 behaves like returning response status1553 returns success1554 behaves like a package tracking event1555 creates a gitlab tracking event cli_metadata1556 visibility_level: "PRIVATE", user_role: :guest, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1557 behaves like process nuget service index request1558 for user type guest1559 returns a valid json or xml response1560 behaves like returning response status1561 returns success1562 behaves like a package tracking event1563 creates a gitlab tracking event cli_metadata1564 visibility_level: "PRIVATE", user_role: :anonymous, member: false, shared_examples_name: "process nuget service index request", expected_status: :success1565 behaves like process nuget service index request1566 for user type anonymous1567 returns a valid json or xml response1568 behaves like returning response status1569 returns success1570 behaves like a package tracking event1571 creates a gitlab tracking event cli_metadata1572 behaves like rejects nuget access with unknown target id1573 with an unknown target1574 as anonymous1575 behaves like rejects nuget packages access1576 for user type anonymous1577 behaves like returning response status1578 returns not_found1579 as authenticated user1580 behaves like rejects nuget packages access1581 for user type anonymous1582 behaves like returning response status1583 returns not_found1584 behaves like rejects nuget access with invalid target id1585 with a target id with invalid integers1586 id: "/../", status: :bad_request1587 behaves like rejects nuget packages access1588 for user type anonymous1589 behaves like returning response status1590 returns bad_request1591 id: "", status: :not_found1592 behaves like rejects nuget packages access1593 for user type anonymous1594 behaves like returning response status1595 returns not_found1596 id: "%20", status: :bad_request1597 behaves like rejects nuget packages access1598 for user type anonymous1599 behaves like returning response status1600 returns bad_request1601 id: "%2e%2e%2f", status: :bad_request1602 behaves like rejects nuget packages access1603 for user type anonymous1604 behaves like returning response status1605 returns bad_request1606 id: "NaN", status: :bad_request1607 behaves like rejects nuget packages access1608 for user type anonymous1609 behaves like returning response status1610 returns bad_request1611 id: 1253, status: :not_found1612 behaves like rejects nuget packages access1613 for user type anonymous1614 behaves like returning response status1615 returns not_found1616 id: "anything25", status: :bad_request1617 behaves like rejects nuget packages access1618 for user type anonymous1619 behaves like returning response status1620 returns bad_request1621 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index1622 behaves like handling nuget metadata requests with package name1623 with valid target1624 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1625 behaves like process nuget metadata request at package name level1626 for user type developer1627 behaves like returning response status1628 returns success1629 behaves like returning nuget metadata json response with json schema1630 returns a valid json response1631 with invalid format1632 behaves like rejects nuget packages access1633 for user type anonymous1634 behaves like returning response status1635 returns not_found1636 with lower case package name1637 behaves like returning response status1638 returns success1639 behaves like returning nuget metadata json response with json schema1640 returns a valid json response1641 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1642 behaves like process nuget metadata request at package name level1643 for user type guest1644 behaves like returning response status1645 returns success1646 behaves like returning nuget metadata json response with json schema1647 returns a valid json response1648 with invalid format1649 behaves like rejects nuget packages access1650 for user type anonymous1651 behaves like returning response status1652 returns not_found1653 with lower case package name1654 behaves like returning response status1655 returns success1656 behaves like returning nuget metadata json response with json schema1657 returns a valid json response1658 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1659 behaves like rejects nuget packages access1660 for user type developer1661 has the correct response header1662 behaves like returning response status1663 returns unauthorized1664 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1665 behaves like rejects nuget packages access1666 for user type guest1667 has the correct response header1668 behaves like returning response status1669 returns unauthorized1670 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1671 behaves like process nuget metadata request at package name level1672 for user type developer1673 behaves like returning response status1674 returns success1675 behaves like returning nuget metadata json response with json schema1676 returns a valid json response1677 with invalid format1678 behaves like rejects nuget packages access1679 for user type anonymous1680 behaves like returning response status1681 returns not_found1682 with lower case package name1683 behaves like returning response status1684 returns success1685 behaves like returning nuget metadata json response with json schema1686 returns a valid json response1687 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1688 behaves like process nuget metadata request at package name level1689 for user type guest1690 behaves like returning response status1691 returns success1692 behaves like returning nuget metadata json response with json schema1693 returns a valid json response1694 with invalid format1695 behaves like rejects nuget packages access1696 for user type anonymous1697 behaves like returning response status1698 returns not_found1699 with lower case package name1700 behaves like returning response status1701 returns success1702 behaves like returning nuget metadata json response with json schema1703 returns a valid json response1704 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1705 behaves like rejects nuget packages access1706 for user type developer1707 has the correct response header1708 behaves like returning response status1709 returns unauthorized1710 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1711 behaves like rejects nuget packages access1712 for user type guest1713 has the correct response header1714 behaves like returning response status1715 returns unauthorized1716 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1717 behaves like rejects nuget packages access1718 for user type anonymous1719 has the correct response header1720 behaves like returning response status1721 returns unauthorized1722 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1723 behaves like process nuget metadata request at package name level1724 for user type developer1725 behaves like returning response status1726 returns success1727 behaves like returning nuget metadata json response with json schema1728 returns a valid json response1729 with invalid format1730 behaves like rejects nuget packages access1731 for user type anonymous1732 behaves like returning response status1733 returns not_found1734 with lower case package name1735 behaves like returning response status1736 returns success1737 behaves like returning nuget metadata json response with json schema1738 returns a valid json response1739 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1740 behaves like rejects nuget packages access1741 for user type guest1742 behaves like returning response status1743 returns not_found1744 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1745 behaves like rejects nuget packages access1746 for user type developer1747 has the correct response header1748 behaves like returning response status1749 returns unauthorized1750 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1751 behaves like rejects nuget packages access1752 for user type guest1753 has the correct response header1754 behaves like returning response status1755 returns unauthorized1756 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1757 behaves like rejects nuget packages access1758 for user type developer1759 behaves like returning response status1760 returns not_found1761 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1762 behaves like rejects nuget packages access1763 for user type guest1764 behaves like returning response status1765 returns not_found1766 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1767 behaves like rejects nuget packages access1768 for user type developer1769 has the correct response header1770 behaves like returning response status1771 returns unauthorized1772 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1773 behaves like rejects nuget packages access1774 for user type guest1775 has the correct response header1776 behaves like returning response status1777 returns unauthorized1778 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1779 behaves like rejects nuget packages access1780 for user type anonymous1781 has the correct response header1782 behaves like returning response status1783 returns unauthorized1784 behaves like deploy token for package GET requests1785 with deploy token headers1786 valid token1787 behaves like returning response status1788 returns success1789 invalid token1790 behaves like returning response status1791 returns unauthorized1792 behaves like rejects nuget access with unknown target id1793 with an unknown target1794 as anonymous1795 behaves like rejects nuget packages access1796 for user type anonymous1797 has the correct response header1798 behaves like returning response status1799 returns unauthorized1800 as authenticated user1801 behaves like rejects nuget packages access1802 for user type anonymous1803 behaves like returning response status1804 returns not_found1805 behaves like rejects nuget access with invalid target id1806 with a target id with invalid integers1807 id: "/../", status: :bad_request1808 behaves like rejects nuget packages access1809 for user type anonymous1810 behaves like returning response status1811 returns bad_request1812 id: "", status: :not_found1813 behaves like rejects nuget packages access1814 for user type anonymous1815 behaves like returning response status1816 returns not_found1817 id: "%20", status: :bad_request1818 behaves like rejects nuget packages access1819 for user type anonymous1820 behaves like returning response status1821 returns bad_request1822 id: "%2e%2e%2f", status: :bad_request1823 behaves like rejects nuget packages access1824 for user type anonymous1825 behaves like returning response status1826 returns bad_request1827 id: "NaN", status: :bad_request1828 behaves like rejects nuget packages access1829 for user type anonymous1830 behaves like returning response status1831 returns bad_request1832 id: 1253, status: :unauthorized1833 behaves like rejects nuget packages access1834 for user type anonymous1835 has the correct response header1836 behaves like returning response status1837 returns unauthorized1838 id: "anything25", status: :bad_request1839 behaves like rejects nuget packages access1840 for user type anonymous1841 behaves like returning response status1842 returns bad_request1843 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version1844 behaves like handling nuget metadata requests with package name and package version1845 with valid target1846 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1847 behaves like process nuget metadata request at package name and package version level1848 for user type developer1849 behaves like returning response status1850 returns success1851 behaves like returning nuget metadata json response with json schema1852 returns a valid json response1853 with invalid format1854 behaves like rejects nuget packages access1855 for user type anonymous1856 behaves like returning response status1857 returns not_found1858 with lower case package name1859 behaves like returning response status1860 returns success1861 behaves like returning nuget metadata json response with json schema1862 returns a valid json response1863 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1864 behaves like process nuget metadata request at package name and package version level1865 for user type guest1866 behaves like returning response status1867 returns success1868 behaves like returning nuget metadata json response with json schema1869 returns a valid json response1870 with invalid format1871 behaves like rejects nuget packages access1872 for user type anonymous1873 behaves like returning response status1874 returns not_found1875 with lower case package name1876 behaves like returning response status1877 returns success1878 behaves like returning nuget metadata json response with json schema1879 returns a valid json response1880 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1881 behaves like rejects nuget packages access1882 for user type developer1883 has the correct response header1884 behaves like returning response status1885 returns unauthorized1886 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1887 behaves like rejects nuget packages access1888 for user type guest1889 has the correct response header1890 behaves like returning response status1891 returns unauthorized1892 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1893 behaves like process nuget metadata request at package name and package version level1894 for user type developer1895 behaves like returning response status1896 returns success1897 behaves like returning nuget metadata json response with json schema1898 returns a valid json response1899 with invalid format1900 behaves like rejects nuget packages access1901 for user type anonymous1902 behaves like returning response status1903 returns not_found1904 with lower case package name1905 behaves like returning response status1906 returns success1907 behaves like returning nuget metadata json response with json schema1908 returns a valid json response1909 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1910 behaves like process nuget metadata request at package name and package version level1911 for user type guest1912 behaves like returning response status1913 returns success1914 behaves like returning nuget metadata json response with json schema1915 returns a valid json response1916 with invalid format1917 behaves like rejects nuget packages access1918 for user type anonymous1919 behaves like returning response status1920 returns not_found1921 with lower case package name1922 behaves like returning response status1923 returns success1924 behaves like returning nuget metadata json response with json schema1925 returns a valid json response1926 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1927 behaves like rejects nuget packages access1928 for user type developer1929 has the correct response header1930 behaves like returning response status1931 returns unauthorized1932 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1933 behaves like rejects nuget packages access1934 for user type guest1935 has the correct response header1936 behaves like returning response status1937 returns unauthorized1938 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1939 behaves like rejects nuget packages access1940 for user type anonymous1941 has the correct response header1942 behaves like returning response status1943 returns unauthorized1944 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1945 behaves like process nuget metadata request at package name and package version level1946 for user type developer1947 behaves like returning response status1948 returns success1949 behaves like returning nuget metadata json response with json schema1950 returns a valid json response1951 with invalid format1952 behaves like rejects nuget packages access1953 for user type anonymous1954 behaves like returning response status1955 returns not_found1956 with lower case package name1957 behaves like returning response status1958 returns success1959 behaves like returning nuget metadata json response with json schema1960 returns a valid json response1961 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1962 behaves like rejects nuget packages access1963 for user type guest1964 behaves like returning response status1965 returns not_found1966 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1967 behaves like rejects nuget packages access1968 for user type developer1969 has the correct response header1970 behaves like returning response status1971 returns unauthorized1972 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1973 behaves like rejects nuget packages access1974 for user type guest1975 has the correct response header1976 behaves like returning response status1977 returns unauthorized1978 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1979 behaves like rejects nuget packages access1980 for user type developer1981 behaves like returning response status1982 returns not_found1983 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1984 behaves like rejects nuget packages access1985 for user type guest1986 behaves like returning response status1987 returns not_found1988 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1989 behaves like rejects nuget packages access1990 for user type developer1991 has the correct response header1992 behaves like returning response status1993 returns unauthorized1994 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1995 behaves like rejects nuget packages access1996 for user type guest1997 has the correct response header1998 behaves like returning response status1999 returns unauthorized2000 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2001 behaves like rejects nuget packages access2002 for user type anonymous2003 has the correct response header2004 behaves like returning response status2005 returns unauthorized2006 behaves like deploy token for package GET requests2007 with deploy token headers2008 valid token2009 behaves like returning response status2010 returns success2011 invalid token2012 behaves like returning response status2013 returns unauthorized2014 behaves like rejects nuget access with unknown target id2015 with an unknown target2016 as anonymous2017 behaves like rejects nuget packages access2018 for user type anonymous2019 has the correct response header2020 behaves like returning response status2021 returns unauthorized2022 as authenticated user2023 behaves like rejects nuget packages access2024 for user type anonymous2025 behaves like returning response status2026 returns not_found2027 behaves like rejects nuget access with invalid target id2028 with a target id with invalid integers2029 id: "/../", status: :bad_request2030 behaves like rejects nuget packages access2031 for user type anonymous2032 behaves like returning response status2033 returns bad_request2034 id: "", status: :not_found2035 behaves like rejects nuget packages access2036 for user type anonymous2037 behaves like returning response status2038 returns not_found2039 id: "%20", status: :bad_request2040 behaves like rejects nuget packages access2041 for user type anonymous2042 behaves like returning response status2043 returns bad_request2044 id: "%2e%2e%2f", status: :bad_request2045 behaves like rejects nuget packages access2046 for user type anonymous2047 behaves like returning response status2048 returns bad_request2049 id: "NaN", status: :bad_request2050 behaves like rejects nuget packages access2051 for user type anonymous2052 behaves like returning response status2053 returns bad_request2054 id: 1253, status: :unauthorized2055 behaves like rejects nuget packages access2056 for user type anonymous2057 has the correct response header2058 behaves like returning response status2059 returns unauthorized2060 id: "anything25", status: :bad_request2061 behaves like rejects nuget packages access2062 for user type anonymous2063 behaves like returning response status2064 returns bad_request2065 GET /api/v4/groups/:id/-/packages/nuget/query2066 behaves like handling nuget search requests2067 with valid target2068 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2069 behaves like process nuget search request2070 for user type developer2071 behaves like returns a valid json search response2072 returns a valid json response2073 behaves like returning response status2074 returns success2075 behaves like a package tracking event2076 creates a gitlab tracking event search_package2077 with skip set to 22078 behaves like returns a valid json search response2079 returns a valid json response2080 behaves like returning response status2081 returns success2082 with take set to 22083 behaves like returns a valid json search response2084 returns a valid json response2085 behaves like returning response status2086 returns success2087 without prereleases2088 behaves like returns a valid json search response2089 returns a valid json response2090 behaves like returning response status2091 returns success2092 with empty search term2093 behaves like returns a valid json search response2094 returns a valid json response2095 behaves like returning response status2096 returns success2097 with nil search term2098 behaves like returns a valid json search response2099 returns a valid json response2100 behaves like returning response status2101 returns success2102 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2103 behaves like process nuget search request2104 for user type guest2105 behaves like returns a valid json search response2106 returns a valid json response2107 behaves like returning response status2108 returns success2109 behaves like a package tracking event2110 creates a gitlab tracking event search_package2111 with skip set to 22112 behaves like returns a valid json search response2113 returns a valid json response2114 behaves like returning response status2115 returns success2116 with take set to 22117 behaves like returns a valid json search response2118 returns a valid json response2119 behaves like returning response status2120 returns success2121 without prereleases2122 behaves like returns a valid json search response2123 returns a valid json response2124 behaves like returning response status2125 returns success2126 with empty search term2127 behaves like returns a valid json search response2128 returns a valid json response2129 behaves like returning response status2130 returns success2131 with nil search term2132 behaves like returns a valid json search response2133 returns a valid json response2134 behaves like returning response status2135 returns success2136 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2137 behaves like rejects nuget packages access2138 for user type developer2139 has the correct response header2140 behaves like returning response status2141 returns unauthorized2142 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2143 behaves like rejects nuget packages access2144 for user type guest2145 has the correct response header2146 behaves like returning response status2147 returns unauthorized2148 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2149 behaves like process nuget search request2150 for user type developer2151 behaves like returns a valid json search response2152 returns a valid json response2153 behaves like returning response status2154 returns success2155 behaves like a package tracking event2156 creates a gitlab tracking event search_package2157 with skip set to 22158 behaves like returns a valid json search response2159 returns a valid json response2160 behaves like returning response status2161 returns success2162 with take set to 22163 behaves like returns a valid json search response2164 returns a valid json response2165 behaves like returning response status2166 returns success2167 without prereleases2168 behaves like returns a valid json search response2169 returns a valid json response2170 behaves like returning response status2171 returns success2172 with empty search term2173 behaves like returns a valid json search response2174 returns a valid json response2175 behaves like returning response status2176 returns success2177 with nil search term2178 behaves like returns a valid json search response2179 returns a valid json response2180 behaves like returning response status2181 returns success2182 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2183 behaves like process nuget search request2184 for user type guest2185 behaves like returns a valid json search response2186 returns a valid json response2187 behaves like returning response status2188 returns success2189 behaves like a package tracking event2190 creates a gitlab tracking event search_package2191 with skip set to 22192 behaves like returns a valid json search response2193 returns a valid json response2194 behaves like returning response status2195 returns success2196 with take set to 22197 behaves like returns a valid json search response2198 returns a valid json response2199 behaves like returning response status2200 returns success2201 without prereleases2202 behaves like returns a valid json search response2203 returns a valid json response2204 behaves like returning response status2205 returns success2206 with empty search term2207 behaves like returns a valid json search response2208 returns a valid json response2209 behaves like returning response status2210 returns success2211 with nil search term2212 behaves like returns a valid json search response2213 returns a valid json response2214 behaves like returning response status2215 returns success2216 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2217 behaves like rejects nuget packages access2218 for user type developer2219 has the correct response header2220 behaves like returning response status2221 returns unauthorized2222 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2223 behaves like rejects nuget packages access2224 for user type guest2225 has the correct response header2226 behaves like returning response status2227 returns unauthorized2228 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2229 behaves like rejects nuget packages access2230 for user type anonymous2231 has the correct response header2232 behaves like returning response status2233 returns unauthorized2234 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2235 behaves like process nuget search request2236 for user type developer2237 behaves like returns a valid json search response2238 returns a valid json response2239 behaves like returning response status2240 returns success2241 behaves like a package tracking event2242 creates a gitlab tracking event search_package2243 with skip set to 22244 behaves like returns a valid json search response2245 returns a valid json response2246 behaves like returning response status2247 returns success2248 with take set to 22249 behaves like returns a valid json search response2250 returns a valid json response2251 behaves like returning response status2252 returns success2253 without prereleases2254 behaves like returns a valid json search response2255 returns a valid json response2256 behaves like returning response status2257 returns success2258 with empty search term2259 behaves like returns a valid json search response2260 returns a valid json response2261 behaves like returning response status2262 returns success2263 with nil search term2264 behaves like returns a valid json search response2265 returns a valid json response2266 behaves like returning response status2267 returns success2268 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process empty nuget search request", expected_status: :success2269 behaves like process empty nuget search request2270 returns a valid json response2271 behaves like returning response status2272 returns success2273 behaves like a package tracking event2274 creates a gitlab tracking event search_package2275 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2276 behaves like rejects nuget packages access2277 for user type developer2278 has the correct response header2279 behaves like returning response status2280 returns unauthorized2281 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2282 behaves like rejects nuget packages access2283 for user type guest2284 has the correct response header2285 behaves like returning response status2286 returns unauthorized2287 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2288 behaves like rejects nuget packages access2289 for user type developer2290 behaves like returning response status2291 returns not_found2292 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2293 behaves like rejects nuget packages access2294 for user type guest2295 behaves like returning response status2296 returns not_found2297 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2298 behaves like rejects nuget packages access2299 for user type developer2300 has the correct response header2301 behaves like returning response status2302 returns unauthorized2303 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2304 behaves like rejects nuget packages access2305 for user type guest2306 has the correct response header2307 behaves like returning response status2308 returns unauthorized2309 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2310 behaves like rejects nuget packages access2311 for user type anonymous2312 has the correct response header2313 behaves like returning response status2314 returns unauthorized2315 behaves like deploy token for package GET requests2316 with deploy token headers2317 valid token2318 behaves like returning response status2319 returns success2320 invalid token2321 behaves like returning response status2322 returns unauthorized2323 behaves like rejects nuget access with unknown target id2324 with an unknown target2325 as anonymous2326 behaves like rejects nuget packages access2327 for user type anonymous2328 has the correct response header2329 behaves like returning response status2330 returns unauthorized2331 as authenticated user2332 behaves like rejects nuget packages access2333 for user type anonymous2334 behaves like returning response status2335 returns not_found2336 behaves like rejects nuget access with invalid target id2337 with a target id with invalid integers2338 id: "/../", status: :bad_request2339 behaves like rejects nuget packages access2340 for user type anonymous2341 behaves like returning response status2342 returns bad_request2343 id: "", status: :not_found2344 behaves like rejects nuget packages access2345 for user type anonymous2346 behaves like returning response status2347 returns not_found2348 id: "%20", status: :bad_request2349 behaves like rejects nuget packages access2350 for user type anonymous2351 behaves like returning response status2352 returns bad_request2353 id: "%2e%2e%2f", status: :bad_request2354 behaves like rejects nuget packages access2355 for user type anonymous2356 behaves like returning response status2357 returns bad_request2358 id: "NaN", status: :bad_request2359 behaves like rejects nuget packages access2360 for user type anonymous2361 behaves like returning response status2362 returns bad_request2363 id: 1253, status: :unauthorized2364 behaves like rejects nuget packages access2365 for user type anonymous2366 has the correct response header2367 behaves like returning response status2368 returns unauthorized2369 id: "anything25", status: :bad_request2370 behaves like rejects nuget packages access2371 for user type anonymous2372 behaves like returning response status2373 returns bad_request2374 with dummy packages and anonymous request2375 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index2376 behaves like handling mixed visibilities2377 group_visibility: "PUBLIC", subgroup_visibility: "PUBLIC", expected_status: :unauthorized2378 behaves like returning response status2379 returns unauthorized2380 group_visibility: "PUBLIC", subgroup_visibility: "INTERNAL", expected_status: :unauthorized2381 behaves like returning response status2382 returns unauthorized2383 group_visibility: "PUBLIC", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2384 behaves like returning response status2385 returns unauthorized2386 group_visibility: "INTERNAL", subgroup_visibility: "INTERNAL", expected_status: :unauthorized2387 behaves like returning response status2388 returns unauthorized2389 group_visibility: "INTERNAL", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2390 behaves like returning response status2391 returns unauthorized2392 group_visibility: "PRIVATE", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2393 behaves like returning response status2394 returns unauthorized2395 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version2396 behaves like handling mixed visibilities2397 group_visibility: "PUBLIC", subgroup_visibility: "PUBLIC", expected_status: :unauthorized2398 behaves like returning response status2399 returns unauthorized2400 group_visibility: "PUBLIC", subgroup_visibility: "INTERNAL", expected_status: :unauthorized2401 behaves like returning response status2402 returns unauthorized2403 group_visibility: "PUBLIC", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2404 behaves like returning response status2405 returns unauthorized2406 group_visibility: "INTERNAL", subgroup_visibility: "INTERNAL", expected_status: :unauthorized2407 behaves like returning response status2408 returns unauthorized2409 group_visibility: "INTERNAL", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2410 behaves like returning response status2411 returns unauthorized2412 group_visibility: "PRIVATE", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2413 behaves like returning response status2414 returns unauthorized2415 GET /api/v4/groups/:id/-/packages/nuget/query2416 behaves like handling mixed visibilities2417 group_visibility: "PUBLIC", subgroup_visibility: "PUBLIC", expected_status: :unauthorized2418 behaves like returning response status2419 returns unauthorized2420 group_visibility: "PUBLIC", subgroup_visibility: "INTERNAL", expected_status: :unauthorized2421 behaves like returning response status2422 returns unauthorized2423 group_visibility: "PUBLIC", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2424 behaves like returning response status2425 returns unauthorized2426 group_visibility: "INTERNAL", subgroup_visibility: "INTERNAL", expected_status: :unauthorized2427 behaves like returning response status2428 returns unauthorized2429 group_visibility: "INTERNAL", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2430 behaves like returning response status2431 returns unauthorized2432 group_visibility: "PRIVATE", subgroup_visibility: "PRIVATE", expected_status: :unauthorized2433 behaves like returning response status2434 returns unauthorized2435 with a reporter of subgroup2436 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index2437 behaves like returning response status2438 returns success2439 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version2440 behaves like returning response status2441 returns success2442 GET /api/v4/groups/:id/-/packages/nuget/query2443 behaves like returning response status2444 returns success2445Admin::ApplicationSettingsController2446 GET #integrations2447 when GitLab.com2448 returns 4042449 when not GitLab.com2450 renders correct template2451 GET #usage_data with no access2452 returns 4042453 GET #usage_data2454 when there are NO recent ServicePing reports2455 return 4042456 when there are recent ServicePing reports2457 does not trigger ServicePing generation2458 check cached data if present2459 returns HTML data2460 returns JSON data2461 if no cached data available2462 returns latest RawUsageData2463 usage data counter2464 incremented when json generated2465 not incremented when html format requested2466 PUT #update2467 updates the password_authentication_enabled_for_git setting2468 updates the default_project_visibility for string value2469 update the restricted levels for string values2470 updates the restricted_visibility_levels when empty array is passed2471 updates the receive_max_input_size setting2472 updates the default_preferred_language for string value2473 updates the default_project_creation for string value2474 updates minimum_password_length setting2475 updates repository_storages_weighted setting2476 updates kroki_formats setting2477 updates default_branch_name setting2478 updates valid_runner_registrars setting2479 updates GitLab for Slack app settings2480 boolean attributes2481 behaves like updates boolean attribute2482 is expected to eq true2483 behaves like updates boolean attribute2484 is expected to eq false2485 behaves like updates boolean attribute2486 is expected to eq true2487 behaves like updates boolean attribute2488 is expected to eq false2489 behaves like updates boolean attribute2490 is expected to eq false2491 personal access token prefix settings2492 with valid prefix2493 updates personal_access_token_prefix setting2494 with blank prefix2495 updates personal_access_token_prefix setting2496 with too long prefix2497 does not update personal_access_token_prefix setting2498 with invalid characters prefix2499 does not update personal_access_token_prefix setting2500 external policy classification settings2501 updates settings when the feature is available2502 verify panel actions2503 behaves like renders correct panels2504 renders correct action on error2505 redirects to same panel on success2506 behaves like renders correct panels2507 renders correct action on error2508 redirects to same panel on success2509 behaves like renders correct panels2510 renders correct action on error2511 redirects to same panel on success2512 behaves like renders correct panels2513 renders correct action on error2514 redirects to same panel on success2515 behaves like renders correct panels2516 renders correct action on error2517 redirects to same panel on success2518 behaves like renders correct panels2519 renders correct action on error2520 redirects to same panel on success2521 behaves like renders correct panels2522 renders correct action on error2523 redirects to same panel on success2524 EKS integration2525 updates EKS settings2526 secret access key is blank2527 does not update the secret key2528 Terraform settings2529 max_terraform_state_size_bytes2530 updates the receive_max_input_size setting2531 pipeline creation rate limiting2532 updates pipeline_limit_per_project_user_sha setting2533 invitation flow enforcement setting2534 updates invitation_flow_enforcement setting2535 maximum includes2536 updates ci_max_includes setting2537 PUT #reset_registration_token2538 resets runner registration token2539 redirects the user to admin runners page2540 PUT #reset_error_tracking_access_token2541 resets error_tracking_access_token2542 redirects the user to application settings page2543 GET #lets_encrypt_terms_of_service2544 redirects the user to the terms of service page2545 GET #slack_app_manifest_download2546 downloads the GitLab for Slack app manifest2547 GET #slack_app_manifest_share2548 redirects the user to the Slack Manifest share URL2549 GET #metrics_and_profiling2550 assigns service_ping_data if there are recent ServicePing reports in database2551 assigns service_ping_data if there are recent ServicePing reports in cache2552 does not assign service_ping_data value if there are NO recent ServicePing reports2553API::ProjectPackages2554 GET /projects/:id/packages2555 without the need for a license2556 project is public2557 behaves like returns packages2558 for no_type2559 returns success response2560 returns a valid response schema2561 returns two packages2562 with conan package2563 uses the conan recipe as the package name2564 with terraform module package2565 when no package_type filter is set2566 filters out terraform module packages2567 returns packages with the package registry web_path2568 when package_type filter is set to terraform_module2569 returns the terraform module package2570 returns the terraform module package with the infrastructure registry web_path2571 in nested group2572 returns the nested terraform module package with the correct web_path2573 with JOB-TOKEN auth2574 behaves like returns packages2575 for maintainer2576 returns success response2577 returns a valid response schema2578 returns two packages2579 behaves like returns packages2580 for developer2581 returns success response2582 returns a valid response schema2583 returns two packages2584 behaves like returns packages2585 for reporter2586 returns success response2587 returns a valid response schema2588 returns two packages2589 behaves like returns packages2590 for no_type2591 returns success response2592 returns a valid response schema2593 returns two packages2594 behaves like returns packages2595 for guest2596 returns success response2597 returns a valid response schema2598 returns two packages2599 project is private2600 for unauthenticated user2601 behaves like rejects packages access2602 for no_type2603 behaves like returning response status2604 returns not_found2605 for authenticated user2606 behaves like returns packages2607 for maintainer2608 returns success response2609 returns a valid response schema2610 returns two packages2611 behaves like returns packages2612 for developer2613 returns success response2614 returns a valid response schema2615 returns two packages2616 behaves like returns packages2617 for reporter2618 returns success response2619 returns a valid response schema2620 returns two packages2621 behaves like rejects packages access2622 for no_type2623 behaves like returning response status2624 returns not_found2625 behaves like rejects packages access2626 for guest2627 behaves like returning response status2628 returns forbidden2629 user is a maintainer2630 returns the destroy url2631 with JOB-TOKEN auth2632 behaves like returns packages2633 for maintainer2634 returns success response2635 returns a valid response schema2636 returns two packages2637 behaves like returns packages2638 for developer2639 returns success response2640 returns a valid response schema2641 returns two packages2642 behaves like returns packages2643 for reporter2644 returns success response2645 returns a valid response schema2646 returns two packages2647 behaves like rejects packages access2648 for no_type2649 behaves like returning response status2650 returns not_found2651 with pagination params2652 with pagination params2653 behaves like returns paginated packages2654 when viewing the first page2655 returns first 2 packages2656 when viewing the second page2657 returns first 2 packages2658 with sorting2659 behaves like package sorting2660 sorting by name2661 ascending order2662 returns the sorted packages2663 descending order2664 returns the sorted packages2665 behaves like package sorting2666 sorting by created_at2667 ascending order2668 returns the sorted packages2669 descending order2670 returns the sorted packages2671 behaves like package sorting2672 sorting by version2673 ascending order2674 returns the sorted packages2675 descending order2676 returns the sorted packages2677 behaves like package sorting2678 sorting by type2679 ascending order2680 returns the sorted packages2681 descending order2682 returns the sorted packages2683 behaves like filters on each package_type2684 for package type maven2685 returns maven packages2686 for package type npm2687 returns npm packages2688 for package type conan2689 returns conan packages2690 for package type nuget2691 returns nuget packages2692 for package type pypi2693 returns pypi packages2694 for package type composer2695 returns composer packages2696 for package type generic2697 returns generic packages2698 for package type golang2699 returns golang packages2700 for package type debian2701 returns debian packages2702 for package type rubygems2703 returns rubygems packages2704 for package type helm2705 returns helm packages2706 for package type terraform_module2707 returns terraform_module packages2708 for package type rpm2709 returns rpm packages2710 for package type ml_model2711 returns ml_model packages2712 filtering on package_name2713 returns the named package2714 filtering on package_version2715 returns the versioned package2716 include_versionless has no effect2717 behaves like with versionless packages2718 with versionless package2719 behaves like not including the package2720 does not return the package2721 with include_versionless param2722 with true include_versionless param2723 for param true2724 returns the package2725 for param true2726 returns the package2727 for param 12728 returns the package2729 for param 12730 returns the package2731 with falsy include_versionless param2732 for param false2733 behaves like not including the package2734 does not return the package2735 for param2736 behaves like not including the package2737 does not return the package2738 for param2739 behaves like not including the package2740 does not return the package2741 for param false2742 behaves like not including the package2743 does not return the package2744 for param 02745 behaves like not including the package2746 does not return the package2747 for param 02748 behaves like not including the package2749 does not return the package2750 behaves like with status param2751 hidden packages2752 no status param2753 behaves like not including the hidden package2754 does not return the package2755 with hidden status param2756 returns the package2757 bad status param2758 returns the package2759 behaves like does not cause n^2 queries2760 avoids N^2 database queries2761 GET /projects/:id/packages/:package_id2762 without the need for a license2763 with build info2764 does not result in additional queries (FAILED - 1)27661st Try error in ./spec/requests/api/project_packages_spec.rb:249:2767Expected a maximum of 22 (+4) queries, got 27:2768Query Diff:2769-----------2770SELECT "personal_access_tokens".* FROM "personal_access_tokens"...2771-- (expected: 1, got: 0)2772 WHERE "personal_access_tokens"."token_digest" = 's37ytHVGj7E2NKNVHH5/cN6XsHH+JnQSlmDmBjJQHnw=' LIMIT 12773-- (expected: 2, got: 0)2774 WHERE "personal_access_tokens"."token_digest" = '38BJyGeZ6d+Hr2LCjAVMkJJkeI0lkEZLoJdCNdGaqh8=' LIMIT 12775-- (expected: 0, got: 1)2776 WHERE "personal_access_tokens"."token_digest" = 'wrzmSsYkbVzz+NOv6QfrkIoDFbI9RjVQm8qK5OLRtHw=' LIMIT 12777-- (expected: 0, got: 2)2778 WHERE "personal_access_tokens"."token_digest" = 'dscgro0M5Uhv6FJjexzoxZuQ9G7T1ehjz9fXhozOKfI=' LIMIT 12779SELECT "projects"."id", "projects"."name", "projects"."path", "projects"."description", "projects"."created_at", "projects"."updated_at", "projects"."creator_id", "projects"."namespace_id", "projects"."last_activity_at", "projects"."import_url", "projects"."visibility_level", "projects"."archived", "projects"."avatar", "projects"."merge_requests_template", "projects"."star_count", "projects"."merge_requests_rebase_enabled", "projects"."import_type", "projects"."import_source", "projects"."approvals_before_merge", "projects"."reset_approvals_on_push", "projects"."merge_requests_ff_only_enabled", "projects"."issues_template", "projects"."mirror", "projects"."mirror_last_update_at", "projects"."mirror_last_successful_update_at", "projects"."mirror_user_id", "projects"."shared_runners_enabled", "projects"."runners_token", "projects"."build_allow_git_fetch", "projects"."build_timeout", "projects"."mirror_trigger_builds", "projects"."pending_delete", "projects"."public_builds", "projects"."last_repository_check_failed", "projects"."last_repository_check_at", "projects"."only_allow_merge_if_pipeline_succeeds", "projects"."has_external_issue_tracker", "projects"."repository_storage", "projects"."repository_read_only", "projects"."request_access_enabled", "projects"."has_external_wiki", "projects"."ci_config_path", "projects"."lfs_enabled", "projects"."description_html", "projects"."only_allow_merge_if_all_discussions_are_resolved", "projects"."repository_size_limit", "projects"."printing_merge_request_link_enabled", "projects"."auto_cancel_pending_pipelines", "projects"."service_desk_enabled", "projects"."cached_markdown_version", "projects"."delete_error", "projects"."last_repository_updated_at", "projects"."disable_overriding_approvers_per_merge_request", "projects"."storage_version", "projects"."resolve_outdated_diff_discussions", "projects"."remote_mirror_available_overridden", "projects"."only_mirror_protected_branches", "projects"."pull_mirror_available_overridden", "projects"."jobs_cache_index", "projects"."external_authorization_classification_label", "projects"."mirror_overwrites_diverged_branches", "projects"."pages_https_only", "projects"."external_webhook_token", "projects"."packages_enabled", "projects"."merge_requests_author_approval", "projects"."pool_repository_id", "projects"."runners_token_encrypted", "projects"."bfg_object_map", "projects"."detected_repository_languages", "projects"."merge_requests_disable_committers_approval", "projects"."require_password_to_approve", "projects"."max_pages_size", "projects"."max_artifacts_size", "projects"."pull_mirror_branch_prefix", "projects"."remove_source_branch_after_merge", "projects"."marked_for_deletion_at", "projects"."marked_for_deletion_by_user_id", "projects"."autoclose_referenced_issues", "projects"."suggestion_commit_message", "projects"."project_namespace_id", "projects"."hidden", "projects"."organization_id" FROM "projects"...2780-- (expected: 0, got: 1)2781 WHERE "projects"."id" = 4 LIMIT 12782SELECT "users".* FROM "users"...2783-- (expected: 0, got: 1)2784 WHERE "users"."id" = 702785SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces"...2786-- (expected: 0, got: 1)2787 WHERE "namespaces"."id" = 74 LIMIT 12788SELECT "routes".* FROM "routes"...2789-- (expected: 0, got: 1)2790 WHERE "routes"."source_id" = 74 AND "routes"."source_type" = 'Namespace' LIMIT 12791SELECT "ci_pipelines"."id", "ci_pipelines"."ref", "ci_pipelines"."sha", "ci_pipelines"."before_sha", "ci_pipelines"."created_at", "ci_pipelines"."updated_at", "ci_pipelines"."tag", "ci_pipelines"."yaml_errors", "ci_pipelines"."committed_at", "ci_pipelines"."project_id", "ci_pipelines"."status", "ci_pipelines"."started_at", "ci_pipelines"."finished_at", "ci_pipelines"."duration", "ci_pipelines"."user_id", "ci_pipelines"."lock_version", "ci_pipelines"."pipeline_schedule_id", "ci_pipelines"."source", "ci_pipelines"."config_source", "ci_pipelines"."protected", "ci_pipelines"."failure_reason", "ci_pipelines"."iid", "ci_pipelines"."merge_request_id", "ci_pipelines"."source_sha", "ci_pipelines"."target_sha", "ci_pipelines"."external_pull_request_id", "ci_pipelines"."ci_ref_id", "ci_pipelines"."locked", "ci_pipelines"."partition_id", "ci_pipelines"."auto_canceled_by_id" FROM "ci_pipelines"...2792-- (expected: 0, got: 1)2793 WHERE "ci_pipelines"."id" = 272795RSpec::Retry: 2nd try ./spec/requests/api/project_packages_spec.rb:2492796 project is public2797 returns 200 and the package information2798 returns 404 when the package does not exist2799 returns 404 for the package from a different project2800 behaves like no destroy url2801 returns no destroy url2802 with JOB-TOKEN auth2803 behaves like returns package2804 for maintainer2805 returns success response2806 returns a valid response schema2807 behaves like returns package2808 for developer2809 returns success response2810 returns a valid response schema2811 behaves like returns package2812 for reporter2813 returns success response2814 returns a valid response schema2815 behaves like returns package2816 for no_type2817 returns success response2818 returns a valid response schema2819 behaves like returns package2820 for guest2821 returns success response2822 returns a valid response schema2823 with a package without last_downloaded_at2824 returns 200 and the package information2825 project is private2826 returns 404 for non authenticated user2827 returns 404 for a user without access to the project2828 user is a developer2829 returns 200 and the package information2830 behaves like no destroy url2831 returns no destroy url2832 user is a maintainer2833 behaves like destroy url2834 returns destroy url2835 with JOB-TOKEN auth2836 behaves like returns package2837 for maintainer2838 returns success response2839 returns a valid response schema2840 behaves like returns package2841 for developer2842 returns success response2843 returns a valid response schema2844 behaves like returns package2845 for reporter2846 returns success response2847 returns a valid response schema2848 behaves like rejects packages access2849 for no_type2850 behaves like returning response status2851 returns not_found2852 with pipeline2853 returns the pipeline info2854 when package has no default status2855 returns 4042856 GET /projects/:id/packages/:package_id/pipelines2857 without the need for a license2858 when the package does not exist2859 behaves like returning response status2860 returns not_found2861 when there are no pipelines for the package2862 returns an empty response2863 with valid package and pipelines2864 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2865 behaves like returns package pipelines2866 returns the first page of package pipelines2867 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2868 behaves like returns package pipelines2869 returns the first page of package pipelines2870 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2871 behaves like returning response status2872 returns unauthorized2873 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2874 behaves like returning response status2875 returns unauthorized2876 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2877 behaves like returns package pipelines2878 returns the first page of package pipelines2879 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2880 behaves like returns package pipelines2881 returns the first page of package pipelines2882 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2883 behaves like returning response status2884 returns unauthorized2885 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2886 behaves like returning response status2887 returns unauthorized2888 visibility: :public, user_role: :anonymous, member: false, token_type: nil, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2889 behaves like returns package pipelines2890 returns the first page of package pipelines2891 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2892 behaves like returns package pipelines2893 returns the first page of package pipelines2894 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returning response status", expected_status: :forbidden2895 behaves like returning response status2896 returns forbidden2897 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2898 behaves like returning response status2899 returns unauthorized2900 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2901 behaves like returning response status2902 returns unauthorized2903 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returning response status", expected_status: :not_found2904 behaves like returning response status2905 returns not_found2906 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, shared_examples_name: "returning response status", expected_status: :not_found2907 behaves like returning response status2908 returns not_found2909 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2910 behaves like returning response status2911 returns unauthorized2912 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2913 behaves like returning response status2914 returns unauthorized2915 visibility: :private, user_role: :anonymous, member: false, token_type: nil, valid_token: true, shared_examples_name: "returning response status", expected_status: :not_found2916 behaves like returning response status2917 returns not_found2918 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2919 behaves like returns package pipelines2920 returns the first page of package pipelines2921 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2922 behaves like returns package pipelines2923 returns the first page of package pipelines2924 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2925 behaves like returning response status2926 returns unauthorized2927 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2928 behaves like returning response status2929 returns unauthorized2930 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2931 behaves like returns package pipelines2932 returns the first page of package pipelines2933 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2934 behaves like returns package pipelines2935 returns the first page of package pipelines2936 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2937 behaves like returning response status2938 returns unauthorized2939 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2940 behaves like returning response status2941 returns unauthorized2942 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: true, shared_examples_name: "returns package pipelines", expected_status: :success2943 behaves like returns package pipelines2944 returns the first page of package pipelines2945 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2946 behaves like returning response status2947 returns unauthorized2948 visibility: :private, user_role: :guest, member: true, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2949 behaves like returning response status2950 returns unauthorized2951 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: true, shared_examples_name: "returning response status", expected_status: :not_found2952 behaves like returning response status2953 returns not_found2954 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: true, shared_examples_name: "returning response status", expected_status: :not_found2955 behaves like returning response status2956 returns not_found2957 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2958 behaves like returning response status2959 returns unauthorized2960 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: false, shared_examples_name: "returning response status", expected_status: :unauthorized2961 behaves like returning response status2962 returns unauthorized2963 pagination2964 without pagination params2965 behaves like returns the default number of pipelines2966 is expected to eq 202967 with valid per_page value2968 returns the correct number of pipelines2969 with invalid pagination params2970 with non-positive per_page2971 behaves like returns an error about the invalid per_page value2972 is expected to match /per_page does not have a valid value/2973 with a too high value for per_page2974 behaves like returns an error about the invalid per_page value2975 is expected to match /per_page does not have a valid value/2976 with valid pagination params2977 behaves like an endpoint with keyset pagination2978 on making requests with supported ordering structure2979 includes keyset url params in the url response2980 does not include pagination headers2981 paginates the records correctly2982 on making requests with unsupported ordering structure2983 returns error2984 with no cursor supplied2985 returns first 2 pipelines2986 with a cursor parameter2987 with a cursor for the next page2988 returns the next page of records2989 with a cursor for the previous page2990 returns the previous page of records2991 DELETE /projects/:id/packages/:package_id2992 without the need for a license2993 project is public2994 returns 403 for non authenticated user2995 returns 403 for a user without access to the project2996 project is private2997 returns 404 for non authenticated user2998 returns 404 for a user without access to the project2999 returns 404 when the package does not exist3000 returns 404 for the package from a different project3001 returns 403 for a user without enough permissions3002 returns 2043003 behaves like enqueue a worker to sync a metadata cache3004 enqueues a worker to create a metadata cache3005 with npm_metadata_cache disabled3006 behaves like does not enqueue a worker to sync a metadata cache3007 does not enqueue a worker to sync a metadata cache3008 with JOB-TOKEN auth3009 returns 403 for a user without enough permissions3010 returns 2043011 with a maven package3012 enqueues a sync worker job3013 behaves like does not enqueue a worker to sync a metadata cache3014 does not enqueue a worker to sync a metadata cache3015Projects::PipelinesController3016 GET index.json3017 does not include coverage data for the pipelines3018 paginates the result3019 when using persisted stages3020 returns serialized pipelines3021 when performing gitaly calls3022 limits the Gitaly requests3023 when the project is private3024 returns `not_found` when the user does not have access3025 returns the pipelines when the user has access3026 when user tries to access legacy scope via URL3027 redirects to all pipelines with that status instead3028 filter by scope3029 scope is branches or tags3030 when scope is branches3031 returns matched pipelines3032 when scope is tags3033 returns matched pipelines3034 filter by username3035 when username exists3036 returns matched pipelines3037 when username does not exist3038 returns empty3039 filter by ref3040 when pipelines with the ref exists3041 returns matched pipelines3042 when no pipeline with the ref exists3043 returns empty list3044 filter by status3045 when pipelines with the status exists3046 returns matched pipelines3047 when no pipeline with the status exists3048 returns empty list3049 when invalid status3050 returns all list3051 GET #show3052 when the project is public3053 avoids N+1 database queries3054 when the project is private3055 returns `not_found` when the user does not have access3056 GET show.json3057 returns the pipeline3058 when the pipeline has multiple stages and groups3059 does not perform N + 1 queries3060 when builds are disabled3061 users can not see internal pipelines3062 when pipeline is external3063 users can see the external pipeline3064 with triggered pipelines3065 when it does have permission to read other projects3066 when not-expanding any pipelines3067 behaves like not expanded3068 does return base details3069 does not expand triggered_by pipeline3070 does not expand triggered pipelines3071 when expanding non-existing pipeline3072 behaves like not expanded3073 does return base details3074 does not expand triggered_by pipeline3075 does not expand triggered pipelines3076 when expanding pipeline that is not directly expandable3077 behaves like not expanded3078 does return base details3079 does not expand triggered_by pipeline3080 does not expand triggered pipelines3081 when expanding self3082 it does not recursively expand pipelines3083 behaves like not expanded3084 does return base details3085 does not expand triggered_by pipeline3086 does not expand triggered pipelines3087 when expanding source and target pipeline3088 behaves like expanded3089 does return base details3090 does expand triggered_by pipeline3091 does not recursively expand triggered_by3092 does expand triggered pipelines3093 does not recursively expand triggered3094 when expand depth is limited to 13095 behaves like not expanded3096 does return base details3097 does not expand triggered_by pipeline3098 does not expand triggered pipelines3099 when expanding all3100 behaves like expanded3101 does return base details3102 does expand triggered_by pipeline3103 does not recursively expand triggered_by3104 does expand triggered pipelines3105 does not recursively expand triggered3106 when does not have permission to read other projects3107 behaves like not expanded3108 does return base details3109 does not expand triggered_by pipeline3110 does not expand triggered pipelines3111 GET dag3112 behaves like the show page3113 renders the show template3114 GET dag.json3115 returns the pipeline with DAG serialization3116 GET builds3117 behaves like the show page3118 renders the show template3119 GET failures3120 with failed jobs3121 shows the page3122 without failed jobs3123 redirects to the main pipeline page3124 GET stages.json3125 when accessing existing stage3126 without retried3127 returns pipeline jobs without the retried builds3128 with retried3129 returns pipelines jobs with the retried builds3130 when accessing unknown stage3131 responds with not found3132 GET status.json3133 return a detailed pipeline status in json3134 GET #charts3135 behaves like tracking unique visits3136 tracks unique visit if the format is HTML3137 tracks unique visit if DNT is not enabled3138 does not track unique visit if DNT is enabled3139 does not track unique visit if the format is JSON3140 behaves like Snowplow event tracking with RedisHLL context3141 behaves like Snowplow event tracking3142 is emitted3143 behaves like tracking unique visits3144 tracks unique visit if the format is HTML3145 tracks unique visit if DNT is not enabled3146 does not track unique visit if DNT is enabled3147 does not track unique visit if the format is JSON3148 behaves like Snowplow event tracking with RedisHLL context3149 behaves like Snowplow event tracking3150 is emitted3151 behaves like tracking unique visits3152 tracks unique visit if the format is HTML3153 tracks unique visit if DNT is not enabled3154 does not track unique visit if DNT is enabled3155 does not track unique visit if the format is JSON3156 behaves like internal event tracking3157 logs to Snowplow3158 behaves like tracking unique visits3159 tracks unique visit if the format is HTML3160 tracks unique visit if DNT is not enabled3161 does not track unique visit if DNT is enabled3162 does not track unique visit if the format is JSON3163 behaves like internal event tracking3164 logs to Snowplow3165 behaves like tracking unique visits3166 tracks unique visit if the format is HTML3167 tracks unique visit if DNT is not enabled3168 does not track unique visit if DNT is enabled3169 does not track unique visit if the format is JSON3170 behaves like internal event tracking3171 logs to Snowplow3172 behaves like tracking unique visits3173 tracks unique visit if the format is HTML3174 tracks unique visit if DNT is not enabled3175 does not track unique visit if DNT is enabled3176 does not track unique visit if the format is JSON3177 behaves like internal event tracking3178 logs to Snowplow3179 POST create3180 with a valid .gitlab-ci.yml file3181 behaves like creates a pipeline3182 is expected to redirect to "/namespace1066/project-1068/-/pipelines/350"3183 when latest commit contains [ci skip]3184 behaves like creates a pipeline3185 is expected to redirect to "/namespace1067/project-1069/-/pipelines/351"3186 with an invalid .gitlab-ci.yml file3187 does not persist a pipeline3188 POST create.json3189 with a valid .gitlab-ci.yml file3190 creates a pipeline3191 with an invalid .gitlab-ci.yml file3192 does not create a pipeline3193 POST retry.json3194 retries a pipeline in the background without returning any content3195 when builds are disabled3196 fails to retry pipeline3197 when access denied3198 returns an error3199 when service returns an error3200 does not retry3201 POST cancel.json3202 cancels a pipeline without returning any content3203 when builds are disabled3204 fails to retry pipeline3205 GET test_report3206 behaves like the show page3207 renders the show template3208 GET test_report.json3209 with attachments3210 does not have N+1 problem with attachments3211 when pipeline does not have a test report3212 renders an empty test report3213 when pipeline has a test report3214 renders the test report3215 when pipeline has a corrupt test report artifact3216 renders the test reports3217 returns a suite_error on the suite with corrupted XML3218 when test_report contains attachment and scope is with_attachment as a URL param3219 returns a test reports with attachment3220 when test_report does not contain attachment and scope is with_attachment as a URL param3221 returns a test reports with empty values3222 GET latest3223 renders a 404 if no pipeline is found for the ref3224 no ref provided3225 shows latest pipeline for the default project branch3226 ref provided3227 shows a 404 if no pipeline exists3228 shows the latest pipeline for the provided ref3229 newer pipeline exists for older sha3230 shows the provided ref with the last sha/pipeline combo3231 DELETE #destroy3232 when user has ability to delete pipeline3233 deletes pipeline and redirects3234 and builds are disabled3235 fails to delete pipeline3236 and project is undergoing stats refresh3237 behaves like preventing request because of ongoing project stats refresh3238 logs about the rejected request3239 returns 409 error3240 does not delete the pipeline3241 when user has no privileges3242 fails to delete pipeline3243 GET downloadable_artifacts.json3244 when pipeline is empty3245 returns status not_found3246 when pipeline exists3247 when pipeline does not have any downloadable artifacts3248 returns an empty array3249 when pipeline has downloadable artifacts3250 returns an array of artifacts3251Projects::ClustersController3252 GET index3253 functionality3254 when project has one or more clusters3255 lists available clusters and renders html3256 lists available clusters with json serializer3257 sets the polling interval header for json requests3258 feature flag is disabled3259 does not list any clusters3260 when page is specified3261 redirects to the page3262 displays cluster list for associated page3263 when project does not have a cluster3264 returns an empty state page3265 security3266 is allowed for admin when admin mode enabled3267 is disabled for admin when admin mode disabled3268 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2003269 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2003270 is expected to be allowed for developer. Expected: 200,201,204,302 Got: 2003271 is expected to be denied for reporter. Expected: 401,404 Got: 4043272 is expected to be denied for guest. Expected: 401,404 Got: 4043273 is expected to be denied for user. Expected: 401,404 Got: 4043274 is expected to be denied for external. Expected: 401,404 Got: 4043275 POST create for existing cluster3276 feature flag is disabled3277 responds with :not_found3278 functionality3279 when creates a cluster3280 creates a new cluster3281 when creates a RBAC-enabled cluster3282 creates a new cluster3283 when creates a user-managed cluster3284 creates a new user-managed cluster3285 security3286 is allowed for admin when admin mode enabled3287 is disabled for admin when admin mode disabled3288 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3023289 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3023290 is expected to be denied for developer. Expected: 401,404 Got: 4043291 is expected to be denied for reporter. Expected: 401,404 Got: 4043292 is expected to be denied for guest. Expected: 401,404 Got: 4043293 is expected to be denied for user. Expected: 401,404 Got: 4043294 is expected to be denied for external. Expected: 401,404 Got: 4043295 DELETE clear cluster cache3296 deletes the namespaces associated with the cluster3297 feature flag is disabled3298 responds with :not_found3299 security3300 is allowed for admin when admin mode enabled3301 is disabled for admin when admin mode disabled3302 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3023303 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3023304 is expected to be denied for developer. Expected: 401,404 Got: 4043305 is expected to be denied for reporter. Expected: 401,404 Got: 4043306 is expected to be denied for guest. Expected: 401,404 Got: 4043307 is expected to be denied for user. Expected: 401,404 Got: 4043308 is expected to be denied for external. Expected: 401,404 Got: 4043309 GET cluster_status3310 feature flag is disabled3311 responds with :not_found3312 functionality3313 responds with matching schema3314 security3315 is allowed for admin when admin mode enabled3316 is disabled for admin when admin mode disabled3317 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2003318 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2003319 is expected to be denied for developer. Expected: 401,404 Got: 4043320 is expected to be denied for reporter. Expected: 401,404 Got: 4043321 is expected to be denied for guest. Expected: 401,404 Got: 4043322 is expected to be denied for user. Expected: 401,404 Got: 4043323 is expected to be denied for external. Expected: 401,404 Got: 4043324 GET show3325 feature flag is disabled3326 responds with :not_found3327 security3328 is allowed for admin when admin mode enabled3329 is disabled for admin when admin mode disabled3330 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2003331 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2003332 is expected to be allowed for developer. Expected: 200,201,204,302 Got: 2003333 is expected to be denied for reporter. Expected: 401,404 Got: 4043334 is expected to be denied for guest. Expected: 401,404 Got: 4043335 is expected to be denied for user. Expected: 401,404 Got: 4043336 is expected to be denied for external. Expected: 401,404 Got: 4043337 PUT update3338 updates and redirects back to show page3339 feature flag is disabled3340 responds with :not_found3341 when format is json3342 when changing parameters3343 when valid parameters are used3344 updates and redirects back to show page3345 when invalid parameters are used3346 rejects changes3347 security3348 is allowed for admin when admin mode enabled3349 is disabled for admin when admin mode disabled3350 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3023351 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3023352 is expected to be denied for developer. Expected: 401,404 Got: 4043353 is expected to be denied for reporter. Expected: 401,404 Got: 4043354 is expected to be denied for guest. Expected: 401,404 Got: 4043355 is expected to be denied for user. Expected: 401,404 Got: 4043356 is expected to be denied for external. Expected: 401,404 Got: 4043357 DELETE destroy3358 feature flag is disabled3359 responds with :not_found3360 functionality3361 when cluster is provided by GCP3362 when cluster is created3363 destroys and redirects back to clusters list3364 when cluster is being created3365 destroys and redirects back to clusters list3366 when cluster is provided by user3367 destroys and redirects back to clusters list3368 security3369 is allowed for admin when admin mode enabled3370 is disabled for admin when admin mode disabled3371 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3023372 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3023373 is expected to be denied for developer. Expected: 401,404 Got: 4043374 is expected to be denied for reporter. Expected: 401,404 Got: 4043375 is expected to be denied for guest. Expected: 401,404 Got: 4043376 is expected to be denied for user. Expected: 401,404 Got: 4043377 is expected to be denied for external. Expected: 401,404 Got: 4043378 no project_id param3379 does not respond to any action without project_id param3380API::Labels3381 GET /projects/:id/labels3382 returns all available labels to the project3383 when search param is provided3384 and user is subscribed3385 returns subscribed true3386 and user is not subscribed3387 returns subscribed false3388 when the with_counts parameter is set3389 includes counts in the response3390 with subgroups3391 when the include_ancestor_groups parameter is not set3392 behaves like fetches labels3393 returns correct labels3394 when search param is provided3395 behaves like fetches labels3396 returns correct labels3397 when the include_ancestor_groups parameter is set to false3398 behaves like fetches labels3399 returns correct labels3400 when search param is provided3401 behaves like fetches labels3402 returns correct labels3403 POST /projects/:id/labels3404 returns created label when all params3405 returns created label when only required params3406 creates a prioritized label3407 returns a 400 bad request if name not given3408 returns a 400 bad request if color not given3409 returns 400 for invalid color3410 returns 400 for too long color code3411 returns 400 for invalid name3412 returns 409 if label already exists in group3413 returns 400 for invalid priority3414 returns 409 if label already exists in project3415 DELETE /projects/:id/labels3416 returns 404 for non existing label3417 returns 400 for wrong parameters3418 fails if label_id and name are given in params3419 behaves like label delete API3420 returns 204 for existing label (deprecated route)3421 returns 204 for existing label (rest route)3422 behaves like label delete API3423 returns 204 for existing label (deprecated route)3424 returns 204 for existing label (rest route)3425 behaves like 412 response3426 for a modified resource3427 returns 412 with a JSON error3428 for an unmodified resource3429 returns 204 with an empty body3430 when lock_on_merge3431 returns 400 because label could not be deleted3432 with group label3433 returns 401 if user does not have access3434 returns 204 if user has access3435 PUT /projects/:id/labels3436 returns 404 if label does not exist3437 returns 404 if label by id does not exist3438 returns 400 if no label name and id is given3439 fails if label_id and name are given in params3440 when using name3441 behaves like label update API3442 returns 200 if name is changed (deprecated route)3443 returns 200 if colors is changed (deprecated route)3444 returns 200 if a priority is added (deprecated route)3445 returns 400 if no new parameters given (deprecated route)3446 returns 400 when color code is too short (deprecated route)3447 returns 400 for too long color code (deprecated route)3448 returns 400 for invalid priority (deprecated route)3449 returns 200 if name and colors and description are changed (deprecated route)3450 returns 400 for invalid name (deprecated route)3451 returns 200 if description is changed (deprecated route)3452 returns 200 if priority is changed (deprecated route)3453 returns 200 if name is changed (rest route)3454 returns 200 if colors is changed (rest route)3455 returns 200 if a priority is added (rest route)3456 returns 400 if no new parameters given (rest route)3457 returns 400 when color code is too short (rest route)3458 returns 400 for too long color code (rest route)3459 returns 400 for invalid priority (rest route)3460 returns 200 if name and colors and description are changed (rest route)3461 returns 400 for invalid name (rest route)3462 returns 200 if description is changed (rest route)3463 returns 200 if priority is changed (rest route)3464 returns 200 if a priority is removed (deprecated route)3465 returns 200 if a priority is removed (rest route)3466 when using label_id3467 behaves like label update API3468 returns 200 if name is changed (deprecated route)3469 returns 200 if colors is changed (deprecated route)3470 returns 200 if a priority is added (deprecated route)3471 returns 400 if no new parameters given (deprecated route)3472 returns 400 when color code is too short (deprecated route)3473 returns 400 for too long color code (deprecated route)3474 returns 400 for invalid priority (deprecated route)3475 returns 200 if name and colors and description are changed (deprecated route)3476 returns 400 for invalid name (deprecated route)3477 returns 200 if description is changed (deprecated route)3478 returns 200 if priority is changed (deprecated route)3479 returns 200 if name is changed (rest route)3480 returns 200 if colors is changed (rest route)3481 returns 200 if a priority is added (rest route)3482 returns 400 if no new parameters given (rest route)3483 returns 400 when color code is too short (rest route)3484 returns 400 for too long color code (rest route)3485 returns 400 for invalid priority (rest route)3486 returns 200 if name and colors and description are changed (rest route)3487 returns 400 for invalid name (rest route)3488 returns 200 if description is changed (rest route)3489 returns 200 if priority is changed (rest route)3490 returns 200 if a priority is removed (deprecated route)3491 returns 200 if a priority is removed (rest route)3492 with group label3493 allows updating of group label priority3494 returns 401 when updating other fields3495 returns 200 when user has access to the group label3496 PUT /projects/:id/labels/promote3497 returns 200 if label is promoted3498 returns 403 if guest promotes label3499 returns 403 if reporter promotes label3500 returns 404 if label does not exist3501 returns 400 if no label name given3502 returns 400 if project does not have a group3503 if group label already exists3504 returns a status of 2003505 does not change the group label count3506 does not change the group label max (reuses the same ID)3507 changes the project label count3508 POST /projects/:id/labels/:label_id/subscribe3509 when label_id is a label title3510 subscribes to the label3511 when label_id is a label ID3512 subscribes to the label3513 when user is already subscribed to label3514 returns 3043515 when label ID is not found3516 returns 404 error3517 POST /projects/:id/labels/:label_id/unsubscribe3518 when label_id is a label title3519 unsubscribes from the label3520 when label_id is a label ID3521 unsubscribes from the label3522 when user is already unsubscribed from label3523 returns 3043524 when label ID is not found3525 returns 404 error3526GroupsController3527 GET #show3528 when the group is not importing3529 is expected to render template groups/show3530 tracks page views3531 behaves like details view as atom3532 is expected to render template groups/show3533 assigns events for all the projects in the group3534 when the group is importing3535 redirects to the import status page3536 does not track page views3537 GET #details3538 is expected to redirect to "/group11"3539 behaves like details view as atom3540 is expected to render template groups/show3541 assigns events for all the projects in the group3542 GET edit3543 sets the badge API endpoint3544 GET #new3545 when creating subgroups3546 and can_create_group is true3547 and logged in as Admin_with_admin_mode3548 behaves like member with ability to create subgroups3549 renders the new page3550 and logged in as Owner3551 behaves like member with ability to create subgroups3552 renders the new page3553 and logged in as Maintainer3554 behaves like member with ability to create subgroups3555 renders the new page3556 and logged in as Guest3557 behaves like member without ability to create subgroups3558 renders the 404 page3559 and logged in as Developer3560 behaves like member without ability to create subgroups3561 renders the 404 page3562 and logged in as Admin_without_admin_mode3563 behaves like member without ability to create subgroups3564 renders the 404 page3565 and can_create_group is false3566 and logged in as Admin_with_admin_mode3567 behaves like member with ability to create subgroups3568 renders the new page3569 and logged in as Owner3570 behaves like member with ability to create subgroups3571 renders the new page3572 and logged in as Maintainer3573 behaves like member with ability to create subgroups3574 renders the new page3575 and logged in as Guest3576 behaves like member without ability to create subgroups3577 renders the 404 page3578 and logged in as Developer3579 behaves like member without ability to create subgroups3580 renders the 404 page3581 and logged in as Admin_without_admin_mode3582 behaves like member without ability to create subgroups3583 renders the 404 page3584 GET #activity3585 as json3586 includes events from all projects in group and subgroups3587 when user has no permission to see the event3588 filters out invisible event3589 POST #create3590 allows creating a group3591 authorization3592 allows an admin to create a group3593 when creating chat team3594 triggers Mattermost::CreateTeamService3595 when creating subgroups3596 and can_create_group is true3597 and logged in as Owner3598 creates the subgroup3599 and logged in as Developer3600 renders the new template3601 and can_create_group is false3602 and logged in as Owner3603 creates the subgroup3604 and logged in as Developer3605 renders the new template3606 when creating a top level group3607 and can_create_group is enabled3608 creates the Group3609 and can_create_group is disabled3610 does not create the Group3611 malicious group name3612 is expected not to change `Group.count`3613 is expected to render template new3614 when creating a group with `default_branch_protection` attribute3615 for users who have the ability to create a group with `default_branch_protection`3616 creates group with the specified branch protection level3617 for users who do not have the ability to create a group with `default_branch_protection`3618 does not create the group with the specified branch protection level3619 when creating a group with `default_branch_protection_defaults` attribute3620 when user has ability to write update_default_branch_protection3621 for users who have the ability to create a group with `default_branch_protection_defaults`3622 creates group with the specified default branch protection level3623 for users who do not have the ability to create a group with `default_branch_protection`3624 does not create the group with the specified branch protection level3625 when creating a group with captcha protection3626 allows creating a group when the reCAPTCHA is solved3627 allows creating a sub-group without checking the captcha3628 when the reCAPTCHA is not solved3629 displays an error3630 sets gon variables3631 with feature flag switched off3632 allows creating a group without the reCAPTCHA3633 when creating a group with the `role` attribute present3634 changes the users role3635 when creating a group with the `setup_for_company` attribute present3636 sets the groups `setup_for_company` value3637 when the user already has a value for `setup_for_company`3638 does not change the users `setup_for_company` value3639 when the user has no value for `setup_for_company`3640 changes the users `setup_for_company` value3641 when creating a group with the `jobs_to_be_done` attribute present3642 sets the groups `jobs_to_be_done` value3643 GET #index3644 as a user3645 redirects to Groups Dashboard3646 as a guest3647 redirects to Explore Groups3648 GET #issues3649 saves the sort order to user preferences3650 GET #merge_requests3651 sorting by votes3652 sorts most popular merge requests3653 sorts least popular merge requests3654 rendering views3655 displays MR counts in nav3656 when MergeRequestsFinder raises an exception3657 does not display MR counts in nav3658 when an ActiveRecord::QueryCanceled is raised3659 sets :search_timeout_occurred3660 logs the exception3661 rendering views3662 shows error message3663 does not display MR counts in nav3664 DELETE #destroy3665 as another user3666 returns 4043667 as the group owner3668 schedules a group destroy3669 redirects to the root path3670 PUT update3671 updates the path successfully3672 updates the project_creation_level successfully3673 updating default_branch_protection3674 for users who have the ability to update default_branch_protection3675 updates the attribute3676 for users who do not have the ability to update default_branch_protection3677 does not update the attribute3678 updating default_branch_name3679 updates the attribute3680 to empty string3681 does not update the attribute3682 when there is a conflicting group path3683 does not render references to the conflicting group3684 when a project inside the group has container repositories3685 does allow the group to be renamed3686 does not allow to path of the group to be changed3687 updating :resource_access_token_creation_allowed3688 when user is a group owner3689 updates the attribute3690 when not a group owner3691 does not update the attribute3692 updating :prevent_sharing_groups_outside_hierarchy3693 when user is a group owner3694 updates the attribute3695 when not a group owner3696 does not update the attribute3697 #ensure_canonical_path3698 for a GET request3699 when requesting groups at the root path3700 when requesting the canonical path with different casing3701 redirects to the correct casing3702 when requesting a redirected path3703 redirects to the canonical path3704 when the old group path is a substring of the scheme or host3705 does not modify the requested host3706 when the old group path is substring of groups3707 does not modify the /groups part of the path3708 when requesting groups under the /groups path3709 when requesting the canonical path3710 non-show path3711 with exactly matching casing3712 does not redirect3713 with different casing3714 redirects to the correct casing3715 show path3716 with exactly matching casing3717 does not redirect3718 with different casing3719 redirects to the correct casing at the root path3720 when requesting a redirected path3721 redirects to the canonical path3722 when the old group path is a substring of the scheme or host3723 does not modify the requested host3724 when the old group path is substring of groups3725 does not modify the /groups part of the path3726 when the old group path is substring of groups plus the new path3727 does not modify the /groups part of the path3728 for a POST request3729 when requesting the canonical path with different casing3730 does not 4043731 does not redirect to the correct casing3732 when requesting a redirected path3733 returns not found3734 for a DELETE request3735 when requesting the canonical path with different casing3736 does not 4043737 does not redirect to the correct casing3738 when requesting a redirected path3739 returns not found3740 PUT transfer3741 when transferring to a subgroup goes right3742 returns a notice and redirects to the new path3743 when converting to a root group goes right3744 returns a notice and redirects to the new path3745 When the transfer goes wrong3746 returns an alert and redirects to the current path3747 when the user is not allowed to transfer the group3748 is denied3749 transferring when a project has container images3750 does not allow the group to be transferred3751 POST #export3752 when the user does not have permission to export the group3753 returns an error3754 when supplied valid params3755 triggers the export job3756 redirects to the edit page3757 when the endpoint receives requests above the rate limit3758 throttles the endpoint3759 GET #download_export3760 when there is a file available to download3761 sends the file3762 when the file is no longer present on disk3763 returns not found3764 when there is no file available to download3765 returns not found3766 when the user does not have the required permissions3767 returns not_found3768 when the endpoint receives requests above the rate limit3769 throttles the endpoint3770 external authorization3771 with external authorization service enabled3772 GET #show3773 is successful3774 does not allow other formats3775 GET #edit3776 is successful3777 GET #new3778 is successful3779 GET #index3780 is successful3781 POST #create3782 creates a group3783 PUT #update3784 updates a group3785 malicious group name3786 is expected to render template edit3787 does not update name3788 DELETE #destroy3789 deletes the group3790 GET #activity3791 behaves like disabled when using an external authorization service3792 works when the feature is not enabled3793 renders a 404 with a message when the feature is enabled3794 GET #activity as JSON3795 returns count3796 GET #issues3797 behaves like disabled when using an external authorization service3798 works when the feature is not enabled3799 renders a 404 with a message when the feature is enabled3800 GET #merge_requests3801 behaves like disabled when using an external authorization service3802 works when the feature is not enabled3803 renders a 404 with a message when the feature is enabled3804 GET #unfoldered_environment_names3805 shows the environment names of a public project to an anonymous user3806 does not show environment names of private projects to anonymous users3807 shows environment names of a private project to a group member3808 does not show environment names of private projects to a logged-in non-member3809Admin::ClustersController3810 GET #index3811 functionality3812 when instance has one or more clusters3813 lists available clusters and displays html3814 lists available clusters and renders json serializer3815 sets the polling interval header for json requests3816 feature flag is disabled3817 responds with :not_found3818 when page is specified3819 redirects to the page3820 displays cluster list for associated page3821 when instance does not have a cluster3822 returns an empty state page3823 security3824 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2003825 is expected to be denied for user. Expected: 401,404 Got: 4043826 is expected to be denied for external. Expected: 401,404 Got: 4043827 POST #create_user3828 feature flag is disabled3829 responds with :not_found3830 functionality3831 when creates a cluster3832 creates a new cluster3833 when creates a RBAC-enabled cluster3834 creates a new cluster3835 security3836 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3023837 is expected to be denied for user. Expected: 401,404 Got: 4043838 is expected to be denied for external. Expected: 401,404 Got: 4043839 DELETE clear cluster cache3840 deletes the namespaces associated with the cluster3841 feature flag is disabled3842 responds with :not_found3843 security3844 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3023845 is expected to be denied for user. Expected: 401,404 Got: 4043846 is expected to be denied for external. Expected: 401,404 Got: 4043847 GET #cluster_status3848 feature flag is disabled3849 responds with :not_found3850 functionality3851 responds with matching schema3852 security3853 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2003854 is expected to be denied for user. Expected: 401,404 Got: 4043855 is expected to be denied for external. Expected: 401,404 Got: 4043856 GET #show3857 feature flag is disabled3858 responds with :not_found3859 security3860 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2003861 is expected to be denied for user. Expected: 401,404 Got: 4043862 is expected to be denied for external. Expected: 401,404 Got: 4043863 PUT #update3864 updates and redirects back to show page3865 feature flag is disabled3866 responds with :not_found3867 when domain is invalid3868 does not update cluster attributes3869 when format is json3870 when changing parameters3871 when valid parameters are used3872 updates and redirects back to show page3873 when invalid parameters are used3874 rejects changes3875 security3876 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3023877 is expected to be denied for user. Expected: 401,404 Got: 4043878 is expected to be denied for external. Expected: 401,404 Got: 4043879 DELETE #destroy3880 feature flag is disabled3881 responds with :not_found3882 functionality3883 when cluster is provided by GCP3884 when cluster is created3885 destroys and redirects back to clusters list3886 when cluster is being created3887 destroys and redirects back to clusters list3888 when cluster is provided by user3889 destroys and redirects back to clusters list3890 security3891 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3023892 is expected to be denied for user. Expected: 401,404 Got: 4043893 is expected to be denied for external. Expected: 401,404 Got: 4043894API::Features3895 GET /features3896 returns a 401 for anonymous users3897 returns the feature list for admins3898 behaves like GET request permissions for admin mode3899 behaves like when admin3900 behaves like makes request3901 returns3902 behaves like makes request3903 returns3904 behaves like when user3905 returns3906 behaves like makes request3907 returns3908 POST /feature3909 opts given actors out3910 behaves like POST request permissions for admin mode3911 behaves like when admin3912 behaves like makes request3913 returns3914 behaves like makes request3915 returns3916 behaves like when user3917 returns3918 behaves like makes request3919 returns3920 behaves like sets the feature flag status3921 when the feature does not exist3922 returns a 401 for anonymous users3923 returns a 403 for users3924 creates a feature with the given percentage of time if passed an integer3925 creates a feature with the given percentage of time if passed a float3926 creates a feature with the given percentage of actors if passed an integer3927 creates a feature with the given percentage of actors if passed a float3928 when passed value=true3929 creates an enabled feature3930 logs the event3931 creates an enabled feature for the given Flipper group when passed feature_group=perf_team3932 creates an enabled feature for the given user when passed user=username3933 creates an enabled feature for the given user and feature group when passed user=username and feature_group=perf_team3934 when enabling for a project by path3935 when the project exists3936 behaves like enables the flag for the actor3937 sets the feature gate3938 when the project does not exist3939 behaves like does not enable the flag3940 returns the current state of the flag without changes3941 when enabling for a group by path3942 when the group exists3943 behaves like enables the flag for the actor3944 sets the feature gate3945 when the group does not exist3946 behaves like does not enable the flag3947 returns the current state of the flag without changes3948 when enabling for a namespace by path3949 when the user namespace exists3950 behaves like enables the flag for the actor3951 sets the feature gate3952 when the group namespace exists3953 behaves like enables the flag for the actor3954 sets the feature gate3955 when the user namespace does not exist3956 behaves like does not enable the flag3957 returns the current state of the flag without changes3958 when a project namespace exists3959 behaves like does not enable the flag3960 returns the current state of the flag without changes3961 when enabling for a repository by path3962 when the repository exists3963 behaves like enables the flag for the actor3964 sets the feature gate3965 when the repository does not exist3966 behaves like does not enable the flag3967 returns the current state of the flag without changes3968 with multiple users3969 behaves like creates an enabled feature for the specified entries3970 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(User:1168, User:1169, User:1170)}3971 when empty value exists between comma3972 behaves like creates an enabled feature for the specified entries3973 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(User:1168)}3974 when one of the users does not exist3975 behaves like does not enable the flag3976 returns the current state of the flag without changes3977 with multiple projects3978 behaves like creates an enabled feature for the specified entries3979 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Project:452, Project:453, Project:454)}3980 when empty value exists between comma3981 behaves like creates an enabled feature for the specified entries3982 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Project:452)}3983 when one of the projects does not exist3984 behaves like does not enable the flag3985 returns the current state of the flag without changes3986 with multiple groups3987 behaves like creates an enabled feature for the specified entries3988 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Group:1669, Group:1670, Group:1671)}3989 when empty value exists between comma3990 behaves like creates an enabled feature for the specified entries3991 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Group:1669)}3992 when one of the groups does not exist3993 behaves like does not enable the flag3994 returns the current state of the flag without changes3995 with multiple namespaces3996 behaves like creates an enabled feature for the specified entries3997 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Namespaces::UserNamespace:1672, Namespaces::UserNamespace:1673, Namespaces::UserNamespace:1674)}3998 when empty value exists between comma3999 behaves like creates an enabled feature for the specified entries4000 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Namespaces::UserNamespace:1672)}4001 when one of the namespaces does not exist4002 behaves like does not enable the flag4003 returns the current state of the flag without changes4004 with multiple repository4005 behaves like creates an enabled feature for the specified entries4006 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Repository:@hashed/f6/26/f626051bc94422f26f4b774a2bca105e1...git, Repository:@hashed/35/37/353767b239099863e13ca954e20a66c9d75f777baf239f56e399958de49bf79d.git)}4007 when empty value exists between comma4008 behaves like creates an enabled feature for the specified entries4009 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Repository:@hashed/f6/26/f626051bc94422f26f4b774a2bca105e122df36a2f32f51bd7ee470daa620b0b.git)}4010 when one of the projects does not exist4011 behaves like does not enable the flag4012 returns the current state of the flag without changes4013 mutually exclusive parameters4014 when key and feature_group are provided4015 behaves like fails to set the feature flag4016 returns an error4017 when key and user are provided4018 behaves like fails to set the feature flag4019 returns an error4020 when key and group are provided4021 behaves like fails to set the feature flag4022 returns an error4023 when key and namespace are provided4024 behaves like fails to set the feature flag4025 returns an error4026 when key and project are provided4027 behaves like fails to set the feature flag4028 returns an error4029 when the feature exists4030 when passed value=true4031 enables the feature4032 enables the feature for the given Flipper group when passed feature_group=perf_team4033 enables the feature for the given user when passed user=username4034 when feature is enabled and value=false is passed4035 disables the feature4036 disables the feature for the given Flipper group when passed feature_group=perf_team4037 disables the feature for the given user when passed user=username4038 with a pre-existing percentage of time value4039 updates the percentage of time if passed an integer4040 with a pre-existing percentage of actors value4041 updates the percentage of actors if passed an integer4042 when the actor has opted-out4043 refuses to enable the feature4044 when feature flag set_feature_flag_service is disabled4045 rejects opt_out requests4046 behaves like sets the feature flag status4047 when the feature does not exist4048 returns a 401 for anonymous users4049 returns a 403 for users4050 creates a feature with the given percentage of time if passed an integer4051 creates a feature with the given percentage of time if passed a float4052 creates a feature with the given percentage of actors if passed an integer4053 creates a feature with the given percentage of actors if passed a float4054 when passed value=true4055 creates an enabled feature4056 logs the event4057 creates an enabled feature for the given Flipper group when passed feature_group=perf_team4058 creates an enabled feature for the given user when passed user=username4059 creates an enabled feature for the given user and feature group when passed user=username and feature_group=perf_team4060 when enabling for a project by path4061 when the project exists4062 behaves like enables the flag for the actor4063 sets the feature gate4064 when the project does not exist4065 behaves like does not enable the flag4066 returns the current state of the flag without changes4067 when enabling for a group by path4068 when the group exists4069 behaves like enables the flag for the actor4070 sets the feature gate4071 when the group does not exist4072 behaves like does not enable the flag4073 returns the current state of the flag without changes4074 when enabling for a namespace by path4075 when the user namespace exists4076 behaves like enables the flag for the actor4077 sets the feature gate4078 when the group namespace exists4079 behaves like enables the flag for the actor4080 sets the feature gate4081 when the user namespace does not exist4082 behaves like does not enable the flag4083 returns the current state of the flag without changes4084 when a project namespace exists4085 behaves like does not enable the flag4086 returns the current state of the flag without changes4087 when enabling for a repository by path4088 when the repository exists4089 behaves like enables the flag for the actor4090 sets the feature gate4091 when the repository does not exist4092 behaves like does not enable the flag4093 returns the current state of the flag without changes4094 with multiple users4095 behaves like creates an enabled feature for the specified entries4096 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(User:1184, User:1185, User:1186)}4097 when empty value exists between comma4098 behaves like creates an enabled feature for the specified entries4099 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(User:1184)}4100 when one of the users does not exist4101 behaves like does not enable the flag4102 returns the current state of the flag without changes4103 with multiple projects4104 behaves like creates an enabled feature for the specified entries4105 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Project:461, Project:462, Project:463)}4106 when empty value exists between comma4107 behaves like creates an enabled feature for the specified entries4108 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Project:461)}4109 when one of the projects does not exist4110 behaves like does not enable the flag4111 returns the current state of the flag without changes4112 with multiple groups4113 behaves like creates an enabled feature for the specified entries4114 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Group:1699, Group:1700, Group:1701)}4115 when empty value exists between comma4116 behaves like creates an enabled feature for the specified entries4117 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Group:1699)}4118 when one of the groups does not exist4119 behaves like does not enable the flag4120 returns the current state of the flag without changes4121 with multiple namespaces4122 behaves like creates an enabled feature for the specified entries4123 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Namespaces::UserNamespace:1702, Namespaces::UserNamespace:1703, Namespaces::UserNamespace:1704)}4124 when empty value exists between comma4125 behaves like creates an enabled feature for the specified entries4126 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Namespaces::UserNamespace:1702)}4127 when one of the namespaces does not exist4128 behaves like does not enable the flag4129 returns the current state of the flag without changes4130 with multiple repository4131 behaves like creates an enabled feature for the specified entries4132 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Repository:@hashed/88/b5/88b54564b232405ab2165996517fece11...git, Repository:@hashed/82/6e/826e27285307a923759de350de081d6218a04f4cff82b20c5ddaa8c60138c066.git)}4133 when empty value exists between comma4134 behaves like creates an enabled feature for the specified entries4135 is expected to contain exactly {"key"=>"boolean", "value"=>false} and {"key"=>"actors", "value"=>array_including(Repository:@hashed/88/b5/88b54564b232405ab2165996517fece1149259cf1ea262a375db0f66039294d0.git)}4136 when one of the projects does not exist4137 behaves like does not enable the flag4138 returns the current state of the flag without changes4139 mutually exclusive parameters4140 when key and feature_group are provided4141 behaves like fails to set the feature flag4142 returns an error4143 when key and user are provided4144 behaves like fails to set the feature flag4145 returns an error4146 when key and group are provided4147 behaves like fails to set the feature flag4148 returns an error4149 when key and namespace are provided4150 behaves like fails to set the feature flag4151 returns an error4152 when key and project are provided4153 behaves like fails to set the feature flag4154 returns an error4155 when the feature exists4156 when passed value=true4157 enables the feature4158 enables the feature for the given Flipper group when passed feature_group=perf_team4159 enables the feature for the given user when passed user=username4160 when feature is enabled and value=false is passed4161 disables the feature4162 disables the feature for the given Flipper group when passed feature_group=perf_team4163 disables the feature for the given user when passed user=username4164 with a pre-existing percentage of time value4165 updates the percentage of time if passed an integer4166 with a pre-existing percentage of actors value4167 updates the percentage of actors if passed an integer4168 DELETE /feature/:name4169 behaves like DELETE request permissions for admin mode4170 behaves like when admin4171 behaves like makes request4172 returns4173 behaves like makes request4174 returns4175 behaves like when user4176 returns4177 behaves like makes request4178 returns4179 when the user has no access4180 returns a 401 for anonymous users4181 returns a 403 for users4182 when the user has access4183 returns 204 when the value is not set4184 when the gate value was set4185 deletes an enabled feature4186 logs the event4187Projects::ReleasesController4188 GET #index4189 as html4190 returns a text/html content_type4191 behaves like common access controls4192 renders a 2004193 when the project is private4194 when user is a developer4195 renders a 200 for a logged in developer4196 when user is an external user4197 renders a 404 when logged in but not in the project4198 when the project is private and the user is not logged in4199 returns a redirect4200 as json4201 returns an application/json content_type4202 returns the project's releases as JSON, ordered by released_at4203 behaves like common access controls4204 renders a 2004205 when the project is private4206 when user is a developer4207 renders a 200 for a logged in developer4208 when user is an external user4209 renders a 404 when logged in but not in the project4210 when the project is private and the user is not logged in4211 returns a redirect4212 GET #new4213 is expected to be denied for reporter. Expected: 401,404 Got: 4044214 is expected to be allowed for developer. Expected: 200,201,204,302 Got: 2004215 GET #edit4216 behaves like successful request4217 renders a 2004218 when tag name contains slash4219 is accessible at a URL encoded path4220 behaves like successful request4221 renders a 2004222 when release does not exist4223 behaves like not found4224 renders 4044225 when user is a reporter4226 behaves like not found4227 renders 4044228 GET #show4229 behaves like successful request4230 renders a 2004231 when tag name contains slash4232 is accesible at a URL encoded path4233 behaves like successful request4234 renders a 2004235 when release does not exist4236 behaves like not found4237 renders 4044238 when user is a guest4239 behaves like successful request4240 renders a 2004241 when user is an external user for the project4242 behaves like not found4243 GET #latest_permalink4244 when user is a guest4245 proceeds with the redirect4246 when user is an external user for the project4247 behaves like not found4248 when there are no releases for the project4249 behaves like not found4250 multiple releases4251 redirects to the latest release4252 suffix path redirection4253 redirects to the latest release with suffix path and format4254 suffix path abuse4255 raises attack error4256 url parameters4257 carries over query parameters without order_by parameter in the redirect4258 order_by parameter4259 invalid parameter4260 behaves like redirects to latest release ordered by using released_at4261 is expected to redirect to "/namespace1140/project-1242/-/releases/latest"4262 valid parameter4263 behaves like redirects to latest release ordered by using released_at4264 is expected to redirect to "/namespace1141/project-1243/-/releases/latest"4265Emails::ServiceDesk4266 .service_desk_thank_you_email4267 behaves like a service desk notification email4268 builds the email correctly4269 uses system noreply address as Reply-To address4270 behaves like read template from repository4271 when a template is in the repository4272 uses the text template from the template4273 when the service_desk_templates directory does not contain correct template4274 uses the default template4275 when the service_desk_templates directory does not exist4276 uses the default template4277 when the project does not have a repo4278 uses the default template4279 handling template markdown4280 with a simple text4281 behaves like a service desk notification email with template content4282 builds the email correctly4283 with an issue id, issue path and unsubscribe url placeholders4284 behaves like a service desk notification email with template content4285 builds the email correctly4286 with header and footer placeholders4287 behaves like appearance header and footer enabled4288 contains header and footer4289 behaves like appearance header and footer not enabled4290 does not contain header and footer4291 with an issue id placeholder with whitespace4292 behaves like a service desk notification email with template content4293 builds the email correctly4294 with unexpected placeholder4295 behaves like a service desk notification email with template content4296 builds the email correctly4297 when issue description placeholder is used4298 behaves like a service desk notification email with template content4299 builds the email correctly4300 when GitLab-specific-reference is in description4301 does not render GitLab-specific-reference links with title attribute (FAILED - 2)43031st Try error in ./spec/mailers/emails/service_desk_spec.rb:287:4304expected the body to contain "<p data-sourcepos=\"1:1-1:22\" dir=\"auto\">namespace1143/project-1245#1</p>" but was "<p data-sourcepos=\"1:1-1:28\" dir=\"auto\">namespace1143/project-1245#1</p>"4306RSpec::Retry: 2nd try ./spec/mailers/emails/service_desk_spec.rb:2874307 when issue url placeholder is used4308 behaves like a service desk notification email with template content4309 builds the email correctly4310 when it is used in markdown format4311 behaves like a service desk notification email with template content4312 builds the email correctly4313 when custom email is enabled4314 behaves like a service desk notification email that uses custom email4315 uses SMTP delivery method and custom email settings4316 generates Reply-To address from custom email4317 when feature flag service_desk_custom_email_reply is disabled4318 is expected to have header Reply-To with value matching /<reply+(.*)@localhost>\Z/4319 .service_desk_new_note_email4320 behaves like a service desk notification email4321 builds the email correctly4322 uses system noreply address as Reply-To address4323 behaves like read template from repository4324 when a template is in the repository4325 uses the text template from the template4326 when the service_desk_templates directory does not contain correct template4327 uses the default template4328 when the service_desk_templates directory does not exist4329 uses the default template4330 when the project does not have a repo4331 uses the default template4332 with template4333 with a simple text4334 behaves like a service desk notification email with template content4335 builds the email correctly4336 with an issue id, issue path, note and unsubscribe url placeholders4337 behaves like a service desk notification email with template content4338 builds the email correctly4339 with header and footer placeholders4340 behaves like appearance header and footer enabled4341 contains header and footer4342 behaves like appearance header and footer not enabled4343 does not contain header and footer4344 with an issue id placeholder with whitespace4345 behaves like a service desk notification email with template content4346 builds the email correctly4347 with unexpected placeholder4348 behaves like a service desk notification email with template content4349 builds the email correctly4350 with all-user reference in a an external author comment4351 when `disable_all_mention` is disabled4352 behaves like a service desk notification email with template content4353 builds the email correctly4354 when `disable_all_mention` is enabled4355 behaves like a service desk notification email with template content4356 builds the email correctly4357 with upload link in the note4358 when total uploads size is more than 10mb4359 behaves like a service desk notification email4360 builds the email correctly4361 uses system noreply address as Reply-To address4362 behaves like a service desk notification email with template content4363 builds the email correctly4364 when total uploads size is less or equal 10mb4365 when it has only one upload4366 when upload name is not changed in markdown4367 behaves like a service desk notification email4368 builds the email correctly4369 uses system noreply address as Reply-To address4370 behaves like a service desk notification email with template content4371 builds the email correctly4372 when upload name is changed in markdown4373 behaves like a service desk notification email4374 builds the email correctly4375 uses system noreply address as Reply-To address4376 behaves like a service desk notification email with template content4377 builds the email correctly4378 when it has more than one upload4379 when all uploads processed correct4380 behaves like a service desk notification email4381 builds the email correctly4382 uses system noreply address as Reply-To address4383 behaves like a service desk notification email with template content4384 builds the email correctly4385 when not all uploads processed correct4386 behaves like a service desk notification email4387 builds the email correctly4388 uses system noreply address as Reply-To address4389 behaves like a service desk notification email with template content4390 builds the email correctly4391 when UploaderFinder is raising error4392 behaves like a service desk notification email with template content4393 builds the email correctly4394 when FileUploader is raising error4395 behaves like a service desk notification email with template content4396 builds the email correctly4397 when custom email is enabled4398 behaves like a service desk notification email that uses custom email4399 uses SMTP delivery method and custom email settings4400 generates Reply-To address from custom email4401 when feature flag service_desk_custom_email_reply is disabled4402 is expected to have header Reply-To with value matching /<reply+(.*)@localhost>\Z/4403 .service_desk_custom_email_verification_email4404 uses service bot name and custom email as sender4405 forcibly uses SMTP delivery method and has correct settings4406 uses verification email address as recipient4407 contains verification token4408 behaves like a custom email verification process email4409 contains custom email and project in subject4410 .service_desk_verification_triggered_email4411 contains triggerer username4412 behaves like an email sent from GitLab4413 has the characteristics of an email sent from GitLab4414 behaves like a custom email verification process email4415 contains custom email and project in subject4416 behaves like a custom email verification process notification email4417 has correct recipient4418 contains custom email and project in body4419 .service_desk_verification_result_email4420 behaves like an email sent from GitLab4421 has the characteristics of an email sent from GitLab4422 behaves like a custom email verification process email4423 contains custom email and project in subject4424 behaves like a custom email verification process notification email4425 has correct recipient4426 contains custom email and project in body4427 behaves like a custom email verification process result email with error4428 contains correct error message headline in text part4429 behaves like a custom email verification process result email with error4430 contains correct error message headline in text part4431 behaves like a custom email verification process result email with error4432 contains correct error message headline in text part4433 behaves like a custom email verification process result email with error4434 contains correct error message headline in text part4435 behaves like a custom email verification process result email with error4436 contains correct error message headline in text part4437 behaves like a custom email verification process result email with error4438 contains correct error message headline in text part4439API::Ci::Runner4440 /api/v4/jobs4441 artifacts4442 POST /api/v4/jobs/:id/artifacts/authorize4443 reject requests that did not go through gitlab-workhorse4444 when using token as parameter4445 and the artifact is too large4446 behaves like rejecting artifacts that are too large4447 based on plan limit setting4448 behaves like failed request4449 responds with payload too large error4450 based on application setting4451 behaves like failed request4452 responds with payload too large error4453 based on root namespace setting4454 behaves like failed request4455 responds with payload too large error4456 based on child namespace setting4457 behaves like failed request4458 responds with payload too large error4459 based on project setting4460 behaves like failed request4461 responds with payload too large error4462 posting artifacts to running job4463 doesn't update runner info4464 behaves like API::CI::Runner application context metadata4465 contains correct context metadata4466 behaves like runner migrations backoff4467 when executing locking database migrations4468 returns 429 error4469 with runner_migrations_backoff disabled4470 does not return 4294471 when using local storage4472 behaves like authorizes local file4473 succeeds4474 when using remote storage4475 when direct upload is enabled4476 succeeds4477 when direct upload is disabled4478 behaves like authorizes local file4479 succeeds4480 when job does not exist anymore4481 returns 403 Forbidden4482 when using token as header4483 authorizes posting artifacts to running job4484 fails to post too large artifact4485 when using runners token4486 fails to authorize artifacts posting4487 authorization token is invalid4488 responds with forbidden4489 authorize uploading of an lsif artifact4490 adds ProcessLsif header4491 tracks code_intelligence usage ping4492 POST /api/v4/jobs/:id/artifacts4493 doesn't update runner info4494 behaves like API::CI::Runner application context metadata4495 contains correct context metadata4496 behaves like runner migrations backoff4497 when executing locking database migrations4498 returns 429 error4499 with runner_migrations_backoff disabled4500 does not return 4294501 when the artifact is too large4502 behaves like rejecting artifacts that are too large4503 based on plan limit setting4504 behaves like failed request4505 responds with payload too large error4506 based on application setting4507 behaves like failed request4508 responds with payload too large error4509 based on root namespace setting4510 behaves like failed request4511 responds with payload too large error4512 based on child namespace setting4513 behaves like failed request4514 responds with payload too large error4515 based on project setting4516 behaves like failed request4517 responds with payload too large error4518 when artifacts are being stored inside of tmp path4519 when job has been erased4520 responds with forbidden4521 when job does not exist anymore4522 returns 403 Forbidden4523 when job is running4524 when uses accelerated file post4525 for file stored locally4526 behaves like successful artifacts upload4527 updates successfully4528 for file stored remotely4529 when uploaded file has matching pending remote upload to its final location4530 behaves like successful artifacts upload4531 updates successfully4532 when uploaded file is uploaded to temporary location4533 and matching temporary remote_id is used4534 behaves like successful artifacts upload4535 updates successfully4536 and invalid remote_id is used4537 responds with internal server error4538 when using runners token4539 responds with forbidden4540 when artifacts post request does not contain file4541 fails to post artifacts without file4542 GitLab Workhorse is not configured4543 fails to post artifacts without GitLab-Workhorse4544 Is missing GitLab Workhorse token headers4545 fails to post artifacts without GitLab-Workhorse4546 when setting an expire date4547 when an expire_in is given4548 updates when specified4549 when no expire_in is given4550 ignores if not specified4551 with application default4552 when default is 5 days4553 sets to application default4554 when default is 04555 does not set expire_in4556 when value is never4557 does not set expire_in4558 posts artifacts file and metadata file4559 when posts data accelerated by workhorse is correct4560 stores artifacts and artifacts metadata4561 with a malicious file.path param4562 rejects the request4563 when workhorse header is missing4564 rejects the request4565 when there is no artifacts file in post data4566 is expected to respond with bad request4567 does not store metadata4568 when access level is private4569 sets job artifact access level to private4570 when access level is public4571 sets job artifact access level to public4572 when access level is unknown4573 sets job artifact access level to public4574 when artifact_type is archive4575 when artifact_format is zip4576 stores junit test report4577 behaves like storing arguments in the application context4578 places the expected params in the application context4579 behaves like not executing any extra queries for the application context4580 does not execute more queries than without adding anything to the application context4581 when artifact_format is gzip4582 returns an error4583 when artifact_type is junit4584 when artifact_format is gzip4585 stores junit test report4586 when artifact_format is raw4587 returns an error4588 when artifact_type is metrics_referee4589 when artifact_format is gzip4590 stores metrics_referee data4591 when artifact_format is raw4592 returns an error4593 when artifact_type is network_referee4594 when artifact_format is gzip4595 stores network_referee data4596 when artifact_format is raw4597 returns an error4598 when artifact_type is dotenv4599 when artifact_format is gzip4600 stores dotenv file4601 parses dotenv file4602 when parse error happens4603 returns an error4604 when artifact_format is raw4605 returns an error4606 when artifacts already exist for the job4607 when sha256 is the same of the existing artifact4608 ignores the new artifact4609 when sha256 is different than the existing artifact4610 logs and returns an error4611 when object storage throws errors4612 does not store artifacts4613 when artifacts are being stored outside of tmp path4614 fails to post artifacts for outside of tmp path4615 GET /api/v4/jobs/:id/artifacts4616 doesn't update runner info4617 behaves like API::CI::Runner application context metadata4618 contains correct context metadata4619 behaves like runner migrations backoff4620 when executing locking database migrations4621 returns 429 error4622 with runner_migrations_backoff disabled4623 does not return 4294624 when job has artifacts4625 when using job token4626 behaves like successful artifact download4627 when artifacts are stored locally4628 downloads artifacts4629 when artifacts are stored remotely4630 when proxy download is being used4631 uses workhorse send-url4632 when direct download is being used4633 receives redirect for downloading artifacts4634 when the job is no longer running4635 behaves like unauthorized request4636 responds with unauthorized4637 when using token belonging to the dependent job4638 behaves like successful artifact download4639 when artifacts are stored locally4640 downloads artifacts4641 when artifacts are stored remotely4642 when proxy download is being used4643 uses workhorse send-url4644 when direct download is being used4645 receives redirect for downloading artifacts4646 when the dependent job is no longer running4647 behaves like unauthorized request4648 responds with unauthorized4649 when using token belonging to another job created by another project member4650 behaves like successful artifact download4651 when artifacts are stored locally4652 downloads artifacts4653 when artifacts are stored remotely4654 when proxy download is being used4655 uses workhorse send-url4656 when direct download is being used4657 receives redirect for downloading artifacts4658 when using token belonging to a pending dependent job4659 behaves like unauthorized request4660 responds with unauthorized4661 when using a token from a cross pipeline build4662 behaves like successful artifact download4663 when artifacts are stored locally4664 downloads artifacts4665 when artifacts are stored remotely4666 when proxy download is being used4667 uses workhorse send-url4668 when direct download is being used4669 receives redirect for downloading artifacts4670 when using a token from an unrelated project4671 responds with forbidden4672 when using runnners token4673 behaves like unauthorized request4674 responds with unauthorized4675 when using an invalid token4676 behaves like unauthorized request4677 responds with unauthorized4678 when job does not have artifacts4679 responds with not found4680 when job does not exist anymore4681 responds with 403 Forbidden4682API::ProjectMilestones4683 behaves like group and project milestones4684 GET /projects/:id/milestones4685 returns milestones list4686 returns a 401 error if user not authenticated4687 returns an array of active milestones4688 returns an array of closed milestones4689 returns an array of milestones specified by iids4690 does not return any milestone if none found4691 returns a milestone by iids array4692 returns a milestone by title4693 returns a milestone by searching for title4694 returns a milestones by searching for description4695 GET /projects/:id/milestones/:milestone_id4696 returns a milestone by id4697 returns 401 error if user not authenticated4698 returns a 404 error if milestone id not found4699 POST /projects/:id/milestones4700 creates a new milestone4701 creates a new milestone with description and dates4702 returns a 400 error if title is missing4703 returns a 400 error if params are invalid (duplicate title)4704 creates a new milestone with reserved html characters4705 PUT /projects/:id/milestones/:milestone_id4706 updates a milestone4707 removes a due date if nil is passed4708 returns a 404 error if milestone id not found4709 closes milestone4710 updates milestone with only start date4711 DELETE /projects/:id/milestones/:milestone_id4712 rejects a member with guest access from deleting a milestone4713 deletes the milestone when the user has reporter access to the project4714 GET /projects/:id/milestones/:milestone_id/issues4715 returns issues for a particular milestone4716 returns issues sorted by label priority4717 matches V4 response schema for a list of issues4718 returns a 401 error if user not authenticated4719 confidential issues4720 returns confidential issues to team members4721 does not return confidential issues to team members with guest role4722 does not return confidential issues to regular users4723 returns issues ordered by label priority4724 GET /projects/:id/milestones/:milestone_id/merge_requests4725 returns merge_requests for a particular milestone4726 returns merge_requests sorted by label priority4727 returns a 404 error if milestone id not found4728 returns a 404 if the user has no access to the milestone4729 returns a 401 error if user not authenticated4730 returns merge_requests ordered by position asc4731 GET /projects/:id/milestones4732 when project parent is a namespace4733 behaves like listing all milestones4734 returns correct list of milestones4735 when include_parent_milestones is true4736 behaves like listing all milestones4737 returns correct list of milestones4738 when project parent is a group4739 when include_parent_milestones is true4740 behaves like listing all milestones4741 returns correct list of milestones4742 when iids param is present4743 behaves like listing all milestones4744 returns correct list of milestones4745 when user is not a member of the private project4746 returns a 404 error4747 when updated_before param is present4748 behaves like listing all milestones4749 returns correct list of milestones4750 when updated_after param is present4751 behaves like listing all milestones4752 returns correct list of milestones4753 when updated_before param is present4754 behaves like listing all milestones4755 returns correct list of milestones4756 when updated_after param is present4757 behaves like listing all milestones4758 returns correct list of milestones4759 DELETE /projects/:id/milestones/:milestone_id4760 returns 404 response when the project does not exist4761 returns 404 response when the milestone does not exist4762 returns 404 from guest user deleting a milestone4763 PUT /projects/:id/milestones/:milestone_id to test observer on close4764 creates an activity event when a milestone is closed4765 POST /projects/:id/milestones/:milestone_id/promote4766 when user does not have permission to promote milestone4767 returns 4034768 when user has permission4769 returns 2004770 returns 200 for closed milestone4771 when no such resource4772 returns 404 response when the project does not exist4773 returns 404 response when the milestone does not exist4774 when project does not belong to group4775 returns 4034776Admin::IntegrationsController4777 behaves like Integrations::Actions4778 GET #edit4779 assigns the integration4780 behaves like unknown integration4781 returns 404 Not Found4782 PUT #update4783 updates the integration with the provided params and redirects to the form4784 when sending a password field4785 updates the integration with the password and other params4786 when sending a blank password field4787 ignores the password field and saves the other params4788 behaves like unknown integration4789 returns 404 Not Found4790 PUT #test4791 behaves like unknown integration4792 returns 404 Not Found4793 #edit4794 integration_name: "asana"4795 successfully displays the template4796 integration_name: "assembla"4797 successfully displays the template4798 integration_name: "bamboo"4799 successfully displays the template4800 integration_name: "bugzilla"4801 successfully displays the template4802 integration_name: "buildkite"4803 successfully displays the template4804 integration_name: "campfire"4805 successfully displays the template4806 integration_name: "clickup"4807 successfully displays the template4808 integration_name: "confluence"4809 successfully displays the template4810 integration_name: "custom_issue_tracker"4811 successfully displays the template4812 integration_name: "datadog"4813 successfully displays the template4814 integration_name: "discord"4815 successfully displays the template4816 integration_name: "drone_ci"4817 successfully displays the template4818 integration_name: "emails_on_push"4819 successfully displays the template4820 integration_name: "ewm"4821 successfully displays the template4822 integration_name: "external_wiki"4823 successfully displays the template4824 integration_name: "hangouts_chat"4825 successfully displays the template4826 integration_name: "harbor"4827 successfully displays the template4828 integration_name: "irker"4829 successfully displays the template4830 integration_name: "jira"4831 successfully displays the template4832 integration_name: "mattermost"4833 successfully displays the template4834 integration_name: "mattermost_slash_commands"4835 successfully displays the template4836 integration_name: "microsoft_teams"4837 successfully displays the template4838 integration_name: "mock_ci"4839 successfully displays the template4840 integration_name: "mock_monitoring"4841 successfully displays the template4842 integration_name: "packagist"4843 successfully displays the template4844 integration_name: "pipelines_email"4845 successfully displays the template4846 integration_name: "pivotaltracker"4847 successfully displays the template4848 integration_name: "prometheus"4849 successfully displays the template4850 integration_name: "pumble"4851 successfully displays the template4852 integration_name: "pushover"4853 successfully displays the template4854 integration_name: "redmine"4855 successfully displays the template4856 integration_name: "slack"4857 successfully displays the template4858 integration_name: "slack_slash_commands"4859 successfully displays the template4860 integration_name: "squash_tm"4861 successfully displays the template4862 integration_name: "teamcity"4863 successfully displays the template4864 integration_name: "telegram"4865 successfully displays the template4866 integration_name: "unify_circuit"4867 successfully displays the template4868 integration_name: "webex_teams"4869 successfully displays the template4870 integration_name: "youtrack"4871 successfully displays the template4872 integration_name: "zentao"4873 successfully displays the template4874 when GitLab.com4875 returns 4044876 #update4877 with valid params4878 updates the integration4879 calls to PropagateIntegrationWorker4880 with invalid params4881 does not update the integration4882 does not call to PropagateIntegrationWorker4883 #reset4884 returns 200 OK4885 deletes the integration and all inheriting integrations4886GroupsController4887 token authentication4888 when public group4889 behaves like authenticates sessionless user for the request spec4890 show atom4891 when the 'private_token' param is populated with the personal access token4892 when valid token4893 when resource is public4894 authenticates user and returns response with ok status4895 when user with expired password4896 does not authenticate user and returns response with ok status4897 when the personal access token has no api scope4898 when resource is public4899 does not authenticate user and returns response with ok status4900 when invalid token4901 when resource is public4902 does not authenticate user and returns response with ok status4903 when the 'PRIVATE-TOKEN' header is populated with the personal access token4904 when valid token4905 when resource is public4906 authenticates user and returns response with ok status4907 when user with expired password4908 does not authenticate user and returns response with ok status4909 when the personal access token has no api scope4910 when resource is public4911 does not authenticate user and returns response with ok status4912 when invalid token4913 when resource is public4914 does not authenticate user and returns response with ok status4915 when the 'feed_token' param is populated with the feed token4916 when valid token4917 when resource is public4918 authenticates user and returns response with ok status4919 when user with expired password4920 does not authenticate user and returns response with ok status4921 when invalid token4922 when resource is public4923 does not authenticate user and returns response with ok status4924 behaves like authenticates sessionless user for the request spec4925 issues atom4926 when the 'private_token' param is populated with the personal access token4927 when valid token4928 when resource is public4929 authenticates user and returns response with ok status4930 when user with expired password4931 does not authenticate user and returns response with ok status4932 when the personal access token has no api scope4933 when resource is public4934 does not authenticate user and returns response with ok status4935 when invalid token4936 when resource is public4937 does not authenticate user and returns response with ok status4938 when the 'PRIVATE-TOKEN' header is populated with the personal access token4939 when valid token4940 when resource is public4941 authenticates user and returns response with ok status4942 when user with expired password4943 does not authenticate user and returns response with ok status4944 when the personal access token has no api scope4945 when resource is public4946 does not authenticate user and returns response with ok status4947 when invalid token4948 when resource is public4949 does not authenticate user and returns response with ok status4950 when the 'feed_token' param is populated with the feed token4951 when valid token4952 when resource is public4953 authenticates user and returns response with ok status4954 when user with expired password4955 does not authenticate user and returns response with ok status4956 when invalid token4957 when resource is public4958 does not authenticate user and returns response with ok status4959 behaves like authenticates sessionless user for the request spec4960 issues_calendar ics4961 when the 'private_token' param is populated with the personal access token4962 when valid token4963 when resource is public4964 authenticates user and returns response with ok status4965 when user with expired password4966 does not authenticate user and returns response with ok status4967 when the personal access token has no api scope4968 when resource is public4969 does not authenticate user and returns response with ok status4970 when invalid token4971 when resource is public4972 does not authenticate user and returns response with ok status4973 when the 'PRIVATE-TOKEN' header is populated with the personal access token4974 when valid token4975 when resource is public4976 authenticates user and returns response with ok status4977 when user with expired password4978 does not authenticate user and returns response with ok status4979 when the personal access token has no api scope4980 when resource is public4981 does not authenticate user and returns response with ok status4982 when invalid token4983 when resource is public4984 does not authenticate user and returns response with ok status4985 when the 'feed_token' param is populated with the feed token4986 when valid token4987 when resource is public4988 authenticates user and returns response with ok status4989 when user with expired password4990 does not authenticate user and returns response with ok status4991 when invalid token4992 when resource is public4993 does not authenticate user and returns response with ok status4994 when private project4995 behaves like authenticates sessionless user for the request spec4996 show atom4997 when the 'private_token' param is populated with the personal access token4998 when valid token4999 when resource is private5000 authenticates user and returns response with ok status5001 when user with expired password5002 does not return response with ok status5003 when password expiration is not applicable5004 when ldap user5005 authenticates user and returns response with ok status5006 when the personal access token has no api scope5007 when resource is private5008 does not return response with ok status5009 when invalid token5010 when resource is private5011 does not return response with ok status5012 when the 'PRIVATE-TOKEN' header is populated with the personal access token5013 when valid token5014 when resource is private5015 authenticates user and returns response with ok status5016 when user with expired password5017 does not return response with ok status5018 when password expiration is not applicable5019 when ldap user5020 authenticates user and returns response with ok status5021 when the personal access token has no api scope5022 when resource is private5023 does not return response with ok status5024 when invalid token5025 when resource is private5026 does not return response with ok status5027 when the 'feed_token' param is populated with the feed token5028 when valid token5029 when resource is private5030 authenticates user and returns response with ok status5031 when user with expired password5032 does not return response with ok status5033 when password expiration is not applicable5034 when ldap user5035 authenticates user and returns response with ok status5036 when invalid token5037 when resource is private5038 does not return response with ok status5039 behaves like authenticates sessionless user for the request spec5040 issues atom5041 when the 'private_token' param is populated with the personal access token5042 when valid token5043 when resource is private5044 authenticates user and returns response with ok status5045 when user with expired password5046 does not return response with ok status5047 when password expiration is not applicable5048 when ldap user5049 authenticates user and returns response with ok status5050 when the personal access token has no api scope5051 when resource is private5052 does not return response with ok status5053 when invalid token5054 when resource is private5055 does not return response with ok status5056 when the 'PRIVATE-TOKEN' header is populated with the personal access token5057 when valid token5058 when resource is private5059 authenticates user and returns response with ok status5060 when user with expired password5061 does not return response with ok status5062 when password expiration is not applicable5063 when ldap user5064 authenticates user and returns response with ok status5065 when the personal access token has no api scope5066 when resource is private5067 does not return response with ok status5068 when invalid token5069 when resource is private5070 does not return response with ok status5071 when the 'feed_token' param is populated with the feed token5072 when valid token5073 when resource is private5074 authenticates user and returns response with ok status5075 when user with expired password5076 does not return response with ok status5077 when password expiration is not applicable5078 when ldap user5079 authenticates user and returns response with ok status5080 when invalid token5081 when resource is private5082 does not return response with ok status5083 behaves like authenticates sessionless user for the request spec5084 issues_calendar ics5085 when the 'private_token' param is populated with the personal access token5086 when valid token5087 when resource is private5088 authenticates user and returns response with ok status5089 when user with expired password5090 does not return response with ok status5091 when password expiration is not applicable5092 when ldap user5093 authenticates user and returns response with ok status5094 when the personal access token has no api scope5095 when resource is private5096 does not return response with ok status5097 when invalid token5098 when resource is private5099 does not return response with ok status5100 when the 'PRIVATE-TOKEN' header is populated with the personal access token5101 when valid token5102 when resource is private5103 authenticates user and returns response with ok status5104 when user with expired password5105 does not return response with ok status5106 when password expiration is not applicable5107 when ldap user5108 authenticates user and returns response with ok status5109 when the personal access token has no api scope5110 when resource is private5111 does not return response with ok status5112 when invalid token5113 when resource is private5114 does not return response with ok status5115 when the 'feed_token' param is populated with the feed token5116 when valid token5117 when resource is private5118 authenticates user and returns response with ok status5119 when user with expired password5120 does not return response with ok status5121 when password expiration is not applicable5122 when ldap user5123 authenticates user and returns response with ok status5124 when invalid token5125 when resource is private5126 does not return response with ok status5127GitlabSchema configurations5128 depth, complexity and recursion checking5129 unauthenticated recursive queries5130 a not-quite-recursive-enough introspective query5131 succeeds5132 failing queries5133 a recursive introspective query5134 fails due to recursion5135 a recursive non-introspective query5136 using `nodes` notation5137 behaves like fails due to recursion, complexity and depth5138 fails due to recursion, complexity and depth5139 using `edges -> node` notation5140 behaves like fails due to recursion, complexity and depth5141 fails due to recursion, complexity and depth5142 regular queries5143 behaves like imposing query limits5144 timeouts5145 when timeout is reached5146 shows an error5147 #max_complexity5148 when complexity is too high5149 shows an error5150 #max_depth5151 when query depth is too high5152 shows error5153 when query depth is within range5154 has no error5155 multiplexed queries5156 does not authenticate all queries5157 behaves like imposing query limits5158 timeouts5159 when timeout is reached5160 shows an error5161 #max_complexity5162 when complexity is too high5163 shows an error5164 #max_depth5165 when query depth is too high5166 shows error5167 when query depth is within range5168 has no error5169 behaves like query is too complex5170 fails all queries when only one of the queries is too complex5171 behaves like query is too complex5172 fails when all queries combined are too complex5173 authentication5174 authenticates all queries5175 when IntrospectionQuery5176 is not too complex nor recursive5177 logging5178 logs the query complexity and depth5179 logs using `format_message`5180 global id's5181 uses GlobalID to expose ids5182 removal of deprecated items5183 without `remove_deprecated` param5184 shows deprecated items5185 with `remove_deprecated` param5186 hides deprecated field5187 hides deprecated enum value5188 hides deprecated argument5189Projects::StarrersController5190 GET index5191 N+1 queries5192 avoids N+1s loading users5193 when project is public5194 when no user is logged in5195 with no searching5196 only users with public profiles are visible5197 non-active users are not visible5198 starrers counts are correct5199 when searching by user5200 only users with public profiles are visible5201 starrers counts are correct5202 when public user is logged in5203 with no searching5204 their star is also visible5205 starrers counts are correct5206 when searching by user5207 only users with public profiles are visible5208 starrers counts are correct5209 when private user is logged in5210 with no searching5211 their star is also visible5212 starrers counts are correct5213 when searching by user5214 only users with public profiles are visible5215 starrers counts are correct5216 when admin is logged in5217 with no searching5218 all users are visible5219 starrers counts are correct5220 when searching by user5221 public and private starrers are visible5222 starrers counts are correct5223 when project is private5224 starrers are not visible for non logged in users5225 when user is logged in5226 only users with public profiles are visible5227 starrers counts are correct5228getting a package list for a project5229 behaves like group and project packages query5230 when user has access to the resource5231 returns packages successfully5232 deals with metadata5233 returns the count of the packages5234 behaves like a working graphql query that returns data5235 contains data5236 behaves like a working graphql query5237 returns a successful response5238 _links5239 does not contain the web path of errored package5240 when the user does not have access to the resource5241 behaves like a working graphql query that returns no data5242 contains no data5243 behaves like a working graphql query5244 returns a successful response5245 when the user is not authenticated5246 behaves like a working graphql query that returns no data5247 contains no data5248 behaves like a working graphql query5249 returns a successful response5250 sorting and pagination5251 CREATED_ASC5252 behaves like sorted paginated query5253 behaves like requires variables5254 shared example requires variables to be set5256 when sorting5257 sorts correctly5258 when paginating5259 paginates correctly5260 NAME_ASC5261 behaves like sorted paginated query5262 behaves like requires variables5263 shared example requires variables to be set5265 when sorting5266 sorts correctly5267 when paginating5268 paginates correctly5269 VERSION_ASC5270 behaves like sorted paginated query5271 behaves like requires variables5272 shared example requires variables to be set5274 when sorting5275 sorts correctly5276 when paginating5277 paginates correctly5278 TYPE_ASC5279 behaves like sorted paginated query5280 behaves like requires variables5281 shared example requires variables to be set5283 when sorting5284 sorts correctly5285 when paginating5286 paginates correctly5287 CREATED_DESC5288 behaves like sorted paginated query5289 behaves like requires variables5290 shared example requires variables to be set5292 when sorting5293 sorts correctly5294 when paginating5295 paginates correctly5296 NAME_DESC5297 behaves like sorted paginated query5298 behaves like requires variables5299 shared example requires variables to be set5301 when sorting5302 sorts correctly5303 when paginating5304 paginates correctly5305 VERSION_DESC5306 behaves like sorted paginated query5307 behaves like requires variables5308 shared example requires variables to be set5310 when sorting5311 sorts correctly5312 when paginating5313 paginates correctly5314 TYPE_DESC5315 behaves like sorted paginated query5316 behaves like requires variables5317 shared example requires variables to be set5319 when sorting5320 sorts correctly5321 when paginating5322 paginates correctly5323 with an invalid sort5324 throws an error5325 filtering5326 package_name5327 is expected to contain exactly {"name"=>"bab"}5328 package_type5329 is expected to contain exactly {"name"=>"dab"}5330 status5331 is expected to contain exactly {"name"=>"my/company/app/my-app"}5332 include_versionless5333 is expected to include {"name" => "my/company/app/my-app"}5334 when reading pipelines5335 loads the second page with pagination first correctly5336 loads the second page with pagination last correctly5337Projects::TemplatesController5338 #index5339 when querying for issue templates5340 behaves like templates request5341 returns the templates5342 fails for user with no access5343 when querying for merge_request templates5344 behaves like templates request5345 returns the templates5346 fails for user with no access5347 #show5348 when the user is not a member of the project5349 is expected to respond with numeric status code not_found5350 is expected to respond with numeric status code not_found5351 when user is a member of the project5352 is expected to match {"key"=>"issue_template_2", "name"=>"issue_template_2", "content"=>"issue content 2"}5353 is expected to match {"key"=>"merge_request_template_2", "name"=>"merge_request_template_2", "content"=>"merge request content 2"}5354 when params are invalid5355 does not route when the template type is invalid5356 renders 404 when the format type is invalid5357 renders 404 when the key is unknown5358 when user is a guest of the project5359 is expected to match {"key"=>"issue_template_2", "name"=>"issue_template_2", "content"=>"issue content 2"}5360 is expected to respond with numeric status code not_found5361 #names5362 when querying for issue templates5363 behaves like template names request5364 returns the template names5365 fails for user with no access5366 when querying for merge_request templates5367 behaves like template names request5368 returns the template names5369 fails for user with no access5370getting user information5371 no parameters are provided5372 mentions the missing required parameters5373 looking up a user by username5374 the user is an active user5375 can access user profile fields5376 behaves like a working graphql query5377 returns a successful response5378 assignedMergeRequests5379 can be found5380 behaves like a working graphql query5381 returns a successful response5382 applying filters5383 filtering by IID without specifying a project5384 return an argument error that mentions the missing fields5385 filtering by project path and IID5386 selects the correct MRs5387 filtering by project path5388 selects the correct MRs5389 filtering by author5390 finds the authored mrs5391 filtering by reviewer5392 finds the assigned mrs5393 the current user does not have access5394 cannot be found5395 reviewRequestedMergeRequests5396 can be found5397 behaves like a working graphql query5398 returns a successful response5399 applying filters5400 filtering by IID without specifying a project5401 return an argument error that mentions the missing fields5402 filtering by project path and IID5403 selects the correct MRs5404 filtering by project path5405 selects the correct MRs5406 filtering by author5407 finds the authored mrs5408 filtering by assignee5409 finds the authored mrs5410 the current user does not have access5411 cannot be found5412 authoredMergeRequests5413 can be found5414 behaves like a working graphql query5415 returns a successful response5416 applying filters5417 filtering by IID without specifying a project5418 return an argument error that mentions the missing fields5419 filtering by assignee5420 finds the assigned mrs5421 filtering by reviewer5422 finds the assigned mrs5423 filtering by project path and IID5424 selects the correct MRs5425 filtering by project path5426 selects the correct MRs5427 the current user does not have access5428 cannot be found5429 the user is private5430 we only request basic fields5431 behaves like a working graphql query5432 returns a successful response5433 we request the groupMemberships5434 cannot be found5435 behaves like a working graphql query5436 returns a successful response5437 the current user is the user5438 can be found5439 we request the projectMemberships5440 cannot be found5441 behaves like a working graphql query5442 returns a successful response5443 the current user is the user5444 can be found5445 we request the authoredMergeRequests5446 cannot be found5447 behaves like a working graphql query5448 returns a successful response5449 the current user is the user5450 can be found5451 we request the assignedMergeRequests5452 cannot be found5453 behaves like a working graphql query5454 returns a successful response5455 the current user is the user5456 can be found5457 the user is project bot5458 we only request basic fields5459 behaves like a working graphql query5460 returns a successful response5461 authored merge requests5462 returns merge requests for the current user for the specified group5463Import::BitbucketController5464 GET callback5465 when auth state param is invalid5466 redirects to external auth url5467 when auth state param is valid5468 updates access token5469 passes namespace_id query param to status if provided5470 GET status5471 when token does not exist5472 redirects to authorize url with state included5473 when token is valid5474 returns invalid repos5475 behaves like import controller status5476 returns variables for json request5477 when format is html5478 when namespace_id is present5479 when user cannot import projects5480 returns 4045481 when user can import projects5482 returns 2005483 when filtering5484 passes sanitized filter param to bitbucket client5485 POST create5486 returns 200 response when the project is imported successfully5487 returns 422 response when the project could not be imported5488 behaves like project import rate limiter5489 when limit exceeds5490 notifies and redirects user5491 when the repository owner is the Bitbucket user5492 when the Bitbucket user and GitLab user's usernames match5493 takes the current user's namespace5494 when the Bitbucket user and GitLab user's usernames don't match5495 takes the current user's namespace5496 when the Bitbucket user is unauthorized5497 returns unauthorized5498 when the repository owner is not the Bitbucket user5499 when a namespace with the Bitbucket user's username already exists5500 when the namespace is owned by the GitLab user5501 takes the existing namespace5502 when the namespace is not owned by the GitLab user5503 doesn't create a project5504 when a namespace with the Bitbucket user's username doesn't exist5505 when current user can create namespaces5506 creates the namespace5507 takes the new namespace5508 when current user can't create namespaces5509 doesn't create the namespace5510 takes the current user's namespace5511 when exceptions occur5512 for OAuth2 errors5513 behaves like handles exceptions5514 logs an exception5515 for Bitbucket errors5516 behaves like handles exceptions5517 logs an exception5518 user has chosen an existing nested namespace and name for the project5519 takes the selected namespace and name5520 user has chosen a non-existent nested namespaces and name for the project5521 takes the selected namespace and name5522 creates the namespaces5523 new namespace has the right parent5524 user has chosen existent and non-existent nested namespaces and name for the project5525 takes the selected namespace and name5526 creates the namespaces5527 when user can not create projects in the chosen namespace5528 returns 422 response5529 when user can not import projects5530 returns 422 response5531API::ResourceLabelEvents5532 when eventable is an Issue5533 behaves like resource_label_events API5534 GET /projects/:id/issues/:noteable_id/resource_label_events5535 with local label reference5536 returns an array of resource label events5537 returns a 404 error when eventable id not found5538 returns 404 when not authorized5539 with cross-project label reference5540 returns cross references accessible by user5541 does not return cross references not accessible by user5542 GET /projects/:id/issues/:noteable_id/resource_label_events/:event_id5543 with local label reference5544 returns a resource label event by id5545 returns 404 when not authorized5546 returns a 404 error if resource label event not found5547 with cross-project label reference5548 returns a 404 error if cross-reference project is not accessible5549 pagination5550 returns the second page5551 when eventable is a Merge Request5552 behaves like resource_label_events API5553 GET /projects/:id/merge_requests/:noteable_id/resource_label_events5554 with local label reference5555 returns an array of resource label events5556 returns a 404 error when eventable id not found5557 returns 404 when not authorized5558 with cross-project label reference5559 returns cross references accessible by user5560 does not return cross references not accessible by user5561 GET /projects/:id/merge_requests/:noteable_id/resource_label_events/:event_id5562 with local label reference5563 returns a resource label event by id5564 returns 404 when not authorized5565 returns a 404 error if resource label event not found5566 with cross-project label reference5567 returns a 404 error if cross-reference project is not accessible5568 pagination5569 returns the second page5570Groups::LabelsController5571 GET #index5572 returns group and project labels by default5573 with ancestor group5574 returns ancestor group labels5575 external authorization5576 behaves like disabled when using an external authorization service5577 works when the feature is not enabled5578 renders a 404 with a message when the feature is enabled5579 with views rendered5580 avoids N+1 queries5581 GET #edit5582 shows the edit page5583 behaves like when current_user does not have ability to modify the label5584 responds with status 4045585 when trying to edit a parent group label from inside a subgroup5586 responds with status 4045587 POST #toggle_subscription5588 allows user to toggle subscription on group labels5589 DELETE #destroy5590 when current user has ability to destroy the label5591 removes the label5592 does not remove the label if it is locked5593 when label is succesfuly destroyed5594 redirects to the group labels page5595 behaves like when current_user does not have ability to modify the label5596 responds with status 4045597 when trying to edit a parent group label from inside a subgroup5598 responds with status 4045599 PUT #update5600 behaves like when current_user does not have ability to modify the label5601 responds with status 4045602 when trying to edit a parent group label from inside a subgroup5603 responds with status 4045604 when updating lock_on_merge5605 when feature flag is disabled5606 does not allow setting lock_on_merge5607 when feature flag for group is enabled5608 behaves like allows setting lock_on_merge5609 is expected to be truthy5610 when feature flag for ancestor group is enabled5611 behaves like allows setting lock_on_merge5612 is expected to be truthy5613API::MergeRequestApprovals5614 GET :id/merge_requests/:merge_request_iid/approvals5615 retrieves the approval status5616 when merge request author has only guest access5617 behaves like rejects user from accessing merge request info5618 returns a 403 error5619 POST :id/merge_requests/:merge_request_iid/approve5620 as a valid approver5621 when the sha param is not set5622 approves the merge request5623 when the sha param is correct5624 approves the merge request5625 when the sha param is incorrect5626 does not approve the merge request5627 POST :id/merge_requests/:merge_request_iid/unapprove5628 as a user who has approved the merge request5629 unapproves the merge request5630 calls MergeRequests::UpdateReviewerStateService5631 PUT :id/merge_requests/:merge_request_iid/reset_approvals5632 for a bot user5633 clears approvals of the merge_request5634 when bot user approved the merge request5635 clears approvals of the merge_request5636 for users with non-bot roles5637 returns 4015638 returns 4015639 returns 4015640 returns 4015641 for bot-users from external namespaces5642 for external group bot-user5643 returns 4015644 for external project bot-user5645 returns 4015646Emails::PagesDomains5647 #pages_domain_enabled_email5648 is expected to have body including "has been enabled"5649 behaves like a pages domain verification email5650 has the expected content5651 behaves like a pages domain email5652 has the expected content5653 behaves like an email sent to a user5654 is sent to user's global notification email address5655 with group notification email5656 is sent to user's group notification email5657 behaves like an email sent from GitLab5658 has the characteristics of an email sent from GitLab5659 behaves like it should not have Gmail Actions links5660 is expected not to have body including "ViewAction"5661 behaves like a user cannot unsubscribe through footer link5662 does not have a List-Unsubscribe header or a body link5663 #pages_domain_disabled_email5664 is expected to have body including "has been disabled"5665 behaves like a pages domain verification email5666 has the expected content5667 behaves like a pages domain email5668 has the expected content5669 behaves like an email sent to a user5670 is sent to user's global notification email address5671 with group notification email5672 is sent to user's group notification email5673 behaves like an email sent from GitLab5674 has the characteristics of an email sent from GitLab5675 behaves like it should not have Gmail Actions links5676 is expected not to have body including "ViewAction"5677 behaves like a user cannot unsubscribe through footer link5678 does not have a List-Unsubscribe header or a body link5679 behaves like notification about upcoming domain removal5680 when domain is not scheduled for removal5681 asks user to remove it5682 when domain is scheduled for removal5683 notifies user that domain will be removed automatically5684 #pages_domain_verification_succeeded_email5685 is expected to have body including "successfully verified"5686 behaves like a pages domain verification email5687 has the expected content5688 behaves like a pages domain email5689 has the expected content5690 behaves like an email sent to a user5691 is sent to user's global notification email address5692 with group notification email5693 is sent to user's group notification email5694 behaves like an email sent from GitLab5695 has the characteristics of an email sent from GitLab5696 behaves like it should not have Gmail Actions links5697 is expected not to have body including "ViewAction"5698 behaves like a user cannot unsubscribe through footer link5699 does not have a List-Unsubscribe header or a body link5700 #pages_domain_verification_failed_email5701 behaves like a pages domain email5702 has the expected content5703 behaves like an email sent to a user5704 is sent to user's global notification email address5705 with group notification email5706 is sent to user's group notification email5707 behaves like an email sent from GitLab5708 has the characteristics of an email sent from GitLab5709 behaves like it should not have Gmail Actions links5710 is expected not to have body including "ViewAction"5711 behaves like a user cannot unsubscribe through footer link5712 does not have a List-Unsubscribe header or a body link5713 behaves like notification about upcoming domain removal5714 when domain is not scheduled for removal5715 asks user to remove it5716 when domain is scheduled for removal5717 notifies user that domain will be removed automatically5718 #pages_domain_auto_ssl_failed_email5719 says that we failed to obtain certificate5720 behaves like a pages domain email5721 has the expected content5722 behaves like an email sent to a user5723 is sent to user's global notification email address5724 with group notification email5725 is sent to user's group notification email5726 behaves like an email sent from GitLab5727 has the characteristics of an email sent from GitLab5728 behaves like it should not have Gmail Actions links5729 is expected not to have body including "ViewAction"5730 behaves like a user cannot unsubscribe through footer link5731 does not have a List-Unsubscribe header or a body link5732Import::BulkImportsController5733 when user is signed in5734 when bulk_import feature flag is enabled5735 POST configure5736 sets the session variables5737 strips access token with spaces5738 passes namespace_id to status5739 when no params are passed in5740 clears out existing session5741 when URL is invalid5742 redirects to initial import page5743 when token scope is invalid5744 redirects to initial import page5745 when instance version is incompatible5746 redirects to initial import page5747 GET status5748 serialized group data5749 returns serialized group data5750 forwards pagination headers5751 when filtering5752 returns filtered result5753 when host url is local or not http5754 denies network request5755 denies network request5756 denies network request5757 when local requests are allowed5759 allows network request5760 with http://192.168.0.15761 allows network request5762 when namespace_id is provided5763 renders 404 if user does not have access to namespace5764 passes namespace to template5765 when connection error occurs5766 returns 4225767 clears session5768 GET details5769 when bulk_import_details_page feature flag is enabled5770 responds with a 200 and shows the template5771 when bulk_import_details_page feature flag is disabled5772 responds with a 4045773 GET realtime_changes5774 returns bulk imports created by current user5775 sets a Poll-Interval header5776 POST create5777 executes BulkImports::CreateService5778 when entity destination_name is specified5779 replaces destination_name with destination_slug and executes BulkImports::CreateService5780 when source type is project5781 returns 4225782 when request exceeds rate limits5783 prevents user from starting a new migration5784 when feature is disabled5785 POST configure5786 returns 4045787 GET status5788 returns 4045789 when user is signed out5790 POST configure5791 redirects to sign in page5792 GET status5793 redirects to sign in page5794Projects::Releases::EvidencesController5795 GET #show5796 when the user is a developer5797 returns the correct evidence summary as a json5798 when the release was created before evidence existed5799 behaves like not found5800 renders 4045801 when the user is a guest for the project5802 when the project is private5803 behaves like not found5804 renders 4045805 when the project is public5806 behaves like successful request5807 renders a 2005808 when release is associated to a milestone which includes an issue5809 when user is non-project member5810 behaves like does not show the issue in evidence5811 is expected to eq true5812 when project is private5813 behaves like evidence not found5814 is expected to respond with numeric status code not_found5815 when project restricts the visibility of issues to project members only5816 behaves like evidence not found5817 is expected to respond with numeric status code not_found5818 when user is auditor5819 behaves like does not show the issue in evidence5820 is expected to eq true5821 when project is private5822 behaves like does not show the issue in evidence5823 is expected to eq true5824 when project restricts the visibility of issues to project members only5825 behaves like does not show the issue in evidence5826 is expected to eq true5827 when external authorization control is enabled5828 behaves like evidence not found5829 is expected to respond with numeric status code not_found5830getting container repositories in a group5831 returns the total count of container repositories5832 behaves like a working graphql query5833 returns a successful response5834 with different permissions5835 group_visibility: :private, role: :maintainer, access_granted: true, can_delete: true5836 return the proper response5837 group_visibility: :private, role: :developer, access_granted: true, can_delete: true5838 return the proper response5839 group_visibility: :private, role: :reporter, access_granted: true, can_delete: false5840 return the proper response5841 group_visibility: :private, role: :guest, access_granted: false, can_delete: false5842 return the proper response5843 group_visibility: :private, role: :anonymous, access_granted: false, can_delete: false5844 return the proper response5845 group_visibility: :public, role: :maintainer, access_granted: true, can_delete: true5846 return the proper response5847 group_visibility: :public, role: :developer, access_granted: true, can_delete: true5848 return the proper response5849 group_visibility: :public, role: :reporter, access_granted: true, can_delete: false5850 return the proper response5851 group_visibility: :public, role: :guest, access_granted: false, can_delete: false5852 return the proper response5853 group_visibility: :public, role: :anonymous, access_granted: false, can_delete: false5854 return the proper response5855 limiting the number of repositories5856 only returns N repositories5857 filter by name5858 returns the searched container repository5859 behaves like handling graphql network errors with the container registry5860 returns a connection error5861 behaves like not hitting graphql network errors with the container registry5862 does not return any error5863API::GroupVariables5864 GET /groups/:id/variables5865 authorized user with proper permissions5866 returns group variables5867 authorized user with invalid permissions5868 does not return group variables5869 unauthorized user5870 does not return group variables5871 GET /groups/:id/variables/:key5872 authorized user with proper permissions5873 returns group variable details5874 responds with 404 Not Found if requesting non-existing variable5875 authorized user with invalid permissions5876 does not return group variable details5877 unauthorized user5878 does not return group variable details5879 POST /groups/:id/variables5880 authorized user with proper permissions5881 when the group is below the plan limit for variables5882 creates variable5883 masks the new value when logging5884 creates variable with optional attributes5885 does not allow to duplicate variable key5886 when the group is at the plan limit for variables5887 returns a variable limit error5888 authorized user with invalid permissions5889 does not create variable5890 unauthorized user5891 does not create variable5892 PUT /groups/:id/variables/:key5893 authorized user with proper permissions5894 updates variable data5895 masks the new value when logging5896 responds with 404 Not Found if requesting non-existing variable5897 responds with 400 if the update fails5898 authorized user with invalid permissions5899 does not update variable5900 unauthorized user5901 does not update variable5902 DELETE /groups/:id/variables/:key5903 authorized user with proper permissions5904 deletes variable5905 responds with 404 Not Found if requesting non-existing variable5906 behaves like 412 response5907 for a modified resource5908 returns 412 with a JSON error5909 for an unmodified resource5910 returns 204 with an empty body5911 authorized user with invalid permissions5912 does not delete variable5913 unauthorized user5914 does not delete variable5915getting notes for an issue5916 behaves like exposing regular notes on a noteable in GraphQL5917 for regular notes5918 includes all notes5919 avoids N+1 queries5920 behaves like a working graphql query5921 returns a successful response5922 when filter is provided5923 when filter is set to ALL_NOTES5924 returns all the notes5925 when filter is set to ONLY_COMMENTS5926 returns only the comments5927 when filter is set to ONLY_ACTIVITY5928 returns only the activity notes5929 for discussions5930 includes all discussion notes5931 behaves like a working graphql query5932 returns a successful response5933Projects::Alerting::NotificationsController5934 POST #create5935 with generic alert payload5936 behaves like process alert payload5937 when notification service succeeds5938 responds with the alert data5939 does not pass excluded parameters to the notify service5940 when notification service fails5941 responds with the service response5942 with bearer token5943 when set5944 behaves like a working token5945 extracts token5946 with a corresponding project_alerting_setting5947 and a migrated or synced HTTP integration5948 extracts and finds the integration5949 and no migrated or synced HTTP integration5950 does not find an integration5951 with a corresponding integration5952 with integration parameters specified5953 the integration is active5954 extracts and finds the integration5955 when the integration is inactive5956 does not find an integration5957 without integration parameters specified5958 extracts and finds the legacy integration5959 with basic auth token5960 behaves like a working token5961 extracts token5962 with a corresponding project_alerting_setting5963 and a migrated or synced HTTP integration5964 extracts and finds the integration5965 and no migrated or synced HTTP integration5966 does not find an integration5967 with a corresponding integration5968 with integration parameters specified5969 the integration is active5970 extracts and finds the integration5971 when the integration is inactive5972 does not find an integration5973 without integration parameters specified5974 extracts and finds the legacy integration5975 when inextractable token5976 passes nil for a non-bearer token5977 when missing token5978 passes nil5979 with Prometheus alert payload5980 behaves like process alert payload5981 when notification service succeeds5982 responds with the alert data5983 does not pass excluded parameters to the notify service5984 when notification service fails5985 responds with the service response5986 with bearer token5987 when set5988 behaves like a working token5989 extracts token5990 with a corresponding project_alerting_setting5991 and a migrated or synced HTTP integration5992 extracts and finds the integration5993 and no migrated or synced HTTP integration5994 does not find an integration5995 with a corresponding integration5996 with integration parameters specified5997 the integration is active5998 extracts and finds the integration5999 when the integration is inactive6000 does not find an integration6001 without integration parameters specified6002 extracts and finds the legacy integration6003 with basic auth token6004 behaves like a working token6005 extracts token6006 with a corresponding project_alerting_setting6007 and a migrated or synced HTTP integration6008 extracts and finds the integration6009 and no migrated or synced HTTP integration6010 does not find an integration6011 with a corresponding integration6012 with integration parameters specified6013 the integration is active6014 extracts and finds the integration6015 when the integration is inactive6016 does not find an integration6017 without integration parameters specified6018 extracts and finds the legacy integration6019 when inextractable token6020 passes nil for a non-bearer token6021 when missing token6022 passes nil6023pypi package details6024 has the correct metadata6025 behaves like a package detail6026 behaves like a working graphql query6027 returns a successful response6028 behaves like matching the package details schema6029 matches the JSON schema6030 with pipelines6031 behaves like a working graphql query6032 returns a successful response6033 behaves like matching the package details schema6034 matches the JSON schema6035 behaves like a package with files6036 has the right amount of files6037 has the basic package files data6038 with package files pending destruction6039 does not return them6040Projects::BlameController6041 GET show6042 behaves like blame_response6043 valid branch, valid file6044 is expected to respond with 2006045 valid branch, invalid file6046 redirects6047 valid branch, binary file6048 redirects6049 invalid branch, valid file6050 is expected to respond with 4046051 GET page6052 behaves like blame_response6053 valid branch, valid file6054 is expected to respond with 2006055 valid branch, invalid file6056 redirects6057 valid branch, binary file6058 redirects6059 invalid branch, valid file6060 is expected to respond with 4046061 GET streaming6062 behaves like blame_response6063 valid branch, valid file6064 is expected to respond with 2006065 valid branch, invalid file6066 redirects6067 valid branch, binary file6068 redirects6069 invalid branch, valid file6070 is expected to respond with 4046071Import::FogbugzController6072 POST #callback6073 attempts to contact Fogbugz server6074 preserves namespace_id query param on success6075 redirects to new page maintaining namespace_id when client raises standard error6076 redirects to new page form when client raises authentication exception6077 verify url6078 when host is localhost6079 does not allow requests6080 when host is on local network6081 does not allow requests6082 when host is ftp protocol6083 does not allow requests6084 POST #create_user_map6085 stores the user map in the session6086 preserves namespace_id query param6087 GET status6088 redirects to new page form when client is invalid6089 behaves like import controller status6090 returns variables for json request6091 when format is html6092 when namespace_id is present6093 when user cannot import projects6094 returns 4046095 when user can import projects6096 returns 2006097 POST create6098 returns the new project6099 returns an error when service reports an error6100 behaves like project import rate limiter6101 when limit exceeds6102 notifies and redirects user6103Work Items6104 GET /:namespace/:project/work_items/:id6105 renders show6106 POST /:namespace/:project/work_items/import_csv6107 with public project6108 behaves like handles authorisation6109 when unauthorized6110 with non-member6111 responds with error6112 with anonymous user6113 responds with error6114 when authorized6115 when import/export work items feature is available and member is a reporter6116 shows error when upload fails6117 behaves like response with success status6118 returns 200 status and success message6119 behaves like safely handles uploaded files6120 ensures the upload is handled safely6121 when file extension is not csv6122 returns error message6123 when work items import/export feature is not available6124 behaves like response with 404 status6125 returns 4046126 with private project6127 behaves like handles authorisation6128 when unauthorized6129 with non-member6130 responds with error6131 with anonymous user6132 responds with error6133 when authorized6134 when import/export work items feature is available and member is a reporter6135 shows error when upload fails6136 behaves like response with success status6137 returns 200 status and success message6138 behaves like safely handles uploaded files6139 ensures the upload is handled safely6140 when file extension is not csv6141 returns error message6142 when work items import/export feature is not available6143 behaves like response with 404 status6144 returns 4046145 POST #authorize6146 with authorized user6147 when work items import/export feature is enabled6148 behaves like handle uploads authorize request6149 POST authorize6150 authorizes workhorse header6151 rejects requests that bypassed gitlab-workhorse6152 when using remote storage6153 when direct upload is enabled6154 responds with status 200, location of file remote store and object details6155 when direct upload is disabled6156 handles as a local file6157 when work items import/export feature is disabled6158 behaves like response with 404 status6159 returns 4046160 with unauthorized user6161 behaves like response with 404 status6162 returns 4046163API::Ci::Runner6164 /api/v4/runners6165 POST /api/v4/runners6166 behaves like runner migrations backoff6167 when executing locking database migrations6168 returns 429 error6169 with runner_migrations_backoff disabled6170 does not return 4296171 when no token is provided6172 returns 400 error6173 when invalid token is provided6174 returns 403 error6175 when valid parameters are provided6176 when token_expires_at is nil6177 creates runner6178 when token_expires_at is a valid date6179 creates runner6180 behaves like storing arguments in the application context for the API6181 places the expected params in the application context6182 behaves like not executing any extra queries for the application context6183 does not execute more queries than without adding anything to the application context6184 when deprecated maintainer_note field is provided6185 converts to maintenance_note param6186 when deprecated active parameter is provided6187 uses active value in registration6188 calling actual register service6189 sets the runner's ip_address6190 when info parameter 'name' info is present6191 updates provided Runner's parameter6192 when info parameter 'version' info is present6193 updates provided Runner's parameter6194 when info parameter 'revision' info is present6195 updates provided Runner's parameter6196 when info parameter 'platform' info is present6197 updates provided Runner's parameter6198 when info parameter 'architecture' info is present6199 updates provided Runner's parameter6200 when tags parameter is provided6201 with number of tags above limit6202 uses tag_list value in registration and returns error6203 with number of tags below limit6204 uses tag_list value in registration and successfully creates runner6205 when runner registration is disallowed6206 returns 410 Gone status6207Projects::RunnersController6208 #register6209 when user is maintainer6210 when runner can be registered after creation6211 renders a :register template6212 when runner cannot be registered after creation6213 returns :not_found6214 when user is not maintainer6215 when runner can be registered after creation6216 returns :not_found6217 #pause6218 marks the runner as inactive and ticks the queue6219 #destroy6220 destroys the runner6221 #resume6222 marks the runner as active and ticks the queue6223 #update6224 updates the runner and ticks the queue6225 #new6226 when user is maintainer6227 renders new with 200 status code6228 when user is not maintainer6229 renders a 4046230 #toggle_shared_runners6231 toggles shared_runners_enabled when the group allows shared runners6232 toggles shared_runners_enabled when the group disallows shared runners but allows overrides6233 does not enable if the group disallows shared runners6234getting group members information6235 when a member is invited only via email6236 returns null in the user field6237 when the request is correct6238 returns group members successfully6239 behaves like a working graphql query6240 returns a successful response6241 search argument6242 returns members that match the search query6243 when paginating6244 returns correct results6245 when requesting member's notification email6246 when current_user is admin6247 returns notification email6248 when current_user is not admin6249 returns an error6250 by access levels6251 by owner6252 returns owner6253 by maintainer6254 returns maintainer6255 by owner and maintainer6256 returns owner and maintainer6257 member relations6258 returns direct members6259 returns invited members and inherited members of a shared group6260 returns invited members and inherited members of an ancestor of a shared group6261 returns direct and inherited members6262 returns direct, inherited, and descendant members6263 returns an error for an invalid member relation6264 when unauthenticated6265 returns visible members6266Recursive webhook detection6267 when the request headers include the recursive webhook detection header6268 executes all webhooks, logs no errors, and the webhook requests contain the same UUID header6269 when one of the webhooks is recursive6270 blocks and logs an error for the recursive webhook, but execute the non-recursive webhook6271 when the count limit has been reached6272 blocks and logs errors for all hooks6273 when the recursive webhook detection header is absent6274 executes all webhooks, logs no errors, and the webhook requests contain different UUID headers6275 uses new UUID values between requests6276API::SidekiqMetrics6277 GET sidekiq/*6278 defines the `queue_metrics` endpoint6279 defines the `process_metrics` endpoint6280 defines the `job_stats` endpoint6281 defines the `compound_metrics` endpoint6282 behaves like GET request permissions for admin mode6283 behaves like when admin6284 behaves like makes request6285 returns6286 behaves like makes request6287 returns6288 behaves like when user6289 returns6290 behaves like makes request6291 returns6292 behaves like GET request permissions for admin mode6293 behaves like when admin6294 behaves like makes request6295 returns6296 behaves like makes request6297 returns6298 behaves like when user6299 returns6300 behaves like makes request6301 returns6302 behaves like GET request permissions for admin mode6303 behaves like when admin6304 behaves like makes request6305 returns6306 behaves like makes request6307 returns6308 behaves like when user6309 returns6310 behaves like makes request6311 returns6312 behaves like GET request permissions for admin mode6313 behaves like when admin6314 behaves like makes request6315 returns6316 behaves like makes request6317 returns6318 behaves like when user6319 returns6320 behaves like makes request6321 returns6322Updating the packages cleanup policy6323 post graphql mutation6324 with existing packages cleanup policy6325 user_role: :maintainer, shared_examples_name: "accepting the mutation request and updates the existing policy"6326 behaves like accepting the mutation request and updates the existing policy6327 returns the updated packages cleanup policy6328 user_role: :developer, shared_examples_name: "denying the mutation request"6329 behaves like denying the mutation request6330 returns an error6331 user_role: :reporter, shared_examples_name: "denying the mutation request"6332 behaves like denying the mutation request6333 returns an error6334 user_role: :guest, shared_examples_name: "denying the mutation request"6335 behaves like denying the mutation request6336 returns an error6337 user_role: :anonymous, shared_examples_name: "denying the mutation request"6338 behaves like denying the mutation request6339 returns an error6340 without existing packages cleanup policy6341 user_role: :maintainer, shared_examples_name: "accepting the mutation request and creates a policy"6342 behaves like accepting the mutation request and creates a policy6343 returns the created packages cleanup policy6344 user_role: :developer, shared_examples_name: "denying the mutation request"6345 behaves like denying the mutation request6346 returns an error6347 user_role: :reporter, shared_examples_name: "denying the mutation request"6348 behaves like denying the mutation request6349 returns an error6350 user_role: :guest, shared_examples_name: "denying the mutation request"6351 behaves like denying the mutation request6352 returns an error6353 user_role: :anonymous, shared_examples_name: "denying the mutation request"6354 behaves like denying the mutation request6355 returns an error6356Query.project(fullPath).pipelines.job(id)6357 scalar fields6358 retrieves scalar fields6359 when fetching by name6360 retrieves scalar fields6361 .detailedStatus6362 retrieves detailed status6363 .stage6364 returns appropriate data6365API::NotificationSettings6366 GET /notification_settings6367 returns global notification settings for the current user6368 PUT /notification_settings6369 updates global notification settings for the current user6370 PUT /notification_settings6371 fails on non-user email address6372 GET /groups/:id/notification_settings6373 returns group level notification settings for the current user6374 PUT /groups/:id/notification_settings6375 updates group level notification settings for the current user6376 GET /projects/:id/notification_settings6377 returns project level notification settings for the current user6378 PUT /projects/:id/notification_settings6379 updates project level notification settings for the current user6380 PUT /projects/:id/notification_settings6381 fails on invalid level6382Projects::Pipelines::StagesController6383 POST #play_manual.json6384 when user does not have access6385 returns not authorized6386 when user has access6387 when the stage does not exists6388 fails to play all manual6389 when the stage exists6390 starts all manual jobs6391API::Ml::Mlflow::ModelVersions6392 GET /projects/:id/ml/mlflow/api/2.0/mlflow/model-versions/get6393 returns the model version6394 Error States6395 when has access6396 and model name in incorrect6397 behaves like MLflow|Not Found - Resource Does Not Exist6398 is Resource Does Not Exist6399 and version in incorrect6400 behaves like MLflow|Not Found - Resource Does Not Exist6401 is Resource Does Not Exist6402 when user lacks read_model_registry rights6403 is Not Found6404 behaves like MLflow|shared model registry error cases6405 when not authenticated6406 is Unauthorized6407 when user does not have access6408 is Not Found6409 behaves like MLflow|Requires read_api scope6410 when user has access but token has wrong scope6411 is expected to respond with numeric status code forbidden6412 UPDATE /projects/:id/ml/mlflow/api/2.0/mlflow/model-versions/update6413 returns the model version6414 Error States6415 when has access6416 and model name in incorrect6417 throws error 4006418 and version in incorrect6419 throws error 4006420 when user lacks write_model_registry rights6421 is Not Found6422 behaves like MLflow|shared model registry error cases6423 when not authenticated6424 is Unauthorized6425 when user does not have access6426 is Not Found6427ProjectMemberBulkUpdate6428 behaves like members bulk update mutation6429 when user is not logged-in6430 behaves like a mutation that returns a top-level access error6431 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"6432 when user is not an owner6433 behaves like a mutation that returns a top-level access error6434 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"6435 when user is an owner6436 behaves like updates the user access role6437 is expected to all equal 106438 when inherited members are passed6439 does not update the members6440 when members count is more than the allowed limit6441 does not update the members6442 when the update service raises access denied error6443 does not update the members6444 when the update service returns an error message6445 will pass through the error6446Mutations::Boards::Destroy6447 when the user does not have permission6448 does not destroy the board6449 behaves like a mutation that returns a top-level access error6450 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"6451 when the user has permission6452 when given id is not for a board6453 returns an error6454 when everything is ok6455 destroys the board6456 returns an empty board6457 when there is only 1 board for the parent6458 does destroy the board6459Admin::DevOpsReportController6460 show_adoption?6461 is always false6462 GET #show6463 as admin6464 responds with success6465 behaves like tracking unique visits6466 tracks unique visit if the format is HTML6467 tracks unique visit if DNT is not enabled6468 does not track unique visit if DNT is enabled6469 does not track unique visit if the format is JSON6470 behaves like Snowplow event tracking with RedisHLL context6471 behaves like Snowplow event tracking6472 is emitted6473 as normal user6474 responds with 4046475rendering project pipeline statistics6476 contains two arrays of 8 elements each for the week pipelines6477 contains two arrays of 13 elements each for the year pipelines6478 behaves like a working graphql query6479 returns a successful response6480 behaves like monthly statistics6481 contains two arrays of 32 elements each for the month pipelines6482 behaves like monthly statistics6483 contains two arrays of 31 elements each for the month pipelines6484 behaves like monthly statistics6485 contains two arrays of 32 elements each for the month pipelines6486Merge Requests Context Commit Diffs6487 GET diffs_batch6488 without caching6489 behaves like serializes diffs with expected arguments6490 serializes paginated merge request diff collection6491 with caching6492 when the request has not been cached6493 behaves like serializes diffs with expected arguments6494 serializes paginated merge request diff collection6495 when the request has already been cached6496 does not serialize diffs6497 with the different user6498 behaves like serializes diffs with expected arguments6499 serializes paginated merge request diff collection6500Query.synthetic_note(noteable_id, sha)6501 when the user has access to read the note6502 returns synthetic note6503 and notes widget is not available6504 returns nil6505 when the user does not have access to read the note6506 returns nil6507CiJobTokenScopeRemoveProject6508 when unauthorized6509 when not a maintainer6510 has graphql errors6511 when authorized6512 removes the target project from the job token outbound scope6513 responds successfully6514 when invalid target project is provided6515 has mutation errors6516Querying an Abuse Report6517 when the user is not an admin6518 returns nil6519 when the user is an admin6520 returns all fields6521 behaves like a working graphql query that returns data6522 contains data6523 behaves like a working graphql query6524 returns a successful response6525 labels6526 returns labels6527 notes6528 returns notes6529 discussions6530 returns discussions6531Deletion of custom emoji6532 when the user6533 has no permissions6534 behaves like does not delete custom emoji6535 does not change count6536 when the user is developer and not creator of custom emoji6537 behaves like does not delete custom emoji6538 does not change count6539 when user6540 is maintainer6541 behaves like deletes custom emoji6542 changes count6543 is owner6544 behaves like deletes custom emoji6545 changes count6546 is developer and creator of the emoji6547 behaves like deletes custom emoji6548 changes count6549 when the custom_emoji feature flag is disabled6550 returns an error6551 behaves like does not delete custom emoji6552 does not change count6553Admin::CohortsController6554 GET #index6555 behaves like tracking unique visits6556 tracks unique visit if the format is HTML6557 tracks unique visit if DNT is not enabled6558 does not track unique visit if DNT is enabled6559 does not track unique visit if the format is JSON6560 behaves like Snowplow event tracking with RedisHLL context6561 behaves like Snowplow event tracking6562 is emitted6563Projects::Analytics::CycleAnalytics::SummaryController6564 GET "show"6565 succeeds6566 when analytics_disabled features are disabled6567 renders 4046568 when user is not part of the project6569 renders 4046570 when filters are applied6571 filters by author username6572 filters by milestone title6573Update Environment6574 when updating tier6575 updates successfully6576 when updating external URL6577 updates successfully6578 when url is invalid6579 returns error6580Query.project.job6581 when the user can read jobs on the project6582 returns the job that matches the given ID6583 when no job matches the given ID6584 returns null6585 when the user cannot read jobs on the project6586 returns null6587Mutations::Metrics::Dashboard::Annotations::Delete6588 is expected to require graphql authorizations :admin_metrics_dashboard_annotation6589 when the user has permission to delete the annotation6590 with invalid params6591 behaves like a mutation that returns top-level errors6592 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"6593 when metrics dashboard feature is unavailable6594 behaves like a mutation that returns top-level errors6595 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"6596 when the user does not have permission to delete the annotation6597 behaves like a mutation that returns top-level errors6598 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"6599Projects::NetworkController6600 GET #show6601 when user is unauthorized6602 shows 4046603 when user is authorized6604 renders content6605 assigns url6606 when ref_type is provided6607 assigns url with ref_type6608Mutations::Achievements::Delete6609 when the user does not have permission6610 does not revoke any achievements6611 behaves like a mutation that returns a top-level access error6612 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"6613 when the user has permission6614 deletes the achievement6615 when the params are invalid6616 returns the validation error6617 when the achievement_id is invalid6618 returns the validation error6619 when the feature flag is disabled6620 returns the relevant error6621Project.runners6622 when the user is a project admin6623 returns all runners available to project6624 when the user is a project developer6625 returns nil runners and an error6626Link alerts to an incident6627 when the user is not allowed to update the incident6628 returns an error6629 when the user is allowed to update the incident6630 links alerts to the incident6631SpammableActions::AkismetMarkAsSpamAction6632 #mark_as_spam6633 when user is admin6634 when service returns truthy6635 redirects with notice6636 when service returns falsey6637 redirects with notice6638 when user is not admin6639 calls #access_denied!6640 #spammable6641 raises when unimplemented6642 #spammable_path6643 raises when unimplemented6644ExternalRedirect::ExternalRedirectController requests6645 with invalid url params6646 when url is bad6647 returns 4046648 when url is empty6649 returns 4046650 when url param is missing6651 returns 4046652 with same origin url6653 redirects6654 with valid url param6655DEPRECATION WARNING: The asset "page_bundles/external_redirect.css" is not present in the asset pipeline.6656Falling back to an asset that may be in the public folder.6657This behavior is deprecated and will be removed.6658To bypass the asset pipeline and preserve this behavior,6659use the `skip_pipeline: true` option.6660 (called from stylesheet_link_tag_defer at /builds/gitlab-org/gitlab/app/helpers/application_helper.rb:279)6661 returns 200 and renders URL6662DEPRECATION WARNING: The asset "page_bundles/external_redirect.css" is not present in the asset pipeline.6663Falling back to an asset that may be in the public folder.6664This behavior is deprecated and will be removed.6665To bypass the asset pipeline and preserve this behavior,6666use the `skip_pipeline: true` option.6667 (called from stylesheet_link_tag_defer at /builds/gitlab-org/gitlab/app/helpers/application_helper.rb:279)6668 does not render nav6669Profiles::SlacksController6670 GET slack_link6671 when user is not a maintainer of the project6672 renders 4046673 when user is a maintainer of the project6674 renders slack link6675 GET edit6676 renders6677 assigns projects6678 assigns disabled_projects6679Admin::IdentitiesController6680 GET #index6681 when the user has no identities6682 shows no identities6683 when the user has identities6684 shows identities6685 UPDATE identity6686 repairs ldap blocks6687 DELETE identity6688 repairs ldap blocks6689Project.languages6690 when the languages haven't been detected yet6691 returns expected languages on second request as detection is done asynchronously6692 when the languages were detected before6693 returns repository languages6694PipelineRetry6695 returns an error if the user is not allowed to retry the pipeline6696 retries a pipeline6697Every controller6698 feature categories6699 has feature categories6700 completed controllers don't get new routes without categories6701 recognizes the feature categories6702 doesn't define or exclude categories on removed actions6703Content Security Policy6704 GET #explore6705 snowplow is enabled6706 adds the snowplow collector hostname to the CSP6707 snowplow is enabled but host is not configured6708 behaves like snowplow is not in the CSP6709 does not add the snowplow collector hostname to the CSP6710 snowplow is disabled6711 behaves like snowplow is not in the CSP6712 does not add the snowplow collector hostname to the CSP6713 when vite disabled6714 doesn't add vite csp6715PagerDuty webhook6716 POST /incidents/pagerduty6717 calls PagerDuty webhook processor with correct parameters6718 responds with 202 Accepted6719Users::CalloutsController6720 POST #create6721 with valid feature name6722 when callout entry does not exist6723 creates a callout entry with dismissed state6724 returns success6725 when callout entry already exists6726 returns success6727 with invalid feature name6728 returns bad request6729ConfigureSastIac6730 when authorized6731 creates a branch with sast iac configured6732SpammableActions::CaptchaCheck::JsonFormatActionsSupport6733 #with_captcha_check_json_format6734 when spammable.render_recaptcha? is true6735 renders json containing spam_action_response_fields6736 when spammable.render_recaptcha? is false6737 yields to block6738Groups::PackagesController6739 GET #index6740 behaves like returning response status6741 returns ok6742 GET #show6743 behaves like returning response status6744 returns ok6745OmniAuth Rack middlewares6746 OmniAuth before_request_phase callback6747 increments Prometheus counter6748auto_explain log contains 1520 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-integration-pg14-11-13.337.main.ndjson.gz6749took 41.7147168846750auto_explain log contains 1521 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-integration-pg14-11-13.337.ci.ndjson.gz6751took 39.7258268526752Knapsack report was generated. Preview:6753{6754 "spec/requests/api/nuget_group_packages_spec.rb": 265.6228582970002,6755 "spec/controllers/admin/application_settings_controller_spec.rb": 333.604928578,6756 "spec/requests/api/project_packages_spec.rb": 186.8110159349999,6757 "spec/controllers/projects/pipelines_controller_spec.rb": 154.6948839810002,6758 "spec/controllers/projects/clusters_controller_spec.rb": 118.03475134700011,6759 "spec/requests/api/labels_spec.rb": 90.54799688000003,6760 "spec/controllers/groups_controller_spec.rb": 65.14007257100002,6761 "spec/controllers/admin/clusters_controller_spec.rb": 67.6143820909997,6762 "spec/requests/api/features_spec.rb": 32.98697994399981,6763 "spec/controllers/projects/releases_controller_spec.rb": 44.61918065200007,6764 "spec/mailers/emails/service_desk_spec.rb": 31.98460530300008,6765 "spec/requests/api/ci/runner/jobs_artifacts_spec.rb": 31.94354004500019,6766 "spec/requests/api/project_milestones_spec.rb": 23.97176284599982,6767 "spec/controllers/admin/integrations_controller_spec.rb": 25.454055676999815,6768 "spec/requests/groups_controller_spec.rb": 26.205257042000085,6769 "spec/requests/api/graphql/gitlab_schema_spec.rb": 31.752100157000314,6770 "spec/controllers/projects/starrers_controller_spec.rb": 22.460116256999754,6771 "spec/requests/api/graphql/project/packages_spec.rb": 17.45837883799959,6772 "spec/controllers/projects/templates_controller_spec.rb": 20.66169818499975,6773 "spec/requests/api/graphql/user_query_spec.rb": 19.589227180000307,6774 "spec/controllers/import/bitbucket_controller_spec.rb": 21.11025097799984,6775 "spec/requests/api/resource_label_events_spec.rb": 15.650791728000058,6776 "spec/controllers/groups/labels_controller_spec.rb": 13.04298711499996,6777 "spec/requests/api/merge_request_approvals_spec.rb": 13.321983936999914,6778 "spec/mailers/emails/pages_domains_spec.rb": 6.231627655000011,6779 "spec/controllers/import/bulk_imports_controller_spec.rb": 9.050002635000055,6780 "spec/controllers/projects/releases/evidences_controller_spec.rb": 13.772977281000294,6781 "spec/requests/api/graphql/group/container_repositories_spec.rb": 11.946142640999824,6782 "spec/requests/api/group_variables_spec.rb": 7.444156950999968,6783 "spec/requests/api/graphql/project/issue/notes_spec.rb": 10.162281136999809,6784 "spec/controllers/projects/alerting/notifications_controller_spec.rb": 3.5924931439999455,6785 "spec/requests/api/graphql/packages/pypi_spec.rb": 10.073058362999745,6786 "spec/controllers/projects/blame_controller_spec.rb": 6.178056766999816,6787 "spec/controllers/import/fogbugz_controller_spec.rb": 7.991595809000046,6788 "spec/requests/projects/work_items_spec.rb": 7.116818729999977,6789 "spec/requests/api/ci/runner/runners_post_spec.rb": 5.276947471000312,6790 "spec/controllers/projects/runners_controller_spec.rb": 6.277569561999826,6791 "spec/requests/api/graphql/group/group_members_spec.rb": 5.928766472000007,6792 "spec/requests/recursive_webhook_detection_spec.rb": 5.575305444000151,6793 "spec/requests/api/sidekiq_metrics_spec.rb": 3.627869022000141,6794 "spec/requests/api/graphql/mutations/packages/cleanup/policy/update_spec.rb": 3.575740894000319,6795 "spec/requests/api/graphql/ci/job_spec.rb": 4.726705876000324,6796 "spec/requests/api/notification_settings_spec.rb": 4.804704141000002,6797 "spec/controllers/projects/pipelines/stages_controller_spec.rb": 5.635459439999977,6798 "spec/requests/api/ml/mlflow/model_versions_spec.rb": 2.879827035999824,6799 "spec/requests/api/graphql/mutations/members/projects/bulk_update_spec.rb": 4.379227735999848,6800 "spec/requests/api/graphql/mutations/boards/destroy_spec.rb": 2.5018466290002834,6801 "spec/controllers/admin/dev_ops_report_controller_spec.rb": 1.4877514309996513,6802 "spec/requests/api/graphql/project/project_pipeline_statistics_spec.rb": 3.1470226900000853,6803 "spec/requests/projects/merge_requests/context_commit_diffs_spec.rb": 3.53007722700022,6804 "spec/requests/api/graphql/notes/synthetic_note_resolver_spec.rb": 3.076974404000339,6805 "spec/requests/api/graphql/mutations/ci/job_token_scope/remove_project_spec.rb": 2.2812856020000254,6806 "spec/requests/api/graphql/abuse_report_spec.rb": 2.8721533180000733,6807 "spec/requests/api/graphql/mutations/custom_emoji/destroy_spec.rb": 2.884500976000254,6808 "spec/controllers/admin/cohorts_controller_spec.rb": 1.222526705999826,6809 "spec/controllers/projects/analytics/cycle_analytics/summary_controller_spec.rb": 2.1649317999999766,6810 "spec/requests/api/graphql/mutations/environments/update_spec.rb": 1.6420510010002545,6811 "spec/requests/api/graphql/project/job_spec.rb": 3.1354442310002923,6812 "spec/requests/api/graphql/mutations/metrics/dashboard/annotations/delete_spec.rb": 1.504622049000318,6813 "spec/requests/projects/network_controller_spec.rb": 2.069218015000388,6814 "spec/requests/api/graphql/mutations/achievements/delete_spec.rb": 1.9609517520002555,6815 "spec/requests/api/graphql/project/runners_spec.rb": 1.9791160009999658,6816 "spec/requests/api/graphql/mutations/issues/link_alerts_spec.rb": 1.290630082000007,6817 "spec/controllers/concerns/spammable_actions/akismet_mark_as_spam_action_spec.rb": 1.5036035200000697,6818 "spec/requests/external_redirect/external_redirect_controller_spec.rb": 0.7273766459998114,6819 "spec/controllers/profiles/slacks_controller_spec.rb": 1.1266756019999775,6820 "spec/controllers/admin/identities_controller_spec.rb": 1.2551685739999812,6821 "spec/requests/api/graphql/project/languages_spec.rb": 1.4583880909999607,6822 "spec/requests/api/graphql/mutations/ci/pipeline_retry_spec.rb": 1.2957893030002197,6823 "spec/controllers/every_controller_spec.rb": 0.33093307999979515,6824 "spec/requests/content_security_policy_spec.rb": 0.9341665340002692,6825 "spec/requests/projects/incident_management/pagerduty_incidents_spec.rb": 0.6486692009998478,6826 "spec/controllers/users/callouts_controller_spec.rb": 0.5360544180002762,6827 "spec/requests/api/graphql/mutations/security/ci_configuration/configure_sast_iac_spec.rb": 0.9691738309998073,6828 "spec/controllers/concerns/spammable_actions/captcha_check/json_format_actions_support_spec.rb": 0.5885019740003372,6829 "spec/controllers/groups/packages_controller_spec.rb": 0.375478017000205,6830 "spec/requests/rack_middlewares/omniauth_spec.rb": 0.19501460799983766831}6832Knapsack global time execution for tests: 31m 11s6833Failures:6834 1) API::ProjectPackages GET /projects/:id/packages/:package_id without the need for a license with build info does not result in additional queries6835 Failure/Error:6836 expect do6837 get api(package_url, user)6838 end.not_to exceed_query_limit(control).with_threshold(4)6839 Expected a maximum of 22 (+4) queries, got 27:6840 Query Diff:6841 -----------6842 SELECT "personal_access_tokens".* FROM "personal_access_tokens"...6843 -- (expected: 1, got: 0)6844 WHERE "personal_access_tokens"."token_digest" = 'uC52RAFjXaeV3HFUZF0OfwnxhK1Q2ZVGo3Zwfyi5wzA=' LIMIT 16845 -- (expected: 2, got: 0)6846 WHERE "personal_access_tokens"."token_digest" = 'eOqitlVpYGZ8Wez2gp6A3FHeDIJDx8rZhc8+0g30JCk=' LIMIT 16847 -- (expected: 0, got: 1)6848 WHERE "personal_access_tokens"."token_digest" = 'mujlrDgkJR9nrNtF12HBOAqrbHA/4cowLC6Eqzd1tNI=' LIMIT 16849 -- (expected: 0, got: 2)6850 WHERE "personal_access_tokens"."token_digest" = 'iBTva+hWoetyecfmQEmkkK1IhMJ+J00MQjuU9fKTXdE=' LIMIT 16851 SELECT "projects"."id", "projects"."name", "projects"."path", "projects"."description", "projects"."created_at", "projects"."updated_at", "projects"."creator_id", "projects"."namespace_id", "projects"."last_activity_at", "projects"."import_url", "projects"."visibility_level", "projects"."archived", "projects"."avatar", "projects"."merge_requests_template", "projects"."star_count", "projects"."merge_requests_rebase_enabled", "projects"."import_type", "projects"."import_source", "projects"."approvals_before_merge", "projects"."reset_approvals_on_push", "projects"."merge_requests_ff_only_enabled", "projects"."issues_template", "projects"."mirror", "projects"."mirror_last_update_at", "projects"."mirror_last_successful_update_at", "projects"."mirror_user_id", "projects"."shared_runners_enabled", "projects"."runners_token", "projects"."build_allow_git_fetch", "projects"."build_timeout", "projects"."mirror_trigger_builds", "projects"."pending_delete", "projects"."public_builds", "projects"."last_repository_check_failed", "projects"."last_repository_check_at", "projects"."only_allow_merge_if_pipeline_succeeds", "projects"."has_external_issue_tracker", "projects"."repository_storage", "projects"."repository_read_only", "projects"."request_access_enabled", "projects"."has_external_wiki", "projects"."ci_config_path", "projects"."lfs_enabled", "projects"."description_html", "projects"."only_allow_merge_if_all_discussions_are_resolved", "projects"."repository_size_limit", "projects"."printing_merge_request_link_enabled", "projects"."auto_cancel_pending_pipelines", "projects"."service_desk_enabled", "projects"."cached_markdown_version", "projects"."delete_error", "projects"."last_repository_updated_at", "projects"."disable_overriding_approvers_per_merge_request", "projects"."storage_version", "projects"."resolve_outdated_diff_discussions", "projects"."remote_mirror_available_overridden", "projects"."only_mirror_protected_branches", "projects"."pull_mirror_available_overridden", "projects"."jobs_cache_index", "projects"."external_authorization_classification_label", "projects"."mirror_overwrites_diverged_branches", "projects"."pages_https_only", "projects"."external_webhook_token", "projects"."packages_enabled", "projects"."merge_requests_author_approval", "projects"."pool_repository_id", "projects"."runners_token_encrypted", "projects"."bfg_object_map", "projects"."detected_repository_languages", "projects"."merge_requests_disable_committers_approval", "projects"."require_password_to_approve", "projects"."max_pages_size", "projects"."max_artifacts_size", "projects"."pull_mirror_branch_prefix", "projects"."remove_source_branch_after_merge", "projects"."marked_for_deletion_at", "projects"."marked_for_deletion_by_user_id", "projects"."autoclose_referenced_issues", "projects"."suggestion_commit_message", "projects"."project_namespace_id", "projects"."hidden", "projects"."organization_id" FROM "projects"...6852 -- (expected: 0, got: 1)6853 WHERE "projects"."id" = 4 LIMIT 16854 SELECT "users".* FROM "users"...6855 -- (expected: 0, got: 1)6856 WHERE "users"."id" = 706857 SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces"...6858 -- (expected: 0, got: 1)6859 WHERE "namespaces"."id" = 74 LIMIT 16860 SELECT "routes".* FROM "routes"...6861 -- (expected: 0, got: 1)6862 WHERE "routes"."source_id" = 74 AND "routes"."source_type" = 'Namespace' LIMIT 16863 SELECT "ci_pipelines"."id", "ci_pipelines"."ref", "ci_pipelines"."sha", "ci_pipelines"."before_sha", "ci_pipelines"."created_at", "ci_pipelines"."updated_at", "ci_pipelines"."tag", "ci_pipelines"."yaml_errors", "ci_pipelines"."committed_at", "ci_pipelines"."project_id", "ci_pipelines"."status", "ci_pipelines"."started_at", "ci_pipelines"."finished_at", "ci_pipelines"."duration", "ci_pipelines"."user_id", "ci_pipelines"."lock_version", "ci_pipelines"."pipeline_schedule_id", "ci_pipelines"."source", "ci_pipelines"."config_source", "ci_pipelines"."protected", "ci_pipelines"."failure_reason", "ci_pipelines"."iid", "ci_pipelines"."merge_request_id", "ci_pipelines"."source_sha", "ci_pipelines"."target_sha", "ci_pipelines"."external_pull_request_id", "ci_pipelines"."ci_ref_id", "ci_pipelines"."locked", "ci_pipelines"."partition_id", "ci_pipelines"."auto_canceled_by_id" FROM "ci_pipelines"...6864 -- (expected: 0, got: 1)6865 WHERE "ci_pipelines"."id" = 286866 # ./spec/requests/api/project_packages_spec.rb:258:in `block (5 levels) in <top (required)>'6867 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'6868 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6869 # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'6870 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'6871 # ./lib/gitlab/application_context.rb:68:in `with_raw_context'6872 # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'6873 # ./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'6874 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6875 # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'6876 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'6877 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'6878 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'6879 2) Emails::ServiceDesk.service_desk_thank_you_email handling template markdown when issue description placeholder is used when GitLab-specific-reference is in description does not render GitLab-specific-reference links with title attribute6880 Failure/Error: is_expected.to have_body_text(expected_template_html)6881 expected the body to contain "<p data-sourcepos=\"1:1-1:22\" dir=\"auto\">namespace1143/project-1245#1</p>" but was "<p data-sourcepos=\"1:1-1:28\" dir=\"auto\">namespace1143/project-1245#1</p>"6882 # ./spec/mailers/emails/service_desk_spec.rb:288:in `block (6 levels) in <top (required)>'6883 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'6884 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6885 # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'6886 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'6887 # ./lib/gitlab/application_context.rb:68:in `with_raw_context'6888 # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'6889 # ./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'6890 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6891 # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'6892 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'6893 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'6894 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'6895Finished in 32 minutes 37 seconds (files took 47.54 seconds to load)68962584 examples, 2 failures6897Failed examples:6898rspec ./spec/requests/api/project_packages_spec.rb:249 # API::ProjectPackages GET /projects/:id/packages/:package_id without the need for a license with build info does not result in additional queries6899rspec ./spec/mailers/emails/service_desk_spec.rb:287 # Emails::ServiceDesk.service_desk_thank_you_email handling template markdown when issue description placeholder is used when GitLab-specific-reference is in description does not render GitLab-specific-reference links with title attribute6900Randomized with seed 88076901[TEST PROF INFO] Time spent in factories: 15:49.481 (48.35% of total time)6902Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected6903RSpec exited with 1.6904[job-metrics] Updating job metrics tag for the CI/CD job.6905RSPEC_RETRIED_TESTS_REPORT_PATH: rspec/retried_tests-5597251418.txt6906Retrying the failing examples in a new RSpec process...6907$ gem install junit_merge --no-document --version 0.1.26908Successfully installed nokogiri-1.15.5-x86_64-linux6909Successfully installed junit_merge-0.1.269102 gems installed6911==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.6912Running RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-retry-5597251418.json --format RspecJunitFormatter --out rspec/rspec-retry-5597251418.xml --only-failures --pattern "spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb"6913Run options: include {:last_run_status=>"failed"}6914unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.6915unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.6916Test environment set up in 0.491756522 seconds6917Emails::ServiceDesk6918 .service_desk_thank_you_email6919 handling template markdown6920 when issue description placeholder is used6921 when GitLab-specific-reference is in description6922 does not render GitLab-specific-reference links with title attribute6923API::ProjectPackages6924 GET /projects/:id/packages/:package_id6925 without the need for a license6926 with build info6927 does not result in additional queries6928auto_explain log contains 1520 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-integration-pg14-11-13.4027.main.ndjson.gz6929took 39.8996557816930auto_explain log contains 1520 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-integration-pg14-11-13.4027.ci.ndjson.gz6931took 40.0800224616932Finished in 1 minute 35.65 seconds (files took 55.04 seconds to load)69332 examples, 0 failures6934[TEST PROF INFO] Time spent in factories: 00:04.055 (4.14% of total time)6935Loading rspec/rspec-5597251418.json...6936Merged rspec/rspec-retry-5597251418.json adding 4 results.6937Saved rspec/rspec-5597251418.json.6938A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...6939Flaky test was not part of this MR.6941Running after script...6942$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"6951$ tooling/bin/push_job_metrics || true6952[job-metrics] Pushing job metrics file for the CI/CD job.6953[job-metrics] Pushed 4 CI job metric entries to InfluxDB.6955Not uploading cache ruby-gems-debian-bullseye-ruby-3.1-16 due to policy6957Uploading artifacts...6958auto_explain/: found 5 matching artifact files and directories 6959coverage/: found 4 matching artifact files and directories 6960crystalball/: found 2 matching artifact files and directories 6961deprecations/: found 4 matching artifact files and directories 6962knapsack/: found 4 matching artifact files and directories 6963rspec/: found 19 matching artifact files and directories 6964WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6965log/*.log: found 19 matching artifact files and directories 6966WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251418/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6967WARNING: Retrying... context=artifacts-uploader error=request redirected6968Uploading artifacts as "archive" to coordinator... 201 Created id=5597251418 responseStatus=201 Created token=64_qnwfQ6969Uploading artifacts...6970rspec/rspec-*.xml: found 2 matching artifact files and directories 6971WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251418/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6972WARNING: Retrying... context=artifacts-uploader error=request redirected6973Uploading artifacts as "junit" to coordinator... 201 Created id=5597251418 responseStatus=201 Created token=64_qnwfQ6975Job succeeded