Running with gitlab-runner 16.8.0~beta.67.gb5664e8e (b5664e8e)
  on blue-6.private.runners-manager.gitlab.com/gitlab.com/gitlab-org mKJTFBei, system ID: s_90a66139ec06
  feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_IMPROVED_URL_MASKING:true
section_start:1708470993:resolve_secrets
Resolving secrets
section_end:1708470993:resolve_secrets
section_start:1708470993:prepare_executor
Preparing the "docker+machine" executor
Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-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:b6c412dc298714b5c26feca1330d8f743b48caf0b1feeadfd554d7d446f985a5 for redis:6.2-alpine with digest redis@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5 ...
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.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-yarn-1.22-graphicsmagick-1.3.36 ...
Using docker image sha256:0704d2ebff510f3d6f608cd8e9064640a9dd041c4e3ac1e1ff2afb5fe22850bc for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:bbf2c8a67a31469f488a4541826628901b6eb5c0a4d68147919aca0b98107df6 ...
section_end:1708471001:prepare_executor
section_start:1708471001:prepare_script
Preparing environment
Running on runner-mkjtfbei-project-278964-concurrent-0 via runner-mkjtfbei-private-1708466991-978d2e97...
section_end:1708471001:prepare_script
section_start:1708471001:get_sources
Getting source from Git repository
Skipping Git repository setup
Skipping Git checkout
Skipping Git submodules setup
section_end:1708471002:get_sources
section_start:1708471002:restore_cache
Restoring cache
Checking cache for ruby-gems-debian-bookworm-ruby-3.1-16...
cache.zip is up to date                            
Successfully extracted cache
section_end:1708471017:restore_cache
section_start:1708471017:download_artifacts
Downloading artifacts
Downloading artifacts for clone-gitlab-repo (6218670526)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6218670526 responseStatus=200 OK token=glcbt-65
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 (6218670555)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6218670555 responseStatus=200 OK token=glcbt-65
Downloading artifacts for retrieve-tests-metadata (6218670576)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6218670576 responseStatus=200 OK token=glcbt-65
Downloading artifacts for setup-test-env (6218670568)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6218670568 responseStatus=200 OK token=glcbt-65
section_end:1708471051:download_artifacts
section_start:1708471051:step_script
Executing "step_script" stage of the job script
Using docker image sha256:0704d2ebff510f3d6f608cd8e9064640a9dd041c4e3ac1e1ff2afb5fe22850bc for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:bbf2c8a67a31469f488a4541826628901b6eb5c0a4d68147919aca0b98107df6 ...
$ 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
$ source scripts/prepare_build.sh
section_start:1708471051:bundle-install[collapsed=true]
Installing gems
3.4.4
Bundler version 2.4.4
Successfully installed bundler-2.4.11
1 gem installed
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

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...
Using rake 13.0.6
Using rexml 3.2.6
Using CFPropertyList 3.0.5
Using RedCloth 4.3.3
Using faraday-em_http 1.0.0
Using faraday-em_synchrony 1.0.0
Using faraday-excon 1.1.0
Using faraday-httpclient 1.0.1
Using multipart-post 2.2.3
Using faraday-multipart 1.0.4
Using faraday-net_http 1.0.1
Using faraday-net_http_persistent 1.2.0
Using faraday-patron 1.0.0
Using faraday-rack 1.0.0
Using faraday-retry 1.0.3
Using ruby2_keywords 0.0.5
Using faraday 1.10.0
Using acme-client 2.0.11
Using concurrent-ruby 1.2.2
Using i18n 1.14.1
Using minitest 5.11.3
Using tzinfo 2.0.6
Using activesupport 7.0.8
Using builder 3.2.4
Using erubi 1.12.0
Using racc 1.6.2
Using nokogiri 1.16.0 (x86_64-linux)
Using rails-dom-testing 2.0.3
Using crass 1.0.6
Using loofah 2.22.0
Using rails-html-sanitizer 1.6.0
Using actionview 7.0.8
Using rack 2.2.8
Using rack-test 2.1.0
Using actionpack 7.0.8
Using nio4r 2.7.0
Using websocket-extensions 0.1.5
Using websocket-driver 0.7.6
Using actioncable 7.0.8
Using globalid 1.1.0
Using activejob 7.0.8
Using activemodel 7.0.8
Using activerecord 7.0.8
Using marcel 1.0.2
Using mini_mime 1.1.2
Using activestorage 7.0.8
Using date 3.3.3
Using timeout 0.3.2
Using net-protocol 0.1.3
Using net-imap 0.3.4
Using net-pop 0.1.2
Using net-smtp 0.3.3
Using mail 2.8.1
Using actionmailbox 7.0.8
Using actionmailer 7.0.8
Using actiontext 7.0.8
Using pg 1.5.4
Using activerecord-explain-analyze 0.1.0
Using activerecord-gitlab 0.2.0 from source at `gems/activerecord-gitlab`
Using acts-as-taggable-on 10.0.0
Using public_suffix 5.0.0
Using addressable 2.8.1
Using aes_key_wrap 1.1.0
Using akismet 3.0.0
Using http-accept 1.7.0
Using unf_ext 0.0.8.2
Using unf 0.1.4
Using domain_name 0.5.20190701
Using http-cookie 1.0.5
Using mime-types-data 3.2023.1003
Using mime-types 3.5.1
Using netrc 0.11.0
Using rest-client 2.1.0
Using aliyun-sdk 0.8.0
Using sexp_processor 4.17.1
Using ruby_parser 3.21.0
Using protocol 2.0.0
Using mize 0.4.1
Using sync 0.5.0
Using tins 1.31.1
Using amatch 0.4.1
Using android_key_attestation 0.3.0
Using graphql 2.2.5
Using apollo_upload_server 2.1.5
Using jwt 2.5.0
Using app_store_connect 0.29.0
Using arr-pm 0.0.12
Using asciidoctor 2.0.18
Using asciidoctor-include-ext 0.4.0
Using asciidoctor-kroki 0.8.0
Using asciidoctor-plantuml 0.0.16
Using ast 2.4.2
Using atlassian-jwt 0.2.1
Using encryptor 3.0.0
Using attr_encrypted 3.2.4 from source at `vendor/gems/attr_encrypted`
Using attr_required 1.0.1
Using execjs 2.8.1
Using autoprefixer-rails 10.2.5.1
Using awesome_print 1.9.2
Using awrence 1.2.1
Using aws-eventstream 1.3.0
Using aws-partitions 1.877.0
Using aws-sigv4 1.8.0
Using base64 0.2.0
Using jmespath 1.6.2
Using aws-sdk-core 3.191.2
Using aws-sdk-cloudformation 1.41.0
Using aws-sdk-kms 1.76.0
Using aws-sdk-s3 1.143.0
Using dumb_delegator 1.0.0
Using thread_safe 0.3.6
Using descendants_tracker 0.0.4
Using ice_nine 0.11.2
Using axiom-types 0.1.1
Using coercible 1.0.0
Using virtus 2.0.0
Using axe-core-api 4.8.0
Using axe-core-rspec 4.8.0
Using faraday_middleware 1.2.0
Using connection_pool 2.4.1
Using net-http-persistent 4.0.1
Using azure-storage-common 2.0.4
Using azure-storage-blob 2.0.3
Using babosa 2.0.0
Using base32 0.3.2
Using batch-loader 2.0.1
Using bcrypt 3.1.18
Using benchmark-ips 2.11.0
Using benchmark-malloc 0.2.0
Using memory_profiler 1.0.1
Using benchmark-memory 0.2.0
Using benchmark-perf 0.6.0
Using benchmark-trend 0.4.0
Using bindata 2.4.11
Using debug_inspector 1.1.0
Using binding_of_caller 1.0.0
Using msgpack 1.5.4
Using bootsnap 1.18.3
Using browser 5.3.1
Using uniform_notifier 1.16.0
Using bullet 7.1.2
Using bundler 2.4.11
Using thor 1.3.0
Using bundler-audit 0.9.1
Using bundler-checksum 0.1.0 from source at `vendor/gems/bundler-checksum` and installing its executables
Using byebug 11.1.3
Using matrix 0.4.2
Using regexp_parser 2.6.0
Using xpath 3.2.0
Using capybara 3.40.0
Using launchy 2.5.0
Using capybara-screenshot 1.0.26
Using ssrf_filter 1.0.8
Using carrierwave 1.3.4
Using cbor 0.5.9.6
Using character_set 1.8.0
Using charlock_holmes 0.7.7
Using chef-utils 18.3.0
Using fuzzyurl 0.9.0
Using tomlrb 1.3.0
Using mixlib-config 3.0.27
Using mixlib-shellout 3.2.7
Using chef-config 18.3.0
Using chunky_png 1.4.0
Using circuitbox 2.0.0
Using citrus 3.0.2
Using claide 1.1.0
Using colored2 3.1.2
Using cork 0.3.0
Using nap 1.1.0
Using open4 1.3.4
Using claide-plugins 0.9.2
Using json 2.6.3
Using click_house-client 0.1.0 from source at `gems/click_house-client`
Using google-protobuf 3.25.3 (x86_64-linux)
Using googleapis-common-protos-types 1.5.0
Using grpc 1.60.0 (x86_64-linux)
Using googleapis-common-protos 1.4.0
Using multi_json 1.14.1
Using os 1.1.4
Using signet 0.18.0
Using googleauth 1.8.1
Using gapic-common 0.20.0
Using google-cloud-errors 1.3.0
Using google-cloud-profiler-v2 0.4.0
Using stackprof 0.2.25
Using cloud_profiler_agent 0.0.1.pre from source at `vendor/gems/cloud_profiler_agent`
Using coderay 1.1.3
Using commonmarker 0.23.10
Using openssl 3.1.0
Using openssl-signature_algorithm 1.3.0
Using cose 1.3.0
Using i18n_data 0.13.1
Using sixarm_ruby_unaccent 1.2.0
Using countries 4.0.1
Using safe_yaml 1.0.4
Using crack 0.4.3
Using creole 0.5.0
Using rchardet 1.8.0
Using git 1.18.0
Using crystalball 0.7.0
Using css_parser 1.14.0
Using method_source 1.0.0
Using zeitwerk 2.6.7
Using railties 7.0.8
Using cssbundling-rails 1.3.3
Using csv_builder 0.1.0 from source at `gems/csv_builder`
Using cvss-suite 3.0.1
Using faraday-http-cache 2.5.0
Using kramdown 2.3.2
Using kramdown-parser-gfm 1.1.0
Using no_proxy_fix 0.1.2
Using sawyer 0.9.2
Using octokit 8.0.0
Using unicode-display_width 2.4.2
Using terminal-table 3.0.2
Using danger 9.4.2
Using multi_xml 0.6.0
Using httparty 0.21.0
Using gitlab 4.19.0
Using danger-gitlab 8.0.0
Using dartsass 1.49.8
Using database_cleaner-core 2.0.1
Using database_cleaner-active_record 2.1.0
Using dead_end 3.1.1
Using deb_version 1.0.2
Using html-pipeline 2.14.3
Using deckar01-task_list 2.3.3
Using declarative 0.0.20
Using declarative_policy 1.1.0
Using deprecation_toolkit 1.5.1
Using ffi 1.15.5
Using get_process_mem 0.2.7
Using heapy 0.2.0
Using mini_histogram 0.3.1
Using ruby-statistics 3.0.0
Using derailed_benchmarks 2.1.2
Using devfile 0.0.25.pre.alpha1 (x86_64-linux)
Using device_detector 1.0.0
Using orm_adapter 0.5.0
Using responders 3.0.1
Using warden 1.2.9
Using devise 4.9.3
Using rotp 6.3.0
Using devise-two-factor 4.1.1
Using devise-pbkdf2-encryptable 0.0.0 from source at `vendor/gems/devise-pbkdf2-encryptable`
Using diff-lcs 1.5.0
Using diff_match_patch 0.1.0 from source at `vendor/gems/diff_match_patch`
Using diffy 3.4.2
Using digest-crc 0.6.5
Using discordrb-webhooks 3.4.2
Using docile 1.4.0
Using doorkeeper 5.6.6
Using doorkeeper-openid_connect 1.8.7
Using dotenv 2.7.6
Using dry-cli 1.0.0
Using dry-core 1.0.1
Using dry-inflector 1.0.0
Using dry-logic 1.5.0
Using dry-types 1.7.1
Using duo_api 1.3.0
Using ecma-re-validator 0.3.0
Using ed25519 1.3.0
Using elasticsearch-api 7.13.3
Using elasticsearch-transport 7.13.3
Using elasticsearch 7.13.3
Using hashie 5.0.0
Using elasticsearch-model 7.2.0
Using elasticsearch-rails 7.2.1
Using email_reply_trimmer 0.1.6
Using htmlentities 4.3.4
Using email_spec 2.2.0
Using ethon 0.16.0
Using typhoeus 1.4.0
Using error_tracking_open_api 1.0.0 from source at `gems/error_tracking_open_api`
Using escape_utils 1.3.0
Using et-orbi 1.2.7
Using excon 0.99.0
Using parslet 1.8.2
Using expgen 0.1.1
Using expression_parser 0.9.0
Using extended-markdown-filter 0.7.0
Using factory_bot 6.4.5
Using factory_bot_rails 6.4.3
Using faraday_middleware-aws-sigv4 0.3.0
Using fast_blank 1.0.1
Using fast_gettext 2.3.0
Using ffaker 2.10.0
Using ffi-compiler 1.0.1
Using libyajl2 2.1.0
Using ffi-yajl 2.6.0
Using find_a_port 1.0.1
Using flipper 0.26.2
Using flipper-active_record 0.26.2
Using flipper-active_support_cache_store 0.26.2
Using formatador 0.2.5
Using fog-core 2.1.0
Using fog-json 1.2.0
Using ipaddress 0.8.3
Using xml-simple 1.1.9
Using fog-aliyun 0.4.0
Using fog-xml 0.1.3
Using fog-aws 3.18.0
Using httpclient 2.8.3
Using trailblazer-option 0.1.2
Using uber 0.1.0
Using representable 3.2.0
Using retriable 3.1.2
Using webrick 1.8.1
Using google-apis-core 0.11.2
Using google-apis-compute_v1 0.57.0
Using google-apis-dns_v1 0.28.0
Using google-apis-iamcredentials_v1 0.15.0
Using google-apis-monitoring_v3 0.37.0
Using google-apis-pubsub_v1 0.30.0
Using google-apis-sqladmin_v1beta4 0.41.0
Using google-apis-storage_v1 0.29.0
Using google-cloud-env 1.6.0
Using fog-google 1.19.0
Using fog-local 0.8.0
Using forwardable 1.3.3
Using raabro 1.4.0
Using fugit 1.8.1
Using rspec-support 3.12.0
Using rspec-core 3.12.2
Using ruby-progressbar 1.11.0
Using fuubar 2.2.0
Using gemoji 3.0.1
Using locale 2.1.3
Using singleton 0.1.1
Using prime 0.1.2
Using text 1.3.1
Using gettext 3.4.9
Using gettext_i18n_rails 1.11.0
Using gitaly 16.9.0.pre.rc3
Using gitlab-backup-cli 0.0.1 from source at `gems/gitlab-backup-cli`
Using numerizer 0.2.0
Using gitlab-chronic 0.10.5
Using gitlab-dangerfiles 4.6.0
Using request_store 1.5.1
Using gitlab-experiment 0.9.1
Using gitlab-fog-azure-rm 1.8.0
Using rb_sys 0.9.86
Using gitlab-glfm-markdown 0.0.13 (x86_64-linux)
Using language_server-protocol 3.17.0.3
Using parallel 1.22.1
Using parser 3.3.0.2
Using rainbow 3.1.1
Using rubocop-ast 1.29.0
Using rubocop 1.57.2
Using gitlab-housekeeper 0.1.0 from source at `gems/gitlab-housekeeper` and installing its executables
Using gitlab-http 0.1.0 from source at `gems/gitlab-http`
Using opentracing 0.5.0
Using thrift 0.16.0
Using jaeger-client 1.1.0
Using pg_query 5.1.0
Using redis 4.8.0
Using gitlab-labkit 0.35.1
Using gitlab-license 2.4.0
Using version_gem 1.1.0
Using snaky_hash 2.0.0
Using oauth2 2.0.9
Using redis-namespace 1.10.0
Using gitlab-mail_room 0.0.24
Using gitlab-markup 1.9.0
Using gitlab-net-dns 0.9.2
Using rspec-expectations 3.12.3
Using rspec-mocks 3.12.6
Using rspec 3.12.0
Using gitlab-rspec 0.1.0 from source at `gems/gitlab-rspec`
Using gitlab-rspec_flaky 0.1.0 from source at `gems/gitlab-rspec_flaky`
Using gitlab-safe_request_store 0.1.0 from source at `gems/gitlab-safe_request_store`
Using gitlab-schema-validation 0.1.0 from source at `gems/gitlab-schema-validation`
Using snowplow-tracker 0.8.0
Using gitlab-sdk 0.3.0
Using re2 2.7.0 (x86_64-linux)
Using toml-rb 2.2.0
Using gitlab-secret_detection 0.1.0 from source at `gems/gitlab-secret_detection`
Using redis-client 0.20.0
Using sidekiq 7.1.6 from source at `vendor/gems/sidekiq-7.1.6` and installing its executables
Using gitlab-sidekiq-fetcher 0.11.0 from source at `vendor/gems/sidekiq-reliable-fetch`
Using rubocop-graphql 0.19.0
Using rubocop-performance 1.19.1
Using rubocop-rails 2.22.1
Using rubocop-capybara 2.19.0
Using rubocop-factory_bot 2.24.0
Using rubocop-rspec 2.25.0
Using gitlab-styles 11.0.0
Using gitlab-utils 0.1.0 from source at `gems/gitlab-utils`
Using gitlab_chronic_duration 0.12.0
Using net-ldap 0.17.1
Using rack-protection 2.2.2
Using omniauth 2.1.0
Using pyu-ruby-sasl 0.0.3.3
Using rubyntlm 0.6.3
Using gitlab_omniauth-ldap 2.2.0
Using http-form_data 2.3.0
Using llhttp-ffi 0.4.0
Using http 5.1.1
Using unparser 0.6.7
Using proc_to_ast 0.1.0
Using rspec-parameterized-core 1.0.0
Using rspec-parameterized-table_syntax 1.0.0
Using rspec-parameterized 1.0.0
Using table_print 1.5.7
Using gitlab_quality-test_tooling 1.15.0
Using gon 6.4.0
Using google-apis-androidpublisher_v3 0.34.0
Using google-apis-cloudbilling_v1 0.21.0
Using google-apis-cloudresourcemanager_v1 0.31.0
Using google-apis-container_v1 0.43.0
Using google-apis-container_v1beta1 0.43.0
Using google-apis-iam_v1 0.36.0
Using google-apis-serviceusage_v1 0.28.0
Using google-cloud-location 0.6.0
Using grpc-google-iam-v1 1.5.0
Using google-cloud-artifact_registry-v1 0.11.0
Using google-cloud-common 1.1.0
Using google-cloud-compute-v1 2.6.0
Using google-cloud-core 1.6.0
Using google-cloud-storage 1.45.0
Using mini_portile2 2.8.5
Using gpgme 2.0.23
Using mustermann 3.0.0
Using mustermann-grape 1.0.2
Using rack-accept 0.4.5
Using grape 2.0.0
Using grape-entity 0.10.0
Using grape-path-helpers 2.0.1
Using grape-swagger 2.0.1
Using grape-swagger-entity 0.5.1
Using grape_logging 1.8.4
Using sprockets 3.7.2
Using sprockets-rails 3.4.2
Using graphiql-rails 1.8.0
Using graphql-client 0.19.0
Using graphlient 0.6.0
Using graphlyte 1.0.0
Using graphql-docs 4.0.0
Using gssapi 1.3.1
Using rb-fsevent 0.11.2
Using rb-inotify 0.10.1
Using listen 3.7.1
Using lumberjack 1.2.7
Using nenv 0.3.0
Using shellany 0.0.1
Using notiffany 0.1.3
Using pry 0.14.2
Using guard 2.16.2
Using guard-compat 1.2.1
Using guard-rspec 4.7.3
Using temple 0.8.2
Using tilt 2.0.11
Using haml 5.2.2
Using sysexits 1.2.0
Using haml_lint 0.53.0
Using hamlit 2.15.0
Using hana 1.3.7
Using hashdiff 1.0.1
Using health_check 3.1.0
Using html2text 0.2.0
Using ice_cube 0.16.4
Using icalendar 2.8.0
Using imagen 0.1.8
Using influxdb-client 2.9.0
Using rails 7.0.8
Using invisible_captcha 2.1.0
Using ipaddr 1.2.5
Using oj 3.13.23
Using ipynbdiff 0.4.7 from source at `gems/ipynbdiff`
Using oauth 0.5.6
Using jira-ruby 2.3.0
Using regexp_property_values 1.0.0
Using js_regex 3.8.0
Using json-jwt 1.15.3
Using uri_template 0.7.0
Using json_schemer 0.2.18
Using jsonb_accessor 1.3.10
Using jsonpath 1.1.2
Using kaminari-core 1.2.2
Using kaminari-actionview 1.2.2
Using kaminari-activerecord 1.2.2
Using kaminari 1.2.2
Using kas-grpc 0.4.0
Using knapsack 1.21.1
Using recursive-open-struct 1.1.3
Using kubeclient 4.11.0
Using rubyzip 2.3.2
Using with_env 1.1.0
Using license_finder 7.0.1
Using reverse_markdown 1.4.0
Using rugged 1.6.3
Using licensee 9.16.1
Using lockbox 1.3.0
Using lograge 0.11.2
Using lru_redux 1.1.0
Using mail-smtp_pool 0.1.0 from source at `vendor/gems/mail-smtp_pool`
Using marginalia 1.11.1
Using microsoft_graph_mailer 0.1.0 from source at `vendor/gems/microsoft_graph_mailer`
Using mini_magick 4.10.1
Using mixlib-cli 2.1.8
Using mixlib-log 3.0.9
Using murmurhash3 0.1.7
Using neighbor 0.2.3
Using uri 0.13.0
Using net-http 0.1.1
Using net-ntp 2.1.3
Using net-ssh 7.2.0
Using net-scp 4.0.0
Using plist 3.7.0
Using train-core 3.10.8
Using wmi-lite 1.0.7
Using ohai 18.1.3
Using oj-introspect 0.7.2
Using omniauth-oauth2 1.8.0
Using omniauth-alicloud 3.0.0
Using omniauth-atlassian-oauth2 0.2.0
Using omniauth-auth0 3.1.0
Using omniauth-azure-activedirectory-v2 2.0.0
Using omniauth-azure-oauth2 0.0.10 from source at `vendor/gems/omniauth-azure-oauth2`
Using omniauth-dingtalk-oauth2 1.0.1
Using omniauth-facebook 4.0.0
Using omniauth-github 2.0.1
Using omniauth-gitlab 4.0.0 from source at `vendor/gems/omniauth-gitlab`
Using omniauth-google-oauth2 1.1.1
Using omniauth-oauth 1.2.0
Using omniauth-oauth2-generic 0.2.8
Using omniauth-salesforce 1.0.5 from source at `vendor/gems/omniauth-salesforce`
Using ruby-saml 1.15.0
Using omniauth-saml 2.1.0
Using omniauth-shibboleth-redux 2.0.0
Using omniauth-twitter 1.4.0
Using omniauth_crowd 2.4.0 from source at `vendor/gems/omniauth_crowd`
Using rack-oauth2 1.21.3
Using swd 1.3.0
Using validate_email 0.1.6
Using validate_url 1.0.15
Using webfinger 1.2.0
Using openid_connect 1.3.0
Using omniauth_openid_connect 0.6.1
Using optimist 3.0.1
Using rubypants 0.2.0
Using org-ruby 0.9.12
Using pact-support 1.20.0
Using pact-mock_service 3.11.2
Using term-ansicolor 1.7.1
Using pact 1.64.0
Using tty-color 0.6.0
Using pastel 0.8.0
Using peek 1.1.0
Using png_quantizator 0.2.1
Using premailer 1.16.0
Using premailer-rails 1.10.3
Using prometheus-client-mmap 1.1.1 (x86_64-linux)
Using pry-byebug 3.10.1
Using pry-rails 0.3.9
Using rouge 4.2.0
Using strings-ansi 0.2.0
Using unicode_utils 1.4.0
Using strings 0.2.1
Using tty-screen 0.8.1
Using tty-markdown 0.7.2
Using tty-cursor 0.7.1
Using wisper 2.0.1
Using tty-reader 0.9.0
Using tty-prompt 0.23.1
Using pry-shell 0.6.4
Using puma 6.4.0
Using rack-attack 6.7.0
Using rack-cors 2.0.1
Using rack-proxy 0.7.7
Using rack-session 1.0.2
Using rack-timeout 0.6.3
Using rails-controller-testing 1.0.5
Using rails-i18n 7.0.3
Using rbtrace 0.4.14
Using recaptcha 5.12.3
Using redis-store 1.10.0
Using redis-rack 3.0.0
Using redis-actionpack 5.4.0
Using rinku 2.0.0
Using rqrcode_core 1.2.0
Using rqrcode 2.2.0
Using rspec-benchmark 0.6.0
Using rspec-rails 6.1.0
Using rspec-retry 0.6.2
Using rspec_junit_formatter 0.6.0
Using sqlite3 1.6.0 (x86_64-linux)
Using rspec_profiling 0.0.6
Using ruby-fogbugz 0.3.0
Using ruby-magic 0.6.0
Using ruby-openai 3.7.0
Using safety_net_attestation 0.4.0
Using sanitize 6.0.2
Using sassc 2.4.0
Using sassc-rails 2.1.2
Using sd_notify 0.1.1
Using seed-fu 2.3.7
Using websocket 1.2.10
Using selenium-webdriver 4.17.0
Using tty-command 0.10.1
Using semver_dialects 1.6.1
Using sentry-ruby 5.10.0
Using sentry-rails 5.10.0
Using sentry-raven 3.1.2
Using sentry-sidekiq 5.10.0
Using shoulda-matchers 5.1.0
Using sidekiq-cron 1.12.0
Using sigdump 0.2.4
Using simple_po_parser 1.1.6
Using simplecov-html 0.12.3
Using simplecov_json_formatter 0.1.4
Using simplecov 0.22.0
Using simplecov-cobertura 2.1.0
Using simplecov-lcov 0.8.0
Using slack-messenger 2.3.4
Using spamcheck 1.3.0
Using spring 4.1.0
Using spring-commands-rspec 1.0.4
Using ssh_data 1.3.0
Using state_machines 0.5.0
Using state_machines-activemodel 0.8.0
Using state_machines-activerecord 0.8.0
Using sys-filesystem 1.4.3
Using tanuki_emoji 0.9.0
Using telesign 2.2.4
Using telesignenterprise 2.2.2
Using terser 1.0.2
Using test-prof 1.3.1
Using test_file_finder 0.2.1
Using timfel-krb5-auth 0.8.3
Using tpm-key_attestation 0.12.0
Using truncato 0.7.12
Using undercover 0.4.6
Using unleash 3.2.2
Using valid_email 0.1.3
Using validates_hostname 1.0.13
Using version_sorter 2.3.0
Using view_component 3.8.0
Using vite_ruby 3.5.0
Using vite_rails 3.0.17
Using vmstat 2.3.0
Using warning 1.3.0
Using webauthn 3.0.0
Using webmock 3.20.0
Using wikicloth 0.8.1
Using yajl-ruby 1.4.3
Bundle complete! 332 Gemfile dependencies, 647 gems now installed.
Gems in the groups 'production' and 'development' were not installed.
Bundled gems are installed into `./vendor`
2 installed gems you directly depend on are looking for funding.
  Run `bundle fund` for details
==> 'bundle install --jobs=$(nproc) --retry=3 ' succeeded in 1 seconds.
$ bundle pristine pg
Patching bundler with bundler-checksum...
Installing pg 1.5.4 with native extensions
==> 'bundle pristine pg' succeeded in 12 seconds.
section_end:1708471067: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:1708471067: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
Dropped database 'gitlabhq_test'
Dropped database 'gitlabhq_test_ci'
Created database 'gitlabhq_test'
Created database 'gitlabhq_test_ci'
INFO:  analyzing "public.p_ci_runner_machine_builds" inheritance tree
INFO:  analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100"
INFO:  "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101"
INFO:  "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "public.p_ci_job_annotations" inheritance tree
INFO:  analyzing "gitlab_partitions_dynamic.ci_job_annotations_100"
INFO:  "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_job_annotations_101"
INFO:  "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "public.p_ci_builds_metadata" inheritance tree
INFO:  analyzing "public.ci_builds_metadata"
INFO:  "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101"
INFO:  "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "public.p_ci_builds" inheritance tree
INFO:  analyzing "public.ci_builds"
INFO:  "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_builds_101"
INFO:  "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "public.p_ci_runner_machine_builds" inheritance tree
INFO:  analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100"
INFO:  "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101"
INFO:  "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "public.p_ci_job_annotations" inheritance tree
INFO:  analyzing "gitlab_partitions_dynamic.ci_job_annotations_100"
INFO:  "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_job_annotations_101"
INFO:  "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "public.p_ci_builds_metadata" inheritance tree
INFO:  analyzing "public.ci_builds_metadata"
INFO:  "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101"
INFO:  "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "public.p_ci_builds" inheritance tree
INFO:  analyzing "public.ci_builds"
INFO:  "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
INFO:  analyzing "gitlab_partitions_dynamic.ci_builds_101"
INFO:  "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows
==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 47 seconds.
SELECT pg_catalog.set_config('search_path', '', false);
CREATE DATABASE praefect_test ENCODING 'UTF8';
section_end:1708471115: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:1708471116: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:1708471119: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_parallelized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request"
[23:18:40] 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_31_32_278964_report.json
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json
FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg14_31_32_278964_report.json
NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg14_31_32_278964_report.json
RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-6218670805.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 43 minutes 45.02 seconds.
Expected duration for tests:

{
  "spec/lib/gitlab/background_migration/backfill_environment_tiers_spec.rb": 278.82254817411575,
  "spec/models/deployment_spec.rb": 268.4695275371425,
  "spec/models/namespace/traversal_hierarchy_spec.rb": 145.72888803238374,
  "spec/services/projects/create_service_spec.rb": 120.4579954185158,
  "spec/lib/banzai/filter/repository_link_filter_spec.rb": 91.98475253629094,
  "spec/services/suggestions/apply_service_spec.rb": 81.90323289789274,
  "spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb": 75.45514784434287,
  "spec/policies/note_policy_spec.rb": 62.84805828724116,
  "spec/serializers/merge_request_widget_entity_spec.rb": 60.05500500468301,
  "spec/lib/gitlab/health_checks/redis_spec.rb": 52.47453848109947,
  "spec/models/gpg_key_spec.rb": 45.329828252968994,
  "spec/helpers/submodule_helper_spec.rb": 42.111838786349225,
  "spec/models/abuse_report_spec.rb": 37.50143744490945,
  "spec/lib/gitlab/database/reflection_spec.rb": 36.43206131586344,
  "spec/services/users/destroy_service_spec.rb": 32.60132443149867,
  "spec/models/ci/build_runner_session_spec.rb": 31.474435742710437,
  "spec/lib/banzai/pipeline/wiki_pipeline_spec.rb": 30.618114038816504,
  "spec/models/integrations/bamboo_spec.rb": 27.792985638753848,
  "spec/finders/members_finder_spec.rb": 27.246231661836248,
  "spec/models/timelog_spec.rb": 26.200644389340432,
  "spec/models/project_setting_spec.rb": 24.76288783452521,
  "spec/models/release_spec.rb": 23.361604613483287,
  "spec/lib/gitlab/ci/config/external/mapper/verifier_spec.rb": 23.009402041553052,
  "spec/services/projects/participants_service_spec.rb": 21.70506039780068,
  "spec/services/ci/pipeline_trigger_service_spec.rb": 21.432237671370913,
  "spec/lib/api/helpers/caching_spec.rb": 20.360998825446345,
  "spec/lib/gitlab/email/receiver_spec.rb": 19.908352920525058,
  "spec/services/alert_management/alerts/update_service_spec.rb": 19.136197511295375,
  "spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb": 18.255850866495024,
  "spec/services/security/merge_reports_service_spec.rb": 17.53324435297675,
  "spec/lib/gitlab/utils/sanitize_node_link_spec.rb": 17.211179145836457,
  "spec/lib/gitlab/ci/ansi2html_spec.rb": 16.532710066176072,
  "spec/helpers/appearances_helper_spec.rb": 16.02352017674297,
  "spec/services/issue_links/create_service_spec.rb": 15.62188789034832,
  "spec/models/service_desk_setting_spec.rb": 15.264591759214774,
  "spec/models/work_items/type_spec.rb": 14.67786488388469,
  "spec/uploaders/terraform/state_uploader_spec.rb": 14.332534335286336,
  "spec/services/merge_requests/post_merge_service_spec.rb": 13.933583782282758,
  "spec/finders/access_requests_finder_spec.rb": 13.591770289863257,
  "spec/services/users/update_service_spec.rb": 13.170620438158295,
  "spec/services/issues/referenced_merge_requests_service_spec.rb": 12.882634877638807,
  "spec/lib/gitlab/slash_commands/issue_move_spec.rb": 12.413158583722383,
  "spec/models/concerns/schedulable_spec.rb": 12.00424925127405,
  "spec/lib/gitlab/import_export/project/import_task_spec.rb": 11.97396012422989,
  "spec/lib/extracts_ref/ref_extractor_spec.rb": 11.467224760489819,
  "spec/lib/gitlab/regex/container_registry/protection/rules_spec.rb": 11.200321681487548,
  "spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb": 11.136294023615472,
  "spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb": 10.63464791415585,
  "spec/lib/gitlab/usage_data_counters/kubernetes_agent_counter_spec.rb": 10.60389079947474,
  "spec/finders/clusters/agents/authorizations/ci_access/finder_spec.rb": 10.244798128896832,
  "spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb": 10.041285370820933,
  "spec/lib/gitlab/chat/command_spec.rb": 9.808104601137245,
  "spec/lib/api/ml/mlflow/api_helpers_spec.rb": 9.65698259702948,
  "spec/services/todos/destroy/confidential_issue_service_spec.rb": 9.268716604112932,
  "spec/workers/delete_user_worker_spec.rb": 9.196799482745668,
  "spec/services/files/update_service_spec.rb": 9.064110817565902,
  "spec/lib/gitlab/database/count_spec.rb": 8.742722005645076,
  "spec/lib/gitlab/background_migration/delete_invalid_protected_branch_merge_access_levels_spec.rb": 8.691976589604074,
  "spec/lib/gitlab/ci/reports/codequality_reports_comparer_spec.rb": 8.395581757248811,
  "spec/services/commits/tag_service_spec.rb": 8.334257574479109,
  "spec/lib/gitlab/hotlinking_detector_spec.rb": 8.169075233998347,
  "spec/lib/bulk_imports/common/pipelines/lfs_objects_pipeline_spec.rb": 7.9973029297271685,
  "spec/lib/gitlab/spamcheck/client_spec.rb": 7.9069701975335756,
  "spec/lib/gitlab/checks/lfs_integrity_spec.rb": 7.7566032594972665,
  "spec/components/pajamas/toggle_component_spec.rb": 7.620481382064051,
  "spec/lib/bitbucket/representation/pull_request_spec.rb": 7.425287619500303,
  "spec/models/oauth_access_token_spec.rb": 7.339227296180028,
  "spec/tasks/gitlab/update_templates_rake_spec.rb": 7.165072925962179,
  "spec/workers/bulk_imports/pipeline_batch_worker_spec.rb": 6.9814229562471875,
  "spec/lib/banzai/filter/syntax_highlight_filter_spec.rb": 6.977984583002961,
  "spec/finders/abuse_reports_finder_spec.rb": 6.74846846383055,
  "spec/services/clusters/agent_tokens/revoke_service_spec.rb": 6.7389507103382895,
  "spec/lib/gitlab/ci/status/build/retried_spec.rb": 6.5744222678997986,
  "spec/models/diff_note_position_spec.rb": 6.4411370104670365,
  "spec/models/issue_assignee_spec.rb": 6.338639119555687,
  "spec/models/concerns/encrypted_user_password_spec.rb": 6.287571360028623,
  "spec/serializers/test_report_summary_entity_spec.rb": 6.111580082855491,
  "spec/models/legacy_diff_discussion_spec.rb": 6.021163308978436,
  "spec/lib/gitlab/metrics/boot_time_tracker_spec.rb": 5.944582516319831,
  "spec/lib/sidebars/panel_spec.rb": 5.819062334220348,
  "spec/components/pajamas/banner_component_spec.rb": 5.809791613748262,
  "spec/lib/gitlab/background_task_spec.rb": 5.6605640325948,
  "spec/initializers/rest-client-hostname_override_spec.rb": 5.639698465306093,
  "spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb": 5.485155658112614,
  "spec/lib/gitlab/repository_url_builder_spec.rb": 5.452199216115763,
  "spec/models/packages/rpm/metadatum_spec.rb": 5.322280346219733,
  "spec/lib/sidebars/user_profile/menus/following_menu_spec.rb": 5.2326077854766755,
  "spec/services/groups/nested_create_service_spec.rb": 5.199657980026577,
  "spec/workers/external_service_reactive_caching_worker_spec.rb": 5.09008427370697,
  "spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb": 4.985397184009255,
  "spec/graphql/types/snippets/blob_viewer_type_spec.rb": 4.971924880183036,
  "spec/finders/projects/topics_finder_spec.rb": 4.851416329699534,
  "spec/services/incident_management/link_alerts/destroy_service_spec.rb": 4.794195340040948,
  "spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb": 4.686846438894317,
  "spec/graphql/resolvers/alert_management/http_integrations_resolver_spec.rb": 4.653667020673409,
  "spec/lib/gitlab/metrics/subscribers/external_http_spec.rb": 4.5817671806551505,
  "spec/lib/gitlab/github_import/importer/events/commented_spec.rb": 4.509284541331121,
  "spec/lib/gitlab/github_import/settings_spec.rb": 4.444420165497581,
  "spec/lib/bulk_imports/groups/loaders/group_loader_spec.rb": 4.373604041032773,
  "spec/graphql/types/ci/pipeline_counts_type_spec.rb": 4.303059089985875,
  "spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb": 4.238796896599954,
  "spec/services/projects/detect_repository_languages_service_spec.rb": 4.227087176453817,
  "spec/lib/bitbucket_server/representation/comment_spec.rb": 4.1426726896100226,
  "spec/lib/gitlab/zentao/query_spec.rb": 4.128953509940041,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_jira_imports_metric_spec.rb": 4.011703463831454,
  "spec/lib/gitlab/github_import/attachments_downloader_spec.rb": 3.999229300475034,
  "spec/lib/gitlab/background_migration/populate_topics_slug_column_spec.rb": 3.9229269109027816,
  "spec/workers/database/lock_tables_worker_spec.rb": 3.905636076444689,
  "spec/lib/gitlab/database/count/exact_count_strategy_spec.rb": 3.8153285687056995,
  "spec/lib/gitlab/alert_management/fingerprint_spec.rb": 3.8117573512347516,
  "spec/lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations_spec.rb": 3.723557671246655,
  "spec/lib/gitlab/composer/version_index_spec.rb": 3.7010665324770082,
  "spec/models/work_items/widgets/award_emoji_spec.rb": 3.6566037289385025,
  "spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb": 3.6014959370443966,
  "spec/helpers/sessions_helper_spec.rb": 3.5711016729128806,
  "spec/models/raw_usage_data_spec.rb": 3.4859291930017102,
  "spec/services/ml/create_candidate_service_spec.rb": 3.472006504088038,
  "spec/serializers/merge_requests/pipeline_entity_spec.rb": 3.394436905548067,
  "spec/rubocop/cop/usage_data/large_table_spec.rb": 3.390365858143271,
  "spec/services/ci/compare_accessibility_reports_service_spec.rb": 3.305126670748454,
  "spec/finders/packages/npm/packages_for_user_finder_spec.rb": 3.3022915304429707,
  "spec/models/snippet_blob_spec.rb": 3.264739325857605,
  "spec/lib/gitlab/cache/metadata_spec.rb": 3.176344049247689,
  "spec/models/integrations/chat_message/base_message_spec.rb": 3.1728600359983203,
  "spec/workers/concerns/click_house_worker_spec.rb": 3.1005411062968165,
  "spec/workers/incident_management/close_incident_worker_spec.rb": 3.081405732165657,
  "spec/models/abuse/event_spec.rb": 3.0290262997106154,
  "spec/lib/sidebars/user_settings/menus/comment_templates_menu_spec.rb": 3.0102861834298396,
  "spec/models/project_custom_attribute_spec.rb": 2.9610665510741185,
  "spec/lib/gitlab/usage/metrics/instrumentations/total_count_metric_spec.rb": 2.9380962555226424,
  "spec/lib/quality/seeders/issues_spec.rb": 2.8920844691377363,
  "spec/workers/bulk_import_worker_spec.rb": 2.855370186872234,
  "spec/lib/gitlab/project_transfer_spec.rb": 2.824270947490649,
  "spec/lib/sidebars/user_settings/menus/ssh_keys_menu_spec.rb": 2.7771209286905547,
  "spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb": 2.7262100347987266,
  "spec/graphql/mutations/alert_management/http_integration/create_spec.rb": 2.6972256464075985,
  "spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb": 2.673828383735935,
  "spec/lib/gitlab/usage_data_counters/productivity_analytics_counter_spec.rb": 2.6081189394938447,
  "spec/models/concerns/ci/bulk_insertable_tags_spec.rb": 2.6039500516447593,
  "spec/lib/banzai/pipeline_spec.rb": 2.5504248897542565,
  "spec/services/packages/update_tags_service_spec.rb": 2.5318936077957788,
  "spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb": 2.4801225052342533,
  "spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb": 2.466800890293865,
  "spec/graphql/types/custom_emoji_type_spec.rb": 2.431174822752424,
  "spec/serializers/import/manifest_provider_repo_entity_spec.rb": 2.394941300813212,
  "spec/views/events/event/_push.html.haml_spec.rb": 2.346647089325206,
  "spec/lib/peek/views/external_http_spec.rb": 2.3328655911663416,
  "spec/graphql/types/color_type_spec.rb": 2.280396580845334,
  "spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb": 2.2616936386138606,
  "spec/services/ci/catalog/resources/destroy_service_spec.rb": 2.221458736096417,
  "spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb": 2.2067609043412824,
  "spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb": 2.1531149306492714,
  "spec/lib/api/helpers/version_spec.rb": 2.152320909100439,
  "spec/rubocop/cop/migration/unfinished_dependencies_spec.rb": 2.0966561183724752,
  "spec/models/external_issue_spec.rb": 2.09450574094037,
  "spec/serializers/ci/job_annotation_entity_spec.rb": 2.022258538864379,
  "spec/workers/mail_scheduler/issue_due_worker_spec.rb": 2.016481571024049,
  "spec/models/concerns/from_set_operator_spec.rb": 1.9565000031769268,
  "spec/lib/gitlab/ci/templates/Diffblue_Cover_spec.rb": 1.9546372181897393,
  "spec/serializers/merge_request_for_pipeline_entity_spec.rb": 1.9045897343000104,
  "spec/services/users/respond_to_terms_service_spec.rb": 1.901807134357277,
  "spec/graphql/types/container_repository_sort_enum_spec.rb": 1.8589497758118076,
  "spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb": 1.8307034103220328,
  "spec/lib/gitlab/seeders/ci/variables_instance_seeder_spec.rb": 1.7852353219535573,
  "spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb": 1.783884125019454,
  "spec/lib/gitlab/pages/settings_spec.rb": 1.7607266794076937,
  "spec/lib/gitlab/terraform/state_migration_helper_spec.rb": 1.7040700779310445,
  "spec/lib/gitlab/usage/metrics/instrumentations/group_imports_users_metric_spec.rb": 1.6954934996900315,
  "spec/views/groups/_home_panel.html.haml_spec.rb": 1.6632191539470997,
  "spec/lib/gitlab/git/conflict/file_spec.rb": 1.6356860681878707,
  "spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb": 1.6065147100486183,
  "spec/services/users/dismiss_callout_service_spec.rb": 1.5869022439344325,
  "spec/models/design_user_mention_spec.rb": 1.555109324117545,
  "spec/helpers/components_helper_spec.rb": 1.540732130527411,
  "spec/workers/issuables/clear_groups_issue_counter_worker_spec.rb": 1.5020065526632085,
  "spec/services/packages/nuget/odata_package_entry_service_spec.rb": 1.4954583110514033,
  "spec/lib/gitlab/database/load_balancing/resolver_spec.rb": 1.4372144071521662,
  "spec/services/incident_management/issuable_escalation_statuses/create_service_spec.rb": 1.435237272994486,
  "spec/views/projects/imports/new.html.haml_spec.rb": 1.3736715618099664,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_project_snippets_metric_spec.rb": 1.3691205363315124,
  "spec/lib/gitlab/ci/config/entry/tags_spec.rb": 1.334791698347247,
  "spec/lib/gitlab/word_diff/chunk_collection_spec.rb": 1.2996013722481972,
  "spec/services/integrations/slack_options/label_search_handler_spec.rb": 1.2732857892044587,
  "spec/lib/gitlab/sidekiq_middleware/worker_context/server_spec.rb": 1.2420630067342389,
  "spec/lib/gitlab/cycle_analytics/summary/value_spec.rb": 1.1989687834885383,
  "spec/lib/gitlab/application_rate_limiter/increment_per_action_spec.rb": 1.1880682244988703,
  "spec/lib/gitlab/database/migrations/observers/query_details_spec.rb": 1.1465457311366642,
  "spec/services/work_items/widgets/hierarchy_service/create_service_spec.rb": 1.1310562721948056,
  "spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb": 1.105492263040041,
  "spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb": 1.0769659447837006,
  "spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb": 1.048755391062216,
  "spec/lib/bitbucket/connection_spec.rb": 1.0389404353119476,
  "spec/workers/gitlab/github_import/import_note_worker_spec.rb": 1.0093367481417677,
  "spec/graphql/types/design_management/version_type_spec.rb": 0.990526375628666,
  "spec/lib/gitlab/middleware/request_context_spec.rb": 0.9682210713386605,
  "spec/graphql/types/organizations/organization_type_spec.rb": 0.9454836146551152,
  "spec/services/users/repair_ldap_blocked_service_spec.rb": 0.9106186944540089,
  "spec/views/shared/_milestones_sort_dropdown.html.haml_spec.rb": 0.8911322793482817,
  "spec/workers/users/create_statistics_worker_spec.rb": 0.859464024467705,
  "spec/graphql/types/ci/test_report_total_type_spec.rb": 0.8462455854874597,
  "spec/validators/html_safety_validator_spec.rb": 0.8219338465975858,
  "spec/lib/gitlab/sidekiq_middleware/pause_control/server_spec.rb": 0.7980450693836451,
  "spec/lib/gitlab/ci/pipeline/expression/lexeme/null_spec.rb": 0.7700240590576058,
  "spec/views/projects/issues/_related_issues.html.haml_spec.rb": 0.7433463722163987,
  "spec/lib/gitlab/usage/metrics/instrumentations/installation_type_metric_spec.rb": 0.7074831171742979,
  "spec/graphql/types/release_source_type_spec.rb": 0.6949573221519392,
  "spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb": 0.6666996872175002,
  "spec/graphql/types/member_access_level_enum_spec.rb": 0.6592361800246025,
  "spec/lib/sidebars/projects/super_sidebar_menus/code_menu_spec.rb": 0.6380566916191391,
  "spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb": 0.6312443641076176,
  "spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb": 0.6092787408530937,
  "spec/lib/api/entities/nuget/dependency_group_spec.rb": 0.6059109547771904,
  "spec/lib/gitlab/database/async_ddl_exclusive_lease_guard_spec.rb": 0.5727971618887733,
  "spec/graphql/types/security/codequality_reports_comparer/status_enum_spec.rb": 0.5704628678676877,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb": 0.500801094396613,
  "spec/lib/gitlab/kubernetes/generic_secret_spec.rb": 0.4992983322432084,
  "spec/lib/gitlab/ci/pipeline/metrics_spec.rb": 0.4524233692976769,
  "spec/initializers/rack_VULNDB-255039_patch_spec.rb": 0.447348318612783,
  "spec/lib/gitlab/import_export/model_configuration_spec.rb": 0.428598789348653,
  "spec/graphql/types/container_repository_cleanup_status_enum_spec.rb": 0.4128772534976522,
  "spec/graphql/types/project_statistics_redirect_type_spec.rb": 0.41190708745626126,
  "spec/lib/gitlab/kubernetes/role_binding_spec.rb": 0.3933777634656913,
  "spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb": 0.3888888692798697
}

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-6218670805.json --format RspecJunitFormatter --out rspec/rspec-6218670805.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request -- spec/lib/gitlab/background_migration/backfill_environment_tiers_spec.rb spec/models/deployment_spec.rb spec/models/namespace/traversal_hierarchy_spec.rb spec/services/projects/create_service_spec.rb spec/lib/banzai/filter/repository_link_filter_spec.rb spec/services/suggestions/apply_service_spec.rb spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb spec/policies/note_policy_spec.rb spec/serializers/merge_request_widget_entity_spec.rb spec/lib/gitlab/health_checks/redis_spec.rb spec/models/gpg_key_spec.rb spec/helpers/submodule_helper_spec.rb spec/models/abuse_report_spec.rb spec/lib/gitlab/database/reflection_spec.rb spec/services/users/destroy_service_spec.rb spec/models/ci/build_runner_session_spec.rb spec/lib/banzai/pipeline/wiki_pipeline_spec.rb spec/models/integrations/bamboo_spec.rb spec/finders/members_finder_spec.rb spec/models/timelog_spec.rb spec/models/project_setting_spec.rb spec/models/release_spec.rb spec/lib/gitlab/ci/config/external/mapper/verifier_spec.rb spec/services/projects/participants_service_spec.rb spec/services/ci/pipeline_trigger_service_spec.rb spec/lib/api/helpers/caching_spec.rb spec/lib/gitlab/email/receiver_spec.rb spec/services/alert_management/alerts/update_service_spec.rb spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb spec/services/security/merge_reports_service_spec.rb spec/lib/gitlab/utils/sanitize_node_link_spec.rb spec/lib/gitlab/ci/ansi2html_spec.rb spec/helpers/appearances_helper_spec.rb spec/services/issue_links/create_service_spec.rb spec/models/service_desk_setting_spec.rb spec/models/work_items/type_spec.rb spec/uploaders/terraform/state_uploader_spec.rb spec/services/merge_requests/post_merge_service_spec.rb spec/finders/access_requests_finder_spec.rb spec/services/users/update_service_spec.rb spec/services/issues/referenced_merge_requests_service_spec.rb spec/lib/gitlab/slash_commands/issue_move_spec.rb spec/models/concerns/schedulable_spec.rb spec/lib/gitlab/import_export/project/import_task_spec.rb spec/lib/extracts_ref/ref_extractor_spec.rb spec/lib/gitlab/regex/container_registry/protection/rules_spec.rb spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb spec/lib/gitlab/usage_data_counters/kubernetes_agent_counter_spec.rb spec/finders/clusters/agents/authorizations/ci_access/finder_spec.rb spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb spec/lib/gitlab/chat/command_spec.rb spec/lib/api/ml/mlflow/api_helpers_spec.rb spec/services/todos/destroy/confidential_issue_service_spec.rb spec/workers/delete_user_worker_spec.rb spec/services/files/update_service_spec.rb spec/lib/gitlab/database/count_spec.rb spec/lib/gitlab/background_migration/delete_invalid_protected_branch_merge_access_levels_spec.rb spec/lib/gitlab/ci/reports/codequality_reports_comparer_spec.rb spec/services/commits/tag_service_spec.rb spec/lib/gitlab/hotlinking_detector_spec.rb spec/lib/bulk_imports/common/pipelines/lfs_objects_pipeline_spec.rb spec/lib/gitlab/spamcheck/client_spec.rb spec/lib/gitlab/checks/lfs_integrity_spec.rb spec/components/pajamas/toggle_component_spec.rb spec/lib/bitbucket/representation/pull_request_spec.rb spec/models/oauth_access_token_spec.rb spec/tasks/gitlab/update_templates_rake_spec.rb spec/workers/bulk_imports/pipeline_batch_worker_spec.rb spec/lib/banzai/filter/syntax_highlight_filter_spec.rb spec/finders/abuse_reports_finder_spec.rb spec/services/clusters/agent_tokens/revoke_service_spec.rb spec/lib/gitlab/ci/status/build/retried_spec.rb spec/models/diff_note_position_spec.rb spec/models/issue_assignee_spec.rb spec/models/concerns/encrypted_user_password_spec.rb spec/serializers/test_report_summary_entity_spec.rb spec/models/legacy_diff_discussion_spec.rb spec/lib/gitlab/metrics/boot_time_tracker_spec.rb spec/lib/sidebars/panel_spec.rb spec/components/pajamas/banner_component_spec.rb spec/lib/gitlab/background_task_spec.rb spec/initializers/rest-client-hostname_override_spec.rb spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb spec/lib/gitlab/repository_url_builder_spec.rb spec/models/packages/rpm/metadatum_spec.rb spec/lib/sidebars/user_profile/menus/following_menu_spec.rb spec/services/groups/nested_create_service_spec.rb spec/workers/external_service_reactive_caching_worker_spec.rb spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb spec/graphql/types/snippets/blob_viewer_type_spec.rb spec/finders/projects/topics_finder_spec.rb spec/services/incident_management/link_alerts/destroy_service_spec.rb spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb spec/graphql/resolvers/alert_management/http_integrations_resolver_spec.rb spec/lib/gitlab/metrics/subscribers/external_http_spec.rb spec/lib/gitlab/github_import/importer/events/commented_spec.rb spec/lib/gitlab/github_import/settings_spec.rb spec/lib/bulk_imports/groups/loaders/group_loader_spec.rb spec/graphql/types/ci/pipeline_counts_type_spec.rb spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb spec/services/projects/detect_repository_languages_service_spec.rb spec/lib/bitbucket_server/representation/comment_spec.rb spec/lib/gitlab/zentao/query_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_jira_imports_metric_spec.rb spec/lib/gitlab/github_import/attachments_downloader_spec.rb spec/lib/gitlab/background_migration/populate_topics_slug_column_spec.rb spec/workers/database/lock_tables_worker_spec.rb spec/lib/gitlab/database/count/exact_count_strategy_spec.rb spec/lib/gitlab/alert_management/fingerprint_spec.rb spec/lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations_spec.rb spec/lib/gitlab/composer/version_index_spec.rb spec/models/work_items/widgets/award_emoji_spec.rb spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb spec/helpers/sessions_helper_spec.rb spec/models/raw_usage_data_spec.rb spec/services/ml/create_candidate_service_spec.rb spec/serializers/merge_requests/pipeline_entity_spec.rb spec/rubocop/cop/usage_data/large_table_spec.rb spec/services/ci/compare_accessibility_reports_service_spec.rb spec/finders/packages/npm/packages_for_user_finder_spec.rb spec/models/snippet_blob_spec.rb spec/lib/gitlab/cache/metadata_spec.rb spec/models/integrations/chat_message/base_message_spec.rb spec/workers/concerns/click_house_worker_spec.rb spec/workers/incident_management/close_incident_worker_spec.rb spec/models/abuse/event_spec.rb spec/lib/sidebars/user_settings/menus/comment_templates_menu_spec.rb spec/models/project_custom_attribute_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/total_count_metric_spec.rb spec/lib/quality/seeders/issues_spec.rb spec/workers/bulk_import_worker_spec.rb spec/lib/gitlab/project_transfer_spec.rb spec/lib/sidebars/user_settings/menus/ssh_keys_menu_spec.rb spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb spec/graphql/mutations/alert_management/http_integration/create_spec.rb spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb spec/lib/gitlab/usage_data_counters/productivity_analytics_counter_spec.rb spec/models/concerns/ci/bulk_insertable_tags_spec.rb spec/lib/banzai/pipeline_spec.rb spec/services/packages/update_tags_service_spec.rb spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb spec/graphql/types/custom_emoji_type_spec.rb spec/serializers/import/manifest_provider_repo_entity_spec.rb spec/views/events/event/_push.html.haml_spec.rb spec/lib/peek/views/external_http_spec.rb spec/graphql/types/color_type_spec.rb spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb spec/services/ci/catalog/resources/destroy_service_spec.rb spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb spec/lib/api/helpers/version_spec.rb spec/rubocop/cop/migration/unfinished_dependencies_spec.rb spec/models/external_issue_spec.rb spec/serializers/ci/job_annotation_entity_spec.rb spec/workers/mail_scheduler/issue_due_worker_spec.rb spec/models/concerns/from_set_operator_spec.rb spec/lib/gitlab/ci/templates/Diffblue_Cover_spec.rb spec/serializers/merge_request_for_pipeline_entity_spec.rb spec/services/users/respond_to_terms_service_spec.rb spec/graphql/types/container_repository_sort_enum_spec.rb spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb spec/lib/gitlab/seeders/ci/variables_instance_seeder_spec.rb spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb spec/lib/gitlab/pages/settings_spec.rb spec/lib/gitlab/terraform/state_migration_helper_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/group_imports_users_metric_spec.rb spec/views/groups/_home_panel.html.haml_spec.rb spec/lib/gitlab/git/conflict/file_spec.rb spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb spec/services/users/dismiss_callout_service_spec.rb spec/models/design_user_mention_spec.rb spec/helpers/components_helper_spec.rb spec/workers/issuables/clear_groups_issue_counter_worker_spec.rb spec/services/packages/nuget/odata_package_entry_service_spec.rb spec/lib/gitlab/database/load_balancing/resolver_spec.rb spec/services/incident_management/issuable_escalation_statuses/create_service_spec.rb spec/views/projects/imports/new.html.haml_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_project_snippets_metric_spec.rb spec/lib/gitlab/ci/config/entry/tags_spec.rb spec/lib/gitlab/word_diff/chunk_collection_spec.rb spec/services/integrations/slack_options/label_search_handler_spec.rb spec/lib/gitlab/sidekiq_middleware/worker_context/server_spec.rb spec/lib/gitlab/cycle_analytics/summary/value_spec.rb spec/lib/gitlab/application_rate_limiter/increment_per_action_spec.rb spec/lib/gitlab/database/migrations/observers/query_details_spec.rb spec/services/work_items/widgets/hierarchy_service/create_service_spec.rb spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb spec/lib/bitbucket/connection_spec.rb spec/workers/gitlab/github_import/import_note_worker_spec.rb spec/graphql/types/design_management/version_type_spec.rb spec/lib/gitlab/middleware/request_context_spec.rb spec/graphql/types/organizations/organization_type_spec.rb spec/services/users/repair_ldap_blocked_service_spec.rb spec/views/shared/_milestones_sort_dropdown.html.haml_spec.rb spec/workers/users/create_statistics_worker_spec.rb spec/graphql/types/ci/test_report_total_type_spec.rb spec/validators/html_safety_validator_spec.rb spec/lib/gitlab/sidekiq_middleware/pause_control/server_spec.rb spec/lib/gitlab/ci/pipeline/expression/lexeme/null_spec.rb spec/views/projects/issues/_related_issues.html.haml_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/installation_type_metric_spec.rb spec/graphql/types/release_source_type_spec.rb spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb spec/graphql/types/member_access_level_enum_spec.rb spec/lib/sidebars/projects/super_sidebar_menus/code_menu_spec.rb spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb spec/lib/api/entities/nuget/dependency_group_spec.rb spec/lib/gitlab/database/async_ddl_exclusive_lease_guard_spec.rb spec/graphql/types/security/codequality_reports_comparer/status_enum_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb spec/lib/gitlab/kubernetes/generic_secret_spec.rb spec/lib/gitlab/ci/pipeline/metrics_spec.rb spec/initializers/rack_VULNDB-255039_patch_spec.rb spec/lib/gitlab/import_export/model_configuration_spec.rb spec/graphql/types/container_repository_cleanup_status_enum_spec.rb spec/graphql/types/project_statistics_redirect_type_spec.rb spec/lib/gitlab/kubernetes/role_binding_spec.rb spec/lib/gitlab/sidekiq_status/server_middleware_spec.rbKnapsack report generator started!
Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true, :real_ai_request=>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 2.362040637 seconds
# [RSpecRunTime] Starting example group spec/models/deployment_spec.rb. Expected to take 4 minutes 28.47 seconds.

Deployment
  does not allow STI
  is expected to belong to project required: true
  is expected to belong to environment required: true
  is expected to belong to user required: false
  is expected to belong to deployable required: false
  is expected to have one deployment_cluster
  is expected to have many deployment_merge_requests
  is expected to have many merge_requests through deployment_merge_requests
  is expected to delegate #environment_name to the #environment object as #name
  is expected to delegate #commit to the #project object
  is expected to delegate #commit_title to the #commit object as #try
  is expected to delegate #kubernetes_namespace to the #deployment_cluster object
  is expected to delegate #cluster to the #deployment_cluster object
  is expected to validate that :ref cannot be empty/falsy
  is expected to validate that :sha cannot be empty/falsy
  behaves like having unique enum values
    has unique values in "status"
  #manual_actions
    delegates to environment_manual_actions
  #scheduled_actions
    delegates to environment_scheduled_actions
  modules
    is expected to includes the EachBatch module
    behaves like AtomicInternalId
      .has_internal_id
        Module inclusion
          is expected to includes the AtomicInternalId module
# [RSpecRunTime] RSpec elapsed time: 14.28 seconds. Current RSS: ~1447M. load average: 1.08 1.28 1.32 1/292 422


        Validation
          when presence validation is required
            when creating an object
              raises an error if the internal id is blank
            when updating an object
              raises an error if the internal id is blank
          when presence validation is not required
            when creating an object
              does not raise an error if the internal id is blank (PENDING: No reason given)
            when updating an object
              does not raise an error if the internal id is blank (PENDING: No reason given)
        Creating an instance
          saves a new instance properly
        internal id generation
          calls InternalId.generate_next and sets internal id attribute
          does not overwrite an existing internal id
          when the instance has an internal ID set
            calls InternalId.update_last_value and sets the `last_value` to that of the instance
        unsetting the instance internal id on rollback
          when the internal id has been changed
            when the internal id is automatically set
              clears it on the instance
            when the internal id is manually set
              does not clear it on the instance
          when the internal id has not been changed
            preserves the value on the instance
        supply of internal ids
          provides a persistent supply of IID values, sensitive to the current state
        #reset_scope_internal_id_attribute
          rewinds the allocated IID
          allocates the same IID
  .stoppable
    when deployment is stoppable
      is expected to eq [#<Deployment id: 11, iid: 1, project_id: 20, environment_id: 4, ref: "master", tag: false, sha: "b83...: "success", finished_at: "2024-02-20 23:19:44.393020697 +0000", deployable_id: 4, archived: false>]
    when deployment is not stoppable
      is expected to be empty
  .for_iid
    finds the deployment
    when iid does not match
      does not find the deployment
# [RSpecRunTime] RSpec elapsed time: 18.05 seconds. Current RSS: ~1504M. load average: 1.08 1.28 1.32 1/294 499


  .for_environment_name
    when deployment belongs to the environment
      is expected to eq [#<Deployment id: 14, iid: 1, project_id: 24, environment_id: 7, ref: "master", tag: false, sha: "b83...23735 +0000", on_stop: nil, status: "created", finished_at: nil, deployable_id: 7, archived: false>]
# [RSpecRunTime] RSpec elapsed time: 19.09 seconds. Current RSS: ~1518M. load average: 1.08 1.28 1.32 1/294 517


    when deployment belongs to the same project but different environment name
      is expected to be empty
    when deployment belongs to the same environment name but different project
      is expected to be empty
  .success
    when deployment status is success
      is expected to eq [#<Deployment id: 17, iid: 1, project_id: 26, environment_id: 10, ref: "master", tag: false, sha: "b8... "success", finished_at: "2024-02-20 23:19:48.222392132 +0000", deployable_id: 10, archived: false>]
    when deployment status is created
      is expected to be empty
    when deployment status is running
      is expected to be empty
  state machine
    when deployment runs
      starts running
      executes Deployments::HooksWorker asynchronously
# [RSpecRunTime] RSpec elapsed time: 21.66 seconds. Current RSS: ~1560M. load average: 1.15 1.29 1.32 1/294 561


    when deployment succeeded
      has correct status
      executes Deployments::UpdateEnvironmentWorker asynchronously
      executes Deployments::HooksWorker asynchronously
# [RSpecRunTime] RSpec elapsed time: 23.92 seconds. Current RSS: ~1576M. load average: 1.15 1.29 1.32 1/294 595


    when deployment failed
      has correct status
      does not execute Deployments::LinkMergeRequestWorker
      executes Deployments::HooksWorker asynchronously
# [RSpecRunTime] RSpec elapsed time: 26.16 seconds. Current RSS: ~1578M. load average: 1.14 1.28 1.32 1/294 629


    when deployment was canceled
      has correct status
      does not execute Deployments::LinkMergeRequestWorker
      executes Deployments::HooksWorker asynchronously
# [RSpecRunTime] RSpec elapsed time: 28.46 seconds. Current RSS: ~1574M. load average: 1.14 1.28 1.32 1/294 663


    when deployment was skipped
      has correct status
      does not execute Deployments::LinkMergeRequestWorker asynchronously
      does not execute Deployments::HooksWorker
# [RSpecRunTime] RSpec elapsed time: 31.64 seconds. Current RSS: ~1577M. load average: 1.13 1.28 1.32 1/294 697


    when deployment is blocked
      has correct status
      does not execute Deployments::LinkMergeRequestWorker asynchronously
      does not execute Deployments::HooksWorker
# [RSpecRunTime] RSpec elapsed time: 33.89 seconds. Current RSS: ~1585M. load average: 1.13 1.28 1.32 1/294 731


    synching status to Jira
      when Jira Connect subscription does not exist
        does not call the worker
# [RSpecRunTime] RSpec elapsed time: 35.07 seconds. Current RSS: ~1585M. load average: 1.12 1.27 1.31 1/294 749


      when Jira Connect subscription exists
        calls the worker on creation
        does not call the worker for skipped deployments
        when we call pipeline.run!
          triggers a Jira synch worker
# [RSpecRunTime] RSpec elapsed time: 37.43 seconds. Current RSS: ~1593M. load average: 1.12 1.27 1.31 1/295 784


        when we call pipeline.succeed!
          triggers a Jira synch worker
        when we call pipeline.drop!
          triggers a Jira synch worker
        when we call pipeline.cancel!
          triggers a Jira synch worker
  #older_than_last_successful_deployment?
    when deployment is current deployment
      is expected to be falsey
# [RSpecRunTime] RSpec elapsed time: 40.91 seconds. Current RSS: ~1593M. load average: 1.19 1.29 1.32 1/296 836


    when deployment is behind current deployment
      is expected to be truthy
    when deployment is the same sha as the current deployment
      is expected to be falsey
    when environment is undefined
      is expected to be falsey
  #success?
    when deployment status is success
      is expected to be truthy
    when deployment status is failed
      is expected to be falsy
  #status_name
    when deployment status is success
      is expected to eq :success
    when deployment status is failed
      is expected to eq :failed
  #deployed_at
    when deployment status is created
      is expected to be nil
    when deployment status is success
      is expected to eq 2024-02-20 23:20:14.061839792 +0000
    when deployment status is running
      is expected to be nil
  .archivables_in
    when there are no archivable deployments in the project
      returns nothing
# [RSpecRunTime] RSpec elapsed time: 48.7 seconds. Current RSS: ~1602M. load average: 1.17 1.28 1.32 1/296 976


    when there are archivable deployments in the project
      returns all archivable deployments
      with limit
        takes the limit into account
  scopes
    last_for_environment
      retrieves last deployments for environments
# [RSpecRunTime] RSpec elapsed time: 50.88 seconds. Current RSS: ~1601M. load average: 1.08 1.26 1.31 1/296 1010


    active
      retrieves the active deployments
# [RSpecRunTime] RSpec elapsed time: 55.03 seconds. Current RSS: ~1597M. load average: 0.99 1.24 1.30 1/296 1077


    older_than
      retrives the correct older deployments
# [RSpecRunTime] RSpec elapsed time: 57.71 seconds. Current RSS: ~1584M. load average: 0.99 1.24 1.30 1/296 1122


    .finished_before
      filters deployments by finished_at
# [RSpecRunTime] RSpec elapsed time: 59.19 seconds. Current RSS: ~1583M. load average: 0.99 1.24 1.30 1/296 1145


    .finished_after
      filters deployments by finished_at
# [RSpecRunTime] RSpec elapsed time: 1 minute 0.58 second. Current RSS: ~1582M. load average: 0.99 1.23 1.30 1/297 1169


    .ordered
      sorts by finished at
# [RSpecRunTime] RSpec elapsed time: 1 minute 3.2 seconds. Current RSS: ~1581M. load average: 0.99 1.23 1.30 1/297 1214


    .ordered_as_upcoming
      sorts by ID DESC
# [RSpecRunTime] RSpec elapsed time: 1 minute 5.29 seconds. Current RSS: ~1579M. load average: 0.99 1.23 1.30 1/297 1248


    visible
      retrieves the visible deployments
      has a corresponding database index
# [RSpecRunTime] RSpec elapsed time: 1 minute 9.26 seconds. Current RSS: ~1577M. load average: 0.99 1.23 1.30 1/297 1315


    finished
      retrieves the finished deployments
# [RSpecRunTime] RSpec elapsed time: 1 minute 13.26 seconds. Current RSS: ~1575M. load average: 1.00 1.23 1.30 1/297 1382


    upcoming
      retrieves the upcoming deployments
# [RSpecRunTime] RSpec elapsed time: 1 minute 17.24 seconds. Current RSS: ~1580M. load average: 1.00 1.22 1.29 1/297 1449


    last_deployment_group_for_environment
      behaves like find last deployment group for environment
        when there are no deployments and jobs
          is expected to eq #<ActiveRecord::Relation []>
        when there are no successful jobs
          is expected to eq #<ActiveRecord::Relation []>
        when there are deployments for multiple pipelines
          returns the successful deployment jobs for the last deployment pipeline
        when there are many environments
          batch loads for environments
# [RSpecRunTime] RSpec elapsed time: 1 minute 21.13 seconds. Current RSS: ~1575M. load average: 1.00 1.22 1.29 1/297 1533


        When last deployment for environment is a retried job
          is expected not to be nil
      behaves like find last deployment group for environment
        when there are no deployments and jobs
          is expected to eq #<ActiveRecord::Relation []>
        when there are no successful jobs
          is expected to eq #<ActiveRecord::Relation []>
        when there are deployments for multiple pipelines
          returns the successful deployment jobs for the last deployment pipeline
# [RSpecRunTime] RSpec elapsed time: 1 minute 24.69 seconds. Current RSS: ~1561M. load average: 1.00 1.21 1.29 1/297 1590


        when there are many environments
          batch loads for environments
# [RSpecRunTime] RSpec elapsed time: 1 minute 25.93 seconds. Current RSS: ~1559M. load average: 1.00 1.21 1.29 1/297 1633


        When last deployment for environment is a retried job
          is expected not to be nil
    last_finished_deployment_group_for_environment
      when there are no deployments and jobs
        is expected to eq #<ActiveRecord::Relation []>
      behaves like find last finished deployment for environment
        when there are no finished jobs
          is expected to eq #<ActiveRecord::Relation []>
        when there are deployments for multiple pipelines
          returns the finished deployments for the last finished pipeline
        when last finished deployment is a retried job
          is expected not to be nil
        when there are many environments
          batch loads for environments
          when last_deployment_group_for_environment is also called
            returns different results
# [RSpecRunTime] RSpec elapsed time: 1 minute 29.36 seconds. Current RSS: ~1545M. load average: 1.00 1.21 1.29 1/297 1731


      behaves like find last finished deployment for environment
        when there are no finished jobs
          is expected to eq #<ActiveRecord::Relation []>
        when there are deployments for multiple pipelines
          returns the finished deployments for the last finished pipeline
        when last finished deployment is a retried job
          is expected not to be nil
        when there are many environments
          batch loads for environments
          when last_deployment_group_for_environment is also called
            returns different results
# [RSpecRunTime] RSpec elapsed time: 1 minute 31.32 seconds. Current RSS: ~1545M. load average: 1.00 1.21 1.29 1/297 1808


  latest_for_sha
    finds the latest deployment with sha
    when sha is old
      finds the latest deployment with sha
# [RSpecRunTime] RSpec elapsed time: 1 minute 33.03 seconds. Current RSS: ~1555M. load average: 1.00 1.21 1.29 1/297 1840


    when sha is nil
      returns nothing
  #includes_commit?
    when there is no project commit
      returns false
    when they share the same tree branch
      returns true
    when the SHA for the deployment does not exist in the repo
      returns false
  #stop_action
    behaves like stop action for a job
      when no other actions
        is expected to be nil
      with other actions
        when matching action is defined
          is expected to be nil
        when no matching action is defined
          is expected to eq #<Ci::Build status: "manual", finished_at: nil, created_at: "2024-02-20 08:50:29.000000000 +0000", up...tage", id: 185, stage_id: 131, partition_id: 101, auto_canceled_by_partition_id: 100, tag_list: nil>
    behaves like stop action for a job
      when no other actions
        is expected to be nil
      with other actions
        when matching action is defined
          is expected to be nil
        when no matching action is defined
          is expected to eq #<Ci::Bridge status: "manual", finished_at: nil, created_at: "2013-10-29 08:50:00.000000000 +0000", u...duling_type: "stage", id: 190, stage_id: 134, partition_id: 101, auto_canceled_by_partition_id: 100>
  #deployed_by
    returns the deployment user if there is no deployable
    returns the deployment user if the deployable is build and have no user
    returns the deployment user if the deployable is bridge and have no user
    returns the deployable user if there is one
# [RSpecRunTime] RSpec elapsed time: 1 minute 42.88 seconds. Current RSS: ~1551M. load average: 1.07 1.22 1.29 1/297 1929


  #triggered_by?
    is expected to eq true
    when deployment triggerer is different
      is expected to eq false
# [RSpecRunTime] RSpec elapsed time: 1 minute 44.49 seconds. Current RSS: ~1558M. load average: 1.07 1.22 1.29 1/297 1952


  .find_successful_deployment!
    returns a successful deployment
    raises when no deployment is found
  .jobs
    retrieves jobs for the deployments
    does not fetch the null deployable_ids
# [RSpecRunTime] RSpec elapsed time: 1 minute 49.4 seconds. Current RSS: ~1583M. load average: 1.07 1.22 1.29 1/297 2030


  #job
    retrieves job for the deployment
    returns nil when the associated job is not found
# [RSpecRunTime] RSpec elapsed time: 1 minute 50.87 seconds. Current RSS: ~1583M. load average: 1.06 1.21 1.29 1/297 2053


  #previous_deployment
    pointer: "production_deployment_1", expected_previous_deployment: nil
      returns the previous deployment
# [RSpecRunTime] RSpec elapsed time: 1 minute 52.0 seconds. Current RSS: ~1590M. load average: 1.06 1.21 1.29 1/297 2100


    pointer: "production_deployment_2", expected_previous_deployment: "production_deployment_1"
      returns the previous deployment
    pointer: "production_deployment_3", expected_previous_deployment: "production_deployment_2"
      returns the previous deployment
    pointer: "production_deployment_4", expected_previous_deployment: "production_deployment_2"
      returns the previous deployment
    pointer: "staging_deployment_1", expected_previous_deployment: nil
      returns the previous deployment
    pointer: "staging_deployment_2", expected_previous_deployment: nil
      returns the previous deployment
    pointer: "production_deployment_5", expected_previous_deployment: "production_deployment_2"
      returns the previous deployment
    pointer: "staging_deployment_3", expected_previous_deployment: "staging_deployment_2"
      returns the previous deployment
  #link_merge_requests
    links merge requests with a deployment
    ignores already linked merge requests
# [RSpecRunTime] RSpec elapsed time: 1 minute 56.11 seconds. Current RSS: ~1587M. load average: 1.06 1.21 1.28 1/298 2236


  #create_ref
    creates a ref using the sha
  #playable_job
    when there is a deployable job
      when the deployable job is build and playable
        returns that job
# [RSpecRunTime] RSpec elapsed time: 1 minute 57.55 seconds. Current RSS: ~1579M. load average: 1.06 1.21 1.28 1/298 2247


      when the deployable job is bridge and playable
        returns that job
# [RSpecRunTime] RSpec elapsed time: 1 minute 58.62 seconds. Current RSS: ~1562M. load average: 1.06 1.21 1.28 1/298 2258


      when the deployable job is not playable
        returns nil
# [RSpecRunTime] RSpec elapsed time: 1 minute 59.83 seconds. Current RSS: ~1555M. load average: 1.05 1.20 1.28 1/297 2269


    when there is no deployable job
      returns nil
  #update_status
    changes the status
    schedules workers when finishing a deploy
    updates finished_at when transitioning to a finished status
    tracks an exception if an invalid argument
    tracks an exception if an invalid status transition is detected
      is expected to eq false
      is expected to eq false
# [RSpecRunTime] RSpec elapsed time: 2 minutes 5.11 seconds. Current RSS: ~1577M. load average: 1.05 1.20 1.28 1/297 2347


    mapping status to event
      status: "running", method: :run!
        calls the correct method for the given status
      status: "success", method: :succeed!
        calls the correct method for the given status
      status: "failed", method: :drop!
        calls the correct method for the given status
      status: "canceled", method: :cancel!
        calls the correct method for the given status
      status: "skipped", method: :skip!
        calls the correct method for the given status
      status: "blocked", method: :block!
        calls the correct method for the given status
      for created status update
        calls the correct method
  #sync_status_with
    behaves like sync status with a job
      with created deployment
        with created job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 12.21 seconds. Current RSS: ~1576M. load average: 1.04 1.20 1.28 1/295 2442


        with manual job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 13.38 seconds. Current RSS: ~1574M. load average: 1.04 1.20 1.28 1/295 2454


        with running job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 14.58 seconds. Current RSS: ~1568M. load average: 1.04 1.19 1.28 1/295 2466


        with finished job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 15.78 seconds. Current RSS: ~1567M. load average: 1.04 1.19 1.28 1/295 2478


        with unrelated job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 17.03 seconds. Current RSS: ~1561M. load average: 1.04 1.19 1.28 1/295 2490


      with running deployment
        with created job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 18.2 seconds. Current RSS: ~1553M. load average: 1.04 1.19 1.28 1/295 2502


        with manual job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 19.38 seconds. Current RSS: ~1547M. load average: 1.04 1.19 1.28 1/295 2514


        with running job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 20.59 seconds. Current RSS: ~1546M. load average: 1.04 1.19 1.27 2/296 2526


        with finished job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 21.88 seconds. Current RSS: ~1542M. load average: 1.04 1.19 1.27 1/296 2538


        with unrelated job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 23.13 seconds. Current RSS: ~1542M. load average: 1.04 1.19 1.27 1/296 2550


      with finished deployment
        with created job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 24.34 seconds. Current RSS: ~1541M. load average: 1.04 1.19 1.27 1/296 2562


        with manual job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 25.56 seconds. Current RSS: ~1540M. load average: 1.03 1.19 1.27 1/296 2574


        with running job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 26.76 seconds. Current RSS: ~1538M. load average: 1.03 1.19 1.27 1/296 2586


        with finished job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 28.02 seconds. Current RSS: ~1537M. load average: 1.03 1.19 1.27 1/296 2598


        with failed job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 29.22 seconds. Current RSS: ~1536M. load average: 1.03 1.19 1.27 1/296 2610


        with unrelated job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 30.44 seconds. Current RSS: ~1534M. load average: 1.03 1.18 1.27 1/296 2622


    behaves like sync status with a job
      with created deployment
        with created job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 31.64 seconds. Current RSS: ~1535M. load average: 1.03 1.18 1.27 1/296 2634


        with manual job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 32.91 seconds. Current RSS: ~1535M. load average: 1.03 1.18 1.27 1/296 2646


        with running job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 34.11 seconds. Current RSS: ~1536M. load average: 1.03 1.18 1.27 1/296 2658


        with finished job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 35.32 seconds. Current RSS: ~1536M. load average: 1.11 1.20 1.28 1/296 2670


        with unrelated job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 36.54 seconds. Current RSS: ~1537M. load average: 1.11 1.20 1.28 1/296 2682


      with running deployment
        with created job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 37.73 seconds. Current RSS: ~1538M. load average: 1.11 1.20 1.28 1/296 2694


        with manual job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 38.99 seconds. Current RSS: ~1536M. load average: 1.11 1.20 1.28 1/296 2706


        with running job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 40.24 seconds. Current RSS: ~1537M. load average: 1.18 1.21 1.28 1/296 2718


        with finished job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 41.47 seconds. Current RSS: ~1538M. load average: 1.18 1.21 1.28 1/295 2730


        with unrelated job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 42.68 seconds. Current RSS: ~1538M. load average: 1.18 1.21 1.28 1/295 2742


      with finished deployment
        with created job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 44.22 seconds. Current RSS: ~1538M. load average: 1.18 1.21 1.28 1/295 2754


        with manual job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 45.44 seconds. Current RSS: ~1536M. load average: 1.16 1.21 1.28 1/295 2766


        with running job
          behaves like gracefully handling error
            tracks an exception
# [RSpecRunTime] RSpec elapsed time: 2 minutes 46.63 seconds. Current RSS: ~1535M. load average: 1.16 1.21 1.28 1/295 2778


        with finished job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 47.82 seconds. Current RSS: ~1534M. load average: 1.16 1.21 1.28 1/295 2790


        with failed job
          behaves like synchronizing deployment
            changes deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 49.08 seconds. Current RSS: ~1533M. load average: 1.16 1.21 1.28 1/295 2802


        with unrelated job
          behaves like ignoring job
            does not change deployment status
# [RSpecRunTime] RSpec elapsed time: 2 minutes 50.27 seconds. Current RSS: ~1538M. load average: 1.07 1.19 1.27 1/295 2814


  #tags
    will return tags related to this deployment
# [RSpecRunTime] RSpec elapsed time: 2 minutes 51.34 seconds. Current RSS: ~1546M. load average: 1.07 1.19 1.27 1/295 2832


  #valid_sha
    does not add errors for a valid SHA
    adds an error for an invalid SHA
# [RSpecRunTime] RSpec elapsed time: 2 minutes 52.68 seconds. Current RSS: ~1547M. load average: 1.07 1.19 1.27 1/295 2843


  #valid_ref
    does not add errors for a valid ref
    adds an error for an invalid ref
# [RSpecRunTime] RSpec elapsed time: 2 minutes 53.99 seconds. Current RSS: ~1547M. load average: 1.07 1.19 1.27 1/295 2854


  #tier_in_yaml
    when deployable is nil
      returns nil
    when deployable is present
      when tier is specified
        returns the tier
        when deployable is a bridge job
          returns the tier
# [RSpecRunTime] RSpec elapsed time: 2 minutes 56.01 seconds. Current RSS: ~1545M. load average: 1.07 1.18 1.27 1/295 2855


        when tier is not specified
          returns nil
  .fast_destroy_all
    cleans path_refs for destroyed environments
    does not trigger N+1 queries
# [RSpecRunTime] RSpec elapsed time: 2 minutes 58.87 seconds. Current RSS: ~1536M. load average: 1.07 1.18 1.27 1/295 2943


  #update_merge_request_metrics!
    with production environment
      updates merge request metrics for production-grade environment
# [RSpecRunTime] RSpec elapsed time: 3 minutes 0.41 second. Current RSS: ~1535M. load average: 1.06 1.18 1.27 1/296 2994


    with staging environment
      updates merge request metrics for production-grade environment
# [RSpecRunTime] RSpec elapsed time: 3 minutes 1.47 seconds. Current RSS: ~1537M. load average: 1.06 1.18 1.27 1/295 3036



# [RSpecRunTime] Finishing example group spec/models/deployment_spec.rb. It took 2 minutes 57.41 seconds. Expected to take 4 minutes 28.47 seconds.
# [RSpecRunTime] Starting example group spec/models/namespace/traversal_hierarchy_spec.rb. Expected to take 2 minutes 25.73 seconds.

Namespace::TraversalHierarchy
  does not allow STI
  .for_namespace
    with root group
      is expected to eq #<Group id:598 @group86>
# [RSpecRunTime] RSpec elapsed time: 3 minutes 20.94 seconds. Current RSS: ~1472M. load average: 1.04 1.17 1.26 1/289 3037


    with child group
      is expected to eq #<Group id:683 @group171>
# [RSpecRunTime] RSpec elapsed time: 3 minutes 30.76 seconds. Current RSS: ~1470M. load average: 1.04 1.16 1.26 1/288 3038


    with group outside of hierarchy
      is expected not to eq #<Group id:768 @group256>
# [RSpecRunTime] RSpec elapsed time: 3 minutes 40.7 seconds. Current RSS: ~1468M. load average: 1.10 1.17 1.26 1/288 3039


  .new
    with root group
      is expected to eq #<Group id:854 @group342>
# [RSpecRunTime] RSpec elapsed time: 3 minutes 50.36 seconds. Current RSS: ~1467M. load average: 1.09 1.17 1.26 1/288 3040


    with child group
      is expected to raise StandardError with "Must specify a root node"
# [RSpecRunTime] RSpec elapsed time: 4 minutes 0.17 second. Current RSS: ~1466M. load average: 1.07 1.16 1.26 1/288 3041


  #incorrect_traversal_ids
    is expected to contain exactly #<Group id:1024 @group512>, #<Group id:1025 @group512/group513>, #<Group id:1026 @group512/group513/group514>, #<Group id:1027 @group512/group513/group514/group515>, #<Group id:1028 @group512/group513/group514/group516>, #<Group id:1029 @group512/group513/group514/group517>, #<Group id:1030 @group512/group513/group514/group518>, #<Group id:1031 @group512/group513/group519>, #<Group id:1032 @group512/group513/group519/group520>, #<Group id:1033 @group512/group513/group519/group521>, #<Group id:1034 @group512/group513/group519/group522>, #<Group id:1035 @group512/group513/group519/group523>, #<Group id:1036 @group512/group513/group524>, #<Group id:1037 @group512/group513/group524/group525>, #<Group id:1038 @group512/group513/group524/group526>, #<Group id:1039 @group512/group513/group524/group527>, #<Group id:1040 @group512/group513/group524/group528>, #<Group id:1041 @group512/group513/group529>, #<Group id:1042 @group512/group513/group529/group530>, #<Group id:1043 @group512/group513/group529/group531>, #<Group id:1044 @group512/group513/group529/group532>, #<Group id:1045 @group512/group513/group529/group533>, #<Group id:1046 @group512/group534>, #<Group id:1047 @group512/group534/group535>, #<Group id:1048 @group512/group534/group535/group536>, #<Group id:1049 @group512/group534/group535/group537>, #<Group id:1050 @group512/group534/group535/group538>, #<Group id:1051 @group512/group534/group535/group539>, #<Group id:1052 @group512/group534/group540>, #<Group id:1053 @group512/group534/group540/group541>, #<Group id:1054 @group512/group534/group540/group542>, #<Group id:1055 @group512/group534/group540/group543>, #<Group id:1056 @group512/group534/group540/group544>, #<Group id:1057 @group512/group534/group545>, #<Group id:1058 @group512/group534/group545/group546>, #<Group id:1059 @group512/group534/group545/group547>, #<Group id:1060 @group512/group534/group545/group548>, #<Group id:1061 @group512/group534/group545/group549>, #<Group id:1062 @group512/group534/group550>, #<Group id:1063 @group512/group534/group550/group551>, #<Group id:1064 @group512/group534/group550/group552>, #<Group id:1065 @group512/group534/group550/group553>, #<Group id:1066 @group512/group534/group550/group554>, #<Group id:1067 @group512/group555>, #<Group id:1068 @group512/group555/group556>, #<Group id:1069 @group512/group555/group556/group557>, #<Group id:1070 @group512/group555/group556/group558>, #<Group id:1071 @group512/group555/group556/group559>, #<Group id:1072 @group512/group555/group556/group560>, #<Group id:1073 @group512/group555/group561>, #<Group id:1074 @group512/group555/group561/group562>, #<Group id:1075 @group512/group555/group561/group563>, #<Group id:1076 @group512/group555/group561/group564>, #<Group id:1077 @group512/group555/group561/group565>, #<Group id:1078 @group512/group555/group566>, #<Group id:1079 @group512/group555/group566/group567>, #<Group id:1080 @group512/group555/group566/group568>, #<Group id:1081 @group512/group555/group566/group569>, #<Group id:1082 @group512/group555/group566/group570>, #<Group id:1083 @group512/group555/group571>, #<Group id:1084 @group512/group555/group571/group572>, #<Group id:1085 @group512/group555/group571/group573>, #<Group id:1086 @group512/group555/group571/group574>, #<Group id:1087 @group512/group555/group571/group575>, #<Group id:1088 @group512/group576>, #<Group id:1089 @group512/group576/group577>, #<Group id:1090 @group512/group576/group577/group578>, #<Group id:1091 @group512/group576/group577/group579>, #<Group id:1092 @group512/group576/group577/group580>, #<Group id:1093 @group512/group576/group577/group581>, #<Group id:1094 @group512/group576/group582>, #<Group id:1095 @group512/group576/group582/group583>, #<Group id:1096 @group512/group576/group582/group584>, #<Group id:1097 @group512/group576/group582/group585>, #<Group id:1098 @group512/group576/group582/group586>, #<Group id:1099 @group512/group576/group587>, #<Group id:1100 @group512/group576/group587/group588>, #<Group id:1101 @group512/group576/group587/group589>, #<Group id:1102 @group512/group576/group587/group590>, #<Group id:1103 @group512/group576/group587/group591>, #<Group id:1104 @group512/group576/group592>, #<Group id:1105 @group512/group576/group592/group593>, #<Group id:1106 @group512/group576/group592/group594>, #<Group id:1107 @group512/group576/group592/group595>, and #<Group id:1108 @group512/group576/group592/group596>
# [RSpecRunTime] RSpec elapsed time: 4 minutes 9.8 seconds. Current RSS: ~1463M. load average: 1.06 1.15 1.25 1/288 3042


  #sync_traversal_ids!
    is expected to be empty
    behaves like hierarchy with traversal_ids
      will be valid
# [RSpecRunTime] RSpec elapsed time: 4 minutes 29.58 seconds. Current RSS: ~1465M. load average: 1.04 1.14 1.25 1/287 3043


    behaves like locked row
      has locked row
# [RSpecRunTime] RSpec elapsed time: 4 minutes 39.64 seconds. Current RSS: ~1464M. load average: 1.04 1.14 1.24 1/287 3044


    when deadlocked
      is expected to raise ActiveRecord::Deadlocked
      increment db_deadlock counter
# [RSpecRunTime] RSpec elapsed time: 4 minutes 58.96 seconds. Current RSS: ~1462M. load average: 1.03 1.13 1.24 1/286 3045



# [RSpecRunTime] Finishing example group spec/models/namespace/traversal_hierarchy_spec.rb. It took 1 minute 56.92 seconds. Expected to take 2 minutes 25.73 seconds.
# [RSpecRunTime] Starting example group spec/services/projects/create_service_spec.rb. Expected to take 2 minutes 0.46 second.

Projects::CreateService#execute
  calls the passed block
  writes project full path to gitaly
  triggers PostCreationWorker
  adds pages unique domain
  with labels
    creates labels on project creation
    using gitlab project import
      does not creates labels on project creation
# [RSpecRunTime] RSpec elapsed time: 5 minutes 3.19 seconds. Current RSS: ~1472M. load average: 1.02 1.13 1.24 1/287 3076


  setting name and path
    when both are set
      keeps them as specified
    when path is set
      sets name == path
    when name is a valid path
      sets path == name
    when name is not a valid path
      parameterizes the name
  topics
    with 'topics' parameter
      keeps them as specified
    with 'topic_list' parameter
      keeps them as specified
    with 'tag_list' parameter (deprecated)
      keeps them as specified
  user namespace
    creates a project in user namespace
    project_authorizations record creation
      when the project_authrizations records are not created via the callback
        still creates project_authrizations record for the user
# [RSpecRunTime] RSpec elapsed time: 5 minutes 9.4 seconds. Current RSS: ~1481M. load average: 1.02 1.13 1.24 1/287 3131


    when the passed in namespace is for a bot user
      raises an error
  after create actions
    invalidate personal_projects_count caches
    creates associated project settings
    logs creation
    publishes a ProjectCreatedEvent
    behaves like storing arguments in the application context
      places the expected params in the application context
# [RSpecRunTime] RSpec elapsed time: 5 minutes 13.49 seconds. Current RSS: ~1485M. load average: 1.02 1.12 1.23 1/287 3162


  admin creates project with other user's namespace_id
    when admin mode is enabled
      sets the correct permissions
    when admin mode is disabled
      is not allowed
  group namespace
    creates the project
    behaves like has sync-ed traversal_ids
      is expected to eq [1585, 1586]
# [RSpecRunTime] RSpec elapsed time: 5 minutes 16.62 seconds. Current RSS: ~1464M. load average: 1.02 1.12 1.23 2/287 3181


    when project is an import
      when user is not allowed to import projects
        does not create the project
  group sharing
    updates authorization
# [RSpecRunTime] RSpec elapsed time: 5 minutes 19.06 seconds. Current RSS: ~1451M. load average: 1.02 1.12 1.23 1/287 3188


  user with project limit
    under personal namespace
      cannot create a project
    under group namespace
      can create a project
  membership overrides
    membership is higher from group hierarchy
      updates authorization
# [RSpecRunTime] RSpec elapsed time: 5 minutes 22.22 seconds. Current RSS: ~1447M. load average: 1.02 1.12 1.23 1/288 3201


    membership is higher from group share
      share max access level is not limiting
        updates authorization
# [RSpecRunTime] RSpec elapsed time: 5 minutes 24.12 seconds. Current RSS: ~1446M. load average: 1.02 1.12 1.23 1/288 3208


      share max access level is limiting
        updates authorization
# [RSpecRunTime] RSpec elapsed time: 5 minutes 25.94 seconds. Current RSS: ~1445M. load average: 1.02 1.12 1.23 1/288 3215


  error handling
    handles invalid options
  wiki_enabled creates repository directory
    wiki_enabled true creates wiki repository directory
      is expected to be truthy
    wiki_enabled false does not create wiki repository directory
      is expected to be falsey
  import data
    does not write repository config
    stores import data and URL
    tracks for imported project
    import scheduling
      when project import type is gitlab project migration
        does not schedule project import
# [RSpecRunTime] RSpec elapsed time: 5 minutes 30.69 seconds. Current RSS: ~1457M. load average: 1.01 1.11 1.23 1/287 3234


  builds_enabled global setting
    global builds_enabled false does not enable CI by default
      is expected to be falsey
    global builds_enabled true does enable CI by default
      is expected to be truthy
  default visibility level
    in public group
      creates project with correct visibility level
    in internal group
      creates project with correct visibility level
    in private group
      creates project with correct visibility level
  restricted visibility level
    when visibility is project based
      does not allow a restricted visibility level for non-admins
      does not allow a restricted visibility level for admins when admin mode is disabled
      allows a restricted visibility level for admins when admin mode is enabled
# [RSpecRunTime] RSpec elapsed time: 5 minutes 36.28 seconds. Current RSS: ~1447M. load average: 1.01 1.11 1.23 1/288 3274


    when visibility is overridden
      does not allow a restricted visibility level for non-admins
      does not allow a restricted visibility level for admins when admin mode is disabled
      allows a restricted visibility level for admins when admin mode is enabled
      when visibility is misspelled
        does not restrict project creation
# [RSpecRunTime] RSpec elapsed time: 5 minutes 38.26 seconds. Current RSS: ~1451M. load average: 1.01 1.11 1.23 1/288 3287


  repository creation
    synchronously creates the repository
    raises when repository fails to create
    when another repository already exists on disk
      with legacy storage
        does not allow to create a project when path matches existing repository on disk
        does not allow to import project when path matches existing repository on disk
# [RSpecRunTime] RSpec elapsed time: 5 minutes 40.28 seconds. Current RSS: ~1454M. load average: 1.01 1.11 1.23 1/288 3292


      with hashed storage
        does not allow to create a project when path matches existing repository on disk
  when readme initialization is requested
    behaves like a repo with a README.md
      is expected to equal 1
      is expected to eql "README.md"
      is expected to include "cd existing_repo\ngit remote add origin http://localhost/user75/GitLab.git\ngit branch -M master\ngit push -uf origin master\n"
# [RSpecRunTime] RSpec elapsed time: 5 minutes 43.22 seconds. Current RSS: ~1458M. load average: 1.01 1.11 1.23 1/292 3374


    and a readme_template is specified
      behaves like a repo with a README.md
        is expected to equal 1
        is expected to eql "README.md"
        is expected to include "# GitLab\nThis is customized readme."
# [RSpecRunTime] RSpec elapsed time: 5 minutes 45.77 seconds. Current RSS: ~1450M. load average: 1.01 1.11 1.22 1/293 3455


    and default_branch is specified
      creates the correct branch
      behaves like a repo with a README.md
        is expected to equal 1
        is expected to eql "README.md"
        is expected to include "cd existing_repo\ngit remote add origin http://localhost/user82/GitLab.git\ngit branch -M example_branch\ngit push -uf origin example_branch\n"
# [RSpecRunTime] RSpec elapsed time: 5 minutes 49.09 seconds. Current RSS: ~1453M. load average: 1.01 1.11 1.22 1/293 3555


    and the default branch setting is configured
      creates the correct branch
      behaves like a repo with a README.md
        is expected to equal 1
        is expected to eql "README.md"
        is expected to include "cd existing_repo\ngit remote add origin http://localhost/user86/GitLab.git\ngit branch -M example_branch\ngit push -uf origin example_branch\n"
# [RSpecRunTime] RSpec elapsed time: 5 minutes 52.37 seconds. Current RSS: ~1456M. load average: 1.01 1.11 1.22 1/293 3655


  when SAST initialization is requested
    creates a commit for SAST
  when SHA256 format is requested
    creates a repository with SHA256 commit hashes
    when "support_sha256_repositories" feature flag is disabled
      creates a repository with default SHA1 commit hash
# [RSpecRunTime] RSpec elapsed time: 5 minutes 54.99 seconds. Current RSS: ~1457M. load average: 1.01 1.10 1.22 1/293 3736


  create integration for the project
    with an active instance-level integration
      creates an integration from the instance-level integration
      with an active group-level integration
        creates an integration from the group-level integration
        with an active subgroup
          creates an integration from the subgroup-level integration
# [RSpecRunTime] RSpec elapsed time: 5 minutes 58.81 seconds. Current RSS: ~1472M. load average: 1.01 1.10 1.22 1/293 3755


  when skip_disk_validation is used
    sets the project attribute
  when import source is enabled
    does not raise an error when import_source is string
    does not raise an error when import_source is symbol
# [RSpecRunTime] RSpec elapsed time: 6 minutes 0.91 second. Current RSS: ~1474M. load average: 1.01 1.10 1.22 1/293 3774


  when import source is disabled
    raises an error
  with external authorization enabled
    does not save the project with an error if the service denies access
    saves the project when the user has access to the label
    does not save the project when the user has no access to the default label and no label is provided
# [RSpecRunTime] RSpec elapsed time: 6 minutes 2.5 seconds. Current RSS: ~1472M. load average: 1.01 1.10 1.22 1/293 3781


  with specialized project_authorization workers
    updates authorization for current_user
    schedules authorization update for users with access to group
# [RSpecRunTime] RSpec elapsed time: 6 minutes 4.93 seconds. Current RSS: ~1457M. load average: 1.01 1.10 1.22 1/290 3794


  shared Runners config
    when parent group is present
      default value based on parent group setting
        shared_runners_enabled: true, allow_to_override: false, desired_config_for_new_project: nil, expected_result_for_project: true
          creates project following the parent config
        shared_runners_enabled: false, allow_to_override: true, desired_config_for_new_project: nil, expected_result_for_project: false
          creates project following the parent config
        shared_runners_enabled: false, allow_to_override: false, desired_config_for_new_project: nil, expected_result_for_project: false
          creates project following the parent config
      parent group is present and allows desired config
        shared_runners_enabled: true, allow_to_override: false, desired_config_for_new_project: true, expected_result_for_project: true
          creates project following the parent config
        shared_runners_enabled: true, allow_to_override: false, desired_config_for_new_project: false, expected_result_for_project: false
          creates project following the parent config
        shared_runners_enabled: false, allow_to_override: true, desired_config_for_new_project: false, expected_result_for_project: false
          creates project following the parent config
        shared_runners_enabled: false, allow_to_override: true, desired_config_for_new_project: true, expected_result_for_project: true
          creates project following the parent config
        shared_runners_enabled: false, allow_to_override: false, desired_config_for_new_project: false, expected_result_for_project: false
          creates project following the parent config
      parent group is present and disallows desired config
        shared_runners_enabled: false, allow_to_override: false, desired_config_for_new_project: true
          does not create project
    parent group is not present
      desired_config: true, expected_result: true
        follows desired config
      desired_config: false, expected_result: false
        follows desired config
      desired_config: nil, expected_result: true
        follows desired config
  when using access_level params
    when using issues
    when using forking
    when using merge_requests
    when using wiki
    when using snippets
    when using builds
    when using pages
    when using metrics_dashboard
    when using analytics
    when using monitor
    when using operations
    when using security_and_compliance
    when using container_registry
    when using environments
    when using feature_flags
    when using releases
    when using infrastructure
    when using model_experiments
    when using model_registry
    when using repository
# [RSpecRunTime] RSpec elapsed time: 6 minutes 25.53 seconds. Current RSS: ~1457M. load average: 1.00 1.09 1.21 1/288 3979



# [RSpecRunTime] Finishing example group spec/services/projects/create_service_spec.rb. It took 1 minute 26.69 seconds. Expected to take 2 minutes 0.46 second.
# [RSpecRunTime] Starting example group spec/lib/banzai/filter/repository_link_filter_spec.rb. Expected to take 1 minute 31.98 seconds.

Banzai::Filter::RepositoryLinkFilter
  does not trigger a gitaly n+1
  does not raise an exception on invalid URIs
  does not raise an exception on URIs containing invalid utf-8 byte sequences
  does not raise an exception on URIs containing invalid utf-8 byte sequences in context requested path
  does not raise an exception with a garbled path
  does not explode with an escaped null byte
  ignores ref if commit is passed
  with a wiki
    does not modify any relative URL in anchor
    does not modify any relative URL in image
    does not modify any relative URL in video
    does not modify any relative URL in audio
# [RSpecRunTime] RSpec elapsed time: 6 minutes 35.25 seconds. Current RSS: ~1518M. load average: 1.00 1.09 1.21 1/293 4582


  without a repository
    does not modify any relative URL in anchor
    does not modify any relative URL in image
    does not modify any relative URL in video
    does not modify any relative URL in audio
# [RSpecRunTime] RSpec elapsed time: 6 minutes 37.25 seconds. Current RSS: ~1517M. load average: 1.00 1.09 1.21 1/293 4583


  with an empty repository
    does not modify any relative URL in anchor
    does not modify any relative URL in image
    does not modify any relative URL in video
    does not modify any relative URL in audio
# [RSpecRunTime] RSpec elapsed time: 6 minutes 39.53 seconds. Current RSS: ~1508M. load average: 1.00 1.09 1.21 1/293 4608


  without project repository access
    does not modify any relative URL in anchor
    does not modify any relative URL in image
    does not modify any relative URL in video
    does not modify any relative URL in audio
# [RSpecRunTime] RSpec elapsed time: 6 minutes 42.41 seconds. Current RSS: ~1510M. load average: 1.00 1.09 1.21 1/293 4661


  when public project repo with a valid commit
    handles Gitaly unavailable exceptions gracefully
    handles Gitaly timeout exceptions gracefully
    rebuilds absolute URL for a file in the repo
    does not modify relative URLs in system notes
    ignores absolute URLs with two leading slashes
    rebuilds relative URL for a file in the repo
    rebuilds relative URL for a missing file in the repo
    rebuilds relative URL for a file in the repo with leading ./
    rebuilds relative URL for a file in the repo up one directory
    rebuilds relative URL for a file in the repo up multiple directories
    rebuilds relative URL for a file in the repository root
    rebuilds relative URL for a file in the repo with an anchor
    rebuilds relative URL for a directory in the repo
    rebuilds relative URL for an image in the repo
    rebuilds relative URL for link to an image in the repo
    rebuilds relative URL for a video in the repo
    rebuilds relative URL for audio in the repo
    does not modify relative URL with an anchor only
    does not modify absolute URL
    does not call gitaly
    supports Unicode filenames
    supports percent sign in filenames
    when requested path is a file in the repo
      rebuilds URL relative to the containing directory
# [RSpecRunTime] RSpec elapsed time: 6 minutes 58.39 seconds. Current RSS: ~1526M. load average: 1.00 1.08 1.20 1/294 4931


    when requested path is a directory in the repo
      rebuilds URL relative to the directory
    when ref name contains percent sign
      correctly escapes the ref
    when ref name contains special chars
      correctly escapes the ref
    when requested path is a directory with space in the repo
      does not escape the space twice
  when private project repo with a valid commit
    handles Gitaly unavailable exceptions gracefully
    handles Gitaly timeout exceptions gracefully
    rebuilds absolute URL for a file in the repo
    does not modify relative URLs in system notes
    ignores absolute URLs with two leading slashes
    rebuilds relative URL for a file in the repo
    rebuilds relative URL for a missing file in the repo
    rebuilds relative URL for a file in the repo with leading ./
    rebuilds relative URL for a file in the repo up one directory
    rebuilds relative URL for a file in the repo up multiple directories
    rebuilds relative URL for a file in the repository root
    rebuilds relative URL for a file in the repo with an anchor
    rebuilds relative URL for a directory in the repo
    rebuilds relative URL for an image in the repo
    rebuilds relative URL for link to an image in the repo
    rebuilds relative URL for a video in the repo
    rebuilds relative URL for audio in the repo
    does not modify relative URL with an anchor only
    does not modify absolute URL
    does not call gitaly
    supports Unicode filenames
    supports percent sign in filenames
    when requested path is a file in the repo
      rebuilds URL relative to the containing directory
# [RSpecRunTime] RSpec elapsed time: 7 minutes 7.9 seconds. Current RSS: ~1517M. load average: 1.00 1.08 1.20 1/294 5103


    when requested path is a directory in the repo
      rebuilds URL relative to the directory
    when ref name contains percent sign
      correctly escapes the ref
    when ref name contains special chars
      correctly escapes the ref
    when requested path is a directory with space in the repo
      does not escape the space twice
  with a valid ref
    handles Gitaly unavailable exceptions gracefully
    handles Gitaly timeout exceptions gracefully
    rebuilds absolute URL for a file in the repo
    does not modify relative URLs in system notes
    ignores absolute URLs with two leading slashes
    rebuilds relative URL for a file in the repo
    rebuilds relative URL for a missing file in the repo
    rebuilds relative URL for a file in the repo with leading ./
    rebuilds relative URL for a file in the repo up one directory
    rebuilds relative URL for a file in the repo up multiple directories
    rebuilds relative URL for a file in the repository root
    rebuilds relative URL for a file in the repo with an anchor
    rebuilds relative URL for a directory in the repo
    rebuilds relative URL for an image in the repo
    rebuilds relative URL for link to an image in the repo
    rebuilds relative URL for a video in the repo
    rebuilds relative URL for audio in the repo
    does not modify relative URL with an anchor only
    does not modify absolute URL
    does not call gitaly
    supports Unicode filenames
    supports percent sign in filenames
    when requested path is a file in the repo
      rebuilds URL relative to the containing directory
# [RSpecRunTime] RSpec elapsed time: 7 minutes 25.41 seconds. Current RSS: ~1527M. load average: 1.00 1.07 1.20 1/294 5385


    when requested path is a directory in the repo
      rebuilds URL relative to the directory
    when ref name contains percent sign
      correctly escapes the ref
    when ref name contains special chars
      correctly escapes the ref
    when requested path is a directory with space in the repo
      does not escape the space twice

# [RSpecRunTime] Finishing example group spec/lib/banzai/filter/repository_link_filter_spec.rb. It took 1 minute 2.83 seconds. Expected to take 1 minute 31.98 seconds.
# [RSpecRunTime] Starting example group spec/services/suggestions/apply_service_spec.rb. Expected to take 1 minute 21.9 seconds.

Suggestions::ApplyService
  patch is appliable
    non-fork project
      behaves like successfully creates commit and updates suggestions
        updates the files with the new content
        updates suggestion applied and commit_id columns
        created commit has users email and name
        tracks apply suggestion event
        when a custom suggestion commit message
          is not specified
            uses the default commit message
# [RSpecRunTime] RSpec elapsed time: 7 minutes 36.9 seconds. Current RSS: ~1495M. load average: 1.16 1.10 1.20 1/295 6044


          is specified
            generates a custom commit message
# [RSpecRunTime] RSpec elapsed time: 7 minutes 38.62 seconds. Current RSS: ~1486M. load average: 1.16 1.10 1.20 1/295 6160


        with a user suggested commit message
          uses the user's commit message
# [RSpecRunTime] RSpec elapsed time: 7 minutes 40.26 seconds. Current RSS: ~1480M. load average: 1.15 1.10 1.20 1/295 6276


      when it fails to apply because a file was changed
        returns error message
# [RSpecRunTime] RSpec elapsed time: 7 minutes 42.04 seconds. Current RSS: ~1478M. load average: 1.15 1.10 1.20 1/295 6398


      when HEAD from position is different from source branch HEAD on repo
        returns error message
# [RSpecRunTime] RSpec elapsed time: 7 minutes 43.27 seconds. Current RSS: ~1477M. load average: 1.15 1.10 1.20 1/295 6458


      single suggestion
        author of suggestion applies suggestion
          created commit by same author and committer
# [RSpecRunTime] RSpec elapsed time: 7 minutes 44.95 seconds. Current RSS: ~1487M. load average: 1.13 1.10 1.20 1/295 6574


        another user applies suggestion
          created commit has authors info and commiters info
# [RSpecRunTime] RSpec elapsed time: 7 minutes 46.63 seconds. Current RSS: ~1489M. load average: 1.13 1.10 1.20 1/295 6690


      multiple suggestions
        when all the same author
          uses first authors information
# [RSpecRunTime] RSpec elapsed time: 7 minutes 48.42 seconds. Current RSS: ~1489M. load average: 1.13 1.10 1.20 1/295 6806


        when all different authors
          uses committers information
# [RSpecRunTime] RSpec elapsed time: 7 minutes 50.24 seconds. Current RSS: ~1488M. load average: 1.12 1.10 1.20 1/295 6922


      multiple suggestions applied sequentially
        applies multiple suggestions in subsequent versions correctly
# [RSpecRunTime] RSpec elapsed time: 7 minutes 54.59 seconds. Current RSS: ~1483M. load average: 1.11 1.10 1.20 1/295 7285


      multi-line suggestion
        behaves like successfully creates commit and updates suggestions
          updates the files with the new content
          updates suggestion applied and commit_id columns
          created commit has users email and name
          tracks apply suggestion event
          when a custom suggestion commit message
            is not specified
              uses the default commit message
# [RSpecRunTime] RSpec elapsed time: 8 minutes 1.59 seconds. Current RSS: ~1498M. load average: 1.10 1.10 1.20 1/295 7692


            is specified
              generates a custom commit message
# [RSpecRunTime] RSpec elapsed time: 8 minutes 3.02 seconds. Current RSS: ~1498M. load average: 1.10 1.10 1.20 1/295 7773


          with a user suggested commit message
            uses the user's commit message
# [RSpecRunTime] RSpec elapsed time: 8 minutes 4.45 seconds. Current RSS: ~1501M. load average: 1.10 1.10 1.20 1/295 7854


      remove an empty line suggestion
        behaves like successfully creates commit and updates suggestions
          updates the files with the new content
          updates suggestion applied and commit_id columns
          created commit has users email and name
          tracks apply suggestion event
          when a custom suggestion commit message
            is not specified
              uses the default commit message
# [RSpecRunTime] RSpec elapsed time: 8 minutes 11.36 seconds. Current RSS: ~1499M. load average: 1.17 1.11 1.20 1/295 8261


            is specified
              generates a custom commit message
# [RSpecRunTime] RSpec elapsed time: 8 minutes 12.81 seconds. Current RSS: ~1493M. load average: 1.17 1.11 1.20 1/295 8342


          with a user suggested commit message
            uses the user's commit message
# [RSpecRunTime] RSpec elapsed time: 8 minutes 14.21 seconds. Current RSS: ~1490M. load average: 1.17 1.11 1.20 1/295 8423


    fork-project
      updates file in the source project
# [RSpecRunTime] RSpec elapsed time: 8 minutes 16.7 seconds. Current RSS: ~1485M. load average: 1.15 1.11 1.20 1/295 8526


  no permission
    user cannot write in project repo
      returns error
# [RSpecRunTime] RSpec elapsed time: 8 minutes 18.09 seconds. Current RSS: ~1483M. load average: 1.15 1.11 1.20 2/295 8587


  patch is not appliable
    diff file was not found
      returns error message
      behaves like service not tracking apply suggestion event
        does not track apply suggestion event
# [RSpecRunTime] RSpec elapsed time: 8 minutes 20.7 seconds. Current RSS: ~1480M. load average: 1.14 1.10 1.20 1/295 8706


    when not all suggestions belong to the same branch
      renders error message
      behaves like service not tracking apply suggestion event
        does not track apply suggestion event
# [RSpecRunTime] RSpec elapsed time: 8 minutes 24.01 seconds. Current RSS: ~1486M. load average: 1.14 1.10 1.20 1/295 8921


    suggestion is not appliable
      returns error message
      behaves like service not tracking apply suggestion event
        does not track apply suggestion event
# [RSpecRunTime] RSpec elapsed time: 8 minutes 27.59 seconds. Current RSS: ~1493M. load average: 1.13 1.10 1.19 1/295 9040


    lines of suggestions overlap
      returns error message
      behaves like service not tracking apply suggestion event
        does not track apply suggestion event
# [RSpecRunTime] RSpec elapsed time: 8 minutes 30.29 seconds. Current RSS: ~1503M. load average: 1.28 1.13 1.20 1/295 9189



# [RSpecRunTime] Finishing example group spec/services/suggestions/apply_service_spec.rb. It took 1 minute 1.89 seconds. Expected to take 1 minute 21.9 seconds.
# [RSpecRunTime] Starting example group spec/policies/note_policy_spec.rb. Expected to take 1 minute 2.85 seconds.

NotePolicy
  #rules
    when the noteable is a deleted commit
      allows to read
    when the noteable is a commit
      when the project is private
        behaves like a discussion with a private noteable
          when the note author can no longer see the noteable
            behaves like user cannot read or act on the note
              is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
          when the note author can still see the noteable
            can edit the note
      when the project is public
        when repository access level is private
          behaves like a discussion with a private noteable
            when the note author can no longer see the noteable
              behaves like user cannot read or act on the note
                is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
            when the note author can still see the noteable
              can edit the note
    when the noteable is a Design
      can read, award emoji and reposition the note
      when project is private
        behaves like user cannot read or act on the note
          is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
# [RSpecRunTime] RSpec elapsed time: 8 minutes 36.51 seconds. Current RSS: ~1547M. load average: 1.26 1.13 1.20 1/294 9242


    when the noteable is a personal snippet
      behaves like a note on a public noteable
        can only read and award emoji on the note
      when user is the author of the personal snippet
        can edit note
        when it is private
          behaves like user cannot read or act on the note
            is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
# [RSpecRunTime] RSpec elapsed time: 8 minutes 38.88 seconds. Current RSS: ~1551M. load average: 1.26 1.13 1.20 1/294 9243


    when the project is public
      when user is not the author of the note
        behaves like a note on a public noteable
          can only read and award emoji on the note
      when the note author is not a project member
        can edit a note
      when the noteable is a project snippet
        can edit note
        when it is private
          behaves like a discussion with a private noteable
            when the note author can no longer see the noteable
              behaves like user cannot read or act on the note
                is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
# [RSpecRunTime] RSpec elapsed time: 8 minutes 41.68 seconds. Current RSS: ~1537M. load average: 1.24 1.13 1.20 1/294 9244


            when the note author can still see the noteable
              can edit the note
      when a discussion is confidential
        behaves like a discussion with a private noteable
          when the note author can no longer see the noteable
            behaves like user cannot read or act on the note
              is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
          when the note author can still see the noteable
            can edit the note
      when a discussion is locked
        when the note author is a project member
          can edit a note
        when the note author is not a project member
          can not edit a note
          can read a note
# [RSpecRunTime] RSpec elapsed time: 8 minutes 46.17 seconds. Current RSS: ~1519M. load average: 1.22 1.13 1.20 1/289 9245


      for discussions
        allows the author to manage the discussion
        when the user does not have access to the noteable
          behaves like a discussion with a private noteable
            when the note author can no longer see the noteable
              behaves like user cannot read or act on the note
                is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
# [RSpecRunTime] RSpec elapsed time: 8 minutes 47.65 seconds. Current RSS: ~1515M. load average: 1.22 1.13 1.20 1/289 9246


            when the note author can still see the noteable
              can edit the note
      when it is a system note
        when noteable is a public issue
          when user is project member
            behaves like user can read the note
              allows the user to read the note
            behaves like user can act on the note
              allows the user to read the note
          when user is not project member
            behaves like user can read the note
              allows the user to read the note
          when user is anonymous
            behaves like user can read the note
              allows the user to read the note
          when notes widget is disabled for task
            when noteable is task
              behaves like user cannot read or act on the note
                is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
            when noteable is issue
              behaves like user can read the note
                allows the user to read the note
              behaves like user can act on the note
                allows the user to read the note
        when it is a system note referencing a confidential issue
          when user is project member
            behaves like user can read the note
              allows the user to read the note
            behaves like user can act on the note
              allows the user to read the note
          when user is not project member
            behaves like user cannot read or act on the note
              is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
# [RSpecRunTime] RSpec elapsed time: 8 minutes 57.55 seconds. Current RSS: ~1505M. load average: 1.18 1.12 1.20 1/289 9247


          when user is anonymous
            behaves like user cannot read or act on the note
              is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji
      with internal notes
        for issues
          disallows noteable assignees to read all notes
          behaves like internal notes permissions
            does not allow non members to read internal notes and replies
            does not allow guests to read internal notes and replies
            allows reporter to read all notes but not resolve and admin them
            allows developer to read and resolve all notes
            allows maintainers to read all notes and admin them
            disallows noteable author to read and resolve all notes
            when admin mode is enabled
              allows admins to read all notes and admin them
# [RSpecRunTime] RSpec elapsed time: 9 minutes 10.49 seconds. Current RSS: ~1491M. load average: 1.14 1.12 1.19 1/289 9248


            when admin mode is disabled
              does not allow non members to read internal notes and replies
# [RSpecRunTime] RSpec elapsed time: 9 minutes 12.13 seconds. Current RSS: ~1490M. load average: 1.14 1.12 1.19 1/289 9249



# [RSpecRunTime] Finishing example group spec/policies/note_policy_spec.rb. It took 41.76 seconds. Expected to take 1 minute 2.85 seconds.
# [RSpecRunTime] Starting example group spec/serializers/merge_request_widget_entity_spec.rb. Expected to take 1 minute 0.06 second.

MergeRequestWidgetEntity
  has email_patches_path
  has plain_diff_path
  has human access
  has new pipeline path for project
  has security_reports_docs_path
  source_project_full_path
    includes the full path of the source project
    when the source project is missing
      returns `nil` for the source project
# [RSpecRunTime] RSpec elapsed time: 9 minutes 20.47 seconds. Current RSS: ~1550M. load average: 1.12 1.11 1.19 1/296 9548


  can_create_pipeline_in_target_project
    when user has permission
      includes the correct permission info
# [RSpecRunTime] RSpec elapsed time: 9 minutes 21.8 seconds. Current RSS: ~1552M. load average: 1.12 1.11 1.19 1/296 9592


    when user does not have permission
      includes the correct permission info
# [RSpecRunTime] RSpec elapsed time: 9 minutes 23.12 seconds. Current RSS: ~1554M. load average: 1.12 1.11 1.19 1/295 9636


  issues links
    includes issues links when requested
    omits issue links by default
# [RSpecRunTime] RSpec elapsed time: 9 minutes 25.38 seconds. Current RSS: ~1558M. load average: 1.11 1.11 1.19 1/295 9723


  merge_request_add_ci_config_path
    when there is a standard ci config file in the source project
      no ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 26.81 seconds. Current RSS: ~1559M. load average: 1.11 1.11 1.19 1/295 9781


    when there is no standard ci config file in the source project
      when user has permissions
        has add ci config path
        has expected params
        when auto devops is enabled
          returns a blank ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 30.57 seconds. Current RSS: ~1562M. load average: 1.10 1.11 1.19 1/295 9911


        when source project is missing
          returns a blank ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 31.87 seconds. Current RSS: ~1566M. load average: 1.10 1.11 1.19 1/295 9951


        when there are no commits
          returns a blank ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 33.2 seconds. Current RSS: ~1569M. load average: 1.10 1.11 1.19 1/295 9995


        when build feature is disabled
          has no path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 34.47 seconds. Current RSS: ~1571M. load average: 1.10 1.11 1.19 1/295 10039


        when creating the pipeline is not allowed
          has no path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 35.73 seconds. Current RSS: ~1572M. load average: 1.09 1.11 1.19 1/295 10083


        when merge request is merged
          returns a blank ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 37.06 seconds. Current RSS: ~1573M. load average: 1.09 1.11 1.19 1/295 10123


        when merge request is closed
          returns a blank ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 38.35 seconds. Current RSS: ~1573M. load average: 1.09 1.11 1.19 1/295 10163


        when source branch does not exist
          returns a blank ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 39.71 seconds. Current RSS: ~1573M. load average: 1.08 1.10 1.18 3/295 10209


      when user does not have permissions
        has add ci config path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 41.02 seconds. Current RSS: ~1573M. load average: 1.08 1.10 1.18 1/295 10253


  user callouts
    provides a valid path value for user callout path
    provides a valid value for suggest pipeline feature id
# [RSpecRunTime] RSpec elapsed time: 9 minutes 43.34 seconds. Current RSS: ~1577M. load average: 1.08 1.10 1.18 1/295 10340


  when source project is deleted
    returns a blank rebase_path
# [RSpecRunTime] RSpec elapsed time: 9 minutes 45.27 seconds. Current RSS: ~1570M. load average: 1.08 1.10 1.18 1/295 10353


  has source_project_default_url
    returns the default url to the source project
    when source project is nil
      returns nil
# [RSpecRunTime] RSpec elapsed time: 9 minutes 47.53 seconds. Current RSS: ~1567M. load average: 1.08 1.10 1.18 1/295 10437


  when gitpod is disabled
    exposes gitpod attributes
# [RSpecRunTime] RSpec elapsed time: 9 minutes 48.85 seconds. Current RSS: ~1561M. load average: 1.08 1.10 1.18 1/295 10481


  when gitpod is enabled
    exposes gitpod attributes
    when gitpod is enabled for user
      exposes gitpod_enabled as true
# [RSpecRunTime] RSpec elapsed time: 9 minutes 51.16 seconds. Current RSS: ~1566M. load average: 1.07 1.10 1.18 1/295 10568


  is_dismissed_suggest_pipeline
    when user is logged in
      when the suggest pipeline feature is enabled
        is false
        when suggest pipeline has been dismissed
          is true
# [RSpecRunTime] RSpec elapsed time: 9 minutes 53.45 seconds. Current RSS: ~1565M. load average: 1.07 1.10 1.18 1/295 10655


      when the suggest pipeline feature is disabled
        is true
# [RSpecRunTime] RSpec elapsed time: 9 minutes 54.69 seconds. Current RSS: ~1565M. load average: 1.07 1.10 1.18 1/295 10699


    when user is not logged in
      is true
# [RSpecRunTime] RSpec elapsed time: 9 minutes 55.76 seconds. Current RSS: ~1565M. load average: 1.07 1.10 1.18 1/295 10743



# [RSpecRunTime] Finishing example group spec/serializers/merge_request_widget_entity_spec.rb. It took 43.69 seconds. Expected to take 1 minute 0.06 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/health_checks/redis_spec.rb. Expected to take 52.47 seconds.

Gitlab::HealthChecks::Redis
  all checks
    Gitlab::HealthChecks::Redis::BufferedCounterCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_buffered_counter_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Buffered_counter check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Buffered_counter check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Buffered_counter check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::CacheCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_cache_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_cache_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_cache_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_cache_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_cache_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_cache_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_cache_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_cache_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_cache_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Cache check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Cache check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Cache check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::ClusterRepositoryCacheCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_cluster_repository_cache_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Cluster_repository_cache check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Cluster_repository_cache check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Cluster_repository_cache check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::DbLoadBalancingCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_db_load_balancing_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Db_load_balancing check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Db_load_balancing check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Db_load_balancing check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::FeatureFlagCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_feature_flag_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_feature_flag_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_feature_flag_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_feature_flag_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_feature_flag_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_feature_flag_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_feature_flag_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_feature_flag_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_feature_flag_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Feature_flag check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Feature_flag check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Feature_flag check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::QueuesCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_queues_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_queues_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_queues_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_queues_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_queues_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Queues check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Queues check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Queues check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::QueuesMetadataCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_queues_metadata_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Queues_metadata check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Queues_metadata check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Queues_metadata check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::RateLimitingCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_rate_limiting_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Rate_limiting check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Rate_limiting check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Rate_limiting check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::RepositoryCacheCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_repository_cache_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_repository_cache_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_repository_cache_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_repository_cache_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_repository_cache_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_repository_cache_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_repository_cache_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_repository_cache_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_repository_cache_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Repository_cache check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Repository_cache check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Repository_cache check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::SessionsCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_sessions_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_sessions_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_sessions_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_sessions_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_sessions_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_sessions_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_sessions_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_sessions_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_sessions_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Sessions check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Sessions check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Sessions check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::SharedStateCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_shared_state_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_shared_state_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_shared_state_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_shared_state_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_shared_state_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_shared_state_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_shared_state_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_shared_state_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_shared_state_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Shared_state check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Shared_state check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Shared_state check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::TraceChunksCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_trace_chunks_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Trace_chunks check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Trace_chunks check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Trace_chunks check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::ChatCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_chat_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_chat_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_chat_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_chat_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_chat_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_chat_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_chat_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_chat_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_chat_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Chat check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Chat check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Chat check result: unexpected error", :success => false}
    Gitlab::HealthChecks::Redis::WorkhorseCheck
      #metrics
        Check is passing
          is expected to include (have attributes {:name => "redis_workhorse_ping_success", :value => 1})
          is expected to include (have attributes {:name => "redis_workhorse_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_workhorse_ping_latency_seconds", :value => (be >= 0)})
        Check is misbehaving
          is expected to include (have attributes {:name => "redis_workhorse_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_workhorse_ping_timeout", :value => 0})
          is expected to include (have attributes {:name => "redis_workhorse_ping_latency_seconds", :value => (be >= 0)})
        Check is timeouting
          is expected to include (have attributes {:name => "redis_workhorse_ping_success", :value => 0})
          is expected to include (have attributes {:name => "redis_workhorse_ping_timeout", :value => 1})
          is expected to include (have attributes {:name => "redis_workhorse_ping_latency_seconds", :value => (be >= 0)})
      #readiness
        Check returns ok
          is expected to have attributes {:success => true}
        Check is misbehaving
          is expected to have attributes {:message => "unexpected Workhorse check result: error!", :success => false}
        Check is timeouting
          is expected to have attributes {:message => "Workhorse check timed out", :success => false}
        Check is raising an unhandled exception
          is expected to have attributes {:message => "unexpected Workhorse check result: unexpected error", :success => false}
  ALL_INSTANCE_CHECKS
    is expected to include Gitlab::HealthChecks::Redis::CacheCheck and Gitlab::HealthChecks::Redis::QueuesCheck
    contains a check for each redis instance

# [RSpecRunTime] Finishing example group spec/lib/gitlab/health_checks/redis_spec.rb. It took 21.47 seconds. Expected to take 52.47 seconds.
# [RSpecRunTime] Starting example group spec/models/gpg_key_spec.rb. Expected to take 45.33 seconds.

GpgKey
  does not allow STI
  associations
    is expected to belong to user required: false
    is expected to have many subkeys
# [RSpecRunTime] RSpec elapsed time: 10 minutes 19.46 seconds. Current RSS: ~1704M. load average: 1.05 1.09 1.18 1/289 10768


  validation
    is expected to validate that :user cannot be empty/falsy
    is expected to validate that :key cannot be empty/falsy
    is expected to validate that :key is case-sensitively unique
    is expected to allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey\n-----END PGP PUBLIC KEY BLOCK-----"›
    is expected not to allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey"›
    is expected not to allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey\n-----BEGIN PGP PUBLIC KEY BLOCK-----"›
    is expected not to allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK----------END PGP PUBLIC KEY BLOCK-----"›
    is expected not to allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----"›
    is expected not to allow :key to be ‹"-----END PGP PUBLIC KEY BLOCK-----"›
    is expected not to allow :key to be ‹"key\n-----END PGP PUBLIC KEY BLOCK-----"›
    is expected not to allow :key to be ‹"BEGIN PGP"›
# [RSpecRunTime] RSpec elapsed time: 10 minutes 27.39 seconds. Current RSS: ~1689M. load average: 1.04 1.09 1.17 1/289 10945


  callbacks
    extract_fingerprint
      extracts the fingerprint from the gpg key
    extract_primary_keyid
      extracts the primary keyid from the gpg key
    generate_subkeys
      extracts the subkeys from the gpg key
# [RSpecRunTime] RSpec elapsed time: 10 minutes 29.87 seconds. Current RSS: ~1691M. load average: 1.12 1.10 1.18 1/289 11017


  #key=
    strips white spaces
    does not strip when the key is nil
  #user_infos
    returns the user infos from the gpg key
# [RSpecRunTime] RSpec elapsed time: 10 minutes 31.18 seconds. Current RSS: ~1686M. load average: 1.12 1.10 1.18 1/289 11049


  #verified_user_infos
    returns the user infos if it is verified
    returns an empty array if the user info is not verified
# [RSpecRunTime] RSpec elapsed time: 10 minutes 33.91 seconds. Current RSS: ~1673M. load average: 1.12 1.10 1.18 1/289 11134


  #emails_with_verified_status
    email is verified if the user has the matching email
# [RSpecRunTime] RSpec elapsed time: 10 minutes 35.3 seconds. Current RSS: ~1671M. load average: 1.19 1.12 1.18 1/289 11177


  #verified?
    returns true if one of the email addresses in the key belongs to the user
    returns false if none of the email addresses in the key does not belong to the user
# [RSpecRunTime] RSpec elapsed time: 10 minutes 38.08 seconds. Current RSS: ~1666M. load average: 1.19 1.12 1.18 1/289 11262


  verified_and_belongs_to_email?
    returns false if none of the email addresses in the key does not belong to the user
    returns false if one of the email addresses in the key belongs to the user and does not match the provided email
    returns true if one of the email addresses in the key belongs to the user and matches the provided email
    returns true if one of the email addresses in the key belongs to the user and case-insensitively matches the provided email
# [RSpecRunTime] RSpec elapsed time: 10 minutes 43.46 seconds. Current RSS: ~1664M. load average: 1.09 1.10 1.18 1/289 11431


  #revoke
    invalidates all associated gpg signatures and destroys the key
    deletes all the associated subkeys
    invalidates all signatures associated to the subkeys
# [RSpecRunTime] RSpec elapsed time: 10 minutes 48.54 seconds. Current RSS: ~1648M. load average: 1.08 1.10 1.18 1/289 11556



# [RSpecRunTime] Finishing example group spec/models/gpg_key_spec.rb. It took 31.25 seconds. Expected to take 45.33 seconds.
# [RSpecRunTime] Starting example group spec/helpers/submodule_helper_spec.rb. Expected to take 42.11 seconds.

SubmoduleHelper
  as view helpers in view context
    behaves like submodule_links
      submodule on self
        detects ssh on standard port
        detects ssh on standard port without a username
        detects ssh on non-standard port
        detects ssh on non-standard port without a username
        detects http on standard port
        detects http on non-standard port
        works with relative_url_root
        works with subgroups
# [RSpecRunTime] RSpec elapsed time: 10 minutes 51.64 seconds. Current RSS: ~1574M. load average: 1.08 1.09 1.18 1/289 11557


      submodule on gist.github.com
        detects ssh
        detects http
        detects https
        handles urls with no .git on the end
        returns original with non-standard url
      submodule on github.com
        detects ssh
        detects http
        detects https
        handles urls with no .git on the end
        returns original with non-standard url
      in-repository submodule
        in-repository
      submodule on gitlab.com
        detects ssh
        detects http
        detects https
        handles urls with no .git on the end
        handles urls with trailing whitespace
        returns original with non-standard url
      submodule on unsupported
        sanitizes unsupported protocols
        sanitizes unsupported protocols disguised as a repository URL
        sanitizes invalid URL with extended ASCII
        returns original
      submodules with relative links
        handles project under same group
        handles trailing whitespace
        handles project under another top group
        repo path resolves to be located at root (namespace absent)
          returns nil
# [RSpecRunTime] RSpec elapsed time: 10 minutes 56.81 seconds. Current RSS: ~1567M. load average: 1.07 1.09 1.17 1/289 11558


        repo path resolves to be located underneath current project path
          returns nil because it is not possible to have repo nested under another repo
        subgroup
          handles referencing descendent group's project
          handles referencing another top group's project
          project in sub group
            handles referencing ancestor group's project
# [RSpecRunTime] RSpec elapsed time: 10 minutes 59.15 seconds. Current RSS: ~1538M. load average: 1.07 1.09 1.17 1/289 11559


        personal project
          handles referencing another personal project
# [RSpecRunTime] RSpec elapsed time: 11 minutes 0.4 second. Current RSS: ~1543M. load average: 1.06 1.09 1.17 1/289 11560


      unknown submodule
        returns no links
  as stand-alone module
    behaves like submodule_links
      submodule on self
        detects ssh on standard port
        detects ssh on standard port without a username
        detects ssh on non-standard port
        detects ssh on non-standard port without a username
        detects http on standard port
        detects http on non-standard port
        works with relative_url_root
        works with subgroups
      submodule on gist.github.com
        detects ssh
        detects http
        detects https
        handles urls with no .git on the end
        returns original with non-standard url
      submodule on github.com
        detects ssh
        detects http
        detects https
        handles urls with no .git on the end
        returns original with non-standard url
      in-repository submodule
        in-repository
      submodule on gitlab.com
        detects ssh
        detects http
        detects https
        handles urls with no .git on the end
        handles urls with trailing whitespace
        returns original with non-standard url
      submodule on unsupported
        sanitizes unsupported protocols
        sanitizes unsupported protocols disguised as a repository URL
        sanitizes invalid URL with extended ASCII
        returns original
      submodules with relative links
        handles project under same group
        handles trailing whitespace
        handles project under another top group
        repo path resolves to be located at root (namespace absent)
          returns nil
# [RSpecRunTime] RSpec elapsed time: 11 minutes 6.88 seconds. Current RSS: ~1588M. load average: 1.06 1.09 1.17 1/289 11561


        repo path resolves to be located underneath current project path
          returns nil because it is not possible to have repo nested under another repo
        subgroup
          handles referencing descendent group's project
          handles referencing another top group's project
          project in sub group
            handles referencing ancestor group's project
# [RSpecRunTime] RSpec elapsed time: 11 minutes 9.32 seconds. Current RSS: ~1589M. load average: 1.06 1.09 1.17 1/289 11562


        personal project
          handles referencing another personal project
      unknown submodule
        returns no links

# [RSpecRunTime] Finishing example group spec/helpers/submodule_helper_spec.rb. It took 21.35 seconds. Expected to take 42.11 seconds.
# [RSpecRunTime] Starting example group spec/models/abuse_report_spec.rb. Expected to take 37.5 seconds.

AbuseReport
  does not allow STI
  is expected to be valid
  associations
    is expected to belong to reporter class_name => User required: false inverse_of => reported_abuse_reports
    is expected to belong to resolved_by class_name => User required: false inverse_of => resolved_abuse_reports
    is expected to belong to user required: false inverse_of => abuse_reports
    is expected to have many events class_name => ResourceEvents::AbuseReportEvent inverse_of => abuse_report
    is expected to have many notes
    is expected to have many user_mentions class_name => Abuse::Reports::UserMention
    is expected to have many admin_abuse_report_assignees class_name => Admin::AbuseReportAssignee
    is expected to have many assignees class_name => User through admin_abuse_report_assignees
    aliases reporter to author
# [RSpecRunTime] RSpec elapsed time: 11 minutes 12.08 seconds. Current RSS: ~1616M. load average: 1.05 1.09 1.17 1/289 11563


  validations
    is expected to validate that :reporter cannot be empty/falsy
    is expected to validate that :user cannot be empty/falsy
    is expected to validate that :message cannot be empty/falsy
    is expected to validate that :category cannot be empty/falsy
    is expected to validate that :user_id is case-sensitively unique within the scope of :reporter_id and :category, producing a custom validation error on failure
    is expected to validate that the length of :reported_from_url is at most 512
    is expected to allow :reported_from_url to be ‹"http://gitlab.com"›
    is expected to allow :reported_from_url to be ‹"https://gitlab.com"›
    is expected not to allow :reported_from_url to be ‹"ftp://example.com"›
    is expected not to allow :reported_from_url to be ‹"javascript:alert(window.opener.document.location)"›
    is expected to allow :reported_from_url to be ‹"http://localhost:9000"›
    is expected to allow :reported_from_url to be ‹"https://gitlab.com"›
    is expected to validate that the length of :mitigation_steps is at most 1000
    is expected to allow :links_to_spam to be ‹[]›
    is expected to allow :links_to_spam to be ‹nil›
    is expected to allow :links_to_spam to be ‹""›
    is expected to allow :links_to_spam to be ‹["https://gitlab.com"]›
    is expected to allow :links_to_spam to be ‹["http://localhost:9000"]›
    is expected not to allow :links_to_spam to be ‹["spam"]›
    is expected not to allow :links_to_spam to be ‹["http://localhost:9000", "spam"]›
    is expected to allow :links_to_spam to be ‹["https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com"]›
    is expected not to allow :links_to_spam to be ‹["https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com", "https://gitlab.com"]›
    is expected to allow :links_to_spam to be ‹["https://gitlab.com/KIf8itP1nXerTpJDQeRrxvTbhxEqY205jMijz13oyLAMeBsI6EPTQ6ndE4EDRNrwTEgvzmRPqGAyUoHOQUvX4djH1wH8XGJetdmTUuskdhlygh7JiFoDl2wxYummnZJU8AausiBoJMa2LcpabAPwxOCfcXGvLFqoZ0TOioobuPnIdZI9V1kEI7harsSt6gcHqI9ziMRceTSqrzGh9R6yLc1OOiWRUyMI0uFNA1DzXiO3q7TkdV8g1sWjxxmIgAAVRnzIOM9z9jSlikaEEjgNixlmQPB3RYfcsLpW3hZv2qljUGlDcd09kT3w8wmnsjiPEa0UePbJsGMk28grQVGdumirEUklZnrL27agCFUZzbyuQ1jUnTkS1mnoMakq5YxXJjgnu1FbcOgxTvZKVoB85nm4ycA0FMSAAwKaevrtyh0FbsnJq2HUFNatoYgkJv3FCw4jw5OEBSN0nwoPzlmhCLdZnaKBs9m...›
    is expected not to allow :links_to_spam to be ‹["https://gitlab.com/MJoSht9sfpWNikaSz5yRoiJ3JwpgPWaPkNZx7OvW5AUmkfUkdRukuC9epk0sQRu98X5WP7HMW2BHOWkCMJfNjmQPBjdIKIUt7IcUQIYzqQIeIaLYdUQyjwKCmqHKeIePbMmaT3A6JoplbPAPNSYax4rvnXFP3SEthTH7rEf4aYgWyemh9GDibsgSHP5bZ3vaKUrrvQqkiWEp0WPoDNSXVRTGr5fZ5oT3kjdDYbLAxE10nviU3c1hsTzWhYxcecQN5PasTZHlJW6PbEe3g6MBJlurGR6hr6BydDNPhB4XFGWgsaszzuBvkq8BCnTbldrmsNHJaFUcV5T1ds5sPRO5HTEiLynV6NIv6FiIDYouEv1AvQy2K21Vb2FtXfR1MntqavpArpt7lOZ205cNTZGT3NCsQKq38c9yVQuRxQlStl7UdV18sK8NKvVBMBukTMr0TXR8RiMP1hb3quVYSzPBaRoln9KdYG4...›
    for screenshot
      is expected not to allow :screenshot to be ‹#<Rack::Test::UploadedFile:0x00007c9b61682850 @content_type="text/plain", @original_filename="doc_sample.txt", @tempfile=#<Tempfile:/tmp/doc_sample20240220-338-6mfo70.txt>>›
      is expected to allow :screenshot to be ‹#<Rack::Test::UploadedFile:0x00007c9b60d24f10 @content_type="image/jpg", @original_filename="rails_sample.jpg", @tempfile=#<Tempfile:/tmp/rails_sample20240220-338-5pduqz.jpg>>›
      is expected to allow :screenshot to be ‹nil›
      is expected to allow :screenshot to be ‹""›
# [RSpecRunTime] RSpec elapsed time: 11 minutes 18.87 seconds. Current RSS: ~1687M. load average: 1.13 1.10 1.18 1/289 11564


    evidence
      is expected not to allow :evidence to be ‹"string"›
      is expected not to allow :evidence to be ‹1.0›
      is expected to allow :evidence to be ‹nil›
      is expected to allow :evidence to be ‹{issues: [{:id=>1, :title=>"test issue title", :description=>"test issue content"}], snippets: [{:id=>2, :content=>"snippet content"}], notes: [{:id=>44, :content=>"notes content"}], user: {:login_count=>1, :account_age=>3, :spam_score=>0.3, :telesign_score=>0.4, :arkos_score=>0.2, :pvs_score=>0.8, :product_coverage=>0.8, :virus_total_score=>0.2}}›
# [RSpecRunTime] RSpec elapsed time: 11 minutes 19.92 seconds. Current RSS: ~1695M. load average: 1.12 1.10 1.18 1/289 11565


  scopes
    .by_reporter_id
      returns reports with reporter_id equal to the given user id
    .open
      returns reports without resolved_at value
    .closed
      returns reports with resolved_at value
    .by_category
      returns abuse reports with the specified category
    .aggregated_by_user_and_category
      when sort_by_count = true
        sorts by aggregated_count in descending order and created_at in descending order
        returns count with aggregated reports
      when sort_by_count = false
        does not sort using a specific order
  before_validation
    when links to spam contains empty strings
      removes empty strings
  #remove_user
    blocks the user
    lets a worker delete the user
  #notify
    delivers
    returns early when not persisted
  #screenshot_path
    with asset host configured
      returns a full URL with the asset host and system path
    when no asset path configured
      returns a full URL with the base url and system path
  #report_type
    when reported from an issue
      is expected to eq :issue
# [RSpecRunTime] RSpec elapsed time: 11 minutes 24.7 seconds. Current RSS: ~1675M. load average: 1.11 1.10 1.17 1/295 11606


    when reported from a merge request
      is expected to eq :merge_request
    when reported from a profile
      is expected to eq :profile
    comment type
      when reported from an issue comment
        is expected to eq :comment
      when reported from a merge request comment
        is expected to eq :comment
      when anchor exists not from an issue or merge request URL
        is expected to eq :profile
      when note id is invalid
        is expected to eq :merge_request
    when URL cannot be matched
      is expected to be nil
  #reported_content
    when reported from an issue
      is expected to eq "<p data-sourcepos=\"1:1-1:17\" dir=\"auto\">issue description</p>"
# [RSpecRunTime] RSpec elapsed time: 11 minutes 26.88 seconds. Current RSS: ~1679M. load average: 1.11 1.10 1.17 1/295 11646


    when reported from a merge request
      is expected to eq "<p data-sourcepos=\"1:1-1:14\" dir=\"auto\">mr description</p>"
    when reported from a merge request with an invalid note ID
      is expected to eq "<p data-sourcepos=\"1:1-1:14\" dir=\"auto\">mr description</p>"
    when reported from a profile
      is expected to be nil
    when reported from an unknown URL
      is expected to be nil
    when reported from an invalid URL
      is expected to be nil
    when reported from an issue comment
      is expected to eq "<p data-sourcepos=\"1:1-1:16\" dir=\"auto\">comment in issue</p>"
    when reported from a merge request comment
      is expected to eq "<p data-sourcepos=\"1:1-1:13\" dir=\"auto\">comment in mr</p>"
    when report type cannot be determined, because the comment does not exist
      is expected to be nil
  #past_closed_reports_for_user
    returns past closed reports for the same user
  #similar_open_reports_for_user
    returns open reports for the same user and category
    returns no abuse reports when the report is closed
  enums
    is expected to define :category as an enum backed by an integer with values ‹{spam: 1, offensive: 2, phishing: 3, crypto: 4, credentials: 5, copyright: 6, malware: 7, other: 8}›

# [RSpecRunTime] Finishing example group spec/models/abuse_report_spec.rb. It took 19.51 seconds. Expected to take 37.5 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/reflection_spec.rb. Expected to take 36.43 seconds.

Gitlab::Database::Reflection
  #username
    when a username is set
      returns the username
    when a username is not set
      returns the value of the USER environment variable
  #database_name
    returns the name of the database
  #adapter_name
    returns the database adapter name
  #human_adapter_name
    when the adapter is PostgreSQL
      returns PostgreSQL
    when the adapter is not PostgreSQL
      returns Unknown
  #postgresql?
    when using PostgreSQL
      returns true
    when not using PostgreSQL
      returns false
  #db_read_only?
    detects a read-only database
    detects a read-only database
    detects a read-write database
    detects a read-write database
  #db_read_write?
    detects a read-only database
    detects a read-only database
    detects a read-write database
    detects a read-write database
  #version
    memoizes the result
    on postgresql
      extracts the version number
  #postgresql_minimum_supported_version?
    returns false when using PostgreSQL 10
    returns false when using PostgreSQL 11
    returns false when using PostgreSQL 12
    returns true when using PostgreSQL 13
  #cached_column_exists?
    only retrieves the data from the schema cache
  #cached_table_exists?
    only retrieves the data from the schema cache
    returns false when database does not exist
  #exists?
    returns true if the database exists
    returns false if the database doesn't exist
  #system_id
    returns the PostgreSQL system identifier
  #flavor
    re-raises exceptions not matching expected messages
    recognizes Amazon Aurora PostgreSQL
    recognizes PostgreSQL on Amazon RDS
    recognizes CloudSQL for PostgreSQL
    recognizes Azure Database for PostgreSQL - Flexible Server
    recognizes Azure Database for PostgreSQL - Single Server
    recognizes AlloyDB for PostgreSQL
    returns nil if can not recognize the flavor
# [RSpecRunTime] RSpec elapsed time: 11 minutes 53.51 seconds. Current RSS: ~1488M. load average: 1.00 1.07 1.16 1/289 11647


  #config
    returns a HashWithIndifferentAccess
    returns a default pool size
    does not cache its results

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/reflection_spec.rb. It took 24.59 seconds. Expected to take 36.43 seconds.
# [RSpecRunTime] Starting example group spec/services/users/destroy_service_spec.rb. Expected to take 32.6 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: 11 minutes 56.68 seconds. Current RSS: ~1500M. load average: 1.00 1.07 1.16 1/289 11648


    personal projects in pending_delete
      destroys a personal project in pending_delete
    solo owned groups present
      returns the user with attached errors
      does not delete the user, nor the group
# [RSpecRunTime] RSpec elapsed time: 11 minutes 59.15 seconds. Current RSS: ~1518M. load average: 1.00 1.07 1.16 1/289 11649


    deletions with solo owned groups
      deletes solo owned groups
# [RSpecRunTime] RSpec elapsed time: 12 minutes 0.64 second. Current RSS: ~1519M. load average: 1.00 1.07 1.16 1/289 11650


    deletions with inherited group owners
      does not delete the group
# [RSpecRunTime] RSpec elapsed time: 12 minutes 2.23 seconds. Current RSS: ~1520M. load average: 1.00 1.07 1.16 1/289 11651


    user personal's repository removal
      storages
        legacy storage
          removes repository
# [RSpecRunTime] RSpec elapsed time: 12 minutes 3.32 seconds. Current RSS: ~1521M. load average: 1.00 1.07 1.16 1/290 11658


        hashed storage
          removes repository
# [RSpecRunTime] RSpec elapsed time: 12 minutes 4.42 seconds. Current RSS: ~1518M. load average: 1.00 1.07 1.16 1/291 11665


      repository removal status is taken into account
        raises exception
    calls the before/after callbacks
      of project_members
      of group_members
# [RSpecRunTime] RSpec elapsed time: 12 minutes 7.33 seconds. Current RSS: ~1511M. load average: 1.00 1.07 1.16 1/291 11666


    prometheus metrics
      scheduled records
        with a single record
          updates the scheduled records gauge
# [RSpecRunTime] RSpec elapsed time: 12 minutes 8.56 seconds. Current RSS: ~1505M. load average: 1.00 1.07 1.16 1/291 11667


        with approximate count due to large number of records
          updates the scheduled records gauge
# [RSpecRunTime] RSpec elapsed time: 12 minutes 9.69 seconds. Current RSS: ~1506M. load average: 1.00 1.07 1.16 1/291 11668


      lag
        update the lag gauge
# [RSpecRunTime] RSpec elapsed time: 12 minutes 11.45 seconds. Current RSS: ~1510M. load average: 1.00 1.07 1.16 1/291 11669


  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: 12 minutes 14.56 seconds. Current RSS: ~1507M. load average: 1.00 1.07 1.16 1/289 11670


    when admin mode is disabled
      disallows admins to delete anyone

# [RSpecRunTime] Finishing example group spec/services/users/destroy_service_spec.rb. It took 21.14 seconds. Expected to take 32.6 seconds.
# [RSpecRunTime] Starting example group spec/models/ci/build_runner_session_spec.rb. Expected to take 31.47 seconds.

Ci::BuildRunnerSession
  does not allow STI
  is expected to belong to build required: false
  is expected to validate that :build cannot be empty/falsy
  is expected to validate that :url cannot be empty/falsy, producing a custom validation error on failure
  url validation of local web hook address
    with allow_local_requests_from_web_hooks_and_services? stubbed
      as returning true
        creates a new session
# [RSpecRunTime] RSpec elapsed time: 12 minutes 19.06 seconds. Current RSS: ~1524M. load average: 1.00 1.07 1.16 1/289 11671


      as returning false
        does not create a new session
# [RSpecRunTime] RSpec elapsed time: 12 minutes 20.4 seconds. Current RSS: ~1522M. load average: 1.00 1.06 1.16 1/290 11672


  nested attribute assignment
    creates a new session
    updates session with new attributes
# [RSpecRunTime] RSpec elapsed time: 12 minutes 22.31 seconds. Current RSS: ~1520M. load average: 1.00 1.06 1.16 1/290 11673


  #terminal_specification
    returns terminal.gitlab.com protocol
    returns a wss url
    returns empty hash if no url
    returns url with appended query if url has query
    when url is present
      returns ca_pem nil if empty certificate
      adds Authorization header if authorization is present
# [RSpecRunTime] RSpec elapsed time: 12 minutes 26.11 seconds. Current RSS: ~1550M. load average: 1.00 1.06 1.16 1/289 11674


  #service_specification
    returns service proxy url
    returns default service proxy websocket subprotocol
    returns empty hash if no url
    returns url with appended query if url has query
    when port is not present
      uses the default port name
# [RSpecRunTime] RSpec elapsed time: 12 minutes 29.3 seconds. Current RSS: ~1544M. load average: 1.00 1.06 1.16 1/289 11675


    when the service is not present
      uses the service name "build" as default
    when url is present
      returns ca_pem nil if empty certificate
      adds Authorization header if authorization is present
# [RSpecRunTime] RSpec elapsed time: 12 minutes 32.28 seconds. Current RSS: ~1551M. load average: 1.00 1.06 1.16 1/289 11676


    when subprotocol is present
      returns the new subprotocol
  partitioning
    assigns the same partition id as the one that build has
# [RSpecRunTime] RSpec elapsed time: 12 minutes 34.06 seconds. Current RSS: ~1552M. load average: 1.00 1.06 1.16 1/289 11677



# [RSpecRunTime] Finishing example group spec/models/ci/build_runner_session_spec.rb. It took 18.92 seconds. Expected to take 31.47 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/pipeline/wiki_pipeline_spec.rb. Expected to take 30.62 seconds.

Banzai::Pipeline::WikiPipeline
  TableOfContents
    replaces the tag with the TableOfContentsFilter result
    is not case-sensitive
    works with alternative [toc] tag
    handles an empty pipeline result
  Links
    when GitLab is hosted at a root URL
      linking to pages within the wiki
        when creating hierarchical links to the current directory
          rewrites non-file links to be at the scope of the current directory
          rewrites file links to be at the scope of the current directory
        when creating hierarchical links to the parent directory
          rewrites non-file links to be at the scope of the parent directory
          rewrites file links to be at the scope of the parent directory
        when creating hierarchical links to a sub-directory
          rewrites non-file links to be at the scope of the sub-directory
          rewrites file links to be at the scope of the sub-directory
        when creating non-hierarchical links
          rewrites non-file links to be at the scope of the wiki root
          rewrites non-file links (with spaces) to be at the scope of the wiki root
          rewrites file links to be at the scope of the current directory
          rewrites links with anchor
          rewrites links (with spaces) with anchor
        when creating root links
          rewrites non-file links to be at the scope of the wiki root
          rewrites file links to be at the scope of the wiki root
      linking to pages outside the wiki (absolute)
        doesn't rewrite links
    when GitLab is hosted at a relative URL
      linking to pages within the wiki
        when creating hierarchical links to the current directory
          rewrites non-file links to be at the scope of the current directory
          rewrites file links to be at the scope of the current directory
        when creating hierarchical links to the parent directory
          rewrites non-file links to be at the scope of the parent directory
          rewrites file links to be at the scope of the parent directory
        when creating hierarchical links to a sub-directory
          rewrites non-file links to be at the scope of the sub-directory
          rewrites file links to be at the scope of the sub-directory
        when creating non-hierarchical links
          rewrites non-file links to be at the scope of the wiki root
          rewrites non-file links (with spaces) to be at the scope of the wiki root
          rewrites file links to be at the scope of the current directory
          rewrites links with anchor
          rewrites links (with spaces) with anchor
        when creating root links
          rewrites non-file links to be at the scope of the wiki root
          rewrites file links to be at the scope of the wiki root
      linking to pages outside the wiki (absolute)
        doesn't rewrite links
    checking slug validity when assembling links
      with a valid slug
        includes the slug in a (.) relative link
        includeds the slug in a (..) relative link
      when the slug is deemed unsafe or invalid
        with the invalid slug javascript:
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug JaVaScRiPt:
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript:
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript    :
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript:
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript    :
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug :javascript:
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript&#58;
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript&#0058;
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript&#x3A;
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug javascript&#x003A;
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
# [RSpecRunTime] RSpec elapsed time: 12 minutes 46.17 seconds. Current RSS: ~1651M. load average: 1.00 1.06 1.15 1/289 11678


        with the invalid slug javascript:
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
        with the invalid slug  &#14;  javascript:
          doesn't include a prohibited slug in a (.) relative link 'alert(1);'
          doesn't include a prohibited slug in a (..) relative link 'alert(1);'
          doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'
          doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'
  videos and audio
    generates video html structure
    rewrites and replaces video links names with white spaces to %20
    generates audio html structure
    rewrites and replaces audio links names with white spaces to %20
  gollum tag filters
    when local image file exists
      sets the proper attributes for the image

# [RSpecRunTime] Finishing example group spec/lib/banzai/pipeline/wiki_pipeline_spec.rb. It took 14.0 seconds. Expected to take 30.62 seconds.
# [RSpecRunTime] Starting example group spec/models/integrations/bamboo_spec.rb. Expected to take 27.79 seconds.

Integrations::Bamboo
  does not allow STI
  behaves like Integrations::BaseCi
    default values
      is expected to eq :ci
  behaves like Integrations::ResetSecretFields
    #exposing_secrets_fields
      returns an array of strings
    #reset_secret_fields?
      returns false if no exposing field has changed
      returns true if any exposing field has changed
    validation callback
      when an exposing field has changed
        clears all secret fields
        when a secret field has been updated
          does not clear this secret field
          when a secret field has been updated with the same value
            does not clear this secret field
      when no exposing field has changed
        does not clear any secret fields
  accessors
    is expected to respond to #enable_ssl_verification
    is expected to respond to #enable_ssl_verification?
  #initialize_properties
    enables the setting by default
    does not enable the setting if the record is already persisted
    does not enable the setting if a custom value was set
  #fields
    inserts the checkbox field after the first URL field, or at the end
    does not insert the field repeatedly
  Validations
    when active
      is expected to validate that :build_key cannot be empty/falsy
      is expected to validate that :bamboo_url cannot be empty/falsy
      behaves like issue tracker integration URL attribute
        is expected to allow :bamboo_url to be ‹"https://example.com"›
        is expected not to allow :bamboo_url to be ‹"example.com"›
        is expected not to allow :bamboo_url to be ‹"ftp://example.com"›
        is expected not to allow :bamboo_url to be ‹"herp-and-derp"›
# [RSpecRunTime] RSpec elapsed time: 12 minutes 51.7 seconds. Current RSS: ~1699M. load average: 1.00 1.06 1.15 1/289 11679


      #username
        does not validate the presence of username if password is nil
        validates the presence of username if password is present
      #password
        does not validate the presence of password if username is nil
        validates the presence of password if username is present
    when inactive
      is expected not to validate that :build_key cannot be empty/falsy
      is expected not to validate that :bamboo_url cannot be empty/falsy
      is expected not to validate that :username cannot be empty/falsy
      is expected not to validate that :password cannot be empty/falsy
  #execute
    runs update and build action
  #build_page
    returns the contents of the reactive cache
  #commit_status
    returns the contents of the reactive cache
  #calculate_reactive_cache
    when Bamboo API returns single result
      behaves like reactive cache calculation
        #build_page
          returns a specific URL when status is 500
          returns a specific URL when response has no results
          returns a build URL when bamboo_url has no trailing slash
          when bamboo_url has trailing slash
            returns a build URL
        #commit_status
          sets commit status to :error when status is 500
          sets commit status to "pending" when status is 404
          sets commit status to "pending" when response has no results
          sets commit status to "success" when build state contains Success
          sets commit status to "failed" when build state contains Failed
          sets commit status to "pending" when build state contains Pending
          sets commit status to :error when build state is unknown
          sets commit status to :error with a Net::OpenTimeout error
          sets commit status to :error with a Net::ReadTimeout error
          sets commit status to :error with a Net::WriteTimeout error
          sets commit status to :error with a Gitlab::HTTP_V2::ReadTotalTimeout error
          sets commit status to :error with a EOFError error
          sets commit status to :error with a SocketError error
          sets commit status to :error with a OpenSSL::SSL::SSLError error
          sets commit status to :error with a OpenSSL::OpenSSLError error
          sets commit status to :error with a Errno::ECONNRESET error
          sets commit status to :error with a Errno::ECONNREFUSED error
          sets commit status to :error with a Errno::EHOSTUNREACH error
          sets commit status to :error with a Errno::ENETUNREACH error
          sets commit status to :error with a Gitlab::HTTP_V2::BlockedUrlError error
          sets commit status to :error with a Gitlab::HTTP_V2::RedirectionTooDeep error
          sets commit status to :error with a Net::HTTPBadResponse error
# [RSpecRunTime] RSpec elapsed time: 12 minutes 56.91 seconds. Current RSS: ~1722M. load average: 1.00 1.06 1.15 1/289 11680


    when Bamboo API returns an array of results and we only consider the last one
      behaves like reactive cache calculation
        #build_page
          returns a specific URL when status is 500
          returns a specific URL when response has no results
          returns a build URL when bamboo_url has no trailing slash
          when bamboo_url has trailing slash
            returns a build URL
        #commit_status
          sets commit status to :error when status is 500
          sets commit status to "pending" when status is 404
          sets commit status to "pending" when response has no results
          sets commit status to "success" when build state contains Success
          sets commit status to "failed" when build state contains Failed
          sets commit status to "pending" when build state contains Pending
          sets commit status to :error when build state is unknown
          sets commit status to :error with a Net::OpenTimeout error
          sets commit status to :error with a Net::ReadTimeout error
          sets commit status to :error with a Net::WriteTimeout error
          sets commit status to :error with a Gitlab::HTTP_V2::ReadTotalTimeout error
          sets commit status to :error with a EOFError error
          sets commit status to :error with a SocketError error
          sets commit status to :error with a OpenSSL::SSL::SSLError error
          sets commit status to :error with a OpenSSL::OpenSSLError error
          sets commit status to :error with a Errno::ECONNRESET error
          sets commit status to :error with a Errno::ECONNREFUSED error
          sets commit status to :error with a Errno::EHOSTUNREACH error
          sets commit status to :error with a Errno::ENETUNREACH error
          sets commit status to :error with a Gitlab::HTTP_V2::BlockedUrlError error
          sets commit status to :error with a Gitlab::HTTP_V2::RedirectionTooDeep error
          sets commit status to :error with a Net::HTTPBadResponse error
# [RSpecRunTime] RSpec elapsed time: 13 minutes 0.19 second. Current RSS: ~1719M. load average: 1.00 1.05 1.15 1/289 11681


  #avatar_url
    returns the avatar image path

# [RSpecRunTime] Finishing example group spec/models/integrations/bamboo_spec.rb. It took 12.27 seconds. Expected to take 27.79 seconds.
# [RSpecRunTime] Starting example group spec/finders/members_finder_spec.rb. Expected to take 27.25 seconds.

MembersFinder
  avoids N+1 database queries on accessing user records
  returns only members of project if asked
  includes invited members if user have admin permissions on project
  does not return members of parent group with minimal access
  returns only inherited members of project if asked
  returns the members.access_level when the user is invited
  returns members sorted by id_desc
  includes only non-invite members if user do not have amdin permissions on project
  returns only inherited members of a personal project
  returns the highest access_level for the user
  includes nested group members if asked
  returns members for project and parent groups
  returns owners and maintainers
  returns active users and excludes invited users
  returns searched members if requested
  when :invited_groups is passed
    includes all the invited_groups members including members inherited from ancestor groups
    includes all the invited_groups members
    excludes group_members not visible to the user
    when current user is a member of the shared project but not of invited group
      includes members from invited groups not visible to the user
      when webui_members_inherited_users feature flag is disabled
        excludes members from invited groups not visible to the user
# [RSpecRunTime] RSpec elapsed time: 13 minutes 15.4 seconds. Current RSS: ~1564M. load average: 1.00 1.05 1.15 1/290 11682


    when the user is a member of invited group and ancestor groups
      returns the highest access_level for the user limited by project_group_link.group_access
  with :shared_into_ancestors
    when :shared_into_ancestors is included in the relations
      includes members of groups invited into ancestors of project's group
# [RSpecRunTime] RSpec elapsed time: 13 minutes 17.02 seconds. Current RSS: ~1568M. load average: 1.00 1.05 1.15 2/290 11683


    when :shared_into_ancestors is not included in the relations
      does not include members of groups invited into ancestors of project's group

# [RSpecRunTime] Finishing example group spec/finders/members_finder_spec.rb. It took 16.92 seconds. Expected to take 27.25 seconds.
# [RSpecRunTime] Starting example group spec/models/timelog_spec.rb. Expected to take 26.2 seconds.

Timelog
  does not allow STI
  is expected to belong to project required: false
  is expected to belong to issue required: false
  is expected to belong to merge_request required: false
  is expected to belong to timelog_category optional: true
  is expected to be valid
  is expected to validate that :time_spent cannot be empty/falsy
  is expected to validate that :user cannot be empty/falsy
  is expected to validate that the length of :summary is at most 255
  is expected not to be nil
  validation
    is invalid if issue_id and merge_request_id are missing
    is invalid if issue_id and merge_request_id are set
    is valid if only issue_id is set
    is valid if only merge_request_id is set
    check if total time spent would be within the set range
      is valid when a negative time spent offsets the time already spent
      when total time spent is within the allowed range
        is valid
# [RSpecRunTime] RSpec elapsed time: 13 minutes 25.5 seconds. Current RSS: ~1573M. load average: 1.00 1.05 1.15 1/296 11724


      when total time spent is outside the allowed range
        adds an error if total time spent would exceed a year
        adds an error if total time spent would be negative
    when importing
      is valid if issue_id and merge_request_id are missing
  scopes
    .in_group
      return timelogs created for group issues and merge requests
# [RSpecRunTime] RSpec elapsed time: 13 minutes 28.39 seconds. Current RSS: ~1579M. load average: 1.00 1.05 1.15 1/297 11781


    .for_user
      return timelogs created by user
    .in_project
      returns timelogs created for project issues and merge requests
# [RSpecRunTime] RSpec elapsed time: 13 minutes 30.49 seconds. Current RSS: ~1573M. load average: 1.00 1.05 1.14 1/297 11829


    .at_or_after
      returns timelogs at the time limit
      returns timelogs after given time
    .at_or_before
      returns timelogs at the time limit
      returns timelogs before given time
  hooks
    .set_project
      populates project with issuable project
  sorting
    .sort_by_field
      sorts timelogs by time spent in ascending order
      sorts timelogs by time spent in descending order
      sorts timelogs by spent at in ascending order
      sorts timelogs by spent at in descending order
      sorts timelogs by created at in ascending order
      sorts timelogs by created at in descending order
      sorts timelogs by updated at in ascending order
      sorts timelogs by updated at in descending order
# [RSpecRunTime] RSpec elapsed time: 13 minutes 33.5 seconds. Current RSS: ~1595M. load average: 1.00 1.05 1.14 1/295 11830



# [RSpecRunTime] Finishing example group spec/models/timelog_spec.rb. It took 16.27 seconds. Expected to take 26.2 seconds.
# [RSpecRunTime] Starting example group spec/models/project_setting_spec.rb. Expected to take 24.76 seconds.

ProjectSetting
  does not allow STI
  is expected to belong to project required: false
  default values
    is expected to be truthy
  scopes
    returns project setting for the given projects
  validations
    is expected not to allow :target_platforms to be ‹nil›
    is expected to allow :target_platforms to be ‹[]›
    is expected to validate that the length of :issue_branch_template is at most 255
************************************************************************
Warning from shoulda-matchers:

You are using `validate_inclusion_of` to assert that a boolean column
allows boolean values and disallows non-boolean ones. Be aware that it
is not possible to fully test this, as boolean columns will
automatically convert non-boolean values to boolean ones. Hence, you
should consider removing this test.
************************************************************************
    is expected to validate that :suggested_reviewers_enabled is either ‹true› or ‹false›
    allows any combination of the allowed target platforms
    is expected not to allow :target_platforms to be ‹[nil]›
    is expected not to allow :target_platforms to be ‹["not_allowed"]›
    is expected not to allow :target_platforms to be ‹[:invalid]›
    validates uniqueness of pages_unique_domain
    validates if the pages_unique_domain already exist as a project path
    when pages_unique_domain is required
      is not required if pages_unique_domain_enabled is false
      is required when pages_unique_domain_enabled is true
      is required if it is already saved in the database
# [RSpecRunTime] RSpec elapsed time: 13 minutes 37.45 seconds. Current RSS: ~1608M. load average: 1.00 1.05 1.14 1/295 11831


    when updating
      validates if the pages_unique_domain already exist as a project path
  target_platforms=
    stringifies and sorts
  #human_squash_option
    squash_option: "never", human_squash_option: "Do not allow"
      is expected to eq "Do not allow"
    squash_option: "always", human_squash_option: "Require"
      is expected to eq "Require"
    squash_option: "default_on", human_squash_option: "Encourage"
      is expected to eq "Encourage"
    squash_option: "default_off", human_squash_option: "Allow"
      is expected to eq "Allow"
  #show_diff_preview_in_email?
    when a project has no parent group
      when show_diff_preview_in_email is disabled
        returns false
      when show_diff_preview_in_email is enabled
        returns true
    when a parent group overrides project settings
      when show_diff_preview_in_email is disabled for the parent group
        returns false
      when all ancestors have enabled diff previews
        returns true
  #emails_enabled?
    when a project does not have a parent group
      returns true
      returns false when project_settings are set to false
    when a project has a parent group
      when emails have been disabled in parent group
        returns false
      when emails are enabled in parent group
        returns true
        returns false when disabled at the project
# [RSpecRunTime] RSpec elapsed time: 13 minutes 47.11 seconds. Current RSS: ~1565M. load average: 1.00 1.05 1.14 1/290 11832


  #runner_registration_enabled
    returns true
    when project has runner registration disabled
      returns false
    when all projects have runner registration disabled
      returns false

# [RSpecRunTime] Finishing example group spec/models/project_setting_spec.rb. It took 14.55 seconds. Expected to take 24.76 seconds.
# [RSpecRunTime] Starting example group spec/models/release_spec.rb. Expected to take 23.36 seconds.

Release
  does not allow STI
  is expected to be valid
  associations
    is expected to belong to project required: false
    is expected to belong to author class_name => User required: false
    is expected to have many links class_name => Releases::Link
    is expected to have many milestones
    is expected to have many milestone_releases
    is expected to have many evidences class_name => Releases::Evidence
    is expected to have one catalog_resource_version class_name => Ci::Catalog::Resources::Version
# [RSpecRunTime] RSpec elapsed time: 13 minutes 50.09 seconds. Current RSS: ~1586M. load average: 1.00 1.04 1.14 1/290 11839


  validation
    is expected to validate that :project cannot be empty/falsy
    is expected to validate that :tag cannot be empty/falsy
    validates sha is not changed on update
    when a release exists in the database without a name
      does not require name
    scopes
      .for_projects
        returns releases for the given projects
      .by_tag
        returns releases with the given tag
    when description of a release is longer than the limit
      creates a validation error
    when a release is tied to a milestone for another project
      creates a validation error
    when a release is tied to a milestone linked to the same project
      successfully links this release to this milestone
    when creating new release
      is expected to validate that :author_id cannot be empty/falsy
    when updating existing release without author
      updates successfully
  tagged
    does not return the tagless release
    does return the tagged releases
  latest releases
    .latest
      without order_by
        returns the latest release by released date
      with order_by: created_at
        returns the latest release by created date
      when there are no releases
        returns nil
    .latest_for_projects
      without order_by
        returns the latest release by released date for each project
      with order_by: created_at
        returns the latest release by created date for each project
      when no projects are provided
        returns empty response
      when there are no releases
        returns empty response
    .waiting_for_publish_event
      find today's releases not yet published
  #assets_count
    returns the number of sources
    when a links exists
      counts the link as an asset
      excludes sources count when asked
  .create
    fills released_at using created_at if it's not set
    does not change released_at if it's set explicitly
  #update
    when links do not exist
      when params are specified for creation
        creates a link successfuly
    when a link exists
      when params are specified for update
        updates the link successfully
      when params are specified for deletion
        removes the link successfuly
  #sources
    returns sources
  #upcoming_release?
    during the backfill migration when released_at could be nil
      handles a nil released_at value and returns false
  evidence
    when a release is deleted
      also deletes the associated evidence
  #name
    name is nil
      returns tag
  #milestone_titles
    is expected to eq "Milestone 1, Milestone 2"
  updating catalog resource version
    when released_at has changed
      calls sync_with_release! on the catalog resource version
    when released_at has not changed
      does not call sync_with_release! on the catalog resource version

# [RSpecRunTime] Finishing example group spec/models/release_spec.rb. It took 10.87 seconds. Expected to take 23.36 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/external/mapper/verifier_spec.rb. Expected to take 23.01 seconds.

Gitlab::Ci::Config::External::Mapper::Verifier
  #process
    when files are local
      returns an array of file objects
      adds files to the expandset
      calls Gitaly only once for all files
# [RSpecRunTime] RSpec elapsed time: 14 minutes 1.12 seconds. Current RSS: ~1589M. load average: 1.08 1.06 1.14 1/295 12222


    when files are project files
      returns an array of valid file objects
      adds files to the expandset
      calls Gitaly only once for all files
      queries with batch
      when a project is missing
        returns an array of file objects
# [RSpecRunTime] RSpec elapsed time: 14 minutes 8.3 seconds. Current RSS: ~1572M. load average: 0.99 1.04 1.14 1/295 14035


    when a file includes other files
      returns an array of file objects with combined hash
    when there is an invalid file
      adds an error to the file
    max includes detection
      when files are nested
        behaves like verifies max includes
          when total file count is equal to max_includes
            adds the expected number of files to expandset
          when total file count exceeds max_includes
            raises error
        when duplicate files are included
          behaves like verifies max includes
            when total file count is equal to max_includes
              adds the expected number of files to expandset
            when total file count exceeds max_includes
              raises error
      when files are not nested
        behaves like verifies max includes
          when total file count is equal to max_includes
            adds the expected number of files to expandset
          when total file count exceeds max_includes
            raises error
        when duplicate files are included
          behaves like verifies max includes
            when total file count is equal to max_includes
              adds the expected number of files to expandset
            when total file count exceeds max_includes
              raises error
      when there is a circular include
        raises error
      when a file is an internal include
        when total file count excluding internal include is equal to max_includes
          does not add the internal include to expandset
        when total file count excluding internal include exceeds max_includes
          raises error
    #verify_max_total_pipeline_size
      when pipeline tree size is within the limit
        passes the verification
      when pipeline tree size is larger then the limit
        raises a limit error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/external/mapper/verifier_spec.rb. It took 15.93 seconds. Expected to take 23.01 seconds.
# [RSpecRunTime] Starting example group spec/services/projects/participants_service_spec.rb. Expected to take 21.71 seconds.

Projects::ParticipantsService
  #execute
    returns results in correct order
    includes `All Project and Group Members`
    does not return duplicate author
    N+1 checks
      avoids N+1 UserDetail queries
      avoids N+1 groups queries
# [RSpecRunTime] RSpec elapsed time: 14 minutes 17.41 seconds. Current RSS: ~1606M. load average: 1.07 1.06 1.14 1/296 15503


    group items
      group user counts
        returns correct user counts for groups
# [RSpecRunTime] RSpec elapsed time: 14 minutes 18.52 seconds. Current RSS: ~1606M. load average: 1.07 1.06 1.14 1/296 15504


      avatar_url
        returns an url for the avatar
        returns an url for the avatar with relative url
      with subgroups
        returns results ordered by full path
        when search param is given
          only returns matching groups
# [RSpecRunTime] RSpec elapsed time: 14 minutes 21.14 seconds. Current RSS: ~1605M. load average: 1.07 1.06 1.14 1/297 15505


    when `disable_all_mention` FF is enabled
      does not include `All Project and Group Members`
  #project_members
    when there is a project in group namespace
      returns members of a group
    when there is a private group and a public project
      when the private group is invited to the public project
        does not return the private group
        returns private group members
        returns the project maintainer
        returns project members from an invited public group
        returns members of the ancestral groups of the private group
        returns invited group members of the private group
# [RSpecRunTime] RSpec elapsed time: 14 minutes 25.41 seconds. Current RSS: ~1574M. load average: 1.06 1.05 1.14 1/292 15506


    when search param is given
      only returns matching members

# [RSpecRunTime] Finishing example group spec/services/projects/participants_service_spec.rb. It took 11.31 seconds. Expected to take 21.71 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/pipeline_trigger_service_spec.rb. Expected to take 21.43 seconds.

Ci::PipelineTriggerService
  #execute
    with a trigger token
      when trigger belongs to a different project
        does nothing
# [RSpecRunTime] RSpec elapsed time: 14 minutes 27.52 seconds. Current RSS: ~1573M. load average: 1.06 1.05 1.14 1/291 15513


      when trigger owner does not have a permission to read a project
        does nothing
      when params have an existing trigger token
        when params have an existing ref
          triggers a pipeline
          stores the payload as a variable
          when commit message has [ci skip]
            ignores [ci skip] and create as general
# [RSpecRunTime] RSpec elapsed time: 14 minutes 30.45 seconds. Current RSS: ~1556M. load average: 1.06 1.05 1.14 1/296 15532


          when params have a variable
            has variables
          when params have duplicate variables
            creates a failed pipeline without variables
          behaves like detecting an unprocessable pipeline trigger
            when the pipeline was not created successfully
              has the correct status code
        when params have a non-existant ref
          does not trigger a pipeline
      when params have a non-existant trigger token
        does not trigger a pipeline
    with a pipeline job token
      when job user does not have a permission to read a project
        does nothing
      when job is not running
        does nothing
      when job does not have a project
        does nothing
      when params have an existsed job token
        when params have an existsed ref
          triggers a pipeline
          behaves like logs downstream pipeline creation
            logs details
# [RSpecRunTime] RSpec elapsed time: 14 minutes 35.79 seconds. Current RSS: ~1539M. load average: 1.05 1.05 1.14 1/296 15562


          when commit message has [ci skip]
            ignores [ci skip] and create as general
          when params have a variable
            has variables
          when params have duplicate variables
            creates a failed pipeline without variables
          behaves like detecting an unprocessable pipeline trigger
            when the pipeline was not created successfully
              has the correct status code
        when params have a non-existant ref
          does not trigger a job in the pipeline
      when params have a non-existsed trigger token
        does not trigger a pipeline

# [RSpecRunTime] Finishing example group spec/services/ci/pipeline_trigger_service_spec.rb. It took 13.13 seconds. Expected to take 21.43 seconds.
# [RSpecRunTime] Starting example group spec/lib/api/helpers/caching_spec.rb. Expected to take 20.36 seconds.

API::Helpers::Caching
  #present_cached
    single object
      behaves like object cache helper
        is expected to be a kind of Gitlab::Json::PrecompiledJson
        uses the presenter
        is valid JSON
        fetches from the cache
        when a cache context is supplied
          uses the context to augment the cache key
# [RSpecRunTime] RSpec elapsed time: 14 minutes 40.54 seconds. Current RSS: ~1530M. load average: 1.05 1.05 1.14 3/297 15589


        when expires_in is supplied
          sets the expiry when accessing the cache
        when a caller id is present
          increments the counter
    collection of objects
      behaves like collection cache helper
        is expected to be a kind of Gitlab::Json::PrecompiledJson
        uses the presenter
        is valid JSON
        fetches from the cache
        when a cache context is supplied
          uses the context to augment the cache key
# [RSpecRunTime] RSpec elapsed time: 14 minutes 43.21 seconds. Current RSS: ~1516M. load average: 1.05 1.05 1.14 1/296 15590


        expires_in is supplied
          sets the expiry when accessing the cache
        when a caller id is present
          when presentable has a group by clause
            returns the presentables
          when the presentables all miss
            increments the counters
          when the presents hit
            increments the counters
  #cache_action
    is expected to be a kind of Gitlab::Json::PrecompiledJson
    represents the correct data
    only calls the expensive action once
    handles nested cache calls
    Cache versioning
      returns cache based on version parameter
    Cache for pagination headers
      X-Per-Page
        stores and recovers pagination headers from cache
        prefers headers from request than from cache
      X-Page
        stores and recovers pagination headers from cache
        prefers headers from request than from cache
      X-Next-Page
        stores and recovers pagination headers from cache
        prefers headers from request than from cache
      X-Prev-Page
        stores and recovers pagination headers from cache
        prefers headers from request than from cache
      Link
        stores and recovers pagination headers from cache
        prefers headers from request than from cache
      X-Total
        stores and recovers pagination headers from cache
        prefers headers from request than from cache
      X-Total-Pages
        stores and recovers pagination headers from cache
        prefers headers from request than from cache
  #cache_action_if
    conditional is truthy
      is expected to be a kind of Gitlab::Json::PrecompiledJson
      caches the block
    conditional is falsey
      is expected to eq {:foo=>"bar"}
      doesn't cache the block
  #cache_action_unless
    conditional is truthy
      is expected to eq {:foo=>"bar"}
      doesn't cache the block
    conditional is falsey
      is expected to be a kind of Gitlab::Json::PrecompiledJson
      caches the block

# [RSpecRunTime] Finishing example group spec/lib/api/helpers/caching_spec.rb. It took 6.43 seconds. Expected to take 20.36 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/email/receiver_spec.rb. Expected to take 19.91 seconds.

Gitlab::Email::Receiver
  requires all handlers to have a unique metric_event
  requires all handlers to respond to #project
  when the email contains a valid email address in a header
    when in a Delivered-To header
      behaves like successful receive
        correctly finds the mail key
        adds metric event
        returns valid metadata
    when in an Envelope-To header
      behaves like successful receive
        correctly finds the mail key
        adds metric event
        returns valid metadata
    when in an X-Envelope-To header
      behaves like successful receive
        correctly finds the mail key
        adds metric event
        returns valid metadata
    when enclosed with angle brackets in an Envelope-To header
      behaves like successful receive
        correctly finds the mail key
        adds metric event
        returns valid metadata
    when mail key is in the references header with a comma
      behaves like successful receive
        correctly finds the mail key
        adds metric event
        returns valid metadata
    when all other headers are missing
      it uses receive headers to find the key
        behaves like successful receive
          correctly finds the mail key
          adds metric event
          returns valid metadata
    when in a Cc header
      behaves like successful receive
        correctly finds the mail key
        adds metric event
        returns valid metadata
    when Service Desk custom email reply address in To header and no References header exists
      when custom email is enabled
        behaves like successful receive
          correctly finds the mail key
          adds metric event
          returns valid metadata
        when also Service Desk incoming address in To header
          behaves like successful receive
            correctly finds the mail key
            adds metric event
            returns valid metadata
  when we cannot find a capable handler
    behaves like failed receive with event
      adds metric event
  when the email is blank
    behaves like failed receive without event
      adds metric event
  when the email was auto generated with Auto-Submitted header
    behaves like failed receive without event
      adds metric event
  when the email's To field is blank
    behaves like successful receive
      correctly finds the mail key
      adds metric event
      returns valid metadata
  when the email's From field is blank
    behaves like successful receive
      correctly finds the mail key
      adds metric event
      returns valid metadata
  when the email was auto generated with X-Autoreply header
    behaves like failed receive without event
      adds metric event
  event raising via errors
    handling errors which do not raise events
      expected_error: Gitlab::Email::AutoGeneratedEmailError
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::ProjectNotFound
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::EmptyEmailError
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::UserNotFoundError
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::UserBlockedError
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::UserNotAuthorizedError
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::NoteableNotFoundError
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::InvalidAttachment
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::InvalidRecordError
        behaves like failed receive without event
          adds metric event
      expected_error: Gitlab::Email::EmailTooLarge
        behaves like failed receive without event
          adds metric event
    handling errors which do raise events
      expected_error: Gitlab::Email::EmailUnparsableError
        behaves like failed receive with event
          adds metric event
      expected_error: Gitlab::Email::UnknownIncomingEmail
        behaves like failed receive with event
          adds metric event
      expected_error: ArgumentError
        behaves like failed receive with event
          adds metric event
      expected_error: StandardError
        behaves like failed receive with event
          adds metric event
  when the received field is malformed
    mail_metadata has no ReDos issue

# [RSpecRunTime] Finishing example group spec/lib/gitlab/email/receiver_spec.rb. It took 4.69 seconds. Expected to take 19.91 seconds.
# [RSpecRunTime] Starting example group spec/services/alert_management/alerts/update_service_spec.rb. Expected to take 19.14 seconds.

AlertManagement::Alerts::UpdateService
  #execute
    when the current_user is nil
      behaves like error response
        has an informative message
        behaves like does not add a todo
          is expected not to change `Todo.count`
        behaves like does not add a system note
          is expected not to change `Note.count`
    when current_user does not have permission to update alerts
      behaves like error response
        has an informative message
        behaves like does not add a todo
          is expected not to change `Todo.count`
        behaves like does not add a system note
          is expected not to change `Note.count`
    when no parameters are included
      behaves like error response
        has an informative message
        behaves like does not add a todo
          is expected not to change `Todo.count`
        behaves like does not add a system note
          is expected not to change `Note.count`
    when an error occurs during update
      behaves like error response
        has an informative message
        behaves like does not add a todo
          is expected not to change `Todo.count`
        behaves like does not add a system note
          is expected not to change `Note.count`
    when a model attribute is included without assignees
      behaves like title update
        updates the attribute
        behaves like does not add a todo
          is expected not to change `Todo.count`
        behaves like does not add a system note
          is expected not to change `Note.count`
    when alert is resolved and another existing unresolved alert
      behaves like title update
        updates the attribute
        behaves like does not add a todo
          is expected not to change `Todo.count`
        behaves like does not add a system note
          is expected not to change `Note.count`
    when assignees are included
      when the assignee is the current user
        behaves like successful assignment
          is expected to be success
          behaves like adds a system note
            is expected to change `alert.reload.notes.count` by 1
          behaves like adds a todo
            is expected to eq #<User id:1143 @user588>
      when the assignee has read permissions
        behaves like successful assignment
          is expected to be success
          behaves like adds a system note
            is expected to change `alert.reload.notes.count` by 1
          behaves like adds a todo
            is expected to eq #<User id:1143 @user588>
      when the assignee does not have read permissions
        behaves like error response
          has an informative message
          behaves like does not add a todo
            is expected not to change `Todo.count`
          behaves like does not add a system note
            is expected not to change `Note.count`
      when user is already assigned
        behaves like does not add a system note
          is expected not to change `Note.count`
        behaves like does not add a todo
          is expected not to change `Todo.count`
      with multiple users included
        behaves like successful assignment
          is expected to be success
          behaves like adds a system note
            is expected to change `alert.reload.notes.count` by 1
          behaves like adds a todo
            is expected to eq #<User id:1143 @user588>
    when a status is included
      successfully changes the status
      behaves like adds a system note
        is expected to change `alert.reload.notes.count` by 1
      with unknown status
        behaves like error response
          has an informative message
          behaves like does not add a todo
            is expected not to change `Todo.count`
          behaves like does not add a system note
            is expected not to change `Note.count`
      with resolving status
        changes the status
        resolves the current user's related todos
      with existing unresolved alert
        with fingerprints
          does not query for existing alerts
          when status was resolved
            has an informative message
            behaves like does not add a todo
              is expected not to change `Todo.count`
            behaves like does not add a system note
              is expected not to change `Note.count`
        without fingerprints
          successfully changes the status
          behaves like adds a system note
            is expected to change `alert.reload.notes.count` by 1
      two existing closed alerts
        successfully changes the status
        behaves like adds a system note
          is expected to change `alert.reload.notes.count` by 1

# [RSpecRunTime] Finishing example group spec/services/alert_management/alerts/update_service_spec.rb. It took 6.25 seconds. Expected to take 19.14 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb. Expected to take 18.26 seconds.

Gitlab::LegacyGithubImport::PullRequestFormatter
  when importing a GitHub project
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#attributes
      when pull request is open
        returns formatted attributes
      when pull request is closed
        returns formatted attributes
      when pull request is merged
        returns formatted attributes
      when it is assigned to someone
        returns nil as assignee_id when is not a GitLab user
        returns GitLab user id associated with GitHub email as assignee_id
      when author is a GitLab user
        returns project creator_id as author_id when is not a GitLab user
        returns GitLab user id associated with GitHub email as author_id
        returns description without created at tag line
      when it has a milestone
        returns nil when milestone does not exist
        returns milestone when it exists
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#number
      returns pull request number
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#source_branch_name
      when source branch exists
        returns branch ref
      when source branch does not exist
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
      when source branch is from a fork
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
      when source branch is from a deleted fork
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#target_branch_name
      when target branch exists
        returns branch ref
      when target branch does not exist
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
  when importing a Gitea project
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#attributes
      when pull request is open
        returns formatted attributes
      when pull request is closed
        returns formatted attributes
      when pull request is merged
        returns formatted attributes
      when it is assigned to someone
        returns nil as assignee_id when is not a GitLab user
        returns GitLab user id associated with GitHub email as assignee_id
      when author is a GitLab user
        returns project creator_id as author_id when is not a GitLab user
        returns GitLab user id associated with GitHub email as author_id
        returns description without created at tag line
      when it has a milestone
        returns nil when milestone does not exist
        returns milestone when it exists
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#number
      returns pull request number
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#source_branch_name
      when source branch exists
        returns branch ref
      when source branch does not exist
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
      when source branch is from a fork
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
      when source branch is from a deleted fork
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
    behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#target_branch_name
      when target branch exists
        returns branch ref
      when target branch does not exist
        prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision
  #valid?
    when source, and target repos are not a fork
      returns true
    when source repo is a fork
      returns true
    when target repo is a fork
      returns true
  #cross_project?
    when source and target repositories are different
      returns true
    when source repository does not exist anymore
      returns true
    when source and target repositories are the same
      returns false
  #source_branch_exists?
    returns false when is a cross_project
  #url
    return raw url
  #opened?
    returns true when state is "open"

# [RSpecRunTime] Finishing example group spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb. It took 5.96 seconds. Expected to take 18.26 seconds.
# [RSpecRunTime] Starting example group spec/services/security/merge_reports_service_spec.rb. Expected to take 17.53 seconds.

Security::MergeReportsService#execute
  copies scanners into target report and eliminates duplicates
  copies identifiers into target report and eliminates duplicates
  deduplicates (except cwe and wasc) and sorts the vulnerabilities by severity (desc) then by compare key
  deduplicates scanned resources
  errors on target report
    is expected to contain exactly {:message=>"bar", :type=>"foo"} and {:message=>"baz", :type=>"zoo"}
# [RSpecRunTime] RSpec elapsed time: 15 minutes 6.51 seconds. Current RSS: ~1507M. load average: 0.96 1.03 1.13 1/291 15686


  warnings on target report
    is expected to contain exactly {:message=>"bar", :type=>"foo"} and {:message=>"baz", :type=>"zoo"}
  ordering reports for sast analyzers
    when reports are gathered in an unprioritized order
      is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007c9b614c84b0 @external_id="bandit", @name="Bandit", @v...on="1.0.0", @primary_identifiers=nil, @sort_keys=[1, "bandit", "Bandit", "Security Scanner Vendor"]> and #<Gitlab::Ci::Reports::Security::Scanner:0x00007c9b61dbcd78 @external_id="semgrep", @name="Semgrep", ...="1.0.0", @primary_identifiers=nil, @sort_keys=[2, "semgrep", "Semgrep", "Security Scanner Vendor"]>
      is expected to eq 2
      is expected to eql #<Gitlab::Ci::Reports::Security::Identifier:0x00007c9b868a7e30 @external_id="B403", @external_type="b...id", @name="bandit_test_id-B403", @url=nil, @fingerprint="9ea39e538d11434f325435e905bf238e7cf1f7a4"> and #<Gitlab::Ci::Reports::Security::Identifier:0x00007c9b9b01d4f8 @external_id="CVE-2019-123", @external...="cve", @name="cve-CVE-2019-123", @url=nil, @fingerprint="6d834ff5767ac7544bef36b0e9996a9a3d6da5f1">
      is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007c9b84de5b60 @external_id="rules.bandit.B105", @ext...e="semgrep_id-rules.bandit.B105", @url=nil, @fingerprint="86d65bee153188dc92a8fd17263d8319d9fbe4ee">
# [RSpecRunTime] RSpec elapsed time: 15 minutes 9.54 seconds. Current RSS: ~1499M. load average: 0.96 1.03 1.13 1/291 15687


    when a custom analyzer is completed before the known analyzers
      is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007c9b75259fa8 @external_id="bandit", @name="Bandit", @v...on="1.0.0", @primary_identifiers=nil, @sort_keys=[1, "bandit", "Bandit", "Security Scanner Vendor"]>, #<Gitlab::Ci::Reports::Security::Scanner:0x00007c9b80834e68 @external_id="semgrep", @name="Semgrep", ...="1.0.0", @primary_identifiers=nil, @sort_keys=[2, "semgrep", "Semgrep", "Security Scanner Vendor"]>, and #<Gitlab::Ci::Reports::Security::Scanner:0x00007c9b813efb18 @external_id="scanner-2", @name="Scanner ...primary_identifiers=nil, @sort_keys=[Infinity, "scanner-2", "Scanner 2", "Security Scanner Vendor"]>
      is expected to eq 3
      is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007c9b5f8b0de0 @external_id="VULN-2", @external_type=...ner-2", @name="scanner-2-VULN-2", @url=nil, @fingerprint="8e683704c05c3d223f7572623a39cdf39ecc5f15"> and #<Gitlab::Ci::Reports::Security::Identifier:0x00007c9b5f8ba728 @external_id="CVE-2019-456", @external...="cve", @name="cve-CVE-2019-456", @url=nil, @fingerprint="47c8c718e4355e29c0b8e87fd62c2c7da65911dd">
# [RSpecRunTime] RSpec elapsed time: 15 minutes 11.92 seconds. Current RSS: ~1489M. load average: 0.97 1.03 1.13 1/291 15688



# [RSpecRunTime] Finishing example group spec/services/security/merge_reports_service_spec.rb. It took 9.27 seconds. Expected to take 17.53 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/utils/sanitize_node_link_spec.rb. Expected to take 17.21 seconds.

Gitlab::Utils::SanitizeNodeLink
  #remove_unsafe_links
    with the scheme: javascript:
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: JaVaScRiPt:
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: javascript:
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: javascript    :
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: javascript:
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: javascript    :
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: :javascript:
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: javascript&#58;
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme: javascript&#0058;
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    with the scheme:  &#14;  javascript:
      <a> tags
        removes the unsafe link
      <img> tags
        removes the unsafe link
      <video> tags
        removes the unsafe link
      <audio> tags
        removes the unsafe link
    when URI is valid
      does not remove it
    when URI is invalid
      removes the link
    when URI is encoded but still invalid
      removes the link
  #sanitize_unsafe_links
    makes a call to #remove_unsafe_links_method
  #safe_protocol?
    with the scheme: javascript:
      returns false
    with the scheme: JaVaScRiPt:
      returns false
    with the scheme: javascript:
      returns false
    with the scheme: javascript    :
      returns false
    with the scheme: javascript:
      returns false
    with the scheme: javascript    :
      returns false
    with the scheme: :javascript:
      returns false
    with the scheme: javascript&#58;
      returns false
    with the scheme: javascript&#0058;
      returns false
    with the scheme:  &#14;  javascript:
      returns false

# [RSpecRunTime] Finishing example group spec/lib/gitlab/utils/sanitize_node_link_spec.rb. It took 3.81 seconds. Expected to take 17.21 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/ansi2html_spec.rb. Expected to take 16.53 seconds.

Gitlab::Ci::Ansi2html
  prints non-ansi as-is
  strips non-color-changing control sequences
  prints simply red
  prints simply red without trailing reset
  prints simply yellow
  prints default on blue
  prints red on blue
  resets colors after red on blue
  performs color change from red/blue to yellow/blue
  performs color change from red/blue to yellow/green
  performs color change from red/blue to reset to yellow/green
  ignores unsupported codes
  prints light red
  prints default on light red
  performs color change from red/blue to default/blue
  performs color change from light red/blue to default/blue
  prints bold text
  resets bold text
  prints italic text
  resets italic text
  prints underlined text
  resets underlined text
  prints concealed text
  resets concealed text
  prints crossed-out text
  resets crossed-out text
  can print 256 xterm fg colors
  can print 256 xterm fg colors on normal magenta background
  can print 256 xterm bg colors
  can print 256 xterm fg bold colors
  can print 256 xterm bg colors on normal magenta foreground
  prints bold colored text vividly
  prints bold light colored text correctly
  prints &lt;
  replaces newlines with line break tags
  groups carriage returns with newlines
  replaces invalid UTF-8 data
  incremental update
    with split word
      behaves like stateable converter
        to returns html to append
# [RSpecRunTime] RSpec elapsed time: 15 minutes 18.31 seconds. Current RSS: ~1512M. load average: 0.97 1.03 1.12 1/290 15689


    with split sequence
      behaves like stateable converter
        to returns html to append
    with partial sequence
      behaves like stateable converter
        to returns html to append
    with new line
      behaves like stateable converter
        to returns html to append
  with section markers
    do not allow XSS injections
    behaves like a legit section
      prints light red
      begins with a section_start html marker
      ends with a section_end html marker
    section name includes $
      behaves like forbidden char in section_name
        ignores sections
    section name includes <
      behaves like forbidden char in section_name
        ignores sections
    section name contains .-_
      behaves like a legit section
        prints light red
        begins with a section_start html marker
        ends with a section_end html marker
  truncates
    returns truncated output
    does not append output

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/ansi2html_spec.rb. It took 3.53 seconds. Expected to take 16.53 seconds.
# [RSpecRunTime] Starting example group spec/helpers/appearances_helper_spec.rb. Expected to take 16.02 seconds.

AppearancesHelper
  pwa icon scaled
    returns path of maskable logo
    with custom icon
      behaves like gets icon path
        returns path of icon
      behaves like gets icon path
        returns path of icon
    with default icon
      behaves like gets icon path
        returns path of icon
      behaves like gets icon path
        returns path of icon
    with wrong input
      behaves like gets icon path
        returns path of icon
    when path is append to root
      appends root and path
  #appearance_pwa_name
    returns the default value
    returns the customized value
  #appearance_pwa_short_name
    returns the default value
    returns the customized value
  #appearance_pwa_description
    returns the default value
    returns the customized value
  .current_appearance
    memoizes empty appearance
    memoizes custom appearance
  #header_message
    returns nil when header message field is not set
    when header message is set
      includes current message
  #footer_message
    returns nil when footer message field is not set
    when footer message is set
      includes current message
  #brand_image
    when there is a logo
      returns a path
      when there is no associated upload
        falls back to using the original path
    when there is no logo
      returns path of GitLab logo
    when there is a title
      returns the title
    when there is no title
      returns the default title
  #brand_image_path
    with a custom logo
      returns path of custom logo
    with no custom logo
      returns path of GitLab logo
  #custom_sign_in_description
    returns an empty string if no custom description is found
    returns a custom description if all the setting options are found
    returns a custom description if only one setting options is found
  #brand_header_logo
    renders shared/logo by default
    with header logo
      renders image tag
    with add_gitlab_white_text option
      renders shared/logo_with_white_text partial
    with add_gitlab_black_text option
      renders shared/logo_with_black_text partial
  #brand_title
    returns the default title when no appearance is present
  #default_brand_title
    returns the default title

# [RSpecRunTime] Finishing example group spec/helpers/appearances_helper_spec.rb. It took 5.0 seconds. Expected to take 16.02 seconds.
# [RSpecRunTime] Starting example group spec/services/issue_links/create_service_spec.rb. Expected to take 15.62 seconds.

IssueLinks::CreateService
  #execute
    behaves like issuable link creation
      #execute
        when the items list is empty
          returns error
# [RSpecRunTime] RSpec elapsed time: 15 minutes 25.74 seconds. Current RSS: ~1499M. load average: 0.97 1.03 1.12 1/290 15690


        when Issuable not found
          returns error
          no relationship is created
        when user has no permission to target issuable
          returns error
          no relationship is created
        source and target are the same issuable
          does not create notes
          no relationship is created
        when there is an issuable to relate
          creates relationships
          returns success status and created links
          creates notes
# [RSpecRunTime] RSpec elapsed time: 15 minutes 30.14 seconds. Current RSS: ~1506M. load average: 0.98 1.03 1.12 1/290 15691


        when reference of any already related issue is present
          creates notes only for new relations
        when reference of all related issue are present
          returns error status
    when target is an incident
      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/issue_links/create_service_spec.rb. It took 8.18 seconds. Expected to take 15.62 seconds.
# [RSpecRunTime] Starting example group spec/models/service_desk_setting_spec.rb. Expected to take 15.26 seconds.

ServiceDeskSetting
  does not allow STI
  validations
    is expected to validate that :project_id cannot be empty/falsy
    is expected to validate that the length of :outgoing_name is at most 255
    is expected to validate that the length of :project_key is at most 255
    is expected to allow :project_key to be ‹"abc123_"›
    is expected not to allow :project_key to be ‹"abc 12"›, producing a custom validation error on failure
    is expected not to allow :project_key to be ‹"Big val"›
    is expected to validate that the length of :custom_email is at most 255
    #custom_email_enabled
      is expected to be falsey
      is expected to be truthy
      when set to true
        is not valid
        when custom email records exist
          when custom email verification started
            is not valid
# [RSpecRunTime] RSpec elapsed time: 15 minutes 33.96 seconds. Current RSS: ~1499M. load average: 0.98 1.03 1.12 1/290 15692


          when custom email verification has been finished
            is expected to be valid
    when custom_email_enabled is true
      is expected to validate that :custom_email cannot be empty/falsy
      is expected to validate that :custom_email is case-sensitively unique as long as it is not nil
      is expected to allow :custom_email to be ‹"support@example.com"›
      is expected to allow :custom_email to be ‹"support@xn--brggen-4ya.de"›
      is expected to allow :custom_email to be ‹"support1@shop.example.com"›
      is expected to allow :custom_email to be ‹"support-shop_with.crazy-address@shop.example.com"›
      is expected not to allow :custom_email to be ‹"support@example@example.com"›
      is expected not to allow :custom_email to be ‹"support.example.com"›
      is expected not to allow :custom_email to be ‹"example.com"›
      is expected not to allow :custom_email to be ‹"example"›
      is expected not to allow :custom_email to be ‹"\" \"@example.org"›
      is expected not to allow :custom_email to be ‹"support+12@example.com"›
      is expected not to allow :custom_email to be ‹"user@[IPv6:2001:db8::1]"›
      is expected not to allow :custom_email to be ‹"\"><script>alert(1);</script>\"@example.org"›
      is expected not to allow :custom_email to be ‹"file://example"›
      is expected not to allow :custom_email to be ‹"no email at all"›
# [RSpecRunTime] RSpec elapsed time: 15 minutes 35.66 seconds. Current RSS: ~1504M. load average: 0.98 1.03 1.12 1/290 15693


    #valid_issue_template
      is not valid if template does not exist
      is valid if template exists
  #custom_email_address_for_verification
    returns nil
    when custom_email exists
      returns correct verification address
  #valid_project_key
    when project_key exists
      is valid
    when project_key is unique for every project slug
      does not add error
    when project with same slug and settings project_key exists
      adds error
  associations
    is expected to belong to project required: false
    can access custom email verification from project

# [RSpecRunTime] Finishing example group spec/models/service_desk_setting_spec.rb. It took 4.89 seconds. Expected to take 15.26 seconds.
# [RSpecRunTime] Starting example group spec/models/work_items/type_spec.rb. Expected to take 14.68 seconds.

WorkItems::Type
  does not allow STI
  modules
    is expected to includes the CacheMarkdownField module
  associations
    is expected to have many work_items
    is expected to belong to namespace required: false
    has many `widget_definitions`
    has many `enabled_widget_definitions`
    has many `child_restrictions`
    allowed_child_types_by_name
      defines association
      sorts by name ascending
# [RSpecRunTime] RSpec elapsed time: 15 minutes 38.85 seconds. Current RSS: ~1506M. load average: 0.98 1.03 1.12 1/294 15725


  callbacks
    after_save
      calls #clear_reactive_cache!
  scopes
    order_by_name_asc
      is expected to match ["atype", "gtype", "Ztype"]
  #destroy
    does not delete type when there are related issues
    when there are no work items of that type
      deletes type but not unrelated issues
# [RSpecRunTime] RSpec elapsed time: 15 minutes 40.55 seconds. Current RSS: ~1511M. load average: 0.98 1.03 1.12 3/295 15726


  validation
    is expected not to allow :icon_name to be ‹"ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"›
    name uniqueness
      is expected to validate that :name is case-insensitively unique within the scope of :namespace_id
  .default_by_type
    returns default work item type by base type without calling importer
    when default types are missing
      creates types and restrictions and returns default work item type by base type
  #default?
    when namespace is nil
      is expected to be truthy
    when namespace is present
      is expected to be falsey
  #name
    strips name
  #supports_assignee?
    is expected to be truthy
    when the assignees widget is not supported
      is expected to be falsey
  #supports_time_tracking?
    is expected to be truthy
    when the time tracking widget is not supported
      is expected to be falsey
  #default_issue?
    when work item type is default Issue
      returns true
    when work item type is not Issue
      returns false
  #allowed_child_types
    when cache is true
      returns the cached data
    when cache is false
      returns queried data
  #calculate_reactive_cache
    returns cache data for allowed child types

# [RSpecRunTime] Finishing example group spec/models/work_items/type_spec.rb. It took 5.49 seconds. Expected to take 14.68 seconds.
# [RSpecRunTime] Starting example group spec/uploaders/terraform/state_uploader_spec.rb. Expected to take 14.33 seconds.

Terraform::StateUploader
  #filename
    contains the version of the terraform state record
    legacy state with versioning disabled
      contains the UUID of the terraform state record
# [RSpecRunTime] RSpec elapsed time: 15 minutes 44.81 seconds. Current RSS: ~1507M. load average: 0.98 1.03 1.12 1/294 15727


  #store_dir
    hashes the project ID and UUID
    legacy state with versioning disabled
      contains the ID of the project
# [RSpecRunTime] RSpec elapsed time: 15 minutes 46.59 seconds. Current RSS: ~1502M. load average: 0.98 1.03 1.12 1/290 15728


  #key
    creates a digest with a secret key and the project id
  encryption
    encrypts the stored file
    decrypts the file when reading
# [RSpecRunTime] RSpec elapsed time: 15 minutes 49.23 seconds. Current RSS: ~1497M. load average: 0.98 1.03 1.12 1/290 15729


  .direct_upload_enabled?
    returns false
  .proxy_download_enabled?
    returns true
  .default_store
    when object storage is enabled
      returns REMOTE
    when object storage is disabled
      returns LOCAL

# [RSpecRunTime] Finishing example group spec/uploaders/terraform/state_uploader_spec.rb. It took 6.7 seconds. Expected to take 14.33 seconds.
# [RSpecRunTime] Starting example group spec/services/merge_requests/post_merge_service_spec.rb. Expected to take 13.93 seconds.

MergeRequests::PostMergeService
  #execute
    refreshes the number of open merge requests for a valid MR
    updates metrics
    calls the merge request activity counter
    deletes non-latest diffs
    clean up environments for the merge request
    schedules CleanupRefsService
    behaves like cache counters invalidator
      invalidates counter cache for assignees
# [RSpecRunTime] RSpec elapsed time: 15 minutes 53.64 seconds. Current RSS: ~1494M. load average: 1.06 1.04 1.12 1/295 15776


    behaves like merge request reviewers cache counters invalidator
      invalidates counter cache for reviewers
    when there are issues to be closed
      performs MergeRequests::CloseIssueWorker asynchronously
      when issue is an external issue
        executes Issues::CloseService
# [RSpecRunTime] RSpec elapsed time: 15 minutes 55.33 seconds. Current RSS: ~1491M. load average: 1.06 1.04 1.12 1/295 15788


    when the merge request has review apps
      cancels all review app deployments
# [RSpecRunTime] RSpec elapsed time: 15 minutes 56.84 seconds. Current RSS: ~1481M. load average: 1.06 1.04 1.12 1/295 15839


    when the merge request has a pages deployment
      performs Pages::DeactivateMrDeploymentWorker asynchronously

# [RSpecRunTime] Finishing example group spec/services/merge_requests/post_merge_service_spec.rb. It took 7.82 seconds. Expected to take 13.93 seconds.
# [RSpecRunTime] Starting example group spec/finders/access_requests_finder_spec.rb. Expected to take 13.59 seconds.

AccessRequestsFinder
  behaves like #execute
    when current user cannot see project access requests
      behaves like a finder returning no results
        raises Gitlab::Access::AccessDeniedError
      behaves like a finder returning no results
        raises Gitlab::Access::AccessDeniedError
    when current user can see access requests
      behaves like a finder returning access requesters
        returns access requesters
# [RSpecRunTime] RSpec elapsed time: 15 minutes 59.66 seconds. Current RSS: ~1481M. load average: 1.05 1.04 1.12 1/295 15841


      behaves like a finder returning access requesters
        returns access requesters
# [RSpecRunTime] RSpec elapsed time: 16 minutes 0.84 second. Current RSS: ~1484M. load average: 1.05 1.04 1.12 1/295 15842


  behaves like #execute!
    when current user cannot see access requests
      behaves like a finder raising Gitlab::Access::AccessDeniedError
        raises Gitlab::Access::AccessDeniedError
      behaves like a finder raising Gitlab::Access::AccessDeniedError
        raises Gitlab::Access::AccessDeniedError
    when current user can see access requests
      behaves like a finder returning access requesters
        returns access requesters
# [RSpecRunTime] RSpec elapsed time: 16 minutes 3.05 seconds. Current RSS: ~1482M. load average: 1.05 1.04 1.12 1/295 15843


      behaves like a finder returning access requesters
        returns access requesters
# [RSpecRunTime] RSpec elapsed time: 16 minutes 4.18 seconds. Current RSS: ~1480M. load average: 1.05 1.04 1.12 1/295 15844



# [RSpecRunTime] Finishing example group spec/finders/access_requests_finder_spec.rb. It took 6.82 seconds. Expected to take 13.59 seconds.
# [RSpecRunTime] Starting example group spec/services/users/update_service_spec.rb. Expected to take 13.17 seconds.

Users::UpdateService
  #execute
    updates time preferences
    returns an error result when record cannot be updated
    includes namespace error messages
    updates the status if status params were given
    does not delete the status if no status param was passed
    includes status error messages
    updates user detail with provided attributes
    does not try to reset unconfirmed email for a new user
    updating canonical email
      if email was changed
        calls canonicalize_email
        when race condition
          updates email for stale user
# [RSpecRunTime] RSpec elapsed time: 16 minutes 6.66 seconds. Current RSS: ~1485M. load average: 1.05 1.04 1.12 1/290 15845


        when check_password is true
          returns error if no password confirmation was passed
          returns error if wrong password confirmation was passed
          does not require password if it was automatically set
          does not require a password if the attribute changed does not require it
      when check_password is left to false
        does not require a password check
      if email was NOT changed
        skips update canonicalize email service call
        does not reset unconfirmed email
    updates the enabled_following
WARNING: Active Record does not support composite primary key.

user_follow_users has composite primary key. Composite primary key is ignored.
      removes followers and followees
      when there is more followers/followees then batch limit
        removes followers and followees
# [RSpecRunTime] RSpec elapsed time: 16 minutes 9.63 seconds. Current RSS: ~1484M. load average: 1.05 1.04 1.12 1/290 15846


  #execute!
    updates the name
    raises an error when record cannot be updated
    fires system hooks when a new user is saved

# [RSpecRunTime] Finishing example group spec/services/users/update_service_spec.rb. It took 6.02 seconds. Expected to take 13.17 seconds.
# [RSpecRunTime] Starting example group spec/services/issues/referenced_merge_requests_service_spec.rb. Expected to take 12.88 seconds.

Issues::ReferencedMergeRequestsService
  #execute
    returns a list of sorted merge requests
    performance
      does not run extra queries when extra namespaces are included
      preloads the head pipeline for each merge request, and its routes
      only loads issue notes once
# [RSpecRunTime] RSpec elapsed time: 16 minutes 15.39 seconds. Current RSS: ~1497M. load average: 1.04 1.04 1.12 1/295 15980


  #referenced_merge_requests
    returns the referenced merge requests
    excludes cross project references if the user cannot read cross project
    performance
      does not run a query for each note author
# [RSpecRunTime] RSpec elapsed time: 16 minutes 16.5 seconds. Current RSS: ~1497M. load average: 1.04 1.04 1.12 1/295 15981


  #closed_by_merge_requests
    returns the open merge requests that close this issue
    returns an empty array when the current issue is closed already
    performance
      does not run a query for each note author
# [RSpecRunTime] RSpec elapsed time: 16 minutes 18.63 seconds. Current RSS: ~1501M. load average: 1.04 1.04 1.12 1/296 16010



# [RSpecRunTime] Finishing example group spec/services/issues/referenced_merge_requests_service_spec.rb. It took 8.43 seconds. Expected to take 12.88 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/slash_commands/issue_move_spec.rb. Expected to take 12.41 seconds.

Gitlab::SlashCommands::IssueMove
  #match
    behaves like move command
      can be parsed to extract the needed fields
    behaves like move command
      can be parsed to extract the needed fields
    behaves like move command
      can be parsed to extract the needed fields
    behaves like move command
      can be parsed to extract the needed fields
    behaves like move command
      can be parsed to extract the needed fields
    behaves like move command
      can be parsed to extract the needed fields
  #execute
    when the user can move the issue
      when the move fails
        returns the error message
      when the move succeeds
        moves the issue to the new destination
        returns the new issue
        mentions the old issue
# [RSpecRunTime] RSpec elapsed time: 16 minutes 23.59 seconds. Current RSS: ~1506M. load average: 1.04 1.04 1.12 1/295 16011


    when the issue does not exist
      returns not found
    when the target project does not exist
      returns not found
    when the user cannot see the target project
      returns not found
    when the user does not have the required permissions on the target project
      returns the error message

# [RSpecRunTime] Finishing example group spec/lib/gitlab/slash_commands/issue_move_spec.rb. It took 6.66 seconds. Expected to take 12.41 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/schedulable_spec.rb. Expected to take 12.0 seconds.

Schedulable
  does not allow STI
  for a pipeline_schedule
    behaves like #schedule_next_run!
      saves the object and sets next_run_at
      sets next_run_at to nil on error
# [RSpecRunTime] RSpec elapsed time: 16 minutes 26.57 seconds. Current RSS: ~1516M. load average: 1.03 1.04 1.12 1/295 16012


    behaves like before_save callback
      updates next_run_at
    behaves like .runnable_schedules
      returns the runnable schedules
  for a container_expiration_policy
    behaves like #schedule_next_run!
      saves the object and sets next_run_at
      sets next_run_at to nil on error
    behaves like before_save callback
      updates next_run_at
    behaves like .runnable_schedules
      returns the runnable schedules
  for a packages cleanup policy
    behaves like #schedule_next_run!
      saves the object and sets next_run_at
      sets next_run_at to nil on error
    behaves like before_save callback
      updates next_run_at
    behaves like .runnable_schedules
      returns the runnable schedules
  #next_run_at
    raises a NotImplementedError

# [RSpecRunTime] Finishing example group spec/models/concerns/schedulable_spec.rb. It took 6.02 seconds. Expected to take 12.0 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/project/import_task_spec.rb. Expected to take 11.97 seconds.

Gitlab::ImportExport::Project::ImportTask
  when project import is valid
    performs project import successfully
    behaves like rake task with disabled object_storage
      disables direct & background upload only for service call
# [RSpecRunTime] RSpec elapsed time: 16 minutes 37.71 seconds. Current RSS: ~1499M. load average: 1.03 1.03 1.12 1/297 16123


  when project import is invalid
    performs project import successfully
# [RSpecRunTime] RSpec elapsed time: 16 minutes 40.32 seconds. Current RSS: ~1498M. load average: 1.03 1.03 1.11 1/298 16175



# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/project/import_task_spec.rb. It took 9.01 seconds. Expected to take 11.97 seconds.
# [RSpecRunTime] Starting example group spec/lib/extracts_ref/ref_extractor_spec.rb. Expected to take 11.47 seconds.

ExtractsRef::RefExtractor
  behaves like extracts ref method
    #extract_ref
      returns an empty pair when no repository_container is set
      without a path
        extracts a valid branch
        extracts a valid tag
        extracts a valid commit ref
        falls back to a primitive split for an invalid ref
        does not fetch ref names when there is no slash
        fetches ref names when there is a slash
      with a path
        extracts a valid branch
        extracts a valid tag
        extracts a valid commit SHA
        falls back to a primitive split for an invalid ref
        extracts the longest matching ref
        when the repository does not have ambiguous refs
          does not fetch all ref names when the first path component is a ref
          fetches all ref names when the first path component is not a ref
        when the repository has ambiguous refs
          always fetches all ref names
  .qualify_ref
    when ref_type is nil
      is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"
    when ref_type valid
      is expected to eq "refs/heads/570e7b2abdd848b95f2f578043fc23bd6f6fd24d"
    when ref_type is invalid
      is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"
  #ref_type
    delegates to .ref_type
  .ref_type
    when ref_type is nil
      is expected to eq nil
    when ref_type is heads
      is expected to eq "heads"
    when ref_type is tags
      is expected to eq "tags"
    when ref_type is invalid
      is expected to eq nil
  #extract_vars!
    behaves like extracts ref vars
      #extract!
        when ref contains %20
          is not converted to a space in @id
        when ref contains trailing space
          strips surrounding space
        when ref contains leading space
          strips surrounding space
        when path contains space
          is not converted to %20 in @path
        when override_id is given
          uses override_id
    when ref contains trailing space
      strips surrounding space
    when ref and path are nil
      does not set commit
    when a ref_type parameter is provided
      sets a fully_qualified_ref variable

# [RSpecRunTime] Finishing example group spec/lib/extracts_ref/ref_extractor_spec.rb. It took 2.78 seconds. Expected to take 11.47 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/regex/container_registry/protection/rules_spec.rb. Expected to take 11.2 seconds.

Gitlab::Regex::ContainerRegistry::Protection::Rules
  .protection_rules_container_repository_path_pattern_regex
    is expected to match "my/awesome/*image-with-wildcard-inbetween"
    is expected to match "my/awesome/*image-with-wildcard-start"
    is expected to match "my/awesome/*image-*with-wildcard-multiple-*"
    is expected to match "my/awesome/image-with__underscore"
    is expected to match "my/awesome/image-with-wildcard-end*"
    is expected to match "my/awesome/image-with-container-seperator-period-and-wildcard-end.*"
    is expected to match "my/awesome/image-with-container-seperator-slash-and-wildcard-end/*"
    is expected to match "my/awesome/image-with-container-seperator-underscore-and-wildcard-end_*"
    is expected to match "my/awesome/image-with-container-seperator-underscore-double-and-wildcard-end__*"
    is expected not to match "my/awesome/image-with-whitespace /sub-image"
    is expected not to match "my/awesome/image-with-whitespace /sub-image-with-wildcard-*"
    is expected not to match "my/awesome/image-with-percent-sign-end-%"
    is expected not to match "my/awesome/image-with-percent-sign-and-wildcard-end-%*"
    is expected not to match "*my/awesome/image-with-wildcard-start"
    is expected not to match "my/awesome/image-with-backslash-\\*"
    is expected not to match "my/awesome/image-with-UPPERCASE-LETTERS"
    behaves like container repository name regex
      is expected to match "image"
      is expected to match "my/image"
      is expected to match "my/awesome/image-1"
      is expected to match "my/awesome/image.test"
      is expected to match "my/awesome/image--test"
      is expected to match "my/image__test"
      is expected to match "user1/project/a_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb------------x"
      is expected not to match "user1/project/a_bbbbb-------------"
      is expected not to match "my/image-.test"
      is expected not to match "my/image___test"
      is expected not to match "my/image_.test"
      is expected not to match "my/image_-test"
      is expected not to match "my/image..test"
      is expected not to match "my/image\\ntest"
      is expected not to match ".my/image"
      is expected not to match "my/image."
# [RSpecRunTime] RSpec elapsed time: 16 minutes 45.32 seconds. Current RSS: ~1540M. load average: 1.02 1.03 1.11 1/296 16201



# [RSpecRunTime] Finishing example group spec/lib/gitlab/regex/container_registry/protection/rules_spec.rb. It took 2.21 seconds. Expected to take 11.2 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb. Expected to take 11.14 seconds.

Banzai::Filter::BroadcastMessageSanitizationFilter
  behaves like default allowlist
    sanitizes tags that are not allowed
    sanitizes tag attributes
    sanitizes javascript in attributes
    sanitizes mixed-cased javascript in attributes
    allows allowlisted HTML tags from the user
    sanitizes `class` attribute on any element
    sanitizes `id` attribute on any element
  custom allowlist
    behaves like XSS prevention
      disallows protocol-based JS injection: simple, no spaces
      disallows protocol-based JS injection: simple, spaces before
      disallows protocol-based JS injection: simple, spaces after
      disallows protocol-based JS injection: simple, spaces before and after
      disallows protocol-based JS injection: preceding colon
      disallows protocol-based JS injection: UTF-8 encoding
      disallows protocol-based JS injection: long UTF-8 encoding
      disallows protocol-based JS injection: long UTF-8 encoding without semicolons
      disallows protocol-based JS injection: hex encoding
      disallows protocol-based JS injection: long hex encoding
      disallows protocol-based JS injection: hex encoding without semicolons
      disallows protocol-based JS injection: null char
      disallows protocol-based JS injection: invalid URL char
      disallows protocol-based JS injection: Unicode
      disallows protocol-based JS injection: spaces and entities
      disallows protocol whitespace
      disallows data links
      disallows vbscript links
# [RSpecRunTime] RSpec elapsed time: 16 minutes 47.18 seconds. Current RSS: ~1544M. load average: 1.02 1.03 1.11 1/296 16202


    behaves like sanitize link
      removes `rel` attribute from `a` elements
      disallows invalid URIs
      allows non-standard anchor schemes
      allows relative links
    allows `a` elements
      is expected to eq "<a href=\"/\">Link</a>"
    allows `br` elements
      is expected to eq "Hello<br>World"
    when `a` elements have `style` attribute
      disallows other properties in `style` attribute on `a` elements
      allows specific properties
        is expected to eq "<a href=\"#\" style=\"color: red; border: blue; background: green; padding: 10px; margin: 10px; text-decoration: underline;\">Stylish Link</a>"
    allows `class` on `a` elements
      is expected to eq "<a href=\"#\" class=\"btn\">Button Link</a>"

# [RSpecRunTime] Finishing example group spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb. It took 2.51 seconds. Expected to take 11.14 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb. Expected to take 10.63 seconds.

Gitlab::ImportExport::SnippetRepoRestorer
  when the snippet does not have a bundle file path
    behaves like no bundle file present
      creates the repository from the database content
      does not call snippet update statistics service
      when the repository creation fails
        returns false
# [RSpecRunTime] RSpec elapsed time: 16 minutes 49.5 seconds. Current RSS: ~1547M. load average: 1.02 1.03 1.11 1/296 16239


  when the snippet bundle path is not present
    behaves like no bundle file present
      creates the repository from the database content
      does not call snippet update statistics service
      when the repository creation fails
        returns false
# [RSpecRunTime] RSpec elapsed time: 16 minutes 50.93 seconds. Current RSS: ~1543M. load average: 1.02 1.03 1.11 1/296 16276


  when the snippet repository bundle exists
    refreshes snippet statistics
    when it is valid
      creates the repository from the bundle
      sets same shard in snippet repository as in the repository storage
# [RSpecRunTime] RSpec elapsed time: 16 minutes 53.4 seconds. Current RSS: ~1577M. load average: 1.02 1.03 1.11 1/296 16325


    when it is invalid
      returns false and deletes the repository from disk and the database

# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb. It took 6.37 seconds. Expected to take 10.63 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage_data_counters/kubernetes_agent_counter_spec.rb. Expected to take 10.6 seconds.

Gitlab::UsageDataCounters::KubernetesAgentCounter
  behaves like a redis usage counter
    .count(gitops_sync)
      increments the Kubernetes Agent gitops_sync counter by 1
    .read(gitops_sync)
      returns the total number of gitops_sync events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read
  behaves like a redis usage counter
    .count(k8s_api_proxy_request)
      increments the Kubernetes Agent k8s_api_proxy_request counter by 1
    .read(k8s_api_proxy_request)
      returns the total number of k8s_api_proxy_request events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read
  behaves like a redis usage counter
    .count(flux_git_push_notifications_total)
      increments the Kubernetes Agent flux_git_push_notifications_total counter by 1
    .read(flux_git_push_notifications_total)
      returns the total number of flux_git_push_notifications_total events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read
  behaves like a redis usage counter
    .count(k8s_api_proxy_requests_via_ci_access)
      increments the Kubernetes Agent k8s_api_proxy_requests_via_ci_access counter by 1
    .read(k8s_api_proxy_requests_via_ci_access)
      returns the total number of k8s_api_proxy_requests_via_ci_access events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read
  behaves like a redis usage counter
    .count(k8s_api_proxy_requests_via_user_access)
      increments the Kubernetes Agent k8s_api_proxy_requests_via_user_access counter by 1
    .read(k8s_api_proxy_requests_via_user_access)
      returns the total number of k8s_api_proxy_requests_via_user_access events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read
  behaves like a redis usage counter
    .count(k8s_api_proxy_requests_via_pat_access)
      increments the Kubernetes Agent k8s_api_proxy_requests_via_pat_access counter by 1
    .read(k8s_api_proxy_requests_via_pat_access)
      returns the total number of k8s_api_proxy_requests_via_pat_access events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read
  .increment_event_counts
    increments the specified counters by the new increment amount
    with empty events
      is expected not to change `Gitlab::UsageDataCounters::KubernetesAgentCounter.totals`
    event is unknown
      raises an ArgumentError
    increment is negative
      raises an ArgumentError

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage_data_counters/kubernetes_agent_counter_spec.rb. It took 3.53 seconds. Expected to take 10.6 seconds.
# [RSpecRunTime] Starting example group spec/finders/clusters/agents/authorizations/ci_access/finder_spec.rb. Expected to take 10.24 seconds.

Clusters::Agents::Authorizations::CiAccess::Finder
  #execute
    project authorizations
      agent configuration project does not share a root namespace with the given project
        is expected to be empty
# [RSpecRunTime] RSpec elapsed time: 16 minutes 59.3 seconds. Current RSS: ~1565M. load average: 1.02 1.03 1.11 1/293 16340


      agent configuration project shares a root namespace, but does not belong to an ancestor of the given project
        is expected to contain exactly #<Clusters::Agents::Authorizations::CiAccess::ProjectAuthorization id: 2, project_id: 827, agent_id: 1, config: {"default_namespace"=>"production"}>
      with project authorizations present
        is expected to contain exactly #<Clusters::Agents::Authorizations::CiAccess::ProjectAuthorization id: 3, project_id: 827, agent_id: 3, config: {"default_namespace"=>"production"}>
      with overlapping authorizations
        is expected to contain exactly #<Clusters::Agents::Authorizations::CiAccess::ProjectAuthorization id: 4, project_id: 827, agent_id: 5, config: {"default_namespace"=>"production"}>
      behaves like access_as
        agent
          is expected to contain exactly #<Clusters::Agents::Authorizations::CiAccess::ProjectAuthorization id: 5, project_id: 827, agent_id: 3, config: {"access_as"=>{"agent"=>{}}}>
        impersonate
          is expected to be empty
        ci_user
          is expected to be empty
        ci_job
          is expected to be empty
    implicit authorizations
      returns authorizations for agents directly associated with the project
    authorized groups
      agent configuration project is outside the requesting project hierarchy
        is expected to be empty
      multiple agents are authorized for the same group
        returns authorizations for all agents
      a single agent is authorized to more than one matching group
        picks the authorization for the closest group to the requesting project
      agent configuration project does not belong to an ancestor of the authorized group
        is expected to contain exactly #<Clusters::Agents::Authorizations::CiAccess::GroupAuthorization id: 7, group_id: 3052, agent_id: 1, config: {"default_namespace"=>"production"}>
      behaves like access_as
        agent
          is expected to contain exactly #<Clusters::Agents::Authorizations::CiAccess::GroupAuthorization id: 8, group_id: 3049, agent_id: 3, config: {"access_as"=>{"agent"=>{}}}>
        impersonate
          is expected to be empty
        ci_user
          is expected to be empty
        ci_job
          is expected to be empty

# [RSpecRunTime] Finishing example group spec/finders/clusters/agents/authorizations/ci_access/finder_spec.rb. It took 3.87 seconds. Expected to take 10.24 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb. Expected to take 10.04 seconds.

Gitlab::MarkdownCache::ActiveRecord::Extension
  an unchanged markdown field
    is expected to eq "`Foo`"
    is expected to eq "<p dir=\"auto\"><code>Foo</code></p>"
    is expected not to be truthy
    is expected to eq 2097152
  a changed markdown field
    is expected to eq "<p dir=\"auto\"><code>Bar</code></p>"
    is expected to eq 2097152
  when a markdown field is set repeatedly to an empty string
    is expected to receive refresh_markdown_cache(*(any args)) 1 time
  when a markdown field is set repeatedly to a string which renders as empty html
    is expected to receive refresh_markdown_cache(*(any args)) 1 time
  a non-markdown field changed
    is expected to eq 2
    is expected to eq "`Foo`"
    is expected to eq "<p dir=\"auto\"><code>Foo</code></p>"
    is expected to eq 2097152
  version is out of date
    is expected to eq "<p dir=\"auto\"><code>Bar</code></p>"
    is expected to eq 2097152
  when an invalidating field is changed
    invalidates the cache when project changes
    invalidates the cache when author changes
  .attributes
    excludes cache attributes that are denylisted by default
  #cached_html_up_to_date?
    returns false if markdown has been changed but html has not
    returns true if markdown has not been changed but html has
    returns true if markdown and html have both been changed
    returns false if the markdown field is set but the html is not
  #refresh_markdown_cache!
    skips saving if not persisted
    saves the changes
  with note
    calls store_mentions!
    during import
      does not call store_mentions!
  when persisted cache is newer than current version
    does not save the generated HTML
  when persisted cache is nil
    does not save the generated HTML

# [RSpecRunTime] Finishing example group spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb. It took 2.9 seconds. Expected to take 10.04 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/chat/command_spec.rb. Expected to take 9.81 seconds.

Gitlab::Chat::Command
  #try_create_pipeline
    returns nil when the command is not valid
    tries to create the pipeline when a command is valid
  #create_pipeline
    creates the pipeline
    creates the chat data for the pipeline
    stores the chat name ID in the chat data
    stores the response URL in the chat data
    creates the environment variables for the pipeline
# [RSpecRunTime] RSpec elapsed time: 17 minutes 10.71 seconds. Current RSS: ~1549M. load average: 1.02 1.03 1.11 1/296 16426



# [RSpecRunTime] Finishing example group spec/lib/gitlab/chat/command_spec.rb. It took 6.22 seconds. Expected to take 9.81 seconds.
# [RSpecRunTime] Starting example group spec/lib/api/ml/mlflow/api_helpers_spec.rb. Expected to take 9.66 seconds.

API::Ml::Mlflow::ApiHelpers
  #custom_version
    input: [], output: nil
      is correct
    input: [{}], output: nil
      is correct
    input: [{:key=>"foo", :value=>"bar"}], output: nil
      is correct
    input: [{:key=>"gitlab.version", :value=>"1.2.3"}], output: "1.2.3"
      is correct
    input: [{:key=>"foo", :value=>"bar"}, {:key=>"gitlab.foo", :value=>"baz"}], output: nil
      is correct
  #model_order_params
    input: "", order_by: "name", sort: "asc"
      is correct
    input: "name", order_by: "name", sort: "asc"
      is correct
    input: "name DESC", order_by: "name", sort: "desc"
      is correct
    input: "last_updated_timestamp", order_by: "updated_at", sort: "asc"
      is correct
    input: "last_updated_timestamp asc", order_by: "updated_at", sort: "asc"
      is correct
    input: "last_updated_timestamp DESC", order_by: "updated_at", sort: "desc"
      is correct
  #gitlab_tags
    when tags param is not supplied
      returns nil
    when tags param is supplied
      input: [], output: nil
        is correct
      input: [{}], output: {}
        is correct
      input: [{:key=>"foo", :value=>"bar"}], output: {}
        is correct
      input: [{:key=>"gitlab.version", :value=>"1.2.3"}], output: {"version"=>"1.2.3"}
        is correct
      input: [{:key=>"foo", :value=>"bar"}, {:key=>"gitlab.foo", :value=>"baz"}], output: {"foo"=>"baz"}
        is correct
  #model_filter_params
    input: "", output: {}
      is correct
    input: "name=\"\"", output: {:name=>""}
      is correct
    input: "name=foo", output: {:name=>"foo"}
      is correct
    input: "name=\"foo\"", output: {:name=>"foo"}
      is correct
    input: "invalid=\"foo\"", output: {}
      is correct
  #candidates_order_params
    input: "", order_by: nil, order_by_type: nil, sort: nil
      is correct
    input: "created_at", order_by: "created_at", order_by_type: "column", sort: nil
      is correct
    input: "created_at ASC", order_by: "created_at", order_by_type: "column", sort: "ASC"
      is correct
    input: "metrics.something", order_by: "something", order_by_type: "metric", sort: nil
      is correct
    input: "metrics.something asc", order_by: "something", order_by_type: "metric", sort: "asc"
      is correct
    input: "metrics.something.blah asc", order_by: "something", order_by_type: "metric", sort: "asc"
      is correct
    input: "params.something ASC", order_by: nil, order_by_type: nil, sort: "ASC"
      is correct
    input: "metadata.something ASC", order_by: nil, order_by_type: nil, sort: "ASC"
      is correct

# [RSpecRunTime] Finishing example group spec/lib/api/ml/mlflow/api_helpers_spec.rb. It took 2.34 seconds. Expected to take 9.66 seconds.
# [RSpecRunTime] Starting example group spec/services/todos/destroy/confidential_issue_service_spec.rb. Expected to take 9.27 seconds.

Todos::Destroy::ConfidentialIssueService
  #execute
    when issue_id parameter is present
      when provided issue is confidential
        removes issue todos for users who can not access the confidential issue
# [RSpecRunTime] RSpec elapsed time: 17 minutes 14.65 seconds. Current RSS: ~1543M. load average: 1.01 1.03 1.11 1/295 16427


      when provided issue is not confidential
        does not remove any todos
# [RSpecRunTime] RSpec elapsed time: 17 minutes 16.09 seconds. Current RSS: ~1540M. load average: 1.01 1.03 1.11 1/295 16428


    when project_id parameter is present
      removes issues todos for users that cannot access confidential issues
# [RSpecRunTime] RSpec elapsed time: 17 minutes 18.45 seconds. Current RSS: ~1533M. load average: 1.01 1.03 1.11 1/295 16429



# [RSpecRunTime] Finishing example group spec/services/todos/destroy/confidential_issue_service_spec.rb. It took 5.39 seconds. Expected to take 9.27 seconds.
# [RSpecRunTime] Starting example group spec/workers/delete_user_worker_spec.rb. Expected to take 9.2 seconds.

DeleteUserWorker
  calls the DeleteUserWorker with the params it was given
  uses symbolized keys
  when user deleted their own account
    behaves like proceeds with deletion
      proceeds with deletion
    when delay_delete_own_user feature flag is disabled
      behaves like proceeds with deletion
        proceeds with deletion
    when user is banned
      behaves like does nothing
        does not instantiate a DeleteUserWorker
      behaves like logs
        logs
      behaves like updates the user's custom attributes
        destroys the user's DELETED_OWN_ACCOUNT_AT custom attribute
        creates a SKIPPED_ACCOUNT_DELETION_AT custom attribute for the user
        when custom attribute is not present
          does nothing
    when user is not blocked (e.g. result of user reinstatement request)
      behaves like does nothing
        does not instantiate a DeleteUserWorker
      behaves like logs
        logs
      behaves like updates the user's custom attributes
        destroys the user's DELETED_OWN_ACCOUNT_AT custom attribute
        creates a SKIPPED_ACCOUNT_DELETION_AT custom attribute for the user
        when custom attribute is not present
          does nothing
  when user to delete does not exist
    behaves like does nothing
      does not instantiate a DeleteUserWorker
  when current user does not exist
    behaves like does nothing
      does not instantiate a DeleteUserWorker
  when user to delete and current user do not exist
    behaves like does nothing
      does not instantiate a DeleteUserWorker

# [RSpecRunTime] Finishing example group spec/workers/delete_user_worker_spec.rb. It took 4.04 seconds. Expected to take 9.2 seconds.
# [RSpecRunTime] Starting example group spec/services/files/update_service_spec.rb. Expected to take 9.06 seconds.

Files::UpdateService
  #execute
    when the file's last commit sha is earlier than the latest change for that branch
      returns a hash with the correct error message and a :error status
    when the file's last commit sha does match the supplied last_commit_sha
      returns a hash with the :success status
      updates the file with the new contents
      uses the commit email
# [RSpecRunTime] RSpec elapsed time: 17 minutes 26.07 seconds. Current RSS: ~1545M. load average: 1.01 1.03 1.11 1/295 16576


    when the last_commit_sha is not supplied
      returns a hash with the :success status
      updates the file with the new contents
# [RSpecRunTime] RSpec elapsed time: 17 minutes 27.86 seconds. Current RSS: ~1564M. load average: 1.01 1.03 1.11 1/295 16640



# [RSpecRunTime] Finishing example group spec/services/files/update_service_spec.rb. It took 5.38 seconds. Expected to take 9.06 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/count_spec.rb. Expected to take 8.74 seconds.

Gitlab::Database::Count
  .approximate_counts
    fallbacks
      gets results from first strategy
      gets more results from second strategy if some counts are missing
      does not get more results as soon as all counts are present
# [RSpecRunTime] RSpec elapsed time: 17 minutes 31.24 seconds. Current RSS: ~1554M. load average: 1.01 1.03 1.10 1/295 16641


    default strategies
      with a read-only database
        only uses the ExactCountStrategy
# [RSpecRunTime] RSpec elapsed time: 17 minutes 32.39 seconds. Current RSS: ~1544M. load average: 1.01 1.03 1.10 1/295 16642


      with a read-write database
        uses the available strategies
# [RSpecRunTime] RSpec elapsed time: 17 minutes 33.51 seconds. Current RSS: ~1534M. load average: 1.01 1.03 1.10 1/295 16643



# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/count_spec.rb. It took 5.64 seconds. Expected to take 8.74 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/reports/codequality_reports_comparer_spec.rb. Expected to take 8.4 seconds.

Gitlab::Ci::Reports::CodequalityReportsComparer
  #status
    when head report has an error
      returns status failed
    when head report does not have errors
      returns status success
    when head report does not exist
      returns status not found
    when base report does not exist
      returns status success
  #errors_count
    when head report has an error
      returns the number of new errors
    when head report does not have an error
      returns zero
  #resolved_count
    when base report has an error and head has a different error
      counts the base report error as resolved
    when base report has errors head has no errors
      counts the base report errors as resolved
    when base report has errors and head has the same error
      returns zero
    when base report does not have errors and head has errors
      returns zero
    when base report is nil
      returns zero
  #total_count
    when base report has an error
      returns zero
    when head report has an error
      includes the head report error in the count
    when base report has errors and head report has errors
      includes errors in the count
    when base report has errors and head report has the same error
      includes errors in the count
    when base report is nil
      returns zero
  #existing_errors
    when base report has errors and head has the same error
      includes the base report errors sorted by severity
    when base report has errors and head has a different error
      returns an empty array
    when base report does not have errors and head has errors
      returns an empty array
    when base report is nil
      returns an empty array
  #new_errors
    when base report has errors and head has more errors
      includes errors not found in the base report sorted by severity
    when base report has an error and head has no errors
      returns an empty array
    when base report does not have errors and head has errors
      returns the head report error
    when base report is nil
      returns an empty array
  #resolved_errors
    when base report errors are still found in the head report
      returns an empty array
    when base report has errors and head has a different error
      returns the base report errors not found in the head report, sorted by severity
    when base report does not have errors and head has errors
      returns an empty array
    when base report is nil
      returns an empty array

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/reports/codequality_reports_comparer_spec.rb. It took 2.45 seconds. Expected to take 8.4 seconds.
# [RSpecRunTime] Starting example group spec/services/commits/tag_service_spec.rb. Expected to take 8.33 seconds.

Commits::TagService
  #execute
    valid params
      when tagging succeeds
        returns a hash with the :success status and created tag
        adds a system note
# [RSpecRunTime] RSpec elapsed time: 17 minutes 37.71 seconds. Current RSS: ~1547M. load average: 1.01 1.03 1.10 1/295 16684


      when tagging fails
        behaves like tag failure
          returns a hash with the :error status
          does not add a system note
# [RSpecRunTime] RSpec elapsed time: 17 minutes 39.21 seconds. Current RSS: ~1562M. load average: 1.01 1.03 1.10 1/295 16701


    invalid params
      behaves like tag failure
        returns a hash with the :error status
        does not add a system note
# [RSpecRunTime] RSpec elapsed time: 17 minutes 40.74 seconds. Current RSS: ~1569M. load average: 1.09 1.04 1.11 3/296 16718



# [RSpecRunTime] Finishing example group spec/services/commits/tag_service_spec.rb. It took 4.8 seconds. Expected to take 8.33 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/hotlinking_detector_spec.rb. Expected to take 8.17 seconds.

Gitlab::HotlinkingDetector
  .intercept_hotlinking?
    hotlinked as media
      return_value: false, accept_header: "*/*"
        is expected to equal false
      return_value: false, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        is expected to equal false
      return_value: false, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
        is expected to equal false
      return_value: false, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        is expected to equal false
      return_value: false, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
        is expected to equal false
      return_value: false, accept_header: "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/msword, */*"
        is expected to equal false
      return_value: false, accept_header: "text/html, application/xhtml+xml, image/jxr, */*"
        is expected to equal false
      return_value: false, accept_header: "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"
        is expected to equal false
      return_value: true, accept_header: "image/webp,*/*"
        is expected to equal true
      return_value: true, accept_header: "image/png,image/*;q=0.8,*/*;q=0.5"
        is expected to equal true
      return_value: true, accept_header: "image/webp,image/apng,image/*,*/*;q=0.8"
        is expected to equal true
      return_value: true, accept_header: "image/png,image/svg+xml,image/*;q=0.8, */*;q=0.5"
        is expected to equal true
      return_value: true, accept_header: "video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5"
        is expected to equal true
      return_value: true, accept_header: "audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5"
        is expected to equal true
      return_value: true, accept_header: "text/css,*/*;q=0.1"
        is expected to equal true
      return_value: true, accept_header: "text/css"
        is expected to equal true
      return_value: true, accept_header: "text/css,*/*;q=0.1"
        is expected to equal true
      return_value: true, accept_header: "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2"
        is expected to equal true
    hotlinked as a script
      return_value: false, fetch_mode: "navigate"
        is expected to equal false
      return_value: false, fetch_mode: "nested-navigate"
        is expected to equal false
      return_value: false, fetch_mode: "same-origin"
        is expected to equal false
      return_value: true, fetch_mode: "cors"
        is expected to equal true
      return_value: true, fetch_mode: "no-cors"
        is expected to equal true
      return_value: true, fetch_mode: "websocket"
        is expected to equal true

# [RSpecRunTime] Finishing example group spec/lib/gitlab/hotlinking_detector_spec.rb. It took 2.16 seconds. Expected to take 8.17 seconds.
# [RSpecRunTime] Starting example group spec/lib/bulk_imports/common/pipelines/lfs_objects_pipeline_spec.rb. Expected to take 8.0 seconds.

BulkImports::Common::Pipelines::LfsObjectsPipeline
  #run
    imports lfs objects into destination project and removes tmpdir
    does not call load on duplicates
  #extract
    downloads & extracts lfs objects filepaths
  #load
    when file path is lfs json
      returns
    when file path is tar file
      returns
    when lfs json read failed
      raises an error
    when file path is being traversed
      raises an error
    when file path is not under tmpdir
      returns
    when file path is symlink
      returns
    when file path shares multiple hard links
      returns
    when path is a directory
      returns
    lfs objects project
      when lfs objects json is invalid
        when oid value is not Array
          does not create lfs objects project
        when oid value is nil
          does not create lfs objects project
        when oid value is not allowed
          does not create lfs objects project
        when repository type is duplicated
          creates only one lfs objects project
      when lfs objects project fails to be created
        logs the failure
  #after_run
    removes tmpdir
    when tmpdir does not exist
      does not attempt to remove tmpdir

# [RSpecRunTime] Finishing example group spec/lib/bulk_imports/common/pipelines/lfs_objects_pipeline_spec.rb. It took 3.18 seconds. Expected to take 8.0 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/spamcheck/client_spec.rb. Expected to take 7.91 seconds.

Gitlab::Spamcheck::Client
  url scheme
    is tls
      uses secure connection
    is grpc
      uses insecure connection
  #spam?
    issue
      behaves like check for spam
        includes interceptors
        verdict_value: 0, expected: "allow", verdict_evaluated: true, verdict_score: 0.01
          returns expected spam result
        verdict_value: 1, expected: "conditional_allow", verdict_evaluated: true, verdict_score: 0.5
          returns expected spam result
        verdict_value: 2, expected: "disallow", verdict_evaluated: true, verdict_score: 0.75
          returns expected spam result
        verdict_value: 3, expected: "block", verdict_evaluated: true, verdict_score: 0.99
          returns expected spam result
        verdict_value: 4, expected: "noop", verdict_evaluated: false, verdict_score: 0.0
          returns expected spam result
    snippet
      behaves like check for spam
        includes interceptors
        verdict_value: 0, expected: "allow", verdict_evaluated: true, verdict_score: 0.01
          returns expected spam result
        verdict_value: 1, expected: "conditional_allow", verdict_evaluated: true, verdict_score: 0.5
          returns expected spam result
        verdict_value: 2, expected: "disallow", verdict_evaluated: true, verdict_score: 0.75
          returns expected spam result
        verdict_value: 3, expected: "block", verdict_evaluated: true, verdict_score: 0.99
          returns expected spam result
        verdict_value: 4, expected: "noop", verdict_evaluated: false, verdict_score: 0.0
          returns expected spam result
  #build_protobuf
    builds the expected issue protobuf object
    builds the expected snippet protobuf object
    builds the expected generic protobuf object
  #build_user_protobuf
    builds the expected protobuf object
    when user has multiple email addresses
      adds emails to the user pb object
  #build_project_protobuf
    builds the expected protobuf object
  #get_spammable_mappings
    is a defined spammable
    is a generic spammable

# [RSpecRunTime] Finishing example group spec/lib/gitlab/spamcheck/client_spec.rb. It took 2.44 seconds. Expected to take 7.91 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/checks/lfs_integrity_spec.rb. Expected to take 7.76 seconds.

Gitlab::Checks::LfsIntegrity
  #objects_missing?
    with LFS not enabled
      skips integrity check
    with LFS enabled
      is true if any LFS blobs are missing
      is false if LFS objects have already been uploaded
      nil rev
        skips integrity check
# [RSpecRunTime] RSpec elapsed time: 17 minutes 51.28 seconds. Current RSS: ~1568M. load average: 1.07 1.04 1.11 1/296 16802


      deletion
        skips integrity check
      no changes
        skips integrity check

# [RSpecRunTime] Finishing example group spec/lib/gitlab/checks/lfs_integrity_spec.rb. It took 3.87 seconds. Expected to take 7.76 seconds.
# [RSpecRunTime] Starting example group spec/components/pajamas/toggle_component_spec.rb. Expected to take 7.62 seconds.

Pajamas::ToggleComponent
  with defaults
    renders a toggle container with provided class
    does not set a name
    sets default is-checked attributes
    sets default disabled attributes
    sets default is-loading attributes
    does not set a label
    does not set a label position
  with custom options
    sets the custom class
    sets the custom name
    sets the custom is-checked attributes
    sets the custom disabled attributes
    sets the custom is-loading attributes
    sets the custom label
    sets the custom label position
    sets custom data attributes
  with setting label_position
    position: :top, count: 1
      is expected to have visible css "[data-label-position='top']"
    position: :left, count: 1
      is expected to have visible css "[data-label-position='left']"
    position: :hidden, count: 1
      is expected to have visible css "[data-label-position='hidden']"
    position: :bogus, count: 0
      is expected to have visible css "[data-label-position='bogus']"
    position: "bogus", count: 0
      is expected to have visible css "[data-label-position='bogus']"
    position: nil, count: 0
      is expected to have visible css "[data-label-position='']"

# [RSpecRunTime] Finishing example group spec/components/pajamas/toggle_component_spec.rb. It took 1.91 seconds. Expected to take 7.62 seconds.
# [RSpecRunTime] Starting example group spec/lib/bitbucket/representation/pull_request_spec.rb. Expected to take 7.43 seconds.

Bitbucket::Representation::PullRequest
  #iid
    is expected to eq 1
  #author
    is expected to eq "Ben"
    is expected to be nil
    is expected to be nil
  #description
    is expected to eq "Text"
    is expected to be nil
  #state
    is expected to eq "merged"
    is expected to eq "closed"
    is expected to eq "closed"
    is expected to eq "opened"
  #title
    is expected to eq "Issue"
  #source_branch_name
    is expected to eq "feature"
    is expected to be nil
  #source_branch_sha
    is expected to eq "abcd123"
    is expected to be nil
  #target_branch_name
    is expected to eq "master"
    is expected to be nil
  #target_branch_sha
    is expected to eq "abcd123"
    is expected to be nil
  #created_at
    is expected to eq "2023-01-01"
  #updated_at
    is expected to eq "2023-01-01"
  #merge_commit_sha
    is expected to eq "SHA"
    is expected to be nil
  #to_hash
    is expected to eq {:author=>"user-1", :created_at=>"created-at", :description=>"description", :iid=>11, :merge_commit_s...ch-name", :target_branch_sha=>"destination-commit-hash", :title=>"title", :updated_at=>"updated-at"}

# [RSpecRunTime] Finishing example group spec/lib/bitbucket/representation/pull_request_spec.rb. It took 1.95 seconds. Expected to take 7.43 seconds.
# [RSpecRunTime] Starting example group spec/models/oauth_access_token_spec.rb. Expected to take 7.34 seconds.

OauthAccessToken
  does not allow STI
  scopes
    .latest_per_application
      returns only the latest token for each application
  Doorkeeper secret storing
    does not have a prefix
    stores the token in hashed format
    does not allow falling back to plaintext token comparison
    finds a token by plaintext token
    when the token is stored in plaintext
      falls back to plaintext token comparison
# [RSpecRunTime] RSpec elapsed time: 17 minutes 58.6 seconds. Current RSS: ~1565M. load average: 1.07 1.04 1.11 1/295 16815


  .matching_token_for
    does not find existing tokens
  #expires_in
    when token has expires_in value set
      uses the expires_in value
    when token has nil expires_in
      uses default value

# [RSpecRunTime] Finishing example group spec/models/oauth_access_token_spec.rb. It took 2.8 seconds. Expected to take 7.34 seconds.
# [RSpecRunTime] Starting example group spec/tasks/gitlab/update_templates_rake_spec.rb. Expected to take 7.17 seconds.

gitlab:update_project_templates rake task
  updates valid project templates

# [RSpecRunTime] Finishing example group spec/tasks/gitlab/update_templates_rake_spec.rb. It took 4.82 seconds. Expected to take 7.17 seconds.
# [RSpecRunTime] RSpec elapsed time: 18 minutes 4.02 seconds. Current RSS: ~1513M. load average: 1.06 1.04 1.10 1/295 16838


# [RSpecRunTime] Starting example group spec/workers/bulk_imports/pipeline_batch_worker_spec.rb. Expected to take 6.98 seconds.

BulkImports::PipelineBatchWorker
  performs multiple times sequentially without raising an exception
  processes the batch once
  is labeled as idempotent
  with stop signal from database health check
DEPRECATION WARNING: Invalid Feature Flag drop_sidekiq_jobs_BulkImports::PipelineBatchWorker stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
    defers the job by set time
DEPRECATION WARNING: Invalid Feature Flag drop_sidekiq_jobs_BulkImports::PipelineBatchWorker stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
    lazy evaluates schema and tables
    when `bulk_import_deferred_workers` feature flag is disabled
DEPRECATION WARNING: Invalid Feature Flag drop_sidekiq_jobs_BulkImports::PipelineBatchWorker stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
      does not defer job execution
# [RSpecRunTime] RSpec elapsed time: 18 minutes 5.4 seconds. Current RSS: ~1519M. load average: 1.06 1.04 1.10 1/292 16839


  #perform
    runs the given pipeline batch successfully
    with tracker status
      when tracker is failed
        skips the batch
      when tracker is finished
        skips the batch
    with batch status
      when batch status is started
        finishes the batch
      when batch status is created
        finishes the batch
      when batch status is finished
        stays finished
    when exclusive lease cannot be obtained
      does not run the pipeline
    when pipeline raises an exception
      when pipeline is retryable
        retries the batch
      when pipeline raises an error
        keeps batch status as `started` and lets the error bubble up
  .sidekiq_retries_exhausted
    sets batch status to failed

# [RSpecRunTime] Finishing example group spec/workers/bulk_imports/pipeline_batch_worker_spec.rb. It took 2.8 seconds. Expected to take 6.98 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/filter/syntax_highlight_filter_spec.rb. Expected to take 6.98 seconds.

Banzai::Filter::SyntaxHighlightFilter
  when no language is specified
    highlights as plaintext
    escapes HTML tags
  when contains mermaid diagrams
    ignores mermaid blocks
  when <pre> contains multiple <code> tags
    ignores the block
  when <pre><code> is a child of <pre><code> which is a child of a div
    captures all text and doesn't fail trying to replace a node with no parent
  when a valid language is specified
    highlights as that language
    escapes HTML tags
  when an invalid language is specified
    highlights as plaintext
    escapes HTML tags
  languages that should be passed through
    when math is specified
      highlights as plaintext but with the correct language attribute and class
      escapes HTML tags
    when mermaid is specified
      highlights as plaintext but with the correct language attribute and class
      escapes HTML tags
    when plantuml is specified
      highlights as plaintext but with the correct language attribute and class
      escapes HTML tags
    when suggestion is specified
      highlights as plaintext but with the correct language attribute and class
      escapes HTML tags
  when sourcepos metadata is available
    includes it in the highlighted code block
    escape sourcepos metadata to prevent XSS
  when Rouge lexing fails
    highlights as plaintext
    escapes HTML tags
  when Rouge lexing fails after a retry
    does not add highlighting classes
    escapes HTML tags
  behaves like html filter timeout
    when rendering takes too long
      times out

# [RSpecRunTime] Finishing example group spec/lib/banzai/filter/syntax_highlight_filter_spec.rb. It took 2.44 seconds. Expected to take 6.98 seconds.
# [RSpecRunTime] Starting example group spec/finders/abuse_reports_finder_spec.rb. Expected to take 6.75 seconds.

AbuseReportsFinder
  #execute
    when params is empty
      behaves like returns all abuse reports
        returns all abuse reports
    when params[:user] is present
      behaves like returns filtered reports
        returns abuse reports filtered by user_id
        when no user has username = params[:user]
          behaves like returns all abuse reports
            returns all abuse reports
    when params[:reporter] is present
      behaves like returns filtered reports
        returns abuse reports filtered by reporter_id
        when no user has username = params[:reporter]
          behaves like returns all abuse reports
            returns all abuse reports
    when params[:status] = open
      returns only open abuse reports
    when params[:status] = closed
      returns only closed abuse reports
    when params[:status] is not a valid status
      defaults to returning open abuse reports
    when params[:category] is present
      returns abuse reports with the specified category
    aggregating reports
      when multiple open reports exist
        aggregates open reports by user and category
        sorts by aggregated_count in descending order and created_at in descending order
        returns count with aggregated reports
        when a different sorting attribute is given
          returns reports sorted by the specified sort attribute
        when params[:sort] is invalid
          sorts reports by aggregated_count in descending order
      when multiple closed reports exist
        does not aggregate closed reports
        sorts reports by created_at in descending order
        when a different sorting attribute is given
          returns reports sorted by the specified sort attribute
        when params[:sort] is invalid
          sorts reports by created_at in descending order

# [RSpecRunTime] Finishing example group spec/finders/abuse_reports_finder_spec.rb. It took 2.34 seconds. Expected to take 6.75 seconds.
# [RSpecRunTime] Starting example group spec/services/clusters/agent_tokens/revoke_service_spec.rb. Expected to take 6.74 seconds.

Clusters::AgentTokens::RevokeService
  #execute
    when user is authorized
      when user revokes agent token
        succeeds
        creates an activity event
# [RSpecRunTime] RSpec elapsed time: 18 minutes 13.03 seconds. Current RSS: ~1555M. load average: 1.05 1.04 1.10 1/291 16840


      when there is a validation failure
        fails without raising an error
        does not create an activity event
# [RSpecRunTime] RSpec elapsed time: 18 minutes 14.32 seconds. Current RSS: ~1545M. load average: 1.05 1.04 1.10 1/291 16841


    when user is not authorized
      when user attempts to revoke agent token
        fails

# [RSpecRunTime] Finishing example group spec/services/clusters/agent_tokens/revoke_service_spec.rb. It took 3.53 seconds. Expected to take 6.74 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/status/build/retried_spec.rb. Expected to take 6.57 seconds.

Gitlab::Ci::Status::Build::Retried
  #text
    does not override status text
  #icon
    does not override status icon
  #group
    does not override status group
  #favicon
    does not override status label
  #label
    does not override status label
  #badge_tooltip
    returns status
  #status_tooltip
    with a failed build
      does override status_tooltip
    with another build
      does override status_tooltip
  .matches?
    with a retried build
      is expected to be truthy
    with a build that has not been retried
      is expected to be falsy

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/status/build/retried_spec.rb. It took 3.29 seconds. Expected to take 6.57 seconds.
# [RSpecRunTime] Starting example group spec/models/diff_note_position_spec.rb. Expected to take 6.44 seconds.

DiffNotePosition
  does not allow STI
  unique by note_id and diff type
  accepts a line_range attribute
  .create_or_update_by
    when a diff note
      does not have a diff note position
        creates a diff note position
# [RSpecRunTime] RSpec elapsed time: 18 minutes 20.73 seconds. Current RSS: ~1539M. load average: 1.04 1.03 1.10 3/298 16947


      has a diff note position
        updates the existing diff note position
# [RSpecRunTime] RSpec elapsed time: 18 minutes 21.82 seconds. Current RSS: ~1546M. load average: 1.04 1.03 1.10 1/297 17000



# [RSpecRunTime] Finishing example group spec/models/diff_note_position_spec.rb. It took 3.48 seconds. Expected to take 6.44 seconds.
# [RSpecRunTime] Starting example group spec/models/issue_assignee_spec.rb. Expected to take 6.34 seconds.

IssueAssignee
  does not allow STI
  associations
    is expected to belong to issue class_name => Issue required: false
    is expected to belong to assignee class_name => User required: false
# [RSpecRunTime] RSpec elapsed time: 18 minutes 23.23 seconds. Current RSS: ~1539M. load average: 1.04 1.03 1.10 1/297 17001


  validations
    is expected to validate that :assignee is case-sensitively unique within the scope of :issue_id
  scopes
    in_projects
      returns issue assignees for given project
    on_issues
      returns issue assignees for given issues

# [RSpecRunTime] Finishing example group spec/models/issue_assignee_spec.rb. It took 3.31 seconds. Expected to take 6.34 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/encrypted_user_password_spec.rb. Expected to take 6.29 seconds.

User
  does not allow STI
  #authenticatable_salt
    when password is stored in BCrypt format
      returns the first 30 characters of the encrypted_password
    when password is stored in PBKDF2 format
      uses the decoded password salt
      does not use the first 30 characters of the encrypted_password
    when the encrypted_password is an unknown type
      returns the first 30 characters of the encrypted_password
  #password=
    calls default Devise encryptor and not the PBKDF2 encryptor
    saves the password in BCrypt format
    when FIPS mode is enabled
      calls PBKDF2 digest and not the default Devise encryptor
      saves the password in PBKDF2 format
  #valid_password?
    when the default encryption method is BCrypt
      behaves like password validation fails when the password is encrypted using an unsupported method
        is expected to eq false
      when the user password PBKDF2+SHA512
        is expected to eq true
        re-encrypts the password as BCrypt
    when the default encryption method is PBKDF2+SHA512 and the user password is BCrypt
      behaves like password validation fails when the password is encrypted using an unsupported method
        is expected to eq false
      when the user password BCrypt
        is expected to eq true
        re-encrypts the password as PBKDF2+SHA512

# [RSpecRunTime] Finishing example group spec/models/concerns/encrypted_user_password_spec.rb. It took 2.0 seconds. Expected to take 6.29 seconds.
# [RSpecRunTime] Starting example group spec/serializers/test_report_summary_entity_spec.rb. Expected to take 6.11 seconds.

TestReportSummaryEntity
  #as_json
    contains the total
    when summary has test suites
      contains the test suites
      contains build_ids
# [RSpecRunTime] RSpec elapsed time: 18 minutes 30.21 seconds. Current RSS: ~1524M. load average: 1.04 1.03 1.10 1/296 17002



# [RSpecRunTime] Finishing example group spec/serializers/test_report_summary_entity_spec.rb. It took 3.07 seconds. Expected to take 6.11 seconds.
# [RSpecRunTime] Starting example group spec/models/legacy_diff_discussion_spec.rb. Expected to take 6.02 seconds.

LegacyDiffDiscussion
  does not allow STI
  #reply_attributes
    includes line_code
# [RSpecRunTime] RSpec elapsed time: 18 minutes 31.48 seconds. Current RSS: ~1527M. load average: 1.04 1.03 1.10 1/297 17043


  #merge_request_version_params
    when the discussion is active
      returns an empty hash, which will end up showing the latest version
    when the discussion is outdated
      returns nil

# [RSpecRunTime] Finishing example group spec/models/legacy_diff_discussion_spec.rb. It took 3.15 seconds. Expected to take 6.02 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/metrics/boot_time_tracker_spec.rb. Expected to take 5.94 seconds.

Gitlab::Metrics::BootTimeTracker
  #track_boot_time!
    when called on puma for the first time
      set the startup_time
      records the current process runtime
      logs the application boot time
      tracks boot time in a prometheus gauge
      on subsequent calls
        does nothing
    when called on sidekiq for the first time
      set the startup_time
      records the current process runtime
      logs the application boot time
      tracks boot time in a prometheus gauge
      on subsequent calls
        does nothing
    when called on console for the first time
      set the startup_time
      records the current process runtime
      logs the application boot time
      tracks boot time in a prometheus gauge
      on subsequent calls
        does nothing
    when called on other runtimes
      does nothing
  #startup_time
    returns 0 when boot time not tracked

# [RSpecRunTime] Finishing example group spec/lib/gitlab/metrics/boot_time_tracker_spec.rb. It took 1.7 seconds. Expected to take 5.94 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/panel_spec.rb. Expected to take 5.82 seconds.

Sidebars::Panel
  #renderable_menus
    returns only renderable menus
  #super_sidebar_menu_items
    serializes every renderable menu and returns a flattened result
  #super_sidebar_context_header
    raises `NotImplementedError`
  #render?
    returns false with no menus
    returns false with no renderable menus
    returns true with renderable menus
  #add_element
    adds the element to the last position of the list
    does not add nil elements
  #insert_element_before
    adds element before the specific element class
    does not add nil elements
    when reference element does not exist
      adds the element to the top of the list
  #insert_element_after
    adds element after the specific element class
    does not add nil elements
    when reference element does not exist
      adds the element to the end of the list
  #replace_element
    replace existing element in the list
    does not add nil elements
    does not add the element if the other element is not found

# [RSpecRunTime] Finishing example group spec/lib/sidebars/panel_spec.rb. It took 1.56 seconds. Expected to take 5.82 seconds.
# [RSpecRunTime] Starting example group spec/components/pajamas/banner_component_spec.rb. Expected to take 5.81 seconds.

Pajamas::BannerComponent
  basic usage
    renders its content
    renders its title
    renders a close button
    button_text and button_link
      define the primary action
    banner_options
      are on the banner
      with custom classes
        don't conflict with internal banner_classes
    close_options
      are on the close button
    variant
      by default (promotion)
        does not apply introduction class
      when set to introduction
        applies the introduction class to the banner
        applies the confirm class to the close button
      when set to unknown variant
        ignores the unknown variant
    illustration
      has none by default
      with svg_path
        renders an image as illustration
  with illustration slot
    renders the slot content as illustration
    and conflicting svg_path
      uses the slot content
  with primary_action slot
    renders the slot content as the primary action
    and conflicting button_text and button_link
      uses the slot content

# [RSpecRunTime] Finishing example group spec/components/pajamas/banner_component_spec.rb. It took 1.6 seconds. Expected to take 5.81 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/background_task_spec.rb. Expected to take 5.66 seconds.

Gitlab::BackgroundTask
  when stopped
    is not running
    #start
      runs the given task on a background thread
      returns self
      when installing exit handler
        stops a running background task
      when task responds to start
        calls start
        when start returns true
          runs the task
        when start returns false
          does not run the task
      when synchronous is set to true
        calls join on the thread
    #stop
      is a no-op
  when running
    #start
      raises an error
    #stop
      stops running
      when task responds to stop
        calls stop
      when task stop raises an error
        stops gracefully
        reports the error
    when task run raises exception
#<Thread:0x00007c9b81407fb0@test_background_task /builds/gitlab-org/gitlab/lib/gitlab/background_task.rb:58 run> terminated with exception (report_on_exception is true):
/builds/gitlab-org/gitlab/spec/lib/gitlab/background_task_spec.rb:189:in `block (5 levels) in <top (required)>': task error (RuntimeError)
	from /builds/gitlab-org/gitlab/lib/gitlab/background_task.rb:60:in `block (2 levels) in start'
      stops gracefully
#<Thread:0x00007c9b80d6f7e8@test_background_task /builds/gitlab-org/gitlab/lib/gitlab/background_task.rb:58 run> terminated with exception (report_on_exception is true):
/builds/gitlab-org/gitlab/spec/lib/gitlab/background_task_spec.rb:189:in `block (5 levels) in <top (required)>': task error (RuntimeError)
	from /builds/gitlab-org/gitlab/lib/gitlab/background_task.rb:60:in `block (2 levels) in start'
      reports the error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/background_task_spec.rb. It took 1.87 seconds. Expected to take 5.66 seconds.
# [RSpecRunTime] Starting example group spec/initializers/rest-client-hostname_override_spec.rb. Expected to take 5.64 seconds.

rest-client dns rebinding protection
  behaves like a request using Gitlab::HTTP_V2::UrlBlocker
    when local requests are not allowed
      allows an external request with http
      allows an external request with https
      raises error when it is a request that resolves to a local address
      raises error when it is a request that resolves to a localhost address
      raises error when it is a request to local address
      raises error when it is a request to localhost address
    when port different from URL scheme is used
      allows the request
      raises error when it is a request to local address
      raises error when it is a request to localhost address
    when DNS rebinding protection is disabled
      allows the request
    when http(s) proxy environment variable is set
      allows the request
    when local requests are allowed
      allows an external request
      allows an external request that resolves to a local address
      allows an external request that resolves to a localhost address
      allows a local address request
      allows a localhost address request
    when a non HTTP/HTTPS URL is provided
      raises an error

# [RSpecRunTime] Finishing example group spec/initializers/rest-client-hostname_override_spec.rb. It took 1.98 seconds. Expected to take 5.64 seconds.
# [RSpecRunTime] Starting example group spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb. Expected to take 5.49 seconds.

Mutations::Security::CiConfiguration::ConfigureSecretDetection
  is expected to require graphql authorizations :push_code
  #resolve
    generates an error if the resource is not accessible to the user
    when user does not have enough permissions
      generates an error
    when user is a maintainer of a different project
      generates an error
    when the user does not have permission to create a new branch
      returns an array of errors
    when the user can create a merge request
      when service successfully generates a path to create a new merge request
        returns a success path
      when service can not generate any path to create a new merge request
        returns an array of errors

# [RSpecRunTime] Finishing example group spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb. It took 2.3 seconds. Expected to take 5.49 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/repository_url_builder_spec.rb. Expected to take 5.45 seconds.

Gitlab::RepositoryUrlBuilder
  .build
    factory: :project, path_generator: ->(project) { project.full_path }
      when passing SSH protocol
        returns the SSH URL to the repository
      when passing HTTP protocol
        returns the HTTP URL to the repo without a username
        includes the custom HTTP clone root if set
      when passing an unsupported protocol
        raises an exception
    factory: :project_snippet, path_generator: ->(snippet) { "#{snippet.project.full_path}/snippets/#{snippet.id}" }
      when passing SSH protocol
        returns the SSH URL to the repository
      when passing HTTP protocol
        returns the HTTP URL to the repo without a username
        includes the custom HTTP clone root if set
      when passing an unsupported protocol
        raises an exception
    factory: :project_wiki, path_generator: ->(wiki)    { "#{wiki.container.full_path}.wiki" }
      when passing SSH protocol
        returns the SSH URL to the repository
      when passing HTTP protocol
        returns the HTTP URL to the repo without a username
        includes the custom HTTP clone root if set
      when passing an unsupported protocol
        raises an exception
    factory: :personal_snippet, path_generator: ->(snippet) { "snippets/#{snippet.id}" }
      when passing SSH protocol
        returns the SSH URL to the repository
      when passing HTTP protocol
        returns the HTTP URL to the repo without a username
        includes the custom HTTP clone root if set
      when passing an unsupported protocol
        raises an exception

# [RSpecRunTime] Finishing example group spec/lib/gitlab/repository_url_builder_spec.rb. It took 1.74 seconds. Expected to take 5.45 seconds.
# [RSpecRunTime] Starting example group spec/models/packages/rpm/metadatum_spec.rb. Expected to take 5.32 seconds.

Packages::Rpm::Metadatum
  does not allow STI
  relationships
    is expected to belong to package required: false
  validations
    is expected to validate that :package cannot be empty/falsy
    is expected to validate that :epoch cannot be empty/falsy
    is expected to validate that :release cannot be empty/falsy
    is expected to validate that :summary cannot be empty/falsy
    is expected to validate that :description cannot be empty/falsy
    is expected to validate that :arch cannot be empty/falsy
    is expected to validate that :epoch looks like an integer greater than or equal to 0
    is expected to validate that the length of :release is at most 128
    is expected to validate that the length of :summary is at most 1000
    is expected to validate that the length of :description is at most 5000
    is expected to validate that the length of :arch is at most 255
    is expected to validate that the length of :license is at most 1000
    is expected to validate that the length of :url is at most 1000
    #rpm_package_type
      will not allow a package with a different package_type
# [RSpecRunTime] RSpec elapsed time: 18 minutes 47.72 seconds. Current RSS: ~1579M. load average: 1.03 1.03 1.10 1/294 17146



# [RSpecRunTime] Finishing example group spec/models/packages/rpm/metadatum_spec.rb. It took 1.6 seconds. Expected to take 5.32 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/user_profile/menus/following_menu_spec.rb. Expected to take 5.23 seconds.

Sidebars::UserProfile::Menus::FollowingMenu
  behaves like User profile menu
    does not contain any sub menu
    renders the correct link
    renders the correct title
    renders the correct icon
    renders the correct avatar
    defines correct active route
    renders if user is logged in
    when viewed user is blocked
      when user is not logged in
        is not allowed to view the menu item
      when current user has permission
        is allowed to view the menu item
      when current user does not have permission
        is not allowed to view the menu item
    when viewed user is banned
      when user is not logged in
        is not allowed to view the menu item
      when current user has permission
        is allowed to view the menu item
      when current user does not have permission
        is not allowed to view the menu item
  behaves like Followers/followees counts
    when there are items
      renders the pill
      returns the count
    when there are no items
      does not render the pill

# [RSpecRunTime] Finishing example group spec/lib/sidebars/user_profile/menus/following_menu_spec.rb. It took 1.7 seconds. Expected to take 5.23 seconds.
# [RSpecRunTime] Starting example group spec/services/groups/nested_create_service_spec.rb. Expected to take 5.2 seconds.

Groups::NestedCreateService
  with subgroups
    #execute
      returns the group if it already existed
      reuses a parent if it already existed
      creates group and subgroup in the database
      behaves like with a visibility level
        creates the group with correct visibility level
        adding a visibility level
          overwrites the visibility level
# [RSpecRunTime] RSpec elapsed time: 18 minutes 52.47 seconds. Current RSS: ~1555M. load average: 1.03 1.03 1.09 1/294 17148



# [RSpecRunTime] Finishing example group spec/services/groups/nested_create_service_spec.rb. It took 3.05 seconds. Expected to take 5.2 seconds.
# [RSpecRunTime] Starting example group spec/workers/external_service_reactive_caching_worker_spec.rb. Expected to take 5.09 seconds.

ExternalServiceReactiveCachingWorker
  behaves like reactive cacheable worker
    #perform
      when reactive cache worker class is found
        calls #exclusively_update_reactive_cache!
        when ReactiveCaching::ExceededReactiveCacheLimit is raised
          avoids failing the job and tracks via Gitlab::ErrorTracking
# [RSpecRunTime] RSpec elapsed time: 18 minutes 54.42 seconds. Current RSS: ~1561M. load average: 1.03 1.03 1.09 1/294 17149


      when reactive cache worker class is not found
        raises no error
      when reactive cache worker class is invalid
        raises no error
    worker context
      sets the related class on the job
      sets the related class on the job when it was passed as a class

# [RSpecRunTime] Finishing example group spec/workers/external_service_reactive_caching_worker_spec.rb. It took 2.34 seconds. Expected to take 5.09 seconds.
# [RSpecRunTime] Starting example group spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb. Expected to take 4.99 seconds.

ResourceEvents::SyntheticMilestoneNotesBuilderService
  #execute
    builds milestone notes for resource milestone events
    behaves like filters by paginated notes
      only returns given notes
      when paginated notes is empty
        does not return any notes
# [RSpecRunTime] RSpec elapsed time: 18 minutes 57.9 seconds. Current RSS: ~1529M. load average: 1.02 1.03 1.09 1/292 17150



# [RSpecRunTime] Finishing example group spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb. It took 3.1 seconds. Expected to take 4.99 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/snippets/blob_viewer_type_spec.rb. Expected to take 4.97 seconds.

Types::Snippets::BlobViewerType
  has the correct fields
  is expected to be non null
  is expected to be non null
  is expected to be non null
  is expected to be non null
  is expected not to be non null
  is expected to be non null
  is expected to be non null
  collapsed
    behaves like nil field converted to false
      returns false
# [RSpecRunTime] RSpec elapsed time: 18 minutes 59.35 seconds. Current RSS: ~1536M. load average: 1.02 1.03 1.09 1/294 17170


  tooLarge
    behaves like nil field converted to false
      returns false

# [RSpecRunTime] Finishing example group spec/graphql/types/snippets/blob_viewer_type_spec.rb. It took 1.66 seconds. Expected to take 4.97 seconds.
# [RSpecRunTime] Starting example group spec/finders/projects/topics_finder_spec.rb. Expected to take 4.85 seconds.

Projects::TopicsFinder
  #execute
    returns topics
    filter by name
      search: "topic", result: ["topicC", "topicA", "topicB"]
        returns filtered topics
# [RSpecRunTime] RSpec elapsed time: 19 minutes 0.73 second. Current RSS: ~1540M. load average: 1.02 1.03 1.09 1/295 17178


      search: "pic", result: ["topicC", "topicA", "topicB"]
        returns filtered topics
      search: "B", result: []
        returns filtered topics
      search: "cB", result: []
        returns filtered topics
      search: "icB", result: ["topicB"]
        returns filtered topics
      search: "topicA", result: ["topicA"]
        returns filtered topics
      search: "topica", result: ["topicA"]
        returns filtered topics
    filter by without_projects
      returns topics without assigned projects
      returns topics without assigned projects

# [RSpecRunTime] Finishing example group spec/finders/projects/topics_finder_spec.rb. It took 1.91 seconds. Expected to take 4.85 seconds.
# [RSpecRunTime] Starting example group spec/services/incident_management/link_alerts/destroy_service_spec.rb. Expected to take 4.79 seconds.

IncidentManagement::LinkAlerts::DestroyService
  #execute
    when current user is a guest
      responds with error
      does not unlink alert from the incident
# [RSpecRunTime] RSpec elapsed time: 19 minutes 2.7 seconds. Current RSS: ~1538M. load average: 1.02 1.03 1.09 1/295 17179


    when current user is a developer
      responds with success
      when unlinking internal alert
        unlinks the alert
      when unlinking external alert
        unlinks the alert
      when unlinking an alert not related to the incident
        does not change the incident's alerts
        does not change another incident's alerts
        does not change the alert's incident

# [RSpecRunTime] Finishing example group spec/services/incident_management/link_alerts/destroy_service_spec.rb. It took 2.05 seconds. Expected to take 4.79 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb. Expected to take 4.69 seconds.

Gitlab::Database::PartitioningMigrationHelpers::ForeignKeyHelpers
  #add_concurrent_partitioned_foreign_key
    when the foreign key does not exist on the parent table
      creates the foreign key on each partition, and the parent table
      with validate: false option
        creates the foreign key only on partitions
    when the foreign key exists on the parent table
      does not attempt to create any foreign keys
    when additional foreign key options are given
      forwards them to the foreign key helper methods
    when run inside a transaction block
      raises an error
  #validate_partitioned_foreign_key
    when run inside a transaction block
      raises an error
    when run outside a transaction block
      when name is provided
        validates FK for each partition
      when name is not provided
        validates FK for each partition
      when FK does not exist for a given partition
        does not validate missing FK

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb. It took 1.77 seconds. Expected to take 4.69 seconds.
# [RSpecRunTime] Starting example group spec/graphql/resolvers/alert_management/http_integrations_resolver_spec.rb. Expected to take 4.65 seconds.

Resolvers::AlertManagement::HttpIntegrationsResolver
  is expected to have nullable GraphQL type AlertManagementHttpIntegrationConnection
  user does not have permission
    is expected to be empty
# [RSpecRunTime] RSpec elapsed time: 19 minutes 6.71 seconds. Current RSS: ~1553M. load average: 1.02 1.03 1.09 1/295 17180


  user has developer permission
    is expected to be empty
  user has maintainer permission
    is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2024-02-20 23:38:34.059175069 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>
    when HTTP Integration ID is given
      when integration is from the current project
        is expected to contain exactly #<AlertManagement::HttpIntegration id: 2, created_at: "2024-02-20 23:38:34.065826488 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>
      when integration is from other project
        is expected to be empty

# [RSpecRunTime] Finishing example group spec/graphql/resolvers/alert_management/http_integrations_resolver_spec.rb. It took 2.54 seconds. Expected to take 4.65 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/metrics/subscribers/external_http_spec.rb. Expected to take 4.58 seconds.

Gitlab::Metrics::Subscribers::ExternalHttp
  .detail_store
    when external HTTP detail store is empty
      returns an empty array
    when the performance bar is not enabled
      returns an empty array
    when external HTTP detail store has some values
      returns the external http detailed store
  .payload
    when SafeRequestStore does not have any item from external HTTP
      returns an empty array
    when external HTTP recorded some values
      returns the external http detailed store
    with multiple requests
      returns a payload containing a limited set of slow requests
  #request
    tracks external HTTP request count
    tracks external HTTP duration
    tracks external HTTP exceptions
    stores per-request counters
    stores a portion of events into the detail store
    when the performance bar is not enabled
      does not capture detail store

# [RSpecRunTime] Finishing example group spec/lib/gitlab/metrics/subscribers/external_http_spec.rb. It took 1.34 seconds. Expected to take 4.58 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/github_import/importer/events/commented_spec.rb. Expected to take 4.51 seconds.

Gitlab::GithubImport::Importer::Events::Commented
  with Issue
    behaves like new note
      creates a note
      when extended_events is disabled
        does not create a note
  with MergeRequest
    behaves like new note
      creates a note
      when extended_events is disabled
        does not create a note

# [RSpecRunTime] Finishing example group spec/lib/gitlab/github_import/importer/events/commented_spec.rb. It took 1.74 seconds. Expected to take 4.51 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/github_import/settings_spec.rb. Expected to take 4.44 seconds.

Gitlab::GithubImport::Settings
  .stages_array
    returns stages list as array
    when `github_import_extended_events` feature flag is disabled
      returns stages list as array
  #prioritize_collaborators?
    when prioritize_collaborators is set to true
    when prioritize_collaborators is set to false
    when prioritize_collaborators is not present
  #enabled?
    returns is enabled or not specific optional stage
  #extended_events?
    when extended_events is set to true
    when extended_events is set to false
    when extended_events is not present
  #disabled?
    returns is disabled or not specific optional stage
  #write
    puts optional steps and timeout strategy into projects import_data

# [RSpecRunTime] Finishing example group spec/lib/gitlab/github_import/settings_spec.rb. It took 1.32 seconds. Expected to take 4.44 seconds.
# [RSpecRunTime] Starting example group spec/lib/bulk_imports/groups/loaders/group_loader_spec.rb. Expected to take 4.37 seconds.

BulkImports::Groups::Loaders::GroupLoader
  #load
    when path is missing
      raises an error
    when destination namespace is not a group
      raises an error
    when there are other group errors
      raises an error with those errors
    when user can create group
      when there is no parent group
        calls Group Create Service to create a new group
      when there is parent group
        calls Group Create Service to create a new group
      when user does not have 2FA enabled
        when require_two_factor_authentication is not passed
          calls Group Create Service to create a new group
        when require_two_factor_authentication is false
          calls Group Create Service to create a new group
        when require_two_factor_authentication is true
          does not create new group
    when user cannot create group
      when there is no parent group
        does not create new group
      when there is parent group
        does not create new group

# [RSpecRunTime] Finishing example group spec/lib/bulk_imports/groups/loaders/group_loader_spec.rb. It took 1.38 seconds. Expected to take 4.37 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/pipeline_counts_type_spec.rb. Expected to take 4.3 seconds.

Types::Ci::PipelineCountsType
  is expected to eq "PipelineCounts"
  has the expected fields
  behaves like pipeline counts query
    returns pipeline counts
# [RSpecRunTime] RSpec elapsed time: 19 minutes 14.92 seconds. Current RSS: ~1559M. load average: 1.02 1.03 1.09 1/297 17248


  behaves like pipeline counts query
    returns pipeline counts
  behaves like pipeline counts query
    returns pipeline counts
  behaves like pipeline counts query
    returns pipeline counts

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/pipeline_counts_type_spec.rb. It took 2.33 seconds. Expected to take 4.3 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb. Expected to take 4.24 seconds.

Gitlab::Git::AttributesAtRefParser
  loads .gitattributes blob
  handles missing blobs
  #attributes
    returns the attributes as a Hash
# [RSpecRunTime] RSpec elapsed time: 19 minutes 17.94 seconds. Current RSS: ~1561M. load average: 1.02 1.03 1.09 1/297 17276



# [RSpecRunTime] Finishing example group spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb. It took 2.0 seconds. Expected to take 4.24 seconds.
# [RSpecRunTime] Starting example group spec/services/projects/detect_repository_languages_service_spec.rb. Expected to take 4.23 seconds.

Projects::DetectRepositoryLanguagesService
  #execute
    without previous detection
      inserts new programming languages in the database
      inserts the repository langauges
      updates detected_repository_languages flag
    with a previous detection
      updates the repository languages
      doesn't touch detected_repository_languages flag
    when no repository exists
      has no languages

# [RSpecRunTime] Finishing example group spec/services/projects/detect_repository_languages_service_spec.rb. It took 1.65 seconds. Expected to take 4.23 seconds.
# [RSpecRunTime] Starting example group spec/lib/bitbucket_server/representation/comment_spec.rb. Expected to take 4.14 seconds.

BitbucketServer::Representation::Comment
  #id
    is expected to eq 9
  #author_username
    returns username
    when username is absent
      returns slug
    when slug and username are absent
      returns displayName
  #author_email
    is expected to eq "test.user@example.com"
  #note
    is expected to eq "is this a new line?"
  #created_at
    is expected to be a kind of Time
  #updated_at
    is expected to be a kind of Time
  #comments
    is expected to eq 4
    is expected to all be a kind of BitbucketServer::Representation::Comment
    is expected to contain exactly "Hello world", "Ok", "hello", and "hi"
    comments have the right parent

# [RSpecRunTime] Finishing example group spec/lib/bitbucket_server/representation/comment_spec.rb. It took 0.97 second. Expected to take 4.14 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/zentao/query_spec.rb. Expected to take 4.13 seconds.

Gitlab::Zentao::Query
  #issues
    when params are empty
      fills default params
# [RSpecRunTime] RSpec elapsed time: 19 minutes 22.49 seconds. Current RSS: ~1542M. load average: 1.01 1.03 1.09 1/296 17296


    when params contain valid options
      fills params with standard of ZenTao
    when params contain invalid options
      fills default params with standard of ZenTao
  #issue
    returns issue object by client

# [RSpecRunTime] Finishing example group spec/lib/gitlab/zentao/query_spec.rb. It took 3.38 seconds. Expected to take 4.13 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/count_jira_imports_metric_spec.rb. Expected to take 4.01 seconds.

Gitlab::Usage::Metrics::Instrumentations::CountJiraImportsMetric
  with all time frame
    behaves like a correct instrumented metric value and query
      behaves like a correct instrumented metric value
        has correct value
      behaves like a correct instrumented metric query
        has correct generate query
  for 28d time frame
    behaves like a correct instrumented metric value and query
      behaves like a correct instrumented metric value
        has correct value
      behaves like a correct instrumented metric query
        has correct generate query

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/count_jira_imports_metric_spec.rb. It took 1.21 seconds. Expected to take 4.01 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/github_import/attachments_downloader_spec.rb. Expected to take 4.0 seconds.

Gitlab::GithubImport::AttachmentsDownloader
  #delete
    removes file with parent folder
  #perform
    when file valid
      downloads file
    when file shares multiple hard links
      raises expected exception
    when filename is malicious
      raises expected exception
    when file size exceeds limit
      raises expected exception
    when file name length exceeds limit
      chops filename
    when chunk download returns a redirect
      skips the redirect and continues
    when chunk download returns an error
      raises expected exception
    when attachment is behind a github asset endpoint
      gets redirection url
      when url is not a redirection
        queries with original file_url
      when redirection url is not supported
        raises UnsupportedAttachmentError on unsupported extension

# [RSpecRunTime] Finishing example group spec/lib/gitlab/github_import/attachments_downloader_spec.rb. It took 0.99 second. Expected to take 4.0 seconds.
# [RSpecRunTime] Starting example group spec/workers/database/lock_tables_worker_spec.rb. Expected to take 3.91 seconds.

Database::LockTablesWorker
  #perform
    when running with single database
      skips executing the job (PENDING: Skipping because database ci exists)
    when running in decomposed database
      when the table is wrong
        when trying to lock tables on an unknown database
          raises an exception
        when trying to lock tables on the database that does not support locking
          raises an exception
        when trying to lock tables on the wrong database
          raises an exception
        when trying to lock shared tables on the database
          raises an exception
      when the table is correct
        when the table is not locked for writes
          database_name: :ci, tables: ["users", "namespaces"]
            locks the tables on the corresponding database
          database_name: :main, tables: ["ci_pipelines", "ci_builds"]
            locks the tables on the corresponding database
          when the table is already locked for writes
            database_name: :ci, tables: ["users", "namespaces"]
              skips locking the tables on the corresponding database
            database_name: :main, tables: ["ci_pipelines", "ci_builds"]
              skips locking the tables on the corresponding database

# [RSpecRunTime] Finishing example group spec/workers/database/lock_tables_worker_spec.rb. It took 1.27 seconds. Expected to take 3.91 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/count/exact_count_strategy_spec.rb. Expected to take 3.82 seconds.

Gitlab::Database::Count::ExactCountStrategy
  #count
    counts all models
    returns default value if count times out
# [RSpecRunTime] RSpec elapsed time: 19 minutes 29.57 seconds. Current RSS: ~1533M. load average: 1.01 1.03 1.09 1/292 17297



# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/count/exact_count_strategy_spec.rb. It took 2.15 seconds. Expected to take 3.82 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/alert_management/fingerprint_spec.rb. Expected to take 3.81 seconds.

Gitlab::AlertManagement::Fingerprint
  .generate
    when data is an array
      returns the hashed fingerprint
      with a variety of data
        data: 111
          performs like a hashed fingerprint
        data: "fingerprint"
          performs like a hashed fingerprint
        data: :fingerprint
          performs like a hashed fingerprint
        data: true
          performs like a hashed fingerprint
    when data is a hash
      behaves like fingerprinted Hash
        performs like a hashed fingerprint
      hashes with different order
        calculates the same result
      hash is too large
        raises an error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/alert_management/fingerprint_spec.rb. It took 0.92 second. Expected to take 3.81 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/composer/version_index_spec.rb. Expected to take 3.7 seconds.

Gitlab::Composer::VersionIndex
  #as_json
    with a public project
      behaves like returns the packages json
        returns the packages json
        with an unordered list of packages
          returns the packages sorted by version
    with an internal project
      behaves like returns the packages json
        returns the packages json
        with an unordered list of packages
          returns the packages sorted by version
    with a private project
      behaves like returns the packages json
        returns the packages json
        with an unordered list of packages
          returns the packages sorted by version
  #sha
    returns the json SHA

# [RSpecRunTime] Finishing example group spec/lib/gitlab/composer/version_index_spec.rb. It took 1.5 seconds. Expected to take 3.7 seconds.
# [RSpecRunTime] Starting example group spec/models/work_items/widgets/award_emoji_spec.rb. Expected to take 3.66 seconds.

WorkItems::Widgets::AwardEmoji
  does not allow STI
  #downvotes
    is expected to eq 1
  .type
    is expected to eq :award_emoji
  #upvotes
    is expected to eq 1
  #award_emoji
    is expected to contain exactly #<AwardEmoji id: 1, name: "star", user_id: 1687, awardable_type: "Issue", created_at: "2024-02-20 23:39:00.677598171 +0000", updated_at: "2024-02-20 23:39:00.677598171 +0000", awardable_id: 138>, #<AwardEmoji id: 2, name: "thumbsup", user_id: 1688, awardable_type: "Issue", created_at: "2024-02-20 23:39:00.781662801 +0000", updated_at: "2024-02-20 23:39:00.781662801 +0000", awardable_id: 138>, and #<AwardEmoji id: 3, name: "thumbsdown", user_id: 1689, awardable_type: "Issue", created_at: "2024-02-...-20 23:39:00.903911336 +0000", updated_at: "2024-02-20 23:39:00.903911336 +0000", awardable_id: 138>
  #type
    is expected to eq :award_emoji

# [RSpecRunTime] Finishing example group spec/models/work_items/widgets/award_emoji_spec.rb. It took 1.25 seconds. Expected to take 3.66 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb. Expected to take 3.6 seconds.

Sidebars::UserSettings::Menus::ApplicationsMenu
  behaves like User settings menu #render? method
    #render?
      when user is logged in
        renders
      when user is not logged in
        does not render
  behaves like User settings menu
    does not contain any sub menu
    renders the correct link
    renders the correct title
    renders the correct icon
    defines correct active route

# [RSpecRunTime] Finishing example group spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb. It took 0.64 second. Expected to take 3.6 seconds.
# [RSpecRunTime] Starting example group spec/helpers/sessions_helper_spec.rb. Expected to take 3.57 seconds.

SessionsHelper
  #unconfirmed_email?
    returns true when the flash alert contains a devise failure unconfirmed message
    returns false when the flash alert does not contain a devise failure unconfirmed message
  #unconfirmed_verification_email?
    reset_first_offer?: true, unconfirmed_email_present?: true, token_valid?: true, result: true
      is expected to eq true
    reset_first_offer?: false, unconfirmed_email_present?: true, token_valid?: true, result: false
      is expected to eq false
    reset_first_offer?: true, unconfirmed_email_present?: false, token_valid?: true, result: false
      is expected to eq false
    reset_first_offer?: true, unconfirmed_email_present?: true, token_valid?: false, result: false
      is expected to eq false
  #verification_email
    when there is an unconfirmed verification email
      is expected to eq "unconfirmed@email"
    when there is no unconfirmed verification email
      is expected to eq "user2004@example.org"
  #verification_data
    returns the expected data
  #obfuscated_email
    delegates to Gitlab::Utils::Email.obfuscated_email
  #remember_me_enabled?
    when application setting is enabled
      is expected to equal true
    when application setting is disabled
      is expected to equal false

# [RSpecRunTime] Finishing example group spec/helpers/sessions_helper_spec.rb. It took 1.12 seconds. Expected to take 3.57 seconds.
# [RSpecRunTime] Starting example group spec/models/raw_usage_data_spec.rb. Expected to take 3.49 seconds.

RawUsageData
  does not allow STI
  scopes
    .for_current_reporting_cycle
      returns nil where no records match filter criteria
      with records matching filtering criteria
        return records within reporting cycle time range ordered by creation time
  validations
    is expected to validate that :payload cannot be empty/falsy
    is expected to validate that :recorded_at cannot be empty/falsy
    uniqueness validation
      is expected to validate that :recorded_at is case-sensitively unique
    #update_version_metadata!
      updates sent_at
      updates version_usage_data_id_value

# [RSpecRunTime] Finishing example group spec/models/raw_usage_data_spec.rb. It took 0.75 second. Expected to take 3.49 seconds.
# [RSpecRunTime] Starting example group spec/services/ml/create_candidate_service_spec.rb. Expected to take 3.47 seconds.

Ml::CreateCandidateService
  #execute
    with default parameters
      creates a candidate
      gives a fake name
      sets the correct values
    when parameters are passed
      with default parameters
        creates a candidate
        sets the correct values

# [RSpecRunTime] Finishing example group spec/services/ml/create_candidate_service_spec.rb. It took 1.06 seconds. Expected to take 3.47 seconds.
# [RSpecRunTime] Starting example group spec/serializers/merge_requests/pipeline_entity_spec.rb. Expected to take 3.39 seconds.

MergeRequests::PipelineEntity
  #as_json
    contains required fields
    returns presented coverage
    excludes coverage data when disabled

# [RSpecRunTime] Finishing example group spec/serializers/merge_requests/pipeline_entity_spec.rb. It took 1.03 seconds. Expected to take 3.39 seconds.
# [RSpecRunTime] Starting example group spec/rubocop/cop/usage_data/large_table_spec.rb. Expected to take 3.39 seconds.

RuboCop::Cop::UsageData::LargeTable
  in an usage data file
    with large tables
      when calling Issue.count
        registers an offense
      when calling Issue.active.count
        registers an offense
      when calling count(Issue)
        does not register an offense
      when calling count(Ci::Build.active)
        does not register an offense
      when calling Ci::Build.active.count
        registers an offense
      when using allowed methods
        does not register an offense
    with non related class
      does not register an offense
  when outside of an usage data file
    does not register an offense

# [RSpecRunTime] Finishing example group spec/rubocop/cop/usage_data/large_table_spec.rb. It took 0.72 second. Expected to take 3.39 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/compare_accessibility_reports_service_spec.rb. Expected to take 3.31 seconds.

Ci::CompareAccessibilityReportsService
  #execute
    when head pipeline has accessibility reports
      returns status and data
    when base and head pipelines have accessibility reports
      returns status and data

# [RSpecRunTime] Finishing example group spec/services/ci/compare_accessibility_reports_service_spec.rb. It took 1.58 seconds. Expected to take 3.31 seconds.
# [RSpecRunTime] Starting example group spec/finders/packages/npm/packages_for_user_finder_spec.rb. Expected to take 3.3 seconds.

Packages::Npm::PackagesForUserFinder
  #execute
    with a project
      behaves like searches for packages
        is expected to contain exactly #<Packages::Package id: 3, project_id: 960, created_at: "2024-02-20 23:39:09.068840587 +0000", update...kage_type: "npm", creator_id: 1699, status: "default", last_downloaded_at: nil, status_message: nil>
# [RSpecRunTime] RSpec elapsed time: 19 minutes 41.42 seconds. Current RSS: ~1543M. load average: 1.01 1.02 1.09 1/297 17350


    with a group
      behaves like searches for packages
        is expected to contain exactly #<Packages::Package id: 3, project_id: 960, created_at: "2024-02-20 23:39:09.068840587 +0000", update...kage_type: "npm", creator_id: 1699, status: "default", last_downloaded_at: nil, status_message: nil>
      when an user is a reporter of both projects
        is expected to contain exactly #<Packages::Package id: 3, project_id: 960, created_at: "2024-02-20 23:39:09.068840587 +0000", update...kage_type: "npm", creator_id: 1699, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 5, project_id: 961, created_at: "2024-02-20 23:39:09.120316647 +0000", update...kage_type: "npm", creator_id: 1701, status: "default", last_downloaded_at: nil, status_message: nil>
        when the second project has the package registry disabled
          behaves like searches for packages
            is expected to contain exactly #<Packages::Package id: 3, project_id: 960, created_at: "2024-02-20 23:39:09.068840587 +0000", update...kage_type: "npm", creator_id: 1699, status: "default", last_downloaded_at: nil, status_message: nil>

# [RSpecRunTime] Finishing example group spec/finders/packages/npm/packages_for_user_finder_spec.rb. It took 1.82 seconds. Expected to take 3.3 seconds.
# [RSpecRunTime] Starting example group spec/models/snippet_blob_spec.rb. Expected to take 3.26 seconds.

SnippetBlob
  does not allow STI
  #id
    returns the snippet ID
  #name
    returns the snippet file name
  #size
    returns the data size
  #data
    returns the snippet content
  #rendered_markup
    when the content is GFM
      returns the rendered GFM
    when the content is not GFM
      returns nil

# [RSpecRunTime] Finishing example group spec/models/snippet_blob_spec.rb. It took 1.06 seconds. Expected to take 3.26 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/cache/metadata_spec.rb. Expected to take 3.18 seconds.

Gitlab::Cache::Metadata
  #initialize
    when optional arguments are not set
      sets default value for them
    when invalid feature category is set
      is expected to raise RuntimeError
      when on production
        does not raise an exception
    when not_owned feature category is set
      is expected to eq :not_owned
    when backing resource is not supported
      is expected to raise RuntimeError
      when on production
        does not raise an exception
  #cache_identifier
    is expected to eq "ApplicationController#show"
  #backing_resource
    is expected to eq :unknown
  #feature_category
    is expected to eq :source_code_management

# [RSpecRunTime] Finishing example group spec/lib/gitlab/cache/metadata_spec.rb. It took 0.78 second. Expected to take 3.18 seconds.
# [RSpecRunTime] Starting example group spec/models/integrations/chat_message/base_message_spec.rb. Expected to take 3.17 seconds.

Integrations::ChatMessage::BaseMessage
  does not allow STI
  #fallback
    without relative links
      is expected to eq "Just another *markdown* message"
    with relative links
      is expected to eq "Check this out https://gitlab-domain.com/uploads/Screenshot1.png"
    with multiple relative links
      is expected to eq "Check this out https://gitlab-domain.com/uploads/Screenshot1.png. And this https://gitlab-domain.com/uploads/Screenshot2.png"
  #strip_markup
    input: nil, output: nil
      returns the expected output
    input: "", output: ""
      returns the expected output
    input: "[label](url)", output: "label(url)"
      returns the expected output
    input: "<url|label>", output: "urllabel"
      returns the expected output
    input: "<a href=\"url\">label</a>", output: "a href=\"url\"label/a"
      returns the expected output

# [RSpecRunTime] Finishing example group spec/models/integrations/chat_message/base_message_spec.rb. It took 0.78 second. Expected to take 3.17 seconds.
# [RSpecRunTime] Starting example group spec/workers/concerns/click_house_worker_spec.rb. Expected to take 3.1 seconds.

ClickHouseWorker
  registers ClickHouse worker
  sets default TTL for worker registration
  registers worker to pause on ClickHouse migrations
  .click_house_worker_attrs
    is expected not to raise Exception
    is expected to match (a hash including {:migration_lock_ttl => 60 seconds})
    with invalid ttl
      raises exception
  .register_click_house_worker?
    when click_house_migration_lock is set
      is expected to equal true
    when click_house_migration_lock is not set
      is expected to equal true
    when worker does not include module
      is expected not to respond to #register_click_house_worker?

# [RSpecRunTime] Finishing example group spec/workers/concerns/click_house_worker_spec.rb. It took 0.75 second. Expected to take 3.1 seconds.
# [RSpecRunTime] Starting example group spec/workers/incident_management/close_incident_worker_spec.rb. Expected to take 3.08 seconds.

IncidentManagement::CloseIncidentWorker
  #perform
    calls the close issue service
    when the incident does not exist
      behaves like does not call the close issue service
        is expected not to change `ResourceStateEvent.count`
    when issue type is not incident
      behaves like does not call the close issue service
        is expected not to change `ResourceStateEvent.count`
    when incident is not open
      behaves like does not call the close issue service
        is expected not to change `ResourceStateEvent.count`
    when incident fails to close
      is expected not to change `ResourceStateEvent.count`

# [RSpecRunTime] Finishing example group spec/workers/incident_management/close_incident_worker_spec.rb. It took 1.34 seconds. Expected to take 3.08 seconds.
# [RSpecRunTime] Starting example group spec/models/abuse/event_spec.rb. Expected to take 3.03 seconds.

Abuse::Event
  does not allow STI
  is expected to be valid
  validations
    is expected to validate that :source cannot be empty/falsy
    is expected to validate that :category cannot be empty/falsy
    is expected to validate that :user cannot be empty/falsy
  associations
    is expected to belong to user class_name => User required: false inverse_of => abuse_events
    is expected to belong to abuse_report required: false inverse_of => abuse_events
  enums
    is expected to define :source as an enum backed by an integer with values ‹{spamcheck: 0, virus_total: 1, arkose_custom_score: 2, arkose_global_score: 3, telesign: 4, pvs: 5}›
    is expected to define :category as an enum backed by an integer with values ‹{spam: 0, virus: 1, fraud: 2, ci_cd: 3}›

# [RSpecRunTime] Finishing example group spec/models/abuse/event_spec.rb. It took 0.85 second. Expected to take 3.03 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/user_settings/menus/comment_templates_menu_spec.rb. Expected to take 3.01 seconds.

Sidebars::UserSettings::Menus::CommentTemplatesMenu
  #render?
    when comment templates are enabled
      when user is logged in
        does not render
      when user is not logged in
        does not render
  behaves like User settings menu
    does not contain any sub menu
    renders the correct link
    renders the correct title
    renders the correct icon
    defines correct active route

# [RSpecRunTime] Finishing example group spec/lib/sidebars/user_settings/menus/comment_templates_menu_spec.rb. It took 0.65 second. Expected to take 3.01 seconds.
# [RSpecRunTime] Starting example group spec/models/project_custom_attribute_spec.rb. Expected to take 2.96 seconds.

ProjectCustomAttribute
  does not allow STI
  assocations
    is expected to belong to project required: false
  validations
    is expected to validate that :project cannot be empty/falsy
    is expected to validate that :key cannot be empty/falsy
    is expected to validate that :value cannot be empty/falsy
    is expected to validate that :key is case-sensitively unique within the scope of :project_id

# [RSpecRunTime] Finishing example group spec/models/project_custom_attribute_spec.rb. It took 0.9 second. Expected to take 2.96 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/total_count_metric_spec.rb. Expected to take 2.94 seconds.

Gitlab::Usage::Metrics::Instrumentations::TotalCountMetric
  .redis_key
    adds the key prefix to the event name
    with a date
      adds the key prefix and suffix to the event name
  with multiple similar events
    with an 'all' time_frame
      behaves like a correct instrumented metric value
        has correct value
    with a 7d time_frame
      behaves like a correct instrumented metric value
        has correct value
    with a 28d time_frame
      behaves like a correct instrumented metric value
        has correct value
  with an invalid time_frame
    raises an exception
  with multiple different events
    with an 'all' time_frame
      behaves like a correct instrumented metric value
        has correct value
    with a 7d time_frame
      behaves like a correct instrumented metric value
        has correct value
    with a 28d time_frame
      behaves like a correct instrumented metric value
        has correct value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/total_count_metric_spec.rb. It took 1.02 seconds. Expected to take 2.94 seconds.
# [RSpecRunTime] Starting example group spec/lib/quality/seeders/issues_spec.rb. Expected to take 2.89 seconds.

Quality::Seeders::Issues
  #seed
..    seeds issues
# [RSpecRunTime] RSpec elapsed time: 19 minutes 51.96 seconds. Current RSS: ~1535M. load average: 1.08 1.04 1.09 1/292 17351



# [RSpecRunTime] Finishing example group spec/lib/quality/seeders/issues_spec.rb. It took 1.87 seconds. Expected to take 2.89 seconds.
# [RSpecRunTime] Starting example group spec/workers/bulk_import_worker_spec.rb. Expected to take 2.86 seconds.

BulkImportWorker
  #perform
    executes the BulkImports::ProcessService
    when no BulkImport is found
      returns without error
      does not executes the BulkImports::ProcessService
    behaves like an idempotent worker
      is labeled as idempotent
      performs multiple times sequentially without raising an exception
  #sidekiq_retries_exhausted
    logs export failure and marks entity as failed

# [RSpecRunTime] Finishing example group spec/workers/bulk_import_worker_spec.rb. It took 0.66 second. Expected to take 2.86 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/project_transfer_spec.rb. Expected to take 2.82 seconds.

Gitlab::ProjectTransfer
  #move_project
    moves project upload to another namespace
  #move_namespace
    when moving namespace from root into another namespace
      moves namespace projects' upload
    when moving namespace from one parent to another
      moves namespace projects' upload
    when moving namespace from having a parent to root
      moves namespace projects' upload
  #rename_project
    renames project
  #rename_namespace
    renames namespace

# [RSpecRunTime] Finishing example group spec/lib/gitlab/project_transfer_spec.rb. It took 0.55 second. Expected to take 2.82 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/user_settings/menus/ssh_keys_menu_spec.rb. Expected to take 2.78 seconds.

Sidebars::UserSettings::Menus::SshKeysMenu
  behaves like User settings menu #render? method
    #render?
      when user is logged in
        renders
      when user is not logged in
        does not render
  behaves like User settings menu
    does not contain any sub menu
    renders the correct link
    renders the correct title
    renders the correct icon
    defines correct active route

# [RSpecRunTime] Finishing example group spec/lib/sidebars/user_settings/menus/ssh_keys_menu_spec.rb. It took 0.7 second. Expected to take 2.78 seconds.
# [RSpecRunTime] Starting example group spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb. Expected to take 2.73 seconds.

Resolvers::DesignManagement::DesignAtVersionResolver
  #resolve
    returns the specified design
    when the user cannot see designs
      generates ResourceNotAvailable
    the ID belongs to a design on another issue
      generates ResourceNotAvailable
      the current object does not constrain the issue
        returns the object

# [RSpecRunTime] Finishing example group spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb. It took 1.59 seconds. Expected to take 2.73 seconds.
# [RSpecRunTime] Starting example group spec/graphql/mutations/alert_management/http_integration/create_spec.rb. Expected to take 2.7 seconds.

Mutations::AlertManagement::HttpIntegration::Create
  is expected to require graphql authorizations :admin_operations
  #resolve
    user has access to project
      when HttpIntegrations::CreateService responds with success
        returns the integration with no errors
      when HttpIntegrations::CreateService responds with an error
        returns errors
    when resource is not accessible to the user
      raises an error if the resource is not accessible to the user

# [RSpecRunTime] Finishing example group spec/graphql/mutations/alert_management/http_integration/create_spec.rb. It took 0.94 second. Expected to take 2.7 seconds.
# [RSpecRunTime] Starting example group spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb. Expected to take 2.67 seconds.

BulkImports::Projects::Pipelines::AutoDevopsPipeline
  #run
    imports auto devops options into destination project

# [RSpecRunTime] Finishing example group spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb. It took 0.81 second. Expected to take 2.67 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage_data_counters/productivity_analytics_counter_spec.rb. Expected to take 2.61 seconds.

Gitlab::UsageDataCounters::ProductivityAnalyticsCounter
  behaves like a redis usage counter
    .count(views)
      increments the ProductivityAnalytics views counter by 1
    .read(views)
      returns the total number of views events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage_data_counters/productivity_analytics_counter_spec.rb. It took 0.53 second. Expected to take 2.61 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/ci/bulk_insertable_tags_spec.rb. Expected to take 2.6 seconds.

Ci::BulkInsertableTags
  does not allow STI
  .with_bulk_insert_tags
    changes the thread key to true
  #save_tags
    calls super
    does not call super with BulkInsertableTags.with_bulk_insert_tags
    isolates bulk insert behavior between threads

# [RSpecRunTime] Finishing example group spec/models/concerns/ci/bulk_insertable_tags_spec.rb. It took 0.5 second. Expected to take 2.6 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/pipeline_spec.rb. Expected to take 2.55 seconds.

Banzai::Pipeline
  .[]
    for nil
      is expected to eq Banzai::Pipeline::FullPipeline
    for symbols
      when known
        is expected to eq Banzai::Pipeline::FullPipeline
      when unknown
        behaves like error
          is expected to raise NameError with "uninitialized constant Banzai::Pipeline::UnknownPipeline"
    for classes
      subclassing Banzai::Pipeline::BasePipeline
        is expected to eq #<Class:0x00007c9b756da5f0>
      subclassing other types
        behaves like error
          is expected to raise ArgumentError with "unsupported pipeline name Foo (Class)"
    for other types
      behaves like error
        is expected to raise ArgumentError with "unsupported pipeline name \"label\" (String)"

# [RSpecRunTime] Finishing example group spec/lib/banzai/pipeline_spec.rb. It took 0.54 second. Expected to take 2.55 seconds.
# [RSpecRunTime] Starting example group spec/services/packages/update_tags_service_spec.rb. Expected to take 2.53 seconds.

Packages::UpdateTagsService
  #execute
    behaves like updating tags
      updates a tag
    with an existing tag
      on the same package
        behaves like updating tags
          updates a tag
        with different name
          behaves like updating tags
            updates a tag
      on a different package
        behaves like updating tags
          updates a tag
    with empty tags
      is a no op

# [RSpecRunTime] Finishing example group spec/services/packages/update_tags_service_spec.rb. It took 1.03 seconds. Expected to take 2.53 seconds.
# [RSpecRunTime] Starting example group spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb. Expected to take 2.48 seconds.

RuboCop::Cop::Gitlab::DelegatePredicateMethods
  registers offense for multiple predicate methods with allow_nil:true
  registers no offense for non-predicate method with allow_nil:true
  registers no offense with predicate method without allow_nil
  registers offense for single predicate method with allow_nil:true
  registers no offense with predicate method with allow_nil:false

# [RSpecRunTime] Finishing example group spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb. It took 0.58 second. Expected to take 2.48 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb. Expected to take 2.47 seconds.

Sidebars::Groups::Menus::KubernetesMenu
  behaves like serializable as super_sidebar_menu_args
    returns hash with provided attributes
    returns hash with an item_id
  #render?
    when user can read clusters
      returns true
    when user cannot read clusters rules
      returns false
    :certificate_based_clusters feature flag is disabled
      returns false

# [RSpecRunTime] Finishing example group spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb. It took 0.66 second. Expected to take 2.47 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/custom_emoji_type_spec.rb. Expected to take 2.43 seconds.

Types::CustomEmojiType
  is expected to eq "CustomEmoji"
  is expected to require graphql authorizations :read_custom_emoji
  is expected to have graphql fields "id", "name", "url", "external", "created_at", and "user_permissions"
  is expected to expose permissions using Types::PermissionTypes::CustomEmoji

# [RSpecRunTime] Finishing example group spec/graphql/types/custom_emoji_type_spec.rb. It took 0.42 second. Expected to take 2.43 seconds.
# [RSpecRunTime] Starting example group spec/serializers/import/manifest_provider_repo_entity_spec.rb. Expected to take 2.39 seconds.

Import::ManifestProviderRepoEntity
  behaves like exposes required fields for import entity
    exposes required fields
      correctly exposes id
      correctly exposes full name
      correctly exposes sanitized name
      correctly exposes provider link

# [RSpecRunTime] Finishing example group spec/serializers/import/manifest_provider_repo_entity_spec.rb. It took 0.6 second. Expected to take 2.39 seconds.
# [RSpecRunTime] Starting example group spec/views/events/event/_push.html.haml_spec.rb. Expected to take 2.35 seconds.

events/event/_push.html.haml
  with a branch
    links to the branch
    that has been deleted
      does not link to the branch
    ref_count is more than 1
      includes the count in the text
  with a tag
    links to the tag
    that has been deleted
      does not link to the tag
    ref_count is more than 1
      includes the count in the text

# [RSpecRunTime] Finishing example group spec/views/events/event/_push.html.haml_spec.rb. It took 1.18 seconds. Expected to take 2.35 seconds.
# [RSpecRunTime] Starting example group spec/lib/peek/views/external_http_spec.rb. Expected to take 2.33 seconds.

Peek::Views::ExternalHttp
  returns no results
  returns aggregated results
  when the host is in IPv4 format
    displays IPv4 in the label
  when the host is in IPv6 foramat
    displays IPv6 in the label
  when the query is a hash
    converts query hash into a query string
  when the host is invalid
    displays unknown in the label
  when URI creation raises an URI::Error
    displays unknown in the label
  when URI creation raises a StandardError exception
    displays unknown in the label

# [RSpecRunTime] Finishing example group spec/lib/peek/views/external_http_spec.rb. It took 0.66 second. Expected to take 2.33 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/color_type_spec.rb. Expected to take 2.28 seconds.

Types::ColorType
  is expected to eq "Color"
  coerces Color object into hex string
  coerces an hex string into Color object
  coerces an named Color into hex string
  coerces an named color into Color object
  rejects invalid input
  rejects nil

# [RSpecRunTime] Finishing example group spec/graphql/types/color_type_spec.rb. It took 0.6 second. Expected to take 2.28 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb. Expected to take 2.26 seconds.

Gitlab::Ci::Config::EdgeStagesInjector
  #call
    without stages
      is expected to match {:test=>{:script=>"test"}}
    with values
      is expected to match {:stages=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}
    with bad values
      is expected to match {:stages=>"stage1", :test=>{:script=>"test"}}
    with collision values
      is expected to match {:stages=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}
    with types
      is expected to match {:types=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}
    with types
      is expected to match {:types=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}
  .wrap_stages
    with empty value
      is expected to eq [".pre", ".post"]
    with values
      is expected to eq [".pre", "s1", ".post"]

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb. It took 0.7 second. Expected to take 2.26 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/catalog/resources/destroy_service_spec.rb. Expected to take 2.22 seconds.

Ci::Catalog::Resources::DestroyService
  #execute
    with an unauthorized user
      raises an AccessDeniedError
    with an authorized user
      destroys a catalog resource

# [RSpecRunTime] Finishing example group spec/services/ci/catalog/resources/destroy_service_spec.rb. It took 1.06 seconds. Expected to take 2.22 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb. Expected to take 2.21 seconds.

Gitlab::SidekiqMiddleware::AdminMode::Client
  yields block
  user is a regular user
    no admin mode field in payload
  user is an administrator
    admin mode disabled
      no admin mode field in payload
    admin mode enabled
      when sidekiq required context not set
        no admin mode field in payload
      when user stored in current request
        has admin mode field in payload
      when bypassing session
        has admin mode field in payload
  admin mode setting disabled
    yields block
    no admin mode field in payload

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb. It took 0.81 second. Expected to take 2.21 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb. Expected to take 2.15 seconds.

Gitlab::Ci::Build::Rules::Rule::Clause
  .fabricate
    when type is valid
      type: "changes", result: Gitlab::Ci::Build::Rules::Rule::Clause::Changes
        is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::Changes
      type: "exists", result: Gitlab::Ci::Build::Rules::Rule::Clause::Exists
        is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::Exists
      type: "if", result: Gitlab::Ci::Build::Rules::Rule::Clause::If
        is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::If
    when type is invalid
      is expected to be nil
      when type is 'variables'
        is expected to be nil

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb. It took 0.5 second. Expected to take 2.15 seconds.
# [RSpecRunTime] Starting example group spec/lib/api/helpers/version_spec.rb. Expected to take 2.15 seconds.

API::Helpers::Version
  .new
    is possible to initialize it with existing API version
    raises an error when unsupported API version is provided
  #root_path
    returns a root path of the API version
  #root_url
    returns an URL for a root path for the API version

# [RSpecRunTime] Finishing example group spec/lib/api/helpers/version_spec.rb. It took 0.41 second. Expected to take 2.15 seconds.
# [RSpecRunTime] Starting example group spec/rubocop/cop/migration/unfinished_dependencies_spec.rb. Expected to take 2.1 seconds.

RuboCop::Cop::Migration::UnfinishedDependencies
  without any dependent batched background migrations
    behaves like migration without any rubocop offense
      does not register any offense
  with dependent batched background migrations
    with unfinished dependent migration
      behaves like migration with rubocop offense
        registers an offense
    with incorrectly finalized dependent migration
      behaves like migration with rubocop offense
        registers an offense
    with properly finalized dependent background migrations
      behaves like migration without any rubocop offense
        does not register any offense
  for non migrations
    behaves like migration without any rubocop offense
      does not register any offense

# [RSpecRunTime] Finishing example group spec/rubocop/cop/migration/unfinished_dependencies_spec.rb. It took 0.51 second. Expected to take 2.1 seconds.
# [RSpecRunTime] Starting example group spec/models/external_issue_spec.rb. Expected to take 2.09 seconds.

ExternalIssue
  does not allow STI
  modules
    is expected to includes the Referable module
  #to_reference
    returns a String reference to the object
  #title
    returns a title
  #reference_link_text
    if issue id has a prefix
      returns the issue ID
    if issue id is a number
      returns the issue ID prefixed by #
  #project_id
    returns the ID of the project
  #hash
    returns the hash of its [class, to_s] pair

# [RSpecRunTime] Finishing example group spec/models/external_issue_spec.rb. It took 0.65 second. Expected to take 2.09 seconds.
# [RSpecRunTime] Starting example group spec/serializers/ci/job_annotation_entity_spec.rb. Expected to take 2.02 seconds.

Ci::JobAnnotationEntity
  #as_json
    contains valid name
    contains external links

# [RSpecRunTime] Finishing example group spec/serializers/ci/job_annotation_entity_spec.rb. It took 0.83 second. Expected to take 2.02 seconds.
# [RSpecRunTime] Starting example group spec/workers/mail_scheduler/issue_due_worker_spec.rb. Expected to take 2.02 seconds.

MailScheduler::IssueDueWorker
  #perform
    sends emails for open issues due tomorrow in the project specified
# [RSpecRunTime] RSpec elapsed time: 20 minutes 11.16 seconds. Current RSS: ~1516M. load average: 1.06 1.04 1.09 1/297 17444



# [RSpecRunTime] Finishing example group spec/workers/mail_scheduler/issue_due_worker_spec.rb. It took 1.18 seconds. Expected to take 2.02 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/from_set_operator_spec.rb. Expected to take 1.96 seconds.

FromSetOperator
  does not allow STI
  when set operator method already exists
    is expected to raise RuntimeError
  with members
    as array
      is expected not to make queries
      behaves like set operator called with correct members
        is expected to receive new([#<ActiveRecord::Relation [#<Group id:3369 @group1118>]>, #<ActiveRecord::Relation [#<Group id:3370 @group1119>]>], anything) 1 time
    as multiple parameters
      is expected not to make queries
      behaves like set operator called with correct members
        is expected to receive new([#<ActiveRecord::Relation [#<Group id:3369 @group1118>]>, #<ActiveRecord::Relation [#<Group id:3370 @group1119>]>], anything) 1 time

# [RSpecRunTime] Finishing example group spec/models/concerns/from_set_operator_spec.rb. It took 0.77 second. Expected to take 1.96 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/templates/Diffblue_Cover_spec.rb. Expected to take 1.95 seconds.

Diffblue-Cover.gitlab-ci.yml
  the created pipeline
    creates diffblue-cover jobs
# [RSpecRunTime] RSpec elapsed time: 20 minutes 13.52 seconds. Current RSS: ~1523M. load average: 1.06 1.04 1.09 1/298 17498



# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/templates/Diffblue_Cover_spec.rb. It took 1.59 seconds. Expected to take 1.95 seconds.
# [RSpecRunTime] Starting example group spec/serializers/merge_request_for_pipeline_entity_spec.rb. Expected to take 1.9 seconds.

MergeRequestForPipelineEntity
  as json
    exposes needed attributes
# [RSpecRunTime] RSpec elapsed time: 20 minutes 14.8 seconds. Current RSS: ~1529M. load average: 1.05 1.03 1.09 1/298 17539



# [RSpecRunTime] Finishing example group spec/serializers/merge_request_for_pipeline_entity_spec.rb. It took 1.27 seconds. Expected to take 1.9 seconds.
# [RSpecRunTime] Starting example group spec/services/users/respond_to_terms_service_spec.rb. Expected to take 1.9 seconds.

Users::RespondToTermsService
  #execute
    creates a new agreement if it did not exist
    updates an agreement if it existed
    adds the accepted terms to the user
    removes accepted terms when declining

# [RSpecRunTime] Finishing example group spec/services/users/respond_to_terms_service_spec.rb. It took 0.78 second. Expected to take 1.9 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/container_repository_sort_enum_spec.rb. Expected to take 1.86 seconds.

Types::ContainerRepositorySortEnum
  is expected to eq "ContainerRepositorySort"
  exposes all the existing issue sort values
  behaves like common sort values
    exposes all the existing common sort values

# [RSpecRunTime] Finishing example group spec/graphql/types/container_repository_sort_enum_spec.rb. It took 0.38 second. Expected to take 1.86 seconds.
# [RSpecRunTime] Starting example group spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb. Expected to take 1.83 seconds.

ResourceEvents::SyntheticStateNotesBuilderService
  #execute
    behaves like filters by paginated notes
      only returns given notes
      when paginated notes is empty
        does not return any notes
# [RSpecRunTime] RSpec elapsed time: 20 minutes 17.25 seconds. Current RSS: ~1519M. load average: 1.05 1.03 1.09 1/298 17540



# [RSpecRunTime] Finishing example group spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb. It took 1.29 seconds. Expected to take 1.83 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/seeders/ci/variables_instance_seeder_spec.rb. Expected to take 1.79 seconds.

Gitlab::Seeders::Ci::VariablesInstanceSeeder
  #seed
    creates instance-level CI variables with default values
    creates instance-level CI variables with custom arguments
WARNING: Instance CI Variable with key 'INSTANCE_VAR_15' already exists. Skipping to next CI variable...
    skips CI variable creation if CI variable already exists

# [RSpecRunTime] Finishing example group spec/lib/gitlab/seeders/ci/variables_instance_seeder_spec.rb. It took 0.87 second. Expected to take 1.79 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb. Expected to take 1.78 seconds.

Gitlab::UsageDataCounters::MergeRequestCounter
  behaves like a redis usage counter
    .count(create)
      increments the Merge Request create counter by 1
    .read(create)
      returns the total number of create events
  behaves like a redis usage counter with totals
    totals
      can report all totals
    unknown events
      cannot increment
      cannot read

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb. It took 0.51 second. Expected to take 1.78 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/pages/settings_spec.rb. Expected to take 1.76 seconds.

Gitlab::Pages::Settings
  #path
    is expected to eq "the path"
    when running under a web server outside of test mode
      logs a DiskAccessDenied error
    when local_store settings does not exist yet
      is expected to eq "the path"
    when local store exists but legacy storage is disabled
      logs a DiskAccessDenied error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/pages/settings_spec.rb. It took 0.43 second. Expected to take 1.76 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/terraform/state_migration_helper_spec.rb. Expected to take 1.7 seconds.

Gitlab::Terraform::StateMigrationHelper
  .migrate_to_remote_storage
    migrates remote files to remote storage
# [RSpecRunTime] RSpec elapsed time: 20 minutes 20.31 seconds. Current RSS: ~1517M. load average: 1.05 1.03 1.09 1/297 17541



# [RSpecRunTime] Finishing example group spec/lib/gitlab/terraform/state_migration_helper_spec.rb. It took 1.25 seconds. Expected to take 1.7 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/group_imports_users_metric_spec.rb. Expected to take 1.7 seconds.

Gitlab::Usage::Metrics::Instrumentations::GroupImportsUsersMetric
  behaves like a correct instrumented metric value and query
    behaves like a correct instrumented metric value
      has correct value
    behaves like a correct instrumented metric query
      has correct generate query
  behaves like a correct instrumented metric value and query
    behaves like a correct instrumented metric value
      has correct value
    behaves like a correct instrumented metric query
      has correct generate query

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/group_imports_users_metric_spec.rb. It took 0.85 second. Expected to take 1.7 seconds.
# [RSpecRunTime] Starting example group spec/views/groups/_home_panel.html.haml_spec.rb. Expected to take 1.66 seconds.

groups/_home_panel
  admin area link
    renders admin area link for admin
    does not render admin area link for non-admin
    does not render admin area link for anonymous

# [RSpecRunTime] Finishing example group spec/views/groups/_home_panel.html.haml_spec.rb. It took 1.0 second. Expected to take 1.66 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/git/conflict/file_spec.rb. Expected to take 1.64 seconds.

Gitlab::Git::Conflict::File
  #lines
    when the content contains non-UTF-8 characters
      raises UnsupportedEncoding
    when the content can be converted to UTF-8
      sets lines to the lines
      sets the type to text
  #content
    when the content contains non-UTF-8 characters
      raises UnsupportedEncoding
    when the content can be converted to UTF-8
      returns a valid UTF-8 string
  #path
    returns our_path
    when our_path is not present
      returns their_path

# [RSpecRunTime] Finishing example group spec/lib/gitlab/git/conflict/file_spec.rb. It took 0.7 second. Expected to take 1.64 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb. Expected to take 1.61 seconds.

Gitlab::ImportExport::Project::Sample::DateCalculator
  #closest date to average
    when dates are empty
      is expected to be nil
    when dates are not empty
      is expected to eq 2021-01-01 00:00:00.000000000 +0000
  #calculate_by_closest_date_to_average
    when average date is nil
      is expected to eq 2024-02-20 23:39:51.368307832 +0000
    when average date is in the past
      is expected to eq 2025-02-19 23:39:51.433332929 +0000
    when average date is in the future
      is expected to eq 2024-02-20 23:39:51.496779746 +0000

# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb. It took 0.51 second. Expected to take 1.61 seconds.
# [RSpecRunTime] Starting example group spec/services/users/dismiss_callout_service_spec.rb. Expected to take 1.59 seconds.

Users::DismissCalloutService
  #execute
    behaves like dismissing user callout
      creates a new user callout
      returns a user callout
      sets the dismissed_at attribute to current time
      updates an existing callout dismissed_at time
      does not update an invalid record with dismissed_at time

# [RSpecRunTime] Finishing example group spec/services/users/dismiss_callout_service_spec.rb. It took 0.59 second. Expected to take 1.59 seconds.
# [RSpecRunTime] Starting example group spec/models/design_user_mention_spec.rb. Expected to take 1.56 seconds.

DesignUserMention
  does not allow STI
  associations
    is expected to belong to design required: false
    is expected to belong to note required: false
  behaves like has user mentions
    #has_mentions?
      when no mentions
        returns false
      when mentioned_users_ids not null
        returns true
      when mentioned projects
        returns true
      when mentioned groups
        returns true

# [RSpecRunTime] Finishing example group spec/models/design_user_mention_spec.rb. It took 0.63 second. Expected to take 1.56 seconds.
# [RSpecRunTime] Starting example group spec/helpers/components_helper_spec.rb. Expected to take 1.54 seconds.

ComponentsHelper
  #gitlab_workhorse_version
    without a Gitlab-Workhorse header
      shows the version from Gitlab::Workhorse.version
    with a Gitlab-Workhorse header
      shows the actual GitLab Workhorse version currently in use

# [RSpecRunTime] Finishing example group spec/helpers/components_helper_spec.rb. It took 0.34 second. Expected to take 1.54 seconds.
# [RSpecRunTime] Starting example group spec/workers/issuables/clear_groups_issue_counter_worker_spec.rb. Expected to take 1.5 seconds.

Issuables::ClearGroupsIssueCounterWorker
  #perform
    does not call count service or rise error when group_ids is empty
    behaves like an idempotent worker
      is labeled as idempotent
      performs multiple times sequentially without raising an exception
      clears the cached issue count in given groups and ancestors

# [RSpecRunTime] Finishing example group spec/workers/issuables/clear_groups_issue_counter_worker_spec.rb. It took 0.67 second. Expected to take 1.5 seconds.
# [RSpecRunTime] Starting example group spec/services/packages/nuget/odata_package_entry_service_spec.rb. Expected to take 1.5 seconds.

Packages::Nuget::OdataPackageEntryService
  #execute
    when package_version is present
      returns a success ServiceResponse
      behaves like returning a package entry with the correct attributes
        returns a package entry with the correct attributes
    when package_version is not present
      returns a success ServiceResponse
      behaves like returning a package entry with the correct attributes
        returns a package entry with the correct attributes

# [RSpecRunTime] Finishing example group spec/services/packages/nuget/odata_package_entry_service_spec.rb. It took 0.42 second. Expected to take 1.5 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/load_balancing/resolver_spec.rb. Expected to take 1.44 seconds.

Gitlab::Database::LoadBalancing::Resolver
  #resolve
    when nameserver is an IP
      returns an IPAddr object
    when nameserver is not an IP
      looks the nameserver up in the hosts file
      when nameserver is not in the hosts file
        looks the nameserver up in DNS
        when nameserver is not in DNS
          raises an exception
        when DNS does not respond
          raises an exception

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/load_balancing/resolver_spec.rb. It took 0.48 second. Expected to take 1.44 seconds.
# [RSpecRunTime] Starting example group spec/services/incident_management/issuable_escalation_statuses/create_service_spec.rb. Expected to take 1.44 seconds.

IncidentManagement::IssuableEscalationStatuses::CreateService
  creates an escalation status for the incident with no policy set
  existing escalation status
    exits without changing anything

# [RSpecRunTime] Finishing example group spec/services/incident_management/issuable_escalation_statuses/create_service_spec.rb. It took 0.71 second. Expected to take 1.44 seconds.
# [RSpecRunTime] Starting example group spec/views/projects/imports/new.html.haml_spec.rb. Expected to take 1.37 seconds.

projects/imports/new.html.haml
  when import fails
    escapes HTML in import errors

# [RSpecRunTime] Finishing example group spec/views/projects/imports/new.html.haml_spec.rb. It took 0.86 second. Expected to take 1.37 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/count_project_snippets_metric_spec.rb. Expected to take 1.37 seconds.

Gitlab::Usage::Metrics::Instrumentations::CountProjectSnippetsMetric
  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_project_snippets_metric_spec.rb. It took 0.82 second. Expected to take 1.37 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/tags_spec.rb. Expected to take 1.33 seconds.

Gitlab::Ci::Config::Entry::Tags
  validation
    when tags config value is correct
      #value
        returns tags configuration
      #valid?
        is valid
    when entry value is not correct
      #errors
        when tags config is not an array of strings
          reports error
        when tags limit is reached
          reports error

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/tags_spec.rb. It took 0.41 second. Expected to take 1.33 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/word_diff/chunk_collection_spec.rb. Expected to take 1.3 seconds.

Gitlab::WordDiff::ChunkCollection
  #add
    adds elements to the chunk collection
  #content
    when no elements in the collection
      is expected to eq ""
    when elements exist
      is expected to eq "Hi GitLab!"
  #reset
    clears the collection
  #marker_ranges
    returns marker ranges for every chunk with changes

# [RSpecRunTime] Finishing example group spec/lib/gitlab/word_diff/chunk_collection_spec.rb. It took 0.48 second. Expected to take 1.3 seconds.
# [RSpecRunTime] Starting example group spec/services/integrations/slack_options/label_search_handler_spec.rb. Expected to take 1.27 seconds.

Integrations::SlackOptions::LabelSearchHandler
  #execute
    when user has permission to read project and group labels
      returns the labels matching the search term
    when user does not have permissions to read project/group labels
      returns empty array

# [RSpecRunTime] Finishing example group spec/services/integrations/slack_options/label_search_handler_spec.rb. It took 0.78 second. Expected to take 1.27 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_middleware/worker_context/server_spec.rb. Expected to take 1.24 seconds.

Gitlab::SidekiqMiddleware::WorkerContext::Server
  #call
    applies a class context
    doesn't fail for unknown workers
    feature category
      takes the feature category from the worker
      when the worker is not owned
        takes the feature category from the surrounding context

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_middleware/worker_context/server_spec.rb. It took 0.44 second. Expected to take 1.24 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/cycle_analytics/summary/value_spec.rb. Expected to take 1.2 seconds.

Gitlab::CycleAnalytics::Summary::Value
  Gitlab::CycleAnalytics::Summary::Value::None
    returns `-`
  Gitlab::CycleAnalytics::Summary::Value::Numeric
    returns the string representation of the number
  Gitlab::CycleAnalytics::Summary::Value::PrettyNumeric
    #to_s
      returns `-` when the number is 0
      returns `-` when the number is nil
      returns the string representation of the number

# [RSpecRunTime] Finishing example group spec/lib/gitlab/cycle_analytics/summary/value_spec.rb. It took 0.47 second. Expected to take 1.2 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/application_rate_limiter/increment_per_action_spec.rb. Expected to take 1.19 seconds.

Gitlab::ApplicationRateLimiter::IncrementPerAction
  #increment
    increments per call
    sets time to live (TTL) for the key
  #read
    returns 0 when there is no data
    returns the correct value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/application_rate_limiter/increment_per_action_spec.rb. It took 0.41 second. Expected to take 1.19 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/migrations/observers/query_details_spec.rb. Expected to take 1.15 seconds.

Gitlab::Database::Migrations::Observers::QueryDetails
  records details of executed queries
  unsubscribes after the observation

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/migrations/observers/query_details_spec.rb. It took 0.3 second. Expected to take 1.15 seconds.
# [RSpecRunTime] Starting example group spec/services/work_items/widgets/hierarchy_service/create_service_spec.rb. Expected to take 1.13 seconds.

WorkItems::Widgets::HierarchyService::CreateService
  #create
    when invalid params are present
      behaves like raises a WidgetError
        is expected to raise WorkItems::Widgets::BaseService::WidgetError with "One or more arguments are invalid: other_parent."

# [RSpecRunTime] Finishing example group spec/services/work_items/widgets/hierarchy_service/create_service_spec.rb. It took 0.66 second. Expected to take 1.13 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb. Expected to take 1.11 seconds.

Types::Analytics::CycleAnalytics::ValueStreamType
  is expected to require graphql authorizations :read_cycle_analytics
  is expected to eq "ValueStream"
  is expected to have graphql fields :id, :name, :namespace, :project, and :stages

# [RSpecRunTime] Finishing example group spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb. It took 0.36 second. Expected to take 1.11 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb. Expected to take 1.08 seconds.

Sidebars::Groups::SuperSidebarMenus::SecureMenu
  defines list of NilMenuItem placeholders
  has title and sprite_icon

# [RSpecRunTime] Finishing example group spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb. It took 0.3 second. Expected to take 1.08 seconds.
# [RSpecRunTime] Starting example group spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb. Expected to take 1.05 seconds.

RuboCop::Cop::Migration::PreventGlobalEnableLockRetriesWithDisableDdlTransaction
  when in migration
    registers an offense when `enable_lock_retries` and `disable_ddl_transaction` is used together
    registers no offense when `enable_lock_retries!` is used
    registers no offense when `disable_ddl_transaction!` is used
  when outside of migration
    registers no offense

# [RSpecRunTime] Finishing example group spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb. It took 0.43 second. Expected to take 1.05 seconds.
# [RSpecRunTime] Starting example group spec/lib/bitbucket/connection_spec.rb. Expected to take 1.04 seconds.

Bitbucket::Connection
  #get
    calls OAuth2::AccessToken::get
    when the API returns an error
      logs the retries and raises an error if it does not succeed on retry
  #expired?
    calls connection.expired?
  #refresh!
    calls connection.refresh!

# [RSpecRunTime] Finishing example group spec/lib/bitbucket/connection_spec.rb. It took 0.43 second. Expected to take 1.04 seconds.
# [RSpecRunTime] Starting example group spec/workers/gitlab/github_import/import_note_worker_spec.rb. Expected to take 1.01 seconds.

Gitlab::GithubImport::ImportNoteWorker
  #import
    imports a note

# [RSpecRunTime] Finishing example group spec/workers/gitlab/github_import/import_note_worker_spec.rb. It took 0.55 second. Expected to take 1.01 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/design_management/version_type_spec.rb. Expected to take 0.99 second.

Types::DesignManagement::VersionType
  is expected to require graphql authorizations :read_design
  has the expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/design_management/version_type_spec.rb. It took 0.3 second. Expected to take 0.99 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/middleware/request_context_spec.rb. Expected to take 0.97 second.

Gitlab::Middleware::RequestContext
  #call
    setting the client ip
      with X-Forwarded-For headers
        returns the load balancer IP
      request
        sets the `client_ip`
        sets the `request_start_time`
        sets the `spam_params`

# [RSpecRunTime] Finishing example group spec/lib/gitlab/middleware/request_context_spec.rb. It took 0.44 second. Expected to take 0.97 second.
# [RSpecRunTime] Starting example group spec/graphql/types/organizations/organization_type_spec.rb. Expected to take 0.95 second.

Types::Organizations::OrganizationType
  is expected to have graphql fields "avatar_url", "description", "description_html", "groups", "id", "name", "organization_users", "path", "projects", and "web_url"
  is expected to eq "Organization"
  is expected to require graphql authorizations :read_organization

# [RSpecRunTime] Finishing example group spec/graphql/types/organizations/organization_type_spec.rb. It took 0.35 second. Expected to take 0.95 second.
# [RSpecRunTime] Starting example group spec/services/users/repair_ldap_blocked_service_spec.rb. Expected to take 0.91 second.

Users::RepairLdapBlockedService
  #execute
    changes to normal block after destroying last ldap identity
    changes to normal block after changing last ldap identity to another provider

# [RSpecRunTime] Finishing example group spec/services/users/repair_ldap_blocked_service_spec.rb. It took 0.51 second. Expected to take 0.91 second.
# [RSpecRunTime] Starting example group spec/views/shared/_milestones_sort_dropdown.html.haml_spec.rb. Expected to take 0.89 second.

shared/_milestones_sort_dropdown.html.haml
  render
    when a sort option is not selected
      renders a default sort option
    when a sort option is selected
      renders the selected sort option

# [RSpecRunTime] Finishing example group spec/views/shared/_milestones_sort_dropdown.html.haml_spec.rb. It took 0.56 second. Expected to take 0.89 second.
# [RSpecRunTime] Starting example group spec/workers/users/create_statistics_worker_spec.rb. Expected to take 0.86 second.

Users::CreateStatisticsWorker
  #perform
    when successful
      create an users statistics entry
    when unsuccessful
      logs an error

# [RSpecRunTime] Finishing example group spec/workers/users/create_statistics_worker_spec.rb. It took 0.51 second. Expected to take 0.86 second.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/test_report_total_type_spec.rb. Expected to take 0.85 second.

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

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/test_report_total_type_spec.rb. It took 0.31 second. Expected to take 0.85 second.
# [RSpecRunTime] Starting example group spec/validators/html_safety_validator_spec.rb. Expected to take 0.82 second.

HtmlSafetyValidator
  adds an error when a script is included in the name
  does not add an error when an ampersand is included in the name

# [RSpecRunTime] Finishing example group spec/validators/html_safety_validator_spec.rb. It took 0.35 second. Expected to take 0.82 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_middleware/pause_control/server_spec.rb. Expected to take 0.8 second.

Gitlab::SidekiqMiddleware::PauseControl::Server
  #call
    when strategy is enabled
      puts the job to another queue without execution
    when strategy is disabled
      executes the job

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_middleware/pause_control/server_spec.rb. It took 0.31 second. Expected to take 0.8 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/pipeline/expression/lexeme/null_spec.rb. Expected to take 0.77 second.

Gitlab::Ci::Pipeline::Expression::Lexeme::Null
  .build
    creates a new instance of the token
  .type
    is a value lexeme
  #evaluate
    always evaluates to `nil`

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/pipeline/expression/lexeme/null_spec.rb. It took 0.37 second. Expected to take 0.77 second.
# [RSpecRunTime] Starting example group spec/views/projects/issues/_related_issues.html.haml_spec.rb. Expected to take 0.74 second.

projects/issues/_related_issues.html.haml
  when current user can read issue link for the project
    adds the report abuse path as a data attribute
  when current user cannot read issue link for the project
    does not render the related issues root node

# [RSpecRunTime] Finishing example group spec/views/projects/issues/_related_issues.html.haml_spec.rb. It took 0.41 second. Expected to take 0.74 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/installation_type_metric_spec.rb. Expected to take 0.71 second.

Gitlab::Usage::Metrics::Instrumentations::InstallationTypeMetric
  when Rails.env is production
    behaves like a correct instrumented metric value
      has correct value
  with Rails.env is not production
    behaves like a correct instrumented metric value
      has correct value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/installation_type_metric_spec.rb. It took 0.31 second. Expected to take 0.71 second.
# [RSpecRunTime] Starting example group spec/graphql/types/release_source_type_spec.rb. Expected to take 0.69 second.

Types::ReleaseSourceType
  is expected to require graphql authorizations :read_code
  has the expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/release_source_type_spec.rb. It took 0.3 second. Expected to take 0.69 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb. Expected to take 0.67 second.

Gitlab::Middleware::WebhookRecursionDetection
  #call
    when the recursion detection header is present
      sets the request UUID from the header
    when recursion headers are not present
      works without errors

# [RSpecRunTime] Finishing example group spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb. It took 0.31 second. Expected to take 0.67 second.
# [RSpecRunTime] Starting example group spec/graphql/types/member_access_level_enum_spec.rb. Expected to take 0.66 second.

Types::MemberAccessLevelEnum
  exposes all the existing access levels
  is expected to eq "MemberAccessLevel"

# [RSpecRunTime] Finishing example group spec/graphql/types/member_access_level_enum_spec.rb. It took 0.35 second. Expected to take 0.66 second.
# [RSpecRunTime] Starting example group spec/lib/sidebars/projects/super_sidebar_menus/code_menu_spec.rb. Expected to take 0.64 second.

Sidebars::Projects::SuperSidebarMenus::CodeMenu
  has title and sprite_icon
  defines list of NilMenuItem placeholders

# [RSpecRunTime] Finishing example group spec/lib/sidebars/projects/super_sidebar_menus/code_menu_spec.rb. It took 0.42 second. Expected to take 0.64 second.
# [RSpecRunTime] Starting example group spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb. Expected to take 0.63 second.

Atlassian::JiraConnect::Serializers::BaseEntity
  generates the update_sequence_id
  with update_sequence_id option
    uses the custom update_sequence_id

# [RSpecRunTime] Finishing example group spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb. It took 0.36 second. Expected to take 0.63 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb. Expected to take 0.61 second.

Gitlab::GrapeLogging::Loggers::QueueDurationLogger
  .parameters
    when no proxy duration is available
      returns an empty hash
    when a proxy duration is available
      adds the duration to log parameters

# [RSpecRunTime] Finishing example group spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb. It took 0.3 second. Expected to take 0.61 second.
# [RSpecRunTime] Starting example group spec/lib/api/entities/nuget/dependency_group_spec.rb. Expected to take 0.61 second.

API::Entities::Nuget::DependencyGroup
  is expected to eq {:@id=>"http://gitlab.com/Sandbox.App/1.0.0.json#dependencygroup", :@type=>"PackageDependencyGroup", ...y", :@type=>"PackageDependency", :id=>"Dependency", :range=>"2.0.0"}], :targetFramework=>"fwk test"}
  dependency group without target framework
    is expected to eq {:@id=>"http://gitlab.com/Sandbox.App/1.0.0.json#dependencygroup", :@type=>"PackageDependencyGroup", ...ndbox.App/1.0.0.json#dependency", :@type=>"PackageDependency", :id=>"Dependency", :range=>"2.0.0"}]}

# [RSpecRunTime] Finishing example group spec/lib/api/entities/nuget/dependency_group_spec.rb. It took 0.3 second. Expected to take 0.61 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/async_ddl_exclusive_lease_guard_spec.rb. Expected to take 0.57 second.

Gitlab::Database::AsyncDdlExclusiveLeaseGuard
  #lease_key
    with CI database connection
      is expected to eq "gitlab/database/asyncddl/actions/ci"
    with MAIN database connection
      is expected to eq "gitlab/database/asyncddl/actions/main"

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/async_ddl_exclusive_lease_guard_spec.rb. It took 0.3 second. Expected to take 0.57 second.
# [RSpecRunTime] Starting example group spec/graphql/types/security/codequality_reports_comparer/status_enum_spec.rb. Expected to take 0.57 second.

Types::Security::CodequalityReportsComparer::StatusEnum
  exposes all codequality report status values
  is expected to eq "CodequalityReportsComparerStatus"

# [RSpecRunTime] Finishing example group spec/graphql/types/security/codequality_reports_comparer/status_enum_spec.rb. It took 0.29 second. Expected to take 0.57 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb. Expected to take 0.5 second.

Gitlab::Usage::Metrics::Instrumentations::CountCiRunnersInstanceTypeActiveMetric
  behaves like a correct instrumented metric value
    has correct value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb. It took 0.42 second. Expected to take 0.5 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/kubernetes/generic_secret_spec.rb. Expected to take 0.5 second.

Gitlab::Kubernetes::GenericSecret
  #generate
    is expected to eq #<Kubeclient::Resource type="Opaque", metadata={:name=>"example-name", :namespace=>"example-namespace"}, data="example-data">

# [RSpecRunTime] Finishing example group spec/lib/gitlab/kubernetes/generic_secret_spec.rb. It took 0.25 second. Expected to take 0.5 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/pipeline/metrics_spec.rb. Expected to take 0.45 second.

Gitlab::Ci::Pipeline::Metrics
  .pipeline_creation_step_duration_histogram
    adds the step to the step duration histogram

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/pipeline/metrics_spec.rb. It took 0.26 second. Expected to take 0.45 second.
# [RSpecRunTime] Starting example group spec/initializers/rack_VULNDB-255039_patch_spec.rb. Expected to take 0.45 second.

Rack VULNDB-255039
  when handling query params in GET requests
    does not treat semicolons as query delimiters

# [RSpecRunTime] Finishing example group spec/initializers/rack_VULNDB-255039_patch_spec.rb. It took 0.26 second. Expected to take 0.45 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/model_configuration_spec.rb. Expected to take 0.43 second.

Import/Export model configuration
  has no new models

# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/model_configuration_spec.rb. It took 0.26 second. Expected to take 0.43 second.
# [RSpecRunTime] Starting example group spec/graphql/types/container_repository_cleanup_status_enum_spec.rb. Expected to take 0.41 second.

Types::ContainerRepositoryCleanupStatusEnum
  exposes all statuses

# [RSpecRunTime] Finishing example group spec/graphql/types/container_repository_cleanup_status_enum_spec.rb. It took 0.28 second. Expected to take 0.41 second.
# [RSpecRunTime] Starting example group spec/graphql/types/project_statistics_redirect_type_spec.rb. Expected to take 0.41 second.

Types::ProjectStatisticsRedirectType
  has all the required fields

# [RSpecRunTime] Finishing example group spec/graphql/types/project_statistics_redirect_type_spec.rb. It took 0.25 second. Expected to take 0.41 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/kubernetes/role_binding_spec.rb. Expected to take 0.39 second.

Gitlab::Kubernetes::RoleBinding#generate
  builds a Kubeclient Resource

# [RSpecRunTime] Finishing example group spec/lib/gitlab/kubernetes/role_binding_spec.rb. It took 0.25 second. Expected to take 0.39 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb. Expected to take 0.39 second.

Gitlab::SidekiqStatus::ServerMiddleware
  #call
    stops tracking of a job upon completion

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb. It took 0.25 second. Expected to take 0.39 second.
auto_explain log contains 929 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-31-32.338.main.ndjson.gz
took 12.65633422
auto_explain log contains 929 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-31-32.338.ci.ndjson.gz
took 11.057914408
[TEST PROF INFO] EventProf results for sql.active_record

Total time: 04:35.676 of 20:40.364 (22.23%)
Total events: 272351

Top 5 slowest suites (by time):

Namespace::TraversalHierarchy (./spec/models/namespace/traversal_hierarchy_spec.rb:5) – 00:42.895 (34019 / 12) of 01:56.922 (36.69%)
Deployment (./spec/models/deployment_spec.rb:5) – 00:39.602 (38233 / 211) of 02:57.414 (22.32%)
Projects::Cre...ervice#execute (./spec/services/projects/create_service_spec.rb:5) – 00:19.858 (17430 / 117) of 01:26.689 (22.91%)
Banzai::Filte...toryLinkFilter (./spec/lib/banzai/filter/repository_link_filter_spec.rb:5) – 00:11.957 (12218 / 104) of 01:02.825 (19.03%)
Gitlab::Database::Reflection (./spec/lib/gitlab/database/reflection_spec.rb:5) – 00:11.675 (17483 / 39) of 00:24.589 (47.48%)

Knapsack report was generated. Preview:
{
  "spec/models/deployment_spec.rb": 177.41352662200006,
  "spec/models/namespace/traversal_hierarchy_spec.rb": 116.92207669300024,
  "spec/services/projects/create_service_spec.rb": 86.68872421200012,
  "spec/lib/banzai/filter/repository_link_filter_spec.rb": 62.824463015999754,
  "spec/services/suggestions/apply_service_spec.rb": 61.88502878200052,
  "spec/policies/note_policy_spec.rb": 41.75631911900018,
  "spec/serializers/merge_request_widget_entity_spec.rb": 43.685747476999495,
  "spec/lib/gitlab/health_checks/redis_spec.rb": 21.467621179999696,
  "spec/models/gpg_key_spec.rb": 31.25204312799997,
  "spec/helpers/submodule_helper_spec.rb": 21.348239715999625,
  "spec/models/abuse_report_spec.rb": 19.5140476280003,
  "spec/lib/gitlab/database/reflection_spec.rb": 24.58874579700023,
  "spec/services/users/destroy_service_spec.rb": 21.142959330999474,
  "spec/models/ci/build_runner_session_spec.rb": 18.91826824799955,
  "spec/lib/banzai/pipeline/wiki_pipeline_spec.rb": 14.00193504500021,
  "spec/models/integrations/bamboo_spec.rb": 12.268096583999977,
  "spec/finders/members_finder_spec.rb": 16.915163546999793,
  "spec/models/timelog_spec.rb": 16.26625069900001,
  "spec/models/project_setting_spec.rb": 14.55388398299965,
  "spec/models/release_spec.rb": 10.868217371000355,
  "spec/lib/gitlab/ci/config/external/mapper/verifier_spec.rb": 15.934674045000065,
  "spec/services/projects/participants_service_spec.rb": 11.313986980000664,
  "spec/services/ci/pipeline_trigger_service_spec.rb": 13.127316639999663,
  "spec/lib/api/helpers/caching_spec.rb": 6.429969760999484,
  "spec/lib/gitlab/email/receiver_spec.rb": 4.694481515000007,
  "spec/services/alert_management/alerts/update_service_spec.rb": 6.252088305000143,
  "spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb": 5.957284471999628,
  "spec/services/security/merge_reports_service_spec.rb": 9.272692842999277,
  "spec/lib/gitlab/utils/sanitize_node_link_spec.rb": 3.8051284459997987,
  "spec/lib/gitlab/ci/ansi2html_spec.rb": 3.534173899000052,
  "spec/helpers/appearances_helper_spec.rb": 5.0010010759997385,
  "spec/services/issue_links/create_service_spec.rb": 8.184610123000311,
  "spec/models/service_desk_setting_spec.rb": 4.892704167000375,
  "spec/models/work_items/type_spec.rb": 5.488935831999697,
  "spec/uploaders/terraform/state_uploader_spec.rb": 6.702165118000266,
  "spec/services/merge_requests/post_merge_service_spec.rb": 7.818448163000539,
  "spec/finders/access_requests_finder_spec.rb": 6.82465242500075,
  "spec/services/users/update_service_spec.rb": 6.0245410090001315,
  "spec/services/issues/referenced_merge_requests_service_spec.rb": 8.426688136999473,
  "spec/lib/gitlab/slash_commands/issue_move_spec.rb": 6.664231734999703,
  "spec/models/concerns/schedulable_spec.rb": 6.019205170000532,
  "spec/lib/gitlab/import_export/project/import_task_spec.rb": 9.011786813000072,
  "spec/lib/extracts_ref/ref_extractor_spec.rb": 2.7773194240007797,
  "spec/lib/gitlab/regex/container_registry/protection/rules_spec.rb": 2.2081018950002544,
  "spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb": 2.5124180550001256,
  "spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb": 6.366975184000694,
  "spec/lib/gitlab/usage_data_counters/kubernetes_agent_counter_spec.rb": 3.526686110999435,
  "spec/finders/clusters/agents/authorizations/ci_access/finder_spec.rb": 3.8669908950005265,
  "spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb": 2.8999624710004355,
  "spec/lib/gitlab/chat/command_spec.rb": 6.221900071000164,
  "spec/lib/api/ml/mlflow/api_helpers_spec.rb": 2.3412586889999147,
  "spec/services/todos/destroy/confidential_issue_service_spec.rb": 5.389385380999556,
  "spec/workers/delete_user_worker_spec.rb": 4.0415429519998725,
  "spec/services/files/update_service_spec.rb": 5.379679593000219,
  "spec/lib/gitlab/database/count_spec.rb": 5.641708733000087,
  "spec/lib/gitlab/ci/reports/codequality_reports_comparer_spec.rb": 2.4475357989995246,
  "spec/services/commits/tag_service_spec.rb": 4.8002191340001445,
  "spec/lib/gitlab/hotlinking_detector_spec.rb": 2.164410063000105,
  "spec/lib/bulk_imports/common/pipelines/lfs_objects_pipeline_spec.rb": 3.1816707870002574,
  "spec/lib/gitlab/spamcheck/client_spec.rb": 2.4430575090000275,
  "spec/lib/gitlab/checks/lfs_integrity_spec.rb": 3.8660321449997355,
  "spec/components/pajamas/toggle_component_spec.rb": 1.9091766519995872,
  "spec/lib/bitbucket/representation/pull_request_spec.rb": 1.9458903949998785,
  "spec/models/oauth_access_token_spec.rb": 2.800781589999133,
  "spec/tasks/gitlab/update_templates_rake_spec.rb": 4.822365928999716,
  "spec/workers/bulk_imports/pipeline_batch_worker_spec.rb": 2.804398102999585,
  "spec/lib/banzai/filter/syntax_highlight_filter_spec.rb": 2.4418097560001115,
  "spec/finders/abuse_reports_finder_spec.rb": 2.335165106999739,
  "spec/services/clusters/agent_tokens/revoke_service_spec.rb": 3.5323215489997892,
  "spec/lib/gitlab/ci/status/build/retried_spec.rb": 3.2930443670002205,
  "spec/models/diff_note_position_spec.rb": 3.4773087710000254,
  "spec/models/issue_assignee_spec.rb": 3.30997267299972,
  "spec/models/concerns/encrypted_user_password_spec.rb": 1.9958830850000595,
  "spec/serializers/test_report_summary_entity_spec.rb": 3.0724827809999624,
  "spec/models/legacy_diff_discussion_spec.rb": 3.1504729350008347,
  "spec/lib/gitlab/metrics/boot_time_tracker_spec.rb": 1.696141364000141,
  "spec/lib/sidebars/panel_spec.rb": 1.563169050000397,
  "spec/components/pajamas/banner_component_spec.rb": 1.6008936119997088,
  "spec/lib/gitlab/background_task_spec.rb": 1.8728149589996974,
  "spec/initializers/rest-client-hostname_override_spec.rb": 1.9776331180000852,
  "spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb": 2.302071864000027,
  "spec/lib/gitlab/repository_url_builder_spec.rb": 1.7416678350000439,
  "spec/models/packages/rpm/metadatum_spec.rb": 1.6003815820004093,
  "spec/lib/sidebars/user_profile/menus/following_menu_spec.rb": 1.700608371999806,
  "spec/services/groups/nested_create_service_spec.rb": 3.047291634999965,
  "spec/workers/external_service_reactive_caching_worker_spec.rb": 2.337754387000132,
  "spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb": 3.100893886000449,
  "spec/graphql/types/snippets/blob_viewer_type_spec.rb": 1.655078470999797,
  "spec/finders/projects/topics_finder_spec.rb": 1.9130540010000914,
  "spec/services/incident_management/link_alerts/destroy_service_spec.rb": 2.0479621140002564,
  "spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb": 1.7677660689996628,
  "spec/graphql/resolvers/alert_management/http_integrations_resolver_spec.rb": 2.543401666000136,
  "spec/lib/gitlab/metrics/subscribers/external_http_spec.rb": 1.3383584649991462,
  "spec/lib/gitlab/github_import/importer/events/commented_spec.rb": 1.7431985840003108,
  "spec/lib/gitlab/github_import/settings_spec.rb": 1.3230181570006607,
  "spec/lib/bulk_imports/groups/loaders/group_loader_spec.rb": 1.3782914969997364,
  "spec/graphql/types/ci/pipeline_counts_type_spec.rb": 2.3274642279993714,
  "spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb": 1.9974870140003986,
  "spec/services/projects/detect_repository_languages_service_spec.rb": 1.6497471529992254,
  "spec/lib/bitbucket_server/representation/comment_spec.rb": 0.9683902780006974,
  "spec/lib/gitlab/zentao/query_spec.rb": 3.376410009999745,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_jira_imports_metric_spec.rb": 1.2138798389996737,
  "spec/lib/gitlab/github_import/attachments_downloader_spec.rb": 0.9864041350001571,
  "spec/workers/database/lock_tables_worker_spec.rb": 1.2676393879992247,
  "spec/lib/gitlab/database/count/exact_count_strategy_spec.rb": 2.152914963000512,
  "spec/lib/gitlab/alert_management/fingerprint_spec.rb": 0.9178005080002549,
  "spec/lib/gitlab/composer/version_index_spec.rb": 1.4979453030000514,
  "spec/models/work_items/widgets/award_emoji_spec.rb": 1.249898392000432,
  "spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb": 0.6424917920003281,
  "spec/helpers/sessions_helper_spec.rb": 1.1192415579998851,
  "spec/models/raw_usage_data_spec.rb": 0.7483443520004585,
  "spec/services/ml/create_candidate_service_spec.rb": 1.0564686799998526,
  "spec/serializers/merge_requests/pipeline_entity_spec.rb": 1.0317845360004867,
  "spec/rubocop/cop/usage_data/large_table_spec.rb": 0.7200550079996901,
  "spec/services/ci/compare_accessibility_reports_service_spec.rb": 1.583304106000469,
  "spec/finders/packages/npm/packages_for_user_finder_spec.rb": 1.8165556000003562,
  "spec/models/snippet_blob_spec.rb": 1.0582272999999986,
  "spec/lib/gitlab/cache/metadata_spec.rb": 0.779150586000469,
  "spec/models/integrations/chat_message/base_message_spec.rb": 0.7804492750001373,
  "spec/workers/concerns/click_house_worker_spec.rb": 0.7487924209999619,
  "spec/workers/incident_management/close_incident_worker_spec.rb": 1.34080477399948,
  "spec/models/abuse/event_spec.rb": 0.8517140209996796,
  "spec/lib/sidebars/user_settings/menus/comment_templates_menu_spec.rb": 0.6478359319999072,
  "spec/models/project_custom_attribute_spec.rb": 0.8969845820001865,
  "spec/lib/gitlab/usage/metrics/instrumentations/total_count_metric_spec.rb": 1.0243733570005134,
  "spec/lib/quality/seeders/issues_spec.rb": 1.8721448989999772,
  "spec/workers/bulk_import_worker_spec.rb": 0.6565000390000932,
  "spec/lib/gitlab/project_transfer_spec.rb": 0.5509894409997287,
  "spec/lib/sidebars/user_settings/menus/ssh_keys_menu_spec.rb": 0.6944128219993217,
  "spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb": 1.590745755000171,
  "spec/graphql/mutations/alert_management/http_integration/create_spec.rb": 0.942780462999508,
  "spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb": 0.8103472889997647,
  "spec/lib/gitlab/usage_data_counters/productivity_analytics_counter_spec.rb": 0.5269916549996196,
  "spec/models/concerns/ci/bulk_insertable_tags_spec.rb": 0.4950313420004022,
  "spec/lib/banzai/pipeline_spec.rb": 0.5414775720000762,
  "spec/services/packages/update_tags_service_spec.rb": 1.0278469059994677,
  "spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb": 0.5781154859996605,
  "spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb": 0.6578331699993214,
  "spec/graphql/types/custom_emoji_type_spec.rb": 0.4157633779996104,
  "spec/serializers/import/manifest_provider_repo_entity_spec.rb": 0.5961484310000742,
  "spec/views/events/event/_push.html.haml_spec.rb": 1.1794324259999485,
  "spec/lib/peek/views/external_http_spec.rb": 0.6612479690002147,
  "spec/graphql/types/color_type_spec.rb": 0.5957474719998572,
  "spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb": 0.7045397900001262,
  "spec/services/ci/catalog/resources/destroy_service_spec.rb": 1.0618543700002192,
  "spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb": 0.8139407489998121,
  "spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb": 0.5000877510001374,
  "spec/lib/api/helpers/version_spec.rb": 0.4072651090000363,
  "spec/rubocop/cop/migration/unfinished_dependencies_spec.rb": 0.5086514690001422,
  "spec/models/external_issue_spec.rb": 0.6520126710001932,
  "spec/serializers/ci/job_annotation_entity_spec.rb": 0.8314903150003374,
  "spec/workers/mail_scheduler/issue_due_worker_spec.rb": 1.180804385000556,
  "spec/models/concerns/from_set_operator_spec.rb": 0.7720437560001301,
  "spec/lib/gitlab/ci/templates/Diffblue_Cover_spec.rb": 1.590279234999798,
  "spec/serializers/merge_request_for_pipeline_entity_spec.rb": 1.272879168000145,
  "spec/services/users/respond_to_terms_service_spec.rb": 0.7801200249996327,
  "spec/graphql/types/container_repository_sort_enum_spec.rb": 0.38332019399967976,
  "spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb": 1.2896276450001096,
  "spec/lib/gitlab/seeders/ci/variables_instance_seeder_spec.rb": 0.8689310879999539,
  "spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb": 0.5110563790003653,
  "spec/lib/gitlab/pages/settings_spec.rb": 0.4307313749995956,
  "spec/lib/gitlab/terraform/state_migration_helper_spec.rb": 1.2454002029999174,
  "spec/lib/gitlab/usage/metrics/instrumentations/group_imports_users_metric_spec.rb": 0.8519923509993532,
  "spec/views/groups/_home_panel.html.haml_spec.rb": 1.0008635409994895,
  "spec/lib/gitlab/git/conflict/file_spec.rb": 0.6947680929997659,
  "spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb": 0.5092268680000416,
  "spec/services/users/dismiss_callout_service_spec.rb": 0.5867335339999045,
  "spec/models/design_user_mention_spec.rb": 0.6257779870002196,
  "spec/helpers/components_helper_spec.rb": 0.3349227439994138,
  "spec/workers/issuables/clear_groups_issue_counter_worker_spec.rb": 0.6713694580002993,
  "spec/services/packages/nuget/odata_package_entry_service_spec.rb": 0.4201028059997043,
  "spec/lib/gitlab/database/load_balancing/resolver_spec.rb": 0.4747822159997668,
  "spec/services/incident_management/issuable_escalation_statuses/create_service_spec.rb": 0.7070172200001252,
  "spec/views/projects/imports/new.html.haml_spec.rb": 0.8593882000004669,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_project_snippets_metric_spec.rb": 0.8195958280002742,
  "spec/lib/gitlab/ci/config/entry/tags_spec.rb": 0.4121499490001952,
  "spec/lib/gitlab/word_diff/chunk_collection_spec.rb": 0.4827081840003302,
  "spec/services/integrations/slack_options/label_search_handler_spec.rb": 0.7752693660004297,
  "spec/lib/gitlab/sidekiq_middleware/worker_context/server_spec.rb": 0.44024805299977743,
  "spec/lib/gitlab/cycle_analytics/summary/value_spec.rb": 0.4688429679999899,
  "spec/lib/gitlab/application_rate_limiter/increment_per_action_spec.rb": 0.41007772800003295,
  "spec/lib/gitlab/database/migrations/observers/query_details_spec.rb": 0.29844435100039846,
  "spec/services/work_items/widgets/hierarchy_service/create_service_spec.rb": 0.6610719399996015,
  "spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb": 0.36221620900050766,
  "spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb": 0.2969283110005563,
  "spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb": 0.4339016339999944,
  "spec/lib/bitbucket/connection_spec.rb": 0.4259375250003359,
  "spec/workers/gitlab/github_import/import_note_worker_spec.rb": 0.5478118609999001,
  "spec/graphql/types/design_management/version_type_spec.rb": 0.30065490100059833,
  "spec/lib/gitlab/middleware/request_context_spec.rb": 0.44383396200009884,
  "spec/graphql/types/organizations/organization_type_spec.rb": 0.3499070500001835,
  "spec/services/users/repair_ldap_blocked_service_spec.rb": 0.5058126699996137,
  "spec/views/shared/_milestones_sort_dropdown.html.haml_spec.rb": 0.5622710289999304,
  "spec/workers/users/create_statistics_worker_spec.rb": 0.5102178500001173,
  "spec/graphql/types/ci/test_report_total_type_spec.rb": 0.308438878000743,
  "spec/validators/html_safety_validator_spec.rb": 0.3499816510002347,
  "spec/lib/gitlab/sidekiq_middleware/pause_control/server_spec.rb": 0.31358769799953734,
  "spec/lib/gitlab/ci/pipeline/expression/lexeme/null_spec.rb": 0.36837584800014156,
  "spec/views/projects/issues/_related_issues.html.haml_spec.rb": 0.41196829799991974,
  "spec/lib/gitlab/usage/metrics/instrumentations/installation_type_metric_spec.rb": 0.3114718480001102,
  "spec/graphql/types/release_source_type_spec.rb": 0.301841190000232,
  "spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb": 0.3099389089993565,
  "spec/graphql/types/member_access_level_enum_spec.rb": 0.3537236899992422,
  "spec/lib/sidebars/projects/super_sidebar_menus/code_menu_spec.rb": 0.42039911600022606,
  "spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb": 0.3568601389997639,
  "spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb": 0.29732319100003224,
  "spec/lib/api/entities/nuget/dependency_group_spec.rb": 0.2995475699999588,
  "spec/lib/gitlab/database/async_ddl_exclusive_lease_guard_spec.rb": 0.29559601199980534,
  "spec/graphql/types/security/codequality_reports_comparer/status_enum_spec.rb": 0.29146393300015916,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb": 0.4226351560000694,
  "spec/lib/gitlab/kubernetes/generic_secret_spec.rb": 0.2469726620001893,
  "spec/lib/gitlab/ci/pipeline/metrics_spec.rb": 0.2567850590003218,
  "spec/initializers/rack_VULNDB-255039_patch_spec.rb": 0.26173917899996013,
  "spec/lib/gitlab/import_export/model_configuration_spec.rb": 0.2602435090002473,
  "spec/graphql/types/container_repository_cleanup_status_enum_spec.rb": 0.2831944029994702,
  "spec/graphql/types/project_statistics_redirect_type_spec.rb": 0.25110148100066,
  "spec/lib/gitlab/kubernetes/role_binding_spec.rb": 0.24954618999981903,
  "spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb": 0.25310917000024347
}

Knapsack global time execution for tests: 20m 40s

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

  1) Deployment modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank
     # No reason given
     # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:49

  2) Deployment modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank
     # No reason given
     # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:57

  3) Database::LockTablesWorker#perform when running with single database skips executing the job
     # Skipping because database ci exists
     # ./spec/workers/database/lock_tables_worker_spec.rb:17

Finished in 21 minutes 9 seconds (files took 43.05 seconds to load)
3167 examples, 0 failures, 3 pending

Randomized with seed 23994

[TEST PROF INFO] Time spent in factories: 10:37.314 (49.99% of total time)
RSpec exited with 0.
No examples to retry, congrats!
section_end:1708472446:step_script
section_start:1708472446:after_script
Running after_script
Running after script...
$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"
section_start:1708472446:report_results_section[collapsed=true]
Report results
$ bundle exec gem list gitlab_quality-test_tooling
gitlab_quality-test_tooling (1.15.0)
$ if [ "$CREATE_RAILS_TEST_FAILURE_ISSUES" == "true" ]; then # collapsed multi-line command
Reporting test failures in `rspec/rspec-*.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Reporting 3167 tests in rspec/rspec-6218670805.json
Reporting slow tests in `rspec/rspec-*.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Reporting 3167 tests in rspec/rspec-6218670805.json
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.
$ echo -e "\e[0Ksection_end:`date +%s`:report_results_section\r\e[0K"
section_end:1708472455:report_results_section

$ 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:1708472456:after_script
section_start:1708472456:archive_cache
Saving cache for successful job
Not uploading cache ruby-gems-debian-bookworm-ruby-3.1-16 due to policy
section_end:1708472457:archive_cache
section_start:1708472457: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) 
deprecations/: found 4 matching artifact files and directories 
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 20 matching artifact files and directories 
WARNING: Upload request redirected                  location=https://gitlab.com/api/v4/jobs/6218670805/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=6218670805 responseStatus=201 Created token=glcbt-65
Uploading artifacts...
rspec/rspec-*.xml: found 1 matching artifact files and directories 
WARNING: Upload request redirected                  location=https://gitlab.com/api/v4/jobs/6218670805/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=6218670805 responseStatus=201 Created token=glcbt-65
section_end:1708472462:upload_artifacts_on_success
section_start:1708472462:cleanup_file_variables
Cleaning up project directory and file based variables
section_end:1708472462:cleanup_file_variables
Job succeeded