rspec-ee integration pg14 single-redis 1/6
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 ...20WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.21WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.22Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...23Authenticating with credentials from job payload (GitLab Registry)24Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...25Using docker image sha256:3019060693909c4761e3d0a55f31591cdc9a425c5caabc0efe58b7aac9af2245 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:39a04f1ad7b480c016bbb682d5525e272bc54bc252be03b1b9236b2375d81384 ...26Starting service elasticsearch:7.17.6 ...27Pulling docker image elasticsearch:7.17.6 ...28Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...29Waiting for services to be up and running (timeout 30 seconds)...30Authenticating with credentials from job payload (GitLab Registry)31Pulling 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 ...32Using 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 ...34Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1700667492-45e69ea6...36Fetching changes with git depth set to 20...37Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/38Created fresh repository.39remote: Enumerating objects: 160062, done. 40remote: Counting objects: 100% (160062/160062), done. 41remote: Compressing objects: 100% (106043/106043), done. 42remote: Total 160062 (delta 72911), reused 107612 (delta 47791), pack-reused 0 43Receiving objects: 100% (160062/160062), 141.24 MiB | 20.44 MiB/s, done.44Resolving deltas: 100% (72911/72911), done.46 * [new ref] refs/pipelines/1081810896 -> refs/pipelines/108181089647Checking out bc34b5b9 as detached HEAD (ref is refs/merge-requests/137025/merge)...48Skipping Git submodules setup49$ git remote set-url origin "${CI_REPOSITORY_URL}"51Checking cache for ruby-gems-debian-bullseye-ruby-3.1-16...52cache.zip is up to date 53Successfully extracted cache55Downloading artifacts for compile-test-assets (5597250154)...56Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250154 responseStatus=200 OK token=64_cM8xs57Downloading artifacts for detect-tests (5597250235)...58Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250235 responseStatus=200 OK token=64_cM8xs59Downloading artifacts for retrieve-tests-metadata (5597250273)...60Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250273 responseStatus=200 OK token=64_cM8xs61Downloading artifacts for setup-test-env (5597250178)...62Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250178 responseStatus=200 OK token=64_cM8xs64Using 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 ...65$ echo $FOSS_ONLY66$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb67$ export GOPATH=$CI_PROJECT_DIR/.go68$ mkdir -p $GOPATH69$ source scripts/utils.sh70$ source scripts/prepare_build.sh102Using decomposed database config (config/database.yml.decomposed-postgresql)103Geo DB will be set up.104Embedding DB will be set up.160$ source ./scripts/rspec_helpers.sh161$ run_timed_command "gem install knapsack --no-document"162$ gem install knapsack --no-document163Successfully installed knapsack-4.0.01641 gem installed165==> 'gem install knapsack --no-document' succeeded in 1 seconds.166$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"171$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"172$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"173$ tooling/bin/create_job_metrics_file || true174[job-metrics] Creating the job metrics file for the CI/CD job.175$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request"176RETRY_FAILED_TESTS_IN_NEW_PROCESS: true177KNAPSACK_GENERATE_REPORT: true178FLAKY_RSPEC_GENERATE_REPORT: true179KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb180KNAPSACK_LOG_LEVEL: debug181KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg14_single-redis_1_6_report.json182FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json183FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg14_single-redis_1_6_report.json184NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg14_single-redis_1_6_report.json185RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-5597251763.txt186CRYSTALBALL: 187RSPEC_TESTS_MAPPING_ENABLED: 188RSPEC_TESTS_FILTER_FILE: 189Shell set options (set -o) enabled:190braceexpand on191hashall on192interactive-comments on193pipefail on194Knapsack report generator started!195INFO: analyzing "public.p_ci_runner_machine_builds" inheritance tree196INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100"197INFO: "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows198INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101"199INFO: "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows200INFO: analyzing "public.p_ci_job_annotations" inheritance tree201INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_100"202INFO: "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows203INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_101"204INFO: "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows205INFO: analyzing "public.p_ci_builds_metadata" inheritance tree206INFO: analyzing "public.ci_builds_metadata"207INFO: "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows208INFO: analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101"209INFO: "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows210INFO: analyzing "public.p_ci_builds" inheritance tree211INFO: analyzing "public.ci_builds"212INFO: "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows213INFO: analyzing "gitlab_partitions_dynamic.ci_builds_101"214INFO: "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows215INFO: analyzing "public.p_ci_runner_machine_builds" inheritance tree216INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100"217INFO: "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows218INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101"219INFO: "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows220INFO: analyzing "public.p_ci_job_annotations" inheritance tree221INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_100"222INFO: "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows223INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_101"224INFO: "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows225INFO: analyzing "public.p_ci_builds_metadata" inheritance tree226INFO: analyzing "public.ci_builds_metadata"227INFO: "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows228INFO: analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101"229INFO: "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows230INFO: analyzing "public.p_ci_builds" inheritance tree231INFO: analyzing "public.ci_builds"232INFO: "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows233INFO: analyzing "gitlab_partitions_dynamic.ci_builds_101"234INFO: "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows235Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true, :real_ai_request=>true}236unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.237unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.238Test environment set up in 0.820386958 seconds239API::Search240 GET /search241 with correct params242 when elasticsearch is disabled243 sets global search information for logging244 behaves like elasticsearch disabled245 returns 400 error for wiki_blobs, blobs and commits scope246 when elasticsearch is enabled247 sets global search information for logging248 when elasticsearch_limit_indexing is on249 and namespace is indexed250 behaves like elasticsearch enabled251 for merge_requests scope252 avoids N+1 queries253 behaves like pagination254 returns a different result for each page255 behaves like orderable by created_at256 allows ordering results by created_at asc257 allows ordering results by created_at desc258 for wiki_blobs scope259 behaves like response is correct260 responds correctly261 behaves like pagination262 returns a different result for each page263 for commits and blobs264 for commits scope265 avoids N+1 queries266 behaves like response is correct267 responds correctly268 behaves like pagination269 returns a different result for each page270 for blobs scope271 avoids N+1 queries272 behaves like response is correct273 responds correctly274 behaves like pagination275 returns a different result for each page276 filters277 with an including filter278 by filename279 by path280 by extension281 with an excluding filter282 by filename283 by path284 by extension285 for issues scope286 avoids N+1 queries287 behaves like pagination288 returns a different result for each page289 behaves like orderable by created_at290 allows ordering results by created_at asc291 allows ordering results by created_at desc292 for projects scope293 avoids N+1 queries294 behaves like pagination295 returns a different result for each page296 for milestones scope297 avoids N+1 queries298 behaves like pagination299 returns a different result for each page300 for users scope301 avoids N+1 queries302 behaves like pagination303 returns a different result for each page304 for notes scope305 behaves like pagination306 returns a different result for each page307 for snippet_titles scope308 behaves like pagination309 returns a different result for each page310 when elasticsearch_limit_indexing off311 behaves like elasticsearch enabled312 for merge_requests scope313 avoids N+1 queries314 behaves like pagination315 returns a different result for each page316 behaves like orderable by created_at317 allows ordering results by created_at asc318 allows ordering results by created_at desc319 for wiki_blobs scope320 behaves like response is correct321 responds correctly322 behaves like pagination323 returns a different result for each page324 for commits and blobs325 for commits scope326 avoids N+1 queries327 behaves like response is correct328 responds correctly329 behaves like pagination330 returns a different result for each page331 for blobs scope332 avoids N+1 queries333 behaves like response is correct334 responds correctly335 behaves like pagination336 returns a different result for each page337 filters338 with an including filter339 by filename340 by path341 by extension342 with an excluding filter343 by filename344 by path345 by extension346 for issues scope347 avoids N+1 queries348 behaves like pagination349 returns a different result for each page350 behaves like orderable by created_at351 allows ordering results by created_at asc352 allows ordering results by created_at desc353 for projects scope354 avoids N+1 queries355 behaves like pagination356 returns a different result for each page357 for milestones scope358 avoids N+1 queries359 behaves like pagination360 returns a different result for each page361 for users scope362 avoids N+1 queries363 behaves like pagination364 returns a different result for each page365 for notes scope366 behaves like pagination367 returns a different result for each page368 for snippet_titles scope369 behaves like pagination370 returns a different result for each page371 GET /groups/:id/-/search372 with correct params373 when elasticsearch is disabled374 behaves like elasticsearch disabled375 returns 400 error for wiki_blobs, blobs and commits scope376 when elasticsearch is enabled377 when elasticsearch_limit_indexing is on378 when the namespace is indexed379 behaves like elasticsearch enabled380 for merge_requests scope381 avoids N+1 queries382 behaves like pagination383 returns a different result for each page384 behaves like orderable by created_at385 allows ordering results by created_at asc386 allows ordering results by created_at desc387 for wiki_blobs scope388 behaves like response is correct389 responds correctly390 behaves like pagination391 returns a different result for each page392 for commits and blobs393 for commits scope394 avoids N+1 queries395 behaves like response is correct396 responds correctly397 behaves like pagination398 returns a different result for each page399 for blobs scope400 avoids N+1 queries401 behaves like response is correct402 responds correctly403 behaves like pagination404 returns a different result for each page405 filters406 with an including filter407 by filename408 by path409 by extension410 with an excluding filter411 by filename412 by path413 by extension414 for issues scope415 avoids N+1 queries416 behaves like pagination417 returns a different result for each page418 behaves like orderable by created_at419 allows ordering results by created_at asc420 allows ordering results by created_at desc421 for projects scope422 avoids N+1 queries423 behaves like pagination424 returns a different result for each page425 for milestones scope426 avoids N+1 queries427 behaves like pagination428 returns a different result for each page429 for users scope430 avoids N+1 queries431 behaves like pagination432 returns a different result for each page (FAILED - 1)4341st Try error in ./ee/spec/requests/api/search_spec.rb:22:435expected: 1436 got: 0437(compared using ==)439RSpec::Retry: 2nd try ./ee/spec/requests/api/search_spec.rb:22440 for notes scope441 behaves like pagination442 returns a different result for each page443 when the namespace is not indexed444 behaves like elasticsearch disabled445 returns 400 error for wiki_blobs, blobs and commits scope446 when elasticsearch_limit_indexing off447 behaves like elasticsearch enabled448 for merge_requests scope449 avoids N+1 queries450 behaves like pagination451 returns a different result for each page452 behaves like orderable by created_at453 allows ordering results by created_at asc454 allows ordering results by created_at desc455 for wiki_blobs scope456 behaves like response is correct457 responds correctly458 behaves like pagination459 returns a different result for each page460 for commits and blobs461 for commits scope462 avoids N+1 queries463 behaves like response is correct464 responds correctly465 behaves like pagination466 returns a different result for each page467 for blobs scope468 avoids N+1 queries469 behaves like response is correct470 responds correctly471 behaves like pagination472 returns a different result for each page473 filters474 with an including filter475 by filename476 by path477 by extension478 with an excluding filter479 by filename480 by path481 by extension482 for issues scope483 avoids N+1 queries484 behaves like pagination485 returns a different result for each page486 behaves like orderable by created_at487 allows ordering results by created_at asc488 allows ordering results by created_at desc489 for projects scope490 avoids N+1 queries491 behaves like pagination492 returns a different result for each page493 for milestones scope494 avoids N+1 queries495 behaves like pagination496 returns a different result for each page497 for users scope498 avoids N+1 queries499 behaves like pagination500 returns a different result for each page501 for notes scope502 behaves like pagination503 returns a different result for each page504 GET /projects/:id/-/search505 with correct params506 when elasticsearch is disabled507 behaves like search enabled508 for wiki_blobs scope509 behaves like response is correct510 responds correctly511 for commits scope512 behaves like response is correct513 responds correctly514 for blobs scope515 behaves like response is correct516 responds correctly517 filters518 by filename519 by path520 by extension521 by ref522 when elasticsearch is enabled523 when elasticsearch_limit_indexing is on524 when the project is indexed525 behaves like elasticsearch enabled526 for merge_requests scope527 avoids N+1 queries528 behaves like pagination529 returns a different result for each page530 behaves like orderable by created_at531 allows ordering results by created_at asc532 allows ordering results by created_at desc533 for wiki_blobs scope534 behaves like response is correct535 responds correctly536 behaves like pagination537 returns a different result for each page538 for commits and blobs539 for commits scope540 avoids N+1 queries541 behaves like response is correct542 responds correctly543 behaves like pagination544 returns a different result for each page545 for blobs scope546 avoids N+1 queries547 behaves like response is correct548 responds correctly549 behaves like pagination550 returns a different result for each page551 filters552 with an including filter553 by filename554 by path555 by extension556 with an excluding filter557 by filename558 by path559 by extension560 for issues scope561 avoids N+1 queries562 behaves like pagination563 returns a different result for each page564 behaves like orderable by created_at565 allows ordering results by created_at asc566 allows ordering results by created_at desc567 for milestones scope568 avoids N+1 queries569 behaves like pagination570 returns a different result for each page571 for users scope572 avoids N+1 queries573 behaves like pagination574 returns a different result for each page (FAILED - 2)5761st Try error in ./ee/spec/requests/api/search_spec.rb:22:577expected: 1578 got: 0579(compared using ==)581RSpec::Retry: 2nd try ./ee/spec/requests/api/search_spec.rb:22582 for notes scope583 behaves like pagination584 returns a different result for each page585 when the project is not indexed586 behaves like search enabled587 for wiki_blobs scope588 behaves like response is correct589 responds correctly590 for commits scope591 behaves like response is correct592 responds correctly593 for blobs scope594 behaves like response is correct595 responds correctly596 filters597 by filename598 by path599 by extension600 by ref601 when elasticsearch_limit_indexing off602 behaves like elasticsearch enabled603 for merge_requests scope604 avoids N+1 queries605 behaves like pagination606 returns a different result for each page607 behaves like orderable by created_at608 allows ordering results by created_at asc609 allows ordering results by created_at desc610 for wiki_blobs scope611 behaves like response is correct612 responds correctly613 behaves like pagination614 returns a different result for each page615 for commits and blobs616 for commits scope617 avoids N+1 queries618 behaves like response is correct619 responds correctly620 behaves like pagination621 returns a different result for each page622 for blobs scope623 avoids N+1 queries624 behaves like response is correct625 responds correctly626 behaves like pagination627 returns a different result for each page628 filters629 with an including filter630 by filename631 by path632 by extension633 with an excluding filter634 by filename635 by path636 by extension637 for issues scope638 avoids N+1 queries639 behaves like pagination640 returns a different result for each page641 behaves like orderable by created_at642 allows ordering results by created_at asc643 allows ordering results by created_at desc644 for milestones scope645 avoids N+1 queries646 behaves like pagination647 returns a different result for each page648 for users scope649 avoids N+1 queries650 behaves like pagination651 returns a different result for each page652 for notes scope653 behaves like pagination654 returns a different result for each page655API::GroupPushRule GroupPushRule656 GET /groups/:id/push_rule657 behaves like GET request permissions for admin mode658 behaves like when admin659 behaves like makes request660 returns661 behaves like makes request662 returns663 behaves like when user664 returns665 behaves like makes request666 returns667 when unlicensed668 behaves like not found when feature is unavailable669 is expected to respond with numeric status code not_found670 authorized user671 when licensed672 returns attributes as expected673 matches response schema674 when reject_unsigned_commits is unavailable675 is expected not to have key "reject_unsigned_commits"676 when commit_committer_check is unavailable677 is expected not to have key "commit_committer_check"678 permissions679 behaves like allow access to api based on role680 is expected to be allowed for :owner681 is expected to be denied for :developer682 is expected to be denied for :reporter683 is expected to be denied for :guest684 is expected to be denied for :anonymous685 when admin686 is expected to be allowed for :admin687 when push rule does not exist688 returns not found689 POST /groups/:id/push_rule690 behaves like POST request permissions for admin mode691 behaves like when admin692 behaves like makes request693 returns694 behaves like makes request695 returns696 behaves like when user697 returns698 behaves like makes request699 returns700 when unlicensed701 behaves like not found when feature is unavailable702 is expected to respond with numeric status code not_found703 authorized user704 when licensed705 is expected to respond with numeric status code created706 is expected to change `PushRule.count` by 1707 creates record with appropriate attributes708 when push rule exists709 is expected to eq "Group push rule exists, try updating"710 permissions711 behaves like allow access to api based on role712 is expected to be allowed for :owner713 is expected to be denied for :developer714 is expected to be denied for :reporter715 is expected to be denied for :guest716 is expected to be denied for :anonymous717 when admin718 is expected to be allowed for :admin719 when no rule is specified720 is expected to include "at least one parameter must be provided"721 when reject_unsigned_commits is unavailable722 returns forbidden723 and reject_unsigned_commits is not set724 returns created725 when commit_committer_check is unavailable726 is expected to respond with numeric status code forbidden727 and commit_committer_check is not set728 returns created729 PUT /groups/:id/push_rule730 behaves like PUT request permissions for admin mode731 behaves like when admin732 behaves like makes request733 returns734 behaves like makes request735 returns736 behaves like when user737 returns738 behaves like makes request739 returns740 when unlicensed741 behaves like not found when feature is unavailable742 is expected to respond with numeric status code not_found743 authorized user744 when licensed745 is expected to respond with numeric status code ok746 updates attributes as expected747 when push rule does not exist for group748 returns not found749 permissions750 behaves like allow access to api based on role751 is expected to be allowed for :owner752 is expected to be denied for :developer753 is expected to be denied for :reporter754 is expected to be denied for :guest755 is expected to be denied for :anonymous756 when admin757 is expected to be allowed for :admin758 when no rule is specified759 is expected to include "at least one parameter must be provided"760 when reject_unsigned_commits is unavailable761 returns forbidden762 and reject_unsigned_commits is not set763 returns status ok764 when commit_committer_check is unavailable765 is expected to respond with numeric status code forbidden766 and commit_committer_check is not set767 returns status ok768 DELETE /groups/:id/push_rule769 behaves like DELETE request permissions for admin mode770 behaves like when admin771 behaves like makes request772 returns773 behaves like makes request774 returns775 behaves like when user776 returns777 behaves like makes request778 returns779 authorized user780 when licensed781 with group push rule782 is expected to equal nil783 when push rule does not exist784 returns not found785 when unlicensed786 behaves like not found when feature is unavailable787 is expected to respond with numeric status code not_found788 permissions789 behaves like allow access to api based on role790 is expected to be allowed for :owner791 is expected to be denied for :developer792 is expected to be denied for :reporter793 is expected to be denied for :guest794 is expected to be denied for :anonymous795 when admin796 is expected to be allowed for :admin797Updating an epic tree798 when epics and subepics features are enabled799 when the user does not have permission800 returns the error message801 behaves like a mutation that does not update the tree802 does not change relative_positions803 when user cannot reorder issue804 returns the error message805 behaves like a mutation that does not update the tree806 does not change relative_positions807 when user cannot reorder adjacent reference808 returns the error message809 behaves like a mutation that does not update the tree810 does not change relative_positions811 when the user has permission812 when moving an epic813 when moving an epic is successful814 updates the epics relative positions815 returns nil in errors816 when a new_parent_id is provided817 updates the epics relative positions and updates the parent818 returns nil in errors819 when relative_position is invalid820 behaves like a mutation that returns top-level errors821 is expected to contain exactly "Variable $epicTreeReorderInput of type EpicTreeReorderInput! was provided invalid value for moved.relativePosition (Expected \"invalid\" to be one of: before, after)"822 when object being moved is not supported type823 returns the error message824 when moving an epic fails due to the parents of the relative position object and the moving object mismatching825 returns the error message826 behaves like a mutation that does not update the tree827 does not change relative_positions828 when the new parent is another epic and subepics feature is disabled829 returns the error message830 behaves like a mutation that does not update the tree831 does not change relative_positions832 when moving an issue833 updates the epics relative positions834 returns nil in errors835 when a new_parent_id is provided836 updates the epic's relative positions and parent837 returns nil in errors838 when moving an issue fails due to the parents of the relative position object and the moving object mismatching839 returns the error message840 behaves like a mutation that does not update the tree841 does not change relative_positions842API::Scim::InstanceScim843 when user with an email extern_uid844 behaves like SCIM API endpoints845 GET api/scim/v2/application/Users846 responds with paginated users when there is no filter847 behaves like Not available to SaaS customers848 on GitLab.com849 renders not found850 behaves like Instance level SCIM license required851 when license is not enabled852 returns not found error853 behaves like SCIM token authenticated854 without token auth855 responds with 401856 behaves like SAML SSO must be enabled857 responds with 403 when instance SAML SSO not enabled858 when unsupported filters are used859 responds with an error860 when existing user matches filter861 responds with 200862 sets default values as required by the specification863 when no user matches filter864 responds with 200865 GET api/scim/v2/application/Users/:id866 responds with 403 when instance SAML SSO not configured867 behaves like Not available to SaaS customers868 on GitLab.com869 renders not found870 behaves like Instance level SCIM license required871 when license is not enabled872 returns not found error873 behaves like SCIM token authenticated874 without token auth875 responds with 401876 behaves like SAML SSO must be enabled877 responds with 403 when instance SAML SSO not enabled878 behaves like Invalid extern_uid returns 404879 when there is no user associated with extern_uid880 responds with 404881 when there is a user with extern_uid882 responds with 200883 POST api/scim/v2/application/Users884 behaves like Not available to SaaS customers885 on GitLab.com886 renders not found887 behaves like Instance level SCIM license required888 when license is not enabled889 returns not found error890 behaves like SCIM token authenticated891 without token auth892 responds with 401893 behaves like SAML SSO must be enabled894 responds with 403 when instance SAML SSO not enabled895 without an existing user896 responds with 201 and the new user attributes897 when existing user898 responds with 201 and the scim user attributes899 when a provisioning error occurs900 returns a 412 response and error message901 behaves like Filtered params in errors902 does not expose the password in error response903 does not expose the access token in error response904 when a conflict occurs905 returns a 409 response and error message906 behaves like Filtered params in errors907 does not expose the password in error response908 does not expose the access token in error response909 PATCH api/scim/v2/application/Users/:id910 behaves like Not available to SaaS customers911 on GitLab.com912 renders not found913 behaves like Instance level SCIM license required914 when license is not enabled915 returns not found error916 behaves like SCIM token authenticated917 without token auth918 responds with 401919 behaves like SAML SSO must be enabled920 responds with 403 when instance SAML SSO not enabled921 behaves like Invalid extern_uid returns 404922 when there is no user associated with extern_uid923 responds with 404924 when params update extern_uid for existing scim identity925 responds with 204 and updates extern_uid926 when params update other attributes on existing scim identity927 responds with success but does not update the attributes928 when params are invalid929 ignores the params and returns a success response930 when extern_uid update fails931 returns an error932 when deprovision fails933 returns an error934 when reprovision fails935 returns an error936 when param values deactivate scim identity937 deactivates the scim_identity938 when param values reactivate scim identity939 activates the scim_identity940 does not call reprovision service when identity is already active941 when id param is missing from request942 returns method not allowed error943 DELETE /scim/v2/application/Users/:id944 behaves like Not available to SaaS customers945 on GitLab.com946 renders not found947 behaves like Instance level SCIM license required948 when license is not enabled949 returns not found error950 behaves like SCIM token authenticated951 without token auth952 responds with 401953 behaves like SAML SSO must be enabled954 responds with 403 when instance SAML SSO not enabled955 behaves like Invalid extern_uid returns 404956 when there is no user associated with extern_uid957 responds with 404958 when existing user959 responds with 204 and deactivates the scim identity960 when deprovision fails961 returns an error962 when user with an alphanumeric extern_uid963 behaves like SCIM API endpoints964 GET api/scim/v2/application/Users965 responds with paginated users when there is no filter966 behaves like Not available to SaaS customers967 on GitLab.com968 renders not found969 behaves like Instance level SCIM license required970 when license is not enabled971 returns not found error972 behaves like SCIM token authenticated973 without token auth974 responds with 401975 behaves like SAML SSO must be enabled976 responds with 403 when instance SAML SSO not enabled977 when unsupported filters are used978 responds with an error979 when existing user matches filter980 responds with 200981 sets default values as required by the specification982 when no user matches filter983 responds with 200984 GET api/scim/v2/application/Users/:id985 responds with 403 when instance SAML SSO not configured986 behaves like Not available to SaaS customers987 on GitLab.com988 renders not found989 behaves like Instance level SCIM license required990 when license is not enabled991 returns not found error992 behaves like SCIM token authenticated993 without token auth994 responds with 401995 behaves like SAML SSO must be enabled996 responds with 403 when instance SAML SSO not enabled997 behaves like Invalid extern_uid returns 404998 when there is no user associated with extern_uid999 responds with 4041000 when there is a user with extern_uid1001 responds with 2001002 POST api/scim/v2/application/Users1003 behaves like Not available to SaaS customers1004 on GitLab.com1005 renders not found1006 behaves like Instance level SCIM license required1007 when license is not enabled1008 returns not found error1009 behaves like SCIM token authenticated1010 without token auth1011 responds with 4011012 behaves like SAML SSO must be enabled1013 responds with 403 when instance SAML SSO not enabled1014 without an existing user1015 responds with 201 and the new user attributes1016 when existing user1017 responds with 201 and the scim user attributes1018 when a provisioning error occurs1019 returns a 412 response and error message1020 behaves like Filtered params in errors1021 does not expose the password in error response1022 does not expose the access token in error response1023 when a conflict occurs1024 returns a 409 response and error message1025 behaves like Filtered params in errors1026 does not expose the password in error response1027 does not expose the access token in error response1028 PATCH api/scim/v2/application/Users/:id1029 behaves like Not available to SaaS customers1030 on GitLab.com1031 renders not found1032 behaves like Instance level SCIM license required1033 when license is not enabled1034 returns not found error1035 behaves like SCIM token authenticated1036 without token auth1037 responds with 4011038 behaves like SAML SSO must be enabled1039 responds with 403 when instance SAML SSO not enabled1040 behaves like Invalid extern_uid returns 4041041 when there is no user associated with extern_uid1042 responds with 4041043 when params update extern_uid for existing scim identity1044 responds with 204 and updates extern_uid1045 when params update other attributes on existing scim identity1046 responds with success but does not update the attributes1047 when params are invalid1048 ignores the params and returns a success response1049 when extern_uid update fails1050 returns an error1051 when deprovision fails1052 returns an error1053 when reprovision fails1054 returns an error1055 when param values deactivate scim identity1056 deactivates the scim_identity1057 when param values reactivate scim identity1058 activates the scim_identity1059 does not call reprovision service when identity is already active1060 when id param is missing from request1061 returns method not allowed error1062 DELETE /scim/v2/application/Users/:id1063 behaves like Not available to SaaS customers1064 on GitLab.com1065 renders not found1066 behaves like Instance level SCIM license required1067 when license is not enabled1068 returns not found error1069 behaves like SCIM token authenticated1070 without token auth1071 responds with 4011072 behaves like SAML SSO must be enabled1073 responds with 403 when instance SAML SSO not enabled1074 behaves like Invalid extern_uid returns 4041075 when there is no user associated with extern_uid1076 responds with 4041077 when existing user1078 responds with 204 and deactivates the scim identity1079 when deprovision fails1080 returns an error1081Groups::SsoController1082 SAML configured1083 has status 2001084 malicious redirect parameter falls back to group_path1085 passes group name to the view1086 unlinking user1087 allows account unlinking1088 with block_password_auth_for_saml_users feature flag switched off1089 does not sign out user provisioned by this group1090 with block_password_auth_for_saml_users feature flag switched on1091 signs out user provisioned by this group1092 when SAML is disabled for the group1093 renders 4041094 still allows account unlinking1095 when SAML trial has expired1096 DELETE /unlink still allows account unlinking1097 GET /saml renders 4041098 when user is not signed in1099 acts as route not found1100 when group has moved1101 redirects to new location1102 when current user has a SAML provider configured1103 renders `devise_empty` template1104 when current user does not have a SAML provider configured1105 renders `devise` template1106 saml_provider is unconfigured for the group1107 when user cannot configure Group SAML1108 renders 4041109 when user can admin group_saml1110 redirects to the Group SAML config page1111 sets a flash message explaining that setup is required1112 group does not exist1113 renders 4041114 when user is not signed in1115 acts as route not found1116 GET sign_up_form1117 with SAML configured1118 and group managed accounts enforced1119 renders 4041120 and oauth data available1121 has status 2001122 suggests first available username automatically1123 and belongs to different group1124 renders 4041125 and group managed accounts enforcing is disabled1126 renders 4041127 POST sign_up1128 calls for GroupSaml::SignUpService1129 when service fails1130 renders the form1131 when service succeeds1132 redirects to sign in1133 when user is already signed in1134 signs user out1135 POST authorize_managed_account1136 when user is already signed in1137 when service succeeds1138 redirects to group1139 when service fails1140 renders the form1141Groups::Analytics::CycleAnalytics::SummaryController1142 GET "show"1143 passes the date filter to the query class1144 behaves like summary endpoint1145 succeeds1146 when valid parameters are given1147 succeeds1148 accepts optional `project_ids` array1149 succeeds1150 when `created_before` is missing1151 succeeds1152 when `created_after` is missing1153 succeeds1154 when `created_after` is invalid, falls back to default date1155 is expected to respond with numeric status code success1156 when `created_before` is invalid1157 renders `unprocessable_entity`1158 when `created_after` is later than `created_before`1159 renders `unprocessable_entity`1160 when the date range exceeds 180 days1161 renders `unprocessable_entity`1162 when `group_id` is not found1163 renders `not_found` when group is missing1164 when user has no lower access level than `reporter`1165 renders `forbidden` response1166 when feature is not available for the group1167 renders `forbidden` response1168 GET "time_summary"1169 passes the group to RequestParams1170 uses the aggregated VSA data collector1171 behaves like summary endpoint1172 succeeds1173 when valid parameters are given1174 succeeds1175 accepts optional `project_ids` array1176 succeeds1177 when `created_before` is missing1178 succeeds1179 when `created_after` is missing1180 succeeds1181 when `created_after` is invalid, falls back to default date1182 is expected to respond with numeric status code success1183 when `created_before` is invalid1184 renders `unprocessable_entity`1185 when `created_after` is later than `created_before`1186 renders `unprocessable_entity`1187 when the date range exceeds 180 days1188 renders `unprocessable_entity`1189 when `group_id` is not found1190 renders `not_found` when group is missing1191 when user has no lower access level than `reporter`1192 renders `forbidden` response1193 when feature is not available for the group1194 renders `forbidden` response1195 time series endpoints1196 GET "lead_times"1197 returns the daily average durations1198 behaves like summary endpoint1199 succeeds1200 when valid parameters are given1201 succeeds1202 accepts optional `project_ids` array1203 succeeds1204 when `created_before` is missing1205 succeeds1206 when `created_after` is missing1207 succeeds1208 when `created_after` is invalid, falls back to default date1209 is expected to respond with numeric status code success1210 when `created_before` is invalid1211 renders `unprocessable_entity`1212 when `created_after` is later than `created_before`1213 renders `unprocessable_entity`1214 when the date range exceeds 180 days1215 renders `unprocessable_entity`1216 when `group_id` is not found1217 renders `not_found` when group is missing1218 when user has no lower access level than `reporter`1219 renders `forbidden` response1220 when feature is not available for the group1221 renders `forbidden` response1222 GET "cycle_times"1223 returns the daily average durations1224 behaves like summary endpoint1225 succeeds1226 when valid parameters are given1227 succeeds1228 accepts optional `project_ids` array1229 succeeds1230 when `created_before` is missing1231 succeeds1232 when `created_after` is missing1233 succeeds1234 when `created_after` is invalid, falls back to default date1235 is expected to respond with numeric status code success1236 when `created_before` is invalid1237 renders `unprocessable_entity`1238 when `created_after` is later than `created_before`1239 renders `unprocessable_entity`1240 when the date range exceeds 180 days1241 renders `unprocessable_entity`1242 when `group_id` is not found1243 renders `not_found` when group is missing1244 when user has no lower access level than `reporter`1245 renders `forbidden` response1246 when feature is not available for the group1247 renders `forbidden` response1248Git HTTP requests1249 User with no identities1250 when Kerberos token is provided1251 when authentication fails because of invalid Kerberos token1252 responds with status 401 Unauthorized1253 when authentication fails because of unknown Kerberos identity1254 responds with status 401 Unauthorized1255 when authentication succeeds1256 when the user has access to the project1257 complies with RFC45591258 when the user is blocked1259 responds with status 403 Forbidden1260 when the user isn't blocked1261 responds with status 200 OK1262 updates the user last activity1263 when the user doesn't have access to the project1264 responds with status 404 Not Found1265 complies with RFC45591266 when license is not provided1267 behaves like pulls are allowed1268 is expected to eq "application/vnd.gitlab-workhorse+json"1269 behaves like pushes are allowed1270 is expected to eq "application/vnd.gitlab-workhorse+json"1271 when SSO is enforced1272 behaves like pulls are allowed1273 is expected to eq "application/vnd.gitlab-workhorse+json"1274 when user cannot use password-based login1275 with feature flag switched off1276 behaves like pulls are allowed1277 is expected to eq "application/vnd.gitlab-workhorse+json"1278 behaves like pushes are allowed1279 is expected to eq "application/vnd.gitlab-workhorse+json"1280 with feature flag switched on1281 responds with status 401 Unauthorized for pull action1282 responds with status 401 Unauthorized for push action1283 when username and personal access token are provided1284 behaves like pulls are allowed1285 is expected to eq "application/vnd.gitlab-workhorse+json"1286 behaves like pushes are allowed1287 is expected to eq "application/vnd.gitlab-workhorse+json"1288 when user has 2FA enabled1289 when username and personal access token are provided1290 rejects the push attempt for read_repository scope1291 accepts the push attempt for write_repository scope1292 accepts the pull attempt for read_repository scope1293 accepts the pull attempt for api scope1294 accepts the push attempt for api scope1295 behaves like pulls are allowed1296 is expected to eq "application/vnd.gitlab-workhorse+json"1297 behaves like pushes are allowed1298 is expected to eq "application/vnd.gitlab-workhorse+json"1299 when namespace storage limits are enforced1300 behaves like pushes are allowed1301 is expected to eq "application/vnd.gitlab-workhorse+json"1302 when the limit has been exceeded1303 behaves like pushes are allowed1304 is expected to eq "application/vnd.gitlab-workhorse+json"1305Admin::CredentialsController1306 GET #index1307 admin user1308 when `credentials_inventory` feature is enabled1309 responds with 2001310 behaves like Snowplow event tracking with RedisHLL context1311 behaves like Snowplow event tracking1312 is emitted1313 filtering by type of credential1314 no credential type specified1315 behaves like filtering by `personal_access_tokens`1316 is expected to contain exactly #<PersonalAccessToken id: 454, user_id: 669, name: "PAT 454", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 457, user_id: 669, name: "PAT 457", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 458, user_id: 669, name: "PAT 458", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>1317 non-existent credential type specified1318 behaves like filtering by `personal_access_tokens`1319 is expected to contain exactly #<PersonalAccessToken id: 454, user_id: 669, name: "PAT 454", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 457, user_id: 669, name: "PAT 457", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 458, user_id: 669, name: "PAT 458", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>1320 credential type specified as `personal_access_tokens`1321 behaves like filtering by `personal_access_tokens`1322 is expected to contain exactly #<PersonalAccessToken id: 454, user_id: 669, name: "PAT 454", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 457, user_id: 669, name: "PAT 457", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 458, user_id: 669, name: "PAT 458", revoked: false, expires_at: "2023-12-22...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>1323 credential type specified as `ssh_keys`1324 filters by ssh keys1325 credential type specified as `resource_access_tokens`1326 filters by project and group access tokens1327 credential type specified as `gpg_keys`1328 filters by gpg keys1329 avoids N+1 queries1330 when `credentials_inventory` feature is disabled1331 returns 4041332 non-admin user1333 returns 4041334 DELETE #destroy1335 behaves like credentials inventory delete SSH key1336 admin user1337 when `credentials_inventory` feature is enabled1338 and the ssh_key exists1339 and it removes the key1340 renders a success message1341 notifies the key owner1342 and it fails to remove the key1343 renders a failure message1344 and the ssh_key does not exist1345 renders a not found message1346 when `credentials_inventory` feature is disabled1347 returns 4041348 non-admin user1349 returns 4041350 PUT #revoke1351 admin user1352 when `credentials_inventory` feature is enabled1353 non-existent personal access token specified1354 behaves like responds with 4041355 is expected to respond with numeric status code not_found1356 is expected to respond with numeric status code not_found1357 is expected to respond with numeric status code not_found1358 with an existing personal access token1359 does not have permissions to revoke the credential1360 behaves like displays the flash error message1361 is expected to eql "Not permitted to revoke"1362 personal access token is already revoked1363 behaves like displays the flash success message1364 is expected to start with "Revoked personal access token "1365 aggregate_failures1366 aggregate_failures1367 personal access token is already expired1368 behaves like displays the flash success message1369 is expected to start with "Revoked personal access token "1370 aggregate_failures1371 aggregate_failures1372 personal access token is not revoked or expired1373 informs the token owner1374 behaves like displays the flash success message1375 is expected to start with "Revoked personal access token "1376 aggregate_failures1377 aggregate_failures1378 when `credentials_inventory` feature is disabled1379 behaves like responds with 4041380 is expected to respond with numeric status code not_found1381 is expected to respond with numeric status code not_found1382 is expected to respond with numeric status code not_found1383 non-admin user1384 behaves like responds with 4041385 is expected to respond with numeric status code not_found1386 is expected to respond with numeric status code not_found1387 is expected to respond with numeric status code not_found1388Admin::CredentialsController1389 behaves like tracking unique visits1390 tracks unique visit if the format is HTML1391 tracks unique visit if DNT is not enabled1392 does not track unique visit if DNT is enabled1393 does not track unique visit if the format is JSON1394Create an external audit event destination1395 when feature is licensed1396 when current user is a group owner1397 resolves group by full path1398 creates the destination1399 when overriding default name1400 creates the destination1401 behaves like creates an audit event1402 audits the creation1403 when overriding verification token1404 creates the destination1405 behaves like creates an audit event1406 audits the creation1407 when verification token is invalid1408 when verification token is too short1409 returns correct errors1410 behaves like a mutation that does not create a destination1411 does not destroy the destination1412 does not audit the creation1413 when verification token is too long1414 returns correct errors1415 behaves like a mutation that does not create a destination1416 does not destroy the destination1417 does not audit the creation1418 when destination is invalid1419 returns correct errors1420 behaves like a mutation that does not create a destination1421 does not destroy the destination1422 does not audit the creation1423 when group is a subgroup1424 behaves like a mutation that does not create a destination1425 does not destroy the destination1426 does not audit the creation1427 when current user is a group maintainer1428 behaves like a mutation that does not create a destination1429 does not destroy the destination1430 does not audit the creation1431 when current user is a group developer1432 behaves like a mutation that does not create a destination1433 does not destroy the destination1434 does not audit the creation1435 when current user is a group guest1436 behaves like a mutation that does not create a destination1437 does not destroy the destination1438 does not audit the creation1439 when feature is unlicensed1440 does not create the destination1441 behaves like a mutation on an unauthorized resource1442 behaves like a mutation that returns top-level errors1443 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"1444API::EpicLinks1445 GET /groups/:id/epics/:epic_iid/epics1446 behaves like user does not have access1447 returns 403 when subepics feature is disabled1448 returns 404 not found error for a user without permissions to see the group1449 unauthenticated user1450 returns 401 unauthorized error1451 when subepics feature is enabled1452 returns 200 status1453 with group hierarchy1454 returns children from any group hierarchy1455 executes limited number of N+1 queries1456 POST /groups/:id/epics/:epic_iid/epics/child_epic_id1457 behaves like user does not have access1458 returns 403 when subepics feature is disabled1459 returns 404 not found error for a user without permissions to see the group1460 unauthenticated user1461 returns 401 unauthorized error1462 when subepics feature is enabled1463 and group is public and user is not a member1464 returns 201 status1465 and `epic_relations_for_non_members` feature flag is disabled1466 returns 4031467 when user is guest1468 returns 201 status1469 when target epic cannot be read1470 returns 404 status1471 POST /groups/:id/epics/:epic_iid/epics1472 behaves like user does not have access1473 returns 403 when subepics feature is disabled1474 returns 404 not found error for a user without permissions to see the group1475 unauthenticated user1476 returns 401 unauthorized error1477 when subepics feature is enabled1478 when user is not a member1479 returns 4031480 when user is a guest1481 returns 201 status1482 when user is a reporter1483 returns 201 status1484 does apply the confidential parameter if set1485 when the parent epic is confidential1486 copies the confidentiality status from the parent epic1487 does not allow creating a non-confidential sub-epic1488 and epic has errors1489 returns 400 error1490 PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id1491 behaves like user does not have access1492 returns 403 when subepics feature is disabled1493 returns 404 not found error for a user without permissions to see the group1494 unauthenticated user1495 returns 401 unauthorized error1496 when subepics are enabled1497 when user has permissions to reorder epics1498 returns status 2001499 when child belongs to a different group hierarchy1500 returns status 404 if user is not a member1501 returns status 200 if user has guest access1502 when user does not have permissions to reorder epics1503 returns status 4031504 DELETE /groups/:id/epics/:epic_iid/epics1505 behaves like user does not have access1506 returns 403 when subepics feature is disabled1507 returns 404 not found error for a user without permissions to see the group1508 unauthenticated user1509 returns 401 unauthorized error1510 when epics feature is enabled1511 and group is public and user is not a member1512 returns 201 status1513 and `epic_relations_for_non_members` feature flag is disabled1514 returns 4031515 when user is guest1516 returns 200 status1517 with confidential epic1518 returns status 4031519 when child belongs to a different group hierarchy1520 when user is not a member of the child's group1521 returns 404 status1522 when user has guest access to child's group1523 returns 200 status1524 when epics feature is disabled1525 when user is developer1526 returns 403 status1527Onboarding::Status1528 #eligible_for_iterable_trigger?1529 trial?: true, invite?: true, redirect_to_company_form?: true, continue_full_onboarding?: true1530 is expected to eq false1531 trial?: true, invite?: true, redirect_to_company_form?: true, continue_full_onboarding?: false1532 is expected to eq false1533 trial?: true, invite?: true, redirect_to_company_form?: false, continue_full_onboarding?: true1534 is expected to eq false1535 trial?: true, invite?: true, redirect_to_company_form?: false, continue_full_onboarding?: false1536 is expected to eq false1537 trial?: true, invite?: false, redirect_to_company_form?: true, continue_full_onboarding?: true1538 is expected to eq false1539 trial?: true, invite?: false, redirect_to_company_form?: true, continue_full_onboarding?: false1540 is expected to eq false1541 trial?: true, invite?: false, redirect_to_company_form?: false, continue_full_onboarding?: true1542 is expected to eq false1543 trial?: true, invite?: false, redirect_to_company_form?: false, continue_full_onboarding?: false1544 is expected to eq false1545 trial?: false, invite?: true, redirect_to_company_form?: true, continue_full_onboarding?: true1546 is expected to eq true1547 trial?: false, invite?: true, redirect_to_company_form?: true, continue_full_onboarding?: false1548 is expected to eq true1549 trial?: false, invite?: true, redirect_to_company_form?: false, continue_full_onboarding?: true1550 is expected to eq true1551 trial?: false, invite?: true, redirect_to_company_form?: false, continue_full_onboarding?: false1552 is expected to eq true1553 trial?: false, invite?: false, redirect_to_company_form?: true, continue_full_onboarding?: true1554 is expected to eq false1555 trial?: false, invite?: false, redirect_to_company_form?: true, continue_full_onboarding?: false1556 is expected to eq false1557 trial?: false, invite?: false, redirect_to_company_form?: false, continue_full_onboarding?: true1558 is expected to eq true1559 trial?: false, invite?: false, redirect_to_company_form?: false, continue_full_onboarding?: false1560 is expected to eq false1561 when setup_for_company is true and a user is a member already1562 is expected to eq true1563 #subscription?1564 when on SaaS1565 when in subscription flow1566 is expected to eq true1567 when not in subscription flow1568 when no user location is stored1569 is expected to eq false1570 when user location does not indicate subscription1571 is expected to eq false1572 when user location does not have value in session1573 is expected to eq false1574 when not on SaaS1575 is expected to eq false1576 #stored_user_location1577 when no user location is stored1578 is expected to be nil1579 when user location exists1580 is expected to eq "/some/path"1581 when user location does not have value in session1582 is expected to be nil1583 #onboarding_tracking_label1584 is expected to eq "free_registration"1585 when it is a trial_onboarding_flow1586 is expected to eq "trial_registration"1587 #company_lead_product_interaction1588 with a trial registration1589 is expected to eq "SaaS Trial"1590 with automatic trial1591 is expected to eq "SaaS Trial - defaulted"1592 #setup_for_company?1593 params: {:user=>{:setup_for_company=>true}}, expected_result: true1594 is expected to eq true1595 params: {:user=>{:setup_for_company=>false}}, expected_result: false1596 is expected to eq false1597 params: {:user=>{}}, expected_result: false1598 is expected to eq false1599 #group_creation_tracking_label1600 trial_onboarding_flow?: true, trial?: true, expected_result: "trial_registration"1601 is expected to eq "trial_registration"1602 trial_onboarding_flow?: true, trial?: false, expected_result: "trial_registration"1603 is expected to eq "trial_registration"1604 trial_onboarding_flow?: false, trial?: true, expected_result: "trial_registration"1605 is expected to eq "trial_registration"1606 trial_onboarding_flow?: false, trial?: false, expected_result: "free_registration"1607 is expected to eq "free_registration"1608 .enabled?1609 when on SaaS1610 is expected to eq true1611 when not on SaaS1612 is expected to eq false1613 #enabled?1614 when on SaaS1615 is expected to eq true1616 when not on SaaS1617 is expected to eq false1618 #joining_a_project?1619 params: {:joining_project=>"true"}, expected_result: true1620 is expected to eq true1621 params: {:joining_project=>"false"}, expected_result: false1622 is expected to eq false1623 params: {}, expected_result: false1624 is expected to eq false1625 params: {:joining_project=>""}, expected_result: false1626 is expected to eq false1627 #redirect_to_company_form?1628 setup_for_company?: true, trial?: false, expected_result: true1629 is expected to eq true1630 setup_for_company?: false, trial?: false, expected_result: false1631 is expected to eq false1632 setup_for_company?: false, trial?: true, expected_result: true1633 is expected to eq true1634 #trial?1635 params: {:trial=>"true"}, enabled?: false, expected_result: false1636 is expected to eq false1637 params: {:trial=>"false"}, enabled?: true, expected_result: false1638 is expected to eq false1639 params: {:trial=>"true"}, enabled?: true, expected_result: true1640 is expected to eq true1641 params: {:trial=>"false"}, enabled?: false, expected_result: false1642 is expected to eq false1643 params: {}, enabled?: true, expected_result: false1644 is expected to eq false1645 params: {}, enabled?: false, expected_result: false1646 is expected to eq false1647 params: {:trial=>""}, enabled?: false, expected_result: false1648 is expected to eq false1649 params: {:trial=>""}, enabled?: true, expected_result: false1650 is expected to eq false1651 #trial_onboarding_flow?1652 params: {:trial_onboarding_flow=>"true"}, expected_result: true1653 is expected to eq true1654 params: {:trial_onboarding_flow=>"false"}, expected_result: false1655 is expected to eq false1656 params: {}, expected_result: false1657 is expected to eq false1658 params: {:trial_onboarding_flow=>""}, expected_result: false1659 is expected to eq false1660 #continue_full_onboarding?1661 subscription?: true, invite?: true, oauth?: true, enabled?: true1662 is expected to eq false1663 subscription?: true, invite?: true, oauth?: true, enabled?: false1664 is expected to eq false1665 subscription?: true, invite?: true, oauth?: false, enabled?: true1666 is expected to eq false1667 subscription?: true, invite?: true, oauth?: false, enabled?: false1668 is expected to eq false1669 subscription?: true, invite?: false, oauth?: true, enabled?: true1670 is expected to eq false1671 subscription?: true, invite?: false, oauth?: true, enabled?: false1672 is expected to eq false1673 subscription?: true, invite?: false, oauth?: false, enabled?: true1674 is expected to eq false1675 subscription?: true, invite?: false, oauth?: false, enabled?: false1676 is expected to eq false1677 subscription?: false, invite?: true, oauth?: true, enabled?: true1678 is expected to eq false1679 subscription?: false, invite?: true, oauth?: true, enabled?: false1680 is expected to eq false1681 subscription?: false, invite?: true, oauth?: false, enabled?: true1682 is expected to eq false1683 subscription?: false, invite?: true, oauth?: false, enabled?: false1684 is expected to eq false1685 subscription?: false, invite?: false, oauth?: true, enabled?: true1686 is expected to eq false1687 subscription?: false, invite?: false, oauth?: true, enabled?: false1688 is expected to eq false1689 subscription?: false, invite?: false, oauth?: false, enabled?: true1690 is expected to eq true1691 subscription?: false, invite?: false, oauth?: false, enabled?: false1692 is expected to eq false1693 #iterable_product_interaction1694 with members for the user1695 is expected to eq "Invited User"1696 without members for the user1697 is expected to eq "Personal SaaS Registration"1698 #oauth?1699 when in oauth1700 is expected to eq true1701 when there are params on the oauth path1702 is expected to eq true1703 when not in oauth1704 when no user location is stored1705 is expected to eq false1706 when user location does not indicate oauth1707 is expected to eq false1708 when user location does not have value in session1709 is expected to eq false1710 #invite?1711 with members for the user1712 is expected to eq true1713 without members for the user1714 is expected to eq false1715 #tracking_label1716 is expected to eq "free_registration"1717 when it is a trial1718 is expected to eq "trial_registration"1719 when it is an invite1720 is expected to eq "invite_registration"1721Update a work item1722 with iteration widget input1723 when iterations feature is unlicensed1724 behaves like work item is not updated1725 ignores the update1726 when iterations feature is licensed1727 behaves like user without permission to admin work item cannot update the attribute1728 when a guest user is also an author of the work item1729 behaves like work item is not updated1730 ignores the update1731 when user has permissions to admin a work item1732 when setting to a new iteration1733 behaves like work item's iteration is updated1734 updates the work item's iteration1735 when setting iteration to null1736 behaves like work item's iteration is updated1737 updates the work item's iteration1738 when the user does not have permission to update the work item1739 behaves like work item is not updated1740 ignores the update1741 when a base attribute is present1742 behaves like a mutation that returns top-level errors1743 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"1744 with weight widget input1745 when issuable weights is unlicensed1746 behaves like work item is not updated1747 ignores the update1748 when issuable weights is licensed1749 when user has permissions to admin a work item1750 behaves like update work item weight widget1751 updates the weight widget1752 when the updated work item is not valid1753 returns validation errors without the work item1754 when setting weight to null1755 updates the work item1756 when using quick action1757 behaves like update work item weight widget1758 updates the weight widget1759 when the updated work item is not valid1760 returns validation errors without the work item1761 when setting weight to null1762 updates the work item1763 when the work item type does not support the weight widget1764 behaves like work item is not updated1765 ignores the update1766 when the work item is directly associated with a group1767 behaves like update work item weight widget1768 updates the weight widget1769 when the updated work item is not valid1770 returns validation errors without the work item1771 behaves like user without permission to admin work item cannot update the attribute1772 when a guest user is also an author of the work item1773 behaves like work item is not updated1774 ignores the update1775 with progress widget input1776 when okrs is unlicensed1777 behaves like work item is not updated1778 ignores the update1779 when okrs is licensed1780 when user has permissions to admin a work item1781 updates the progress widget1782 behaves like user without permission to admin work item cannot update the attribute1783 when a guest user is also an author of the work item1784 behaves like work item is not updated1785 ignores the update1786 when the user does not have permission to update the work item1787 behaves like work item is not updated1788 ignores the update1789 when a base attribute is present1790 behaves like a mutation that returns top-level errors1791 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"1792 with status widget input1793 when requirements is unlicensed1794 behaves like work item is not updated1795 ignores the update1796 when requirements is licensed1797 when user has permissions to admin a work item1798 behaves like update work item status widget1799 updates the status widget1800 when the updated work item is not valid1801 returns validation errors without the work item1802 when setting status to an invalid value1803 does not update the work item's status1804 behaves like user without permission to admin work item cannot update the attribute1805 when a guest user is also an author of the work item1806 behaves like work item is not updated1807 ignores the update1808 when the user does not have permission to update the work item1809 behaves like work item is not updated1810 ignores the update1811 when a base attribute is present1812 behaves like a mutation that returns top-level errors1813 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"1814 with health status widget input1815 when issuable_health_status is unlicensed1816 behaves like work item is not updated1817 ignores the update1818 when issuable_health_status is licensed1819 behaves like user without permission to admin work item cannot update the attribute1820 when a guest user is also an author of the work item1821 behaves like work item is not updated1822 ignores the update1823 when user has permissions to update the work item1824 updates work item health status1825 when using quick action1826 updates work item health status1827 when clearing health status1828 updates the work item1829 when the work item type does not support the health status widget1830 behaves like work item is not updated1831 ignores the update1832API::EpicIssues1833 GET /groups/:id/epics/:epic_iid/issues1834 when epics feature is disabled1835 returns 403 forbidden error1836 when epics feature is enabled1837 when an error occurs1838 returns 401 unauthorized error for non authenticated user1839 returns 404 not found error for a user without permissions to see the group1840 when the request is correct1841 responds 200 and matches the response schema1842 accepts pagination params1843 returns multiple issues without performing N + 11844 returns multiple issues without performing N + 11845 POST /groups/:id/epics/:epic_iid/issues1846 when epics feature is disabled1847 returns 403 forbidden error1848 when epics feature is enabled1849 when an error occurs1850 returns 401 unauthorized error for non authenticated user1851 returns 404 not found error for a user without permissions to see the group1852 behaves like user with insufficient permissions1853 when user does not have admin_issue_relation permissions for issue1854 returns 403 forbidden error1855 without permissions to read the epic1856 returns 403 forbidden error1857 when issue project is not under the epic group1858 returns an error1859 when the request is correct1860 returns 201 status1861 matches the response schema1862 assigns the issue to the epic1863 DELETE /groups/:id/epics/:epic_iid/issues/:epic_issue_id"1864 when epics feature is disabled1865 returns 403 forbidden error1866 when epics feature is enabled1867 when an error occurs1868 returns 401 unauthorized error for non authenticated user1869 returns 404 not found error for a user without permissions to see the group1870 behaves like user with insufficient permissions1871 when user does not have admin_issue_relation permissions for issue1872 returns 403 forbidden error1873 without permissions to read the epic1874 returns 403 forbidden error1875 when epic_issue association does not include the epic in the url1876 returns 404 not found error1877 when the request is correct1878 returns 200 status1879 matches the response schema1880 removes the association1881 PUT /groups/:id/epics/:epic_iid/issues/:epic_issue_id1882 when epics feature is disabled1883 returns 403 forbidden error1884 when epics feature is enabled1885 when an error occurs1886 returns 401 unauthorized error for non authenticated user1887 returns 404 not found error for a user without permissions to see the group1888 returns 404 not found error for the link of another epic1889 with insufficient permissions1890 returns 403 forbidden error for a user who can not move the issue1891 when the request is correct1892 returns 200 status1893 updates the positions values1894 matches the response schema1895Ldap::OmniauthCallbacksController1896 displays LDAP sync flash on first sign in1897 skips LDAP sync flash on subsequent sign ins1898 for sign up1899 does not enforce onboarding for sign up1900 multiple ldap providers configured1901 multiple ldap servers licensed feature available1902 allows sign in to first provider1903 allows sign in to other provider1904 multiple ldap servers licensed feature not available1905 allows sign in1906 does not allow sign in for other providers1907 access denied1908 logs a failure event1909API::License1910 GET /license1911 retrieves the license information if admin is logged in1912 denies access if not admin1913 behaves like GET request permissions for admin mode1914 behaves like when admin1915 behaves like makes request1916 returns1917 behaves like makes request1918 returns1919 behaves like when user1920 returns1921 behaves like makes request1922 returns1923 GET /license/usage_export1924 retrieves the license usage data if admin is logged in1925 denies access if not admin1926 behaves like GET request permissions for admin mode1927 behaves like when admin1928 behaves like makes request1929 returns1930 behaves like makes request1931 returns1932 behaves like when user1933 returns1934 behaves like makes request1935 returns1936 POST /license1937 adds a new license if admin is logged in1938 denies access if not admin1939 returns 400 if the license cannot be saved1940 behaves like POST request permissions for admin mode1941 behaves like when admin1942 behaves like makes request1943 returns1944 behaves like makes request1945 returns1946 behaves like when user1947 returns1948 behaves like makes request1949 returns1950 DELETE /license/:id1951 returns an error if the license doesn't exist1952 returns 403 if the user is not an admin1953 behaves like license removal1954 destroys a license and returns 2041955 behaves like DELETE request permissions for admin mode1956 behaves like when admin1957 behaves like makes request1958 returns1959 behaves like makes request1960 returns1961 behaves like when user1962 returns1963 behaves like makes request1964 returns1965 with a cloud license1966 behaves like license removal1967 destroys a license and returns 2041968 GET /license/:id1969 gets a license by its id1970 returns an error if the license doesn't exist1971 returns 403 if the user is not an admin1972 behaves like GET request permissions for admin mode1973 behaves like when admin1974 behaves like makes request1975 returns1976 behaves like makes request1977 returns1978 behaves like when user1979 returns1980 behaves like makes request1981 returns1982 PUT /license/:id/refresh_billable_users1983 behaves like PUT request permissions for admin mode1984 behaves like when admin1985 behaves like makes request1986 returns1987 behaves like makes request1988 returns1989 behaves like when user1990 returns1991 behaves like makes request1992 returns1993 when user is an admin1994 schedules a refresh of billable_users1995 when license doesn't exist1996 returns 4041997 when user is not an admin1998 returns 4031999 when user is unavailable2000 returns 4012001 GET /licenses2002 returns a collection of licenses2003 returns an empty array if no licenses exist2004 returns 403 if the user is not an admin2005 behaves like GET request permissions for admin mode2006 behaves like when admin2007 behaves like makes request2008 returns2009 behaves like makes request2010 returns2011 behaves like when user2012 returns2013 behaves like makes request2014 returns2015API::ProjectClusters2016 POST /projects/:id/clusters/user2017 when user sets specific environment scope2018 creates a cluster with that specific environment2019 when does not set an specific environment scope2020 sets default environment2021 when another cluster exists2022 responds with 2012023 allows multiple clusters to be associated to project2024 PUT /projects/:id/clusters/:cluster_id2025 With a GCP cluster2026 updates the environment scope2027 With an user cluster2028 updates the environment scope2029Groups::Analytics::CycleAnalytics::ValueStreamsController2030 value stream settings2031 when updating2032 updates project ids filter array2033 when project ids filter parameter is empty2034 clears the filter2035 when creating2036 saves value stream setting2037 behaves like value stream controller actions2038 GET index2039 when user is a member2040 returns the persisted value streams2041 when user is not a member2042 renders 4042043 GET #show2044 succeeds2045 when value stream is not found2046 renders 4042047 behaves like authorization examples2048 when not licensed2049 renders 4042050 when user is not a member2051 renders 4042052 GET #new2053 succeeds2054 behaves like authorization examples2055 when not licensed2056 renders 4042057 when user is not a member2058 renders 4042059 GET #edit2060 succeeds2061 when value stream is not found2062 renders 404 not found2063 behaves like authorization examples2064 when not licensed2065 renders 4042066 when user is not a member2067 renders 4042068 PUT #update2069 succeeds2070 when validation error happens2071 returns 422 unprocessable entity2072 when value stream is not found2073 renders 404 not found2074 when updating value stream with in-memory stages2075 returns a successful 200 response2076 when deleting the stage by excluding it from the stages array2077 returns a successful 200 response2078 behaves like authorization examples2079 when not licensed2080 renders 4042081 when user is not a member2082 renders 4042083 POST #create2084 succeeds2085 when validation error happens2086 returns 422 unprocessable entity2087 when stage names are not unique2088 returns 422 unprocessable entity2089 behaves like authorization examples2090 when not licensed2091 renders 4042092 when user is not a member2093 renders 4042094 DELETE #destroy2095 succeeds2096 when value stream is not found2097 renders 404 not found2098 behaves like authorization examples2099 when not licensed2100 renders 4042101 when user is not a member2102 renders 4042103API::GroupProtectedBranches2104 DELETE /groups/:id/protected_branches/unprotect/:branch2105 unprotects a single branch2106 returns 404 if branch does not exist2107 when a policy restricts rule deletion2108 prevents deletion of the protected branch rule2109 when branch has a wildcard in its name2110 unprotects a wildcard branch2111 GET /groups/:id/protected_branches2112 when authenticated as a owner2113 when search param is not present2114 behaves like protected branches2115 returns the protected branches2116 when search param is present2117 behaves like protected branches2118 returns the protected branches2119 when authenticated as a guest2120 behaves like 403 response2121 returns 4032122 avoid N+1 sql queries2123 does not perform N+1 sql queries2124 PATCH /groups/:id/protected_branches/:name2125 when authenticated as a owner2126 updates a single branch2127 when returned protected branch is invalid2128 returns a 4222129 when authenticated as a guest2130 returns a 403 error2131 POST /groups/:id/protected_branches2132 when authenticated as a owner2133 returns a 409 error if the same branch is protected twice2134 when protects by different params2135 allow_force_push: nil, push_access_level: nil, merge_access_level: nil2136 is expected to eq 402137 allow_force_push: nil, push_access_level: 30, merge_access_level: nil2138 is expected to eq 402139 allow_force_push: nil, push_access_level: nil, merge_access_level: 302140 is expected to eq 302141 allow_force_push: nil, push_access_level: 30, merge_access_level: 302142 is expected to eq 302143 allow_force_push: nil, push_access_level: 0, merge_access_level: nil2144 is expected to eq 402145 allow_force_push: nil, push_access_level: nil, merge_access_level: 02146 is expected to eq 02147 allow_force_push: nil, push_access_level: 0, merge_access_level: 02148 is expected to eq 02149 allow_force_push: true, push_access_level: nil, merge_access_level: nil2150 is expected to eq 402151 code_owner_approval_required2152 feature_available: false, param_value: false, result_value: false2153 is expected to eq false2154 feature_available: false, param_value: true, result_value: false2155 is expected to eq false2156 feature_available: true, param_value: false, result_value: false2157 is expected to eq false2158 feature_available: true, param_value: true, result_value: true2159 is expected to eq true2160 when branch has a wildcard in its name2161 protects multiple branches with a wildcard in the name2162 when a policy restricts rule creation2163 prevents creations of the protected branch rule2164 when protected branch is invalid2165 returns a 4222166 when authenticated as a guest2167 returns a 403 error if guest2168 GET /groups/:id/protected_branches/:branch2169 when authenticated as a owner2170 behaves like protected branch2171 returns the protected branch2172 when protected branch does not exist2173 behaves like 404 response2174 returns 4042175 when protected branch contains a wildcard2176 behaves like protected branch2177 returns the protected branch2178 when protected branch does not exist2179 behaves like 404 response2180 returns 4042181 when protected branch contains a period2182 behaves like protected branch2183 returns the protected branch2184 when protected branch does not exist2185 behaves like 404 response2186 returns 4042187 when authenticated as a guest2188 behaves like 403 response2189 returns 4032190Query.[group](fullPath).doraPerformanceScoreCounts2191 when there is data for the target month2192 working query2193 behaves like a working graphql query2194 returns a successful response2195 when no filters are applied2196 returns the correct data2197 when filters are applied2198 returns the correct data2199 returns a count of projects with no DORA scores in given time frame2200 when no metric count fields are requested2201 does not fire off any data queries2202 behaves like a working graphql query2203 returns a successful response2204 when user does not have access2205 returns nil2206 behaves like a working graphql query2207 returns a successful response2208 when DORA analytics feature is not available2209 returns nil2210 behaves like a working graphql query2211 returns a successful response2212 when there is some error in the service2213 returns an error2214 when there is no data for the target month2215 working query2216 returns all empty data2217 returns a count of projects with no DORA scores in given time frame2218 behaves like a working graphql query2219 returns a successful response2220 when there is partial data for the target month2221 working query2222 returns partial data2223 returns a count of projects with no DORA scores in given time frame2224 behaves like a working graphql query2225 returns a successful response2226Projects::ProtectedEnvironmentsController2227 #POST create2228 with valid access and params2229 with valid params2230 creates a new ProtectedEnvironment2231 sets a flash2232 redirects to CI/CD settings2233 with invalid params2234 does not create a new ProtectedEnvironment2235 redirects to CI/CD settings2236 with invalid access2237 renders 4042238 #PUT update2239 when the user is authorized2240 finds the requested protected environment2241 updates the protected environment2242 is successful2243 when the user is not authorized2244 is not successful2245 #DELETE destroy2246 when the user is authorized2247 finds the requested protected environment2248 deletes the requested protected environment2249 redirects to CI/CD settings2250 when the user is not authorized2251 is not successful2252getting project flow metrics2253 behaves like value stream analytics flow metrics cycleTime examples2254 returns the correct value2255 when the user is not authorized2256 returns nil2257 when outside of the date range2258 returns 0 count2259 with all filters2260 returns filtered count2261 when cycle analytics is not licensed2262 returns nil2263 behaves like value stream analytics flow metrics leadTime examples2264 returns the correct value2265 when the user is not authorized2266 returns nil2267 when outside of the date range2268 returns 0 count2269 with all filters2270 returns filtered count2271 when cycle analytics is not licensed2272 returns nil2273 behaves like value stream analytics flow metrics issuesCompleted examples2274 returns the correct value2275 when the user is not authorized2276 returns nil2277 when outside of the date range2278 returns 0 count2279 when filtering by weight and negated assignee2280 returns 1 count2281 when filtering by negated label2282 returns 2 count2283 when filtering by negated reaction emoji2284 returns 1 count2285 when filtering by epic2286 returns 1 count2287 with all filters2288 returns filtered count2289 when cycle analytics is not licensed2290 returns nil2291 behaves like value stream analytics flow metrics deploymentCount examples2292 returns the correct count2293 uses DORA data2294 when the user is not authorized2295 returns nil2296 when outside of the date range2297 returns 0 count2298 behaves like validation on Time arguments2299 when `to` parameter is higher than `from`2300 returns error2301 when from and to parameter range is higher than 180 days2302 returns error2303API::AuditEvents2304 Unique usage tracking2305 after calling all audit_events APIs as a single licensed user2306 tracks 3 separate events2307 reports one unique event2308 GET /audit_events2309 when authenticated, as a user2310 behaves like 403 response2311 returns 4032312 when authenticated, as an admin2313 audit events feature is not available2314 behaves like 403 response2315 returns 4032316 audit events feature is available2317 returns 200 response2318 includes the correct pagination headers2319 behaves like GET request permissions for admin mode2320 behaves like when admin2321 behaves like makes request2322 returns2323 behaves like makes request2324 returns2325 behaves like when user2326 returns2327 behaves like makes request2328 returns2329 parameters2330 behaves like an endpoint with keyset pagination2331 on making requests with supported ordering structure2332 includes keyset url params in the url response2333 does not include pagination headers2334 paginates the records correctly2335 on making requests with unsupported ordering structure2336 returns error2337 entity_type parameter2338 returns audit events of the provided entity type2339 entity_id parameter2340 returns audit_events of the provided entity id2341 requires entity_type parameter to be present2342 behaves like 400 response2343 returns 4002344 created_before parameter2345 returns audit events created before the given parameter2346 created_after parameter2347 returns audit events created after the given parameter2348 attributes2349 exposes the right attributes2350 GET /audit_events/:id2351 when authenticated, as a user2352 behaves like 403 response2353 returns 4032354 when authenticated, as an admin2355 audit events feature is not available2356 behaves like 403 response2357 returns 4032358 audit events feature is available2359 behaves like GET request permissions for admin mode2360 behaves like when admin2361 behaves like makes request2362 returns2363 behaves like makes request2364 returns2365 behaves like when user2366 returns2367 behaves like makes request2368 returns2369 audit event exists2370 returns 200 response2371 attributes2372 exposes the right attributes2373 audit event does not exist2374 behaves like 404 response2375 returns 4042376getting a work item list for a project2377 work items with widgets2378 with status widget2379 returns work items including status2380 avoids N+1 queries2381 when filtering2382 with status widget2383 filters by status argument2384 with legacy requirement widget2385 returns work items including legacy iid2386 avoids N+1 queries2387 when filtering2388 with legacy requirement widget2389 filters by legacy IID argument2390 with progress widget2391 avoids N+1 queries2392 with test reports widget2393 avoids N+1 queries2394Projects::Integrations::Jira::IssuesController2395 GET #index2396 renders the "index" template2397 tracks usage2398 when jira_issues_integration licensed feature is not available2399 behaves like an action that returns a 4042400 returns 4042401 when jira integration is disabled2402 behaves like an action that returns a 4042403 returns 4042404 when jira integration does not exist2405 behaves like an action that returns a 4042406 returns 4042407 behaves like unauthorized when external service denies access2408 allows access when the authorization service allows it2409 allows access when the authorization service denies it2410 behaves like Snowplow event tracking with RedisHLL context2411 behaves like Snowplow event tracking2412 is emitted2413 when project has moved2414 redirects to the new issue tracker from the old one2415 json request2416 returns a list of serialized jira issues2417 renders bad request for IntegrationError2418 renders bad request for RequestError2419 sets pagination headers2420 when parameters are passed2421 when there are no params2422 behaves like proper parameter values2423 properly set the values2424 when pagination params2425 behaves like proper parameter values2426 properly set the values2427 when state is closed2428 behaves like proper parameter values2429 properly set the values2430 when status param2431 behaves like proper parameter values2432 properly set the values2433 when labels param2434 behaves like proper parameter values2435 properly set the values2436 when author_username param2437 behaves like proper parameter values2438 properly set the values2439 when assignee_username param2440 behaves like proper parameter values2441 properly set the values2442 when invalid params2443 behaves like proper parameter values2444 properly set the values2445 GET #show2446 when jira_issues_integration licensed feature is not available2447 returns 404 status2448 when jira_issues_integration licensed feature is available2449 renders `show` template2450 returns JSON response2451 when the description needs redaction2452 redacts confidential information from the issue JSON response2453 when the JSON fetched from Jira contains HTML2454 escapes the HTML in issue titles and references2455 when issue was not found2456 returns 404 status2457 returns 404 JSON response2458API::ResourceLabelEvents2459 when eventable is an Epic2460 behaves like resource_label_events API2461 GET /groups/:id/epics/:noteable_id/resource_label_events2462 with local label reference2463 returns an array of resource label events2464 returns a 404 error when eventable id not found2465 returns 404 when not authorized2466 with cross-project label reference2467 returns cross references accessible by user2468 does not return cross references not accessible by user2469 GET /groups/:id/epics/:noteable_id/resource_label_events/:event_id2470 with local label reference2471 returns a resource label event by id2472 returns 404 when not authorized2473 returns a 404 error if resource label event not found2474 with cross-project label reference2475 returns a 404 error if cross-reference project is not accessible2476 pagination2477 returns the second page2478Groups::BoardsController2479 GET index2480 when multiple boards are disabled2481 renders first board2482 when multiple boards are enabled2483 redirects to latest visited board2484 behaves like pushes wip limits to frontend2485 self-hosted with correct license2486 is enabled for all groups if the license is correct2487 on .com2488 for group with correct plan2489 is enabled2490 for group with incorrect or no plan2491 is not enabled2492 GET show2493 when multiple issue boards is enabled2494 lets user view board12495 lets user view board22496 when multiple issue boards is disabled2497 let user view the default shown board2498 renders 404 when project board is not the default2499API::GroupRepositoryStorageMoves2500 behaves like repository_storage_moves API2501 GET /groups/:id/repository_storage_moves2502 behaves like get container repository storage move list2503 returns container repository storage moves2504 avoids N+1 queries2505 returns the most recently created first2506 permissions2507 is expected to be allowed for :admin2508 is expected to be denied for :user2509 non-existent container2510 returns not found2511 GET /groups/:id/repository_storage_moves/:repository_storage_move_id2512 behaves like get single container repository storage move2513 returns a container repository storage move2514 non-existent container repository storage move2515 returns not found2516 permissions2517 is expected to be allowed for :admin2518 is expected to be denied for :user2519 non-existent container2520 returns not found2521 GET /group_repository_storage_moves2522 behaves like get container repository storage move list2523 returns container repository storage moves2524 avoids N+1 queries2525 returns the most recently created first2526 permissions2527 is expected to be allowed for :admin2528 is expected to be denied for :user2529 GET /group_repository_storage_moves/:repository_storage_move_id2530 behaves like get single container repository storage move2531 returns a container repository storage move2532 non-existent container repository storage move2533 returns not found2534 permissions2535 is expected to be allowed for :admin2536 is expected to be denied for :user2537 POST /groups/:id/repository_storage_moves2538 behaves like post single container repository storage move2539 schedules a container repository storage move2540 permissions2541 is expected to be allowed for :admin2542 is expected to be denied for :user2543 destination_storage_name is missing2544 schedules a container repository storage move2545 when container does not exist2546 returns not found2547 POST /group_repository_storage_moves2548 schedules the worker2549 source_storage_name is invalid2550 gives an error2551 destination_storage_name is missing2552 schedules the worker2553 destination_storage_name is invalid2554 gives an error2555 normal user2556 is expected to be denied for :user2557Create a new value stream2558 when namespace is a project2559 behaves like a request to create value streams2560 when user has permissions to create value streams2561 creates a new value stream2562 returns the created value stream2563 and uses invalid arguments2564 returns error2565 when stages argument is present2566 creates value stream with stages2567 when it has invalid parameters2568 returns error2569 when the user does not have permission to create a value stream2570 behaves like a mutation that returns a top-level access error2571 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"2572 when Value Stream Analytics is not available for the namespace2573 behaves like a mutation that returns a top-level access error2574 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"2575 when namespace is a group2576 behaves like a request to create value streams2577 when user has permissions to create value streams2578 creates a new value stream2579 returns the created value stream2580 and uses invalid arguments2581 returns error2582 when stages argument is present2583 creates value stream with stages2584 when it has invalid parameters2585 returns error2586 when the user does not have permission to create a value stream2587 behaves like a mutation that returns a top-level access error2588 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"2589 when Value Stream Analytics is not available for the namespace2590 behaves like a mutation that returns a top-level access error2591 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"2592 when setting argument is present2593 saves project_ids filter2594Query.instanceSecurityDashboard.projects2595 with logged in user2596 requesting projects in the dashboard2597 behaves like a working graphql query that returns data2598 contains data2599 finds only projects that were added to instance security dashboard2600 behaves like a working graphql query2601 returns a successful response2602 when loading vulnerabilityGrades alongside with Vulnerability.userNotesCount2603 behaves like a working graphql query that returns data2604 contains data2605 finds vulnerability grades for only projects that were added to instance security dashboard2606 behaves like a working graphql query2607 returns a successful response2608 requesting clusterAgents in the dashboard2609 behaves like a working graphql query that returns data2610 contains data2611 finds only projects that were added to instance security dashboard2612 behaves like a working graphql query2613 returns a successful response2614 with no user2615 behaves like a working graphql query that returns no data2616 contains no data2617 behaves like a working graphql query2618 returns a successful response2619Creating an Iteration2620 when the user does not have permission2621 does not create iteration2622 behaves like a mutation that returns a top-level access error2623 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"2624 when the user has permission2625 when iterations are disabled2626 behaves like a mutation that returns top-level errors2627 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"2628 when iterations are enabled2629 behaves like iteration create request2630 when iteration cadence id is not provided2631 behaves like iteration creation request2632 creates a new iteration in the specified cadence2633 when iteration cadence id is provided2634 behaves like iteration creation request2635 creates a new iteration in the specified cadence2636 when title is not given2637 creates an iteration2638 when trying to add an iteration to the cadence that uses automatic scheduling2639 does not create the iteration2640 behaves like a mutation that returns errors in the response2641 is expected to contain exactly "Iterations cannot be manually added to cadences that use automatic scheduling"2642 when there are ActiveRecord validation errors2643 does not create the iteration2644 behaves like a mutation that returns errors in the response2645 is expected to contain exactly "Start date can't be blank" and "Due date can't be blank"2646 when the list of attributes is empty2647 does not create the iteration2648 behaves like a mutation that returns top-level errors2649 is expected to contain exactly "The list of iteration attributes is empty"2650 when the params contains neither group nor project path2651 does not create the iteration2652 behaves like a mutation that returns top-level errors2653 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"2654 when the params contains both group and project path2655 does not create the iteration2656 behaves like a mutation that returns top-level errors2657 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"2658get list of epic boards2659 when the user does not have access to the epic board group2660 returns nil group2661 when user can access the epic board group2662 avoids N+1 queries2663 sorting and pagination2664 behaves like sorted paginated query2665 behaves like requires variables2666 shared example requires variables to be set2668 when sorting2669 sorts correctly2670 when paginating2671 paginates correctly2672 field values2673 returns the correct values for collapsed2674 returns the correct metadata values2675 when totalWeight not requested2676 does not required the value from the service2677getting notes for an epic2678 behaves like exposing regular notes on a noteable in GraphQL2679 for regular notes2680 includes all notes2681 avoids N+1 queries2682 behaves like a working graphql query2683 returns a successful response2684 when filter is provided2685 when filter is set to ALL_NOTES2686 returns all the notes2687 when filter is set to ONLY_COMMENTS2688 returns only the comments2689 when filter is set to ONLY_ACTIVITY2690 returns only the activity notes2691 for discussions2692 includes all discussion notes2693 behaves like a working graphql query2694 returns a successful response2695API::ElasticsearchIndexedNamespaces2696 PUT /elasticsearch_indexed_namespaces/rollout2697 prohibits non-admin2698 invokes ElasticNamespaceRolloutWorker rollout2699 behaves like PUT request permissions for admin mode2700 behaves like when admin2701 behaves like makes request2702 returns2703 behaves like makes request2704 returns2705 behaves like when user2706 returns2707 behaves like makes request2708 returns2709 when parameters are incorrect2710 percentage: -1, plan: "ultimate"2711 errs2712 percentage: 101, plan: "ultimate"2713 errs2714 percentage: nil, plan: "ultimate"2715 errs2716 percentage: 1, plan: nil2717 errs2718 percentage: 1, plan: "foobar"2719 errs2720 PUT /elasticsearch_indexed_namespaces/rollback2721 prohibits non-admin2722 invokes ElasticNamespaceRolloutWorker rollback2723 behaves like PUT request permissions for admin mode2724 behaves like when admin2725 behaves like makes request2726 returns2727 behaves like makes request2728 returns2729 behaves like when user2730 returns2731 behaves like makes request2732 returns2733 when parameters are incorrect2734 percentage: -1, plan: "ultimate"2735 errs2736 percentage: 101, plan: "ultimate"2737 errs2738 percentage: nil, plan: "ultimate"2739 errs2740 percentage: 1, plan: nil2741 errs2742 percentage: 1, plan: "foobar"2743 errs2744User with manage_project_access_tokens custom role2745 Projects::Settings::AccessTokensController2746 GET /:namespace/:project/-/settings/access_tokens2747 user has access via custom role2748 POST /:namespace/:project/-/settings/access_tokens2749 with custom access level same as the current user2750 behaves like POST resource access tokens available2751 renders JSON with a token2752 creates resource access token2753 creates project bot user2754 is expected to change `User.count` by 12755 is expected to change `PersonalAccessToken.count` by 12756 when unsuccessful2757 does not create the token2758 does not add the project bot as a member2759 does not create the project bot user2760 renders JSON with an error2761 with custom access level higher than the current user2762 renders JSON with an error2763 ProjectsController2764 user has access via custom role2765Creating a Merge Request from a Security::Finding2766 when the user does not have permission2767 does not create a merge request2768 behaves like a mutation that returns a top-level access error2769 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"2770 when the user has permission2771 with valid parameters2772 returns a successful response2773 creates a new merge request2774 when security_dashboard is disabled2775 behaves like a mutation that returns top-level errors2776 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"2777 when the user is a member of a custom role with permission2778 returns a successful response2779Groups::Analytics::CiCdAnalyticsController2780 GET #show2781 renders the #show page2782 when the current user doesn't have access2783 when the user is a guest2784 behaves like returns a 4032785 is expected to respond with numeric status code forbidden2786 when the user doesn't belong to the group2787 behaves like returns a 4032788 is expected to respond with numeric status code forbidden2789 when the user is not signed in2790 redirects the user to the login page2791 when the :group_ci_cd_analytics feature isn't licensed2792 behaves like returns a 4032793 is expected to respond with numeric status code forbidden2794 behaves like tracking unique visits2795 tracks unique visit if the format is HTML2796 tracks unique visit if DNT is not enabled2797 does not track unique visit if DNT is enabled2798 does not track unique visit if the format is JSON2799 behaves like tracking unique visits2800 tracks unique visit if the format is HTML2801 tracks unique visit if DNT is not enabled2802 does not track unique visit if DNT is enabled2803 does not track unique visit if the format is JSON2804 behaves like tracking unique visits2805 tracks unique visit if the format is HTML2806 tracks unique visit if DNT is not enabled2807 does not track unique visit if DNT is enabled2808 does not track unique visit if the format is JSON2809 behaves like tracking unique visits2810 tracks unique visit if the format is HTML2811 tracks unique visit if DNT is not enabled2812 does not track unique visit if DNT is enabled2813 does not track unique visit if the format is JSON2814 behaves like tracking unique visits2815 tracks unique visit if the format is HTML2816 tracks unique visit if DNT is not enabled2817 does not track unique visit if DNT is enabled2818 does not track unique visit if the format is JSON2819 behaves like tracking unique visits2820 tracks unique visit if the format is HTML2821 tracks unique visit if DNT is not enabled2822 does not track unique visit if DNT is enabled2823 does not track unique visit if the format is JSON2824Query.runners2825 Query.runners2826 with upgradeStatus argument2827 with deprecated CiRunnerUpgradeStatusType enum type2828 returns nil upgradeStatus for all runners2829 with new CiRunnerUpgradeStatus enum type2830 returns nil upgradeStatus for all runners2831 with membership argument2832 with deprecated RunnerMembershipFilter enum type2833 returns ids of expected runners2834 with new CiRunnerMembershipFilter enum type2835 returns ids of expected runners2836 when sorting by MOST_ACTIVE_DESC2837 when requesting not instance_type runners2838 when requesting not runners without type2839 returns error when feature is not enabled2840 behaves like sorted paginated query2841 behaves like requires variables2842 shared example requires variables to be set2844 when sorting2845 sorts correctly2846 when paginating2847 paginates correctly2848Delete a namespace filter for group level external audit event destinations2849 when feature is not licensed2850 behaves like a mutation on an unauthorized resource2851 behaves like a mutation that returns top-level errors2852 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"2853 behaves like does not delete the namespace filter2854 is expected not to change `destination.reload.namespace_filter`2855 when feature is licensed2856 when current user is group owner2857 deletes the filter2858 when current user is a group maintainer2859 behaves like does not delete the namespace filter2860 is expected not to change `destination.reload.namespace_filter`2861Creating a DAST Profile2862 behaves like an on-demand scan mutation when user cannot run an on-demand scan2863 when a user does not have access to the project2864 behaves like a mutation that returns a top-level access error2865 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"2866 when a user does not have access to run a dast scan on the project2867 behaves like a mutation that returns a top-level access error2868 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"2869 behaves like an on-demand scan mutation when user can run an on-demand scan2870 returns an empty errors array2871 returns dastProfile.id2872 returns dastProfile.editPath2873 returns a non-empty pipelineUrl2874 when on demand scan licensed feature is not available2875 behaves like a mutation that returns a top-level access error2876 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"2877 when dastProfileSchedule is present2878 creates a Dast::ProfileSchedule2879getting Incident Management on-call schedules2880 with project permissions2881 with unavailable feature2882 is expected to be empty2883 behaves like a working graphql query2884 returns a successful response2885 without on-call schedules2886 is expected to be empty2887 behaves like a working graphql query2888 returns a successful response2889 with on-call schedules2890 returns the correct properties of the on-call schedule2891 behaves like a working graphql query2892 returns a successful response2893 with an array of iids given2894 is expected to eq 12895 is expected to eq "1"2896 behaves like a working graphql query2897 returns a successful response2898 without project permissions2899 is expected to be nil2900 behaves like a working graphql query2901 returns a successful response2902Projects::PagesController2903 when max_pages_size param is specified2904 when user is an admin2905 when admin mode is enabled2906 updates max_pages_size2907 when admin mode is disabled2908 does not update max_pages_size2909 when user is not an admin2910 does not update max_pages_size2911 when updating pages_multiple_versions_enabled2912 with pages_multiple_versions feature flag disabled2913 does not update pages unique domain2914 with pages_multiple_versions licensed feature disabled2915 does not update pages unique domain2916 with pages_multiple_versions licensed feature and feature flag enabled2917 when user is a developer2918 does not update pages unique domain2919 when user is the project maintainer2920 updates pages_https_only and pages_multiple_versions and redirects back to pages settings2921 when it fails to update2922 adds an error message2923Query.workspaces(ids: [RemoteDevelopmentWorkspaceID!])2924 behaves like a fully working Query.workspaces query2925 behaves like multiple workspaces query2926 when remote_development feature is licensed2927 when user is authorized2928 behaves like query is a working graphql query2929 behaves like a working graphql query2930 returns a successful response2931 behaves like query returns workspaces hash containing workspace2932 includes only the expected workspace2933 when the user requests a workspace that they are not authorized for2934 does not return the unauthorized workspace2935 still returns the authorized workspace2936 when user is not authorized2937 behaves like query is a working graphql query2938 behaves like a working graphql query2939 returns a successful response2940 behaves like query returns blank2941 is expected to be blank2942 behaves like query in unlicensed environment2943 when remote_development feature is unlicensed2944 when user is authorized2945 behaves like query returns blank2946 is expected to be blank2947 behaves like query includes graphql error2948 includes a graphql error2949Projects::Analytics::IssuesAnalyticsController2950 behaves like issue analytics controller2951 GET #show2952 when issue analytics is not available for license2953 renders 4042954 when user does not have permission to read the resource2955 renders 4042956 when issue analytics is available for license2957 as HTML2958 renders show template2959 as JSON2960 renders new chart data as JSON2961 when new issue analytics data format is disabled2962 renders chart data as JSON2963 when user cannot view issues2964 does not count issues which user cannot view2965 GET #show2966 behaves like tracking unique visits2967 tracks unique visit if the format is HTML2968 tracks unique visit if DNT is not enabled2969 does not track unique visit if DNT is enabled2970 does not track unique visit if the format is JSON2971 behaves like Snowplow event tracking with RedisHLL context2972 behaves like Snowplow event tracking2973 is emitted2974Update of an existing issue2975 updates the issue2976 setting epic2977 sets the epic2978 the epic is not readable to the current user2979 does not set the epic2980 the epic is not an epic2981 does not set the epic2982 removing epic2983 removes the epic2984 the epic argument is not provided2985 does not remove the epic2986API::ResourceStateEvents2987 when eventable is an Epic2988 behaves like resource_state_events API2989 GET /groups/:id/epics/:noteable_id/resource_state_events2990 returns an array of resource state events2991 returns a 404 error when eventable id not found2992 returns 404 when not authorized2993 GET /groups/:id/epics/:noteable_id/resource_state_events/:event_id2994 returns a resource state event by id2995 returns 404 when not authorized2996 returns a 404 error if resource state event not found2997 pagination2998 returns the second page2999Running a DAST Scan3000 behaves like an on-demand scan mutation when user cannot run an on-demand scan3001 when a user does not have access to the project3002 behaves like a mutation that returns a top-level access error3003 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"3004 when a user does not have access to run a dast scan on the project3005 behaves like a mutation that returns a top-level access error3006 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"3007 behaves like an on-demand scan mutation when user can run an on-demand scan3008 returns an empty errors array3009 returns a pipeline_url containing the correct path3010 when on demand scan licensed feature is not available3011 behaves like a mutation that returns a top-level access error3012 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"3013 when dast_scanner_profile_id is provided3014 returns an empty errors array3015 when wrong type of global id is passed3016 behaves like a mutation that returns top-level errors3017 is expected to eq ["Variable $dastOnDemandScanCreateInput of type DastOnDemandScanCreateInput! was provided invalid val...rofileId (\"gid://gitlab/DastSiteProfile/2\" does not represent an instance of DastScannerProfile)"]3018 when pipeline creation fails3019 behaves like a mutation that returns errors in the response3020 is expected to contain exactly "full error messages"3021Query.workspaces(include_actual_states: [GraphQL::Types::String])3022 behaves like a fully working Query.currentUser.workspaces query3023 behaves like multiple workspaces query3024 when remote_development feature is licensed3025 when user is authorized3026 behaves like query is a working graphql query3027 behaves like a working graphql query3028 returns a successful response3029 behaves like query returns workspaces hash containing workspace3030 includes only the expected workspace3031 when the user requests a workspace that they are not authorized for3032 does not return the unauthorized workspace3033 still returns the authorized workspace3034 when user is not authorized3035 behaves like query is a working graphql query3036 behaves like a working graphql query3037 returns a successful response3038 behaves like query returns blank3039 is expected to be blank3040 behaves like query in unlicensed environment3041 when remote_development feature is unlicensed3042 when user is authorized3043 behaves like query returns blank3044 is expected to be blank3045 behaves like query includes graphql error3046 includes a graphql error3047Creating a workspace3048 creates the workspace3049 when remote_development feature is unlicensed3050 behaves like a mutation that returns top-level errors3051 is expected to include /'remote_development' licensed feature is not available/3052 when there are service errors3053 behaves like a mutation that returns errors in the response3054 is expected to contain exactly "some error"3055 when required arguments are missing3056 returns error about required argument3057 when the user cannot create a workspace for the project3058 behaves like a mutation on an unauthorized resource3059 behaves like a mutation that returns top-level errors3060 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"3061API::Analytics::ProjectDeploymentFrequency3062 when user has access to the project3063 returns `ok`3064 with params: from 2017 to 20193065 returns `bad_request` with expected message3066 with params: from 2019 to 20173067 returns `bad_request` with expected message3068 with params: from 2020/04/02 to request time3069 returns the expected deployment frequencies3070 with params: from 2020/02/01 to 2020/04/01 by all3071 returns the expected deployment frequencies3072 with params: from 2020/02/01 to 2020/04/01 by month3073 returns the expected deployment frequencies3074 with params: from 2020/02/01 to 2020/04/01 by day3075 returns the expected deployment frequencies3076 with params: invalid interval3077 returns `bad_request`3078 with params: missing from3079 returns `bad_request`3080 when user does not have access to the project3081 returns `not_found`3082 when feature is not available in plan3083 when user has access to the project3084 returns `forbidden`3085 when user does not have access to the project3086 returns `not_found`3087Unassigns scan execution policy project from a project/namespace3088 for project3089 behaves like unassigns security policy project3090 when licensed feature is available3091 when user is an owner of the container3092 when there is no security policy project assigned to the container3093 does not unassign the security policy project3094 when security policy project is assigned to the container3095 unassigns the security policy project3096 when user is not an owner3097 behaves like a mutation that returns top-level errors3098 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"3099 when feature is not licensed3100 behaves like a mutation that returns top-level errors3101 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"3102 for namespace3103 behaves like unassigns security policy project3104 when licensed feature is available3105 when user is an owner of the container3106 when there is no security policy project assigned to the container3107 does not unassign the security policy project3108 when security policy project is assigned to the container3109 unassigns the security policy project3110 when user is not an owner3111 behaves like a mutation that returns top-level errors3112 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"3113 when feature is not licensed3114 behaves like a mutation that returns top-level errors3115 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"3116Groups::ProtectedEnvironmentsController3117 #POST create3118 with valid params3119 creates a new ProtectedEnvironment3120 sets a flash3121 redirects to CI/CD settings3122 with invalid params3123 does not create a new ProtectedEnvironment3124 redirects to CI/CD settings3125 with invalid access3126 renders 4043127 #PUT update3128 updates the protected environment3129 with invalid params3130 returns unprocessable_entity3131 when the user is not authorized3132 renders 4043133 #DELETE destroy3134 finds the requested protected environment3135 deletes the requested protected environment3136 redirects to CI/CD settings3137 when destroy failed3138 sets a flash3139 when the user is not authorized3140 renders 4043141buildForecast3142 when forecast has invalid input3143 returns an error3144 when forecast context does not exist3145 returns an error3146 when forecast is good enough3147 returns forecast values3148 when forecast is too weak3149 returns no values3150API::GitlabSubscriptions::AddOnPurchases3151 PUT /namespaces/:id/subscription_add_on_purchase/:add_on_name3152 with a non-admin user3153 returns :forbidden3154 with admin user3155 when the namespace cannot be found3156 behaves like not found error3157 returns :not_found3158 when the add-on cannot be found3159 behaves like not found error3160 returns :not_found3161 when the add-on purchase exists3162 updates the found add-on purchase3163 with only required params3164 updates the add-on purchase3165 when the add-on purchase cannot be saved3166 returns an error3167 when the add-on purchase does not exist3168 returns an error3169 GET /namespaces/:id/subscription_add_on_purchase/:add_on_name3170 with a non-admin user3171 returns :forbidden3172 with admin user3173 when the namespace cannot be found3174 behaves like not found error3175 returns :not_found3176 when the add-on cannot be found3177 behaves like not found error3178 returns :not_found3179 when the add-on purchase does not exist3180 behaves like not found error3181 returns :not_found3182 when the add-on purchase exists3183 returns the found add-on purchase3184 POST /namespaces/:id/subscription_add_on_purchase/:add_on_name3185 with a non-admin user3186 returns :forbidden3187 with admin user3188 when the namespace cannot be found3189 behaves like not found error3190 returns :not_found3191 when the add-on cannot be found3192 behaves like not found error3193 returns :not_found3194 when the add-on purchase does not exist3195 creates a new add-on purchase3196 when the add-on purchase cannot be saved3197 returns an error3198 when the add-on purchase already exists3199 does not create a new add-on purchase and does not update the existing one3200Projects::InsightsController3201 when insights configuration project cannot be read by current user3202 GET #show.html3203 behaves like 404 status3204 returns 404 status3205 GET #show.json3206 behaves like 404 status3207 returns 404 status3208 POST #query3209 behaves like 404 status3210 returns 404 status3211 when insights configuration project can be read by current user3212 GET #show.html3213 behaves like 200 status3214 returns 200 status3215 GET #show.json3216 behaves like 200 status3217 returns 200 status3218 POST #query.json3219 behaves like 200 status3220 returns 200 status3221 when using the legacy format3222 behaves like 200 status3223 returns 200 status3224 GET #show3225 behaves like tracking unique visits3226 tracks unique visit if the format is HTML3227 tracks unique visit if DNT is not enabled3228 does not track unique visit if DNT is enabled3229 does not track unique visit if the format is JSON3230 behaves like Snowplow event tracking with RedisHLL context3231 behaves like Snowplow event tracking3232 is emitted3233Creating a DAST Scanner Profile3234 behaves like an on-demand scan mutation when user cannot run an on-demand scan3235 when a user does not have access to the project3236 behaves like a mutation that returns a top-level access error3237 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"3238 when a user does not have access to run a dast scan on the project3239 behaves like a mutation that returns a top-level access error3240 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"3241 behaves like an on-demand scan mutation when user can run an on-demand scan3242 returns an empty errors array3243 returns the dast_scanner_profile id3244 sets default values of omitted properties3245 when on demand scan licensed feature is not available3246 behaves like a mutation that returns a top-level access error3247 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"3248 when dast_scanner_profile exists3249 returns errors3250Update value stream3251 when user has permissions to update value streams3252 updates the value stream3253 and uses invalid arguments3254 returns error3255 when stages argument is present3256 updates value stream stages3257 when stages argument has invalid values3258 returns error3259 when setting argument is present3260 saves project_ids filter3261 when the user does not have permission to create a value stream3262 behaves like a mutation that returns a top-level access error3263 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"3264 when Value Stream Analytics is not available for the namespace3265 behaves like a mutation that returns a top-level access error3266 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"3267Bulk update issues3268 when user can update all issues3269 updates all issues3270 when setting arguments to null or none3271 updates all issues3272 when scoping to a parent group3273 when group_bulk_edit feature is available3274 updates all issues3275 when current user cannot read the specified group3276 returns a resource not found error3277 when group_bulk_edit feature is not available3278 returns a resource not available message3279API::Dora::Metrics3280 GET /projects/:id/dora/metrics3281 metric: :deployment_frequency, value1: 1, value2: 23282 returns data3283 metric: :lead_time_for_changes, value1: 3, value2: 43284 returns data3285 metric: :time_to_restore_service, value1: 5, value2: 63286 returns data3287 metric: :change_failure_rate, value1: 7, value2: 43288 returns data3289 with multiple metrics3290 returns combined data3291 when user is guest3292 returns authorization error3293 GET /groups/:id/dora/metrics3294 metric: :deployment_frequency, value1: 1, value2: 23295 returns data3296 metric: :lead_time_for_changes, value1: 3, value2: 43297 returns data3298 metric: :time_to_restore_service, value1: 5, value2: 63299 returns data3300 metric: :change_failure_rate, value1: 7, value2: 43301 returns data3302 with multiple metrics3303 returns combined data3304 when user is guest3305 returns authorization error3306Projects::Integrations::Zentao::IssuesController3307 GET #index3308 renders the "index" template3309 when zentao_issues_integration licensed feature is not available3310 returns 404 status3311 behaves like unauthorized when external service denies access3312 allows access when the authorization service allows it3313 allows access when the authorization service denies it3314 json request3315 returns a list of serialized zentao issues3316 renders bad request for Error3317 GET #show3318 when zentao_issues_integration licensed feature is not available3319 returns 404 status3320 when zentao_issues_integration licensed feature is available3321 with valid request3322 renders `show` template successfully3323 returns JSON response successfully3324 with bad request3325 renders `show` template successfully3326 returns JSON response with error messages3327 when the JSON fetched from ZenTao contains HTML3328 escapes the HTML in issue3329API::Analytics::ProductAnalytics3330 GET projects/:id/product_analytics/request/load3331 behaves like well behaved cube query3332 when current user has guest project access3333 returns an unauthorized error3334 when current user is a project developer3335 returns a 2003336 GET projects/:id/product_analytics/funnels3337 behaves like well behaved cube query3338 when current user has guest project access3339 returns an unauthorized error3340 when current user is a project developer3341 returns a 2003342 when a project is moved3343 returns 404 error3344 GET projects/:id/product_analytics/meta3345 behaves like well behaved cube query3346 when current user has guest project access3347 returns an unauthorized error3348 when current user is a project developer3349 returns a 2003350 GET projects/:id/product_analytics/request/dry-run3351 behaves like well behaved cube query3352 when current user has guest project access3353 returns an unauthorized error3354 when current user is a project developer3355 returns a 2003356API::PypiPackages3357 GET /api/v4/groups/:id/-/packages/pypi/files/:sha256/*file_identifier3358 behaves like applying ip restriction for group3359 in group without restriction3360 behaves like returning response status3361 returns ok3362 in group with restriction3363 with address within the range3364 behaves like returning response status3365 returns ok3366 with address outside the range3367 behaves like returning response status3368 returns not_found3369 GET /api/v4/projects/:id/packages/pypi/files/:sha256/*file_identifier3370 behaves like applying ip restriction for group3371 in group without restriction3372 behaves like returning response status3373 returns ok3374 in group with restriction3375 with address within the range3376 behaves like returning response status3377 returns ok3378 with address outside the range3379 behaves like returning response status3380 returns not_found3381Creates and assigns scan execution policy project to a project/namespace3382 for project3383 behaves like creates security policy project3384 when licensed feature is available3385 when user is an owner of the container3386 creates and assigns the security policy project3387 when user is not an owner3388 behaves like a mutation that returns top-level errors3389 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"3390 when feature is not licensed3391 behaves like a mutation that returns top-level errors3392 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"3393 for namespace3394 behaves like creates security policy project3395 when licensed feature is available3396 when user is an owner of the container3397 creates and assigns the security policy project3398 when user is not an owner3399 behaves like a mutation that returns top-level errors3400 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"3401 when feature is not licensed3402 behaves like a mutation that returns top-level errors3403 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"3404creating escalation policy3405 successfully creates the policy and rules3406 errors3407 user does not have permission3408 raises an error3409 no rules given3410 raises an error3411 when rules are provided out of order3412 successfully creates the policy and reorders the rules3413API::Ci::Minutes3414 POST /namespaces/:id/minutes3415 with insufficient access3416 returns an error3417 with admin user3418 when the namespace cannot be found3419 behaves like not found error3420 returns an error3421 when the additional pack does not exist3422 creates a new additional pack3423 when the additional pack already exists3424 does not create a new additional pack and does not update the existing pack3425 when submitting multiple packs3426 when duplicate packs3427 creates only one new pack3428 when the packs are unique3429 creates all the packs3430 when the additional pack cannot be saved3431 returns an error3432 PATCH /namespaces/:id/minutes/move/:target_id3433 when unauthorized3434 returns an error3435 when authorized3436 when the namespace cannot be found3437 behaves like not found error3438 returns an error3439 when the target namespace cannot be found3440 behaves like not found error3441 returns an error3442 when the namespace is not a top-level namespace3443 returns an error3444 when the target namespace is not a top-level namespace3445 returns an error3446 when the transfer is successful3447 moves the packs and returns an accepted response3448Destroy Instance Google Cloud logging configuration3449 when feature is unlicensed3450 behaves like a mutation that does not destroy a configuration3451 does not destroy the configuration3452 does not create audit event3453 behaves like a mutation that returns top-level errors3454 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"3455 when feature is licensed3456 when current user is instance admin3457 destroys the configuration3458 audits the deletion3459 when there is an error during destroy3460 does not destroy the configuration and returns the error3461 when current user is not instance admin3462 behaves like a mutation that does not destroy a configuration3463 does not destroy the configuration3464 does not create audit event3465 behaves like a mutation that returns top-level errors3466 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"3467API::Templates3468 GET /templates/dockerfiles3469 includes the custom template in the response3470 excludes the custom template when the feature is disabled3471 GET /templates/dockerfiles/custom3472 returns the custom template3473 returns 404 when the feature is disabled3474 GET /templates/gitignores3475 includes the custom template in the response3476 excludes the custom template when the feature is disabled3477 GET /templates/gitignores/custom3478 returns the custom template3479 returns 404 when the feature is disabled3480 GET /templates/gitlab_ci_ymls3481 includes the custom template in the response3482 excludes the custom template when the feature is disabled3483 GET /templates/gitlab_ci_ymls/custom3484 returns the custom template3485 returns 404 when the feature is disabled3486 GET /templates/licenses3487 includes the custom template in the response3488 excludes the custom template when the feature is disabled3489 GET /templates/licenses/custom3490 returns the custom template3491 returns 404 when the feature is disabled3492Groups::SeatUsageController3493 GET show3494 when authorized3495 when html format3496 redirects to /groups/%{group_id}/-/seat_usage3497 responds with 404 Not Found if the group is not top-level group3498 when csv format3499 responds with 404 Not Found if the group is not top-level group3500 when the group is a top-level group3501 when export is successful3502 streams the csv with 200 status code3503 when export fails3504 sets alert message and redirects3505 when unauthorized3506 when html format3507 renders 403 when user is not an owner3508 when csv format3509 renders 403 when user is not an owner3510API::Files3511 POST /projects/:id/repository/files/:file_path3512 with an exceeded namespace storage limit3513 rejects the request3514 PUT /projects/:id/repository/files/:file_path3515 with an exceeded namespace storage limit3516 rejects the request3517 DELETE /projects/:id/repository/files/:file_path3518 with an exceeded namespace storage limit3519 rejects the request3520Groups::HookLogsController3521 behaves like WebHooks::HookLogActions3522 GET #show3523 renders a 200 if the hook exists3524 renders a 404 if the hook does not exist3525 POST #retry3526 executes the hook and redirects to the service form3527 renders a 404 if the hook does not exist3528 redirects back with a warning if the hook log url is outdated3529Updating an approval_rule3530 with users already assigned3531 adds extra users3532 with approvals_required3533 sets two required approvals to merge request rule3534 with remove_hidden_groups3535 removes inaccessible groups3536Query.jobs3537 when current user is an admin3538 with argument `failure_reason`3539 as RUNNER_SYSTEM_FAILURE3540 generates an error3541 with argument `runnerTypes`3542 as INSTANCE_TYPE3543 behaves like a working graphql query that returns data3544 contains data3545 is expected to contain exactly (a hash including {"id" => "gid://gitlab/Ci::Build/59"})3546 behaves like a working graphql query3547 returns a successful response3548 as RUNNER_UNSUPPORTED3549 with argument `runnerTypes`3550 as INSTANCE_TYPE3551 generates an error3552Updating an iteration cadence3553 when the user does not have permission3554 does not update the iteration cadence3555 behaves like a mutation that returns a top-level access error3556 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"3557 when the user has permission3558 when iterations feature is disabled3559 behaves like a mutation that returns top-level errors3560 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"3561 when iterations feature is enabled3562 updates the iteration cadence3563 when there are ActiveRecord validation errors3564 does not update the iteration cadence3565 behaves like a mutation that returns errors in the response3566 is expected to contain exactly "Title can't be blank"3567 when required arguments are missing3568 returns error about required argument3569API::ProjectSnapshots3570 GET /projects/:id/snapshot3571 requests project repository raw archive from Geo primary as Geo secondary3572Create an issue3573 creates the issue3574 when iterationId is provided3575 creates the issue3576 when iterationId and iterationWildcardId are provided3577 returns a mutually exclusive argument error3578API::DebianGroupPackages3579 GET groups/:id/-/packages/debian/pool/:codename/:project_id/:letter/:package_name/:package_version/:file_name3580 behaves like applying ip restriction for group3581 in group without restriction3582 behaves like returning response status3583 returns ok3584 in group with restriction3585 with address within the range3586 behaves like returning response status3587 returns ok3588 with address outside the range3589 behaves like returning response status3590 returns not_found3591Lock/unlock project's file path3592 when the user does not have permission3593 does not create requirement3594 behaves like a mutation that returns a top-level access error3595 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"3596 when the user has permission3597 creates the path lock3598 when there are validation errors3599 behaves like a mutation that returns errors in the response3600 is expected to contain exactly "You have no permissions"3601Projects::IssueFeatureFlagsController3602 GET #index3603 returns linked feature flags3604 does not return linked feature flags for a reporter3605 orders by feature_flag_issue id3606 does not make N+1 queries3607 when feature flag related issues feature is unlicensed3608 returns not found3609Query.issue(id)3610 when issue has a parent link3611 returns hasParent as `true`3612 when user has access to the epic3613 returns epic and hasEpic is `true`3614 when user has no access to the epic3615 when there is an epic3616 returns null for epic and hasEpic is `true`3617 when there is no epic3618 returns null for epic and hasEpic is `false`3619Create test case3620 #resolve3621 when quality management feature is not available3622 behaves like a mutation that returns top-level errors3623 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"3624 when quality management feature is available3625 when user can create test cases3626 when all arguments are provided3627 behaves like creates a new test case3628 aggregate_failures3629 when only required arguments are provided3630 behaves like creates a new test case3631 aggregate_failures3632 when no required arguments are provided3633 behaves like a mutation that returns top-level errors3634 is expected to contain exactly "Variable $createTestCaseInput of type CreateTestCaseInput! was provided invalid value for title (Expected value to not be null), projectPath (Expected value to not be null)"3635 with invalid arguments3636 behaves like an invalid argument to the mutation3637 behaves like a mutation that returns top-level errors3638 is expected to contain exactly (include "invalid value for notValid")3639 when user cannot create test cases3640 behaves like a mutation that returns top-level errors3641 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"3642view audit events3643 GET /audit_events3644 when admin mode is enabled3645 returns 200 response3646 avoids N+1 DB queries3647 when admin mode is disabled3648 redirects to admin mode enable3649Updating an existing release3650 when the provided milestones include a group milestone3651 when the group milestone association feature is licensed3652 returns no errors3653 updates a release with both project and group milestone associations3654 when the group milestone association feature is not licensed3655 returns an error-as-data field with a message about an invalid license3656getting a list of external audit event destinations for the instance3657 when user is authenticated3658 when feature is licensed3659 when user is instance admin3660 returns the instance external audit event destinations3661 when user is not instance admin3662 behaves like a request that returns no destinations3663 returns no destinations3664 when feature is not licensed3665 when user is instance admin3666 behaves like a request that returns no destinations3667 returns no destinations3668 when user is not instance admin3669 behaves like a request that returns no destinations3670 returns no destinations3671 when user is not authenticated3672 when feature is licensed3673 behaves like a request that returns no destinations3674 returns no destinations3675 when feature is not licensed3676 behaves like a request that returns no destinations3677 returns no destinations3678User with read_dependency custom role3679 Projects::DependenciesController3680 #index3681 user has access via a custom role3682 Groups::DependenciesController3683 #index3684 user has access via a custom role3685Groups::ServiceAccountsController3686 GET #index3687 when `service_accounts_crud` feature flag is disabled3688 when user is not a group owner3689 returns a 404 status code3690 when user is a group owner3691 returns a 404 status code3692 when `service_accounts_crud` feature flag is enabled3693 when user is not a group owner3694 returns a 404 status code3695 when user is a group owner3696 returns a 200 status code3697Creation of a new release3698 when the provided milestones include a group milestone3699 when the group milestone association feature is licensed3700 returns no errors3701 creates a release with both project and group milestone associations3702 when the group milestone association feature is not licensed3703 returns an error-as-data field with a message about an invalid license3704Exporting Requirements3705 when the user does not have permission3706 behaves like requirements export fails3707 does not schedule export job3708 behaves like a mutation that returns a top-level access error3709 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"3710 when the user has permission3711 when requirements are disabled3712 behaves like requirements export fails3713 does not schedule export job3714 behaves like a mutation that returns a top-level access error3715 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"3716 when requirements are enabled3717 schedules job to export requirements3718Query.project_member_role3719 without custom roles feature3720 does not return any member roles3721 with custom roles feature3722 returns all customizable ablities3723 behaves like a working graphql query3724 returns a successful response3725MergeRequestReviewer3726 when requesting information about MR interactions3727 when the user does not have any applicable rules3728 returns null data3729 when the user has interacted3730 returns appropriate data3731get list of epic boards3732 when the user does not have access to the epic board group3733 returns nil group3734 when user can access the epic board group3735 sorting and pagination3736 behaves like sorted paginated query3737 behaves like requires variables3738 shared example requires variables to be set3740 when sorting3741 sorts correctly3742 when paginating3743 paginates correctly3744 field values3745 returns the correct values for hiding board lists3746Projects::InsightsController3747 GET #show3748 behaves like contribution analytics charts configuration3749 when user does not have permissions to access all charts3750 removes forbidden charts from configuration3751 when user have permissions to access all charts3752 does not remove charts from configuration3753 POST #query3754 succeeds3755 when statement timeout happens3756 returns error response3757RootController3758 GET #index3759 when user is not logged in3760 on a Geo primary node3761 redirects to the sign-in page3762 when a custom home page URL is defined3763 redirects the user to the custom home page URL3764 on a Geo secondary node3765 redirects to the sign-in page3766 when a custom home page URL is defined3767 redirects to the sign-in page3768 with a user3769 who has customized their dashboard setting for operations3770 when licensed3771 redirects to operations dashboard3772 when unlicensed3773 renders the default dashboard3774Create a timelog3775 when issuable is an Epic3776 behaves like issuable does not support timelog creation mutation3777 when the user is anonymous3778 behaves like a mutation that returns a top-level access error3779 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"3780 when the user is a guest member of the namespace3781 behaves like a mutation that returns top-level errors3782 is expected to contain exactly (include "is not a valid ID for")3783 when user has permissions to create a timelog3784 behaves like a mutation that returns top-level errors3785 is expected to contain exactly (include "is not a valid ID for")3786ConfirmationsController3787 GET #show3788 when user is signed in3789 sets event_type3790 when user is provisioned by group3791 confirms the user and redirects to SSO login3792 when the provisioning group is deleted3793 redirects to default sign in path3794Creating an External Issue Link3795 when the user does not have permission3796 does not destroy external issue link3797 behaves like a mutation that returns a top-level access error3798 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"3799 when the user has permission3800 when security_dashboard is disabled3801 behaves like a mutation that returns top-level errors3802 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"3803 when security_dashboard is enabled3804 destroys the external issue link3805Update board epic user preferences3806 returns an error if user can not access the board3807 when user can access the board3808 returns an error if user can not access the epic3809 when user can access the epic3810 updates user preferences3811Getting Ci Cd Setting3812 with project permissions3813 fetches the settings data3814 behaves like a working graphql query3815 returns a successful response3816 without permissions3817 is expected to equal nil3818 behaves like a working graphql query3819 returns a successful response3820API::NugetGroupPackages3821 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version3822 behaves like applying ip restriction for group3823 in group without restriction3824 behaves like returning response status3825 returns ok3826 in group with restriction3827 with address within the range3828 behaves like returning response status3829 returns ok3830 with address outside the range3831 behaves like returning response status3832 returns not_found3833API::GenericPackages3834 GET /api/v4/projects/:id/packages/generic/:package_name/:package_version/:file_name3835 behaves like applying ip restriction for group3836 in group without restriction3837 behaves like returning response status3838 returns ok3839 in group with restriction3840 with address within the range3841 behaves like returning response status3842 returns ok3843 with address outside the range3844 behaves like returning response status3845 returns not_found3846Create a label or backlog board list3847 behaves like board lists create request3848 the user is not allowed to read board lists3849 behaves like a mutation that returns a top-level access error3850 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"3851 when user has permissions to admin board lists3852 backlog list3853 creates the list3854 label list3855 creates the list3856Query.vulnerabilities.primaryIdentifier3857 returns a vulnerability identifiers3858Groups::Settings::AccessTokensController3859 POST /:namespace/-/settings/access_tokens3860 when has trial subscription3861 cannot create token3862 when has non-trial subscription3863 can create token3864getting branch protection for a branch rule3865 when the user does have read_protected_branch abilities3866 includes code_owner_approval_required3867 behaves like a working graphql query3868 returns a successful response3869Emails::ServiceDesk3870 .service_desk_new_note_email3871 when additional email text is enabled3872 with an additional text placeholders3873 behaves like custom template content3874 builds the email correctly3875 when additional email text is disabled3876 with an additional text placeholder3877 behaves like custom template content3878 builds the email correctly3879 .service_desk_thank_you_email3880 when additional email text is enabled3881 with an additional text placeholder3882 behaves like custom template content3883 builds the email correctly3884 when additional email text is disabled3885 with an additional text placeholder3886 behaves like custom template content3887 builds the email correctly3888API::Ai::Experimentation::VertexAi3889 POST /ai/experimentation/vertex/chat3890 when ai_experimentation_api feature flag not enabled for user3891 behaves like behind AI experimentation API feature flag3892 when ai_experimentation_api is disabled3893 responds as not found3894 when neither content nor messages param is passed3895 behaves like invalid request3896 returns an error3897 when user input can not be parsed3898 behaves like invalid request3899 returns an error3900 behaves like proxies request to ai api endpoint3901 responds with Workhorse send-url headers3902 when messages param is used3903 behaves like proxies request to ai api endpoint3904 responds with Workhorse send-url headers3905EE::Emails::Profile3906 #policy_revoked_personal_access_tokens_email3907 is sent to the user3908 has the correct subject3909 mentions the access tokens were revoke3910 includes a link to personal access tokens page3911 includes the email reason3912API::Ci::Pipelines3913 DELETE /projects/:id/pipelines/:pipeline_id3914 authorized user3915 when audit events is enabled3916 logs an audit event3917Query.project(fullPath).apiFuzzingCiConfiguration3918 when the user can read vulnerabilities for the project3919 returns scan modes and scan profiles3920 when the user cannot read vulnerabilities for the project3921 returns nil3922GeoInstrumentation3923 .track_geo_proxy_event3924 when the request is not proxied3925 does not track an event3926 when the request is proxied3927 when logged in3928 tracks a HLL event for unique geo proxied requests3929 when not logged in3930 does not track an event3931GroupMemberBulkUpdate3932 updates the members with minimal access3933Ci/Cd settings through GroupQuery3934 when group has no associated ci_cd_settings3935 returns false for allowStaleRunnerPruning3936 when group has associated ci_cd_settings3937 with allow_stale_runner_pruning set to false3938 returns false for allowStaleRunnerPruning3939 with allow_stale_runner_pruning set to true3940 returns true for allowStaleRunnerPruning3941Loading usage overvierw for a group3942 when the feature is not available3943 returns nil response3944 when the feature is available3945 does return the count3946Removing an on-call schedule3947 removes the on-call schedule3948Admin::SubscriptionsController3949 GET /subscriptions3950 when the user is not admin3951 responds with 4043952 when the user an admin3953 renders the Activation Form3954SitemapController3955 #show3956 when not Gitlab.com?3957 returns :not_found3958 when Gitlab.com?3959 with an authenticated user3960 when the sitemap generation raises an error3961 returns an xml error3962 when the sitemap was created suscessfully3963 returns sitemap3964API::API3965 logging3966 when the method is not allowed3967 logs the route and context metadata for the client3968Oauth::ApplicationsController3969 project members3970 POST #create3971 logs the audit event3972auto_explain log contains 1378 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-1-6.337.main.ndjson.gz3973took 28.4720448853974auto_explain log contains 1379 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-1-6.337.ci.ndjson.gz3975took 26.8822099913976Knapsack report was generated. Preview:3977{3978 "ee/spec/requests/api/search_spec.rb": 1191.741546887,3979 "ee/spec/requests/api/group_push_rule_spec.rb": 27.965176763999807,3980 "ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb": 36.9464390510002,3981 "ee/spec/requests/api/scim/instance_scim_spec.rb": 22.327591026999926,3982 "ee/spec/controllers/groups/sso_controller_spec.rb": 30.862457535999965,3983 "ee/spec/controllers/groups/analytics/cycle_analytics/summary_controller_spec.rb": 22.973771108000165,3984 "ee/spec/requests/git_http_spec.rb": 20.66903542199998,3985 "ee/spec/requests/admin/credentials_controller_spec.rb": 17.46187940999971,3986 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/create_spec.rb": 20.819899267999972,3987 "ee/spec/requests/api/epic_links_spec.rb": 19.067966649999562,3988 "ee/spec/controllers/concerns/ee/onboarding/status_spec.rb": 4.540880538000238,3989 "ee/spec/requests/api/graphql/mutations/work_items/update_spec.rb": 16.0114157539997,3990 "ee/spec/requests/api/epic_issues_spec.rb": 15.213086468000256,3991 "ee/spec/controllers/ldap/omniauth_callbacks_controller_spec.rb": 20.857045363999987,3992 "ee/spec/requests/api/license_spec.rb": 8.640482899999824,3993 "ee/spec/requests/api/project_clusters_spec.rb": 17.401774652000313,3994 "ee/spec/requests/groups/analytics/cycle_analytics/value_streams_controller_spec.rb": 12.334972079000181,3995 "ee/spec/requests/api/group_protected_branches_spec.rb": 8.257529086999966,3996 "ee/spec/requests/api/graphql/dora/dora_scores_spec.rb": 11.790169482999772,3997 "ee/spec/controllers/projects/protected_environments_controller_spec.rb": 13.120916275999662,3998 "ee/spec/requests/api/graphql/project/flow_metrics_spec.rb": 11.688097370999913,3999 "ee/spec/requests/api/audit_events_spec.rb": 7.090784570999858,4000 "ee/spec/requests/api/graphql/project/work_items_spec.rb": 11.361153988000297,4001 "ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb": 8.247776346999672,4002 "ee/spec/requests/api/resource_label_events_spec.rb": 9.9879660280003,4003 "ee/spec/controllers/groups/boards_controller_spec.rb": 11.932569800999772,4004 "ee/spec/requests/api/group_repository_storage_moves_spec.rb": 5.52377881700022,4005 "ee/spec/requests/api/graphql/mutations/analytics/cycle_analytics/value_streams/create_spec.rb": 8.389131515999907,4006 "ee/spec/requests/api/graphql/instance_security_dashboard_spec.rb": 10.144404695000048,4007 "ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb": 7.753434197999923,4008 "ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb": 8.02597708500025,4009 "ee/spec/requests/api/graphql/group/epic/notes_spec.rb": 9.61904827799981,4010 "ee/spec/requests/api/elasticsearch_indexed_namespaces_spec.rb": 2.9439453230002073,4011 "ee/spec/requests/custom_roles/manage_project_access_tokens/request_spec.rb": 7.554113183000027,4012 "ee/spec/requests/api/graphql/mutations/security/finding/create_merge_request_spec.rb": 9.068114942000193,4013 "ee/spec/controllers/groups/analytics/ci_cd_analytics_controller_spec.rb": 4.101550699999734,4014 "ee/spec/requests/api/graphql/ci/runners_spec.rb": 8.131648366999798,4015 "ee/spec/requests/api/graphql/audit_events/streaming/http/namespace_filters/delete_spec.rb": 5.793555964999996,4016 "ee/spec/requests/api/graphql/mutations/dast/profiles/create_spec.rb": 9.136112765000235,4017 "ee/spec/requests/api/graphql/project/incident_management/oncall_schedules_spec.rb": 4.996402138999656,4018 "ee/spec/controllers/ee/projects/pages_controller_spec.rb": 8.973525188000167,4019 "ee/spec/requests/api/graphql/remote_development/workspaces/with_ids_arg_spec.rb": 6.304886674000045,4020 "ee/spec/controllers/projects/analytics/issues_analytics_controller_spec.rb": 5.53610688200024,4021 "ee/spec/requests/api/graphql/mutations/issues/update_spec.rb": 8.884773906000191,4022 "ee/spec/requests/api/resource_state_events_spec.rb": 5.23046229800002,4023 "ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb": 4.8638368990000345,4024 "ee/spec/requests/api/graphql/remote_development/current_user/workspaces/with_include_actual_states_arg_spec.rb": 6.296189833999961,4025 "ee/spec/requests/api/graphql/mutations/remote_development/workspaces/create_spec.rb": 5.728217700000187,4026 "ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb": 4.204842711999845,4027 "ee/spec/requests/api/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb": 5.650734966000073,4028 "ee/spec/requests/groups/protected_environments_controller_spec.rb": 4.062235734000296,4029 "ee/spec/requests/api/graphql/mutations/forecasting/build_forecast_spec.rb": 5.223470399999769,4030 "ee/spec/requests/api/gitlab_subscriptions/add_on_purchases_spec.rb": 3.1568726159998732,4031 "ee/spec/controllers/projects/insights_controller_spec.rb": 3.8617474100001346,4032 "ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/create_spec.rb": 2.8804342389998965,4033 "ee/spec/requests/api/graphql/mutations/analytics/cycle_analytics/value_streams/update_spec.rb": 3.929404894000072,4034 "ee/spec/requests/api/graphql/mutations/issues/bulk_update_spec.rb": 4.418769455000074,4035 "ee/spec/requests/api/dora/metrics_spec.rb": 2.9704732710001736,4036 "ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb": 3.892232466999758,4037 "ee/spec/requests/api/analytics/product_analytics_spec.rb": 3.6729471849998845,4038 "ee/spec/requests/api/pypi_packages_spec.rb": 3.0432927360002395,4039 "ee/spec/requests/api/graphql/mutations/security_policy/create_security_policy_project_spec.rb": 4.198572521999722,4040 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb": 2.0063422490002267,4041 "ee/spec/requests/api/ci/minutes_spec.rb": 2.700939233000099,4042 "ee/spec/requests/api/graphql/mutations/audit_events/instance/google_cloud_logging_configurations/destroy_spec.rb": 2.1849864349997006,4043 "ee/spec/requests/api/templates_spec.rb": 2.369088079999983,4044 "ee/spec/controllers/groups/seat_usage_controller_spec.rb": 3.4113437159999194,4045 "ee/spec/requests/api/files_spec.rb": 3.721897241000079,4046 "ee/spec/requests/groups/hook_logs_controller_spec.rb": 2.7702669270001934,4047 "ee/spec/requests/api/graphql/mutations/merge_requests/update_approval_rule_spec.rb": 3.5230740570000307,4048 "ee/spec/requests/api/graphql/ci/jobs_spec.rb": 3.03279585700011,4049 "ee/spec/requests/api/graphql/mutations/iterations/cadences/update_spec.rb": 2.7202606010000636,4050 "ee/spec/requests/api/project_snapshots_spec.rb": 3.427385895000043,4051 "ee/spec/requests/api/graphql/mutations/issues/create_spec.rb": 3.138268207999772,4052 "ee/spec/requests/api/debian_group_packages_spec.rb": 2.021318837000308,4053 "ee/spec/requests/api/graphql/mutations/projects/lock_path_spec.rb": 1.7183777719997124,4054 "ee/spec/requests/projects/issue_feature_flags_controller_spec.rb": 2.68588928500003,4055 "ee/spec/requests/api/graphql/issue/issue_spec.rb": 2.9235645560002013,4056 "ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb": 2.5811054330001753,4057 "ee/spec/requests/admin/audit_events_spec.rb": 1.9774183310000808,4058 "ee/spec/requests/api/graphql/mutations/releases/update_spec.rb": 2.523208387000068,4059 "ee/spec/requests/api/graphql/audit_events/instance/google_cloud_logging_configuration_spec.rb": 3.0148354069997367,4060 "ee/spec/requests/custom_roles/read_dependency/request_spec.rb": 2.397323836999931,4061 "ee/spec/requests/groups/service_accounts_controller_spec.rb": 2.08279363299971,4062 "ee/spec/requests/api/graphql/mutations/releases/create_spec.rb": 2.4766150210002706,4063 "ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb": 1.7773969969998689,4064 "ee/spec/requests/api/graphql/member_role/project_member_role_spec.rb": 1.433217544999934,4065 "ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb": 1.7030609130001721,4066 "ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb": 2.3516646210000545,4067 "ee/spec/requests/projects/insights_controller_spec.rb": 1.8740735490000588,4068 "ee/spec/controllers/ee/root_controller_spec.rb": 1.4661060130001715,4069 "ee/spec/requests/api/graphql/mutations/timelogs/create_spec.rb": 1.9062480960001267,4070 "ee/spec/requests/ee/confirmations_controller_spec.rb": 1.4728013520002605,4071 "ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb": 1.7774884180003028,4072 "ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 1.5703225130000646,4073 "ee/spec/requests/api/graphql/ci/ci_cd_setting_spec.rb": 1.7670933389999846,4074 "ee/spec/requests/api/nuget_group_packages_spec.rb": 1.7428043109998725,4075 "ee/spec/requests/api/generic_packages_spec.rb": 1.7019771639997998,4076 "ee/spec/requests/api/graphql/mutations/boards/epic_lists/create_spec.rb": 1.4004147569999077,4077 "ee/spec/requests/api/graphql/vulnerabilities/primary_identifier_spec.rb": 1.7194867519997388,4078 "ee/spec/requests/groups/settings/access_tokens_controller_spec.rb": 1.116753079999853,4079 "ee/spec/requests/api/graphql/project/branch_rules/branch_protection_spec.rb": 1.326330144000167,4080 "ee/spec/mailers/ee/emails/service_desk_spec.rb": 1.2576422389997788,4081 "ee/spec/requests/api/ai/experimentation/vertex_ai_spec.rb": 0.995463839000422,4082 "ee/spec/mailers/ee/emails/profile_spec.rb": 0.6760901450002166,4083 "ee/spec/requests/api/ci/pipelines_spec.rb": 1.2829291670000202,4084 "ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb": 1.1584719769998628,4085 "ee/spec/controllers/concerns/geo_instrumentation_spec.rb": 1.1344488390000151,4086 "ee/spec/requests/api/graphql/mutations/members/groups/ee/bulk_update_spec.rb": 1.2364412409997385,4087 "ee/spec/requests/api/graphql/group/ci_cd_settings_spec.rb": 0.6931540139999015,4088 "ee/spec/requests/api/graphql/group/value_stream_dashboard_usage_overview_spec.rb": 0.8516948220003542,4089 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb": 0.8745220900000277,4090 "ee/spec/requests/admin/subscriptions_controller_spec.rb": 0.8096470250002312,4091 "ee/spec/controllers/sitemap_controller_spec.rb": 0.3944169679998595,4092 "ee/spec/requests/api/api_spec.rb": 0.5860489329998018,4093 "ee/spec/controllers/oauth/applications_controller_spec.rb": 0.39272849899998624094}4095Knapsack global time execution for tests: 31m 49s4096Failures:4097 1) API::Search GET /groups/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the namespace is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4098 Failure/Error: expect(json_response.count).to eq(1)4099 expected: 14100 got: 04101 (compared using ==)4102 Shared Example Group: "pagination" called from ./ee/spec/requests/api/search_spec.rb:3234103 Shared Example Group: "elasticsearch enabled" called from ./ee/spec/requests/api/search_spec.rb:4464104 # ./ee/spec/requests/api/search_spec.rb:25:in `block (3 levels) in <top (required)>'4105 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'4106 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'4107 # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'4108 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'4109 # ./lib/gitlab/application_context.rb:68:in `with_raw_context'4110 # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'4111 # ./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'4112 # ./spec/support/sidekiq.rb:19:in `block (3 levels) in <top (required)>'4113 # ./spec/support/sidekiq.rb:9:in `gitlab_sidekiq_inline'4114 # ./spec/support/sidekiq.rb:19:in `block (2 levels) in <top (required)>'4115 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'4116 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4117 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4118 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4119 # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'4120 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'4121 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'4122 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'4123 # ./ee/spec/support/elastic.rb:89:in `block (2 levels) in <top (required)>'4124 2) API::Search GET /projects/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the project is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4125 Failure/Error: expect(json_response.count).to eq(1)4126 expected: 14127 got: 04128 (compared using ==)4129 Shared Example Group: "pagination" called from ./ee/spec/requests/api/search_spec.rb:3234130 Shared Example Group: "elasticsearch enabled" called from ./ee/spec/requests/api/search_spec.rb:5494131 # ./ee/spec/requests/api/search_spec.rb:25:in `block (3 levels) in <top (required)>'4132 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'4133 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'4134 # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'4135 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'4136 # ./lib/gitlab/application_context.rb:68:in `with_raw_context'4137 # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'4138 # ./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'4139 # ./spec/support/sidekiq.rb:19:in `block (3 levels) in <top (required)>'4140 # ./spec/support/sidekiq.rb:9:in `gitlab_sidekiq_inline'4141 # ./spec/support/sidekiq.rb:19:in `block (2 levels) in <top (required)>'4142 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'4143 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4144 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4145 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4146 # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'4147 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'4148 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'4149 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'4150 # ./ee/spec/support/elastic.rb:89:in `block (2 levels) in <top (required)>'4151Finished in 32 minutes 49 seconds (files took 1 minute 38.46 seconds to load)41521612 examples, 2 failures4153Failed examples:4154rspec './ee/spec/requests/api/search_spec.rb[1:2:1:2:1:1:1:7:1:1]' # API::Search GET /groups/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the namespace is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4155rspec './ee/spec/requests/api/search_spec.rb[1:3:1:2:1:1:1:6:1:1]' # API::Search GET /projects/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the project is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4156Randomized with seed 75534157[TEST PROF INFO] Time spent in factories: 08:56.101 (26.67% of total time)4158Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected4159RSpec exited with 1.4160[job-metrics] Updating job metrics tag for the CI/CD job.4161RSPEC_RETRIED_TESTS_REPORT_PATH: rspec/retried_tests-5597251763.txt4162Retrying the failing examples in a new RSpec process...4163$ gem install junit_merge --no-document --version 0.1.24164Successfully installed nokogiri-1.15.5-x86_64-linux4165Successfully installed junit_merge-0.1.241662 gems installed4167==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.4168Running 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-5597251763.json --format RspecJunitFormatter --out rspec/rspec-retry-5597251763.xml --only-failures --pattern "{ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb"4169Run options: include {:last_run_status=>"failed"}4170unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.4171unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.4172Test environment set up in 0.462526963 seconds4173API::Search4174 GET /groups/:id/-/search4175 with correct params4176 when elasticsearch is enabled4177 when elasticsearch_limit_indexing is on4178 when the namespace is indexed4179 behaves like elasticsearch enabled4180 for users scope4181 behaves like pagination4182 returns a different result for each page4183 GET /projects/:id/-/search4184 with correct params4185 when elasticsearch is enabled4186 when elasticsearch_limit_indexing is on4187 when the project is indexed4188 behaves like elasticsearch enabled4189 for users scope4190 behaves like pagination4191 returns a different result for each page4192auto_explain log contains 1382 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-1-6.14973.main.ndjson.gz4193took 26.6826289744194auto_explain log contains 1382 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-1-6.14973.ci.ndjson.gz4195took 26.5814693724196Finished in 1 minute 26.66 seconds (files took 49 seconds to load)41972 examples, 0 failures4198[TEST PROF INFO] Time spent in factories: 00:04.325 (4.87% of total time)4199Loading rspec/rspec-5597251763.json...4200Merged rspec/rspec-retry-5597251763.json adding 4 results.4201Saved rspec/rspec-5597251763.json.4202A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...4203Flaky test was not part of this MR.4205Running after script...4206$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"4215$ tooling/bin/push_job_metrics || true4216[job-metrics] Pushing job metrics file for the CI/CD job.4217[job-metrics] Pushed 4 CI job metric entries to InfluxDB.4219Not uploading cache ruby-gems-debian-bullseye-ruby-3.1-16 due to policy4221Uploading artifacts...4222auto_explain/: found 5 matching artifact files and directories 4223coverage/: found 4 matching artifact files and directories 4224crystalball/: found 2 matching artifact files and directories 4225WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 4226knapsack/: found 4 matching artifact files and directories 4227rspec/: found 19 matching artifact files and directories 4228WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 4229log/*.log: found 18 matching artifact files and directories 4230WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251763/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com4231WARNING: Retrying... context=artifacts-uploader error=request redirected4232Uploading artifacts as "archive" to coordinator... 201 Created id=5597251763 responseStatus=201 Created token=64_cM8xs4233Uploading artifacts...4234rspec/rspec-*.xml: found 2 matching artifact files and directories 4235WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251763/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com4236WARNING: Retrying... context=artifacts-uploader error=request redirected4237Uploading artifacts as "junit" to coordinator... 201 Created id=5597251763 responseStatus=201 Created token=64_cM8xs4239Job succeeded