Running with gitlab-runner 17.4.0~pre.110.g27400594 (27400594)
  on blue-3.shared-gitlab-org.runners-manager.gitlab.com/default sUrYYgEG, system ID: s_35f98e2af465
  feature flags: FF_NETWORK_PER_BUILD:true
Resolving secrets
section_start:1732239548:prepare_executor
Preparing the "docker+machine" executor
Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.2.5-golang-1.23-rust-1.73-node-20.12-postgresql-14:rubygems-3.5-git-2.45-lfs-2.9-chrome-123-yarn-1.22-graphicsmagick-1.3.36 ...
Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...
Using docker image sha256:82f132c22567f8ce17cc132c14b2f9aa3eaf9bb5424d91c2d966912433f0257d 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:c55e1364ee4327b244a9cfa1750f19feea14fc774eaf792b725967d146eb45f5 ...
WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.
WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.
Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...
Using docker image sha256:5c5ba5b83d6c60cb0b225bd670b7a43be8c238cc72347d24af57e5027c3648f3 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:46aceab84c42d0e819c8e7940f2f98ce9e184785cd7b22d95872024a35f52407 ...
Starting service redis:6.2-alpine...
Pulling docker image redis:6.2-alpine ...
Using docker image sha256:4100b5bd17430263e85ad9d8ab851959b234acaaf378e093f1f98400f4998815 for redis:6.2-alpine with digest redis@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8 ...
Waiting for services to be up and running (timeout 30 seconds)...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.2.5-golang-1.23-rust-1.73-node-20.12-postgresql-14:rubygems-3.5-git-2.45-lfs-2.9-chrome-123-yarn-1.22-graphicsmagick-1.3.36 ...
Using docker image sha256:1d9126ee78e7adb7447812473d0b81fbbe5a6112e250f178242639bfdc4eb066 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.2.5-golang-1.23-rust-1.73-node-20.12-postgresql-14:rubygems-3.5-git-2.45-lfs-2.9-chrome-123-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.2.5-golang-1.23-rust-1.73-node-20.12-postgresql-14@sha256:2e50a48489394d2212aab7a1bac67630db2a54ab2004da7f49fb80f2f85abe62 ...
section_end:1732239640:prepare_executor
section_start:1732239640:prepare_script
Preparing environment
Running on runner-suryygeg-project-278964-concurrent-0 via runner-suryygeg-shared-gitlab-org-1732239503-54b80cb9...
section_end:1732239640:prepare_script
section_start:1732239640:get_sources
Getting source from Git repository
Skipping Git repository setup
Skipping Git checkout
Skipping Git submodules setup
section_end:1732239641:get_sources
section_start:1732239641:restore_cache
Restoring cache
Checking cache for ruby-gems-debian-bookworm-ruby-3.2.5-gemfile-Gemfile-21...
Downloading cache from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bookworm-ruby-3.2.5-gemfile-Gemfile-21  ETag="9730f42519a36bcb618be16369e6172f"
Successfully extracted cache
section_end:1732239658:restore_cache
section_start:1732239658:download_artifacts
Downloading artifacts
Downloading artifacts for clone-gitlab-repo (8442484940)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=8442484940 responseStatus=200 OK token=glcbt-66
WARNING: Part of .git directory is on the list of files to extract 
WARNING: This may introduce unexpected problems    
Downloading artifacts for compile-test-assets (8442484966)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=8442484966 responseStatus=200 OK token=glcbt-66
Downloading artifacts for retrieve-tests-metadata (8442484981)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=8442484981 responseStatus=200 OK token=glcbt-66
Downloading artifacts for setup-test-env (8442484974)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=8442484974 responseStatus=200 OK token=glcbt-66
section_end:1732239707:download_artifacts
section_start:1732239707:step_script
Executing "step_script" stage of the job script
Using docker image sha256:1d9126ee78e7adb7447812473d0b81fbbe5a6112e250f178242639bfdc4eb066 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.2.5-golang-1.23-rust-1.73-node-20.12-postgresql-14:rubygems-3.5-git-2.45-lfs-2.9-chrome-123-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.2.5-golang-1.23-rust-1.73-node-20.12-postgresql-14@sha256:2e50a48489394d2212aab7a1bac67630db2a54ab2004da7f49fb80f2f85abe62 ...
$ echo $FOSS_ONLY

$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb
$ export GOPATH=$CI_PROJECT_DIR/.go
$ mkdir -p $GOPATH
$ source scripts/utils.sh
$ log_disk_usage "true"
*******************************************************
This runner currently has 31G free disk space.
*******************************************************
section_start:1732239709:log_disk_usage[collapsed=true]
Disk usage detail
df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          46G   15G   31G  34% /
tmpfs            64M     0   64M   0% /dev
shm             256M     0  256M   0% /dev/shm
/dev/sda1        46G   15G   31G  34% /cache
tmpfs           3.9G     0  3.9G   0% /sys/devices/virtual/dmi/id
tmpfs           3.9G     0  3.9G   0% /proc/acpi
tmpfs           3.9G     0  3.9G   0% /proc/scsi
tmpfs           3.9G     0  3.9G   0% /sys/firmware
du -h -d 1
7.4M	./workhorse
148K	./bin
1.2M	./.gitlab
194M	./.git
4.0K	./builds
28M	./lib
8.0K	./.vscode
564K	./storybook
20K	./log
1.9M	./data
11M	./qa
3.1M	./.rubocop_todo
855M	./vendor
1.1G	./public
62M	./doc
484K	./danger
16K	./rspec
556K	./tooling
146M	./ee
1.3M	./knapsack
300K	./patches
4.3M	./changelogs
20K	./haml_lint
28K	./metrics_server
108K	./keeps
36K	./shared
44K	./generator_templates
1.3M	./scripts
719M	./tmp
128M	./spec
20K	./file_hooks
16K	./sidekiq_cluster
17M	./gems
1.2M	./fixtures
968K	./rubocop
4.0K	./.go
34M	./db
12K	./.github
129M	./locale
20M	./config
86M	./app
20K	./.lefthook
3.5G	.
section_end:1732239710:log_disk_usage

$ source scripts/prepare_build.sh
section_start:1732239710:bundle-install[collapsed=true]
Installing gems
3.5.18
Bundler version 2.5.18
production:development
Settings are listed in order of priority. The top value will be used.
clean
Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true

frozen
Set via BUNDLE_FROZEN: true

gemfile
Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/Gemfile"

install_flags
Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3"

path
Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"

without
Set via BUNDLE_WITHOUT: [:production, :development]

$ bundle install --jobs=$(nproc) --retry=3 
Don't run Bundler as root. Installing your bundle as root will break this
application for all non-root users on this machine.
Patching bundler with bundler-checksum...
Bundle complete! 365 Gemfile dependencies, 675 gems now installed.
Gems in the groups 'production' and 'development' were not installed.
Bundled gems are installed into `./vendor`
3 installed gems you directly depend on are looking for funding.
  Run `bundle fund` for details
==> 'bundle install --jobs=$(nproc) --retry=3 ' succeeded in 2 seconds.
$ bundle pristine pg
Patching bundler with bundler-checksum...
Installing pg 1.5.9 with native extensions
==> 'bundle pristine pg' succeeded in 19 seconds.
section_end:1732239733:bundle-install

Using decomposed database config (config/database.yml.decomposed-postgresql)
Geo DB won't be set up.
Embedding DB won't be set up.
section_start:1732239733:setup-db[collapsed=true]
Setting up DBs
CREATE ROLE
GRANT
$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes
/builds/gitlab-org/gitlab/vendor/ruby/3.2.0/gems/io-event-1.6.5/lib/io/event/support.rb:27: warning: IO::Buffer is experimental and both the Ruby and C interface may change in the future!
Dropped database 'gitlabhq_test'
Dropped database 'gitlabhq_test_ci'
Created database 'gitlabhq_test'
Created database 'gitlabhq_test_ci'
==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 103 seconds.
SELECT pg_catalog.set_config('search_path', '', false);
CREATE DATABASE praefect_test ENCODING 'UTF8';
section_end:1732239837:setup-db

$ source ./scripts/rspec_helpers.sh
$ run_timed_command "gem install knapsack --no-document"
$ gem install knapsack --no-document
Successfully installed knapsack-4.0.0
1 gem installed
==> 'gem install knapsack --no-document' succeeded in 1 seconds.
$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"
section_start:1732239838:gitaly-test-spawn[collapsed=true]
Spawning Gitaly
Trying to connect to gitaly: ...... OK
Trying to connect to gitaly2: ........ OK
Starting Praefect with in-memory election strategyTrying to connect to praefect: ...... OK
section_end:1732239843:gitaly-test-spawn

$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"
$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"
$ tooling/bin/create_job_metrics_file || true
[job-metrics] Creating the job metrics file for the CI/CD job.
$ rspec_section rspec_parallelized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house"
section_start:1732239846:rspec[collapsed=false]
RSpec
[01:44:06] Starting rspec_parallelized_job
RETRY_FAILED_TESTS_IN_NEW_PROCESS: true
KNAPSACK_GENERATE_REPORT: true
FLAKY_RSPEC_GENERATE_REPORT: true
KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,keeps,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,dot_gitlab_ci}{,/**/}*_spec.rb
KNAPSACK_LOG_LEVEL: debug
KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg14_37_44_278964_report.json
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json
FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg14_37_44_278964_report.json
NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg14_37_44_278964_report.json
RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-8442485313.txt
CRYSTALBALL: 
RSPEC_TESTS_MAPPING_ENABLED: 
RSPEC_TESTS_FILTER_FILE: 
Shell set options (set -o) enabled:
braceexpand    	on
hashall        	on
interactive-comments	on
pipefail       	on
Parsing expected rspec suite duration...
RSpec suite is expected to take 27 minutes 31.34 seconds.
Expected duration for tests:

{
  "spec/models/concerns/noteable_spec.rb": 212.87071262865854,
  "spec/services/projects/overwrite_project_service_spec.rb": 171.6211862508729,
  "spec/services/ci/create_pipeline_service/rules_spec.rb": 138.12978574473985,
  "spec/lib/gitlab/background_migration/backfill_issue_search_data_namespace_id_spec.rb": 109.1181041774858,
  "spec/services/application_settings/update_service_spec.rb": 85.10993301423807,
  "spec/lib/gitlab/background_migration/backfill_has_remediations_of_vulnerability_reads_spec.rb": 74.90674483805518,
  "spec/lib/banzai/filter/references/issue_reference_filter_spec.rb": 66.03854338453013,
  "spec/lib/gitlab/background_migration/backfill_packages_package_files_project_id_spec.rb": 57.037233836892696,
  "spec/models/ci/ref_spec.rb": 51.46521906665991,
  "spec/models/design_management/design_at_version_spec.rb": 45.217564474364295,
  "spec/models/merge_request_diff_file_spec.rb": 41.26133199691185,
  "spec/models/concerns/avatarable_spec.rb": 32.94762618654491,
  "spec/services/users/destroy_service_spec.rb": 31.910065188586213,
  "spec/models/concerns/approvable_spec.rb": 28.770736445107843,
  "spec/services/resource_access_tokens/revoke_service_spec.rb": 25.506902147176177,
  "spec/lib/gitlab/background_migration/backfill_packages_npm_metadata_project_id_spec.rb": 24.001999959297777,
  "spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb": 21.712715283665787,
  "spec/lib/banzai/reference_parser/user_parser_spec.rb": 20.6693216100564,
  "spec/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service_spec.rb": 18.50471002418696,
  "spec/models/concerns/discussion_on_diff_spec.rb": 17.928018023426517,
  "spec/services/discussions/update_diff_position_service_spec.rb": 16.193428379288584,
  "spec/policies/blob_policy_spec.rb": 15.375519972956331,
  "spec/lib/gitlab/ci/badge/release/template_spec.rb": 14.431816746508549,
  "spec/services/milestones/promote_service_spec.rb": 13.605606724265124,
  "spec/services/incident_management/timeline_events/create_service_spec.rb": 12.90761881073281,
  "spec/lib/gitlab/x509/signature_spec.rb": 12.314521150141136,
  "spec/finders/ci/jobs_finder_spec.rb": 11.533118073574203,
  "spec/lib/gitlab/url_builder_spec.rb": 10.856966798844534,
  "spec/policies/achievements/user_achievement_policy_spec.rb": 10.43977945087042,
  "spec/lib/gitlab/background_migration/backfill_packages_nuget_symbols_project_id_spec.rb": 9.646349506139234,
  "spec/lib/gitlab/search/recent_issues_spec.rb": 9.211030738013344,
  "spec/lib/gitlab/diff/suggestions_parser_spec.rb": 9.032247814619158,
  "spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb": 8.396585699084653,
  "spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb": 8.154824903751866,
  "spec/workers/delete_diff_files_worker_spec.rb": 7.6270173119909614,
  "spec/lib/gitlab/ci/status/build/common_spec.rb": 7.465632541020172,
  "spec/services/ci/run_scheduled_build_service_spec.rb": 6.883608377139922,
  "spec/views/projects/tags/index.html.haml_spec.rb": 6.717197723685798,
  "spec/lib/container_registry/gitlab_api_client_spec.rb": 6.279865123464463,
  "spec/services/work_items/import_csv_service_spec.rb": 6.2640845668822625,
  "spec/services/error_tracking/list_issues_service_spec.rb": 5.820322014309034,
  "spec/graphql/mutations/alert_management/alerts/set_assignees_spec.rb": 5.743124709537476,
  "spec/services/suggestions/outdate_service_spec.rb": 5.566832550054846,
  "spec/lib/gitlab/chat/responder/slack_spec.rb": 5.249916653535124,
  "spec/helpers/ide_helper_spec.rb": 5.1530714758965885,
  "spec/models/ci/runner_namespace_spec.rb": 4.880545350286384,
  "spec/lib/gitlab/import_export/uploads_manager_spec.rb": 4.727097614931728,
  "spec/services/issuable/callbacks/description_spec.rb": 4.661735794642007,
  "spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb": 4.379146151840667,
  "spec/services/ci/change_variable_service_spec.rb": 4.313782480997892,
  "spec/serializers/merge_request_user_entity_spec.rb": 4.02308358746083,
  "spec/graphql/types/ci/job_token_auth_log_type_spec.rb": 3.939296114867549,
  "spec/services/click_house/sync_strategies/base_sync_strategy_spec.rb": 3.744605421227254,
  "spec/lib/banzai/reference_parser/design_parser_spec.rb": 3.6997757734915506,
  "spec/models/merge_request_reviewer_spec.rb": 3.4640221223589247,
  "spec/models/lfs_download_object_spec.rb": 3.3890248111517565,
  "spec/graphql/resolvers/repository_branch_names_resolver_spec.rb": 3.2387199317489612,
  "spec/workers/ci/pending_builds/update_project_worker_spec.rb": 3.2007604704598416,
  "spec/lib/gitlab/ci/status/stage/common_spec.rb": 3.0150070845791728,
  "spec/policies/clusters/agents/activity_event_policy_spec.rb": 3.0108369593406454,
  "spec/lib/gitlab/redis/repository_cache_spec.rb": 2.855820107968665,
  "spec/models/users/merge_request_interaction_spec.rb": 2.813161798819425,
  "spec/models/label_priority_spec.rb": 2.6807000625511366,
  "spec/workers/work_items/import_work_items_csv_worker_spec.rb": 2.5917462508992584,
  "spec/lib/gitlab/ci/config/external/file/component_spec.rb": 2.496756256774586,
  "spec/services/ci/pipeline_schedules/variables_create_service_spec.rb": 2.4057920124662195,
  "spec/services/releases/links/create_service_spec.rb": 2.323176537250874,
  "spec/workers/ci/pipeline_artifacts/coverage_report_worker_spec.rb": 2.2517547988668603,
  "spec/services/integrations/exclusions/create_service_spec.rb": 2.202269947842278,
  "spec/services/namespaces/statistics_refresher_service_spec.rb": 2.1192635444494607,
  "spec/services/ml/create_model_version_service_spec.rb": 2.061577434072091,
  "spec/lib/gitlab/ci/pipeline/chain/build_spec.rb": 1.997929155969583,
  "spec/graphql/mutations/terraform/state/unlock_spec.rb": 1.9572648200548999,
  "spec/lib/object_storage/config_spec.rb": 1.8884889651767314,
  "spec/lib/gitlab/database/health_status/indicators/patroni_apdex_spec.rb": 1.8332621782001275,
  "spec/services/authorized_project_update/project_recalculate_service_spec.rb": 1.8099570019341513,
  "spec/helpers/keyset_helper_spec.rb": 1.722274764168772,
  "spec/models/preloaders/user_max_access_level_in_groups_preloader_spec.rb": 1.713264994469642,
  "spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb": 1.6488904058233405,
  "spec/lib/api/helpers/authentication_spec.rb": 1.6023213283994973,
  "spec/views/layouts/devise_empty.html.haml_spec.rb": 1.5597561982678094,
  "spec/lib/gitlab/conan_token_spec.rb": 1.5035791769962938,
  "spec/lib/gitlab/ci/variables/builder/release_spec.rb": 1.482013221672475,
  "spec/lib/gitlab/ci/config/entry/image_spec.rb": 1.4204188901362351,
  "spec/models/concerns/issuable_link_spec.rb": 1.396057596397972,
  "spec/lib/gitlab_settings/options_spec.rb": 1.3745857386152984,
  "spec/services/users/reset_feed_token_service_spec.rb": 1.3213648565621186,
  "spec/services/bulk_imports/batched_relation_export_service_spec.rb": 1.2933454869476164,
  "spec/graphql/resolvers/crm/contact_state_counts_resolver_spec.rb": 1.2641082422672767,
  "spec/services/packages/nuget/create_dependency_service_spec.rb": 1.21016395380049,
  "spec/lib/gitlab/ci/reports/security/reports_spec.rb": 1.178596482756145,
  "spec/services/import/source_users/keep_as_placeholder_service_spec.rb": 1.1474902918080374,
  "spec/lib/gitlab/seeders/project_environment_seeder_spec.rb": 1.0885626088169493,
  "spec/graphql/types/ci/job_base_field_spec.rb": 1.0711771045860212,
  "spec/lib/gitlab/ci/variables/builder/group_spec.rb": 1.0204056981400484,
  "spec/lib/gitlab/i18n/pluralization_spec.rb": 1.0001653502359813,
  "spec/lib/gitlab/gitaly_client/diff_service_spec.rb": 0.980782100907623,
  "spec/services/customer_relations/organizations/update_service_spec.rb": 0.9184587301118803,
  "spec/lib/gitlab/ci/config/entry/policy_spec.rb": 0.9158170254292182,
  "spec/workers/build_queue_worker_spec.rb": 0.8496630952247839,
  "spec/presenters/ci/trigger_presenter_spec.rb": 0.8463428741910244,
  "spec/lib/gitlab/database/partitioning_migration_helpers/uniqueness_helpers_spec.rb": 0.7903019769744307,
  "spec/services/admin/plan_limits/update_service_spec.rb": 0.7859241359854863,
  "spec/models/anti_abuse/reports/label_spec.rb": 0.7404033536712645,
  "spec/finders/packages/terraform_module/packages_finder_spec.rb": 0.7276025182968234,
  "spec/workers/ssh_keys/expiring_soon_notification_worker_spec.rb": 0.681933968206024,
  "spec/workers/jira_connect/sync_feature_flags_worker_spec.rb": 0.659683002091692,
  "spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb": 0.6454034920601999,
  "spec/services/work_items/data_sync/handlers/cleanup_data_handler_spec.rb": 0.6193403956159682,
  "spec/serializers/user_entity_spec.rb": 0.6124454098223413,
  "spec/services/achievements/update_user_achievement_service_spec.rb": 0.5730390668931242,
  "spec/lib/gitlab/hook_data/emoji_builder_spec.rb": 0.5718173709947227,
  "spec/workers/pages_worker_spec.rb": 0.5305161798006859,
  "spec/helpers/form_helper_spec.rb": 0.5303405538356072,
  "spec/lib/gitlab/ci/reports/test_failure_history_spec.rb": 0.501974891585694,
  "spec/lib/gitlab/cross_project_access/check_info_spec.rb": 0.48827579326448733,
  "spec/lib/gitlab/popen/runner_spec.rb": 0.46829863334924127,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_personal_snippets_metric_spec.rb": 0.4508071796988453,
  "spec/models/ci/runner_tagging_spec.rb": 0.4358789226555538,
  "spec/graphql/types/ci/status_action_type_spec.rb": 0.41101260560701974,
  "spec/lib/gitlab/query_limiting_spec.rb": 0.4000790378626594,
  "spec/lib/gitlab/template/finders/global_template_finder_spec.rb": 0.3685202860742393,
  "spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb": 0.3548504198103928,
  "spec/lib/gitlab/ci/config/entry/commands_spec.rb": 0.3414355031977727,
  "spec/rubocop/cop/migration/add_reference_spec.rb": 0.32912806775728914,
  "spec/lib/gitlab/ci/components/usages/aggregators/cursor_spec.rb": 0.31842883130125005,
  "spec/uploaders/object_storage/cdn_spec.rb": 0.30439048981068784,
  "spec/lib/sidebars/user_profile/panel_spec.rb": 0.2945893479701851,
  "spec/tooling/danger/rubocop_helper_spec.rb": 0.2848019999389863,
  "spec/lib/gitlab/database_warnings_spec.rb": 0.2727507216267786,
  "spec/graphql/types/base_object_field_skip_type_authorization_spec.rb": 0.25671028806661156,
  "spec/lib/api/entities/ci/runner_manager_spec.rb": 0.25375041068030524,
  "spec/lib/gitlab/zoom_link_extractor_spec.rb": 0.24507639066475134,
  "spec/services/users/untrust_service_spec.rb": 0.22999310530066014,
  "spec/lib/gitlab/kas/user_access_spec.rb": 0.22474653249385856,
  "spec/validators/gitlab/zoom_url_validator_spec.rb": 0.215267595707966,
  "spec/models/integrations/issue_tracker_data_spec.rb": 0.20487248306841366,
  "spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb": 0.20412019826956046,
  "spec/lib/pager_duty/webhook_payload_parser_spec.rb": 0.18640308098218994,
  "spec/lib/gitlab/cache/metrics_spec.rb": 0.18626567686064482,
  "spec/lib/gitlab/template/gitignore_template_spec.rb": 0.17325261839894696,
  "spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb": 0.17069166574538858,
  "spec/serializers/ci/daily_build_group_report_result_entity_spec.rb": 0.16513763349780583,
  "spec/lib/gitlab/sessions/redis_store_spec.rb": 0.1577306770108728,
  "spec/services/packages/terraform_module/metadata/parse_hcl_file_service_spec.rb": 0.1546703664932966,
  "spec/components/rapid_diffs/viewers/text/expand_lines_component_spec.rb": 0.14535826347400468,
  "spec/lib/constraints/activity_pub_constrainer_spec.rb": 0.14515637490472744,
  "spec/services/ci/runners/unregister_runner_service_spec.rb": 0.1353413372809285,
  "spec/keeps/helpers/postgres_ai_spec.rb": 0.1339980284476809,
  "spec/lib/gitlab/ci/config/yaml/documents_spec.rb": 0.12506346471892227,
  "spec/serializers/request_aware_entity_spec.rb": 0.12323323494606979,
  "spec/lib/gitlab/ci/ansi2json/parser_spec.rb": 0.11525367021263422,
  "spec/lib/gitlab/sidekiq_middleware/set_ip_address_spec.rb": 0.11464569690752158,
  "spec/graphql/types/customer_relations/organization_state_counts_type_spec.rb": 0.10677325084748043,
  "spec/initializers/100_patch_omniauth_saml_spec.rb": 0.1045545149707848,
  "spec/lib/api/api_spec.rb": 0.09867428806218367,
  "spec/helpers/projects/issues_helper_spec.rb": 0.0962401067482152,
  "spec/lib/gitlab/ci/config/interpolation/functions/truncate_spec.rb": 0.09271591481712489,
  "spec/graphql/types/packages/terraform_module/metadatum/input_type_spec.rb": 0.08991953227912602,
  "spec/serializers/activity_pub/publish_release_activity_serializer_spec.rb": 0.0855411702663174,
  "spec/lib/gitlab/sidekiq_middleware/pause_control/client_spec.rb": 0.07962395023148264,
  "spec/graphql/types/access_levels/deploy_key_type_spec.rb": 0.07629241589757502,
  "spec/graphql/types/ci/test_suite_summary_type_spec.rb": 0.07443320952313282,
  "spec/graphql/types/packages/helm/dependency_type_spec.rb": 0.06973758455648384,
  "spec/services/spam/spam_params_spec.rb": 0.06844285982969324,
  "spec/lib/gitlab/ci/build/port_spec.rb": 0.0682060525063796,
  "spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb": 0.06590495935457877,
  "spec/lib/gitlab/click_house_spec.rb": 0.06523076760421086,
  "spec/initializers/postgresql_cte_spec.rb": 0.062125274173916493,
  "spec/graphql/types/work_items/notes_filter_type_enum_spec.rb": 0.06167536633754036,
  "spec/graphql/types/packages/nuget/dependency_link_metdatum_type_spec.rb": 0.05141389311337337,
  "spec/workers/todos_destroyer/group_private_worker_spec.rb": 0.04716711769575639,
  "spec/rubocop/cop/gitlab/union_spec.rb": 0.04408679075346603,
  "spec/serializers/detailed_status_entity_spec.rb": 0.0422011031572037,
  "spec/serializers/accessibility_error_entity_spec.rb": 0.040937788727681834,
  "spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb": 0.0397854899655264,
  "spec/lib/api/entities/nuget/dependency_spec.rb": 0.038418001988840426
}

Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-8442485313.json --format RspecJunitFormatter --out rspec/rspec-8442485313.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house -- spec/models/concerns/noteable_spec.rb spec/services/projects/overwrite_project_service_spec.rb spec/services/ci/create_pipeline_service/rules_spec.rb spec/lib/gitlab/background_migration/backfill_issue_search_data_namespace_id_spec.rb spec/services/application_settings/update_service_spec.rb spec/lib/gitlab/background_migration/backfill_has_remediations_of_vulnerability_reads_spec.rb spec/lib/banzai/filter/references/issue_reference_filter_spec.rb spec/lib/gitlab/background_migration/backfill_packages_package_files_project_id_spec.rb spec/models/ci/ref_spec.rb spec/models/design_management/design_at_version_spec.rb spec/models/merge_request_diff_file_spec.rb spec/models/concerns/avatarable_spec.rb spec/services/users/destroy_service_spec.rb spec/models/concerns/approvable_spec.rb spec/services/resource_access_tokens/revoke_service_spec.rb spec/lib/gitlab/background_migration/backfill_packages_npm_metadata_project_id_spec.rb spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb spec/lib/banzai/reference_parser/user_parser_spec.rb spec/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service_spec.rb spec/models/concerns/discussion_on_diff_spec.rb spec/services/discussions/update_diff_position_service_spec.rb spec/policies/blob_policy_spec.rb spec/lib/gitlab/ci/badge/release/template_spec.rb spec/services/milestones/promote_service_spec.rb spec/services/incident_management/timeline_events/create_service_spec.rb spec/lib/gitlab/x509/signature_spec.rb spec/finders/ci/jobs_finder_spec.rb spec/lib/gitlab/url_builder_spec.rb spec/policies/achievements/user_achievement_policy_spec.rb spec/lib/gitlab/background_migration/backfill_packages_nuget_symbols_project_id_spec.rb spec/lib/gitlab/search/recent_issues_spec.rb spec/lib/gitlab/diff/suggestions_parser_spec.rb spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb spec/workers/delete_diff_files_worker_spec.rb spec/lib/gitlab/ci/status/build/common_spec.rb spec/services/ci/run_scheduled_build_service_spec.rb spec/views/projects/tags/index.html.haml_spec.rb spec/lib/container_registry/gitlab_api_client_spec.rb spec/services/work_items/import_csv_service_spec.rb spec/services/error_tracking/list_issues_service_spec.rb spec/graphql/mutations/alert_management/alerts/set_assignees_spec.rb spec/services/suggestions/outdate_service_spec.rb spec/lib/gitlab/chat/responder/slack_spec.rb spec/helpers/ide_helper_spec.rb spec/models/ci/runner_namespace_spec.rb spec/lib/gitlab/import_export/uploads_manager_spec.rb spec/services/issuable/callbacks/description_spec.rb spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb spec/services/ci/change_variable_service_spec.rb spec/serializers/merge_request_user_entity_spec.rb spec/graphql/types/ci/job_token_auth_log_type_spec.rb spec/services/click_house/sync_strategies/base_sync_strategy_spec.rb spec/lib/banzai/reference_parser/design_parser_spec.rb spec/models/merge_request_reviewer_spec.rb spec/models/lfs_download_object_spec.rb spec/graphql/resolvers/repository_branch_names_resolver_spec.rb spec/workers/ci/pending_builds/update_project_worker_spec.rb spec/lib/gitlab/ci/status/stage/common_spec.rb spec/policies/clusters/agents/activity_event_policy_spec.rb spec/lib/gitlab/redis/repository_cache_spec.rb spec/models/users/merge_request_interaction_spec.rb spec/models/label_priority_spec.rb spec/workers/work_items/import_work_items_csv_worker_spec.rb spec/lib/gitlab/ci/config/external/file/component_spec.rb spec/services/ci/pipeline_schedules/variables_create_service_spec.rb spec/services/releases/links/create_service_spec.rb spec/workers/ci/pipeline_artifacts/coverage_report_worker_spec.rb spec/services/integrations/exclusions/create_service_spec.rb spec/services/namespaces/statistics_refresher_service_spec.rb spec/services/ml/create_model_version_service_spec.rb spec/lib/gitlab/ci/pipeline/chain/build_spec.rb spec/graphql/mutations/terraform/state/unlock_spec.rb spec/lib/object_storage/config_spec.rb spec/lib/gitlab/database/health_status/indicators/patroni_apdex_spec.rb spec/services/authorized_project_update/project_recalculate_service_spec.rb spec/helpers/keyset_helper_spec.rb spec/models/preloaders/user_max_access_level_in_groups_preloader_spec.rb spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb spec/lib/api/helpers/authentication_spec.rb spec/views/layouts/devise_empty.html.haml_spec.rb spec/lib/gitlab/conan_token_spec.rb spec/lib/gitlab/ci/variables/builder/release_spec.rb spec/lib/gitlab/ci/config/entry/image_spec.rb spec/models/concerns/issuable_link_spec.rb spec/lib/gitlab_settings/options_spec.rb spec/services/users/reset_feed_token_service_spec.rb spec/services/bulk_imports/batched_relation_export_service_spec.rb spec/graphql/resolvers/crm/contact_state_counts_resolver_spec.rb spec/services/packages/nuget/create_dependency_service_spec.rb spec/lib/gitlab/ci/reports/security/reports_spec.rb spec/services/import/source_users/keep_as_placeholder_service_spec.rb spec/lib/gitlab/seeders/project_environment_seeder_spec.rb spec/graphql/types/ci/job_base_field_spec.rb spec/lib/gitlab/ci/variables/builder/group_spec.rb spec/lib/gitlab/i18n/pluralization_spec.rb spec/lib/gitlab/gitaly_client/diff_service_spec.rb spec/services/customer_relations/organizations/update_service_spec.rb spec/lib/gitlab/ci/config/entry/policy_spec.rb spec/workers/build_queue_worker_spec.rb spec/presenters/ci/trigger_presenter_spec.rb spec/lib/gitlab/database/partitioning_migration_helpers/uniqueness_helpers_spec.rb spec/services/admin/plan_limits/update_service_spec.rb spec/models/anti_abuse/reports/label_spec.rb spec/finders/packages/terraform_module/packages_finder_spec.rb spec/workers/ssh_keys/expiring_soon_notification_worker_spec.rb spec/workers/jira_connect/sync_feature_flags_worker_spec.rb spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb spec/services/work_items/data_sync/handlers/cleanup_data_handler_spec.rb spec/serializers/user_entity_spec.rb spec/services/achievements/update_user_achievement_service_spec.rb spec/lib/gitlab/hook_data/emoji_builder_spec.rb spec/workers/pages_worker_spec.rb spec/helpers/form_helper_spec.rb spec/lib/gitlab/ci/reports/test_failure_history_spec.rb spec/lib/gitlab/cross_project_access/check_info_spec.rb spec/lib/gitlab/popen/runner_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_personal_snippets_metric_spec.rb spec/models/ci/runner_tagging_spec.rb spec/graphql/types/ci/status_action_type_spec.rb spec/lib/gitlab/query_limiting_spec.rb spec/lib/gitlab/template/finders/global_template_finder_spec.rb spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb spec/lib/gitlab/ci/config/entry/commands_spec.rb spec/rubocop/cop/migration/add_reference_spec.rb spec/lib/gitlab/ci/components/usages/aggregators/cursor_spec.rb spec/uploaders/object_storage/cdn_spec.rb spec/lib/sidebars/user_profile/panel_spec.rb spec/tooling/danger/rubocop_helper_spec.rb spec/lib/gitlab/database_warnings_spec.rb spec/graphql/types/base_object_field_skip_type_authorization_spec.rb spec/lib/api/entities/ci/runner_manager_spec.rb spec/lib/gitlab/zoom_link_extractor_spec.rb spec/services/users/untrust_service_spec.rb spec/lib/gitlab/kas/user_access_spec.rb spec/validators/gitlab/zoom_url_validator_spec.rb spec/models/integrations/issue_tracker_data_spec.rb spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb spec/lib/pager_duty/webhook_payload_parser_spec.rb spec/lib/gitlab/cache/metrics_spec.rb spec/lib/gitlab/template/gitignore_template_spec.rb spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb spec/serializers/ci/daily_build_group_report_result_entity_spec.rb spec/lib/gitlab/sessions/redis_store_spec.rb spec/services/packages/terraform_module/metadata/parse_hcl_file_service_spec.rb spec/components/rapid_diffs/viewers/text/expand_lines_component_spec.rb spec/lib/constraints/activity_pub_constrainer_spec.rb spec/services/ci/runners/unregister_runner_service_spec.rb spec/keeps/helpers/postgres_ai_spec.rb spec/lib/gitlab/ci/config/yaml/documents_spec.rb spec/serializers/request_aware_entity_spec.rb spec/lib/gitlab/ci/ansi2json/parser_spec.rb spec/lib/gitlab/sidekiq_middleware/set_ip_address_spec.rb spec/graphql/types/customer_relations/organization_state_counts_type_spec.rb spec/initializers/100_patch_omniauth_saml_spec.rb spec/lib/api/api_spec.rb spec/helpers/projects/issues_helper_spec.rb spec/lib/gitlab/ci/config/interpolation/functions/truncate_spec.rb spec/graphql/types/packages/terraform_module/metadatum/input_type_spec.rb spec/serializers/activity_pub/publish_release_activity_serializer_spec.rb spec/lib/gitlab/sidekiq_middleware/pause_control/client_spec.rb spec/graphql/types/access_levels/deploy_key_type_spec.rb spec/graphql/types/ci/test_suite_summary_type_spec.rb spec/graphql/types/packages/helm/dependency_type_spec.rb spec/services/spam/spam_params_spec.rb spec/lib/gitlab/ci/build/port_spec.rb spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb spec/lib/gitlab/click_house_spec.rb spec/initializers/postgresql_cte_spec.rb spec/graphql/types/work_items/notes_filter_type_enum_spec.rb spec/graphql/types/packages/nuget/dependency_link_metdatum_type_spec.rb spec/workers/todos_destroyer/group_private_worker_spec.rb spec/rubocop/cop/gitlab/union_spec.rb spec/serializers/detailed_status_entity_spec.rb spec/serializers/accessibility_error_entity_spec.rb spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb spec/lib/api/entities/nuget/dependency_spec.rbKnapsack report generator started!
/builds/gitlab-org/gitlab/vendor/ruby/3.2.0/gems/io-event-1.6.5/lib/io/event/support.rb:27: warning: IO::Buffer is experimental and both the Ruby and C interface may change in the future!
warning: parser/current is loading parser/ruby32, which recognizes 3.2.6-compliant syntax, but you are running 3.2.5.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true}

# [RSpecRunTime] Starting RSpec timer...
[TEST PROF INFO] EventProf enabled (sql.active_record)
unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.
unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.

Test environment set up in 3.711695255 seconds
# [RSpecRunTime] Starting example group spec/models/concerns/noteable_spec.rb. Expected to take 3 minutes 32.87 seconds.

Noteable
  does not allow STI
  #discussions
    includes discussions for diff notes, commit diff notes, commit notes, and regular notes
  #commenters
    when noteable is an issue
      behaves like commenters
        does not automatically include the noteable author
        with no user
          contains a distinct list of non-internal note authors
# [RSpecRunTime] RSpec elapsed time: 40.37 seconds. Current RSS: ~1321M. Threads: 4. load average: 1.05 1.16 0.69 1/282 1003
.

        with non project member
          contains a distinct list of non-internal note authors
          does not include a commenter from another noteable
# [RSpecRunTime] RSpec elapsed time: 54.2 seconds. Current RSS: ~1309M. Threads: 4. load average: 1.18 1.19 0.70 1/282 1300
.

      with reporter
        contains a distinct list of non-internal note authors
        with noteable author
          contains a distinct list of non-internal note authors
# [RSpecRunTime] RSpec elapsed time: 1 minute 8.09 seconds. Current RSS: ~1312M. Threads: 4. load average: 1.15 1.18 0.71 1/282 1598
.

    when noteable is a merge request
      behaves like commenters
        does not automatically include the noteable author
        with no user
          contains a distinct list of non-internal note authors
# [RSpecRunTime] RSpec elapsed time: 1 minute 22.65 seconds. Current RSS: ~1318M. Threads: 4. load average: 1.20 1.19 0.72 1/283 2013
.

        with non project member
          contains a distinct list of non-internal note authors
          does not include a commenter from another noteable
# [RSpecRunTime] RSpec elapsed time: 1 minute 37.29 seconds. Current RSS: ~1323M. Threads: 4. load average: 1.22 1.20 0.73 1/283 2427
.

  #discussion_ids_relation
    returns ordered discussion_ids
# [RSpecRunTime] RSpec elapsed time: 1 minute 42.77 seconds. Current RSS: ~1322M. Threads: 4. load average: 1.28 1.21 0.74 1/283 2576
.

  #discussion_root_note_ids
    returns ordered discussion_ids and synthetic note ids
    filters by comments only
    filters by system notes only
# [RSpecRunTime] RSpec elapsed time: 2 minutes 4.48 seconds. Current RSS: ~1325M. Threads: 4. load average: 1.13 1.18 0.74 1/282 3022
.

  #grouped_diff_discussions
    includes active discussions
    does not include outdated discussions
    groups the discussions by line code
# [RSpecRunTime] RSpec elapsed time: 2 minutes 20.71 seconds. Current RSS: ~1342M. Threads: 4. load average: 1.10 1.17 0.74 1/283 3464
.

  discussion status
    #discussions_resolvable?
      when all discussions are unresolvable
        returns false
# [RSpecRunTime] RSpec elapsed time: 2 minutes 26.07 seconds. Current RSS: ~1340M. Threads: 4. load average: 1.09 1.16 0.74 1/283 3612
.

      when some discussions are unresolvable and some discussions are resolvable
        returns true
# [RSpecRunTime] RSpec elapsed time: 2 minutes 31.24 seconds. Current RSS: ~1340M. Threads: 4. load average: 1.08 1.16 0.74 1/284 3761
.

      when all discussions are resolvable
        returns true
# [RSpecRunTime] RSpec elapsed time: 2 minutes 36.5 seconds. Current RSS: ~1342M. Threads: 4. load average: 1.08 1.16 0.75 1/284 3910
.

    #discussions_resolved?
      when discussions are not resolvable
        returns false
# [RSpecRunTime] RSpec elapsed time: 2 minutes 41.92 seconds. Current RSS: ~1343M. Threads: 4. load average: 1.07 1.16 0.75 1/285 4059
.

      when discussions are resolvable
        when all resolvable discussions are resolved
          returns true
# [RSpecRunTime] RSpec elapsed time: 2 minutes 47.54 seconds. Current RSS: ~1347M. Threads: 4. load average: 1.06 1.15 0.75 1/284 4208
.

        when some resolvable discussions are not resolved
          returns false
# [RSpecRunTime] RSpec elapsed time: 2 minutes 52.9 seconds. Current RSS: ~1349M. Threads: 4. load average: 1.14 1.17 0.76 1/284 4358
.

    #discussions_to_be_resolved
      includes only discussions that need to be resolved
# [RSpecRunTime] RSpec elapsed time: 2 minutes 58.38 seconds. Current RSS: ~1349M. Threads: 4. load average: 1.13 1.16 0.76 1/284 4509
.

    #discussions_can_be_resolved_by?
      all discussions can be resolved by the user
        allows a user to resolve the discussions
# [RSpecRunTime] RSpec elapsed time: 3 minutes 3.86 seconds. Current RSS: ~1352M. Threads: 4. load average: 1.11 1.16 0.76 1/284 4658
.

      one discussion cannot be resolved by the user
        allows a user to resolve the discussions
# [RSpecRunTime] RSpec elapsed time: 3 minutes 9.21 seconds. Current RSS: ~1353M. Threads: 4. load average: 1.10 1.16 0.76 1/284 4807
.

  .replyable_types
    exposes the replyable types
# [RSpecRunTime] RSpec elapsed time: 3 minutes 14.8 seconds. Current RSS: ~1354M. Threads: 4. load average: 1.17 1.17 0.77 1/284 4957
.

  .resolvable_types
    exposes the resolvable types
# [RSpecRunTime] RSpec elapsed time: 3 minutes 20.38 seconds. Current RSS: ~1355M. Threads: 4. load average: 1.16 1.17 0.77 1/284 5108
.

  .email_creatable_types
    exposes the email creatable types
# [RSpecRunTime] RSpec elapsed time: 3 minutes 25.8 seconds. Current RSS: ~1362M. Threads: 4. load average: 1.23 1.18 0.78 1/284 5257
.

  #capped_notes_count
    notes number < 10
      the number of notes is returned
# [RSpecRunTime] RSpec elapsed time: 3 minutes 31.37 seconds. Current RSS: ~1363M. Threads: 4. load average: 1.21 1.18 0.78 1/284 5406
.

    notes number > 10
      10 is returned
# [RSpecRunTime] RSpec elapsed time: 3 minutes 36.88 seconds. Current RSS: ~1365M. Threads: 4. load average: 1.27 1.19 0.79 1/284 5554
.

  #has_any_diff_note_positions?
    returns true when it has diff note positions
    returns false when it has notes but no diff note positions
    returns false when it has no notes
# [RSpecRunTime] RSpec elapsed time: 3 minutes 59.17 seconds. Current RSS: ~1383M. Threads: 4. load average: 1.10 1.16 0.79 1/283 6301
.

  #creatable_note_email_address
    incoming email enabled
      returns the address to create a note
      returns nil for unsupported types
# [RSpecRunTime] RSpec elapsed time: 4 minutes 10.36 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.08 1.15 0.79 1/283 6597
.

    incoming email disabled
      returns nil
# [RSpecRunTime] RSpec elapsed time: 4 minutes 16.24 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.16 1.17 0.80 1/283 6748
.


# [RSpecRunTime] Finishing example group spec/models/concerns/noteable_spec.rb. It took 4 minutes 5.88 seconds. Expected to take 3 minutes 32.87 seconds.
# [RSpecRunTime] Starting example group spec/services/projects/overwrite_project_service_spec.rb. Expected to take 2 minutes 51.62 seconds.

Projects::OverwriteProjectService
  #execute
    when project does not have any relation
      behaves like overwrite actions
        moves deploy keys
        moves notification settings
        moves users stars
        moves project group links
        moves memberships and authorizations
        schedules original project for deletion
        renames the project
        renames source project to temp name
        moves lfs objects relationships
          is expected to eq 3
# [RSpecRunTime] RSpec elapsed time: 4 minutes 59.02 seconds. Current RSS: ~1352M. Threads: 4. load average: 1.13 1.16 0.81 1/277 6749
.

        when project rename fails
          source rename
            moves relations back to source project and raises an exception
# [RSpecRunTime] RSpec elapsed time: 5 minutes 3.05 seconds. Current RSS: ~1350M. Threads: 4. load average: 1.13 1.16 0.81 1/277 6750
.

          new project rename
            moves relations back, renames source project back to original name and raises
# [RSpecRunTime] RSpec elapsed time: 5 minutes 7.84 seconds. Current RSS: ~1350M. Threads: 4. load average: 1.12 1.15 0.82 1/278 6751
.

    when project with elements
      behaves like overwrite actions
        moves deploy keys
        moves notification settings
        moves users stars
        moves project group links
        moves memberships and authorizations
        schedules original project for deletion
        renames the project
        renames source project to temp name
        moves lfs objects relationships
          is expected to eq 3
# [RSpecRunTime] RSpec elapsed time: 6 minutes 13.14 seconds. Current RSS: ~1355M. Threads: 4. load average: 0.98 1.11 0.82 1/278 6752
.

        when project rename fails
          source rename
            moves relations back to source project and raises an exception
# [RSpecRunTime] RSpec elapsed time: 6 minutes 19.39 seconds. Current RSS: ~1356M. Threads: 4. load average: 1.07 1.12 0.83 1/278 6753
.

          new project rename
            moves relations back, renames source project back to original name and raises
# [RSpecRunTime] RSpec elapsed time: 6 minutes 26.32 seconds. Current RSS: ~1356M. Threads: 4. load average: 1.06 1.12 0.83 1/278 6754
.

    forks
      when moving a root forked project
        moves the descendant forks
        updates the fork network
# [RSpecRunTime] RSpec elapsed time: 6 minutes 40.81 seconds. Current RSS: ~1359M. Threads: 4. load average: 1.21 1.14 0.85 3/279 6755
.

      when moving a intermediate forked project
        moves the descendant forks
        moves the ascendant fork
        does not update fork network
# [RSpecRunTime] RSpec elapsed time: 6 minutes 59.19 seconds. Current RSS: ~1360M. Threads: 4. load average: 1.22 1.15 0.86 1/278 6756
.

    if an exception is raised
      rollbacks changes
      removes fork network member
# [RSpecRunTime] RSpec elapsed time: 7 minutes 7.48 seconds. Current RSS: ~1359M. Threads: 4. load average: 1.20 1.15 0.86 1/278 6757
.


# [RSpecRunTime] Finishing example group spec/services/projects/overwrite_project_service_spec.rb. It took 2 minutes 50.84 seconds. Expected to take 2 minutes 51.62 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/create_pipeline_service/rules_spec.rb. Expected to take 2 minutes 18.13 seconds.

Ci::CreatePipelineService
  job:rules
    exists:
      with matches
        creates two jobs
        sets when: for all jobs
# [RSpecRunTime] RSpec elapsed time: 7 minutes 10.97 seconds. Current RSS: ~1358M. Threads: 4. load average: 1.19 1.14 0.86 1/282 6846
.

      with matches on the second rule
        includes both jobs
        sets when: for the created rules job based on the second clause
# [RSpecRunTime] RSpec elapsed time: 7 minutes 13.79 seconds. Current RSS: ~1361M. Threads: 4. load average: 1.17 1.14 0.86 1/283 6935
.

      without matches
        only persists the job without rules
        sets when: for the created job
# [RSpecRunTime] RSpec elapsed time: 7 minutes 16.58 seconds. Current RSS: ~1361M. Threads: 4. load average: 1.17 1.14 0.86 1/283 7024
.

    exists with patterns
      with matches
        creates all jobs
        on checking cache
          does not evaluate the same glob more than once
# [RSpecRunTime] RSpec elapsed time: 7 minutes 18.57 seconds. Current RSS: ~1354M. Threads: 4. load average: 1.17 1.14 0.86 1/283 7124
.

    exists with variables
      with matches
        creates all relevant jobs
        when expand_nested_variables_in_job_rules_exists_and_changes is disabled
          creates all relevant jobs
# [RSpecRunTime] RSpec elapsed time: 7 minutes 20.47 seconds. Current RSS: ~1354M. Threads: 4. load average: 1.24 1.16 0.86 1/283 7199
.

    with allow_failure and exit_codes
      creates a pipeline
      assigns job:allow_failure values to the builds
      removes exit_codes if allow_failure is specified
# [RSpecRunTime] RSpec elapsed time: 7 minutes 25.07 seconds. Current RSS: ~1377M. Threads: 4. load average: 1.22 1.15 0.87 1/283 7284
.

    if:
      variables:
        when no match
          does not affect vars
# [RSpecRunTime] RSpec elapsed time: 7 minutes 26.75 seconds. Current RSS: ~1377M. Threads: 4. load average: 1.22 1.15 0.87 1/283 7313
.

        when matching to the first rule
          overrides variables
# [RSpecRunTime] RSpec elapsed time: 7 minutes 28.46 seconds. Current RSS: ~1379M. Threads: 4. load average: 1.22 1.15 0.87 1/283 7342
.

        when matching to the second rule
          overrides variables
# [RSpecRunTime] RSpec elapsed time: 7 minutes 30.27 seconds. Current RSS: ~1380M. Threads: 4. load average: 1.28 1.17 0.87 1/283 7371
.

        using calculated workflow var in job rules
          when matching the first workflow condition
            uses VAR1 of job rules result
# [RSpecRunTime] RSpec elapsed time: 7 minutes 31.94 seconds. Current RSS: ~1382M. Threads: 4. load average: 1.28 1.17 0.87 1/283 7400
.

      with CI_ENVIRONMENT_* predefined variables
        assigns correct attributes to the jobs
# [RSpecRunTime] RSpec elapsed time: 7 minutes 33.65 seconds. Current RSS: ~1382M. Threads: 4. load average: 1.26 1.17 0.87 1/283 7429
.

      with simple if: clauses
        with matches
          creates a pipeline with the vanilla and manual jobs
          assigns job:when values to the builds
          assigns job:allow_failure values to the builds
          assigns start_in for delayed jobs
# [RSpecRunTime] RSpec elapsed time: 7 minutes 40.58 seconds. Current RSS: ~1378M. Threads: 4. load average: 1.24 1.16 0.87 2/284 7542
.

        with no matches
          behaves like rules jobs are excluded
            only persists the job without rules
# [RSpecRunTime] RSpec elapsed time: 7 minutes 42.27 seconds. Current RSS: ~1377M. Threads: 4. load average: 1.24 1.16 0.87 2/284 7571
.

      with complex if: clauses
        matches the first rule
# [RSpecRunTime] RSpec elapsed time: 7 minutes 43.88 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.22 1.16 0.87 1/283 7600
.

      with needs:
        when the `$var` rule matches
          creates a pipeline with overridden needs
# [RSpecRunTime] RSpec elapsed time: 7 minutes 45.98 seconds. Current RSS: ~1378M. Threads: 4. load average: 1.22 1.16 0.87 1/283 7629
.

        when the `$var` rule does not match
          creates a pipeline with overridden needs
# [RSpecRunTime] RSpec elapsed time: 7 minutes 47.74 seconds. Current RSS: ~1377M. Threads: 4. load average: 1.22 1.16 0.87 1/283 7658
.

    changes:
      and matches
        creates five jobs
        sets when: for all jobs
        sets allow_failure: for negligible job
# [RSpecRunTime] RSpec elapsed time: 7 minutes 53.01 seconds. Current RSS: ~1378M. Threads: 4. load average: 1.44 1.21 0.89 1/283 7743
.

      and matches the second rule
        includes both jobs
        sets when: for the created rules job based on the second clause
# [RSpecRunTime] RSpec elapsed time: 7 minutes 56.36 seconds. Current RSS: ~1378M. Threads: 4. load average: 1.41 1.20 0.89 1/283 7800
.

      and does not match
        sets when: for the created job
        behaves like rules jobs are excluded
          only persists the job without rules
# [RSpecRunTime] RSpec elapsed time: 7 minutes 59.75 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.37 1.20 0.89 1/283 7857
.

      with paths and compare_to
        for jobs rules
          when there is no such compare_to ref
            returns an error
# [RSpecRunTime] RSpec elapsed time: 8 minutes 1.34 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.37 1.20 0.89 1/283 7932
.

          when the compare_to ref exists
            when the rule matches
              creates job1 and job2
            when the rule does not match
              does not create job1
# [RSpecRunTime] RSpec elapsed time: 8 minutes 3.22 seconds. Current RSS: ~1373M. Threads: 4. load average: 1.37 1.20 0.89 1/283 7939
.

          for jobs rules with variables
            when there is no such compare_to ref
              returns an error
            when the compare_to ref exists
              when the rule in job1 matches
                creates job1 and job2
              when the rule in job1 does not match
                does not create job1
            when the compare_to variable does not exist
              returns an error
            when paths is defined by a variable
              when the variable does not exist
                does not create job1
              when the variable contains a matching filename
                creates both jobs
              when the variable does not contain a matching filename
                does not create job1
              when the variable is nested and contains a matching filename
                creates both jobs
                when expand_nested_variables_in_job_rules_exists_and_changes is disabled
                  does not create job1
        for workflow rules
          when the rule matches
            creates job1
          when the rule does not match
            does not create job1
    mixed if: and changes: rules
      and changes: matches before if
        creates two jobs
        sets when: for all jobs
        sets allow_failure: for all jobs
# [RSpecRunTime] RSpec elapsed time: 8 minutes 12.49 seconds. Current RSS: ~1369M. Threads: 4. load average: 1.32 1.19 0.90 1/282 8051
.

      and if: matches after changes
        includes both jobs
        sets when: for the created rules job based on the second clause
# [RSpecRunTime] RSpec elapsed time: 8 minutes 15.98 seconds. Current RSS: ~1387M. Threads: 4. load average: 1.37 1.21 0.90 1/283 8110
.

      and does not match
        sets when: for the created job
        behaves like rules jobs are excluded
          only persists the job without rules
# [RSpecRunTime] RSpec elapsed time: 8 minutes 19.26 seconds. Current RSS: ~1389M. Threads: 4. load average: 1.34 1.20 0.90 1/283 8169
.

    mixed if: and changes: clauses
      with if matches and changes matches
        persists all jobs
# [RSpecRunTime] RSpec elapsed time: 8 minutes 20.92 seconds. Current RSS: ~1392M. Threads: 4. load average: 1.34 1.20 0.90 1/283 8198
.

      with if matches and no change matches
        behaves like rules jobs are excluded
          only persists the job without rules
# [RSpecRunTime] RSpec elapsed time: 8 minutes 22.64 seconds. Current RSS: ~1395M. Threads: 4. load average: 1.34 1.20 0.90 1/283 8228
.

      with change matches and no if matches
        behaves like rules jobs are excluded
          only persists the job without rules
# [RSpecRunTime] RSpec elapsed time: 8 minutes 24.19 seconds. Current RSS: ~1400M. Threads: 4. load average: 1.31 1.20 0.90 1/283 8257
.

      and no matches
        behaves like rules jobs are excluded
          only persists the job without rules
# [RSpecRunTime] RSpec elapsed time: 8 minutes 25.92 seconds. Current RSS: ~1401M. Threads: 4. load average: 1.31 1.20 0.90 1/283 8286
.

    complex if: allow_failure usages
      creates a pipeline
      assigns job:allow_failure values to the builds
# [RSpecRunTime] RSpec elapsed time: 8 minutes 29.53 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.37 1.21 0.91 1/284 8343
.

    complex if: allow_failure & when usages
      creates a pipeline
      assigns job:allow_failure values to the builds
      assigns job:when values to the builds
# [RSpecRunTime] RSpec elapsed time: 8 minutes 35.09 seconds. Current RSS: ~1398M. Threads: 4. load average: 1.34 1.21 0.91 1/284 8428
.

    deploy freeze period `if:` clause
      with 2 jobs
        when outside freeze period
          creates two jobs
# [RSpecRunTime] RSpec elapsed time: 8 minutes 36.69 seconds. Current RSS: ~1394M. Threads: 4. load average: 1.34 1.21 0.91 1/284 8457
.

        when inside freeze period
          creates one job
# [RSpecRunTime] RSpec elapsed time: 8 minutes 38.29 seconds. Current RSS: ~1392M. Threads: 4. load average: 1.34 1.21 0.91 1/284 8486
.

      with 1 job
        when outside freeze period
          creates two jobs
# [RSpecRunTime] RSpec elapsed time: 8 minutes 40.0 seconds. Current RSS: ~1392M. Threads: 4. load average: 1.31 1.20 0.91 1/284 8515
.

        when inside freeze period
          does not create the pipeline
# [RSpecRunTime] RSpec elapsed time: 8 minutes 41.61 seconds. Current RSS: ~1392M. Threads: 4. load average: 1.31 1.20 0.91 1/284 8544
.

    with when:manual
      when matching the rules
        adds the job-with-rules with a when:manual
# [RSpecRunTime] RSpec elapsed time: 8 minutes 43.39 seconds. Current RSS: ~1401M. Threads: 4. load average: 1.31 1.20 0.91 1/284 8573
.

      when there is no match to the rule
        does not add job_with_rules
# [RSpecRunTime] RSpec elapsed time: 8 minutes 45.1 seconds. Current RSS: ~1397M. Threads: 4. load average: 1.29 1.20 0.91 1/284 8602
.

  when workflow:rules are used
    with a single regex-matching if: clause
      matching the first rule in the list
        saves a created pipeline
# [RSpecRunTime] RSpec elapsed time: 8 minutes 46.74 seconds. Current RSS: ~1397M. Threads: 4. load average: 1.29 1.20 0.91 1/284 8631
.

      matching the last rule in the list
        saves a created pipeline
# [RSpecRunTime] RSpec elapsed time: 8 minutes 48.51 seconds. Current RSS: ~1397M. Threads: 4. load average: 1.29 1.20 0.91 1/284 8660
.

      matching the when:never rule
        invalidates the pipeline with a workflow rules error
# [RSpecRunTime] RSpec elapsed time: 8 minutes 49.98 seconds. Current RSS: ~1397M. Threads: 4. load average: 1.26 1.20 0.91 1/284 8689
.

      matching no rules in the list
        invalidates the pipeline with a workflow rules error
# [RSpecRunTime] RSpec elapsed time: 8 minutes 51.45 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.26 1.20 0.91 1/284 8718
.

    when root variables are used
      matching the first rule in the list
        saves a created pipeline
# [RSpecRunTime] RSpec elapsed time: 8 minutes 53.13 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.26 1.20 0.91 1/284 8747
.

    with a multiple regex-matching if: clause
      with partial match
        saves a created pipeline
# [RSpecRunTime] RSpec elapsed time: 8 minutes 54.83 seconds. Current RSS: ~1407M. Threads: 4. load average: 1.24 1.19 0.91 1/284 8776
.

      with complete match
        invalidates the pipeline with a workflow rules error
# [RSpecRunTime] RSpec elapsed time: 8 minutes 56.34 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.24 1.19 0.91 1/284 8805
.

    with job rules
      where workflow passes and the job fails
        invalidates the pipeline with an empty jobs error
# [RSpecRunTime] RSpec elapsed time: 8 minutes 57.9 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.24 1.19 0.91 1/284 8834
.

      where workflow passes and the job passes
        saves a created pipeline
# [RSpecRunTime] RSpec elapsed time: 8 minutes 59.54 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.22 1.19 0.91 1/284 8863
.

      where workflow fails and the job fails
        invalidates the pipeline with a workflow rules error
# [RSpecRunTime] RSpec elapsed time: 9 minutes 1.09 seconds. Current RSS: ~1407M. Threads: 4. load average: 1.22 1.19 0.91 1/284 8892
.

      where workflow fails and the job passes
        invalidates the pipeline with a workflow rules error
# [RSpecRunTime] RSpec elapsed time: 9 minutes 2.53 seconds. Current RSS: ~1404M. Threads: 4. load average: 1.22 1.19 0.91 2/284 8921
.

    with persisted variables
      with matches
        creates a pipeline
# [RSpecRunTime] RSpec elapsed time: 9 minutes 4.13 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.20 1.19 0.91 1/284 8950
.

      with no matches
        does not create a pipeline
# [RSpecRunTime] RSpec elapsed time: 9 minutes 5.6 seconds. Current RSS: ~1404M. Threads: 4. load average: 1.20 1.19 0.91 1/284 8979
.

    with pipeline variables
      with matches
        creates a pipeline
# [RSpecRunTime] RSpec elapsed time: 9 minutes 7.22 seconds. Current RSS: ~1404M. Threads: 4. load average: 1.20 1.19 0.91 1/284 9008
.

      with no matches
        does not create a pipeline
# [RSpecRunTime] RSpec elapsed time: 9 minutes 8.75 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.27 1.20 0.92 1/284 9037
.

    with trigger variables
      with matches
        creates a pipeline
        when a job requires the same variable
          creates a pipeline
# [RSpecRunTime] RSpec elapsed time: 9 minutes 11.98 seconds. Current RSS: ~1404M. Threads: 4. load average: 1.27 1.20 0.92 1/284 9094
.

      with no matches
        does not create a pipeline
        when a job requires the same variable
          does not create a pipeline
# [RSpecRunTime] RSpec elapsed time: 9 minutes 14.78 seconds. Current RSS: ~1403M. Threads: 4. load average: 1.25 1.20 0.92 1/285 9151
.

    changes
      changes is an array
        behaves like comparing file changes with workflow rules
          when matches
            creates the pipeline with a job
# [RSpecRunTime] RSpec elapsed time: 9 minutes 16.57 seconds. Current RSS: ~1404M. Threads: 4. load average: 1.25 1.20 0.92 1/285 9180
.

          when does not match
            creates the pipeline with a job
# [RSpecRunTime] RSpec elapsed time: 9 minutes 18.04 seconds. Current RSS: ~1402M. Threads: 4. load average: 1.25 1.20 0.92 1/285 9209
.

      changes:paths is an array
        behaves like comparing file changes with workflow rules
          when matches
            creates the pipeline with a job
# [RSpecRunTime] RSpec elapsed time: 9 minutes 19.67 seconds. Current RSS: ~1402M. Threads: 4. load average: 1.23 1.19 0.92 1/285 9238
.

          when does not match
            creates the pipeline with a job
# [RSpecRunTime] RSpec elapsed time: 9 minutes 21.08 seconds. Current RSS: ~1402M. Threads: 4. load average: 1.23 1.19 0.92 1/285 9267
.

    workflow name with rules
      substitutes variables in pipeline name
# [RSpecRunTime] RSpec elapsed time: 9 minutes 22.81 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.23 1.19 0.92 1/285 9296
.


# [RSpecRunTime] Finishing example group spec/services/ci/create_pipeline_service/rules_spec.rb. It took 2 minutes 15.33 seconds. Expected to take 2 minutes 18.13 seconds.
# [RSpecRunTime] Starting example group spec/services/application_settings/update_service_spec.rb. Expected to take 1 minute 25.11 seconds.

ApplicationSettings::UpdateService
  updating terms
    when the passed terms are blank
      does not create terms
# [RSpecRunTime] RSpec elapsed time: 9 minutes 23.91 seconds. Current RSS: ~1410M. Threads: 4. load average: 1.21 1.19 0.92 1/285 9297
.

    when passing terms
      creates the terms
      does not create terms if they are the same as the existing ones
      updates terms if they already existed
      only queries once when the terms are changed
# [RSpecRunTime] RSpec elapsed time: 9 minutes 27.48 seconds. Current RSS: ~1449M. Threads: 4. load average: 1.21 1.19 0.92 1/284 9298
.

  updating outbound_local_requests_whitelist
    when params is blank
      does not add to allowlist
    when param add_to_outbound_local_requests_whitelist contains values
      adds to allowlist
    when param outbound_local_requests_allowlist_raw is passed
      overwrites the existing allowlist
  markdown cache invalidators
    behaves like invalidates markdown cache
      increments cache
    behaves like invalidates markdown cache
      increments cache
    behaves like invalidates markdown cache
      increments cache
    behaves like invalidates markdown cache
      increments cache
    behaves like invalidates markdown cache
      increments cache
    when also setting the local_markdown_version
      does not increment
# [RSpecRunTime] RSpec elapsed time: 9 minutes 35.92 seconds. Current RSS: ~1477M. Threads: 4. load average: 1.18 1.18 0.92 1/280 9299
.

    do not invalidate if value does not change
      does not increment
# [RSpecRunTime] RSpec elapsed time: 9 minutes 38.07 seconds. Current RSS: ~1477M. Threads: 4. load average: 1.18 1.18 0.92 1/280 9300
.

  performance bar settings
    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 40.06 seconds. Current RSS: ~1479M. Threads: 4. load average: 1.16 1.18 0.92 1/280 9301
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 42.66 seconds. Current RSS: ~1476M. Threads: 4. load average: 1.16 1.18 0.92 1/280 9302
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: nil, previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 44.75 seconds. Current RSS: ~1491M. Threads: 4. load average: 1.23 1.19 0.93 1/280 9303
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: nil, previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 47.34 seconds. Current RSS: ~1489M. Threads: 4. load average: 1.23 1.19 0.93 1/280 9304
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "foo", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: false
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 49.24 seconds. Current RSS: ~1488M. Threads: 4. load average: 1.21 1.19 0.93 1/280 9305
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "foo", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: 42000000, expected_valid: false
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 51.56 seconds. Current RSS: ~1489M. Threads: 4. load average: 1.21 1.19 0.93 1/280 9306
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "group_a", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: 42000000, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 54.13 seconds. Current RSS: ~1478M. Threads: 4. load average: 1.19 1.19 0.93 1/280 9307
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "group_b", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: 43000000, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 9 minutes 57.14 seconds. Current RSS: ~1487M. Threads: 4. load average: 1.19 1.19 0.93 1/280 9308
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "group_b/", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: 43000000, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 0.19 second. Current RSS: ~1477M. Threads: 4. load average: 1.18 1.18 0.93 1/280 9309
.

    params_performance_bar_enabled: true, params_performance_bar_allowed_group_path: "group_a", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: 42000000, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 2.61 seconds. Current RSS: ~1488M. Threads: 4. load average: 1.18 1.18 0.93 1/280 9310
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: "", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 4.55 seconds. Current RSS: ~1491M. Threads: 4. load average: 1.16 1.18 0.93 1/280 9311
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: "", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 7.24 seconds. Current RSS: ~1489M. Threads: 4. load average: 1.16 1.18 0.93 1/280 9312
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: nil, previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 9.15 seconds. Current RSS: ~1471M. Threads: 4. load average: 1.15 1.18 0.93 1/280 9313
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: nil, previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 11.61 seconds. Current RSS: ~1492M. Threads: 4. load average: 1.15 1.18 0.93 1/280 9314
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: "foo", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 13.55 seconds. Current RSS: ~1492M. Threads: 4. load average: 1.15 1.18 0.93 1/280 9315
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: "foo", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 16.17 seconds. Current RSS: ~1486M. Threads: 4. load average: 1.14 1.17 0.93 1/280 9316
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: "group_a", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 18.61 seconds. Current RSS: ~1483M. Threads: 4. load average: 1.14 1.17 0.93 1/280 9317
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: "group_b", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 21.49 seconds. Current RSS: ~1476M. Threads: 4. load average: 1.13 1.17 0.93 1/280 9318
.

    params_performance_bar_enabled: false, params_performance_bar_allowed_group_path: "group_a", previous_performance_bar_allowed_group_id: 42000000, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 24.12 seconds. Current RSS: ~1471M. Threads: 4. load average: 1.12 1.17 0.93 1/280 9319
.

    params_performance_bar_enabled: nil, params_performance_bar_allowed_group_path: "", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 26.19 seconds. Current RSS: ~1479M. Threads: 4. load average: 1.12 1.17 0.93 1/280 9320
.

    params_performance_bar_enabled: nil, params_performance_bar_allowed_group_path: "foo", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: nil, expected_valid: false
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 28.11 seconds. Current RSS: ~1487M. Threads: 4. load average: 1.12 1.17 0.93 1/280 9321
.

    params_performance_bar_enabled: nil, params_performance_bar_allowed_group_path: "group_a", previous_performance_bar_allowed_group_id: nil, expected_performance_bar_allowed_group_id: 42000000, expected_valid: true
      sets performance_bar_allowed_group_id when present and performance_bar_enabled == true
      adds errors to the model for invalid params
# [RSpecRunTime] RSpec elapsed time: 10 minutes 30.61 seconds. Current RSS: ~1485M. Threads: 4. load average: 1.03 1.15 0.93 1/280 9322
.

    when :performance_bar_allowed_group_path is not present
      does not change the performance bar settings
# [RSpecRunTime] RSpec elapsed time: 10 minutes 31.9 seconds. Current RSS: ~1477M. Threads: 4. load average: 1.03 1.15 0.93 1/280 9323
.

    when :performance_bar_enabled is not present
      implicitly defaults to true
# [RSpecRunTime] RSpec elapsed time: 10 minutes 33.21 seconds. Current RSS: ~1477M. Threads: 4. load average: 1.03 1.15 0.93 1/280 9324
.

  when external authorization is enabled
    does not validate labels if external authorization gets disabled
    does validate labels if external authorization gets enabled
    does validate labels if external authorization is left unchanged
    does not save the settings with an error if the service denies access
    saves the setting when the user has access to the label
    does not validate the label if it was not passed
# [RSpecRunTime] RSpec elapsed time: 10 minutes 38.98 seconds. Current RSS: ~1481M. Threads: 4. load average: 1.02 1.14 0.93 1/280 9325
.

  when raw_blob_request_limit is passsed
    updates raw_blob_request_limit value
# [RSpecRunTime] RSpec elapsed time: 10 minutes 40.0 seconds. Current RSS: ~1480M. Threads: 4. load average: 1.02 1.14 0.93 1/280 9326
.

  when default_branch_protection is updated
    updates default_branch_protection_defaults from the default_branch_protection param
# [RSpecRunTime] RSpec elapsed time: 10 minutes 41.08 seconds. Current RSS: ~1478M. Threads: 4. load average: 1.02 1.14 0.93 4/281 9327
.

  when default_branch_protection_defaults is updated
    updates default_branch_protection_defaults from the default_branch_protection_defaults param
# [RSpecRunTime] RSpec elapsed time: 10 minutes 42.11 seconds. Current RSS: ~1480M. Threads: 4. load average: 1.02 1.14 0.93 1/283 9328
.

  when protected path settings are passed
    updates protected path settings
# [RSpecRunTime] RSpec elapsed time: 10 minutes 43.33 seconds. Current RSS: ~1482M. Threads: 4. load average: 1.02 1.14 0.93 1/283 9329
.

  when general rate limits are passed
    updates general throttle settings
# [RSpecRunTime] RSpec elapsed time: 10 minutes 44.78 seconds. Current RSS: ~1488M. Threads: 4. load average: 1.18 1.17 0.94 1/283 9330
.

  when package registry rate limits are passed
    updates package registry throttle settings
# [RSpecRunTime] RSpec elapsed time: 10 minutes 46.05 seconds. Current RSS: ~1489M. Threads: 4. load average: 1.18 1.17 0.94 1/283 9331
.

  when files API rate limits are passed
    updates files API throttle settings
# [RSpecRunTime] RSpec elapsed time: 10 minutes 47.28 seconds. Current RSS: ~1491M. Threads: 4. load average: 1.18 1.17 0.94 1/283 9332
.

  when deprecated API rate limits are passed
    updates deprecated API throttle settings
# [RSpecRunTime] RSpec elapsed time: 10 minutes 48.52 seconds. Current RSS: ~1491M. Threads: 4. load average: 1.18 1.17 0.94 1/283 9333
.

  when git lfs rate limits are passed
    updates git lfs throttle settings
# [RSpecRunTime] RSpec elapsed time: 10 minutes 49.58 seconds. Current RSS: ~1494M. Threads: 4. load average: 1.17 1.17 0.94 1/283 9334
.

  when issues_create_limit is passed
    updates issues_create_limit value
# [RSpecRunTime] RSpec elapsed time: 10 minutes 50.67 seconds. Current RSS: ~1488M. Threads: 4. load average: 1.17 1.17 0.94 1/283 9335
.

  when users_get_by_id_limit and users_get_by_id_limit_allowlist_raw are passed
    updates users_get_by_id_limit and users_get_by_id_limit_allowlist value
# [RSpecRunTime] RSpec elapsed time: 10 minutes 51.76 seconds. Current RSS: ~1488M. Threads: 4. load average: 1.17 1.17 0.94 1/283 9336
.

  when require_admin_approval_after_user_signup changes
    when it goes from enabled to disabled
      calls ApproveBlockedPendingApprovalUsersWorker
# [RSpecRunTime] RSpec elapsed time: 10 minutes 52.8 seconds. Current RSS: ~1488M. Threads: 4. load average: 1.17 1.17 0.94 1/283 9337
.

    when it goes from disabled to enabled
      does not call ApproveBlockedPendingApprovalUsersWorker
# [RSpecRunTime] RSpec elapsed time: 10 minutes 53.9 seconds. Current RSS: ~1479M. Threads: 4. load average: 1.15 1.17 0.94 1/283 9338
.


# [RSpecRunTime] Finishing example group spec/services/application_settings/update_service_spec.rb. It took 1 minute 31.09 seconds. Expected to take 1 minute 25.11 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/filter/references/issue_reference_filter_spec.rb. Expected to take 1 minute 6.04 seconds.

Banzai::Filter::References::IssueReferenceFilter
  requires project context
  ignores valid references contained inside 'pre' element
  ignores valid references contained inside 'code' element
  ignores valid references contained inside 'a' element
  ignores valid references contained inside 'style' element
  performance
    does not have a N+1 query problem
# [RSpecRunTime] RSpec elapsed time: 10 minutes 55.09 seconds. Current RSS: ~1465M. Threads: 4. load average: 1.15 1.17 0.94 1/283 9339
.

  standard internal reference
    behaves like an internal reference
      links to a valid reference
      links with adjacent text
      ignores invalid issue IDs
      includes a title attribute
      escapes the title attribute
      renders non-HTML tooltips
      includes default classes
      includes a data-project attribute
      includes a data-namespace-path attribute
      includes a data-issue attribute
      includes data attributes for issuable popover
      includes a data-original attribute
      does not escape the data-original attribute
      includes a data-reference-format attribute
      includes a data-reference-format attribute for URL references
      includes a data-reference-format attribute for extended summary URL references
      supports an :only_path context
      does not process links containing issue numbers followed by text
      behaves like a reference containing an element node
        does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 10 minutes 56.98 seconds. Current RSS: ~1449M. Threads: 4. load average: 1.15 1.17 0.94 1/283 9340
.

      behaves like a reference with issue type information
        contains issue-type as a data attribute
  alternative internal_reference
    behaves like an internal reference
      links to a valid reference
      links with adjacent text
      ignores invalid issue IDs
      includes a title attribute
      escapes the title attribute
      renders non-HTML tooltips
      includes default classes
      includes a data-project attribute
      includes a data-namespace-path attribute
      includes a data-issue attribute
      includes data attributes for issuable popover
      includes a data-original attribute
      does not escape the data-original attribute
      includes a data-reference-format attribute
      includes a data-reference-format attribute for URL references
      includes a data-reference-format attribute for extended summary URL references
      supports an :only_path context
      does not process links containing issue numbers followed by text
      behaves like a reference containing an element node
        does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 10 minutes 59.05 seconds. Current RSS: ~1424M. Threads: 4. load average: 1.14 1.17 0.94 1/283 9341
.

      behaves like a reference with issue type information
        contains issue-type as a data attribute
  cross-project / cross-namespace complete reference
    ignores valid references when cross-reference project uses external tracker
    links to a valid reference
    link has valid text
    has valid text
    includes default classes
    ignores invalid issue IDs on the referenced project
    behaves like a reference containing an element node
      does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 11 minutes 4.56 seconds. Current RSS: ~1401M. Threads: 4. load average: 1.13 1.16 0.94 1/283 9342
.

    behaves like a reference with issue type information
      contains issue-type as a data attribute
  cross-project / same-namespace complete reference
    ignores valid references when cross-reference project uses external tracker
    links to a valid reference
    link has valid text
    has valid text
    includes default classes
    ignores invalid issue IDs on the referenced project
    behaves like a reference containing an element node
      does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 11 minutes 13.88 seconds. Current RSS: ~1351M. Threads: 4. load average: 1.11 1.16 0.94 1/283 9343
.

    behaves like a reference with issue type information
      contains issue-type as a data attribute
# [RSpecRunTime] RSpec elapsed time: 11 minutes 15.06 seconds. Current RSS: ~1353M. Threads: 4. load average: 1.11 1.16 0.94 1/283 9344
.

  cross-project shorthand reference
    ignores valid references when cross-reference project uses external tracker
    links to a valid reference
    link has valid text
    has valid text
    includes default classes
    ignores invalid issue IDs on the referenced project
    behaves like a reference containing an element node
      does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 11 minutes 23.7 seconds. Current RSS: ~1358M. Threads: 4. load average: 1.09 1.15 0.94 1/283 9345
.

    behaves like a reference with issue type information
      contains issue-type as a data attribute
# [RSpecRunTime] RSpec elapsed time: 11 minutes 24.92 seconds. Current RSS: ~1356M. Threads: 4. load average: 1.09 1.15 0.94 1/283 9346
.

  cross-project URL reference
    links to a valid reference
    link with trailing slash
    links with adjacent text
    includes default classes
    behaves like a reference containing an element node
      does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 11 minutes 29.15 seconds. Current RSS: ~1360M. Threads: 4. load average: 1.08 1.15 0.94 1/283 9347
.

    behaves like a reference with issue type information
      contains issue-type as a data attribute
  cross-project reference in link href
    links to a valid reference
    links with adjacent text
    includes default classes
    behaves like a reference containing an element node
      does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 11 minutes 33.24 seconds. Current RSS: ~1360M. Threads: 4. load average: 1.08 1.15 0.94 1/283 9348
.

    behaves like a reference with issue type information
      contains issue-type as a data attribute
  cross-project URL in link href
    links to a valid reference
    links with adjacent text
    includes default classes
    behaves like a reference containing an element node
      does not escape inner html
# [RSpecRunTime] RSpec elapsed time: 11 minutes 37.32 seconds. Current RSS: ~1356M. Threads: 4. load average: 1.08 1.15 0.94 1/283 9349
.

    behaves like a reference with issue type information
      contains issue-type as a data attribute
  when processing a link to the designs tab
    includes the word "designs" after the reference in the text content
    design management is not available
      links to the issue, but not to the designs tab
  group context
    ignores shorthanded issue reference
    ignores valid references when cross-reference project uses external tracker
    links to a valid reference for complete cross-reference
    ignores reference for shorthand cross-reference
    links to a valid reference for url cross-reference
    links to a valid reference for cross-reference in link href
    links to a valid reference for issue reference in the link href
# [RSpecRunTime] RSpec elapsed time: 11 minutes 40.34 seconds. Current RSS: ~1356M. Threads: 4. load average: 1.07 1.14 0.94 1/283 9350
.

  .references_in
    yields valid references
    doesn't yield invalid references
    doesn't yield unsupported references
# [RSpecRunTime] RSpec elapsed time: 11 minutes 42.35 seconds. Current RSS: ~1366M. Threads: 4. load average: 1.07 1.14 0.94 1/286 9409
.

  #object_link_text_extras
    the link does not go to the designs tab
      does not include designs
    the link goes to the designs tab
      includes designs
      design management is disabled
        does not include designs in the extras
  checking N+1
    does not have N+1 per multiple references per project

# [RSpecRunTime] Finishing example group spec/lib/banzai/filter/references/issue_reference_filter_spec.rb. It took 48.99 seconds. Expected to take 1 minute 6.04 seconds.
# [RSpecRunTime] Starting example group spec/models/ci/ref_spec.rb. Expected to take 51.47 seconds.

Ci::Ref
  does not allow STI
  is expected to belong to project required: false
  .ensure_for
    when pipeline is a branch pipeline
      behaves like ensures ci_ref
        when ci_ref already exists
          returns an existing ci_ref
# [RSpecRunTime] RSpec elapsed time: 11 minutes 44.12 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.06 1.14 0.95 1/286 9428
.

        when ci_ref does not exist yet
          creates a new ci_ref
    when pipeline is a tag pipeline
      behaves like ensures ci_ref
        when ci_ref already exists
          returns an existing ci_ref
        when ci_ref does not exist yet
          creates a new ci_ref
    when pipeline is a detached merge request pipeline
      behaves like ensures ci_ref
        when ci_ref already exists
          returns an existing ci_ref
        when ci_ref does not exist yet
          creates a new ci_ref
  #last_finished_pipeline_id
    when there are no finished pipelines
      returns nil
    when there are finished pipelines
      returns the pipeline id
      when the pipeline a dangling pipeline
        returns nil
# [RSpecRunTime] RSpec elapsed time: 11 minutes 47.92 seconds. Current RSS: ~1372M. Threads: 4. load average: 1.06 1.14 0.95 1/289 9495
.

  #update_status_by!
    when pipeline status is success or failed
      pipeline_status: :success, current_ref_status: :unknown, expected_ref_status: :success
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 49.1 seconds. Current RSS: ~1373M. Threads: 4. load average: 1.06 1.14 0.95 1/288 9496
.

      pipeline_status: :success, current_ref_status: :success, expected_ref_status: :success
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 50.44 seconds. Current RSS: ~1369M. Threads: 4. load average: 1.06 1.14 0.95 1/288 9497
.

      pipeline_status: :success, current_ref_status: :failed, expected_ref_status: :fixed
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 51.7 seconds. Current RSS: ~1367M. Threads: 4. load average: 1.06 1.14 0.95 1/288 9498
.

      pipeline_status: :success, current_ref_status: :fixed, expected_ref_status: :success
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 53.11 seconds. Current RSS: ~1362M. Threads: 4. load average: 1.06 1.14 0.95 1/286 9499
.

      pipeline_status: :success, current_ref_status: :broken, expected_ref_status: :fixed
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 54.48 seconds. Current RSS: ~1358M. Threads: 4. load average: 0.97 1.12 0.94 1/286 9500
.

      pipeline_status: :success, current_ref_status: :still_failing, expected_ref_status: :fixed
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 55.76 seconds. Current RSS: ~1356M. Threads: 4. load average: 0.97 1.12 0.94 1/283 9501
.

      pipeline_status: :failed, current_ref_status: :unknown, expected_ref_status: :failed
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 57.13 seconds. Current RSS: ~1358M. Threads: 4. load average: 0.97 1.12 0.94 1/283 9502
.

      pipeline_status: :failed, current_ref_status: :success, expected_ref_status: :broken
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 58.43 seconds. Current RSS: ~1357M. Threads: 4. load average: 0.97 1.12 0.94 3/283 9503
.

      pipeline_status: :failed, current_ref_status: :failed, expected_ref_status: :still_failing
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 11 minutes 59.78 seconds. Current RSS: ~1357M. Threads: 4. load average: 0.98 1.12 0.94 1/283 9504
.

      pipeline_status: :failed, current_ref_status: :fixed, expected_ref_status: :broken
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 12 minutes 1.22 seconds. Current RSS: ~1356M. Threads: 4. load average: 0.98 1.12 0.94 1/283 9505
.

      pipeline_status: :failed, current_ref_status: :broken, expected_ref_status: :still_failing
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 12 minutes 2.45 seconds. Current RSS: ~1356M. Threads: 4. load average: 0.98 1.12 0.94 1/283 9506
.

      pipeline_status: :failed, current_ref_status: :still_failing, expected_ref_status: :still_failing
        transitions the status via state machine
# [RSpecRunTime] RSpec elapsed time: 12 minutes 3.73 seconds. Current RSS: ~1356M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9507
.

    when pipeline status is success
      updates the status
# [RSpecRunTime] RSpec elapsed time: 12 minutes 5.22 seconds. Current RSS: ~1356M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9508
.

    when pipeline status is canceled
      is expected to eq :unknown
# [RSpecRunTime] RSpec elapsed time: 12 minutes 6.55 seconds. Current RSS: ~1356M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9509
.

    when pipeline status is skipped
      behaves like no-op
        does nothing and returns nil
# [RSpecRunTime] RSpec elapsed time: 12 minutes 7.93 seconds. Current RSS: ~1357M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9510
.

    when pipeline status is not complete
      behaves like no-op
        does nothing and returns nil
# [RSpecRunTime] RSpec elapsed time: 12 minutes 9.35 seconds. Current RSS: ~1358M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9511
.

    when pipeline is not the latest pipeline
      behaves like no-op
        does nothing and returns nil
# [RSpecRunTime] RSpec elapsed time: 12 minutes 11.31 seconds. Current RSS: ~1357M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9512
.

    when pipeline does not belong to the ci_ref
      behaves like no-op
        does nothing and returns nil
# [RSpecRunTime] RSpec elapsed time: 12 minutes 13.34 seconds. Current RSS: ~1358M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9513
.

  loose foreign key on ci_refs.project_id
    behaves like cleanup by a loose foreign key
      cleans up (delete or nullify) the model
# [RSpecRunTime] RSpec elapsed time: 12 minutes 22.45 seconds. Current RSS: ~1359M. Threads: 4. load average: 0.98 1.11 0.94 1/283 9514
.

  #last_successful_ci_source_pipeline
    when there are no successful CI source pipelines
      is expected to be nil
# [RSpecRunTime] RSpec elapsed time: 12 minutes 24.4 seconds. Current RSS: ~1361M. Threads: 4. load average: 0.99 1.11 0.94 1/283 9515
.

    when there are successful CI source pipelines
      and the latest pipeline is a successful CI source pipeline
        returns the last successful CI source pipeline
# [RSpecRunTime] RSpec elapsed time: 12 minutes 26.54 seconds. Current RSS: ~1366M. Threads: 4. load average: 0.99 1.11 0.94 1/283 9516
.

      and there is a newer successful dangling source pipeline than the successful CI source pipelines
        returns the last successful CI source pipeline
        and the newer successful dangling source is a child of a successful CI source pipeline
          returns the parent pipeline instead
# [RSpecRunTime] RSpec elapsed time: 12 minutes 32.9 seconds. Current RSS: ~1362M. Threads: 4. load average: 0.99 1.10 0.94 1/283 9517
.

  #last_unlockable_ci_source_pipeline
    when there are unlockable pipelines in the ref
      and the last CI source pipeline in the ref is unlockable
        returns the CI source pipeline
        and it has unlockable child pipelines
          returns the parent CI source pipeline
        and it has a non-unlockable child pipeline
          returns the parent CI source pipeline
      and the last CI source pipeline in the ref is not unlockable
        returns the last unlockable CI source pipeline before it
        and it has unlockable child pipelines
          returns the last unlockable CI source pipeline before it
    when there are no unlockable pipelines in the ref
      is expected to be nil

# [RSpecRunTime] Finishing example group spec/models/ci/ref_spec.rb. It took 52.59 seconds. Expected to take 51.47 seconds.
# [RSpecRunTime] Starting example group spec/models/design_management/design_at_version_spec.rb. Expected to take 45.22 seconds.

DesignManagement::DesignAtVersion
  does not allow STI
  #id
    combines design.id and version.id
# [RSpecRunTime] RSpec elapsed time: 12 minutes 36.96 seconds. Current RSS: ~1352M. Threads: 4. load average: 0.99 1.10 0.94 1/283 9518
.

  #==
    identifies objects created with the same parameters as equal
    identifies unequal objects as unequal, by virtue of their version
    identifies unequal objects as unequal, by virtue of their design
    rejects objects with the same id and the wrong class
    expects objects to be of the same type, not subtypes
  status methods
    a design before it has been created
      is not deleted
      has the status :not_created_yet
# [RSpecRunTime] RSpec elapsed time: 12 minutes 42.34 seconds. Current RSS: ~1356M. Threads: 4. load average: 1.07 1.12 0.95 1/283 9519
.

    a design as of its creation
      is not deleted
      has the status :current
# [RSpecRunTime] RSpec elapsed time: 12 minutes 47.51 seconds. Current RSS: ~1358M. Threads: 4. load average: 1.06 1.12 0.95 1/283 9520
.

    a design after it has been created, but before deletion
      is not deleted
      has the status :current
# [RSpecRunTime] RSpec elapsed time: 12 minutes 52.68 seconds. Current RSS: ~1354M. Threads: 4. load average: 1.06 1.11 0.95 1/283 9521
.

    a design as of its modification
      is not deleted
      has the status :current
# [RSpecRunTime] RSpec elapsed time: 12 minutes 57.87 seconds. Current RSS: ~1361M. Threads: 4. load average: 1.05 1.11 0.95 1/283 9522
.

    a design as of its deletion
      is deleted
      has the status :deleted
# [RSpecRunTime] RSpec elapsed time: 13 minutes 3.06 seconds. Current RSS: ~1353M. Threads: 4. load average: 1.05 1.11 0.95 1/283 9523
.

    a design after its deletion
      is deleted
      has the status :deleted
# [RSpecRunTime] RSpec elapsed time: 13 minutes 8.13 seconds. Current RSS: ~1349M. Threads: 4. load average: 1.04 1.11 0.95 1/283 9524
.

    a design on its recreation
      is not deleted
      has the status :current
# [RSpecRunTime] RSpec elapsed time: 13 minutes 13.28 seconds. Current RSS: ~1348M. Threads: 4. load average: 0.96 1.09 0.95 1/283 9525
.

  validations
    is expected to be valid
    a design-at-version without a design
      is expected to be invalid
      mentions the design in the errors
# [RSpecRunTime] RSpec elapsed time: 13 minutes 14.63 seconds. Current RSS: ~1348M. Threads: 4. load average: 0.96 1.09 0.95 1/283 9526
.

    a design-at-version without a version
      is expected to be invalid
      mentions the version in the errors
    design_and_version_belong_to_the_same_issue
      both design and version are supplied
        the design belongs to the same issue as the version
          is expected to be valid
        the design does not belong to the same issue as the version
          is expected to be invalid
# [RSpecRunTime] RSpec elapsed time: 13 minutes 16.52 seconds. Current RSS: ~1349M. Threads: 4. load average: 0.96 1.09 0.95 1/283 9527
.

      the factory is just supplied with a design
        is expected to be valid
      the factory is just supplied with a version
        is expected to be valid
    design_and_version_have_issue_id
      the design has no issue_id, because it is being imported
        is expected to be invalid
      the version has no issue_id, because it is being imported
        is expected to be invalid
      both the design and the version are being imported
        is expected to be invalid
  .lazy_find
    issues fewer queries than the naive approach would
  .find
    invalid ids
      #count
        counts 0 records
      #empty?
        is empty
      #to_a
        finds no records
    valid ids
      #count
        counts 2 records
        issues at most two queries
      #to_a
        finds 6 records
        only returns records with matching IDs
        only returns valid records
        issues at most two queries
# [RSpecRunTime] RSpec elapsed time: 13 minutes 23.82 seconds. Current RSS: ~1341M. Threads: 4. load average: 0.97 1.08 0.95 1/283 9528
.


# [RSpecRunTime] Finishing example group spec/models/design_management/design_at_version_spec.rb. It took 48.35 seconds. Expected to take 45.22 seconds.
# [RSpecRunTime] Starting example group spec/models/merge_request_diff_file_spec.rb. Expected to take 41.26 seconds.

MergeRequestDiffFile
  does not allow STI
  behaves like a BulkInsertSafe model
    when calling class methods directly
      raises an error when method is not bulk-insert safe
      does not raise an error when method is bulk-insert safe
    .bulk_insert!
      when all items are valid
        inserts them all
        returns an empty array
# [RSpecRunTime] RSpec elapsed time: 13 minutes 49.03 seconds. Current RSS: ~1395M. Threads: 4. load average: 0.98 1.08 0.95 1/289 10049
.

      when some items are invalid
        does not insert any of them and raises an error
        inserts them anyway when bypassing validations
  #diff
    when diff is not stored
      when the diff is marked as binary
        unpacks from base 64
        invalid base64
          returns the raw diff
      when the diff is not marked as binary
        returns the raw diff
    when diff is stored in DB
      returns UTF-8 string
    when diff is stored in external storage
      returns UTF-8 string
  #utf8_diff
    does not raise error when the diff is binary
    calls #diff once
    externally stored diff caching
      when external diff is not cached
        caches external diffs
# [RSpecRunTime] RSpec elapsed time: 13 minutes 53.13 seconds. Current RSS: ~1390M. Threads: 4. load average: 0.98 1.08 0.95 1/289 10166
.

      when external diff is already cached
        reads diff from cached external diff
# [RSpecRunTime] RSpec elapsed time: 13 minutes 54.75 seconds. Current RSS: ~1388M. Threads: 4. load average: 1.14 1.11 0.96 2/289 10223
.

      when the diff is marked as binary
        when the diff is marked as binary
          unpacks from base 64
          invalid base64
            returns the raw diff
        when the diff is not marked as binary
          returns the raw diff
      when content responds to #encoding
        encodes content to utf8 encoding
# [RSpecRunTime] RSpec elapsed time: 13 minutes 56.79 seconds. Current RSS: ~1389M. Threads: 4. load average: 1.14 1.11 0.96 1/289 10281
.

      when content is blank
        returns an empty string
# [RSpecRunTime] RSpec elapsed time: 13 minutes 58.47 seconds. Current RSS: ~1386M. Threads: 4. load average: 1.14 1.11 0.96 1/289 10339
.

      when exception is raised
        falls back to #diff
# [RSpecRunTime] RSpec elapsed time: 14 minutes 0.21 second. Current RSS: ~1387M. Threads: 4. load average: 1.13 1.11 0.96 1/289 10396
.

    when diff is not stored externally
      calls #diff
# [RSpecRunTime] RSpec elapsed time: 14 minutes 2.06 seconds. Current RSS: ~1389M. Threads: 4. load average: 1.13 1.11 0.96 1/289 10453
.

    when exception is raised
      logs exception and returns an empty string
# [RSpecRunTime] RSpec elapsed time: 14 minutes 3.91 seconds. Current RSS: ~1390M. Threads: 4. load average: 1.12 1.11 0.96 1/289 10510
.


# [RSpecRunTime] Finishing example group spec/models/merge_request_diff_file_spec.rb. It took 40.08 seconds. Expected to take 41.26 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/avatarable_spec.rb. Expected to take 32.95 seconds.

Avatarable
  does not allow STI
  #update
    when avatar changed
      validates the file size
# [RSpecRunTime] RSpec elapsed time: 14 minutes 7.35 seconds. Current RSS: ~1385M. Threads: 4. load average: 1.12 1.11 0.96 1/288 10511
.

    when avatar was not changed
      skips validation of file size
  #avatar_path
    with caching enabled
      only calls local_url once
      calls local_url twice for path and URLs
      calls local_url twice for different sizes
      handles unpersisted objects
# [RSpecRunTime] RSpec elapsed time: 14 minutes 10.81 seconds. Current RSS: ~1390M. Threads: 4. load average: 1.11 1.10 0.96 1/287 10512
.

    has_asset_host: true, visibility_level: 0, only_path: true, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 13.53 seconds. Current RSS: ~1379M. Threads: 4. load average: 1.11 1.10 0.96 1/285 10513
.

    has_asset_host: true, visibility_level: 0, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 15.59 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.10 1.10 0.96 5/283 10514
.

    has_asset_host: true, visibility_level: 10, only_path: true, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 17.74 seconds. Current RSS: ~1372M. Threads: 4. load average: 1.10 1.10 0.96 1/283 10515
.

    has_asset_host: true, visibility_level: 10, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 21.03 seconds. Current RSS: ~1366M. Threads: 4. load average: 1.09 1.10 0.96 1/283 10516
.

    has_asset_host: true, visibility_level: 20, only_path: true, avatar_path_prefix: []
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 23.2 seconds. Current RSS: ~1366M. Threads: 4. load average: 1.09 1.10 0.96 1/283 10517
.

    has_asset_host: true, visibility_level: 20, only_path: false, avatar_path_prefix: ["https://gitlab-assets.example.com"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 25.45 seconds. Current RSS: ~1372M. Threads: 4. load average: 1.09 1.10 0.97 1/283 10518
.

    has_asset_host: false, visibility_level: 0, only_path: true, avatar_path_prefix: ["/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 27.61 seconds. Current RSS: ~1372M. Threads: 4. load average: 1.09 1.10 0.97 1/283 10519
.

    has_asset_host: false, visibility_level: 0, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 29.75 seconds. Current RSS: ~1370M. Threads: 4. load average: 1.08 1.10 0.97 1/283 10520
.

    has_asset_host: false, visibility_level: 10, only_path: true, avatar_path_prefix: ["/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 31.88 seconds. Current RSS: ~1367M. Threads: 4. load average: 1.08 1.10 0.97 1/283 10521
.

    has_asset_host: false, visibility_level: 10, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 34.12 seconds. Current RSS: ~1373M. Threads: 4. load average: 1.07 1.09 0.97 1/283 10522
.

    has_asset_host: false, visibility_level: 20, only_path: true, avatar_path_prefix: ["/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 36.24 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.07 1.09 0.97 1/283 10523
.

    has_asset_host: false, visibility_level: 20, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]
      returns the expected avatar path
      returns the expected avatar path with width parameter
      when avatar is stored remotely
        returns the expected avatar path
# [RSpecRunTime] RSpec elapsed time: 14 minutes 38.43 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.07 1.09 0.97 1/283 10524
.


# [RSpecRunTime] Finishing example group spec/models/concerns/avatarable_spec.rb. It took 34.53 seconds. Expected to take 32.95 seconds.
# [RSpecRunTime] Starting example group spec/services/users/destroy_service_spec.rb. Expected to take 31.91 seconds.

Users::DestroyService
  Initiates user deletion and deletes all their personal projects
    no options are given
      creates GhostUserMigration record to handle migration in a worker
      will delete the personal project
# [RSpecRunTime] RSpec elapsed time: 14 minutes 41.13 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.07 1.09 0.97 1/284 10525
.

    personal projects in pending_delete
      destroys a personal project in pending_delete
# [RSpecRunTime] RSpec elapsed time: 14 minutes 42.36 seconds. Current RSS: ~1375M. Threads: 4. load average: 1.07 1.09 0.97 3/284 10526
.

    solo owned groups present
      returns the user with attached errors
      does not delete the user, nor the group
# [RSpecRunTime] RSpec elapsed time: 14 minutes 45.35 seconds. Current RSS: ~1378M. Threads: 4. load average: 1.06 1.09 0.97 1/283 10527
.

    deletions with solo owned groups
      deletes solo owned groups
# [RSpecRunTime] RSpec elapsed time: 14 minutes 47.97 seconds. Current RSS: ~1379M. Threads: 4. load average: 1.06 1.09 0.97 1/283 10528
.

    deletions with inherited group owners
      does not delete the group
# [RSpecRunTime] RSpec elapsed time: 14 minutes 50.32 seconds. Current RSS: ~1377M. Threads: 4. load average: 1.06 1.09 0.97 1/283 10529
.

    user personal's repository removal
      storages
        legacy storage
          removes repository
# [RSpecRunTime] RSpec elapsed time: 14 minutes 52.02 seconds. Current RSS: ~1377M. Threads: 4. load average: 1.06 1.09 0.97 1/284 10543
.

        hashed storage
          removes repository
# [RSpecRunTime] RSpec elapsed time: 14 minutes 53.85 seconds. Current RSS: ~1375M. Threads: 4. load average: 1.13 1.10 0.97 1/285 10557
.

      repository removal status is taken into account
        raises exception
# [RSpecRunTime] RSpec elapsed time: 14 minutes 54.91 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.13 1.10 0.97 1/285 10558
.

    calls the before/after callbacks
      of project_members
      of group_members
# [RSpecRunTime] RSpec elapsed time: 14 minutes 58.46 seconds. Current RSS: ~1375M. Threads: 4. load average: 1.13 1.10 0.97 1/285 10559
.

    prometheus metrics
      scheduled records
        with a single record
          updates the scheduled records gauge
# [RSpecRunTime] RSpec elapsed time: 15 minutes 0.07 second. Current RSS: ~1376M. Threads: 4. load average: 1.12 1.10 0.97 1/285 10560
.

        with approximate count due to large number of records
          updates the scheduled records gauge
# [RSpecRunTime] RSpec elapsed time: 15 minutes 1.73 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.12 1.10 0.97 1/285 10561
.

      lag
        update the lag gauge
# [RSpecRunTime] RSpec elapsed time: 15 minutes 3.78 seconds. Current RSS: ~1375M. Threads: 4. load average: 1.11 1.10 0.97 1/283 10562
.

  Deletion permission checks
    does not delete the user when user is not an admin
    allows users to delete their own account
    allows user to be deleted if skip_authorization: true
    when admin mode is enabled
      allows admins to delete anyone
# [RSpecRunTime] RSpec elapsed time: 15 minutes 8.56 seconds. Current RSS: ~1378M. Threads: 4. load average: 1.11 1.10 0.97 1/283 10563
.

    when admin mode is disabled
      disallows admins to delete anyone
    when running the service twice for a user with no personal projects
      does not create a second ghost user migration and does not raise an exception
    user is the only organization owner
      returns the user with attached errors

# [RSpecRunTime] Finishing example group spec/services/users/destroy_service_spec.rb. It took 32.56 seconds. Expected to take 31.91 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/approvable_spec.rb. Expected to take 28.77 seconds.

Approvable
  does not allow STI
  #eligible_for_unapproval_by?
    returns false
    when a user has approved
      returns true
# [RSpecRunTime] RSpec elapsed time: 15 minutes 14.98 seconds. Current RSS: ~1392M. Threads: 4. load average: 1.09 1.10 0.98 1/288 10677
.

    when a user is nil
      returns false
# [RSpecRunTime] RSpec elapsed time: 15 minutes 16.68 seconds. Current RSS: ~1399M. Threads: 4. load average: 1.09 1.10 0.98 1/289 10734
.

  .not_approved_by_users_with_usernames
    has the merge request that is not approved at all and not approved by either user
# [RSpecRunTime] RSpec elapsed time: 15 minutes 23.16 seconds. Current RSS: ~1421M. Threads: 4. load average: 1.09 1.09 0.98 1/289 10962
.

  #eligible_for_approval_by?
    returns true
    when a user has approved
      returns false
# [RSpecRunTime] RSpec elapsed time: 15 minutes 26.81 seconds. Current RSS: ~1418M. Threads: 4. load average: 1.00 1.08 0.97 1/289 11075
.

    when a user is nil
      returns false
# [RSpecRunTime] RSpec elapsed time: 15 minutes 28.5 seconds. Current RSS: ~1404M. Threads: 4. load average: 1.00 1.08 0.97 1/289 11132
.

  #approved?
    when a merge request is approved
      returns true
# [RSpecRunTime] RSpec elapsed time: 15 minutes 30.36 seconds. Current RSS: ~1403M. Threads: 4. load average: 1.00 1.07 0.97 4/289 11189
.

    when a merge request is not approved
      returns false
# [RSpecRunTime] RSpec elapsed time: 15 minutes 32.04 seconds. Current RSS: ~1399M. Threads: 4. load average: 1.00 1.07 0.97 1/289 11247
.

  #approved_by?
    when a user has not approved
      returns false
# [RSpecRunTime] RSpec elapsed time: 15 minutes 33.84 seconds. Current RSS: ~1400M. Threads: 4. load average: 1.00 1.07 0.97 1/289 11305
.

    when a user has approved
      returns false
# [RSpecRunTime] RSpec elapsed time: 15 minutes 35.69 seconds. Current RSS: ~1399M. Threads: 4. load average: 1.00 1.07 0.97 1/289 11365
.

    when a user is nil
      returns false
# [RSpecRunTime] RSpec elapsed time: 15 minutes 37.37 seconds. Current RSS: ~1399M. Threads: 4. load average: 1.00 1.07 0.97 1/289 11423
.


# [RSpecRunTime] Finishing example group spec/models/concerns/approvable_spec.rb. It took 26.37 seconds. Expected to take 28.77 seconds.
# [RSpecRunTime] Starting example group spec/services/resource_access_tokens/revoke_service_spec.rb. Expected to take 25.51 seconds.

ResourceAccessTokens::RevokeService
  #execute
    when resource is a project
      behaves like revokes access token
        is expected to equal true
        is expected to eq "Access token PAT 2 has been revoked."
        does not call the delete user worker
        bot user retains membership
        logs the event
        with retain user feature flag disabled
Job arguments to DeleteUserWorker must be native JSON types, but :skip_authorization is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
          is expected to eq "Access token PAT 6 has been revoked and the bot user has been scheduled for deletion."
          calls delete user worker
Job arguments to DeleteUserWorker must be native JSON types, but :skip_authorization is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
          removes membership of bot user
Job arguments to DeleteUserWorker must be native JSON types, but :skip_authorization is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
          initiates user removal
# [RSpecRunTime] RSpec elapsed time: 15 minutes 45.43 seconds. Current RSS: ~1389M. Threads: 4. load average: 1.00 1.07 0.97 1/288 11424
.

      behaves like revoke fails
        when access token does not belong to this project
          does not find the bot
        when user does not have permission to destroy bot
          when non-project member tries to delete project bot
            does not allow other user to delete bot
          when non-priviledged project member tries to delete project bot
            does not allow developer to delete bot
        when deletion of bot user fails
          behaves like rollback revoke steps
            does not revoke the access token
            does not remove bot from member list
            does not transfer issuables of bot user to ghost user
            does not destroy project bot user
# [RSpecRunTime] RSpec elapsed time: 15 minutes 51.55 seconds. Current RSS: ~1380M. Threads: 4. load average: 1.00 1.07 0.97 1/284 11425
.

    when resource is a group
      behaves like revokes access token
        is expected to equal true
        is expected to eq "Access token PAT 19 has been revoked."
        does not call the delete user worker
        bot user retains membership
        logs the event
        with retain user feature flag disabled
Job arguments to DeleteUserWorker must be native JSON types, but :skip_authorization is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
          is expected to eq "Access token PAT 23 has been revoked and the bot user has been scheduled for deletion."
          calls delete user worker
Job arguments to DeleteUserWorker must be native JSON types, but :skip_authorization is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
          removes membership of bot user
Job arguments to DeleteUserWorker must be native JSON types, but :skip_authorization is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
          initiates user removal
# [RSpecRunTime] RSpec elapsed time: 15 minutes 59.53 seconds. Current RSS: ~1384M. Threads: 4. load average: 1.07 1.08 0.98 1/284 11426
.

      behaves like revoke fails
        when access token does not belong to this group
          does not find the bot
        when user does not have permission to destroy bot
          when non-group member tries to delete project bot
            does not allow other user to delete bot
          when non-priviledged group member tries to delete project bot
            does not allow developer to delete bot
        when deletion of bot user fails
          behaves like rollback revoke steps
            does not revoke the access token
            does not remove bot from member list
            does not transfer issuables of bot user to ghost user
            does not destroy project bot user
# [RSpecRunTime] RSpec elapsed time: 16 minutes 5.57 seconds. Current RSS: ~1382M. Threads: 4. load average: 1.07 1.08 0.98 1/284 11427
.


# [RSpecRunTime] Finishing example group spec/services/resource_access_tokens/revoke_service_spec.rb. It took 28.21 seconds. Expected to take 25.51 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb. Expected to take 21.71 seconds.

Gitlab::ImportExport::Json::StreamingSerializer
  #execute
    calls json_writer.write_attributes with proper params
    with many relations
      calls json_writer.write_relation_array with proper params and clears SafeRequestStore
      logs the relation name and the number of records to export
      when batch export raises an error
        does not raise an error and logs
        when error has sql query
          logs the error message and the sql query
# [RSpecRunTime] RSpec elapsed time: 16 minutes 14.68 seconds. Current RSS: ~1379M. Threads: 4. load average: 1.06 1.08 0.98 1/284 11446
.

      default relation ordering
        orders exported issues by primary key(:id)
# [RSpecRunTime] RSpec elapsed time: 16 minutes 16.72 seconds. Current RSS: ~1375M. Threads: 4. load average: 1.06 1.08 0.98 1/284 11447
.

      custom relation ordering ascending
        orders exported issues by custom column(relative_position)
# [RSpecRunTime] RSpec elapsed time: 16 minutes 18.75 seconds. Current RSS: ~1379M. Threads: 4. load average: 1.06 1.08 0.98 1/284 11448
.

      custom relation ordering descending
        orders exported issues by custom column(relative_position)
# [RSpecRunTime] RSpec elapsed time: 16 minutes 20.8 seconds. Current RSS: ~1383M. Threads: 4. load average: 1.05 1.08 0.98 1/284 11449
.

      contributing user id caching
        when :importer_user_mapping feature flag is enabled
          caches existing referenced user_ids
# [RSpecRunTime] RSpec elapsed time: 16 minutes 22.85 seconds. Current RSS: ~1384M. Threads: 4. load average: 1.05 1.08 0.98 1/284 11450
.

        when :importer_user_mapping feature flag is disabled
          does not cache any contributing user ids
# [RSpecRunTime] RSpec elapsed time: 16 minutes 24.74 seconds. Current RSS: ~1385M. Threads: 4. load average: 1.21 1.11 0.99 1/284 11451
.

    with single relation
      calls json_writer.write_relation with proper params
      logs the relation name
      contributing user id caching
        when :importer_user_mapping feature flag is enabled
          caches existing referenced user_ids
        when :importer_user_mapping feature flag is disabled
          does not cache any contributing user ids
    with array relation
      calls json_writer.write_relation_array with proper params
      logs the relation name and the number of records to export
      contributing user id caching
        when :importer_user_mapping feature flag is enabled
          caches existing referenced user_ids
# [RSpecRunTime] RSpec elapsed time: 16 minutes 27.45 seconds. Current RSS: ~1380M. Threads: 4. load average: 1.21 1.11 0.99 1/284 11452
.

        when :importer_user_mapping feature flag is disabled
          does not cache any contributing user ids
# [RSpecRunTime] RSpec elapsed time: 16 minutes 28.53 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.21 1.11 0.99 1/284 11453
.

    load balancing
      reads from replica
    with inaccessible associations
      conditional export of included associations
        when association is exportable
          behaves like record with exportable associations
            includes exportable association
        when an association is not exportable
          behaves like record with exportable associations
            includes exportable association
        when association does not respond to exportable_association?
          behaves like record with exportable associations
            includes exportable association
      export of included restricted associations
        when the association is restricted
          when some association records are exportable
            behaves like record with exportable associations
              includes exportable association
          when all association records are exportable
            behaves like record with exportable associations
              includes exportable association
          when the single association record is exportable
            behaves like record with exportable associations
              includes exportable association
          when the single association record is not exportable
            behaves like record with exportable associations
              includes exportable association
        when the associations are not restricted
          behaves like record with exportable associations
            includes exportable association
  #serialize_relation
    when record is a merge request
      removes cached external diff
    when the record is a user
      does not attempt to cache user references from a User record
    when export_reduce_relation_batch_size` feature flag is enabled
      when exported relation is included in SMALL_BATCH_RELATIONS
        export relations using a smaller batch size
      when exported relation is not included in SMALL_BATCH_RELATIONS
        export relations using the regular batch size
    when export_reduce_relation_batch_size` feature flag is disabled
      export relations using the regular batch size

# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb. It took 24.87 seconds. Expected to take 21.71 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/reference_parser/user_parser_spec.rb. Expected to take 20.67 seconds.

Banzai::ReferenceParser::UserParser
  #referenced_by
    when the link has a data-group attribute
      using an existing group ID
        returns an empty Array when the group has no users
        when group has members
          returns the relevant users of the group with enough access
          returns an empty Array when the group has mentions disabled
# [RSpecRunTime] RSpec elapsed time: 16 minutes 35.64 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.17 1.10 0.99 1/286 11493
.

      using a non-existing group ID
        returns an empty Array
    when the link has a data-user attribute
      returns an Array of users
      when RequestStore is active
        does not return users from the first call in the second
# [RSpecRunTime] RSpec elapsed time: 16 minutes 37.53 seconds. Current RSS: ~1373M. Threads: 4. load average: 1.17 1.10 0.99 1/286 11494
.

    when the link has a data-project attribute
      using an existing project ID
        returns the members of a project
# [RSpecRunTime] RSpec elapsed time: 16 minutes 38.72 seconds. Current RSS: ~1367M. Threads: 4. load average: 1.17 1.10 0.99 1/286 11495
.

      using a non-existing project ID
        returns an empty Array
  #nodes_visible_to_user
    when the link has a data-group attribute
      using an existing group ID
        returns the nodes if the user can read the group
        returns an empty Array if the user can not read the group
# [RSpecRunTime] RSpec elapsed time: 16 minutes 40.51 seconds. Current RSS: ~1367M. Threads: 4. load average: 1.16 1.10 0.99 1/285 11496
.

      when the link does not have a data-group attribute
        with a data-project attribute
          returns the nodes if the attribute value equals the current project ID
          returns the nodes if the user can read the project
          returns an empty Array if the user can not read the project
# [RSpecRunTime] RSpec elapsed time: 16 minutes 43.69 seconds. Current RSS: ~1361M. Threads: 4. load average: 1.16 1.10 0.99 1/284 11497
.

        without a data-project attribute
          returns the nodes
  #nodes_user_can_reference
    when the link has a data-author attribute
      returns the nodes when the user is a member of the project
      returns an empty Array when the project could not be found
      returns an empty Array when the user could not be found
      returns an empty Array when the user is not a team member
      returns the nodes if the project attribute value equals the current project ID
# [RSpecRunTime] RSpec elapsed time: 16 minutes 49.22 seconds. Current RSS: ~1360M. Threads: 4. load average: 1.14 1.10 1.00 1/284 11498
.

    when the link does not have a data-author attribute
      returns the nodes

# [RSpecRunTime] Finishing example group spec/lib/banzai/reference_parser/user_parser_spec.rb. It took 19.36 seconds. Expected to take 20.67 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service_spec.rb. Expected to take 18.5 seconds.

Ci::PipelineArtifacts::CreateCodeQualityMrDiffReportService
  #execute
    when there are codequality reports
      when pipeline passes
        when degradations are present
          when degradations already present in target branch pipeline
            does not persist a pipeline artifact
# [RSpecRunTime] RSpec elapsed time: 16 minutes 52.02 seconds. Current RSS: ~1371M. Threads: 4. load average: 1.14 1.10 1.00 1/287 11558
.

          when degradation is not present in target branch pipeline
            persists a pipeline artifact
            persists the default file name
            sets expire_at to 1 week
            artifact has pipeline's locked status
            does not persist the same artifact twice
# [RSpecRunTime] RSpec elapsed time: 17 minutes 2.33 seconds. Current RSS: ~1396M. Threads: 4. load average: 1.11 1.09 1.00 1/290 11842
.

    when there are no codequality reports for head pipeline
      does not persist a pipeline artifact
# [RSpecRunTime] RSpec elapsed time: 17 minutes 4.15 seconds. Current RSS: ~1394M. Threads: 4. load average: 1.10 1.09 1.00 1/290 11900
.

    when there are no codequality reports for base pipeline
      does not persist a pipeline artifact
# [RSpecRunTime] RSpec elapsed time: 17 minutes 5.98 seconds. Current RSS: ~1393M. Threads: 4. load average: 1.10 1.09 1.00 1/290 11959
.


# [RSpecRunTime] Finishing example group spec/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service_spec.rb. It took 16.19 seconds. Expected to take 18.5 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/discussion_on_diff_spec.rb. Expected to take 17.93 seconds.

DiscussionOnDiff
  does not allow STI
  #truncated_diff_lines
    when diff is greater than allowed number of truncated diff lines
      returns fewer lines
      with truncated diff lines diff limit set
        when diff limit is higher than default
          returns fewer lines than the default
# [RSpecRunTime] RSpec elapsed time: 17 minutes 9.62 seconds. Current RSS: ~1392M. Threads: 4. load average: 1.10 1.09 1.00 1/290 12084
.

        when diff_limit is lower than default
          returns fewer lines than the default
# [RSpecRunTime] RSpec elapsed time: 17 minutes 11.46 seconds. Current RSS: ~1393M. Threads: 4. load average: 1.10 1.09 1.00 1/290 12148
.

    when some diff lines are meta
      returns no meta lines
# [RSpecRunTime] RSpec elapsed time: 17 minutes 13.29 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.10 1.09 1.00 1/290 12211
.

    when the diff line does not exist on a legacy diff note
      returns an empty array
# [RSpecRunTime] RSpec elapsed time: 17 minutes 15.05 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.09 1.09 1.00 1/290 12268
.

    when the diff line does not exist on a corrupt diff note
      returns an empty array
# [RSpecRunTime] RSpec elapsed time: 17 minutes 16.95 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.09 1.09 1.00 1/290 12331
.

    when the discussion is on an image
      returns an empty array
# [RSpecRunTime] RSpec elapsed time: 17 minutes 18.7 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.09 1.09 1.00 1/290 12388
.

  #line_code_in_diffs
    when the discussion is active in the diff
      returns the current line code
# [RSpecRunTime] RSpec elapsed time: 17 minutes 20.57 seconds. Current RSS: ~1407M. Threads: 4. load average: 1.08 1.09 1.00 1/290 12451
.

    when the discussion was created in the diff
      returns the original line code
# [RSpecRunTime] RSpec elapsed time: 17 minutes 22.26 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.08 1.09 1.00 1/290 12513
.

    when the discussion is unrelated to the diff
      returns nil
# [RSpecRunTime] RSpec elapsed time: 17 minutes 24.04 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.07 1.09 1.00 1/290 12575
.


# [RSpecRunTime] Finishing example group spec/models/concerns/discussion_on_diff_spec.rb. It took 18.05 seconds. Expected to take 17.93 seconds.
# [RSpecRunTime] Starting example group spec/services/discussions/update_diff_position_service_spec.rb. Expected to take 16.19 seconds.

Discussions::UpdateDiffPositionService
  #execute
    when the diff line is the same
      updates the position
      when the resolve_outdated_diff_discussions setting is set
        does not resolve the discussion
# [RSpecRunTime] RSpec elapsed time: 17 minutes 27.97 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.07 1.09 1.00 1/290 12717
.

    when the diff line has changed
      doesn't update the position
      sets the change position
      creates a system discussion
      when the resolve_outdated_diff_discussions setting is set
        sets resolves the discussion and sets resolved_by_push
        doesn't update the position
        sets the change position
        creates a system discussion
# [RSpecRunTime] RSpec elapsed time: 17 minutes 41.41 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.52 1.18 1.03 1/291 13154
.


# [RSpecRunTime] Finishing example group spec/services/discussions/update_diff_position_service_spec.rb. It took 17.38 seconds. Expected to take 16.19 seconds.
# [RSpecRunTime] Starting example group spec/policies/blob_policy_spec.rb. Expected to take 15.38 seconds.

BlobPolicy
  project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 1
    grants permission
# [RSpecRunTime] RSpec elapsed time: 17 minutes 42.81 seconds. Current RSS: ~1413M. Threads: 4. load average: 1.52 1.18 1.03 1/290 13175
.

  project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 0
    grants permission
  project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 1
    grants permission
  project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 1
    grants permission
  project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 0
    grants permission
  project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 0
    grants permission

# [RSpecRunTime] Finishing example group spec/policies/blob_policy_spec.rb. It took 15.53 seconds. Expected to take 15.38 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/badge/release/template_spec.rb. Expected to take 14.43 seconds.

Gitlab::Ci::Badge::Release::Template
  #key_text
    defaults to latest release
    returns custom key text
# [RSpecRunTime] RSpec elapsed time: 17 minutes 59.38 seconds. Current RSS: ~1365M. Threads: 4. load average: 1.37 1.17 1.03 1/285 13217
.

  #value_text
    when a release exists
      returns the tag of the release
# [RSpecRunTime] RSpec elapsed time: 18 minutes 0.69 second. Current RSS: ~1366M. Threads: 4. load average: 1.37 1.17 1.03 1/285 13218
.

    no releases exist
      returns string that latest release is none
# [RSpecRunTime] RSpec elapsed time: 18 minutes 1.97 seconds. Current RSS: ~1369M. Threads: 4. load average: 1.37 1.17 1.03 1/285 13219
.

  #key_width
    returns the default key width
    returns custom key width
# [RSpecRunTime] RSpec elapsed time: 18 minutes 4.35 seconds. Current RSS: ~1369M. Threads: 4. load average: 1.34 1.16 1.03 1/285 13220
.

  #value_width
    returns the default value width
    returns custom value width
    returns VALUE_WIDTH_DEFAULT if the custom value_width supplied is greater than permissible limit
    returns VALUE_WIDTH_DEFAULT if value_width is not a number
# [RSpecRunTime] RSpec elapsed time: 18 minutes 9.09 seconds. Current RSS: ~1372M. Threads: 4. load average: 1.31 1.16 1.03 1/284 13221
.

  #key_color
    always has the same color
# [RSpecRunTime] RSpec elapsed time: 18 minutes 10.27 seconds. Current RSS: ~1373M. Threads: 4. load average: 1.31 1.16 1.03 1/284 13222
.

  #value_color
    when release exists
      is blue
# [RSpecRunTime] RSpec elapsed time: 18 minutes 11.36 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.31 1.16 1.03 1/284 13223
.

    when release does not exist
      is red
# [RSpecRunTime] RSpec elapsed time: 18 minutes 12.64 seconds. Current RSS: ~1376M. Threads: 4. load average: 1.31 1.16 1.03 1/284 13224
.


# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/badge/release/template_spec.rb. It took 15.69 seconds. Expected to take 14.43 seconds.
# [RSpecRunTime] Starting example group spec/services/milestones/promote_service_spec.rb. Expected to take 13.61 seconds.

Milestones::PromoteService
  #execute
    validations
      raises error if milestone does not belong to a project
      raises error if project does not belong to a group
      does not promote milestone and update issuables if promoted milestone is not valid
# [RSpecRunTime] RSpec elapsed time: 18 minutes 16.68 seconds. Current RSS: ~1380M. Threads: 4. load average: 1.29 1.16 1.03 1/284 13225
.

    without duplicated milestone titles across projects
      promotes project milestone to group milestone
      does not update issuables without milestone with the new promoted milestone
      sets issuables with new promoted milestone
# [RSpecRunTime] RSpec elapsed time: 18 minutes 20.94 seconds. Current RSS: ~1374M. Threads: 4. load average: 1.26 1.16 1.03 1/284 13226
.

    with duplicated milestone titles across projects
      deletes project milestones with the same title
      does not update issuables without milestone with the new promoted milestone
      sets all issuables with new promoted milestone
# [RSpecRunTime] RSpec elapsed time: 18 minutes 27.47 seconds. Current RSS: ~1370M. Threads: 4. load average: 1.24 1.15 1.03 1/284 13227
.


# [RSpecRunTime] Finishing example group spec/services/milestones/promote_service_spec.rb. It took 14.83 seconds. Expected to take 13.61 seconds.
# [RSpecRunTime] Starting example group spec/services/incident_management/timeline_events/create_service_spec.rb. Expected to take 12.91 seconds.

IncidentManagement::TimelineEvents::CreateService
  automatically created timeline events
    .create_incident
      behaves like successfully created timeline event
        creates a timeline event
        successfully creates a database record
        does not create a system note
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
# [RSpecRunTime] RSpec elapsed time: 18 minutes 29.06 seconds. Current RSS: ~1371M. Threads: 4. load average: 1.22 1.15 1.03 1/284 13228
.

        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
    .reopen_incident
      behaves like successfully created timeline event
        creates a timeline event
        successfully creates a database record
        does not create a system note
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
    .resolve_incident
      behaves like successfully created timeline event
        creates a timeline event
        successfully creates a database record
        does not create a system note
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
    .change_incident_status
      behaves like successfully created timeline event
        creates a timeline event
        successfully creates a database record
        does not create a system note
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
    .change_severity
      behaves like successfully created timeline event
        creates a timeline event
        successfully creates a database record
        does not create a system note
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
    .change_labels
      when there are neither added nor removed labels
        responds with error
        does not create timeline event
      when there are only added labels
        behaves like successfully created timeline event
          creates a timeline event
          successfully creates a database record
          does not create a system note
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted
      when there are only removed labels
        behaves like successfully created timeline event
          creates a timeline event
          successfully creates a database record
          does not create a system note
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted
      when there are both added and removed labels
        behaves like successfully created timeline event
          creates a timeline event
          successfully creates a database record
          does not create a system note
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted
      when there is a single added and single removed labels
        behaves like successfully created timeline event
          creates a timeline event
          successfully creates a database record
          does not create a system note
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted
      when feature flag is disabled
        does not create timeline event
  #execute
    successfully creates a database record
    when current user is blank
      behaves like error response
        has an informative message
        behaves like does not track incident management event
          does not track the event
    when user does not have permissions to create timeline events
      behaves like error response
        has an informative message
        behaves like does not track incident management event
          does not track the event
    when error occurs during creation
      behaves like error response
        has an informative message
        behaves like does not track incident management event
          does not track the event
    with default action
      matches the default action
      creates a system note
      behaves like success response
        has timeline event
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
# [RSpecRunTime] RSpec elapsed time: 18 minutes 36.43 seconds. Current RSS: ~1389M. Threads: 4. load average: 1.20 1.15 1.03 1/284 13229
.

        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
      with auto_created param
        when auto_created is true
          does not create a system note
          when user does not have permissions
            behaves like success response
              has timeline event
              behaves like an incident management tracked event
                .track_event
                  tracks the event using redis
              behaves like Snowplow event tracking with RedisHLL context
                behaves like Snowplow event tracking
                  is emitted
        when auto_created is false
          creates a system note
    with non_default action
      matches the action from arguments
      behaves like success response
        has timeline event
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
    when timeline event tag names are passed
      matches the tag name
      behaves like success response
        has timeline event
        behaves like an incident management tracked event
          .track_event
            tracks the event using redis
        behaves like Snowplow event tracking with RedisHLL context
          behaves like Snowplow event tracking
            is emitted
      when predefined tags are passed
        matches the two tags on the event and creates on project
        behaves like success response
          has timeline event
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted
      when invalid tag names are passed
        does not create timeline event
        behaves like error response
          has an informative message
          behaves like does not track incident management event
            does not track the event
    with editable param
      when editable is true
        behaves like success response
          has timeline event
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted
      when editable is false
        behaves like success response
          has timeline event
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted
    when note is more than 280 characters long
      when was not promoted from note
        when auto_created is true
          behaves like success response
            has timeline event
            behaves like an incident management tracked event
              .track_event
                tracks the event using redis
            behaves like Snowplow event tracking with RedisHLL context
              behaves like Snowplow event tracking
                is emitted
        when auto_created is false
          behaves like error response
            has an informative message
            behaves like does not track incident management event
              does not track the event
      when promoted from note
        behaves like success response
          has timeline event
          behaves like an incident management tracked event
            .track_event
              tracks the event using redis
          behaves like Snowplow event tracking with RedisHLL context
            behaves like Snowplow event tracking
              is emitted

# [RSpecRunTime] Finishing example group spec/services/incident_management/timeline_events/create_service_spec.rb. It took 14.47 seconds. Expected to take 12.91 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/x509/signature_spec.rb. Expected to take 12.31 seconds.

Gitlab::X509::Signature
  behaves like signature with type checking
    signature type checkers
      method: :gpg?, expected: false
        is expected to eq false
      method: :ssh?, expected: false
        is expected to eq false
      method: :x509?, expected: true
        is expected to eq true
  commit signature
    verified signature
      with trusted certificate store
        behaves like a verified signature
          returns a verified signature if email does match
          returns a verified signature if email does match, case-insensitively
          returns an unverified signature if email does not match
          returns an unverified signature if email does match and time is wrong
          returns an unverified signature if certificate is revoked
          when the certificate contains multiple emails
            and the email matches one of them
              returns a verified signature
# [RSpecRunTime] RSpec elapsed time: 18 minutes 44.62 seconds. Current RSS: ~1420M. Threads: 4. load average: 1.17 1.14 1.03 1/284 13230
.

            when subjectAltName is missing
              returns nil
          if the email matches but isn't confirmed
            returns an unverified signature
      with the certificate defined by OpenSSL::X509::DEFAULT_CERT_FILE
        behaves like a verified signature
          returns a verified signature if email does match
          returns a verified signature if email does match, case-insensitively
          returns an unverified signature if email does not match
          returns an unverified signature if email does match and time is wrong
          returns an unverified signature if certificate is revoked
          when the certificate contains multiple emails
            and the email matches one of them
              returns a verified signature
# [RSpecRunTime] RSpec elapsed time: 18 minutes 47.54 seconds. Current RSS: ~1449M. Threads: 4. load average: 1.17 1.14 1.03 1/284 13231
.

            when subjectAltName is missing
              returns nil
          if the email matches but isn't confirmed
            returns an unverified signature
      without trusted certificate within store
        returns an unverified signature
    invalid signature
      returns nil
    invalid commit message
      returns nil
  certificate_crl
    valid crlDistributionPoints
      creates an issuer
    valid crlDistributionPoints providing multiple http URIs
      extracts the first URI
  email
    subjectAltName with email, othername
      extracts email
      when there are multiple emails
        extracts all the emails
    subjectAltName with othername, email
      extracts email
  #signed_by_user
    if email is not assigned to a user, return nil
    if email is assigned to a user
      returns user
  tag signature
    verified signature
      with trusted certificate store
        returns an unverified signature if the email matches but is not confirmed
        when user email is confirmed
          returns a verified signature if email does match
          returns an unverified signature if email does not match
          returns an unverified signature if email does match and time is wrong
          returns an unverified signature if certificate is revoked
# [RSpecRunTime] RSpec elapsed time: 18 minutes 51.83 seconds. Current RSS: ~1466M. Threads: 4. load average: 1.24 1.16 1.03 1/284 13232
.

      without trusted certificate within store
        returns an unverified signature
    invalid signature
      returns nil
    invalid message
      returns nil

# [RSpecRunTime] Finishing example group spec/lib/gitlab/x509/signature_spec.rb. It took 10.4 seconds. Expected to take 12.31 seconds.
# [RSpecRunTime] Starting example group spec/finders/ci/jobs_finder_spec.rb. Expected to take 11.53 seconds.

Ci::JobsFinder#execute
  when project, pipeline, and runner are blank
    with admin
      when admin mode setting is disabled
        is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
# [RSpecRunTime] RSpec elapsed time: 18 minutes 54.15 seconds. Current RSS: ~1455M. Threads: 4. load average: 1.22 1.15 1.03 1/284 13233
.

      when admin mode setting is enabled
        when in admin mode
          is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
        when not in admin mode
          is expected to be empty
    with admin and admin mode enabled
      with param `scope`
        scope: "pending", expected_jobs: lazy { [pending_job] }
          is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
        scope: "running", expected_jobs: lazy { [running_job] }
          is expected to contain exactly #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
        scope: "finished", expected_jobs: lazy { [successful_job] }
          is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
        scope: ["running", "success"], expected_jobs: lazy { [running_job, successful_job] }
          is expected to contain exactly #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil> and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
      with param `runner_type`
        with feature flag :admin_jobs_filter_runner_type enabled
          runner_type: "group_type", expected_jobs: lazy { [job_with_group_runner] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
# [RSpecRunTime] RSpec elapsed time: 18 minutes 56.43 seconds. Current RSS: ~1442M. Threads: 4. load average: 1.22 1.15 1.03 1/284 13234
.

          runner_type: "instance_type", expected_jobs: lazy { [job_with_instance_runner] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          runner_type: "project_type", expected_jobs: lazy { [job_with_project_runner] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          runner_type: ["instance_type", "project_type"], expected_jobs: lazy { [job_with_instance_runner, job_with_project_runner] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil> and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
        with feature flag :admin_jobs_filter_runner_type disabled
          is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, #<Ci::Build status: "pending", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
      with params
        with feature flag :admin_jobs_filter_runner_type enabled
          param_runner_type: "group_type", param_scope: "running", expected_jobs: lazy { [job_with_running_status_and_group_runner] }
            is expected to contain exactly #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
# [RSpecRunTime] RSpec elapsed time: 18 minutes 58.42 seconds. Current RSS: ~1429M. Threads: 4. load average: 1.22 1.15 1.03 1/284 13235
.

          param_runner_type: ["instance_type", "project_type"], param_scope: "finished", expected_jobs: lazy { [job_with_instance_runner, job_with_project_runner] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil> and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          param_runner_type: ["instance_type", "project_type"], param_scope: "pending", expected_jobs: lazy { [] }
            is expected to contain exactly
        with feature flag :admin_jobs_filter_runner_type disabled
          param_runner_type: "group_type", param_scope: "running", expected_jobs: lazy do
              [job_with_running_status_and_group_runner, running_job]
            end
            is expected to contain exactly #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil> and #<Ci::Build status: "running", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          param_runner_type: ["instance_type", "project_type"], param_scope: "finished", expected_jobs: lazy do
              [
                job_with_instance_runner,
                job_with_project_runner,
                successful_job
              ]
            end
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>, and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          param_runner_type: ["instance_type", "project_type"], param_scope: "pending", expected_jobs: lazy { [pending_job] }
            is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2024-11-22 08:50:29.000000000 +0000", u...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
    with user not being project member
      is expected to be empty
    without user
      is expected to be empty
  when project is present
    with user being project maintainer
      returns jobs for the specified project
      when artifacts are present for some jobs
        when with_artifacts is true
          returns only jobs with artifacts
        when with_artifacts is false
          returns all jobs
        with param `scope
          param_scope: "success", expected_jobs: lazy { [successful_job, job_with_artifacts] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil> and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          param_scope: "[success pending]", expected_jobs: lazy { [successful_job, job_with_artifacts] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil> and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          param_scope: "pending", expected_jobs: lazy { [] }
            is expected to contain exactly
          param_scope: nil, expected_jobs: lazy { [successful_job, job_with_artifacts] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil> and #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
    with user being project guest
      returns no jobs
    without user
      returns no jobs
  when pipeline is present
    with user being project maintainer
      does not return retried jobs by default
      when include_retried is false
        does not return retried jobs
      when include_retried is true
        returns retried jobs
    without user
      returns no jobs
  when runner is present
    when current user is an admin
      when admin mode is enabled
        returns jobs for the specified project
        with params
          param_runner_type: "project_type", param_scope: "success", expected_jobs: lazy { [job_4] }
            is expected to contain exactly #<Ci::Build status: "success", finished_at: "2024-11-22 08:53:29.000000000 +0000", created_at: "2024-...id: nil, user_id: nil, execution_config_id: nil, upstream_pipeline_partition_id: nil, tag_list: nil>
          param_runner_type: "instance_type", param_scope: nil, expected_jobs: lazy { [] }
            is expected to contain exactly
          param_runner_type: nil, param_scope: "pending", expected_jobs: lazy { [] }
            is expected to contain exactly
    with user being project guest
      returns no jobs
    without user
      returns no jobs

# [RSpecRunTime] Finishing example group spec/finders/ci/jobs_finder_spec.rb. It took 9.69 seconds. Expected to take 11.53 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/url_builder_spec.rb. Expected to take 10.86 seconds.

Gitlab::UrlBuilder
  #build
    delegates to the class method
  .build
    factory: :project, path_generator: ->(project)       { "/#{project.full_path}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :board, path_generator: ->(board)         { "/#{board.project.full_path}/-/boards/#{board.id}" }
      returns the full URL
      returns only the path if only_path is given
# [RSpecRunTime] RSpec elapsed time: 19 minutes 3.64 seconds. Current RSS: ~1427M. Threads: 4. load average: 1.28 1.17 1.04 1/284 13252
.

    factory: :group_board, path_generator: ->(board)         { "/groups/#{board.group.full_path}/-/boards/#{board.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :commit, path_generator: ->(commit)        { "/#{commit.project.full_path}/-/commit/#{commit.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :issue, path_generator: ->(issue)         { "/#{issue.project.full_path}/-/issues/#{issue.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: [:issue, :task], path_generator: ->(issue)         { "/#{issue.project.full_path}/-/work_items/#{issue.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: [:work_item, :task], path_generator: ->(work_item)    { "/#{work_item.project.full_path}/-/work_items/#{work_item.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: [:work_item, :issue], path_generator: ->(work_item)   { "/#{work_item.project.full_path}/-/issues/#{work_item.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :merge_request, path_generator: ->(merge_request) { "/#{merge_request.project.full_path}/-/merge_requests/#{merge_request.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :project_milestone, path_generator: ->(milestone)     { "/#{milestone.project.full_path}/-/milestones/#{milestone.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :project_snippet, path_generator: ->(snippet)       { "/#{snippet.project.full_path}/-/snippets/#{snippet.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :project_wiki, path_generator: ->(wiki)          { "/#{wiki.container.full_path}/-/wikis/home" }
      returns the full URL
      returns only the path if only_path is given
    factory: :release, path_generator: ->(release)       { "/#{release.project.full_path}/-/releases/#{release.tag}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :organization, path_generator: ->(organization)  { "/-/organizations/#{organization.path}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :ci_build, path_generator: ->(build)         { "/#{build.project.full_path}/-/jobs/#{build.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :design, path_generator: ->(design)        { "/#{design.project.full_path}/-/design_management/designs/#{design.id}/raw_image" }
      returns the full URL
      returns only the path if only_path is given
    factory: [:issue, :group_level], path_generator: ->(issue)     { "/groups/#{issue.namespace.full_path}/-/work_items/#{issue.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: [:work_item, :group_level], path_generator: ->(work_item) { "/groups/#{work_item.namespace.full_path}/-/work_items/#{work_item.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :group, path_generator: ->(group)         { "/groups/#{group.full_path}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :group_milestone, path_generator: ->(milestone)     { "/groups/#{milestone.group.full_path}/-/milestones/#{milestone.iid}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :user, path_generator: ->(user)          { "/#{user.full_path}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :personal_snippet, path_generator: ->(snippet)       { "/-/snippets/#{snippet.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :wiki_page, path_generator: ->(wiki_page)     { "#{wiki_page.wiki.wiki_base_path}/#{wiki_page.slug}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :note_on_commit, path_generator: ->(note) { "/#{note.project.full_path}/-/commit/#{note.commit_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :diff_note_on_commit, path_generator: ->(note) { "/#{note.project.full_path}/-/commit/#{note.commit_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :discussion_note_on_commit, path_generator: ->(note) { "/#{note.project.full_path}/-/commit/#{note.commit_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :legacy_diff_note_on_commit, path_generator: ->(note) { "/#{note.project.full_path}/-/commit/#{note.commit_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :note_on_issue, path_generator: ->(note) { "/#{note.project.full_path}/-/issues/#{note.noteable.iid}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :discussion_note_on_issue, path_generator: ->(note) { "/#{note.project.full_path}/-/issues/#{note.noteable.iid}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :note_on_merge_request, path_generator: ->(note) { "/#{note.project.full_path}/-/merge_requests/#{note.noteable.iid}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :diff_note_on_merge_request, path_generator: ->(note) { "/#{note.project.full_path}/-/merge_requests/#{note.noteable.iid}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :discussion_note_on_merge_request, path_generator: ->(note) { "/#{note.project.full_path}/-/merge_requests/#{note.noteable.iid}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :legacy_diff_note_on_merge_request, path_generator: ->(note) { "/#{note.project.full_path}/-/merge_requests/#{note.noteable.iid}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :note_on_project_snippet, path_generator: ->(note) { "/#{note.project.full_path}/-/snippets/#{note.noteable_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :discussion_note_on_project_snippet, path_generator: ->(note) { "/#{note.project.full_path}/-/snippets/#{note.noteable_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :discussion_note_on_personal_snippet, path_generator: ->(note) { "/-/snippets/#{note.noteable_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :note_on_personal_snippet, path_generator: ->(note) { "/-/snippets/#{note.noteable_id}#note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :package, path_generator: ->(package) { "/#{package.project.full_path}/-/packages/#{package.id}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :user_namespace, path_generator: ->(user_namespace) { "/#{user_namespace.owner.full_path}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :project_namespace, path_generator: ->(project_namespace) { "/#{project_namespace.project.full_path}" }
      returns the full URL
      returns only the path if only_path is given
    factory: :abuse_report_note, path_generator: ->(note) { "/admin/abuse_reports/#{note.abuse_report_id}#anti_abuse_reports_note_#{note.id}" }
      returns the full URL
      returns only the path if only_path is given
    when passing a wiki note
      returns the full URL
      returns only the path if only_path is given
    when passing a compare
      returns the full URL
      returns only the path if only_path is given
      returns an empty string for missing project
# [RSpecRunTime] RSpec elapsed time: 19 minutes 10.08 seconds. Current RSS: ~1425M. Threads: 4. load average: 1.54 1.23 1.06 1/285 13274
.

    when passing a commit without a project
      returns an empty string
    when passing a commit note without a project
      returns an empty string
    when passing a Snippet
      for a PersonalSnippet
        returns a raw snippet URL if requested
        returns a raw snippet blob URL if requested
# [RSpecRunTime] RSpec elapsed time: 19 minutes 12.18 seconds. Current RSS: ~1437M. Threads: 4. load average: 1.54 1.23 1.06 1/286 13321
.

      for a ProjectSnippet
        returns a raw snippet URL if requested
        returns a raw snippet blob URL if requested
    when passing a Wiki
      #wiki_url
        uses the default collection action
        supports a custom collection action
      #wiki_page_url
        uses the default member action
        supports a custom member action
    when passing Packages::Package
      with terraform module package
        returns the url for terraform module registry
    when passing a DesignManagement::Design
      uses the given ref and size in the URL
    when passing an unsupported class
      raises an exception
    when passing a batch loaded model
      returns the URL for the real object

# [RSpecRunTime] Finishing example group spec/lib/gitlab/url_builder_spec.rb. It took 10.73 seconds. Expected to take 10.86 seconds.
# [RSpecRunTime] Starting example group spec/policies/achievements/user_achievement_policy_spec.rb. Expected to take 10.44 seconds.

Achievements::UserAchievementPolicy
  is readable to everyone when user has public profile
  when user has private profile
    for achievement owner
      is visible
# [RSpecRunTime] RSpec elapsed time: 19 minutes 14.28 seconds. Current RSS: ~1405M. Threads: 4. load average: 1.50 1.22 1.06 1/287 13332
.

    for group maintainer
      is visible
    for others
      is hidden
  when the achievements feature flag is disabled
    is expected to be disallowed :read_user_achievement
    is expected to be disallowed :update_user_achievement
# [RSpecRunTime] RSpec elapsed time: 19 minutes 17.34 seconds. Current RSS: ~1398M. Threads: 4. load average: 1.50 1.22 1.06 1/287 13333
.

  when current_user and achievement owner are the same
    is expected to be allowed :update_owned_user_achievement
    is expected to be allowed :update_user_achievement
# [RSpecRunTime] RSpec elapsed time: 19 minutes 18.69 seconds. Current RSS: ~1402M. Threads: 4. load average: 1.50 1.22 1.06 1/287 13334
.

  when group is private
    for achievement owner
      is visible
    for group maintainer
      is visible
    for others
      is not visible
  when current_user and achievement owner are different
    is expected to be disallowed :update_owned_user_achievement
    is expected to be disallowed :update_user_achievement
# [RSpecRunTime] RSpec elapsed time: 19 minutes 22.71 seconds. Current RSS: ~1384M. Threads: 4. load average: 1.46 1.22 1.06 1/286 13335
.


# [RSpecRunTime] Finishing example group spec/policies/achievements/user_achievement_policy_spec.rb. It took 9.94 seconds. Expected to take 10.44 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/search/recent_issues_spec.rb. Expected to take 9.21 seconds.

Gitlab::Search::RecentIssues
  behaves like search recent items
    #log_view
      adds the item to the recent items
      removes an item when it exceeds the size items_limit
      expires the items after expires_after
      does not include results logged for another user
# [RSpecRunTime] RSpec elapsed time: 19 minutes 26.9 seconds. Current RSS: ~1378M. Threads: 4. load average: 1.42 1.22 1.06 1/284 13336
.

    #search
      matches partial text in the item title
      returns results sorted by recently viewed
      does not leak items you no longer have access to
      limits results to 5 items
# [RSpecRunTime] RSpec elapsed time: 19 minutes 33.08 seconds. Current RSS: ~1391M. Threads: 4. load average: 1.47 1.23 1.06 1/284 13337
.


# [RSpecRunTime] Finishing example group spec/lib/gitlab/search/recent_issues_spec.rb. It took 10.37 seconds. Expected to take 9.21 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/diff/suggestions_parser_spec.rb. Expected to take 9.03 seconds.

Gitlab::Diff::SuggestionsParser
  .parse
    single-line suggestions
      returns a list of Gitlab::Diff::Suggestion
      parsed suggestion has correct data
# [RSpecRunTime] RSpec elapsed time: 19 minutes 36.52 seconds. Current RSS: ~1411M. Threads: 4. load average: 1.43 1.23 1.06 1/289 13460
.

    multi-line suggestions
      returns a list of Gitlab::Diff::Suggestion
      suggestion with above and below param has correct data
      suggestion with above param has correct data
      suggestion with below param has correct data
# [RSpecRunTime] RSpec elapsed time: 19 minutes 43.13 seconds. Current RSS: ~1443M. Threads: 4. load average: 1.39 1.22 1.06 1/291 13703
.


# [RSpecRunTime] Finishing example group spec/lib/gitlab/diff/suggestions_parser_spec.rb. It took 10.06 seconds. Expected to take 9.03 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb. Expected to take 8.4 seconds.

Gitlab::Cleanup::OrphanLfsFileReferences
  dry run
    prints messages and does not delete references
# [RSpecRunTime] RSpec elapsed time: 19 minutes 44.5 seconds. Current RSS: ~1443M. Threads: 4. load average: 1.44 1.24 1.07 1/291 13727
.

  regular run
    prints messages and deletes invalid reference
    does nothing if the project has no LFS objects
    LFS object is in design repository
      is not removed
# [RSpecRunTime] RSpec elapsed time: 19 minutes 48.23 seconds. Current RSS: ~1454M. Threads: 4. load average: 1.44 1.24 1.07 1/289 13795
.

    LFS object is in wiki repository
      is not removed
# [RSpecRunTime] RSpec elapsed time: 19 minutes 49.64 seconds. Current RSS: ~1452M. Threads: 4. load average: 1.41 1.23 1.06 1/289 13819
.

  LFS for project snippets
    is disabled
# [RSpecRunTime] RSpec elapsed time: 19 minutes 51.38 seconds. Current RSS: ~1451M. Threads: 4. load average: 1.41 1.23 1.06 1/289 13841
.


# [RSpecRunTime] Finishing example group spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb. It took 8.24 seconds. Expected to take 8.4 seconds.
# [RSpecRunTime] Starting example group spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb. Expected to take 8.15 seconds.

Atlassian::JiraConnect::Serializers::DeploymentEntity
  environment type
    tier: "other", env_type: "unmapped"
      has the same type as the environment tier
# [RSpecRunTime] RSpec elapsed time: 19 minutes 52.51 seconds. Current RSS: ~1448M. Threads: 4. load average: 1.41 1.23 1.06 1/289 13861
.

  #issue_keys
    extracts issue keys from the commits
    limits the number of commits scanned
    when deploy happened at an older commit
      extracts only issue keys from that commit or older
    when the deployment has an associated merge request
      includes issue keys extracted from the merge request
# [RSpecRunTime] RSpec elapsed time: 19 minutes 54.64 seconds. Current RSS: ~1449M. Threads: 4. load average: 1.54 1.26 1.08 1/289 13891
.

    when there was a successful deploy to the environment
      behaves like extracts only issue keys from commits made since that deployment
        is expected to contain exactly "add a" and "add d"
      when the deploy was for a different environment
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
# [RSpecRunTime] RSpec elapsed time: 19 minutes 56.07 seconds. Current RSS: ~1444M. Threads: 4. load average: 1.54 1.26 1.08 3/289 13912
.

      when the deploy was for a different branch or tag
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
      when the deploy was not successful
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
      when the deploy commit cannot be found
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
      when there is a more recent deployment
        extracts only issue keys from commits made since that deployment
  when deployment is an external deployment
    does not raise errors when serializing
  #to_json
    when the deployment does not belong to any Jira issue
      can encode the object
      is invalid, since it has no issue keys
    when the deployment belongs to Jira issue
      is valid according to the deployment info schema
    when the project has GitLab for Jira Cloud app, and service keys configured
      is valid according to the deployment info schema
      includes service IDs in the association
      when the integration has comma-separated service keys
        splits the keys
      when the integration has service keys with no comma
        splits the keys
      when the integration has service keys with a comma at the end
        splits the keys
      when the integration has no service keys
        does not include the serviceIdOrKeys association type
      when the integration is inactive no associationType equals to serviceIdOrKeys
        does not include the serviceIdOrKeys association type
    when the project has Jira Cloud app, deployment gating configured and state is pending
      is valid according to the deployment info schema
      includes initiate_deployment_gating in the commands
      when the integration has comma-separated environments
        includes initiate_deployment_gating in the commands
      when the integration jira_cloud_app_enable_deployment_gating is false
        does not includes initiate_deployment_gating in the commands
      when the integration jira_cloud_app_deployment_gating_environments is not matching with tier
        does not include initiate_deployment_gating in the commands
      when the integration jira_cloud_app_deployment_gating_environments state is not pending
        does not include initiate_deployment_gating in the commands
      when the deployment status is created
        does include initiate_deployment_gating in the commands
    when the deployment belongs to Jira issue and Service IDs
      is valid according to the deployment info schema

# [RSpecRunTime] Finishing example group spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb. It took 7.99 seconds. Expected to take 8.15 seconds.
# [RSpecRunTime] Starting example group spec/workers/delete_diff_files_worker_spec.rb. Expected to take 7.63 seconds.

DeleteDiffFilesWorker
  #perform
    deletes all merge request diff files
    updates state to without_files
    resets the files_count of the diff
    does nothing if diff was already marked as "without_files"
    rollsback if something goes wrong
# [RSpecRunTime] RSpec elapsed time: 20 minutes 7.16 seconds. Current RSS: ~1440M. Threads: 4. load average: 1.45 1.25 1.07 1/290 14218
.


# [RSpecRunTime] Finishing example group spec/workers/delete_diff_files_worker_spec.rb. It took 7.79 seconds. Expected to take 7.63 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/status/build/common_spec.rb. Expected to take 7.47 seconds.

Gitlab::Ci::Status::Build::Common
  #has_action?
    is expected not to have action
  #has_details?
    when user has access to read build
      is expected to have details
# [RSpecRunTime] RSpec elapsed time: 20 minutes 9.1 seconds. Current RSS: ~1439M. Threads: 4. load average: 1.34 1.23 1.07 1/290 14219
.

    when user does not have access to read build
      is expected not to have details
# [RSpecRunTime] RSpec elapsed time: 20 minutes 10.1 seconds. Current RSS: ~1438M. Threads: 4. load average: 1.34 1.23 1.07 1/289 14220
.

  #details_path
    links to the build details page
  #illustration
    provides a fallback empty state illustration

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/status/build/common_spec.rb. It took 4.47 seconds. Expected to take 7.47 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/run_scheduled_build_service_spec.rb. Expected to take 6.88 seconds.

Ci::RunScheduledBuildService
  when user can update build
    when build is scheduled
      when scheduled_at is expired
        can run the build
        when build requires resource
          transits to waiting for resource status
# [RSpecRunTime] RSpec elapsed time: 20 minutes 14.21 seconds. Current RSS: ~1416M. Threads: 4. load average: 1.31 1.23 1.07 1/288 14221
.

      when scheduled_at is not expired
        can not run the build
# [RSpecRunTime] RSpec elapsed time: 20 minutes 15.43 seconds. Current RSS: ~1406M. Threads: 4. load average: 1.31 1.23 1.07 1/288 14222
.

    when build is not scheduled
      can not run the build
# [RSpecRunTime] RSpec elapsed time: 20 minutes 16.61 seconds. Current RSS: ~1399M. Threads: 4. load average: 1.31 1.23 1.07 1/286 14223
.

  when user can not update build
    when build is scheduled
      can not run the build

# [RSpecRunTime] Finishing example group spec/services/ci/run_scheduled_build_service_spec.rb. It took 5.84 seconds. Expected to take 6.88 seconds.
# [RSpecRunTime] Starting example group spec/views/projects/tags/index.html.haml_spec.rb. Expected to take 6.72 seconds.

projects/tags/index.html.haml
  when project has no tags
    show empty state
# [RSpecRunTime] RSpec elapsed time: 20 minutes 18.8 seconds. Current RSS: ~1403M. Threads: 4. load average: 1.31 1.23 1.07 1/285 14245
.

  when tag is associated with a release
    when name does not contain a backslash
      renders a link to the release page
# [RSpecRunTime] RSpec elapsed time: 20 minutes 20.58 seconds. Current RSS: ~1409M. Threads: 4. load average: 1.28 1.22 1.07 1/285 14250
.

    when name contains backslash
      renders a link to the release page with backslash escaped
# [RSpecRunTime] RSpec elapsed time: 20 minutes 21.63 seconds. Current RSS: ~1409M. Threads: 4. load average: 1.28 1.22 1.07 1/287 14268
.

  build stats
    shows build status or placeholder when pipelines present
    shows no build status or placeholder when no pipelines present
    shows no build status or placeholder when pipelines are private
# [RSpecRunTime] RSpec elapsed time: 20 minutes 24.34 seconds. Current RSS: ~1426M. Threads: 4. load average: 1.26 1.22 1.07 1/287 14275
.

  when Gitaly is unavailable
    renders an error

# [RSpecRunTime] Finishing example group spec/views/projects/tags/index.html.haml_spec.rb. It took 7.73 seconds. Expected to take 6.72 seconds.
# [RSpecRunTime] Starting example group spec/lib/container_registry/gitlab_api_client_spec.rb. Expected to take 6.28 seconds.

ContainerRegistry::GitlabApiClient
  #supports_gitlab_api?
    registry_gitlab_api_enabled: false, is_on_dot_com: true, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: false, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: true, is_on_dot_com: false, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: true, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: true, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: true, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: true, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: false, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: false, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: true, expected_result: false
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false
      returns the expected result
    with 401 response
      is expected to be truthy
    when the response is a Faraday::Error
      is expected to be falsey
  #repository_details
    with sizing self
      is expected to eq {"foo"=>"bar", "this"=>"is_a_test"}
    with sizing self_with_descendants
      is expected to eq {"foo"=>"bar", "this"=>"is_a_test"}
    with sizing
      is expected to eq {"foo"=>"bar", "this"=>"is_a_test"}
    with non successful response
      is expected to eq {}
  #tags
    with valid parameters
      is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
    with referrers included
      is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
    with a response with a link header containing next page
      is expected to eq {:pagination=>{:next=>{:uri=>#<URI::HTTP http://sandbox.org/test?last=b>}}, :response_body=>[{"config...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
    with a response with a link header containing previous page
      is expected to eq {:pagination=>{:previous=>{:uri=>#<URI::HTTP http://sandbox.org/test?before=b>}}, :response_body=>[{"...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
    with a response with a link header containing previous and next pages
      is expected to eq {:pagination=>{:next=>{:uri=>#<URI::HTTP http://sandbox.org/test?last=b>}, :previous=>{:uri=>#<URI::H...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
    with a large page size set
      is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
    with pagination parameters set
      last: "test", before: nil, name: nil, sort: nil, input: {:last=>"test"}
        is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
      last: nil, before: "test", name: nil, sort: nil, input: {:before=>"test"}
        is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
      last: nil, before: nil, name: "test", sort: nil, input: {:name=>"test"}
        is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
      last: nil, before: nil, name: nil, sort: "asc", input: {:sort=>"asc"}
        is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
      last: "a", before: "b", name: "test", sort: "desc", input: {:last=>"a", :before=>"b", :name=>"test", :sort=>"desc"}
        is expected to eq {:pagination=>{}, :response_body=>[{"config_digest"=>"sha256:13828381121", "created_at"=>"2024-11-22T...a_type"=>"application/vnd.oci.image.manifest.v1+json", "name"=>"latest", "size_bytes"=>1234567892}]}
    with non successful response
      logs an error and returns an empty hash
  #sub_repositories_with_tag
    with valid parameters
      is expected to eq {:pagination=>{}, :response_body=>[{"created_at"=>"2022-06-07T12:11:13.633+00:00", "name"=>"docker-al...git-base", "path"=>"gitlab-org/build/cng/git-base", "updated_at"=>"2022-06-07T14:37:49.251+00:00"}]}
    with a response with a link header
      is expected to eq {:pagination=>{:next=>{:uri=>#<URI::HTTP http://sandbox.org/test?last=c>}}, :response_body=>[{"create...git-base", "path"=>"gitlab-org/build/cng/git-base", "updated_at"=>"2022-06-07T14:37:49.251+00:00"}]}
    with a large page size set
      is expected to eq {:pagination=>{}, :response_body=>[{"created_at"=>"2022-06-07T12:11:13.633+00:00", "name"=>"docker-al...git-base", "path"=>"gitlab-org/build/cng/git-base", "updated_at"=>"2022-06-07T14:37:49.251+00:00"}]}
    with a last parameter set
      is expected to eq {:pagination=>{}, :response_body=>[{"created_at"=>"2022-06-07T12:11:13.633+00:00", "name"=>"docker-al...git-base", "path"=>"gitlab-org/build/cng/git-base", "updated_at"=>"2022-06-07T14:37:49.251+00:00"}]}
    with non successful response
      logs an error and returns an empty hash
  #rename_base_repository_path
    when name is provided
      behaves like returning the correct result based on status code
        dry_run: true, status_code: 202, expected_result: :accepted
          is expected to eq :accepted
        dry_run: true, status_code: 400, expected_result: :bad_request
          is expected to eq :bad_request
        dry_run: true, status_code: 401, expected_result: :unauthorized
          is expected to eq :unauthorized
        dry_run: true, status_code: 404, expected_result: :not_found
          is expected to eq :not_found
        dry_run: true, status_code: 409, expected_result: :name_taken
          is expected to eq :name_taken
        dry_run: true, status_code: 422, expected_result: :too_many_subrepositories
          is expected to eq :too_many_subrepositories
        dry_run: false, status_code: 204, expected_result: :ok
          is expected to eq :ok
        dry_run: false, status_code: 400, expected_result: :bad_request
          is expected to eq :bad_request
        dry_run: false, status_code: 401, expected_result: :unauthorized
          is expected to eq :unauthorized
        dry_run: false, status_code: 404, expected_result: :not_found
          is expected to eq :not_found
        dry_run: false, status_code: 409, expected_result: :name_taken
          is expected to eq :name_taken
        dry_run: false, status_code: 422, expected_result: :too_many_subrepositories
          is expected to eq :too_many_subrepositories
    with a non-successful response
      behaves like logging a repositories error
        logs an error
  #move_repository_to_namespace
    when namespace is provided
      behaves like returning the correct result based on status code
        dry_run: true, status_code: 202, expected_result: :accepted
          is expected to eq :accepted
        dry_run: true, status_code: 400, expected_result: :bad_request
          is expected to eq :bad_request
        dry_run: true, status_code: 401, expected_result: :unauthorized
          is expected to eq :unauthorized
        dry_run: true, status_code: 404, expected_result: :not_found
          is expected to eq :not_found
        dry_run: true, status_code: 409, expected_result: :name_taken
          is expected to eq :name_taken
        dry_run: true, status_code: 422, expected_result: :too_many_subrepositories
          is expected to eq :too_many_subrepositories
        dry_run: false, status_code: 204, expected_result: :ok
          is expected to eq :ok
        dry_run: false, status_code: 400, expected_result: :bad_request
          is expected to eq :bad_request
        dry_run: false, status_code: 401, expected_result: :unauthorized
          is expected to eq :unauthorized
        dry_run: false, status_code: 404, expected_result: :not_found
          is expected to eq :not_found
        dry_run: false, status_code: 409, expected_result: :name_taken
          is expected to eq :name_taken
        dry_run: false, status_code: 422, expected_result: :too_many_subrepositories
          is expected to eq :too_many_subrepositories
    with a non-successful response
      behaves like logging a repositories error
        logs an error
  .supports_gitlab_api?
    registry_gitlab_api_enabled: true, is_on_dot_com: true, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: false, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: true, is_on_dot_com: false, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: true, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: true, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: false, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: false, container_registry_features: ["gitlab_v1_api"], expect_registry_to_be_pinged: true, expected_result: false
      returns the expected result
    registry_gitlab_api_enabled: true, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: true, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false
      returns the expected result
    registry_gitlab_api_enabled: false, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false
      returns the expected result
    with the registry disabled
      returns false
    with a blank registry url
      returns false
  .deduplicated_size
    with successful response
      is expected to eq 555
    with unsuccessful response
      is expected to eq nil
    with the registry disabled
      is expected to eq nil
    with a nil path
      is expected to eq nil
    with uppercase path
      is expected to eq 555
  .one_project_with_container_registry_tag
    with successful response
      behaves like fetching the project from container repository and path
        fetches the project from the given path details
        returns nil when path is invalid
        returns nil when there is no container_repository matching the path
    with unsuccessful response
      is expected to eq nil
    with uppercase path
      behaves like fetching the project from container repository and path
        fetches the project from the given path details
        returns nil when path is invalid
        returns nil when there is no container_repository matching the path
  .rename_base_repository_path
    when both path and name are present
      passes on the parameters to  #rename_base_repository_path
      when path and/or name have non-downcased letters
        passes the path and name downcased to #rename_base_repository_path
      when dry_run parameter is not given
        defaults to false
    when path is nil
      behaves like raising an Argument error: incomplete parameters
        raises an Argument error
    when name is nil
      behaves like raising an Argument error: incomplete parameters
        raises an Argument error
  .move_repository_to_namespace
    when both path and namespace are present
      passes on the parameters to #move_repository_to_namespace
      when path and/or namespace have non-downcased letters
        passes the path and namespace downcased to #move_repository_to_namespace
      when dry_run parameter is not given
        defaults to false
    when path is nil
      behaves like raising an Argument error: incomplete parameters
        raises an Argument error
    when namespace is nil
      behaves like raising an Argument error: incomplete parameters
        raises an Argument error
  #each_sub_repositories_with_tag_page
    when no block is given
      raises an Argument error
    when a block is given
      with an empty page
        behaves like iterating through a page
          iterates through one page
      with one page
        behaves like iterating through a page
          iterates through one page
      with two pages
        iterates through two pages
      when max pages is reached
        raises an error
      without a page size set
        uses a default size
      with an empty client response
        breaks the loop
      with a nil page
        behaves like iterating through a page
          iterates through one page

# [RSpecRunTime] Finishing example group spec/lib/container_registry/gitlab_api_client_spec.rb. It took 5.79 seconds. Expected to take 6.28 seconds.
# [RSpecRunTime] Starting example group spec/services/work_items/import_csv_service_spec.rb. Expected to take 6.26 seconds.

WorkItems::ImportCsvService
  #execute
    when user has permission
      behaves like importer with email notification
        notifies user of import result
# [RSpecRunTime] RSpec elapsed time: 20 minutes 32.55 seconds. Current RSS: ~1419M. Threads: 4. load average: 1.24 1.22 1.07 1/285 14278
.

      when file format is valid
        when work item types are available
          creates the expected number of work items
          sets work item attributes
# [RSpecRunTime] RSpec elapsed time: 20 minutes 34.92 seconds. Current RSS: ~1434M. Threads: 4. load average: 1.22 1.21 1.07 1/285 14279
.

        when csv contains work item types that are missing or not available
          creates no work items
          returns the correct result
      when file is missing necessary headers
        creates no records
        creates no work items
      when import_export_work_items_csv feature flag is off
        raises an error
    when user does not have permission
      raises an error

# [RSpecRunTime] Finishing example group spec/services/work_items/import_csv_service_spec.rb. It took 5.5 seconds. Expected to take 6.26 seconds.
# [RSpecRunTime] Starting example group spec/services/error_tracking/list_issues_service_spec.rb. Expected to take 5.82 seconds.

ErrorTracking::ListIssuesService
  #execute
    with Sentry backend
      with authorized user
        returns the issues with resolved issue_status
        returns the issues with unresolved issue_status
        returns the issues with ignored issue_status
        returns the issues with no issue_status
        returns bad request with invalid issue_status
        when list_sentry_issues returns nil
          result is not ready
# [RSpecRunTime] RSpec elapsed time: 20 minutes 38.96 seconds. Current RSS: ~1451M. Threads: 4. load average: 1.20 1.21 1.07 1/284 14280
.

        when list_sentry_issues returns error
          returns the error
        when list_sentry_issues returns error with http_status
          returns the error with correct http_status
      with unauthorized user
        returns error
      with error tracking disabled
        raises error
    with integrated error tracking
      when errors are found
        without params
          returns the errors without pagination
        with pagination
          with next page
            has next cursor
          with prev page
            has prev cursor
          with next and prev page
            has both cursors
  #external_url
    calls the project setting sentry_external_url

# [RSpecRunTime] Finishing example group spec/services/error_tracking/list_issues_service_spec.rb. It took 6.33 seconds. Expected to take 5.82 seconds.
# [RSpecRunTime] Starting example group spec/graphql/mutations/alert_management/alerts/set_assignees_spec.rb. Expected to take 5.74 seconds.

Mutations::AlertManagement::Alerts::SetAssignees
  is expected to require graphql authorizations :update_alert_management_alert
  #resolve
    when operation mode is not specified
      behaves like successful resolution
        successfully resolves
# [RSpecRunTime] RSpec elapsed time: 20 minutes 44.29 seconds. Current RSS: ~1469M. Threads: 4. load average: 1.19 1.20 1.07 1/284 14281
.

      behaves like an incident management tracked event
        .track_event
          tracks the event using redis
      behaves like Snowplow event tracking with RedisHLL context
        behaves like Snowplow event tracking
          is emitted
    when user does not have permission to update alerts
      raises an error if the resource is not accessible to the user
    for APPEND operation
      when a different user is already assigned
        behaves like noop
          makes no changes
      when no users are specified
        behaves like noop
          makes no changes
      when a user is specified and no user is assigned
        behaves like successful resolution
          successfully resolves
      when the specified user is already assigned to the alert
        behaves like noop
          makes no changes
    for REPLACE operation
      when a different user is already assigned
        behaves like successful resolution
          successfully resolves
      when no users are specified
        behaves like successful resolution
          successfully resolves
      when a user is specified and no user is assigned
        behaves like successful resolution
          successfully resolves
      when the specified user is already assigned to the alert
        behaves like noop
          makes no changes
      when multiple users are specified
        behaves like successful resolution
          successfully resolves
    for REMOVE operation
      when a different user is already assigned
        behaves like noop
          makes no changes
      when no users are specified
        behaves like noop
          makes no changes
      when a user is specified and no user is assigned
        behaves like noop
          makes no changes
      when the specified user is already assigned to the alert
        behaves like successful resolution
          successfully resolves

# [RSpecRunTime] Finishing example group spec/graphql/mutations/alert_management/alerts/set_assignees_spec.rb. It took 5.15 seconds. Expected to take 5.74 seconds.
# [RSpecRunTime] Starting example group spec/services/suggestions/outdate_service_spec.rb. Expected to take 5.57 seconds.

Suggestions::OutdateService
  #execute
    when there is a change within multi-line suggestion range
      updates the outdatable suggestion record
# [RSpecRunTime] RSpec elapsed time: 20 minutes 51.95 seconds. Current RSS: ~1464M. Threads: 4. load average: 1.25 1.22 1.07 1/290 14423
.

    when there is no change within multi-line suggestion range
      does not outdates suggestion record
# [RSpecRunTime] RSpec elapsed time: 20 minutes 54.83 seconds. Current RSS: ~1474M. Threads: 4. load average: 1.23 1.21 1.07 1/290 14564
.


# [RSpecRunTime] Finishing example group spec/services/suggestions/outdate_service_spec.rb. It took 6.86 seconds. Expected to take 5.57 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/chat/responder/slack_spec.rb. Expected to take 5.25 seconds.

Gitlab::Chat::Responder::Slack
  #send_response
    sends a response back to Slack
  #success
    returns the output for a successful build
    limits the output to a fixed size
    does not send a response if the output is empty
# [RSpecRunTime] RSpec elapsed time: 20 minutes 58.36 seconds. Current RSS: ~1472M. Threads: 4. load average: 1.23 1.21 1.07 1/289 14565
.

  #failure
    returns the output for a failed build
  #scheduled_output
    returns the output for a scheduled build

# [RSpecRunTime] Finishing example group spec/lib/gitlab/chat/responder/slack_spec.rb. It took 5.18 seconds. Expected to take 5.25 seconds.
# [RSpecRunTime] Starting example group spec/helpers/ide_helper_spec.rb. Expected to take 5.15 seconds.

IdeHelper
  #web_ide_oauth_application_id
    returns Web IDE OAuth application ID
  #ide_data
    returns hash
    with project
      returns hash with parameters
      with fork info
        returns hash with fork info
# [RSpecRunTime] RSpec elapsed time: 21 minutes 2.09 seconds. Current RSS: ~1430M. Threads: 4. load average: 1.21 1.21 1.07 1/289 14566
.

    with vscode_web_ide=true
      returns hash
      includes extensions gallery settings
      includes editor font configuration
      does not use new web ide if feature flag is disabled
      with project
        returns hash with parameters
  #show_web_ide_oauth_callback_mismatch_callout?
    returns false if no Web IDE OAuth application found
    returns true if domain does not match OAuth application callback URLs
    returns false if domain matches OAuth application callback URL

# [RSpecRunTime] Finishing example group spec/helpers/ide_helper_spec.rb. It took 2.45 seconds. Expected to take 5.15 seconds.
# [RSpecRunTime] Starting example group spec/models/ci/runner_namespace_spec.rb. Expected to take 4.88 seconds.

Ci::RunnerNamespace
  does not allow STI
  behaves like includes Limitable concern
    #exceeds_limits?
      without plan limits configured
        is expected to eq false
      without plan limits configured
        is expected to eq false
        with an existing model
          is expected to eq true
    validations
      is expected to be a kind of Limitable
      without plan limits configured
        can create new models
      with plan limits configured
        can create new models
        with an existing model
          cannot create new models exceeding the plan limits
  behaves like cleanup by a loose foreign key
    cleans up (delete or nullify) the model
# [RSpecRunTime] RSpec elapsed time: 21 minutes 5.53 seconds. Current RSS: ~1424M. Threads: 4. load average: 1.20 1.21 1.07 1/284 14567
.

  validations
    is expected to validate that :namespace cannot be empty/falsy
    is expected to validate that :runner_id is case-sensitively unique within the scope of :namespace_id
    validates that runner_id is valid
  associations
    is expected to belong to runner required: false
    is expected to belong to namespace required: false
    is expected to belong to group class_name => ::Group required: false
  .for_runner
    with runner ids
      returns requested runner namespaces
    with runners
      returns requested runner namespaces

# [RSpecRunTime] Finishing example group spec/models/ci/runner_namespace_spec.rb. It took 3.74 seconds. Expected to take 4.88 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/uploads_manager_spec.rb. Expected to take 4.73 seconds.

Gitlab::ImportExport::UploadsManager
  #save
    when the project has uploads locally stored
      does not cause errors
      copies the file in the correct location when there is an upload
      with orphaned project upload files
        excludes orphaned upload files
# [RSpecRunTime] RSpec elapsed time: 21 minutes 8.14 seconds. Current RSS: ~1415M. Threads: 4. load average: 1.20 1.21 1.07 1/284 14568
.

      with an upload missing its file
        does not cause errors
    when upload is in object storage
      when filename is too long
        ignores problematic upload and logs exception
      when network exception occurs
        ignores problematic upload and logs exception
  #restore
    restores the file

# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/uploads_manager_spec.rb. It took 4.39 seconds. Expected to take 4.73 seconds.
# [RSpecRunTime] Starting example group spec/services/issuable/callbacks/description_spec.rb. Expected to take 4.66 seconds.

Issuable::Callbacks::Description
  #after_initialize
    when user has permission to update description
      when user is work item author
        behaves like sets work item description
          correctly sets work item description value
      when user is a project reporter
        behaves like sets work item description
          correctly sets work item description value
      when description is nil
        behaves like sets work item description
          correctly sets work item description value
      when description is empty
        behaves like sets work item description
          correctly sets work item description value
      when description param is not present
        behaves like does not set work item description
          does not change work item description value
      when widget does not exist in new type
        resets the work item's description
    when user does not have permission to update description
      when user is a project guest
        behaves like does not set work item description
          does not change work item description value
      with private project
        when user is work item author
          behaves like does not set work item description
            does not change work item description value
  #before_update
    when description was changed
      sets last_edited_by and last_edited_at
    when description was not changed
      does not change last_edited_by and last_edited_at

# [RSpecRunTime] Finishing example group spec/services/issuable/callbacks/description_spec.rb. It took 3.19 seconds. Expected to take 4.66 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb. Expected to take 4.38 seconds.

Gitlab::Database::PartitioningMigrationHelpers::IndexHelpers
  #add_concurrent_partitioned_index
    when the index does not exist on the parent table
      creates the index on each partition, and the parent table
    when the index exists on the parent table
      does not attempt to create any indexes
    when additional index options are given
      forwards them to the index helper methods
    when a name argument for the index is not given
      raises an error
    when the given table is not a partitioned table
      raises an error
    when run inside a transaction block
      raises an error
  #remove_concurrent_partitioned_index_by_name
    when the index exists
      drops the index on the parent table, cascading to all partitions
    when the index does not exist
      does not attempt to drop the index
    when the given table is not a partitioned table
      raises an error
    when run inside a transaction block
      raises an error
  #find_duplicate_indexes
    when duplicate and non-duplicate indexes exist
      finds the duplicate index
  #indexes_by_definition_for_table
    when a partitioned table has indexes
      captures partitioned index names by index definition
    when a non-partitioned table has indexes
      captures index names by index definition
    when a non-partitioned table has duplicate indexes
      raises an error
  #rename_indexes_for_table
    when changing a table within the current schema
      maps index names after they are changed
      does not rename an index which does not exist in the to_hash
    when partitioning an existing table
      renames indexes across schemas
  #rename_partitioned_index
    when old index exists
      when new index does not exists
        renames the old index into the new name
      when new index exists
        raises duplicate table error
    when old index does not exist
      when new index does not exists
        behaves like raising undefined object error
          is expected to raise ArgumentError with message matching /Could not find index for _test_partitioned_table/
      when new index exists
        behaves like raising undefined object error
          is expected to raise ArgumentError with message matching /Could not find index for _test_partitioned_table/
  #swap_partitioned_indexes
    when old index exists
      when new index does not exists
        behaves like raising undefined object error
          is expected to raise ArgumentError with message matching /Could not find index for _test_partitioned_table/
      when new index exists
        swaps indexs
    when old index does not exist
      when new index does not exists
        behaves like raising undefined object error
          is expected to raise ArgumentError with message matching /Could not find index for _test_partitioned_table/
      when new index exists
        behaves like raising undefined object error
          is expected to raise ArgumentError with message matching /Could not find index for _test_partitioned_table/
  #prepare_partitioned_async_index
    creates the records for async index
    when an explicit name is given
      creates the records with different partition index names
    when the partitioned index already exists
      does not create the records
    when the partition index 1 already exists
      does not create the record for partition 1
    when the records already exist
      does not create the records
      updates definition if changed
      does not update definition if not changed
    when the async index table does not exist
      does not raise an error
    when the target table does not exist
      raises an error
  #unprepare_partitioned_async_index
    destroys the records
    when an explicit name is given
      destroys the records
  #unprepare_partitioned_async_index_by_name
    destroys the records
    when index name is blank
      raises argument error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb. It took 4.42 seconds. Expected to take 4.38 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/change_variable_service_spec.rb. Expected to take 4.31 seconds.

Ci::ChangeVariableService
  container is a project
    #execute
      behaves like create variable flow
        with no extra attributes
          persists a variable
        with masked attribute requested to be true
          persists a variable
        with masked attribute requested to be false
          persists a variable
        with masked_and_hidden attribute requested to be true
          persists a variable and set hidden and masked attributes
        with masked_and_hidden attribute requested to be false
          persists a variable and set hidden and masked attributes
      behaves like update variable flow
        when a variable is not hidden
          when a change to the masked attribute is requested
            updates a variable
          when a masked attribute is not requested for change
            updates a variable
          when a request is made to change a masked attribute to its current value
            updates a variable
          when a request is made to change the hidden attribute
            fails to update the hidden attribute
          when a request is made to change the hidden attribute to its current value
            updates a variable
          when a variable does not exist
            raises a record not found error
        when a variable is hidden
          when a change to the masked attribute is requested
            fails to update the masked attribute
          when a masked attribute is not requested for change
            updates a variable
          when a request is made to change a masked attribute to its current value
            updates a variable
          when a request is made to change the hidden attribute
            fails to update the hidden attribute
          when a request is made to change the hidden attribute to its current value
            updates a variable
          when a variable does not exist
            raises a record not found error
      behaves like destroy variable flow
        destroys a variable
        when the variable does not exist
          raises a record not found error
  container is a group
    #execute
      behaves like create variable flow
        with no extra attributes
          persists a variable
        with masked attribute requested to be true
          persists a variable
        with masked attribute requested to be false
          persists a variable
        with masked_and_hidden attribute requested to be true
          persists a variable and set hidden and masked attributes
        with masked_and_hidden attribute requested to be false
          persists a variable and set hidden and masked attributes
      behaves like update variable flow
        when a variable is not hidden
          when a change to the masked attribute is requested
            updates a variable
          when a masked attribute is not requested for change
            updates a variable
          when a request is made to change a masked attribute to its current value
            updates a variable
          when a request is made to change the hidden attribute
            fails to update the hidden attribute
          when a request is made to change the hidden attribute to its current value
            updates a variable
          when a variable does not exist
            raises a record not found error
        when a variable is hidden
          when a change to the masked attribute is requested
            fails to update the masked attribute
          when a masked attribute is not requested for change
            updates a variable
          when a request is made to change a masked attribute to its current value
            updates a variable
          when a request is made to change the hidden attribute
            fails to update the hidden attribute
          when a request is made to change the hidden attribute to its current value
            updates a variable
          when a variable does not exist
            raises a record not found error
      behaves like destroy variable flow
        destroys a variable
        when the variable does not exist
          raises a record not found error

# [RSpecRunTime] Finishing example group spec/services/ci/change_variable_service_spec.rb. It took 3.63 seconds. Expected to take 4.31 seconds.
# [RSpecRunTime] Starting example group spec/serializers/merge_request_user_entity_spec.rb. Expected to take 4.02 seconds.

MergeRequestUserEntity
  #as_json
    exposes needed attributes
    when `status` is not preloaded
      does not expose the availability attribute
# [RSpecRunTime] RSpec elapsed time: 21 minutes 23.48 seconds. Current RSS: ~1412M. Threads: 4. load average: 1.07 1.18 1.06 1/287 14626
.

    when the user has not approved the merge-request
      exposes that the user has not approved the MR
    when the user has approved the merge-request
      exposes that the user has approved the MR
    when `status` is preloaded
      exposes the availibility attribute
    performance
      is linear in the number of merge requests (PENDING: See: https://gitlab.com/gitlab-org/gitlab/-/issues/322549)
# [RSpecRunTime] RSpec elapsed time: 21 minutes 25.6 seconds. Current RSS: ~1423M. Threads: 4. load average: 1.07 1.18 1.06 1/289 14684
.


# [RSpecRunTime] Finishing example group spec/serializers/merge_request_user_entity_spec.rb. It took 3.77 seconds. Expected to take 4.02 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/job_token_auth_log_type_spec.rb. Expected to take 3.94 seconds.

Types::Ci::JobTokenAuthLogType
  has the correct fields
  is expected to eq "CiJobTokenAuthLog"
  query
    without access to authorization logs
      returns no authorizations
# [RSpecRunTime] RSpec elapsed time: 21 minutes 26.91 seconds. Current RSS: ~1413M. Threads: 4. load average: 1.07 1.18 1.06 1/289 14685
.

    with access to project
      when multiple authorizations in the logs
        returns authorizations logs on current_project
# [RSpecRunTime] RSpec elapsed time: 21 minutes 28.39 seconds. Current RSS: ~1407M. Threads: 4. load average: 1.07 1.18 1.06 1/288 14686
.


# [RSpecRunTime] Finishing example group spec/graphql/types/ci/job_token_auth_log_type_spec.rb. It took 2.79 seconds. Expected to take 3.94 seconds.
# [RSpecRunTime] Starting example group spec/services/click_house/sync_strategies/base_sync_strategy_spec.rb. Expected to take 3.74 seconds.

ClickHouse::SyncStrategies::BaseSyncStrategy
  #csv_mapping
    raises a NotImplementedError
  #execute
    when clickhouse is not configured
      skips execution
    when exclusive lease error happens
      skips execution
  #insert_query
    raises a NotImplementedError
  #projections
    raises a NotImplementedError

# [RSpecRunTime] Finishing example group spec/services/click_house/sync_strategies/base_sync_strategy_spec.rb. It took 0.18 second. Expected to take 3.74 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/reference_parser/design_parser_spec.rb. Expected to take 3.7 seconds.

Banzai::ReferenceParser::DesignParser
  #nodes_visible_to_user
    behaves like referenced feature visibility
      when feature is disabled
        does not create reference
      when feature is enabled only for team members
        does not create reference for non member
        creates reference for member
      when feature is enabled
        creates reference
    specific states
      redacts links we should not have access to
      design management is not available
        redacts all nodes
# [RSpecRunTime] RSpec elapsed time: 21 minutes 31.53 seconds. Current RSS: ~1398M. Threads: 4. load average: 1.06 1.17 1.06 1/288 14711
.

  #process
    returns the correct designs

# [RSpecRunTime] Finishing example group spec/lib/banzai/reference_parser/design_parser_spec.rb. It took 3.87 seconds. Expected to take 3.7 seconds.
# [RSpecRunTime] Starting example group spec/models/merge_request_reviewer_spec.rb. Expected to take 3.46 seconds.

MergeRequestReviewer
  does not allow STI
  behaves like having unique enum values
    has unique values in "state"
  associations
    is expected to belong to merge_request class_name => MergeRequest required: false
    is expected to belong to reviewer class_name => User required: false inverse_of => merge_request_reviewers
# [RSpecRunTime] RSpec elapsed time: 21 minutes 35.72 seconds. Current RSS: ~1408M. Threads: 4. load average: 1.06 1.17 1.06 1/290 14835
.


# [RSpecRunTime] Finishing example group spec/models/merge_request_reviewer_spec.rb. It took 3.28 seconds. Expected to take 3.46 seconds.
# [RSpecRunTime] Starting example group spec/models/lfs_download_object_spec.rb. Expected to take 3.39 seconds.

LfsDownloadObject
  does not allow STI
  #headers
    returns specified Hash
    with nil headers
      returns a Hash
  #to_hash
    returns specified Hash
  #has_authorization_header?
    returns false
    with uppercase form
      returns true
    with lowercase form
      returns true
  validations
    is expected to validate that :size looks like a number greater than or equal to 0
    oid attribute
      must be 64 characters long
      must contain only hexadecimal characters
# [RSpecRunTime] RSpec elapsed time: 21 minutes 37.21 seconds. Current RSS: ~1435M. Threads: 4. load average: 1.06 1.17 1.06 1/289 14836
.

    link attribute
      only http and https protocols are valid
      cannot be empty
      when localhost or local network addresses
        are allowed
          is expected to be valid
        are not allowed
          is expected to be invalid
    headers attribute
      only nil and Hash values are valid

# [RSpecRunTime] Finishing example group spec/models/lfs_download_object_spec.rb. It took 2.66 seconds. Expected to take 3.39 seconds.
# [RSpecRunTime] Starting example group spec/graphql/resolvers/repository_branch_names_resolver_spec.rb. Expected to take 3.24 seconds.

Resolvers::RepositoryBranchNamesResolver
  #resolve
    with empty search pattern
      returns nil
# [RSpecRunTime] RSpec elapsed time: 21 minutes 39.49 seconds. Current RSS: ~1460M. Threads: 4. load average: 1.05 1.17 1.06 1/288 14855
.

    with a valid search pattern
      returns matching branches
      properly offsets and limits branch name results
# [RSpecRunTime] RSpec elapsed time: 21 minutes 41.82 seconds. Current RSS: ~1483M. Threads: 4. load average: 1.05 1.17 1.06 1/291 14902
.


# [RSpecRunTime] Finishing example group spec/graphql/resolvers/repository_branch_names_resolver_spec.rb. It took 3.44 seconds. Expected to take 3.24 seconds.
# [RSpecRunTime] Starting example group spec/workers/ci/pending_builds/update_project_worker_spec.rb. Expected to take 3.2 seconds.

Ci::PendingBuilds::UpdateProjectWorker#perform
  when a project is not provided
    does not call the service
  when everything is ok
    calls the service
    is labeled as idempotent
    performs multiple times sequentially without raising an exception
    updates the pending builds
# [RSpecRunTime] RSpec elapsed time: 21 minutes 45.25 seconds. Current RSS: ~1469M. Threads: 4. load average: 1.05 1.16 1.06 1/289 14903
.


# [RSpecRunTime] Finishing example group spec/workers/ci/pending_builds/update_project_worker_spec.rb. It took 3.42 seconds. Expected to take 3.2 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/status/stage/common_spec.rb. Expected to take 3.02 seconds.

Gitlab::Ci::Status::Stage::Common
  does not have action
  links to the pipeline details page
  when user has permission to read pipeline
    has details
# [RSpecRunTime] RSpec elapsed time: 21 minutes 47.6 seconds. Current RSS: ~1452M. Threads: 4. load average: 1.05 1.16 1.06 1/286 14904
.

  when user does not have permission to read pipeline
    does not have details

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/status/stage/common_spec.rb. It took 3.15 seconds. Expected to take 3.02 seconds.
# [RSpecRunTime] Starting example group spec/policies/clusters/agents/activity_event_policy_spec.rb. Expected to take 3.01 seconds.

Clusters::Agents::ActivityEventPolicy
  rules
    reporter
      is expected to be disallowed :admin_cluster
      is expected to be disallowed :read_cluster
# [RSpecRunTime] RSpec elapsed time: 21 minutes 50.26 seconds. Current RSS: ~1431M. Threads: 4. load average: 1.04 1.16 1.06 1/286 14905
.

    developer
      is expected to be disallowed :admin_cluster
      is expected to be allowed :read_cluster
    maintainer
      is expected to be allowed :admin_cluster
      is expected to be allowed :read_cluster

# [RSpecRunTime] Finishing example group spec/policies/clusters/agents/activity_event_policy_spec.rb. It took 2.92 seconds. Expected to take 3.01 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/redis/repository_cache_spec.rb. Expected to take 2.86 seconds.

Gitlab::Redis::RepositoryCache
  .pool
    when not using fallback config
      creates its own connection pool
    when using fallback config
      uses the fallback class connection pool
  .cache_store
    has a default ttl of 8 hours
  #fetch_config
    when redis.yml exists
      when the fallback has a redis.yml entry
        is expected to eq {"fallback redis.yml"=>123}
        and an instance config file exists
          is expected to eq {"instance specific file"=>456}
          and the instance has a redis.yml entry
            is expected to eq {"instance redis.yml"=>789}
    when no redis config file exsits
      returns nil
      when resque.yml exists
        returns the config from resque.yml
  behaves like redis_shared_examples
    .config_file_name
      when there is no config file anywhere
        is expected to be nil
    .store
      with old format
        behaves like redis store
          instantiates Redis::Store
          with the namespace
            uses specified namespace
      with new format
        behaves like redis store
          instantiates Redis::Store
          with the namespace
            uses specified namespace
    .params
      withstands mutation
      with command to generate extra config specified
        when the command returns valid yaml
          merges config from command on top of config from file
        when the command returns invalid yaml
          raises error
        when the parsed external command output returns invalid hash
          raises an error
        when the command fails
          raises error
      when url contains unix socket reference
        with old format
          returns path key instead
        with new format
          returns path key instead
      when url is host based
        with old format
          returns hash with host, port, db, and password
        with new format
          rails_env: "development", host: "development-host", username: nil
            returns hash with host, port, db, username, and password
            does not raise ArgumentError for invalid keywords in SentinelConfig
          rails_env: "test", host: "test-host", username: "redis-test-user"
            returns hash with host, port, db, username, and password
            does not raise ArgumentError for invalid keywords in SentinelConfig
          rails_env: "production", host: "production-host", username: "redis-prod-user"
            returns hash with host, port, db, username, and password
            does not raise ArgumentError for invalid keywords in SentinelConfig
          behaves like instrumentation_class in custom key
            moves instrumentation class into custom
        with redis cluster format
          rails_env: "development", host: "development-master"
            returns hash with cluster and password
            does not raise ArgumentError for invalid keywords in ClusterConfig
            behaves like instrumentation_class in custom key
              moves instrumentation class into custom
          rails_env: "test", host: "test-master"
            returns hash with cluster and password
            does not raise ArgumentError for invalid keywords in ClusterConfig
            behaves like instrumentation_class in custom key
              moves instrumentation class into custom
          rails_env: "production", host: "production-master"
            returns hash with cluster and password
            does not raise ArgumentError for invalid keywords in ClusterConfig
            behaves like instrumentation_class in custom key
              moves instrumentation class into custom
    .url
      withstands mutation
      when yml file with env variable
        reads redis url from env variable
    .version
      returns a version
    .with
      yields a ::Redis
      when running on single-threaded runtime
        instantiates a connection pool with size 5
      when running on multi-threaded runtime
        instantiates a connection pool with a size based on the concurrency of the worker
      when there is no config at all
        can run an empty block
    #db
      with old format
        returns the correct db
      with new format
        returns the correct db
      with cluster-mode
        returns the correct db
    #sentinels
      when sentinels are defined
        rails_env: "development", hosts: ["development-replica1", "development-replica2"]
          returns an array of hashes with host and port keys
        rails_env: "test", hosts: ["test-replica1", "test-replica2"]
          returns an array of hashes with host and port keys
        rails_env: "production", hosts: ["production-replica1", "production-replica2"]
          returns an array of hashes with host and port keys
      when sentinels are not defined
        returns nil
      when cluster is defined
        returns nil
    #sentinels?
      when sentinels are defined
        returns true
      when sentinels are not defined
        is expected to eq nil
      when cluster is defined
        returns false
    #raw_config_hash
      returns old-style single url config in a hash
      returns cluster config without url key in a hash
    #secret_file
      when explicitly specified in config file
        returns the absolute path of specified file inside Rails root
      when not explicitly specified
        returns the default path in the encrypted settings shared directory
    #parse_client_tls_options
      when configuration does not have TLS related options
        returns the coniguration as-is
      when specified certificate file does not exist
        raises error about missing certificate file
      when specified key file does not exist
        raises error about missing key file
      when only certificate file is specified
        renders resque.yml correctly
      when only key file is specified
        renders resque.yml correctly
      when configuration valid TLS related options
        converts cert_file and key_file appropriately
    #fetch_config
      raises an exception when the config file contains invalid yaml
      when redis.yml exists
        uses config/redis.yml
      when no config file exsits
        returns nil
        when resque.yml exists
          returns the config from resque.yml

# [RSpecRunTime] Finishing example group spec/lib/gitlab/redis/repository_cache_spec.rb. It took 2.64 seconds. Expected to take 2.86 seconds.
# [RSpecRunTime] Starting example group spec/models/users/merge_request_interaction_spec.rb. Expected to take 2.81 seconds.

Users::MergeRequestInteraction
  does not allow STI
  declarative policy delegation
    delegates to the merge request
# [RSpecRunTime] RSpec elapsed time: 21 minutes 55.35 seconds. Current RSS: ~1438M. Threads: 4. load average: 1.04 1.16 1.06 1/289 14963
.

  #can_merge?
    when the user cannot merge
      is expected not to be can merge
    when the user can merge
      is expected to be can merge
  #can_update?
    when the user cannot update the MR
      is expected not to be can update
    when the user can update the MR
      is expected to be can update
  #review_state
    when the user has not been asked to review the MR
      is expected to be nil
      implies not reviewed
    when the user has been asked to review the MR
      implies not reviewed
    when the user has provided a review
      is expected to eq "reviewed"
      implies reviewed
  #approved?
    when the user has not approved the MR
      is expected not to be approved
    when the user has approved the MR
      is expected to be approved

# [RSpecRunTime] Finishing example group spec/models/users/merge_request_interaction_spec.rb. It took 2.39 seconds. Expected to take 2.81 seconds.
# [RSpecRunTime] Starting example group spec/models/label_priority_spec.rb. Expected to take 2.68 seconds.

LabelPriority
  does not allow STI
  relationships
    is expected to belong to project required: false
    is expected to belong to label required: false
  validations
    is expected to validate that :project cannot be empty/falsy
    is expected to validate that :label cannot be empty/falsy
    is expected to validate that :priority looks like an integer greater than or equal to 0
    validates uniqueness of label_id scoped to project_id
    when importing
      is expected not to validate that :label cannot be empty/falsy
# [RSpecRunTime] RSpec elapsed time: 21 minutes 58.82 seconds. Current RSS: ~1442M. Threads: 4. load average: 1.04 1.16 1.06 1/288 14964
.


# [RSpecRunTime] Finishing example group spec/models/label_priority_spec.rb. It took 2.45 seconds. Expected to take 2.68 seconds.
# [RSpecRunTime] Starting example group spec/workers/work_items/import_work_items_csv_worker_spec.rb. Expected to take 2.59 seconds.

WorkItems::ImportWorkItemsCsvWorker
  .sidekiq_retries_exhausted
    destroys upload
  #perform
    calls #execute on WorkItems::ImportCsvService and destroys upload
    behaves like an idempotent worker
      is labeled as idempotent
      performs multiple times sequentially without raising an exception
# [RSpecRunTime] RSpec elapsed time: 22 minutes 1.03 seconds. Current RSS: ~1446M. Threads: 4. load average: 1.04 1.15 1.06 1/288 14965
.


# [RSpecRunTime] Finishing example group spec/workers/work_items/import_work_items_csv_worker_spec.rb. It took 2.22 seconds. Expected to take 2.59 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/external/file/component_spec.rb. Expected to take 2.5 seconds.

Gitlab::Ci::Config::External::File::Component
  #to_hash
    when interpolation is being used
      correctly interpolates the content
# [RSpecRunTime] RSpec elapsed time: 22 minutes 2.86 seconds. Current RSS: ~1454M. Threads: 4. load average: 1.04 1.15 1.06 1/288 15007
.

  #matching?
    when component is specified
      is expected to be truthy
    when component is not specified
      is expected to be falsy
  #valid?
    when the context project does not have a repository
      is invalid
    when location is not provided
      is invalid
    when component path is provided
      when component is not found
        is invalid
      when component is found
        is valid
        when content is not a valid YAML
          is invalid
  #content
    when component is valid
      tracks the event
      when user is missing in a context
        does not track the event
    when component is invalid
      does not track the event
  #expand_context
    inherits user and variables while changes project and sha
  #metadata
    returns the metadata
  #load_and_validate_expanded_hash!
    tracks the content load time

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/external/file/component_spec.rb. It took 2.28 seconds. Expected to take 2.5 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/pipeline_schedules/variables_create_service_spec.rb. Expected to take 2.41 seconds.

Ci::PipelineSchedules::VariablesCreateService
  execute
    when user does not have permission
      returns ServiceResponse.error
# [RSpecRunTime] RSpec elapsed time: 22 minutes 4.86 seconds. Current RSS: ~1455M. Threads: 4. load average: 0.95 1.14 1.05 1/287 15028
.

    when user limited with permission on a project
      returns ServiceResponse.error
    when user has permissions
      saves variable with passed params
      returns ServiceResponse.success
    when schedule save fails
      returns ServiceResponse.error

# [RSpecRunTime] Finishing example group spec/services/ci/pipeline_schedules/variables_create_service_spec.rb. It took 2.2 seconds. Expected to take 2.41 seconds.
# [RSpecRunTime] Starting example group spec/services/releases/links/create_service_spec.rb. Expected to take 2.32 seconds.

Releases::Links::CreateService
  #execute
    successfully creates a release link
    when user does not have access to create release link
      returns an error
# [RSpecRunTime] RSpec elapsed time: 22 minutes 7.08 seconds. Current RSS: ~1471M. Threads: 4. load average: 0.95 1.14 1.05 1/285 15047
.

    when url is invalid
      returns an error
    when both direct_asset_path and filepath are provided
      prefers direct_asset_path
    when only filepath is set
      uses filepath

# [RSpecRunTime] Finishing example group spec/services/releases/links/create_service_spec.rb. It took 2.14 seconds. Expected to take 2.32 seconds.
# [RSpecRunTime] Starting example group spec/workers/ci/pipeline_artifacts/coverage_report_worker_spec.rb. Expected to take 2.25 seconds.

Ci::PipelineArtifacts::CoverageReportWorker
  has the `until_executed` deduplicate strategy
  #perform
    when pipeline exists
      calls the pipeline coverage report service
    when the pipeline is part of a hierarchy
      when all pipelines is complete
        calls the pipeline coverage report service on the root ancestor pipeline
# [RSpecRunTime] RSpec elapsed time: 22 minutes 9.5 seconds. Current RSS: ~1441M. Threads: 4. load average: 0.96 1.13 1.05 1/285 15048
.

      when the pipeline hierarchy has incomplete pipeline
        does not call pipeline coverage report service
    when pipeline does not exist
      does not call pipeline create artifact service

# [RSpecRunTime] Finishing example group spec/workers/ci/pipeline_artifacts/coverage_report_worker_spec.rb. It took 1.95 seconds. Expected to take 2.25 seconds.
# [RSpecRunTime] Starting example group spec/services/integrations/exclusions/create_service_spec.rb. Expected to take 2.2 seconds.

Integrations::Exclusions::CreateService
  #execute
    creates custom settings
    behaves like performs exclusions service validations
      when the integration is not instance specific
        returns an error response
# [RSpecRunTime] RSpec elapsed time: 22 minutes 10.94 seconds. Current RSS: ~1425M. Threads: 4. load average: 0.96 1.13 1.05 1/285 15049
.

      when the user is not authorized
        returns an error response
    when called with too many projects
      returns an error response
    when called with too many groups
      returns an error response
    when there are no projects or groups passed
      returns success response
    when there are existing custom settings
      creates exclusions and updates existing ones
      returns the exclusions
      when there are existing exclusions
        does not propagate existing
    when there are ancestor exclusions
      only creates exclusions for groups and projects not covered by ancestors with exclusions
    when projects and groups are descendants of another group
      only creates exclusions for groups and projects not covered by ancestors

# [RSpecRunTime] Finishing example group spec/services/integrations/exclusions/create_service_spec.rb. It took 2.53 seconds. Expected to take 2.2 seconds.
# [RSpecRunTime] Starting example group spec/services/namespaces/statistics_refresher_service_spec.rb. Expected to take 2.12 seconds.

Namespaces::StatisticsRefresherService#execute
  without a root storage statistics relation
    creates one
    recalculate the namespace statistics
    when given a subgroup
      does not create statistics for the subgroup
  with a root storage statistics relation
    does not create one
    recalculate the namespace statistics
    when given a subgroup
      recalculates the root namespace's statistics
  when something goes wrong
    raises RefreshError

# [RSpecRunTime] Finishing example group spec/services/namespaces/statistics_refresher_service_spec.rb. It took 1.96 seconds. Expected to take 2.12 seconds.
# [RSpecRunTime] Starting example group spec/services/ml/create_model_version_service_spec.rb. Expected to take 2.06 seconds.

Ml::CreateModelVersionService
  #execute
    when no versions exist and no value is passed for version
      creates a model version
# [RSpecRunTime] RSpec elapsed time: 22 minutes 15.35 seconds. Current RSS: ~1402M. Threads: 4. load average: 0.96 1.13 1.05 1/285 15050
.

    when a version exist and no value is passed for version
      creates another model version and increments the version number
    when a version is created and the package already exists
      does not creates a package
    when creation of a model_version fails
      returns error
    when a version is created and an existing package supplied
      does not creates a package
      when metadata are supplied, add them as metadata
        creates metadata records
      for metadata with duplicate keys, it does not create duplicate records
        raises an error
      for metadata with invalid keys, it does not create invalid records
        raises an error
    when a version string is supplied during creation
      creates a package
    when version string supplied is invalid
      returns error

# [RSpecRunTime] Finishing example group spec/services/ml/create_model_version_service_spec.rb. It took 2.33 seconds. Expected to take 2.06 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/pipeline/chain/build_spec.rb. Expected to take 2.0 seconds.

Gitlab::Ci::Pipeline::Chain::Build
  does not break the chain
  builds a pipeline with the expected attributes
  returns a valid pipeline
  does not persist a pipeline
  when pipeline is running for a tag
    correctly indicated that this is a tagged pipeline
    when origin_ref is branch but tag ref with the same name exists
      correctly indicated that a pipeline is not tagged
# [RSpecRunTime] RSpec elapsed time: 22 minutes 17.78 seconds. Current RSS: ~1402M. Threads: 4. load average: 0.96 1.13 1.05 1/286 15072
.

  when pipeline is running for a merge request
    correctly indicated that this is a merge request pipeline
    correctly sets souce sha and target sha to pipeline
  when pipeline is running for an external pull request
    correctly indicated that this is an external pull request pipeline
    correctly sets source sha and target sha to pipeline
  when keep_latest_artifact is set
    keep_latest_artifact: true, locking_result: "artifacts_locked"
      builds a pipeline with appropriate locked value
    keep_latest_artifact: false, locking_result: "unlocked"
      builds a pipeline with appropriate locked value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/pipeline/chain/build_spec.rb. It took 1.83 seconds. Expected to take 2.0 seconds.
# [RSpecRunTime] Starting example group spec/graphql/mutations/terraform/state/unlock_spec.rb. Expected to take 1.96 seconds.

Mutations::Terraform::State::Unlock
  is expected to eq "TerraformStateUnlock"
  is expected to require graphql authorizations :admin_terraform_state
  #resolve
    user does not have permission
      raises an error
    user has permission
      unlocks the state
      state is already unlocked
        does not modify the state
# [RSpecRunTime] RSpec elapsed time: 22 minutes 19.99 seconds. Current RSS: ~1393M. Threads: 4. load average: 0.96 1.13 1.05 1/286 15073
.

    with invalid params
      raises an error

# [RSpecRunTime] Finishing example group spec/graphql/mutations/terraform/state/unlock_spec.rb. It took 1.77 seconds. Expected to take 1.96 seconds.
# [RSpecRunTime] Starting example group spec/lib/object_storage/config_spec.rb. Expected to take 1.89 seconds.

ObjectStorage::Config
  #credentials
    is expected to eq {:aws_access_key_id=>"AWS_ACCESS_KEY_ID", :aws_secret_access_key=>"AWS_SECRET_ACCESS_KEY", :provider=>"AWS", :region=>"us-east-1"}
  #storage_options
    is expected to eq {:server_side_encryption=>"AES256", :server_side_encryption_kms_key_id=>"arn:aws:12345"}
  #enabled?
    is expected to eq true
  #bucket
    is expected to eq "test-bucket"
  #use_iam_profile
    is expected to equal false
  #use_path_style
    is expected to equal false
  with unconsolidated settings
    consolidated_settings? returns false
      is expected to equal false
  with consolidated settings
    consolidated_settings? returns true
      is expected to equal true
  with IAM profile configured
    value: true, expected: true
      coerces the value to a boolean
    value: "true", expected: true
      coerces the value to a boolean
    value: "yes", expected: true
      coerces the value to a boolean
    value: false, expected: false
      coerces the value to a boolean
    value: "false", expected: false
      coerces the value to a boolean
    value: "no", expected: false
      coerces the value to a boolean
    value: nil, expected: false
      coerces the value to a boolean
  with path style configured
    value: true, expected: true
      coerces the value to a boolean
    value: "true", expected: true
      coerces the value to a boolean
    value: "yes", expected: true
      coerces the value to a boolean
    value: false, expected: false
      coerces the value to a boolean
    value: "false", expected: false
      coerces the value to a boolean
    value: "no", expected: false
      coerces the value to a boolean
    value: nil, expected: false
      coerces the value to a boolean
  with hostname style access
    #use_path_style? returns false
  with AWS credentials
    is expected to eq "AWS"
    is expected to equal true
    is expected to equal false
    is expected to eq {:aws_access_key_id=>"AWS_ACCESS_KEY_ID", :aws_secret_access_key=>"AWS_SECRET_ACCESS_KEY", :provider=>"AWS", :region=>"us-east-1"}
    with FIPS enabled
      is expected to eq {:aws_access_key_id=>"AWS_ACCESS_KEY_ID", :aws_secret_access_key=>"AWS_SECRET_ACCESS_KEY", :disable_content_md5_validation=>true, :provider=>"AWS", :region=>"us-east-1"}
  with Google credentials
    is expected to eq "Google"
    is expected to equal false
    is expected to equal true
    is expected to eq {}
  with SSE-KMS enabled
    is expected to equal true
    is expected to eq "AES256"
    is expected to eq "arn:aws:12345"
    is expected to contain exactly "x-amz-server-side-encryption" and "x-amz-server-side-encryption-aws-kms-key-id"
  with only server side encryption enabled
    is expected to equal true
    is expected to eq "AES256"
    is expected to be nil
    is expected to eq {"x-amz-server-side-encryption"=>"AES256"}
  without encryption enabled
    is expected to equal false
    is expected to be nil
    is expected to be nil
    is expected to eq {}
  with object storage disabled
    is expected to equal false

# [RSpecRunTime] Finishing example group spec/lib/object_storage/config_spec.rb. It took 1.19 seconds. Expected to take 1.89 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/health_status/indicators/patroni_apdex_spec.rb. Expected to take 1.83 seconds.

Gitlab::Database::HealthStatus::Indicators::PatroniApdex
  behaves like Prometheus Alert based health indicator
    #evaluate
      when using prometheus client
        behaves like Patroni Apdex Evaluator
          with main schema
            returns NoSignal signal in case the feature flag is disabled
            returns Normal signal when SLI condition is met
            returns Stop signal when SLI condition is not met
            without prometheus_alert_db_indicators_settings
              returns Unknown signal
            when Prometheus client is not ready
              returns Unknown signal
            when apdex SLI query is not configured
              returns Unknown signal
            when slo is not configured
              returns Unknown signal
            when SLI can not be calculated
              result: nil
                returns Unknown signal
              result: []
                returns Unknown signal
              result: [{}]
                returns Unknown signal
              result: [{"value"=>1}]
                returns Unknown signal
              result: [{"value"=>[1]}]
                returns Unknown signal
      when using mimir client
        behaves like Patroni Apdex Evaluator
          with main schema
            returns NoSignal signal in case the feature flag is disabled
            returns Normal signal when SLI condition is met
            returns Stop signal when SLI condition is not met
            without prometheus_alert_db_indicators_settings
              returns Unknown signal
            when Prometheus client is not ready
              returns Unknown signal
            when apdex SLI query is not configured
              returns Unknown signal
            when slo is not configured
              returns Unknown signal
            when SLI can not be calculated
              result: nil
                returns Unknown signal
              result: []
                returns Unknown signal
              result: [{}]
                returns Unknown signal
              result: [{"value"=>1}]
                returns Unknown signal
              result: [{"value"=>[1]}]
                returns Unknown signal
      when using prometheus client
        behaves like Patroni Apdex Evaluator
          with ci schema
            returns NoSignal signal in case the feature flag is disabled
            returns Normal signal when SLI condition is met
            returns Stop signal when SLI condition is not met
            without prometheus_alert_db_indicators_settings
              returns Unknown signal
            when Prometheus client is not ready
              returns Unknown signal
            when apdex SLI query is not configured
              returns Unknown signal
            when slo is not configured
              returns Unknown signal
            when SLI can not be calculated
              result: nil
                returns Unknown signal
              result: []
                returns Unknown signal
              result: [{}]
                returns Unknown signal
              result: [{"value"=>1}]
                returns Unknown signal
              result: [{"value"=>[1]}]
                returns Unknown signal
      when using mimir client
        behaves like Patroni Apdex Evaluator
          with ci schema
            returns NoSignal signal in case the feature flag is disabled
            returns Normal signal when SLI condition is met
            returns Stop signal when SLI condition is not met
            without prometheus_alert_db_indicators_settings
              returns Unknown signal
            when Prometheus client is not ready
              returns Unknown signal
            when apdex SLI query is not configured
              returns Unknown signal
            when slo is not configured
              returns Unknown signal
            when SLI can not be calculated
              result: nil
                returns Unknown signal
              result: []
                returns Unknown signal
              result: [{}]
                returns Unknown signal
              result: [{"value"=>1}]
                returns Unknown signal
              result: [{"value"=>[1]}]
                returns Unknown signal

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/health_status/indicators/patroni_apdex_spec.rb. It took 1.58 seconds. Expected to take 1.83 seconds.
# [RSpecRunTime] Starting example group spec/services/authorized_project_update/project_recalculate_service_spec.rb. Expected to take 1.81 seconds.

AuthorizedProjectUpdate::ProjectRecalculateService#execute
  returns success
  when there are changes to be made
    when addition is required
      adds a new authorization record
      adds a new authorization record with the correct access level
# [RSpecRunTime] RSpec elapsed time: 22 minutes 23.88 seconds. Current RSS: ~1389M. Threads: 4. load average: 0.97 1.13 1.05 1/286 15074
.

    when removal is required
      removes the authorization record
    when an update in access level is required
      updates the authorization of the user to the correct access level
  when there are no changes to be made
    does not change authorizations

# [RSpecRunTime] Finishing example group spec/services/authorized_project_update/project_recalculate_service_spec.rb. It took 1.57 seconds. Expected to take 1.81 seconds.
# [RSpecRunTime] Starting example group spec/helpers/keyset_helper_spec.rb. Expected to take 1.72 seconds.

KeysetHelper
  with admin mode
    when no users are present
      does not render pagination links
    when one user is present
      does not render pagination links
    when more users are present
      when on the first page
        renders the next and last links
      when at the last page
        renders the prev and first links
      when at the second page
        renders all links

# [RSpecRunTime] Finishing example group spec/helpers/keyset_helper_spec.rb. It took 1.31 seconds. Expected to take 1.72 seconds.
# [RSpecRunTime] Starting example group spec/models/preloaders/user_max_access_level_in_groups_preloader_spec.rb. Expected to take 1.71 seconds.

Preloaders::UserMaxAccessLevelInGroupsPreloader
  does not allow STI
  when the preloader is used
    when user has indirect access to groups
      behaves like executes N max member permission queries to the DB
        executes the specified max membership queries
        caches the correct access_level for each group
# [RSpecRunTime] RSpec elapsed time: 22 minutes 26.86 seconds. Current RSS: ~1382M. Threads: 4. load average: 0.97 1.13 1.05 1/286 15075
.

      for groups arising from group shares
        sets the right access level in cache for groups arising from group shares
  when the preloader is not used
    behaves like executes N max member permission queries to the DB
      executes the specified max membership queries
      caches the correct access_level for each group

# [RSpecRunTime] Finishing example group spec/models/preloaders/user_max_access_level_in_groups_preloader_spec.rb. It took 1.64 seconds. Expected to take 1.71 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb. Expected to take 1.65 seconds.

Gitlab::GithubGistsImport::Importer::GistImporter
  #execute
    when success
      creates expected snippet and snippet repository
    pre-import validations
      when file count limit exeeded
        validates input and returns error
      when repo too big
        validates input and returns error
    post-import validations
      when file count limit exeeded
        returns error
      when repo too big
        returns error
    when invalid attributes
      raises an error
    when repository cloning fails
      returns error
    when url is invalid
      when local network is allowed
        raises error
      when local network is not allowed
        raises error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb. It took 1.49 seconds. Expected to take 1.65 seconds.
# [RSpecRunTime] Starting example group spec/lib/api/helpers/authentication_spec.rb. Expected to take 1.6 seconds.

API::Helpers::Authentication
  class methods
    .authenticate_with
      sets namespace_inheritable :authentication to correctly when body is empty
      sets namespace_inheritable :authentication to correctly when body is not empty
  helper methods
    #token_from_namespace_inheritable
      with no allowed authentication strategies
        behaves like an anonymous request
          returns nil
      with no located credentials
        behaves like an anonymous request
          returns nil
      with one set of located credentials
        when the credentials contain a valid token
          behaves like an authenticated request
            returns the token
        when the credentials do not contain a valid token
          behaves like an unauthorized request
            behaves like stops early
              calls #unauthorized!
      with multiple located credentials
        behaves like stops early
          calls #bad_request!
      when a resolver raises UnauthorizedError
        behaves like an unauthorized request
          behaves like stops early
            calls #unauthorized!
    #access_token_from_namespace_inheritable
      returns #token_from_namespace_inheritable if it is a personal access token
      returns nil if #token_from_namespace_inheritable is not a personal access token
    #ci_build_from_namespace_inheritable
      returns #token_from_namespace_inheritable if it is a ci build
      returns nil if #token_from_namespace_inheritable is not a ci build
    #user_from_namespace_inheritable
      returns #token_from_namespace_inheritable if it is a deploy token
      returns #token_from_namespace_inheritable.user if the token is not a deploy token
      falls back to #find_user_from_warden if #token_from_namespace_inheritable.user is nil
      falls back to #find_user_from_warden if #token_from_namespace_inheritable is nil

# [RSpecRunTime] Finishing example group spec/lib/api/helpers/authentication_spec.rb. It took 1.41 seconds. Expected to take 1.6 seconds.
# [RSpecRunTime] Starting example group spec/views/layouts/devise_empty.html.haml_spec.rb. Expected to take 1.56 seconds.

layouts/devise_empty
  behaves like a layout which reflects the preferred language
    when changing the a preferred language
      renders the correct `lang` attribute in the html element
# [RSpecRunTime] RSpec elapsed time: 22 minutes 31.71 seconds. Current RSS: ~1388M. Threads: 4. load average: 0.89 1.11 1.04 1/285 15108
.

  behaves like a layout which reflects the application color mode setting
    as a color mode layout
      when no color mode is explicitly selected
        renders with the default color
      when user is authenticated & has selected a specific color mode
        chosen_color_mode: #<struct Gitlab::ColorModes::Mode id=1, name="Light", css_class="gl-light">
          renders with the Light color mode
        chosen_color_mode: #<struct Gitlab::ColorModes::Mode id=2, name="Dark (Experiment)", css_class="gl-dark">
          renders with the Dark (Experiment) color mode
        chosen_color_mode: #<struct Gitlab::ColorModes::Mode id=3, name="Auto (Experiment)", css_class="gl-system">
          renders with the Auto (Experiment) color mode

# [RSpecRunTime] Finishing example group spec/views/layouts/devise_empty.html.haml_spec.rb. It took 1.78 seconds. Expected to take 1.56 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/conan_token_spec.rb. Expected to take 1.5 seconds.

Gitlab::ConanToken
  .from_personal_access_token
    sets access token and user id and does not use the token id
    when expires is nil
      sets default time
    when token is not active
      does not set access token
  .from_job
    sets access token id and user id
# [RSpecRunTime] RSpec elapsed time: 22 minutes 33.34 seconds. Current RSS: ~1388M. Threads: 4. load average: 0.89 1.11 1.04 1/285 15109
.

  .from_deploy_token
    creates a ConanToken from a deploy token
    when expiration date is too long
      updates dates to the maximum expire time
    when no expire date is given
      updates dates to default date
  .decode
    sets access token id and user id
    returns nil for invalid JWT
    returns nil for expired JWT
  #to_jwt
    returns the encoded JWT
    returns the encoded JWT with date

# [RSpecRunTime] Finishing example group spec/lib/gitlab/conan_token_spec.rb. It took 1.63 seconds. Expected to take 1.5 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/variables/builder/release_spec.rb. Expected to take 1.48 seconds.

Gitlab::Ci::Variables::Builder::Release
  #variables
    when the release is present
      contains all the variables
      for large description
        truncates
# [RSpecRunTime] RSpec elapsed time: 22 minutes 35.13 seconds. Current RSS: ~1394M. Threads: 4. load average: 0.90 1.10 1.04 1/285 15128
.

      when description is nil
        returns without error
    when the release is not present
      contains no variables

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/variables/builder/release_spec.rb. It took 1.57 seconds. Expected to take 1.48 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/image_spec.rb. Expected to take 1.42 seconds.

Gitlab::Ci::Config::Entry::Image
  when configuration is a string
    #value
      returns image hash
    #errors
      does not append errors
    #valid?
      is valid
    #image
      returns image's name
    #entrypoint
      returns image's entrypoint
    #executor_opts
      returns nil
    #ports
      returns image's ports
    #pull_policy
      returns nil
  when configuration is a hash
    #value
      returns image hash
    #errors
      does not append errors
    #valid?
      is valid
    #image
      returns image's name
    #entrypoint
      returns image's entrypoint
    when configuration specifies docker
      is valid
      #value
        returns value
      when docker specifies platform
        is valid
        #value
          returns value
        when invalid data type is specified for platform option
          raises an error
      when docker specifies user
        is valid
        #value
          returns value
        when user is a UID
          is valid
          #value
            returns value
        when invalid data type is specified for user option
          raises an error
      when docker specifies an invalid option
        is not valid
    when configuration has ports
      when with_image_ports metadata is not enabled
        #valid?
          is not valid
      when with_image_ports metadata is enabled
        #valid?
          is valid
        #ports
          returns image's ports
    when configuration has pull_policy
      #valid?
        is valid
      #value
        returns value
  when entry value is not correct
    #errors
      saves errors
    #valid?
      is not valid
  when unexpected key is specified
    #errors
      saves errors
    #valid?
      is not valid

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/image_spec.rb. It took 1.04 seconds. Expected to take 1.42 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/issuable_link_spec.rb. Expected to take 1.4 seconds.

IssuableLink
  does not allow STI
  .inverse_link_type
    returns the inverse type of link
  .issuable_type
    when opposite relation already exists
      raises NotImplementedError when performing validations
  .available_link_types
    is expected to contain exactly "relates_to", "blocks", and "is_blocked_by"

# [RSpecRunTime] Finishing example group spec/models/concerns/issuable_link_spec.rb. It took 1.05 seconds. Expected to take 1.4 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab_settings/options_spec.rb. Expected to take 1.37 seconds.

GitlabSettings::Options
  #reverse_merge!
    merges in place with the existing options
    when the merge hash replaces existing configs
      merges in place with the duplicated options not replaced
  #[]=
    changes the configuration key as string
    changes the configuration key as symbol
    when key does not exist
      creates a new configuration by string key
      creates a new configuration by string key
  #stringify_keys!
    behaves like do not mutate
      when in production env
        returns the unchanged internal hash
      when not in production env
        raises an exception to avoid changing the internal keys
  #merge!
    merges in place with the existing options
    when the merge hash replaces existing configs
      merges in place with the duplicated options replaced
  #symbolize_keys!
    behaves like do not mutate
      when in production env
        returns the unchanged internal hash
      when not in production env
        raises an exception to avoid changing the internal keys
  .build
    when argument is a hash
      creates a new GitlabSettings::Options instance
  #[]
    accesses the configuration key as string
    accesses the configuration key as symbol
  #dup
    returns a deep copy
  #default
    returns the option value
  #merge
    returns a new object with the options merged
    when the merge hash replaces existing configs
      returns a new object with the duplicated options replaced
  #deep_merge!
    merges in place with the existing options
    when the merge hash replaces existing configs
      merges in place with the duplicated options replaced
  #key?
    checks if a string key exists
    checks if a symbol key exists
  #deep_merge
    returns a new object with the options merged
    when the merge hash replaces existing configs
      returns a new object with the duplicated options replaced
  #to_hash
    returns the hash representation of the config
  #method_missing
    when method is an option
      delegates methods to options keys
      uses methods to change options values
    when method is not an option
      when in production env
        delegates the method to the internal options hash
      when not in production env
        delegates the method to the internal options hash
    when method is not an option and does not exist in hash
      raises GitlabSettings::MissingSetting
  #is_a?
    returns false for anything different of Hash or GitlabSettings::Options

# [RSpecRunTime] Finishing example group spec/lib/gitlab_settings/options_spec.rb. It took 0.91 second. Expected to take 1.37 seconds.
# [RSpecRunTime] Starting example group spec/services/users/reset_feed_token_service_spec.rb. Expected to take 1.32 seconds.

Users::ResetFeedTokenService
  #initialize
    raises an argument error when source is not permitted
    raises an argument error when user is not provided
  #execute
    when source is not provided
      when current_user is an administrator
        when admin mode is enabled
          behaves like a successfully reset token
            is expected to equal true
            is expected to change `user.feed_token`
            logs the event
        when admin mode is disabled
          behaves like an unsuccessfully reset token
            is expected to equal false
            is expected not to change `user.feed_token`
      when current_user is not an administrator
        when user is a different user
          behaves like an unsuccessfully reset token
            is expected to equal false
            is expected not to change `user.feed_token`
        when user is current_user
          behaves like a successfully reset token
            is expected to equal true
            is expected to change `user.feed_token`
            logs the event
    when the source is group_token_revocation_service
      behaves like a successfully reset token
        is expected to equal true
        is expected to change `user.feed_token`
        logs the event
# [RSpecRunTime] RSpec elapsed time: 22 minutes 40.66 seconds. Current RSS: ~1376M. Threads: 4. load average: 0.91 1.10 1.04 1/285 15129
.


# [RSpecRunTime] Finishing example group spec/services/users/reset_feed_token_service_spec.rb. It took 2.44 seconds. Expected to take 1.32 seconds.
# [RSpecRunTime] Starting example group spec/services/bulk_imports/batched_relation_export_service_spec.rb. Expected to take 1.29 seconds.

BulkImports::BatchedRelationExportService
  .cache_key
    returns cache key given export and batch ids
  #execute
    when there are batches to export
      marks export as started
      removes existing batches
      enqueues export jobs for each batch & caches batch record ids
      enqueues FinishBatchedRelationExportWorker
      when there are multiple batches
        creates a batch record for each batch of records
      when an error occurs during batches creation
        does not enqueue FinishBatchedRelationExportWorker
    when there are no batches to export
      marks export as finished

# [RSpecRunTime] Finishing example group spec/services/bulk_imports/batched_relation_export_service_spec.rb. It took 1.28 seconds. Expected to take 1.29 seconds.
# [RSpecRunTime] Starting example group spec/graphql/resolvers/crm/contact_state_counts_resolver_spec.rb. Expected to take 1.26 seconds.

Resolvers::Crm::ContactStateCountsResolver
  #resolve
    with unauthorized user
      does not raise an error and returns no counts
    with authorized user
      without parent
        returns no counts
      with a group
        when no filter is provided
          returns the count of all contacts
        when search term is provided
          returns the correct counts

# [RSpecRunTime] Finishing example group spec/graphql/resolvers/crm/contact_state_counts_resolver_spec.rb. It took 1.01 seconds. Expected to take 1.26 seconds.
# [RSpecRunTime] Starting example group spec/services/packages/nuget/create_dependency_service_spec.rb. Expected to take 1.21 seconds.

Packages::Nuget::CreateDependencyService
  #execute
    behaves like creating dependencies, links and nuget metadata for
      creates dependencies, links and nuget metadata
    with existing dependencies
      in the same project
        behaves like creating dependencies, links and nuget metadata for
          creates dependencies, links and nuget metadata
      in the different project
        behaves like creating dependencies, links and nuget metadata for
          creates dependencies, links and nuget metadata
    with dependencies with no target framework
      behaves like creating dependencies, links and nuget metadata for
        creates dependencies, links and nuget metadata
    with empty dependencies
      is a no op

# [RSpecRunTime] Finishing example group spec/services/packages/nuget/create_dependency_service_spec.rb. It took 1.32 seconds. Expected to take 1.21 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/reports/security/reports_spec.rb. Expected to take 1.18 seconds.

Gitlab::Ci::Reports::Security::Reports
  #get_report
    when report type is sast
      is expected to eq "sast"
      is expected to eq 2024-11-22 02:08:32.816271895 +0000
      initializes a new report and returns it
      when report type is already allocated
        does not initialize a new report
  #findings
    is expected to contain exactly #<Gitlab::Ci::Reports::Security::Finding:0x00007a3cf8946e20 @confidence=:medium, @identifiers=[#<Gitl.../AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N"}], @project_fingerprint="ff0b28eac253505611737f0392186aa49ed6c6b0"> and #<Gitlab::Ci::Reports::Security::Finding:0x00007a3cf8946ce0 @confidence=:medium, @identifiers=[#<Gitl.../AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N"}], @project_fingerprint="1b808a83ff9bcd5aa6052684556c63df9fce1164">

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/reports/security/reports_spec.rb. It took 1.02 seconds. Expected to take 1.18 seconds.
# [RSpecRunTime] Starting example group spec/services/import/source_users/keep_as_placeholder_service_spec.rb. Expected to take 1.15 seconds.

Import::SourceUsers::KeepAsPlaceholderService
  #execute
    when reassignment is successful
      returns success
    when current user does not have permission
      returns error no permissions
    when import source user does not have an reassignable status
      returns error invalid status
    when an error occurs
      returns an error

# [RSpecRunTime] Finishing example group spec/services/import/source_users/keep_as_placeholder_service_spec.rb. It took 1.25 seconds. Expected to take 1.15 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/seeders/project_environment_seeder_spec.rb. Expected to take 1.09 seconds.

Gitlab::Seeders::ProjectEnvironmentSeeder
  #seed
    creates environments for the project
    creates environments with custom arguments
ERROR: Project path is invalid.
    skips seeding when project path is invalid
WARNING: Project Environment 'ENV_18' already exists. Skipping to next CI variable...
    skips environment creation if environment already exists

# [RSpecRunTime] Finishing example group spec/lib/gitlab/seeders/project_environment_seeder_spec.rb. It took 0.96 second. Expected to take 1.09 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/job_base_field_spec.rb. Expected to take 1.07 seconds.

Types::Ci::JobBaseField
  does not allow :experiment and :deprecated together
  appends to the description if given
  does not append to the description if it is absent
  adds information about the replacement if provided
  supports named reasons: renamed
  adds a formatted `deprecated_reason` to the subject
  supports :experiment
  validations
    raises an informative error if `deprecation_reason` is used
    raises an error if a required property is missing
    raises an error if milestone is not a String
  #resolve
    when late_extensions is given
      registers the late extensions after the regular extensions
  authorized?
    when :job_field_authorization is specified
      with public field
        current_field_name: :allow_failure
          returns true without authorizing
        current_field_name: :duration
          returns true without authorizing
        current_field_name: :id
          returns true without authorizing
        current_field_name: :kind
          returns true without authorizing
        current_field_name: :status
          returns true without authorizing
        current_field_name: :created_at
          returns true without authorizing
        current_field_name: :finished_at
          returns true without authorizing
        current_field_name: :queued_at
          returns true without authorizing
        current_field_name: :queued_duration
          returns true without authorizing
        current_field_name: :updated_at
          returns true without authorizing
        current_field_name: :runner
          returns true without authorizing
      with private field
        when permission is not allowed
          returns false
        when permission is allowed
          returns true
    when :job_field_authorization is not specified
      defaults to true
      when field is authorized
        tests the field authorization
        tests the field authorization, if provided, when it succeeds
      with field resolver
        only tests the resolver authorization if it authorizes_object?
        when resolver authorizes object
          tests the resolver authorization, if provided
          when field is authorized
            tests field authorization before resolver authorization, when field auth fails
            tests field authorization before resolver authorization, when field auth succeeds
  visible?
    defaults to true
    when subject is deprecated
      defaults to true
      returns false if `remove_deprecated` is true in context

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/job_base_field_spec.rb. It took 1.15 seconds. Expected to take 1.07 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/variables/builder/group_spec.rb. Expected to take 1.02 seconds.

Gitlab::Ci::Variables::Builder::Group
  #secret_variables
    when the ref is not protected
      contains only the CI variables
    when the ref is protected
      contains all the variables
    when environment name is specified
      when environment scope is exactly matched
        is expected to contain exactly #<Gitlab::Ci::Variables::Collection::Item:0x00007a3d05aa2190 @variable={:key=>"VARIABLE_1", :value=>"secret", :public=>false, :file=>false, :masked=>false, :raw=>false}>
      when environment scope is matched by wildcard
        is expected to contain exactly #<Gitlab::Ci::Variables::Collection::Item:0x00007a3d05935b40 @variable={:key=>"VARIABLE_1", :value=>"secret", :public=>false, :file=>false, :masked=>false, :raw=>false}>
      when environment scope does not match
        is expected not to contain exactly #<Gitlab::Ci::Variables::Collection::Item:0x00007a3d057c5030 @variable={:key=>"VARIABLE_1", :value=>"secret", :public=>false, :file=>false, :masked=>false, :raw=>false}>
      when environment scope has _
        does not treat it as wildcard
      when environment name contains underscore
        matches literally for _
      when environment scope has %
        does not treat it as wildcard
      when environment name contains a percent
        matches literally for _
    when variables with the same name have different environment scopes
      orders the variables from least to most matched
    when group has children
      traversal queries
        returns all variables belonging to the group and parent groups

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/variables/builder/group_spec.rb. It took 0.91 second. Expected to take 1.02 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/i18n/pluralization_spec.rb. Expected to take 1.0 second.

Gitlab::I18n::Pluralization
  .call
    with available locales
      locale: "bg"
        supports pluralization
      locale: "cs_CZ"
        supports pluralization
      locale: "da_DK"
        supports pluralization
      locale: "de"
        supports pluralization
      locale: "en"
        supports pluralization
      locale: "eo"
        supports pluralization
      locale: "es"
        supports pluralization
      locale: "fil_PH"
        supports pluralization
      locale: "fr"
        supports pluralization
      locale: "gl_ES"
        supports pluralization
      locale: "id_ID"
        supports pluralization
      locale: "it"
        supports pluralization
      locale: "ja"
        supports pluralization
      locale: "ko"
        supports pluralization
      locale: "nb_NO"
        supports pluralization
      locale: "nl_NL"
        supports pluralization
      locale: "pl_PL"
        supports pluralization
      locale: "pt_BR"
        supports pluralization
      locale: "ro_RO"
        supports pluralization
      locale: "ru"
        supports pluralization
      locale: "si_LK"
        supports pluralization
      locale: "tr_TR"
        supports pluralization
      locale: "uk"
        supports pluralization
      locale: "zh_CN"
        supports pluralization
      locale: "zh_HK"
        supports pluralization
      locale: "zh_TW"
        supports pluralization
      with missing rules
        raises an ArgumentError
  .install_on
    adds pluralisation_rule method

# [RSpecRunTime] Finishing example group spec/lib/gitlab/i18n/pluralization_spec.rb. It took 1.02 seconds. Expected to take 1.0 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/gitaly_client/diff_service_spec.rb. Expected to take 0.98 second.

Gitlab::GitalyClient::DiffService
  #diff_blobs
    sends a RPC request
    returns a Gitlab::GitalyClient::DiffBlobsStitcher

# [RSpecRunTime] Finishing example group spec/lib/gitlab/gitaly_client/diff_service_spec.rb. It took 0.87 second. Expected to take 0.98 second.
# [RSpecRunTime] Starting example group spec/services/customer_relations/organizations/update_service_spec.rb. Expected to take 0.92 second.

CustomerRelations::Organizations::UpdateService
  #execute
    when the user has no permission
      returns an error
    when user has permission
      when name is changed
        updates the crm_organization
      when activating
        updates the contact
      when deactivating
        updates the crm_organization
      when the crm_organization is invalid
        returns an error

# [RSpecRunTime] Finishing example group spec/services/customer_relations/organizations/update_service_spec.rb. It took 0.84 second. Expected to take 0.92 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/policy_spec.rb. Expected to take 0.92 second.

Gitlab::Ci::Config::Entry::Policy
  when using simplified policy
    validations
      when entry config value is valid
        when config is a branch or tag name
          #valid?
            is valid
          #value
            returns refs hash
        when config is a regexp
          #valid?
            is valid
        when config is an empty regexp
          #valid?
            is valid
        when using unsafe regexp
          is not valid
        when config is a special keyword
          #valid?
            is valid
      when entry value is not valid
        #errors
          saves errors
  when using complex policy
    when specifying refs policy
      is a correct configuraton
    when using unsafe regexp
      is not valid
    when specifying kubernetes policy
      is a correct configuraton
    when specifying invalid kubernetes policy
      reports an error about invalid policy
    when specifying valid variables expressions policy
      is a correct configuraton
    when specifying variables expressions in invalid format
      reports an error about invalid format
    when specifying invalid variables expressions statement
      reports an error about invalid statement
    when specifying invalid variables expressions token
      reports an error about invalid expression
    when using invalid variables expressions regexp
      reports an error about invalid expression
    when specifying a valid changes policy
      is a correct configuraton
    when changes policy is invalid
      returns errors
    when changes policy is invalid
      returns errors
    when specifying unknown policy
      returns error about invalid key
    when policy is empty
      is not a valid configuration
  when policy strategy does not match
    returns information about errors
  #value
    when default value has been provided
      when user overrides default values
        does not include default values
      when default value has not been defined
        includes default values
  .default
    does not have default policy

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/policy_spec.rb. It took 0.8 second. Expected to take 0.92 second.
# [RSpecRunTime] Starting example group spec/workers/build_queue_worker_spec.rb. Expected to take 0.85 second.

BuildQueueWorker
  #perform
    when build exists
      ticks runner queue value
    when build does not exist
      does not raise exception
  behaves like worker with data consistency
    .get_data_consistency_feature_flag_enabled?
      returns true
    .get_data_consistency_per_database
      returns correct data consistency

# [RSpecRunTime] Finishing example group spec/workers/build_queue_worker_spec.rb. It took 0.7 second. Expected to take 0.85 second.
# [RSpecRunTime] Starting example group spec/presenters/ci/trigger_presenter_spec.rb. Expected to take 0.85 second.

Ci::TriggerPresenter
  when user is not a trigger owner
    #token
      exposes only short token
    #has_token_exposed?
      does not have token exposed
  when user is a trigger owner and builds admin
    #token
      exposes full token
    #has_token_exposed?
      has token exposed

# [RSpecRunTime] Finishing example group spec/presenters/ci/trigger_presenter_spec.rb. It took 0.82 second. Expected to take 0.85 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/partitioning_migration_helpers/uniqueness_helpers_spec.rb. Expected to take 0.79 second.

Gitlab::Database::PartitioningMigrationHelpers::UniquenessHelpers
  #revert_ensure_unique_id
-- current_schema(nil)
   -> 0.0016s
-- change_column_default("_test_partitioned_table", :id, nil)
   -> 0.0058s
-- execute("CREATE OR REPLACE FUNCTION assign__test_partitioned_table_id_value()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF NEW.\"id\" IS NOT NULL THEN\n  RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';\nEND IF;\nNEW.\"id\" := nextval('_test_partitioned_table_id_seq'::regclass);\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n")
   -> 0.1482s
-- execute("CREATE TRIGGER assign__test_partitioned_table_id_trigger\nBEFORE INSERT ON _test_partitioned_table\nFOR EACH ROW\n\nEXECUTE FUNCTION assign__test_partitioned_table_id_value()\n")
   -> 0.0371s
-- execute("ALTER TABLE _test_partitioned_table ALTER COLUMN id SET DEFAULT nextval('_test_partitioned_table_id_seq'::regclass); DROP FUNCTION IF EXISTS assign__test_partitioned_table_id_value CASCADE;")
   -> 0.0030s
    adds back the default function
-- current_schema(nil)
   -> 0.0013s
-- change_column_default("_test_partitioned_table", :id, nil)
   -> 0.0058s
-- execute("CREATE OR REPLACE FUNCTION assign__test_partitioned_table_id_value()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF NEW.\"id\" IS NOT NULL THEN\n  RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';\nEND IF;\nNEW.\"id\" := nextval('_test_partitioned_table_id_seq'::regclass);\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n")
   -> 0.0014s
-- execute("CREATE TRIGGER assign__test_partitioned_table_id_trigger\nBEFORE INSERT ON _test_partitioned_table\nFOR EACH ROW\n\nEXECUTE FUNCTION assign__test_partitioned_table_id_value()\n")
   -> 0.0015s
-- current_schema(nil)
   -> 0.0008s
-- execute("ALTER TABLE _test_partitioned_table ALTER COLUMN id SET DEFAULT nextval('_test_partitioned_table_id_seq'::regclass); DROP FUNCTION IF EXISTS assign__test_partitioned_table_id_value CASCADE;")
   -> 0.0026s
-- current_schema(nil)
   -> 0.0008s
    removes the trigger
-- current_schema(nil)
   -> 0.0013s
-- change_column_default("_test_partitioned_table", :id, nil)
   -> 0.0051s
-- execute("CREATE OR REPLACE FUNCTION assign__test_partitioned_table_id_value()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF NEW.\"id\" IS NOT NULL THEN\n  RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';\nEND IF;\nNEW.\"id\" := nextval('_test_partitioned_table_id_seq'::regclass);\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n")
   -> 0.0013s
-- execute("CREATE TRIGGER assign__test_partitioned_table_id_trigger\nBEFORE INSERT ON _test_partitioned_table\nFOR EACH ROW\n\nEXECUTE FUNCTION assign__test_partitioned_table_id_value()\n")
   -> 0.0014s
-- execute("ALTER TABLE _test_partitioned_table ALTER COLUMN id SET DEFAULT nextval('_test_partitioned_table_id_seq'::regclass); DROP FUNCTION IF EXISTS assign__test_partitioned_table_id_value CASCADE;")
   -> 0.0024s
    removes the function
  #ensure_unique_id
    when trigger already exists
      does not modify existing trigger
    when trigger is not defined
-- current_schema(nil)
   -> 0.0013s
-- change_column_default("_test_partitioned_table", :id, nil)
   -> 0.0052s
-- execute("CREATE OR REPLACE FUNCTION assign__test_partitioned_table_id_value()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF NEW.\"id\" IS NOT NULL THEN\n  RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';\nEND IF;\nNEW.\"id\" := nextval('_test_partitioned_table_id_seq'::regclass);\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n")
   -> 0.0013s
-- execute("CREATE TRIGGER assign__test_partitioned_table_id_trigger\nBEFORE INSERT ON _test_partitioned_table\nFOR EACH ROW\n\nEXECUTE FUNCTION assign__test_partitioned_table_id_value()\n")
   -> 0.0014s
-- current_schema(nil)
   -> 0.0008s
      creates trigger
    when table does not have a sequence
      is expected to raise ActiveRecord::RecordNotFound

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/partitioning_migration_helpers/uniqueness_helpers_spec.rb. It took 0.54 second. Expected to take 0.79 second.
# [RSpecRunTime] Starting example group spec/services/admin/plan_limits/update_service_spec.rb. Expected to take 0.79 second.

Admin::PlanLimits::UpdateService
  when current_user is an admin
    when the update is successful
      updates all attributes
      returns success
    when the update is unsuccessful
      when notification_limit is less than storage_size_limit
        returns an error
      when notification_limit is greater than enforcement_limit
        returns an error
      when enforcement_limit is less than storage_size_limit
        returns an error
      when enforcement_limit is less than notification_limit
        returns an error
      when storage_size_limit is greater than notification_limit
        returns an error
      when storage_size_limit is greater than enforcement_limit
        returns an error
        when enforcement_limit is 0
          does not return an error
    when setting limit to unlimited
      for notification_limit
        is successful
      for enforcement_limit
        is successful
      for storage_size_limit
        is successful
  when the user is not an admin
    returns an error

# [RSpecRunTime] Finishing example group spec/services/admin/plan_limits/update_service_spec.rb. It took 0.8 second. Expected to take 0.79 second.
# [RSpecRunTime] Starting example group spec/models/anti_abuse/reports/label_spec.rb. Expected to take 0.74 second.

AntiAbuse::Reports::Label
  does not allow STI
  behaves like BaseLabel
    validation
      validates color code
      validates title
    #color
      strips color
      uses default color if color is missing
    #text_color
      uses default color if color is missing
    #title
      sanitizes title
      strips title
    #description
      sanitizes description
      accepts an empty string
    .search
      returns labels with a partially matching title
      returns labels with a partially matching description
      returns nothing
      when search within unknown fields
        falls back to search in title and description
        when search known field but as string
          falls back to search in title and description
      when searching title only
        returns only title matches
      when searching description only
        returns only description matches
  validation
    is expected to validate that :title is case-sensitively unique
    is expected to validate that the length of :description is at most 500
  associations
    has many label links
    is expected to have many abuse_reports through label_links

# [RSpecRunTime] Finishing example group spec/models/anti_abuse/reports/label_spec.rb. It took 0.89 second. Expected to take 0.74 second.
# [RSpecRunTime] Starting example group spec/finders/packages/terraform_module/packages_finder_spec.rb. Expected to take 0.73 second.

Packages::TerraformModule::PackagesFinder
  #execute
    without project
      is expected to be empty
      with package_name
        is expected to be empty
    without package_name
      is expected to be empty
    with package_name
      returns packages with the given name ordered by version desc
      with package_version
        is expected to eq [#<Packages::TerraformModule::Package id: 12, project_id: 903, created_at: "2024-11-22 02:08:44.92647...rraform_module", creator_id: 1239, status: "default", last_downloaded_at: nil, status_message: nil>]
      when package is not installable
        is expected to eq [#<Packages::TerraformModule::Package id: 13, project_id: 903, created_at: "2024-11-22 02:08:44.95100...rraform_module", creator_id: 1239, status: "default", last_downloaded_at: nil, status_message: nil>]
      when package has no version
        is expected to eq [#<Packages::TerraformModule::Package id: 13, project_id: 903, created_at: "2024-11-22 02:08:44.95100...rraform_module", creator_id: 1239, status: "default", last_downloaded_at: nil, status_message: nil>]
      when package is not a terraform module
        is expected to eq [#<Packages::TerraformModule::Package id: 13, project_id: 903, created_at: "2024-11-22 02:08:44.95100...rraform_module", creator_id: 1239, status: "default", last_downloaded_at: nil, status_message: nil>]

# [RSpecRunTime] Finishing example group spec/finders/packages/terraform_module/packages_finder_spec.rb. It took 0.7 second. Expected to take 0.73 second.
# [RSpecRunTime] Starting example group spec/workers/ssh_keys/expiring_soon_notification_worker_spec.rb. Expected to take 0.68 second.

SshKeys::ExpiringSoonNotificationWorker
  uses a cronjob queue
  #perform
    with key expiring soon
      invoke the notification service
      updates notified column
      behaves like an idempotent worker
        is labeled as idempotent
        performs multiple times sequentially without raising an exception
    when key has expired in the past
      does not update notified column
    when key is not expiring soon
      does not update notified column

# [RSpecRunTime] Finishing example group spec/workers/ssh_keys/expiring_soon_notification_worker_spec.rb. It took 0.62 second. Expected to take 0.68 second.
# [RSpecRunTime] Starting example group spec/workers/jira_connect/sync_feature_flags_worker_spec.rb. Expected to take 0.66 second.

JiraConnect::SyncFeatureFlagsWorker
  behaves like worker with data consistency
    .get_data_consistency_feature_flag_enabled?
      returns true
    .get_data_consistency_per_database
      returns correct data consistency
  #perform
    when object exists
      calls the Jira sync service
    when object does not exist
      does not call the sync service

# [RSpecRunTime] Finishing example group spec/workers/jira_connect/sync_feature_flags_worker_spec.rb. It took 0.6 second. Expected to take 0.66 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb. Expected to take 0.65 second.

Gitlab::Diff::Rendered::Notebook::DiffFileHelper
  #strip_diff_frontmatter
    diff: "FileLine1\nFileLine2\n@@ -1,76 +1,74 @@\nhello\n", result: "@@ -1,76 +1,74 @@\nhello\n"
      is expected to eq "@@ -1,76 +1,74 @@\nhello\n"
    diff: "", result: nil
      is expected to eq nil
    diff: nil, result: nil
      is expected to eq nil
  #map_transformed_line_to_source
    case: "if transformed diff is empty", transformed_blocks: [], result: 0
      is expected to eq 0
    case: "if the transformed line does not map to any in the original file", transformed_blocks: [{:source_line=>nil}], result: 0
      is expected to eq 0
    case: "if the transformed line maps to a line in the source file", transformed_blocks: [{:source_line=>3}], result: 3
      is expected to eq 3
  #image_as_rich_text
    text does not contain image
      is expected to be nil
    text contains image
      is expected to eq "<img src=\"data:image/png;base64,some_image_here\">"
    text contains image that has malicious html
      sanitizes the html
      adds image to src
  #line_positions_at_source_diff
    case: "  A A", index: 0, transformed_positions: [1, 1], mapped_positions: [1, 1]
      is expected to eq [1, 1]
    case: "- C  ", index: 1, transformed_positions: [2, 2], mapped_positions: [3, 2]
      is expected to eq [3, 2]
    case: "- B  ", index: 2, transformed_positions: [3, 2], mapped_positions: [2, 2]
      is expected to eq [2, 2]
    case: "- L  ", index: 3, transformed_positions: [4, 2], mapped_positions: [0, 0]
      is expected to eq [0, 0]
    case: "+   D", index: 4, transformed_positions: [5, 2], mapped_positions: [4, 2]
      is expected to eq [4, 2]
    case: "+   J", index: 5, transformed_positions: [5, 3], mapped_positions: [0, 0]
      is expected to eq [0, 0]
    case: "+   E", index: 6, transformed_positions: [5, 4], mapped_positions: [4, 3]
      is expected to eq [4, 3]
    case: "  K K", index: 7, transformed_positions: [5, 5], mapped_positions: [0, 0]
      is expected to eq [0, 0]
    case: "  F F", index: 8, transformed_positions: [6, 6], mapped_positions: [4, 4]
      is expected to eq [4, 4]
  #lines_in_source_diff
    old_lines: [1, 2, 2], new_lines: [1, 1, 4], is_deleted: false, is_new: false, existing_lines: {:from=>#<Set: {1, 2}>, :to=>#<Set: {1, 4}>}
      is expected to eq {:from=>#<Set: {1, 2}>, :to=>#<Set: {1, 4}>}
    old_lines: [1, 2, 2], new_lines: [1, 1, 4], is_deleted: true, is_new: false, existing_lines: {:from=>#<Set: {1, 2}>, :to=>#<Set: {}>}
      is expected to eq {:from=>#<Set: {1, 2}>, :to=>#<Set: {}>}
    old_lines: [1, 2, 2], new_lines: [1, 1, 4], is_deleted: false, is_new: true, existing_lines: {:from=>#<Set: {}>, :to=>#<Set: {1, 4}>}
      is expected to eq {:from=>#<Set: {}>, :to=>#<Set: {1, 4}>}

# [RSpecRunTime] Finishing example group spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb. It took 0.7 second. Expected to take 0.65 second.
# [RSpecRunTime] Starting example group spec/services/work_items/data_sync/handlers/cleanup_data_handler_spec.rb. Expected to take 0.62 second.

WorkItems::DataSync::Handlers::CleanupDataHandler
  runs all widget callbacks

# [RSpecRunTime] Finishing example group spec/services/work_items/data_sync/handlers/cleanup_data_handler_spec.rb. It took 0.57 second. Expected to take 0.62 second.
# [RSpecRunTime] Starting example group spec/serializers/user_entity_spec.rb. Expected to take 0.61 second.

UserEntity
  exposes user name and login
  does not expose passwords
  does not expose tokens
  does not expose 2FA OTPs
  exposes user path

# [RSpecRunTime] Finishing example group spec/serializers/user_entity_spec.rb. It took 0.51 second. Expected to take 0.61 second.
# [RSpecRunTime] Starting example group spec/services/achievements/update_user_achievement_service_spec.rb. Expected to take 0.57 second.

Achievements::UpdateUserAchievementService
  #execute
    when user does not have permission
      returns an error
    when user has permission
      updates the achievement
    when params are invalid
      returns an error

# [RSpecRunTime] Finishing example group spec/services/achievements/update_user_achievement_service_spec.rb. It took 0.51 second. Expected to take 0.57 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/hook_data/emoji_builder_spec.rb. Expected to take 0.57 second.

Gitlab::HookData::EmojiBuilder
  #build
    includes safe attributes

# [RSpecRunTime] Finishing example group spec/lib/gitlab/hook_data/emoji_builder_spec.rb. It took 0.58 second. Expected to take 0.57 second.
# [RSpecRunTime] Starting example group spec/workers/pages_worker_spec.rb. Expected to take 0.53 second.

PagesWorker
  when called with the deploy action
Job arguments to PagesWorker must be native JSON types, but :deploy is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
    calls UpdatePagesService
  when called with any other action
Job arguments to PagesWorker must be native JSON types, but :foo is a Symbol.
See https://github.com/sidekiq/sidekiq/wiki/Best-Practices
To disable this error, add `Sidekiq.strict_args!(false)` to your initializer.
    does nothing

# [RSpecRunTime] Finishing example group spec/workers/pages_worker_spec.rb. It took 0.52 second. Expected to take 0.53 second.
# [RSpecRunTime] Starting example group spec/helpers/form_helper_spec.rb. Expected to take 0.53 second.

FormHelper
  #dropdown_max_select
    correctly returns the max amount of reviewers or assignees to allow
  #assignees_dropdown_options
    with multiple assignees
      correctly returns the max amount of assignees to allow
    with only 1 assignee
      correctly returns the max amount of assignees to allow
  #reviewers_dropdown_options
    with multiple reviewers
      correctly returns the max amount of reviewers or assignees to allow
    with only 1 reviewer
      correctly returns the max amount of reviewers or assignees to allow
  form_errors
    returns nil when model has no errors
    renders an appropriately styled alert div
    contains a summary message
    uses passed custom headline
    renders each message
    renders messages truncated if requested
    renders custom messages without the attribute name prefix
    renders help page links

# [RSpecRunTime] Finishing example group spec/helpers/form_helper_spec.rb. It took 0.5 second. Expected to take 0.53 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/reports/test_failure_history_spec.rb. Expected to take 0.5 second.

Gitlab::Ci::Reports::TestFailureHistory
  #load!
    sets the recent failures for each matching failed test case in all test suites

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/reports/test_failure_history_spec.rb. It took 0.39 second. Expected to take 0.5 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/cross_project_access/check_info_spec.rb. Expected to take 0.49 second.

Gitlab::CrossProjectAccess::CheckInfo
  #should_run?
    runs when an action is defined
    runs when the action is missing
    does not run when the action is excluded
    runs when the `if` conditional is true
    does not run when the if condition is false
    does not run when the `unless` check is true
    runs when the `unless` check is false
    returns the opposite of #should_skip? when the check is a skip
  #should_skip?
    skips when an action is defined
    does not skip when the action is not defined
    does not skip when the action is excluded
    skips when the `if` conditional is true
    does not skip the `if` conditional is false
    does not skip when the `unless` check is true
    skips when `unless` check is false
    returns the opposite of #should_run? when the check is not a skip

# [RSpecRunTime] Finishing example group spec/lib/gitlab/cross_project_access/check_info_spec.rb. It took 0.41 second. Expected to take 0.49 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/popen/runner_spec.rb. Expected to take 0.47 second.

Gitlab::Popen::Runner
  #run
    runs the command and returns the result
  #all_success_and_clean?
    returns true when exit status is 0 and stderr is empty
    returns false when exit status is not 0
    returns false when exit stderr has something
  #all_success?
    returns true when exit status is 0
    returns false when exit status is not 0
    returns true
  #all_stderr_empty?
    returns true when stderr is empty
    returns true when exit status is not 0
    returns false when exit stderr has something
  #failed_results
    returns [] when everything is passed
    returns the result when exit status is not 0
    returns [] when exit stderr has something
  #warned_results
    returns [] when everything is passed
    returns [] when exit status is not 0
    returns the result when exit stderr has something

# [RSpecRunTime] Finishing example group spec/lib/gitlab/popen/runner_spec.rb. It took 0.45 second. Expected to take 0.47 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/count_personal_snippets_metric_spec.rb. Expected to take 0.45 second.

Gitlab::Usage::Metrics::Instrumentations::CountPersonalSnippetsMetric
  with a timeframe of all
    behaves like a correct instrumented metric value
      has correct value
  with a time_frame of 28 days
    behaves like a correct instrumented metric value
      has correct value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/count_personal_snippets_metric_spec.rb. It took 0.37 second. Expected to take 0.45 second.
# [RSpecRunTime] Starting example group spec/models/ci/runner_tagging_spec.rb. Expected to take 0.44 second.

Ci::RunnerTagging
  is expected to belong to runner optional: false
  does not allow STI
  is expected to belong to tag optional: false
  validations
    is expected to validate that :runner_type cannot be empty/falsy
    is expected to validate that :sharding_key_id cannot be empty/falsy
  partitioning
    with runner
      sets runner_type to the current partition value
      when it is already set
        does not change the runner_type value

# [RSpecRunTime] Finishing example group spec/models/ci/runner_tagging_spec.rb. It took 0.31 second. Expected to take 0.44 second.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/status_action_type_spec.rb. Expected to take 0.41 second.

Types::Ci::StatusActionType
  is expected to eq "StatusAction"
  exposes the expected fields
  id field
    correctly renders the field

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/status_action_type_spec.rb. It took 0.39 second. Expected to take 0.41 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/query_limiting_spec.rb. Expected to take 0.4 second.

Gitlab::QueryLimiting
  .enabled_for_env?
    returns true in a test environment
    returns true in a development environment
    returns false on GitLab.com
    returns false in a non GitLab.com
  .disable!
    raises an ArgumentError when an invalid issue URL is given
    raises an ArgumentError when new_threshold is too large
    sets a new threshold
    allows the number of SQL queries to be incremented
  .enable!
    resets the threshold
    allows the number of SQL queries to be incremented
  #enabled?
    returns true when enabled

# [RSpecRunTime] Finishing example group spec/lib/gitlab/query_limiting_spec.rb. It took 0.29 second. Expected to take 0.4 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/template/finders/global_template_finder_spec.rb. Expected to take 0.37 second.

Gitlab::Template::Finders::GlobalTemplateFinder
  .find
    with a non-prefixed General template
      finds the template with no prefix
      does not find a prefixed template
      does not permit path traversal requests
      while listed as an exclusion
        does not find the template without a prefix
        does not find the template with a prefix
        finds another prefixed template with the same name
    with a prefixed template
      finds the template with a prefix
      does not find the template without a prefix (PENDING: Temporarily skipped with xit)
      does not permit path traversal requests
      with include_categories_for_file being present
        finds the template with a prefix
        does not find any template which is missing in include_categories_for_file
      while listed as an exclusion
        does not find the template with a prefix
        does not find the template without a prefix (PENDING: Temporarily skipped with xit)
        finds another non-prefixed template with the same name
      while listed as an exclusion
        excludes the template matched the pattern

# [RSpecRunTime] Finishing example group spec/lib/gitlab/template/finders/global_template_finder_spec.rb. It took 0.33 second. Expected to take 0.37 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb. Expected to take 0.35 second.

Gitlab::Usage::ServicePing::InstrumentedPayload
  when building service ping with values
    builds the service ping payload for the metrics key_paths
  when building service ping with instrumentations
    builds the service ping payload for the metrics key_paths
  when missing instrumentation class
    returns empty hash
  with broken metric definition file
    when instrumentation class name is incorrect
      tracks error and return fallback
    when instrumentation class raises TypeError
      tracks error and return fallback
    when instrumentation class raises ArgumentError
      tracks error and return fallback
    when instrumentation class raises StandardError
      tracks error and return fallback

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb. It took 0.26 second. Expected to take 0.35 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/commands_spec.rb. Expected to take 0.34 second.

Gitlab::Ci::Config::Entry::Commands
  when entry config value is an array of strings
    #value
      returns array of strings
    #errors
      does not append errors
  when entry config value is a string
    #value
      returns array with single element
    #valid?
      is valid
  when entry config value is array of arrays of strings
    #value
      returns array of strings
    #errors
      does not append errors
    #valid?
      is valid
  when entry config value is array of strings and arrays of strings
    #value
      returns array of strings
    #errors
      does not append errors
    #valid?
      is valid
  when entry value is integer
    #errors
      saves errors
  when entry value is multi-level nested array
    #errors
      saves errors
    #valid?
      is not valid

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/commands_spec.rb. It took 0.33 second. Expected to take 0.34 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/migration/add_reference_spec.rb. Expected to take 0.33 second.

RuboCop::Cop::Migration::AddReference
  when in a migration
    when the table existed before
      registers an offense when using add_reference
      registers an offense when using add_reference with index enabled
      registers an offense if only a different table was created
    when creating the table at the same time
      registers an offense when using add_reference without index
      registers an offense when using add_reference index disabled
      does not register an offense when using add_reference with index enabled
      does not register an offense when the index is unique
  when outside of a migration
    does not register any offenses

# [RSpecRunTime] Finishing example group spec/rubocop/cop/migration/add_reference_spec.rb. It took 0.33 second. Expected to take 0.33 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/components/usages/aggregators/cursor_spec.rb. Expected to take 0.32 second.

Gitlab::Ci::Components::Usages::Aggregators::Cursor
  #save!
    saves cursor attributes except max_target_id to Redis as JSON
  #target_id=(target_id)
    when new target_id is different from cursor target_id
      sets new target_id and resets last usage attributes
    when new target_id is the same as cursor target_id
      does not change cursor attributes
  #advance
    when cursor target_id is less than max_target_id
      increments cursor target_id and resets last usage attributes
    when cursor target_id is equal to or greater than max_target_id
      resets cursor target_id and last usage attributes
  .new
    fetches and parses the attributes from Redis
    when Redis usage_window is different than the given usage_window
      resets last usage attributes
    when cursor does not exist in Redis
      sets target_id and last usage attributes to zero
  #interrupt!
    updates last usage attributes and sets interrupted? to true

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/components/usages/aggregators/cursor_spec.rb. It took 0.27 second. Expected to take 0.32 second.
# [RSpecRunTime] Starting example group spec/uploaders/object_storage/cdn_spec.rb. Expected to take 0.3 second.

ObjectStorage::CDN
  with CDN config
    with a known CDN provider
      #cdn_enabled_url
        calls #cdn_signed_url
      #use_cdn?
        returns true
      #cdn_signed_url
        returns a URL
    with an unknown CDN provider
      raises an error
  without CDN config
    #cdn_enabled_url
      calls #url
    #use_cdn?
      returns false

# [RSpecRunTime] Finishing example group spec/uploaders/object_storage/cdn_spec.rb. It took 0.3 second. Expected to take 0.3 second.
# [RSpecRunTime] Starting example group spec/lib/sidebars/user_profile/panel_spec.rb. Expected to take 0.29 second.

Sidebars::UserProfile::Panel
  does not add legacy menu items
  #aria_label
    is expected to eq "User profile navigation"
  behaves like a panel with uniquely identifiable menu items
    all menu_items have unique item_id
    all menu_items have an item_id
  when profile_tabs_vue feature is disabled
    add legacy menu items
  #super_sidebar_context_header
    is expected to eq "Profile"
  behaves like a panel instantiable by the anonymous user
    is expected to be a kind of Sidebars::UserProfile::Panel

# [RSpecRunTime] Finishing example group spec/lib/sidebars/user_profile/panel_spec.rb. It took 0.28 second. Expected to take 0.29 second.
# [RSpecRunTime] Starting example group spec/tooling/danger/rubocop_helper_spec.rb. Expected to take 0.28 second.

Tooling::Danger::RubocopHelper
  rubocop discourage todo addition danger
    with only todo files
      is expected to receive add_todo_suggestion_for(*(any args)) 0 times
    with only todo files and Gemfile.lock
      is expected to receive add_todo_suggestion_for(*(any args)) 0 times
    with todo files and other files
      is expected to receive add_todo_suggestion_for(*(any args)) 2 times
    with added or removed todo files and other files
      is expected to receive add_todo_suggestion_for(*(any args)) 0 times
    with todo files and Gemfile
      is expected to receive add_todo_suggestion_for(*(any args)) 0 times
    with todo files and rubocop config file
      is expected to receive add_todo_suggestion_for(*(any args)) 0 times
    with todo files Gemfile and other files
      is expected to receive add_todo_suggestion_for(*(any args)) 0 times
  rubocop inline disable suggestor danger
    processes the right amount of files
    when it is a draft mr
      does not perform any processing of files

# [RSpecRunTime] Finishing example group spec/tooling/danger/rubocop_helper_spec.rb. It took 0.26 second. Expected to take 0.28 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database_warnings_spec.rb. Expected to take 0.27 second.

Gitlab::DatabaseWarnings
  .check_single_connection_and_print_warning
    prints a warning if single connection
    does not print a warning if single ci connection
    does not print a warning if multiple connection
    does not print a warning in Rails runner environment
  .check_postgres_version_and_print_warning
    prints a warning if not compliant with minimum postgres version
    does not print a warning if compliant with minimum postgres version
    does not print a warning in Rails runner environment
    ignores ActiveRecord errors
    ignores Postgres errors

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database_warnings_spec.rb. It took 0.24 second. Expected to take 0.27 second.
# [RSpecRunTime] Starting example group spec/graphql/types/base_object_field_skip_type_authorization_spec.rb. Expected to take 0.26 second.

Types::BaseObject
  authorization options
    when skipping type authorization on resolved value
      with array type collection
        returns collection of allowed values
      with connection type collection
        returns collection of allowed values
      with single value type
        returns the value
    when not skipping type authorization on resolved value
      with array type collection
        returns collection of allowed values
      with connection type collection
        returns collection of allowed values
      with single value type
        returns allowed values
    when fields of same type are defined with skip and not skip type auth
      returns all values

# [RSpecRunTime] Finishing example group spec/graphql/types/base_object_field_skip_type_authorization_spec.rb. It took 0.28 second. Expected to take 0.26 second.
# [RSpecRunTime] Starting example group spec/lib/api/entities/ci/runner_manager_spec.rb. Expected to take 0.25 second.

API::Entities::Ci::RunnerManager
  exposes runner manager revision
  exposes runner manager version
  exposes runner manager architecture
  exposes runner manager platform
  exposes runner manager system_id
  exposes runner manager id

# [RSpecRunTime] Finishing example group spec/lib/api/entities/ci/runner_manager_spec.rb. It took 0.29 second. Expected to take 0.25 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/zoom_link_extractor_spec.rb. Expected to take 0.25 second.

Gitlab::ZoomLinkExtractor
  #links
    text: "issue text https://zoom.us/j/123 and https://zoom.us/s/1123433", links: ["https://zoom.us/j/123", "https://zoom.us/s/1123433"]
      is expected to eq ["https://zoom.us/j/123", "https://zoom.us/s/1123433"]
    text: "https://zoom.us/j/1123433 issue text", links: ["https://zoom.us/j/1123433"]
      is expected to eq ["https://zoom.us/j/1123433"]
    text: "issue https://zoom.us/my/1123433 text", links: ["https://zoom.us/my/1123433"]
      is expected to eq ["https://zoom.us/my/1123433"]
    text: "issue https://gitlab.com and https://gitlab.zoom.us/s/1123433", links: ["https://gitlab.zoom.us/s/1123433"]
      is expected to eq ["https://gitlab.zoom.us/s/1123433"]
    text: "https://gitlab.zoom.us/j/1123433", links: ["https://gitlab.zoom.us/j/1123433"]
      is expected to eq ["https://gitlab.zoom.us/j/1123433"]
    text: "https://gitlab.zoom.us/my/1123433", links: ["https://gitlab.zoom.us/my/1123433"]
      is expected to eq ["https://gitlab.zoom.us/my/1123433"]
    #match?
      is true when a zoom link found
      is false when no zoom link found

# [RSpecRunTime] Finishing example group spec/lib/gitlab/zoom_link_extractor_spec.rb. It took 0.22 second. Expected to take 0.25 second.
# [RSpecRunTime] Starting example group spec/services/users/untrust_service_spec.rb. Expected to take 0.23 second.

Users::UntrustService
  #execute
    updates the custom attributes

# [RSpecRunTime] Finishing example group spec/services/users/untrust_service_spec.rb. It took 0.23 second. Expected to take 0.23 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/kas/user_access_spec.rb. Expected to take 0.22 second.

Gitlab::Kas::UserAccess
  .enabled?
    is expected to equal true
  .{encrypt,decrypt}_public_session_id
    is expected not to include "the data"
    is expected to eq "the data"
  .cookie_data
    adds the session cookie prefix
    is encrypted, secure, httponly
    when on non-root path
      sets :path
    when on subdomain
      sets :domain

# [RSpecRunTime] Finishing example group spec/lib/gitlab/kas/user_access_spec.rb. It took 0.19 second. Expected to take 0.22 second.
# [RSpecRunTime] Starting example group spec/validators/gitlab/zoom_url_validator_spec.rb. Expected to take 0.22 second.

Gitlab::ZoomUrlValidator
  validations
    when zoom link starts with https
      passes validation
    when zoom link does not start with https
      fails validation
      when zoom link does not start with a scheme
        fails validation

# [RSpecRunTime] Finishing example group spec/validators/gitlab/zoom_url_validator_spec.rb. It took 0.16 second. Expected to take 0.22 second.
# [RSpecRunTime] Starting example group spec/models/integrations/issue_tracker_data_spec.rb. Expected to take 0.2 second.

Integrations::IssueTrackerData
  does not allow STI
  behaves like Integrations::BaseDataFields
    associations
      is expected to belong to integration required: false
    #activated?
      with integration
        with value set to false
          is expected to eq false
        with value set to true
          is expected to eq true
      without integration
        is expected to eq false
    #to_database_hash
      does not include certain attributes
  encrypted attributes
    is expected to contain exactly :issues_url, :new_issue_url, and :project_url

# [RSpecRunTime] Finishing example group spec/models/integrations/issue_tracker_data_spec.rb. It took 0.19 second. Expected to take 0.2 second.
# [RSpecRunTime] Starting example group spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb. Expected to take 0.2 second.

admin/application_settings/_repository_storage.html.haml
  with storage weights configured
    lists storages with weight
    lists storages without weight
    lists only configured storages

# [RSpecRunTime] Finishing example group spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb. It took 0.17 second. Expected to take 0.2 second.
# [RSpecRunTime] Starting example group spec/lib/pager_duty/webhook_payload_parser_spec.rb. Expected to take 0.19 second.

PagerDuty::WebhookPayloadParser
  .call
    when payload is a correct PagerDuty payload
      returns parsed payload
      when assignments summary and html_url are blank
        returns parsed payload with blank assignees
      when impacted_services summary and html_url are blank
        returns parsed payload with blank impacted service
    when payload schema is invalid
      returns payload with blank incident
    when event is unknown
      returns empty payload

# [RSpecRunTime] Finishing example group spec/lib/pager_duty/webhook_payload_parser_spec.rb. It took 0.2 second. Expected to take 0.19 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/cache/metrics_spec.rb. Expected to take 0.19 second.

Gitlab::Cache::Metrics
  #increment_cache_miss
    increments number of misses
    when labels redefine defaults
      increments number of misses
  #increment_cache_hit
    increments number of hits
    when labels redefine defaults
      increments number of hits
  #observe_cache_generation
    updates histogram metric
    when labels redefine defaults
      updates histogram metric

# [RSpecRunTime] Finishing example group spec/lib/gitlab/cache/metrics_spec.rb. It took 0.16 second. Expected to take 0.19 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/template/gitignore_template_spec.rb. Expected to take 0.17 second.

Gitlab::Template::GitignoreTemplate
  .all
    strips the gitignore suffix
    combines the globals and rest
  .find
    returns nil if the file does not exist
    returns the Gitignore object of a valid file
  #content
    loads the full file

# [RSpecRunTime] Finishing example group spec/lib/gitlab/template/gitignore_template_spec.rb. It took 0.16 second. Expected to take 0.17 second.
# [RSpecRunTime] Starting example group spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb. Expected to take 0.17 second.

Banzai::Filter::ServiceDeskUploadLinkFilter
  when replace_upload_links enabled
    when it has only one attachment to replace
      when filename in text is same as in link
        replaces the link with original filename in strong
      when filename in text is not same as in link
        replaces the link with filename in text & original filename, in strong
    when it has more than one attachment to replace
      when all of uploads can be replaced
        replaces all links with original filename in strong
      when not all of uploads can be replaced
        replaces only specific links with original filename in strong
  when uploads_as_attachments is empty
    does not replaces the link
  behaves like pipeline timing check
    checks the pipeline timing

# [RSpecRunTime] Finishing example group spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb. It took 0.22 second. Expected to take 0.17 second.
# [RSpecRunTime] Starting example group spec/serializers/ci/daily_build_group_report_result_entity_spec.rb. Expected to take 0.17 second.

Ci::DailyBuildGroupReportResultEntity
  #as_json
    is expected to include :date
    is expected not to include :group_name
    is expected to include :coverage
    when given param_type is not allowed
      is expected not to include :coverage
      is expected not to include :something_else

# [RSpecRunTime] Finishing example group spec/serializers/ci/daily_build_group_report_result_entity_spec.rb. It took 0.16 second. Expected to take 0.17 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sessions/redis_store_spec.rb. Expected to take 0.16 second.

Gitlab::Sessions::RedisStore
  #generate_sid
    when passing `session_cookie_token_prefix` in options
      prefix: nil, calculated_prefix: ""
        generates sid that is prefixed with the configured prefix
      prefix: "", calculated_prefix: ""
        generates sid that is prefixed with the configured prefix
      prefix: "random_prefix_", calculated_prefix: "random_prefix_-"
        generates sid that is prefixed with the configured prefix
      prefix: "_random_prefix", calculated_prefix: "_random_prefix-"
        generates sid that is prefixed with the configured prefix
    when not passing `session_cookie_token_prefix` in options
      generates sid that is not prefixed

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sessions/redis_store_spec.rb. It took 0.16 second. Expected to take 0.16 second.
# [RSpecRunTime] Starting example group spec/services/packages/terraform_module/metadata/parse_hcl_file_service_spec.rb. Expected to take 0.15 second.

Packages::TerraformModule::Metadata::ParseHclFileService
  #parse
    when the file is empty
      is expected to be empty
    when the file is not empty
      for variables
        returns the variables
      for outputs
        returns the outputs
      for resources
        returns the resources
      for dependencies
        returns the dependencies

# [RSpecRunTime] Finishing example group spec/services/packages/terraform_module/metadata/parse_hcl_file_service_spec.rb. It took 0.15 second. Expected to take 0.15 second.
# [RSpecRunTime] Starting example group spec/components/rapid_diffs/viewers/text/expand_lines_component_spec.rb. Expected to take 0.15 second.

RapidDiffs::Viewers::Text::ExpandLinesComponent
  renders expand up and down
  renders expand both
  renders expand down
  renders expand up

# [RSpecRunTime] Finishing example group spec/components/rapid_diffs/viewers/text/expand_lines_component_spec.rb. It took 0.12 second. Expected to take 0.15 second.
# [RSpecRunTime] Starting example group spec/lib/constraints/activity_pub_constrainer_spec.rb. Expected to take 0.15 second.

Constraints::ActivityPubConstrainer
  #matches?
    when Accept header is application/ld+json; profile="https://www.w3.org/ns/activitystreams"
      matches the header
    when Content-Type header is application/ld+json; profile="https://www.w3.org/ns/activitystreams"
      matches the header
    when Accept header is application/activity+json
      matches the header
    when Content-Type header is application/activity+json
      matches the header
    when Accept and Content-Type headers are missing
      does not match

# [RSpecRunTime] Finishing example group spec/lib/constraints/activity_pub_constrainer_spec.rb. It took 0.13 second. Expected to take 0.15 second.
# [RSpecRunTime] Starting example group spec/services/ci/runners/unregister_runner_service_spec.rb. Expected to take 0.14 second.

Ci::Runners::UnregisterRunnerService#execute
  destroys runner

# [RSpecRunTime] Finishing example group spec/services/ci/runners/unregister_runner_service_spec.rb. It took 0.14 second. Expected to take 0.14 second.
# [RSpecRunTime] Starting example group spec/keeps/helpers/postgres_ai_spec.rb. Expected to take 0.13 second.

Keeps::Helpers::PostgresAi
  #fetch_migrated_tuple_count
    fetches data from Postgres AI
  #fetch_background_migration_status
    fetches background migration data from Postgres AI
  #initialize
    with no connection string
      is expected to raise Keeps::Helpers::PostgresAi::Error with "No credentials supplied"
    with no password
      is expected to raise Keeps::Helpers::PostgresAi::Error with "No credentials supplied"

# [RSpecRunTime] Finishing example group spec/keeps/helpers/postgres_ai_spec.rb. It took 0.13 second. Expected to take 0.13 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/yaml/documents_spec.rb. Expected to take 0.13 second.

Gitlab::Ci::Config::Yaml::Documents
  #header
    when there are at least 2 documents and the first document has a `spec` keyword
      returns the header
    when there are fewer than 2 documents
      returns nil
    when there are at least 2 documents and the first document does not have a `spec` keyword
      returns nil
  #content
    when there is a header
      returns the unparsed content of the last document
    when there is no header
      returns the unparsed content of the first document

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/yaml/documents_spec.rb. It took 0.14 second. Expected to take 0.13 second.
# [RSpecRunTime] Starting example group spec/serializers/request_aware_entity_spec.rb. Expected to take 0.12 second.

RequestAwareEntity
  includes URL helpers
  includes method for checking abilities
  fetches request from options

# [RSpecRunTime] Finishing example group spec/serializers/request_aware_entity_spec.rb. It took 0.1 second. Expected to take 0.12 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/ansi2json/parser_spec.rb. Expected to take 0.12 second.

Gitlab::Ci::Ansi2json::Parser
  bold?
    returns true if style mask matches bold format
    returns false if style mask does not match bold format
  matching_formats
    returns matching formats given a style mask
    returns an empty array if no formats match the style mask

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/ansi2json/parser_spec.rb. It took 0.11 second. Expected to take 0.12 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_middleware/set_ip_address_spec.rb. Expected to take 0.11 second.

Gitlab::SidekiqMiddleware::SetIpAddress
  #call
    sets the IP address based on ip_address_state
    when the ip_address_state key is absent
      does not set the IP address
    when ip_address_state value is nil
      sets IP address to be nil

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_middleware/set_ip_address_spec.rb. It took 0.09 second. Expected to take 0.11 second.
# [RSpecRunTime] Starting example group spec/graphql/types/customer_relations/organization_state_counts_type_spec.rb. Expected to take 0.11 second.

Types::CustomerRelations::OrganizationStateCountsType
  is expected to eq "OrganizationStateCounts"
  is expected to have graphql fields "all", "active", and "inactive"
  #all
    returns the sum of all counts

# [RSpecRunTime] Finishing example group spec/graphql/types/customer_relations/organization_state_counts_type_spec.rb. It took 0.09 second. Expected to take 0.11 second.
# [RSpecRunTime] Starting example group spec/initializers/100_patch_omniauth_saml_spec.rb. Expected to take 0.1 second.

OmniAuth::Strategies::SAML
  POST /users/auth/saml
    redirects to the provider login page
    stores request ID during request phase

# [RSpecRunTime] Finishing example group spec/initializers/100_patch_omniauth_saml_spec.rb. It took 0.08 second. Expected to take 0.1 second.
# [RSpecRunTime] Starting example group spec/lib/api/api_spec.rb. Expected to take 0.1 second.

API::API
  .prefix
    has a prefix defined
  .version
    uses most recent version of the API
  .versions
    returns all available versions

# [RSpecRunTime] Finishing example group spec/lib/api/api_spec.rb. It took 0.09 second. Expected to take 0.1 second.
# [RSpecRunTime] Starting example group spec/helpers/projects/issues_helper_spec.rb. Expected to take 0.1 second.

Projects::IssuesHelper
  #create_mr_tracking_data
    can_create_mr: true, can_create_confidential_mr: true, tracking_data: {:event_tracking=>"click_create_confidential_mr_issues_list"}
      is expected to eq {:event_tracking=>"click_create_confidential_mr_issues_list"}
    can_create_mr: true, can_create_confidential_mr: false, tracking_data: {:event_tracking=>"click_create_mr_issues_list"}
      is expected to eq {:event_tracking=>"click_create_mr_issues_list"}
    can_create_mr: false, can_create_confidential_mr: false, tracking_data: {}
      is expected to eq {}

# [RSpecRunTime] Finishing example group spec/helpers/projects/issues_helper_spec.rb. It took 0.09 second. Expected to take 0.1 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/interpolation/functions/truncate_spec.rb. Expected to take 0.09 second.

Gitlab::Ci::Config::Interpolation::Functions::Truncate
  matches exactly the truncate function with 2 numeric arguments
  truncates the given input
  when given a non-string input
    returns an error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/interpolation/functions/truncate_spec.rb. It took 0.09 second. Expected to take 0.09 second.
# [RSpecRunTime] Starting example group spec/graphql/types/packages/terraform_module/metadatum/input_type_spec.rb. Expected to take 0.09 second.

Types::Packages::TerraformModule::Metadatum::InputType
  default can be null
  includes terraform module metadatum input fields
  description can be null

# [RSpecRunTime] Finishing example group spec/graphql/types/packages/terraform_module/metadatum/input_type_spec.rb. It took 0.09 second. Expected to take 0.09 second.
# [RSpecRunTime] Starting example group spec/serializers/activity_pub/publish_release_activity_serializer_spec.rb. Expected to take 0.09 second.

ActivityPub::PublishReleaseActivitySerializer
  serializes the activity attributes

# [RSpecRunTime] Finishing example group spec/serializers/activity_pub/publish_release_activity_serializer_spec.rb. It took 0.07 second. Expected to take 0.09 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_middleware/pause_control/client_spec.rb. Expected to take 0.08 second.

Gitlab::SidekiqMiddleware::PauseControl::Client
  #call
    when strategy is enabled
      does not schedule the job
    when strategy is disabled
      schedules the job

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_middleware/pause_control/client_spec.rb. It took 0.08 second. Expected to take 0.08 second.
# [RSpecRunTime] Starting example group spec/graphql/types/access_levels/deploy_key_type_spec.rb. Expected to take 0.08 second.

Types::AccessLevels::DeployKeyType
  is expected to have graphql fields :id, :title, :expires_at, and :user
  is expected to require graphql authorizations :read_deploy_key

# [RSpecRunTime] Finishing example group spec/graphql/types/access_levels/deploy_key_type_spec.rb. It took 0.07 second. Expected to take 0.08 second.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/test_suite_summary_type_spec.rb. Expected to take 0.07 second.

Types::Ci::TestSuiteSummaryType
  contains attributes related to a pipeline test report summary
  is expected to eq "TestSuiteSummary"

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/test_suite_summary_type_spec.rb. It took 0.06 second. Expected to take 0.07 second.
# [RSpecRunTime] Starting example group spec/graphql/types/packages/helm/dependency_type_spec.rb. Expected to take 0.07 second.

Types::Packages::Helm::DependencyType
  is expected to eq "PackageHelmDependencyType"
  includes helm dependency fields

# [RSpecRunTime] Finishing example group spec/graphql/types/packages/helm/dependency_type_spec.rb. It took 0.06 second. Expected to take 0.07 second.
# [RSpecRunTime] Starting example group spec/services/spam/spam_params_spec.rb. Expected to take 0.07 second.

Spam::SpamParams
  .new_from_request
    with a normal Rails request
      behaves like constructs from a request
        constructs from a request
    with a grape request
      behaves like constructs from a request
        constructs from a request

# [RSpecRunTime] Finishing example group spec/services/spam/spam_params_spec.rb. It took 0.07 second. Expected to take 0.07 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/build/port_spec.rb. Expected to take 0.07 second.

Gitlab::Ci::Build::Port
  when port is defined as an integer
    populates the object
  when port is defined as hash
    populates the object

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/build/port_spec.rb. It took 0.06 second. Expected to take 0.07 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb. Expected to take 0.07 second.

Gitlab::ApplicationRateLimiter::BaseStrategy
  #increment
    raises NotImplementedError
  #read
    raises NotImplementedError

# [RSpecRunTime] Finishing example group spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb. It took 0.06 second. Expected to take 0.07 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/click_house_spec.rb. Expected to take 0.07 second.

Gitlab::ClickHouse
  when ClickHouse is not configured
    is expected not to be configured

# [RSpecRunTime] Finishing example group spec/lib/gitlab/click_house_spec.rb. It took 0.04 second. Expected to take 0.07 second.
# [RSpecRunTime] Starting example group spec/initializers/postgresql_cte_spec.rb. Expected to take 0.06 second.

ActiveRecord::Relation patch for PostgreSQL WITH statements
  ActiveRecord::Relation::WithChain#recursive
    sets recursive value flag on the relation
    raises an error when #update_all is called

# [RSpecRunTime] Finishing example group spec/initializers/postgresql_cte_spec.rb. It took 0.07 second. Expected to take 0.06 second.
# [RSpecRunTime] Starting example group spec/graphql/types/work_items/notes_filter_type_enum_spec.rb. Expected to take 0.06 second.

Types::WorkItems::NotesFilterTypeEnum
  is expected to eq "NotesFilterType"
  exposes all the existing widget type values

# [RSpecRunTime] Finishing example group spec/graphql/types/work_items/notes_filter_type_enum_spec.rb. It took 0.06 second. Expected to take 0.06 second.
# [RSpecRunTime] Starting example group spec/graphql/types/packages/nuget/dependency_link_metdatum_type_spec.rb. Expected to take 0.05 second.

Types::Packages::Nuget::DependencyLinkMetadatumType
  includes nuget dependency link metadatum fields

# [RSpecRunTime] Finishing example group spec/graphql/types/packages/nuget/dependency_link_metdatum_type_spec.rb. It took 0.04 second. Expected to take 0.05 second.
# [RSpecRunTime] Starting example group spec/workers/todos_destroyer/group_private_worker_spec.rb. Expected to take 0.05 second.

TodosDestroyer::GroupPrivateWorker
  calls the Todos::Destroy::GroupPrivateService with the params it was given

# [RSpecRunTime] Finishing example group spec/workers/todos_destroyer/group_private_worker_spec.rb. It took 0.04 second. Expected to take 0.05 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/gitlab/union_spec.rb. Expected to take 0.04 second.

RuboCop::Cop::Gitlab::Union
  flags the use of Gitlab::SQL::Union.new

# [RSpecRunTime] Finishing example group spec/rubocop/cop/gitlab/union_spec.rb. It took 0.04 second. Expected to take 0.04 second.
# [RSpecRunTime] Starting example group spec/serializers/detailed_status_entity_spec.rb. Expected to take 0.04 second.

DetailedStatusEntity
  #as_json
    contains status details

# [RSpecRunTime] Finishing example group spec/serializers/detailed_status_entity_spec.rb. It took 0.04 second. Expected to take 0.04 second.
# [RSpecRunTime] Starting example group spec/serializers/accessibility_error_entity_spec.rb. Expected to take 0.04 second.

AccessibilityErrorEntity
  #as_json
    when accessibility contains an error
      contains correct accessibility error details

# [RSpecRunTime] Finishing example group spec/serializers/accessibility_error_entity_spec.rb. It took 0.04 second. Expected to take 0.04 second.
# [RSpecRunTime] Starting example group spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb. Expected to take 0.04 second.

Ci::DailyBuildGroupReportResultSerializer
  #to_json
    returns an array of group results

# [RSpecRunTime] Finishing example group spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb. It took 0.04 second. Expected to take 0.04 second.
# [RSpecRunTime] Starting example group spec/lib/api/entities/nuget/dependency_spec.rb. Expected to take 0.04 second.

API::Entities::Nuget::Dependency
  is expected to eq {:@id=>"http://gitlab.com/Sandbox.App/1.0.0.json#dependency", :@type=>"PackageDependency", :id=>"Dependency", :range=>"2.0.0"}

# [RSpecRunTime] Finishing example group spec/lib/api/entities/nuget/dependency_spec.rb. It took 0.04 second. Expected to take 0.04 second.
auto_explain log contains 1740 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-37-44.352.main.ndjson.gz
took 32.138319724
auto_explain log contains 1741 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-37-44.352.ci.ndjson.gz
took 31.401071907
[TEST PROF INFO] EventProf results for sql.active_record

Total time: 06:19.496 of 23:02.497 (27.45%)
Total events: 208434

Top 5 slowest suites (by time):

Projects::Ove...ProjectService (./spec/services/projects/overwrite_project_service_spec.rb:5) – 01:03.183 (33556 / 29) of 02:50.843 (36.98%)
Noteable (./spec/models/concerns/noteable_spec.rb:5) – 00:51.828 (27944 / 39) of 04:05.882 (21.08%)
ApplicationSe...:UpdateService (./spec/services/application_settings/update_service_spec.rb:5) – 00:30.127 (5566 / 80) of 01:31.087 (33.08%)
Ci::CreatePipelineService (./spec/services/ci/create_pipeline_service/rules_spec.rb:4) – 00:29.012 (16973 / 93) of 02:15.330 (21.44%)
Ci::Ref (./spec/models/ci/ref_spec.rb:5) – 00:20.959 (9513 / 40) of 00:52.591 (39.85%)

Knapsack report was generated. Preview:
{
  "spec/models/concerns/noteable_spec.rb": 245.88221014600003,
  "spec/services/projects/overwrite_project_service_spec.rb": 170.8428988280001,
  "spec/services/ci/create_pipeline_service/rules_spec.rb": 135.3297612780001,
  "spec/services/application_settings/update_service_spec.rb": 91.08755022899993,
  "spec/lib/banzai/filter/references/issue_reference_filter_spec.rb": 48.98932175300001,
  "spec/models/ci/ref_spec.rb": 52.591200112000024,
  "spec/models/design_management/design_at_version_spec.rb": 48.345564513,
  "spec/models/merge_request_diff_file_spec.rb": 40.07758723200004,
  "spec/models/concerns/avatarable_spec.rb": 34.52687542800004,
  "spec/services/users/destroy_service_spec.rb": 32.56000353000013,
  "spec/models/concerns/approvable_spec.rb": 26.369083429000057,
  "spec/services/resource_access_tokens/revoke_service_spec.rb": 28.20773515499991,
  "spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb": 24.868161912999994,
  "spec/lib/banzai/reference_parser/user_parser_spec.rb": 19.357867234999958,
  "spec/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service_spec.rb": 16.190246832999946,
  "spec/models/concerns/discussion_on_diff_spec.rb": 18.0518797000002,
  "spec/services/discussions/update_diff_position_service_spec.rb": 17.376525700000002,
  "spec/policies/blob_policy_spec.rb": 15.528311122000105,
  "spec/lib/gitlab/ci/badge/release/template_spec.rb": 15.689293268000029,
  "spec/services/milestones/promote_service_spec.rb": 14.831220275000078,
  "spec/services/incident_management/timeline_events/create_service_spec.rb": 14.46666060299981,
  "spec/lib/gitlab/x509/signature_spec.rb": 10.398641709999993,
  "spec/finders/ci/jobs_finder_spec.rb": 9.694163164999964,
  "spec/lib/gitlab/url_builder_spec.rb": 10.728398914999843,
  "spec/policies/achievements/user_achievement_policy_spec.rb": 9.943642644999954,
  "spec/lib/gitlab/search/recent_issues_spec.rb": 10.371645611000076,
  "spec/lib/gitlab/diff/suggestions_parser_spec.rb": 10.057373256000119,
  "spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb": 8.244027438000103,
  "spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb": 7.98982794199992,
  "spec/workers/delete_diff_files_worker_spec.rb": 7.78833923000002,
  "spec/lib/gitlab/ci/status/build/common_spec.rb": 4.471417113999905,
  "spec/services/ci/run_scheduled_build_service_spec.rb": 5.835815221000075,
  "spec/views/projects/tags/index.html.haml_spec.rb": 7.725729756999954,
  "spec/lib/container_registry/gitlab_api_client_spec.rb": 5.792588905000002,
  "spec/services/work_items/import_csv_service_spec.rb": 5.495605780000005,
  "spec/services/error_tracking/list_issues_service_spec.rb": 6.326691631000131,
  "spec/graphql/mutations/alert_management/alerts/set_assignees_spec.rb": 5.153792406999855,
  "spec/services/suggestions/outdate_service_spec.rb": 6.860014607000039,
  "spec/lib/gitlab/chat/responder/slack_spec.rb": 5.177936114999966,
  "spec/helpers/ide_helper_spec.rb": 2.4513223789999756,
  "spec/models/ci/runner_namespace_spec.rb": 3.743939022999939,
  "spec/lib/gitlab/import_export/uploads_manager_spec.rb": 4.387402310000198,
  "spec/services/issuable/callbacks/description_spec.rb": 3.186227848999806,
  "spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb": 4.421582037000007,
  "spec/services/ci/change_variable_service_spec.rb": 3.6262641729999814,
  "spec/serializers/merge_request_user_entity_spec.rb": 3.766608360999953,
  "spec/graphql/types/ci/job_token_auth_log_type_spec.rb": 2.793722301000116,
  "spec/services/click_house/sync_strategies/base_sync_strategy_spec.rb": 0.17874712499997258,
  "spec/lib/banzai/reference_parser/design_parser_spec.rb": 3.865053593000084,
  "spec/models/merge_request_reviewer_spec.rb": 3.2787428810001984,
  "spec/models/lfs_download_object_spec.rb": 2.6619612920001146,
  "spec/graphql/resolvers/repository_branch_names_resolver_spec.rb": 3.4422440079999888,
  "spec/workers/ci/pending_builds/update_project_worker_spec.rb": 3.4246168390000093,
  "spec/lib/gitlab/ci/status/stage/common_spec.rb": 3.1470624820001376,
  "spec/policies/clusters/agents/activity_event_policy_spec.rb": 2.922681770000054,
  "spec/lib/gitlab/redis/repository_cache_spec.rb": 2.6435809330000666,
  "spec/models/users/merge_request_interaction_spec.rb": 2.3938298430000486,
  "spec/models/label_priority_spec.rb": 2.446804119000035,
  "spec/workers/work_items/import_work_items_csv_worker_spec.rb": 2.223302897999929,
  "spec/lib/gitlab/ci/config/external/file/component_spec.rb": 2.282918233000146,
  "spec/services/ci/pipeline_schedules/variables_create_service_spec.rb": 2.200301058999912,
  "spec/services/releases/links/create_service_spec.rb": 2.1392695739998544,
  "spec/workers/ci/pipeline_artifacts/coverage_report_worker_spec.rb": 1.9497938409999733,
  "spec/services/integrations/exclusions/create_service_spec.rb": 2.5263332629999695,
  "spec/services/namespaces/statistics_refresher_service_spec.rb": 1.9640077589999692,
  "spec/services/ml/create_model_version_service_spec.rb": 2.333070748999944,
  "spec/lib/gitlab/ci/pipeline/chain/build_spec.rb": 1.829718110000158,
  "spec/graphql/mutations/terraform/state/unlock_spec.rb": 1.7651691759999721,
  "spec/lib/object_storage/config_spec.rb": 1.1911306419999619,
  "spec/lib/gitlab/database/health_status/indicators/patroni_apdex_spec.rb": 1.5831891200000427,
  "spec/services/authorized_project_update/project_recalculate_service_spec.rb": 1.56826229100011,
  "spec/helpers/keyset_helper_spec.rb": 1.3075332930000059,
  "spec/models/preloaders/user_max_access_level_in_groups_preloader_spec.rb": 1.6402188760000627,
  "spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb": 1.4882376770001429,
  "spec/lib/api/helpers/authentication_spec.rb": 1.4088950049999767,
  "spec/views/layouts/devise_empty.html.haml_spec.rb": 1.7750517239999226,
  "spec/lib/gitlab/conan_token_spec.rb": 1.633649546000015,
  "spec/lib/gitlab/ci/variables/builder/release_spec.rb": 1.5730360809998274,
  "spec/lib/gitlab/ci/config/entry/image_spec.rb": 1.0368534050001017,
  "spec/models/concerns/issuable_link_spec.rb": 1.05427511400012,
  "spec/lib/gitlab_settings/options_spec.rb": 0.9049914660001832,
  "spec/services/users/reset_feed_token_service_spec.rb": 2.443302569000025,
  "spec/services/bulk_imports/batched_relation_export_service_spec.rb": 1.279314086000113,
  "spec/graphql/resolvers/crm/contact_state_counts_resolver_spec.rb": 1.0070422869998765,
  "spec/services/packages/nuget/create_dependency_service_spec.rb": 1.3229067910001504,
  "spec/lib/gitlab/ci/reports/security/reports_spec.rb": 1.0187499670000761,
  "spec/services/import/source_users/keep_as_placeholder_service_spec.rb": 1.252484627000058,
  "spec/lib/gitlab/seeders/project_environment_seeder_spec.rb": 0.9632379709998986,
  "spec/graphql/types/ci/job_base_field_spec.rb": 1.1540257259998725,
  "spec/lib/gitlab/ci/variables/builder/group_spec.rb": 0.9132991149999725,
  "spec/lib/gitlab/i18n/pluralization_spec.rb": 1.020275196000057,
  "spec/lib/gitlab/gitaly_client/diff_service_spec.rb": 0.8697983590000149,
  "spec/services/customer_relations/organizations/update_service_spec.rb": 0.8430964909998693,
  "spec/lib/gitlab/ci/config/entry/policy_spec.rb": 0.8007429049998791,
  "spec/workers/build_queue_worker_spec.rb": 0.7046121519999815,
  "spec/presenters/ci/trigger_presenter_spec.rb": 0.8160087730000214,
  "spec/lib/gitlab/database/partitioning_migration_helpers/uniqueness_helpers_spec.rb": 0.5388058360001651,
  "spec/services/admin/plan_limits/update_service_spec.rb": 0.8035844040000484,
  "spec/models/anti_abuse/reports/label_spec.rb": 0.8876946870000211,
  "spec/finders/packages/terraform_module/packages_finder_spec.rb": 0.7026683120000143,
  "spec/workers/ssh_keys/expiring_soon_notification_worker_spec.rb": 0.6200762989999475,
  "spec/workers/jira_connect/sync_feature_flags_worker_spec.rb": 0.5992800109997916,
  "spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb": 0.6958896030000687,
  "spec/services/work_items/data_sync/handlers/cleanup_data_handler_spec.rb": 0.5671337930000391,
  "spec/serializers/user_entity_spec.rb": 0.5146353079999244,
  "spec/services/achievements/update_user_achievement_service_spec.rb": 0.5082759080000869,
  "spec/lib/gitlab/hook_data/emoji_builder_spec.rb": 0.5834059819999311,
  "spec/workers/pages_worker_spec.rb": 0.5241332169998714,
  "spec/helpers/form_helper_spec.rb": 0.5004440489999524,
  "spec/lib/gitlab/ci/reports/test_failure_history_spec.rb": 0.39105700800018894,
  "spec/lib/gitlab/cross_project_access/check_info_spec.rb": 0.4109104760000264,
  "spec/lib/gitlab/popen/runner_spec.rb": 0.4532563929999469,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_personal_snippets_metric_spec.rb": 0.3717394300001615,
  "spec/models/ci/runner_tagging_spec.rb": 0.3084286939999856,
  "spec/graphql/types/ci/status_action_type_spec.rb": 0.38990690800005723,
  "spec/lib/gitlab/query_limiting_spec.rb": 0.2847569669997938,
  "spec/lib/gitlab/template/finders/global_template_finder_spec.rb": 0.3311815330000627,
  "spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb": 0.26125233799984926,
  "spec/lib/gitlab/ci/config/entry/commands_spec.rb": 0.3269876330000443,
  "spec/rubocop/cop/migration/add_reference_spec.rb": 0.3280397930000163,
  "spec/lib/gitlab/ci/components/usages/aggregators/cursor_spec.rb": 0.27361809800004266,
  "spec/uploaders/object_storage/cdn_spec.rb": 0.29811734500003695,
  "spec/lib/sidebars/user_profile/panel_spec.rb": 0.2802837469998849,
  "spec/tooling/danger/rubocop_helper_spec.rb": 0.2616088690001561,
  "spec/lib/gitlab/database_warnings_spec.rb": 0.23761214000001019,
  "spec/graphql/types/base_object_field_skip_type_authorization_spec.rb": 0.28356008700006896,
  "spec/lib/api/entities/ci/runner_manager_spec.rb": 0.2898610259999259,
  "spec/lib/gitlab/zoom_link_extractor_spec.rb": 0.21505774299998848,
  "spec/services/users/untrust_service_spec.rb": 0.23147612100001425,
  "spec/lib/gitlab/kas/user_access_spec.rb": 0.19434541399982663,
  "spec/validators/gitlab/zoom_url_validator_spec.rb": 0.15648253599988493,
  "spec/models/integrations/issue_tracker_data_spec.rb": 0.19420861499997955,
  "spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb": 0.16492746600010832,
  "spec/lib/pager_duty/webhook_payload_parser_spec.rb": 0.20309682300012355,
  "spec/lib/gitlab/cache/metrics_spec.rb": 0.1624247969998578,
  "spec/lib/gitlab/template/gitignore_template_spec.rb": 0.16371218599988424,
  "spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb": 0.21634441200012589,
  "spec/serializers/ci/daily_build_group_report_result_entity_spec.rb": 0.15659263800012013,
  "spec/lib/gitlab/sessions/redis_store_spec.rb": 0.15862541599994984,
  "spec/services/packages/terraform_module/metadata/parse_hcl_file_service_spec.rb": 0.1542132679999213,
  "spec/components/rapid_diffs/viewers/text/expand_lines_component_spec.rb": 0.1195715899998504,
  "spec/lib/constraints/activity_pub_constrainer_spec.rb": 0.13036835899993093,
  "spec/services/ci/runners/unregister_runner_service_spec.rb": 0.1355927789998077,
  "spec/keeps/helpers/postgres_ai_spec.rb": 0.12656099900004847,
  "spec/lib/gitlab/ci/config/yaml/documents_spec.rb": 0.13821504899988213,
  "spec/serializers/request_aware_entity_spec.rb": 0.09596625199992559,
  "spec/lib/gitlab/ci/ansi2json/parser_spec.rb": 0.11055561100010891,
  "spec/lib/gitlab/sidekiq_middleware/set_ip_address_spec.rb": 0.08680473300000813,
  "spec/graphql/types/customer_relations/organization_state_counts_type_spec.rb": 0.08642908299998453,
  "spec/initializers/100_patch_omniauth_saml_spec.rb": 0.07834676399988894,
  "spec/lib/api/api_spec.rb": 0.08632219299988719,
  "spec/helpers/projects/issues_helper_spec.rb": 0.08789128300008997,
  "spec/lib/gitlab/ci/config/interpolation/functions/truncate_spec.rb": 0.08826583199993365,
  "spec/graphql/types/packages/terraform_module/metadatum/input_type_spec.rb": 0.08643762399992738,
  "spec/serializers/activity_pub/publish_release_activity_serializer_spec.rb": 0.07004353499996796,
  "spec/lib/gitlab/sidekiq_middleware/pause_control/client_spec.rb": 0.08210146300007182,
  "spec/graphql/types/access_levels/deploy_key_type_spec.rb": 0.06616780500007735,
  "spec/graphql/types/ci/test_suite_summary_type_spec.rb": 0.06417381500000374,
  "spec/graphql/types/packages/helm/dependency_type_spec.rb": 0.06411492500001259,
  "spec/services/spam/spam_params_spec.rb": 0.06511932400007936,
  "spec/lib/gitlab/ci/build/port_spec.rb": 0.062440775000141,
  "spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb": 0.062711464999893,
  "spec/lib/gitlab/click_house_spec.rb": 0.03943985699993391,
  "spec/initializers/postgresql_cte_spec.rb": 0.06695641400006025,
  "spec/graphql/types/work_items/notes_filter_type_enum_spec.rb": 0.06384345500009658,
  "spec/graphql/types/packages/nuget/dependency_link_metdatum_type_spec.rb": 0.037668386999939685,
  "spec/workers/todos_destroyer/group_private_worker_spec.rb": 0.03805730699991727,
  "spec/rubocop/cop/gitlab/union_spec.rb": 0.04117230700012442,
  "spec/serializers/detailed_status_entity_spec.rb": 0.04065791700008958,
  "spec/serializers/accessibility_error_entity_spec.rb": 0.0402787770001396,
  "spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb": 0.040424176999977135,
  "spec/lib/api/entities/nuget/dependency_spec.rb": 0.03892522700016343
}

Knapsack global time execution for tests: 23m 02s

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) MergeRequestUserEntity#as_json performance is linear in the number of merge requests
     # See: https://gitlab.com/gitlab-org/gitlab/-/issues/322549
     Failure/Error:
               expect do
                 a = described_class.new(user_a, request: request, merge_request: merge_request_b)
                 b = described_class.new(user_b, request: request, merge_request: merge_request_b)
       
                 a.as_json
                 b.as_json
               end.not_to exceed_query_limit(baseline)

       Expected a maximum of 12 queries, got 22:

       Query Diff:
       -----------
       SELECT "users"."id", "users"."email", "users"."encrypted_password", "users"."reset_password_token", "users"."reset_password_sent_at", "users"."remember_created_at", "users"."sign_in_count", "users"."current_sign_in_at", "users"."last_sign_in_at", "users"."current_sign_in_ip", "users"."last_sign_in_ip", "users"."created_at", "users"."updated_at", "users"."name", "users"."admin", "users"."projects_limit", "users"."failed_attempts", "users"."locked_at", "users"."username", "users"."can_create_group", "users"."can_create_team", "users"."state", "users"."color_scheme_id", "users"."password_expires_at", "users"."created_by_id", "users"."last_credential_check_at", "users"."avatar", "users"."confirmation_token", "users"."confirmed_at", "users"."confirmation_sent_at", "users"."unconfirmed_email", "users"."hide_no_ssh_key", "users"."admin_email_unsubscribed_at", "users"."notification_email", "users"."hide_no_password", "users"."password_automatically_set", "users"."encrypted_otp_secret", "users"."encrypted_otp_secret_iv", "users"."encrypted_otp_secret_salt", "users"."otp_required_for_login", "users"."otp_backup_codes", "users"."public_email", "users"."dashboard", "users"."project_view", "users"."consumed_timestep", "users"."layout", "users"."hide_project_limit", "users"."note", "users"."unlock_token", "users"."otp_grace_period_started_at", "users"."external", "users"."incoming_email_token", "users"."auditor", "users"."require_two_factor_authentication_from_group", "users"."two_factor_grace_period", "users"."last_activity_on", "users"."notified_of_own_activity", "users"."preferred_language", "users"."theme_id", "users"."accepted_term_id", "users"."feed_token", "users"."private_profile", "users"."roadmap_layout", "users"."include_private_contributions", "users"."commit_email", "users"."group_view", "users"."managing_group_id", "users"."first_name", "users"."last_name", "users"."static_object_token", "users"."role", "users"."user_type", "users"."static_object_token_encrypted", "users"."otp_secret_expires_at", "users"."onboarding_in_progress", "users"."color_mode_id" FROM find_users_by_id(1097) AS users WHERE ("users"."id" IS NOT NULL) LIMIT 1...
       -- (expected: 1, got: 0)
          

       SELECT "namespace_bans".* FROM "namespace_bans"...
       -- (expected: 1, got: 0)
          WHERE "namespace_bans"."user_id" = 1099
       -- (expected: 1, got: 0)
          WHERE "namespace_bans"."user_id" = 1097
       -- (expected: 0, got: 1)
          WHERE "namespace_bans"."user_id" = 1100

       SELECT MAX("project_authorizations"."access_level") AS "maximum_access_level", "project_authorizations"."user_id" AS "project_authorizations_user_id" FROM "project_authorizations"...
       -- (expected: 4, got: 0)
          WHERE "project_authorizations"."project_id" = 837 AND "project_authorizations"."user_id" = 1099 GROUP BY "project_authorizations"."user_id"
       -- (expected: 3, got: 0)
          WHERE "project_authorizations"."project_id" = 837 AND "project_authorizations"."user_id" = 1097 GROUP BY "project_authorizations"."user_id"
       -- (expected: 0, got: 4)
          WHERE "project_authorizations"."project_id" = 838 AND "project_authorizations"."user_id" = 1099 GROUP BY "project_authorizations"."user_id"
       -- (expected: 0, got: 6)
          WHERE "project_authorizations"."project_id" = 838 AND "project_authorizations"."user_id" = 1097 GROUP BY "project_authorizations"."user_id"
       -- (expected: 0, got: 4)
          WHERE "project_authorizations"."project_id" = 838 AND "project_authorizations"."user_id" = 1100 GROUP BY "project_authorizations"."user_id"

       SELECT "merge_requests".* FROM "merge_requests"...
       -- (expected: 1, got: 0)
          WHERE "merge_requests"."source_project_id" = 837 AND (source_project_id <> target_project_id) AND "merge_requests"."state_id" = 1 AND "merge_requests"."allow_maintainer_to_push" = TRUE AND "merge_requests"."source_branch" = 'feature'
       -- (expected: 0, got: 2)
          WHERE "merge_requests"."source_project_id" = 838 AND (source_project_id <> target_project_id) AND "merge_requests"."state_id" = 1 AND "merge_requests"."allow_maintainer_to_push" = TRUE AND "merge_requests"."source_branch" = 'feature'

       SELECT "merge_request_reviewers".* FROM "merge_request_reviewers"...
       -- (expected: 1, got: 0)
          WHERE "merge_request_reviewers"."merge_request_id" = 185 AND "merge_request_reviewers"."user_id" = 1099 LIMIT 1
       -- (expected: 0, got: 1)
          WHERE "merge_request_reviewers"."merge_request_id" = 186 AND "merge_request_reviewers"."user_id" = 1099 LIMIT 1
       -- (expected: 0, got: 1)
          WHERE "merge_request_reviewers"."merge_request_id" = 186 AND "merge_request_reviewers"."user_id" = 1100 LIMIT 1

       SELECT "organization_users"."user_id" FROM "organization_users"...
       -- (expected: 0, got: 1)
          WHERE "organization_users"."organization_id" = 1 AND "organization_users"."access_level" = 50

       SELECT "protected_branches".* FROM ((SELECT "protected_branches".* FROM "protected_branches"...
       -- (expected: 0, got: 1)
          WHERE "protected_branches"."project_id" = 838)) protected_branches

       SELECT "approvals".* FROM "approvals"...
       -- (expected: 0, got: 1)
          WHERE "approvals"."merge_request_id" = 186
     # ./spec/serializers/merge_request_user_entity_spec.rb:71:in `block (4 levels) in <top (required)>'
     # ./spec/spec_helper.rb:474:in `block (3 levels) in <top (required)>'
     # ./lib/gitlab/sidekiq_sharding/validator.rb:42:in `enabled'
     # ./spec/spec_helper.rb:473:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:468:in `block (3 levels) in <top (required)>'
     # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
     # ./spec/spec_helper.rb:459:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:455:in `block (3 levels) in <top (required)>'
     # ./lib/gitlab/application_context.rb:94:in `with_raw_context'
     # ./spec/spec_helper.rb:455:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'
     # ./lib/gitlab/ci/config/feature_flags.rb:38:in `ensure_correct_usage'
     # ./spec/spec_helper.rb:425:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:275:in `block (2 levels) in <top (required)>'
     # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'
     # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'
     # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'
     # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
     # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'

  2) Gitlab::Template::Finders::GlobalTemplateFinder.find with a prefixed template does not find the template without a prefix
     # Temporarily skipped with xit
     # ./spec/lib/gitlab/template/finders/global_template_finder_spec.rb:84

  3) Gitlab::Template::Finders::GlobalTemplateFinder.find with a prefixed template while listed as an exclusion does not find the template without a prefix
     # Temporarily skipped with xit
     # ./spec/lib/gitlab/template/finders/global_template_finder_spec.rb:111

Finished in 24 minutes 18 seconds (files took 1 minute 36.72 seconds to load)
2338 examples, 0 failures, 3 pending

Randomized with seed 811

[TEST PROF INFO] Time spent in factories: 15:39.905 (63.86% of total time)
RSpec exited with 0.
No examples to retry, congrats!
section_end:1732241417:step_script
section_start:1732241417:after_script
Running after_script
Running after script...
$ source scripts/utils.sh
$ log_disk_usage
*******************************************************
This runner currently has 29G free disk space.
*******************************************************
section_start:1732241418:log_disk_usage[collapsed=true]
Disk usage detail
df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          46G   17G   29G  38% /
tmpfs            64M     0   64M   0% /dev
shm             256M     0  256M   0% /dev/shm
/dev/sda1        46G   17G   29G  38% /cache
tmpfs           3.9G     0  3.9G   0% /sys/devices/virtual/dmi/id
tmpfs           3.9G     0  3.9G   0% /proc/acpi
tmpfs           3.9G     0  3.9G   0% /proc/scsi
tmpfs           3.9G     0  3.9G   0% /sys/firmware
du -h -d 1
7.4M	./workhorse
148K	./bin
1.2M	./.gitlab
194M	./.git
4.0K	./builds
17M	./coverage
28M	./lib
8.0K	./.vscode
564K	./storybook
36M	./log
1.9M	./data
11M	./qa
3.1M	./.rubocop_todo
855M	./vendor
1.1G	./public
62M	./doc
484K	./danger
2.6M	./rspec
8.0K	./.bundle
556K	./tooling
146M	./ee
1.3M	./knapsack
300K	./patches
4.3M	./changelogs
20K	./haml_lint
28K	./metrics_server
108K	./keeps
252K	./shared
44K	./generator_templates
1.3M	./scripts
2.1G	./tmp
128M	./spec
20K	./file_hooks
16K	./sidekiq_cluster
17M	./gems
1.2M	./fixtures
968K	./rubocop
4.0K	./.go
34M	./db
612K	./auto_explain
12K	./.github
129M	./locale
20M	./config
86M	./app
20K	./.lefthook
4.8G	.
section_end:1732241419:log_disk_usage

$ bundle exec gem list gitlab_quality-test_tooling
gitlab_quality-test_tooling (2.1.0)
$ section_start "failed-test-issues" "Report test failures" # collapsed multi-line command
section_start:1732241423:failed-test-issues[collapsed=true]
Report test failures
Reporting tests in `rspec/rspec-8442485313.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Processing 2338 tests in rspec/rspec-8442485313.json
 => Reported 0 failed tests.
section_end:1732241426:failed-test-issues

$ section_start "flaky-test-issues" "Report test flakiness" # collapsed multi-line command
section_start:1732241426:flaky-test-issues[collapsed=true]
Report test flakiness
Not reporting test flakiness because 'rspec/rspec-retry-8442485313.json' is missing!
section_end:1732241426:flaky-test-issues

$ section_start "slow-test-issues" "Report test slowness" # collapsed multi-line command
section_start:1732241426:slow-test-issues[collapsed=true]
Report test slowness
Reporting tests in `rspec/rspec-*.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Processing 2338 tests in rspec/rspec-8442485313.json
 => Reported 0 slow tests.
section_end:1732241428:slow-test-issues

$ section_start "slow-test-merge-request-report-note" "Report test slowness in MR note" # collapsed multi-line command
section_start:1732241428:slow-test-merge-request-report-note[collapsed=true]
Report test slowness in MR note
Not reporting test slowness in MR note because $ADD_SLOW_TEST_NOTE_TO_MERGE_REQUEST != 'true'
section_end:1732241428:slow-test-merge-request-report-note

$ section_start "knapsack-report-issues" "Report test files close to timing out" # collapsed multi-line command
section_start:1732241428:knapsack-report-issues[collapsed=true]
Report test files close to timing out
Reporting spec file exceeding Knapsack expectaton issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Reporting 0 spec files exceeding Knapsack expectation.
section_end:1732241431:knapsack-report-issues

$ tooling/bin/push_job_metrics || true
[job-metrics] Pushing job metrics file for the CI/CD job.
[job-metrics] Pushed 4 CI job metric entries to InfluxDB.
section_end:1732241433:after_script
section_start:1732241433:archive_cache
Saving cache for successful job
Not uploading cache ruby-gems-debian-bookworm-ruby-3.2.5-gemfile-Gemfile-21 due to policy
section_end:1732241433:archive_cache
section_start:1732241433:upload_artifacts_on_success
Uploading artifacts for successful job
Uploading artifacts...
auto_explain/: found 3 matching artifact files and directories 
coverage/: found 5 matching artifact files and directories 
WARNING: crystalball/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 
WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 
knapsack/: found 4 matching artifact files and directories 
rspec/: found 12 matching artifact files and directories 
WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 
log/*.log: found 16 matching artifact files and directories 
WARNING: Upload request redirected                  location=https://gitlab.com/api/v4/jobs/8442485313/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com
WARNING: Retrying...                                context=artifacts-uploader error=request redirected
Uploading artifacts as "archive" to coordinator... 201 Created  id=8442485313 responseStatus=201 Created token=glcbt-66
Uploading artifacts...
rspec/rspec-*.xml: found 1 matching artifact files and directories 
WARNING: Upload request redirected                  location=https://gitlab.com/api/v4/jobs/8442485313/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com
WARNING: Retrying...                                context=artifacts-uploader error=request redirected
Uploading artifacts as "junit" to coordinator... 201 Created  id=8442485313 responseStatus=201 Created token=glcbt-66
section_end:1732241439:upload_artifacts_on_success
section_start:1732241439:cleanup_file_variables
Cleaning up project directory and file based variables
section_end:1732241440:cleanup_file_variables
Job succeeded