Running with gitlab-runner 16.9.1 (782c6ecb)
  on green-5.private.runners-manager.gitlab.com/gitlab.com/gitlab-org Zi_8oswQ, system ID: s_8a4f217c24b6
  feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_IMPROVED_URL_MASKING:true
section_start:1711467241:resolve_secrets
Resolving secrets
section_end:1711467241:resolve_secrets
section_start:1711467241: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:57763d55554967cf0a9b05258512282482807d361c68b10fd9599ac9732bfb04 for redis:6.2-alpine with digest redis@sha256:3fcb624d83a9c478357f16dc173c58ded325ccc5fd2a4375f3916c04cc579f70 ...
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:4d97a6e6b48a500f28599f739761ccb23dc0b775b23fe71357e1f48df9074e52 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:56b23cca550b55e86db3c2471a1223d2b3a97ddff9a4bf6bd246dcef3ec64284 ...
section_end:1711467249:prepare_executor
section_start:1711467249:prepare_script
Preparing environment
Running on runner-zi8oswq-project-278964-concurrent-0 via runner-zi8oswq-private-1711463559-fd27136c...
section_end:1711467250:prepare_script
section_start:1711467250:get_sources
Getting source from Git repository
Skipping Git repository setup
Skipping Git checkout
Skipping Git submodules setup
section_end:1711467250:get_sources
section_start:1711467250:restore_cache
Restoring cache
Checking cache for ruby-gems-debian-bookworm-ruby-3.1-17...
cache.zip is up to date                            
Successfully extracted cache
section_end:1711467266:restore_cache
section_start:1711467266:download_artifacts
Downloading artifacts
Downloading artifacts for clone-gitlab-repo (6481321009)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6481321009 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 (6481321034)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6481321034 responseStatus=200 OK token=glcbt-65
Downloading artifacts for retrieve-tests-metadata (6481321048)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6481321048 responseStatus=200 OK token=glcbt-65
Downloading artifacts for setup-test-env (6481321041)...
Downloading artifacts from coordinator... ok        host=storage.googleapis.com id=6481321041 responseStatus=200 OK token=glcbt-65
section_end:1711467300:download_artifacts
section_start:1711467300:step_script
Executing "step_script" stage of the job script
Using docker image sha256:4d97a6e6b48a500f28599f739761ccb23dc0b775b23fe71357e1f48df9074e52 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:56b23cca550b55e86db3c2471a1223d2b3a97ddff9a4bf6bd246dcef3ec64284 ...
$ 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:1711467300: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.1
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.1
Using rack 2.2.8.1
Using rack-test 2.1.0
Using actionpack 7.0.8.1
Using nio4r 2.7.0
Using websocket-extensions 0.1.5
Using websocket-driver 0.7.6
Using actioncable 7.0.8.1
Using globalid 1.1.0
Using activejob 7.0.8.1
Using activemodel 7.0.8.1
Using activerecord 7.0.8.1
Using marcel 1.0.2
Using mini_mime 1.1.2
Using activestorage 7.0.8.1
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.1
Using actionmailer 7.0.8.1
Using actiontext 7.0.8.1
Using pg 1.5.6
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 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 jmespath 1.6.2
Using aws-sdk-core 3.191.3
Using aws-sdk-cloudformation 1.41.0
Using aws-sdk-kms 1.76.0
Using aws-sdk-s3 1.144.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.2
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 base64 0.2.0
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.1
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.8
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.1
Using cssbundling-rails 1.4.0
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.4
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.5.0
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 execjs 2.8.1
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.23.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.12.0
Using gitaly 16.10.0.pre.rc1
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.7.0
Using request_store 1.5.1
Using gitlab-experiment 0.9.1
Using gitlab-fog-azure-rm 1.9.1
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.5
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-client 0.21.1
Using redis 5.0.8
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 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.17.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.2
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.1
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.22.0
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.12.0
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.5.1
Using recaptcha 5.12.3
Using redis-store 1.10.0
Using redis-rack 3.0.0
Using redis-actionpack 5.4.0
Using redis-cluster-client 0.7.5
Using redis-clustering 5.0.8
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.1
Using rspec-retry 0.6.2
Using rspec_junit_formatter 0.6.0
Using rspec_profiling 0.0.9
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 sd_notify 0.1.1
Using seed-fu 2.3.7
Using websocket 1.2.10
Using selenium-webdriver 4.18.1
Using tty-command 0.10.1
Using semver_dialects 2.0.0
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.3.0
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.11.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.22.0
Using wikicloth 0.8.1
Using yajl-ruby 1.4.3
Bundle complete! 332 Gemfile dependencies, 645 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 2 seconds.
$ bundle pristine pg
Patching bundler with bundler-checksum...
Installing pg 1.5.6 with native extensions
==> 'bundle pristine pg' succeeded in 12 seconds.
section_end:1711467316: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:1711467316: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'
==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 54 seconds.
SELECT pg_catalog.set_config('search_path', '', false);
CREATE DATABASE praefect_test ENCODING 'UTF8';
section_end:1711467370: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:1711467371: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:1711467374:gitaly-test-spawn

$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"
$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"
$ tooling/bin/create_job_metrics_file || true
[job-metrics] Creating the job metrics file for the CI/CD job.
$ rspec_section rspec_parallelized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request"
section_start:1711467376:rspec[collapsed=false]
RSpec
[15:36:16] 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_9_32_278964_report.json
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json
FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg14_9_32_278964_report.json
NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg14_9_32_278964_report.json
RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-6481321357.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 29 minutes 20.68 seconds.
Expected duration for tests:

{
  "spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb": 355.5335677570044,
  "spec/lib/gitlab/database/load_balancing_spec.rb": 133.86354747119842,
  "spec/models/event_spec.rb": 94.21819868917271,
  "spec/finders/work_items/work_items_finder_spec.rb": 74.55544310620974,
  "spec/lib/gitlab/email/handler/create_note_handler_spec.rb": 62.374731811760405,
  "spec/lib/gitlab/background_migration/backfill_design_management_repositories_spec.rb": 54.55903005943797,
  "spec/policies/note_policy_spec.rb": 49.72453276033802,
  "spec/services/spam/spam_action_service_spec.rb": 43.45552786601679,
  "spec/lib/gitlab/background_migration/convert_credit_card_validation_data_to_hashes_spec.rb": 38.614957949261886,
  "spec/lib/gitlab/background_migration/backfill_finding_id_in_vulnerabilities_spec.rb": 34.192968456578,
  "spec/services/ci/job_artifacts/create_service_spec.rb": 31.901609607892034,
  "spec/tasks/gitlab/db_rake_spec.rb": 27.600628727481535,
  "spec/services/projects/move_forks_service_spec.rb": 26.71369102762241,
  "spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb": 24.009350204354185,
  "spec/models/commit_collection_spec.rb": 22.900365934548667,
  "spec/policies/namespace/root_storage_statistics_policy_spec.rb": 21.294328013815687,
  "spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb": 20.113752481733254,
  "spec/services/push_event_payload_service_spec.rb": 19.055122858006374,
  "spec/helpers/blob_helper_spec.rb": 17.84470491815827,
  "spec/services/merge_requests/conflicts/list_service_spec.rb": 16.73201762911753,
  "spec/services/concerns/ci/job_token_scope/edit_scope_validations_spec.rb": 15.606599203187788,
  "spec/policies/packages/policies/project_policy_spec.rb": 15.157562549249958,
  "spec/lib/gitlab/background_migration/backfill_branch_protection_namespace_setting_spec.rb": 14.437026478697486,
  "spec/services/suggestions/create_service_spec.rb": 13.781810406919366,
  "spec/graphql/resolvers/timelog_resolver_spec.rb": 13.316628763062827,
  "spec/lib/gitlab/path_regex_spec.rb": 12.84303156069855,
  "spec/services/packages/conan/search_service_spec.rb": 12.310435307827555,
  "spec/models/wiki_page/meta_spec.rb": 11.834454848199387,
  "spec/services/merge_requests/assign_issues_service_spec.rb": 11.117870730943523,
  "spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb": 10.985546611303903,
  "spec/finders/concerns/finder_with_cross_project_access_spec.rb": 10.346413205324467,
  "spec/models/personal_access_token_spec.rb": 10.179773393959193,
  "spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb": 9.954579265620957,
  "spec/models/fork_network_spec.rb": 9.363640399840428,
  "spec/models/concerns/milestoneable_spec.rb": 9.158258031442536,
  "spec/services/incident_management/timeline_events/destroy_service_spec.rb": 8.822633479197982,
  "spec/lib/gitlab/ci/config/external/file/project_spec.rb": 8.635093685296264,
  "spec/models/container_registry/event_spec.rb": 8.353434138977908,
  "spec/models/organizations/organization_user_spec.rb": 8.107245065719729,
  "spec/graphql/resolvers/work_items_resolver_spec.rb": 7.714685303965714,
  "spec/lib/gitlab/auth/ldap/dn_spec.rb": 7.607358144083918,
  "spec/models/issue_link_spec.rb": 7.441470372756285,
  "spec/models/merge_request/metrics_spec.rb": 7.1453751069210885,
  "spec/workers/project_export_worker_spec.rb": 7.083927979785734,
  "spec/lib/gitlab/chat/output_spec.rb": 6.705144575936251,
  "spec/lib/gitlab/background_migration/backfill_has_issues_for_external_issue_links_spec.rb": 6.63910658295659,
  "spec/models/protected_branch/merge_access_level_spec.rb": 6.443750438597352,
  "spec/lib/gitlab/slash_commands/issue_new_spec.rb": 6.276332578427144,
  "spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb": 6.053873026219491,
  "spec/finders/feature_flags_finder_spec.rb": 5.942110000987052,
  "spec/services/repositories/housekeeping_service_spec.rb": 5.865331846268653,
  "spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb": 5.547193483038283,
  "spec/services/tags/create_service_spec.rb": 5.504468455700438,
  "spec/views/projects/empty.html.haml_spec.rb": 5.312489773721062,
  "spec/helpers/ci/pipelines_helper_spec.rb": 5.175175229284905,
  "spec/finders/design_management/versions_finder_spec.rb": 5.089145521281643,
  "spec/presenters/issue_presenter_spec.rb": 4.942653026021045,
  "spec/tasks/gitlab/setup_rake_spec.rb": 4.858632423629608,
  "spec/lib/gitlab/hook_data/project_builder_spec.rb": 4.697450300017254,
  "spec/serializers/diff_file_metadata_entity_spec.rb": 4.671727265208299,
  "spec/serializers/base_discussion_entity_spec.rb": 4.560527294530551,
  "spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb": 4.43559008172747,
  "spec/models/integrations/ewm_spec.rb": 4.398417559974342,
  "spec/services/bulk_imports/process_service_spec.rb": 4.201593382583423,
  "spec/finders/packages/pypi/packages_finder_spec.rb": 4.188593958648987,
  "spec/lib/api/helpers/packages_helpers_spec.rb": 4.00829228578198,
  "spec/lib/container_registry/migration_spec.rb": 3.9899192793315876,
  "spec/lib/gitlab/spamcheck/client_spec.rb": 3.8909986487424666,
  "spec/finders/releases/evidence_pipeline_finder_spec.rb": 3.800917703585551,
  "spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb": 3.762531024133737,
  "spec/lib/gitlab/database/load_balancing/session_spec.rb": 3.6412980867187823,
  "spec/graphql/types/board_list_type_spec.rb": 3.576915470596916,
  "spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb": 3.569631916097282,
  "spec/finders/timelogs/timelogs_finder_spec.rb": 3.5186683987254135,
  "spec/services/projects/import_export/parallel_export_service_spec.rb": 3.4465918695874525,
  "spec/finders/repositories/tree_finder_spec.rb": 3.3725691456794014,
  "spec/lib/gitlab/highlight_spec.rb": 3.356826887661608,
  "spec/lib/gitlab/auth/user_access_denied_reason_spec.rb": 3.251708170689158,
  "spec/models/namespaces/descendants_spec.rb": 3.219198897511869,
  "spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb": 3.1543890310214238,
  "spec/models/ci/pipeline_metadata_spec.rb": 3.0723512941262987,
  "spec/lib/error_tracking/sentry_client/projects_spec.rb": 3.0429189405065045,
  "spec/graphql/types/ci/job_type_spec.rb": 2.962594601078163,
  "spec/lib/gitlab/ci/status/build/manual_spec.rb": 2.9279240562586795,
  "spec/finders/projects/ml/model_version_finder_spec.rb": 2.867737366404662,
  "spec/services/ci/find_exposed_artifacts_service_spec.rb": 2.8054784186544284,
  "spec/lib/gitlab/ci/pipeline/chain/build_spec.rb": 2.762504610623105,
  "spec/services/environments/create_service_spec.rb": 2.714400729132399,
  "spec/lib/gitlab/utils/username_and_email_generator_spec.rb": 2.7095316875117663,
  "spec/lib/api/entities/clusters/agents/authorizations/ci_access_spec.rb": 2.637687269437538,
  "spec/lib/gitlab/middleware/same_site_cookies_spec.rb": 2.621008706995857,
  "spec/helpers/version_check_helper_spec.rb": 2.58558483130255,
  "spec/lib/gitlab/regex/packages/protection/rules_spec.rb": 2.5511093261666864,
  "spec/validators/public_url_validator_spec.rb": 2.5276552982330873,
  "spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb": 2.4457344489467676,
  "spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb": 2.4414470728940794,
  "spec/lib/banzai/pipeline/description_pipeline_spec.rb": 2.390493563209449,
  "spec/helpers/colors_helper_spec.rb": 2.3173067125377913,
  "spec/rubocop/cop/avoid_return_from_blocks_spec.rb": 2.2911792671183364,
  "spec/lib/gitlab/metrics/prometheus_spec.rb": 2.2771606310868187,
  "spec/models/packages/debian/project_architecture_spec.rb": 2.242890182527775,
  "spec/lib/sidebars/panel_spec.rb": 2.1867190105409184,
  "spec/serializers/ci/downloadable_artifact_entity_spec.rb": 2.1827649385848953,
  "spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb": 2.102390544818731,
  "spec/lib/gitlab/data_builder/feature_flag_spec.rb": 2.0920343818489027,
  "spec/lib/gitlab/import_export/avatar_restorer_spec.rb": 2.027529061080705,
  "spec/services/environments/canary_ingress/update_service_spec.rb": 2.0242105415963687,
  "spec/lib/gitlab/checks/lfs_check_spec.rb": 1.9866841053906157,
  "spec/lib/gitlab/ci/variables/builder/group_spec.rb": 1.967488985959701,
  "spec/workers/merge_requests/delete_source_branch_worker_spec.rb": 1.937229766749823,
  "spec/lib/gitlab/daemon_spec.rb": 1.9068335104292033,
  "spec/lib/gitlab/ci/badge/coverage/report_spec.rb": 1.8718635696551331,
  "spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb": 1.8618301155543728,
  "spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb": 1.8234857794862038,
  "spec/models/blob_viewer/changelog_spec.rb": 1.8065298922654345,
  "spec/lib/sidebars/user_profile/menus/personal_projects_menu_spec.rb": 1.7788726855697528,
  "spec/finders/packages/helm/package_files_finder_spec.rb": 1.7477993948472101,
  "spec/models/integrations/external_wiki_spec.rb": 1.7165675924590027,
  "spec/workers/ci/parse_secure_file_metadata_worker_spec.rb": 1.692377953751367,
  "spec/serializers/web_ide_terminal_serializer_spec.rb": 1.6633024010884538,
  "spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb": 1.6437943786603608,
  "spec/lib/gitlab/ci/config/entry/auto_cancel_spec.rb": 1.6226828092276713,
  "spec/lib/gitlab/database/reindexing/coordinator_spec.rb": 1.5937024851654673,
  "spec/graphql/types/diff_type_spec.rb": 1.5641735407962394,
  "spec/lib/banzai/filter/broadcast_message_placeholders_filter_spec.rb": 1.5404487055372238,
  "spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb": 1.5132165208522088,
  "spec/lib/gitlab/middleware/speedscope_spec.rb": 1.4925115382660095,
  "spec/lib/gitlab/cleanup/orphan_job_artifact_final_objects/batch_from_storage_spec.rb": 1.4707275084850453,
  "spec/workers/namespaces/schedule_aggregation_worker_spec.rb": 1.4394088470454722,
  "spec/tooling/lib/tooling/mappings/graphql_base_type_mappings_spec.rb": 1.4349936916240273,
  "spec/models/snippet_blob_spec.rb": 1.3943669614052234,
  "spec/lib/gitlab/ci/parsers/sbom/cyclonedx_properties_spec.rb": 1.3923874697481997,
  "spec/rubocop/cop/rake/require_spec.rb": 1.3641297257792522,
  "spec/lib/gitlab/prometheus/internal_spec.rb": 1.3272464830386372,
  "spec/services/users/dismiss_project_callout_service_spec.rb": 1.3192190832142083,
  "spec/lib/gitlab/import_export/design_repo_restorer_spec.rb": 1.2787242400697554,
  "spec/services/personal_access_tokens/rotate_service_spec.rb": 1.2735917476050842,
  "spec/components/pajamas/card_component_spec.rb": 1.2360457151550894,
  "spec/services/boards/destroy_service_spec.rb": 1.2314827524326777,
  "spec/lib/click_house/models/base_model_spec.rb": 1.194033476755362,
  "spec/lib/gitlab/ci/reports/codequality_reports_spec.rb": 1.189909654417569,
  "spec/lib/sidebars/admin/menus/labels_menu_spec.rb": 1.1614557158046257,
  "spec/workers/ci/initialize_pipelines_iid_sequence_worker_spec.rb": 1.1542634291495517,
  "spec/lib/gitlab/database/health_status_spec.rb": 1.1202837446149998,
  "spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb": 1.1164312244106491,
  "spec/helpers/ci/catalog/resources_helper_spec.rb": 1.08492947738165,
  "spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb": 1.0809391986392143,
  "spec/models/work_items/related_link_restriction_spec.rb": 1.0491142281226407,
  "spec/lib/gitlab/sourcegraph_spec.rb": 1.0474832857418135,
  "spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb": 1.016464154133733,
  "spec/initializers/forbid_sidekiq_in_transactions_spec.rb": 1.0153131385396474,
  "spec/lib/bulk_imports/pipeline_spec.rb": 1.002934422670583,
  "spec/services/concerns/audit_event_save_type_spec.rb": 0.9865956106919525,
  "spec/helpers/ci/builds_helper_spec.rb": 0.97801589672417,
  "spec/lib/gitlab/usage/metrics/instrumentations/redis_metric_spec.rb": 0.9532589944612493,
  "spec/helpers/recaptcha_helper_spec.rb": 0.9458564187258687,
  "spec/rubocop/cop/code_reuse/presenter_spec.rb": 0.9211612407523043,
  "spec/lib/gitlab/sanitizers/exception_message_spec.rb": 0.9103831363289633,
  "spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb": 0.8997282327974263,
  "spec/lib/gitlab/redis/multi_store_connection_pool_spec.rb": 0.8803207405532832,
  "spec/lib/gitlab/pagination/keyset/request_context_spec.rb": 0.8760251267497687,
  "spec/lib/security/ci_configuration/container_scanning_build_action_spec.rb": 0.8628242581492556,
  "spec/rubocop/cop/scalability/cron_worker_context_spec.rb": 0.8545759502449448,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_service_desk_custom_email_enabled_metric_spec.rb": 0.8397309336047313,
  "spec/serializers/import/manifest_provider_repo_entity_spec.rb": 0.8319196506081896,
  "spec/lib/atlassian/jira_issue_key_extractor_spec.rb": 0.8113766445408201,
  "spec/services/spam/ham_service_spec.rb": 0.7983556251059263,
  "spec/services/webauthn/authenticate_service_spec.rb": 0.7900212664828978,
  "spec/lib/gitlab/alert_management/payload_spec.rb": 0.7717029698460377,
  "spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb": 0.7685975834011691,
  "spec/lib/gitlab/asset_proxy_spec.rb": 0.750264141741503,
  "spec/lib/gitlab/manifest_import/metadata_spec.rb": 0.7468572280910357,
  "spec/services/mattermost/create_team_service_spec.rb": 0.726926253550287,
  "spec/rubocop/cop/gitlab/predicate_memoization_spec.rb": 0.7228610446417169,
  "spec/helpers/startupjs_helper_spec.rb": 0.7064658644967801,
  "spec/lib/gitlab/kubernetes/rollout_instances_spec.rb": 0.6983038972048502,
  "spec/models/diff_viewer/image_spec.rb": 0.6887273358056246,
  "spec/lib/gitlab/ci/config/interpolation/inputs/base_input_spec.rb": 0.6824501041724853,
  "spec/lib/gitlab/usage_data_counters/jetbrains_plugin_activity_unique_counter_spec.rb": 0.6621771752734865,
  "spec/models/bulk_imports/file_transfer_spec.rb": 0.6453363186794646,
  "spec/lib/sidebars/your_work/menus/todos_menu_spec.rb": 0.6442668189717105,
  "spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb": 0.6303006981660302,
  "spec/scripts/database/schema_validator_spec.rb": 0.6107520879115951,
  "spec/lib/gitlab/github_import/representation/expose_attribute_spec.rb": 0.6051570695500867,
  "spec/keeps/helpers/groups_spec.rb": 0.5920047635368606,
  "spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb": 0.5829460679022107,
  "spec/lib/bitbucket/representation/user_spec.rb": 0.574325064742846,
  "spec/models/incident_management/timeline_event_tag_link_spec.rb": 0.560723670942779,
  "spec/views/admin/application_settings/_eks.html.haml_spec.rb": 0.5565543604753368,
  "spec/graphql/types/prometheus_alert_type_spec.rb": 0.5357886197558448,
  "spec/lib/banzai/pipeline/email_pipeline_spec.rb": 0.5348481141398675,
  "spec/graphql/types/organizations/organization_type_spec.rb": 0.5173924758592101,
  "spec/graphql/types/work_items/widgets/labels_type_spec.rb": 0.5171716171603394,
  "spec/lib/gitlab/ci/jwt_v2/claim_mapper_spec.rb": 0.5037693316178826,
  "spec/lib/gitlab/ci/reports/security/flag_spec.rb": 0.501446542068155,
  "spec/graphql/types/time_tracking/timelog_category_type_spec.rb": 0.49050421984581066,
  "spec/graphql/types/access_level_type_spec.rb": 0.48208091017093785,
  "spec/workers/concerns/packages/cleanup_artifact_worker_spec.rb": 0.4745924823792047,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb": 0.45453145454602045,
  "spec/lib/gitlab/database_importers/default_organization_importer_spec.rb": 0.44117483237081945,
  "spec/lib/gitlab/bitbucket_import/parallel_scheduling_spec.rb": 0.43945442995451156,
  "spec/graphql/types/container_expiration_policy_keep_enum_spec.rb": 0.43024102483349336,
  "spec/lib/mattermost/command_spec.rb": 0.42844956587196303,
  "spec/lib/parameter_filters/saml_response_spec.rb": 0.4209639541331771,
  "spec/graphql/types/ml/model_version_type_spec.rb": 0.41999667010889463,
  "spec/lib/api/entities/public_group_details_spec.rb": 0.41463258487055726,
  "spec/graphql/types/ci/catalog/resources/version_type_spec.rb": 0.4113778005533216,
  "spec/graphql/types/ci/group_variable_type_spec.rb": 0.4072026710510163,
  "spec/serializers/import/github_realtime_repo_entity_spec.rb": 0.40351776646212756,
  "spec/lib/gitlab/audit/deploy_key_author_spec.rb": 0.40097641916373605,
  "spec/graphql/types/work_items/widgets/assignees_input_type_spec.rb": 0.3929061131639491,
  "spec/graphql/types/blame/groups_type_spec.rb": 0.39002919048619045,
  "spec/lib/gitlab/language_data_spec.rb": 0.37651529874966083,
  "spec/graphql/types/ci/group_type_spec.rb": 0.3727358671330974,
  "spec/graphql/types/limited_countable_connection_type_spec.rb": 0.3389564840143128,
  "spec/routing/projects/security/configuration_controller_routing_spec.rb": 0.3319995649246528,
  "spec/graphql/types/packages/package_type_enum_spec.rb": 0.3270695977294705,
  "spec/services/gravatar_service_spec.rb": 0.3222614991452696,
  "spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb": 0.32201990876501946,
  "spec/graphql/types/permission_types/package_spec.rb": 0.31437957398856414,
  "spec/lib/gitlab/memory/watchdog/handlers/null_handler_spec.rb": 0.3136342090137113,
  "spec/lib/gitlab/kubernetes/role_spec.rb": 0.30389659937853863,
  "spec/rubocop/cop/gitlab/union_spec.rb": 0.3030094000552013
}

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-6481321357.json --format RspecJunitFormatter --out rspec/rspec-6481321357.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request -- spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb spec/lib/gitlab/database/load_balancing_spec.rb spec/models/event_spec.rb spec/finders/work_items/work_items_finder_spec.rb spec/lib/gitlab/email/handler/create_note_handler_spec.rb spec/lib/gitlab/background_migration/backfill_design_management_repositories_spec.rb spec/policies/note_policy_spec.rb spec/services/spam/spam_action_service_spec.rb spec/lib/gitlab/background_migration/convert_credit_card_validation_data_to_hashes_spec.rb spec/lib/gitlab/background_migration/backfill_finding_id_in_vulnerabilities_spec.rb spec/services/ci/job_artifacts/create_service_spec.rb spec/tasks/gitlab/db_rake_spec.rb spec/services/projects/move_forks_service_spec.rb spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb spec/models/commit_collection_spec.rb spec/policies/namespace/root_storage_statistics_policy_spec.rb spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb spec/services/push_event_payload_service_spec.rb spec/helpers/blob_helper_spec.rb spec/services/merge_requests/conflicts/list_service_spec.rb spec/services/concerns/ci/job_token_scope/edit_scope_validations_spec.rb spec/policies/packages/policies/project_policy_spec.rb spec/lib/gitlab/background_migration/backfill_branch_protection_namespace_setting_spec.rb spec/services/suggestions/create_service_spec.rb spec/graphql/resolvers/timelog_resolver_spec.rb spec/lib/gitlab/path_regex_spec.rb spec/services/packages/conan/search_service_spec.rb spec/models/wiki_page/meta_spec.rb spec/services/merge_requests/assign_issues_service_spec.rb spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb spec/finders/concerns/finder_with_cross_project_access_spec.rb spec/models/personal_access_token_spec.rb spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb spec/models/fork_network_spec.rb spec/models/concerns/milestoneable_spec.rb spec/services/incident_management/timeline_events/destroy_service_spec.rb spec/lib/gitlab/ci/config/external/file/project_spec.rb spec/models/container_registry/event_spec.rb spec/models/organizations/organization_user_spec.rb spec/graphql/resolvers/work_items_resolver_spec.rb spec/lib/gitlab/auth/ldap/dn_spec.rb spec/models/issue_link_spec.rb spec/models/merge_request/metrics_spec.rb spec/workers/project_export_worker_spec.rb spec/lib/gitlab/chat/output_spec.rb spec/lib/gitlab/background_migration/backfill_has_issues_for_external_issue_links_spec.rb spec/models/protected_branch/merge_access_level_spec.rb spec/lib/gitlab/slash_commands/issue_new_spec.rb spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb spec/finders/feature_flags_finder_spec.rb spec/services/repositories/housekeeping_service_spec.rb spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb spec/services/tags/create_service_spec.rb spec/views/projects/empty.html.haml_spec.rb spec/helpers/ci/pipelines_helper_spec.rb spec/finders/design_management/versions_finder_spec.rb spec/presenters/issue_presenter_spec.rb spec/tasks/gitlab/setup_rake_spec.rb spec/lib/gitlab/hook_data/project_builder_spec.rb spec/serializers/diff_file_metadata_entity_spec.rb spec/serializers/base_discussion_entity_spec.rb spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb spec/models/integrations/ewm_spec.rb spec/services/bulk_imports/process_service_spec.rb spec/finders/packages/pypi/packages_finder_spec.rb spec/lib/api/helpers/packages_helpers_spec.rb spec/lib/container_registry/migration_spec.rb spec/lib/gitlab/spamcheck/client_spec.rb spec/finders/releases/evidence_pipeline_finder_spec.rb spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb spec/lib/gitlab/database/load_balancing/session_spec.rb spec/graphql/types/board_list_type_spec.rb spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb spec/finders/timelogs/timelogs_finder_spec.rb spec/services/projects/import_export/parallel_export_service_spec.rb spec/finders/repositories/tree_finder_spec.rb spec/lib/gitlab/highlight_spec.rb spec/lib/gitlab/auth/user_access_denied_reason_spec.rb spec/models/namespaces/descendants_spec.rb spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb spec/models/ci/pipeline_metadata_spec.rb spec/lib/error_tracking/sentry_client/projects_spec.rb spec/graphql/types/ci/job_type_spec.rb spec/lib/gitlab/ci/status/build/manual_spec.rb spec/finders/projects/ml/model_version_finder_spec.rb spec/services/ci/find_exposed_artifacts_service_spec.rb spec/lib/gitlab/ci/pipeline/chain/build_spec.rb spec/services/environments/create_service_spec.rb spec/lib/gitlab/utils/username_and_email_generator_spec.rb spec/lib/api/entities/clusters/agents/authorizations/ci_access_spec.rb spec/lib/gitlab/middleware/same_site_cookies_spec.rb spec/helpers/version_check_helper_spec.rb spec/lib/gitlab/regex/packages/protection/rules_spec.rb spec/validators/public_url_validator_spec.rb spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb spec/lib/banzai/pipeline/description_pipeline_spec.rb spec/helpers/colors_helper_spec.rb spec/rubocop/cop/avoid_return_from_blocks_spec.rb spec/lib/gitlab/metrics/prometheus_spec.rb spec/models/packages/debian/project_architecture_spec.rb spec/lib/sidebars/panel_spec.rb spec/serializers/ci/downloadable_artifact_entity_spec.rb spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb spec/lib/gitlab/data_builder/feature_flag_spec.rb spec/lib/gitlab/import_export/avatar_restorer_spec.rb spec/services/environments/canary_ingress/update_service_spec.rb spec/lib/gitlab/checks/lfs_check_spec.rb spec/lib/gitlab/ci/variables/builder/group_spec.rb spec/workers/merge_requests/delete_source_branch_worker_spec.rb spec/lib/gitlab/daemon_spec.rb spec/lib/gitlab/ci/badge/coverage/report_spec.rb spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb spec/models/blob_viewer/changelog_spec.rb spec/lib/sidebars/user_profile/menus/personal_projects_menu_spec.rb spec/finders/packages/helm/package_files_finder_spec.rb spec/models/integrations/external_wiki_spec.rb spec/workers/ci/parse_secure_file_metadata_worker_spec.rb spec/serializers/web_ide_terminal_serializer_spec.rb spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb spec/lib/gitlab/ci/config/entry/auto_cancel_spec.rb spec/lib/gitlab/database/reindexing/coordinator_spec.rb spec/graphql/types/diff_type_spec.rb spec/lib/banzai/filter/broadcast_message_placeholders_filter_spec.rb spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb spec/lib/gitlab/middleware/speedscope_spec.rb spec/lib/gitlab/cleanup/orphan_job_artifact_final_objects/batch_from_storage_spec.rb spec/workers/namespaces/schedule_aggregation_worker_spec.rb spec/tooling/lib/tooling/mappings/graphql_base_type_mappings_spec.rb spec/models/snippet_blob_spec.rb spec/lib/gitlab/ci/parsers/sbom/cyclonedx_properties_spec.rb spec/rubocop/cop/rake/require_spec.rb spec/lib/gitlab/prometheus/internal_spec.rb spec/services/users/dismiss_project_callout_service_spec.rb spec/lib/gitlab/import_export/design_repo_restorer_spec.rb spec/services/personal_access_tokens/rotate_service_spec.rb spec/components/pajamas/card_component_spec.rb spec/services/boards/destroy_service_spec.rb spec/lib/click_house/models/base_model_spec.rb spec/lib/gitlab/ci/reports/codequality_reports_spec.rb spec/lib/sidebars/admin/menus/labels_menu_spec.rb spec/workers/ci/initialize_pipelines_iid_sequence_worker_spec.rb spec/lib/gitlab/database/health_status_spec.rb spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb spec/helpers/ci/catalog/resources_helper_spec.rb spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb spec/models/work_items/related_link_restriction_spec.rb spec/lib/gitlab/sourcegraph_spec.rb spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb spec/initializers/forbid_sidekiq_in_transactions_spec.rb spec/lib/bulk_imports/pipeline_spec.rb spec/services/concerns/audit_event_save_type_spec.rb spec/helpers/ci/builds_helper_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/redis_metric_spec.rb spec/helpers/recaptcha_helper_spec.rb spec/rubocop/cop/code_reuse/presenter_spec.rb spec/lib/gitlab/sanitizers/exception_message_spec.rb spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb spec/lib/gitlab/redis/multi_store_connection_pool_spec.rb spec/lib/gitlab/pagination/keyset/request_context_spec.rb spec/lib/security/ci_configuration/container_scanning_build_action_spec.rb spec/rubocop/cop/scalability/cron_worker_context_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_service_desk_custom_email_enabled_metric_spec.rb spec/serializers/import/manifest_provider_repo_entity_spec.rb spec/lib/atlassian/jira_issue_key_extractor_spec.rb spec/services/spam/ham_service_spec.rb spec/services/webauthn/authenticate_service_spec.rb spec/lib/gitlab/alert_management/payload_spec.rb spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb spec/lib/gitlab/asset_proxy_spec.rb spec/lib/gitlab/manifest_import/metadata_spec.rb spec/services/mattermost/create_team_service_spec.rb spec/rubocop/cop/gitlab/predicate_memoization_spec.rb spec/helpers/startupjs_helper_spec.rb spec/lib/gitlab/kubernetes/rollout_instances_spec.rb spec/models/diff_viewer/image_spec.rb spec/lib/gitlab/ci/config/interpolation/inputs/base_input_spec.rb spec/lib/gitlab/usage_data_counters/jetbrains_plugin_activity_unique_counter_spec.rb spec/models/bulk_imports/file_transfer_spec.rb spec/lib/sidebars/your_work/menus/todos_menu_spec.rb spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb spec/scripts/database/schema_validator_spec.rb spec/lib/gitlab/github_import/representation/expose_attribute_spec.rb spec/keeps/helpers/groups_spec.rb spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb spec/lib/bitbucket/representation/user_spec.rb spec/models/incident_management/timeline_event_tag_link_spec.rb spec/views/admin/application_settings/_eks.html.haml_spec.rb spec/graphql/types/prometheus_alert_type_spec.rb spec/lib/banzai/pipeline/email_pipeline_spec.rb spec/graphql/types/organizations/organization_type_spec.rb spec/graphql/types/work_items/widgets/labels_type_spec.rb spec/lib/gitlab/ci/jwt_v2/claim_mapper_spec.rb spec/lib/gitlab/ci/reports/security/flag_spec.rb spec/graphql/types/time_tracking/timelog_category_type_spec.rb spec/graphql/types/access_level_type_spec.rb spec/workers/concerns/packages/cleanup_artifact_worker_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb spec/lib/gitlab/database_importers/default_organization_importer_spec.rb spec/lib/gitlab/bitbucket_import/parallel_scheduling_spec.rb spec/graphql/types/container_expiration_policy_keep_enum_spec.rb spec/lib/mattermost/command_spec.rb spec/lib/parameter_filters/saml_response_spec.rb spec/graphql/types/ml/model_version_type_spec.rb spec/lib/api/entities/public_group_details_spec.rb spec/graphql/types/ci/catalog/resources/version_type_spec.rb spec/graphql/types/ci/group_variable_type_spec.rb spec/serializers/import/github_realtime_repo_entity_spec.rb spec/lib/gitlab/audit/deploy_key_author_spec.rb spec/graphql/types/work_items/widgets/assignees_input_type_spec.rb spec/graphql/types/blame/groups_type_spec.rb spec/lib/gitlab/language_data_spec.rb spec/graphql/types/ci/group_type_spec.rb spec/graphql/types/limited_countable_connection_type_spec.rb spec/routing/projects/security/configuration_controller_routing_spec.rb spec/graphql/types/packages/package_type_enum_spec.rb spec/services/gravatar_service_spec.rb spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb spec/graphql/types/permission_types/package_spec.rb spec/lib/gitlab/memory/watchdog/handlers/null_handler_spec.rb spec/lib/gitlab/kubernetes/role_spec.rb spec/rubocop/cop/gitlab/union_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.841559885 seconds
# [RSpecRunTime] Starting example group spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb. Expected to take 5 minutes 55.53 seconds.

Ci::PipelineProcessing::AtomicProcessingService
  Pipeline Processing Service Tests With Yaml
    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build2_build1_rules_out_test_needs_build1_with_optional.yml"
      follows transitions
    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 14.79 seconds. Current RSS: ~1399M. load average: 1.25 1.31 1.36 1/292 445


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_deploy_is_delayed_and_needs_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 17.28 seconds. Current RSS: ~1424M. load average: 1.23 1.31 1.36 1/292 464


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_deploy_is_manual_and_needs_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 19.46 seconds. Current RSS: ~1435M. load average: 1.23 1.31 1.36 1/292 483


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_deploy_needs_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 21.57 seconds. Current RSS: ~1451M. load average: 1.21 1.30 1.36 1/292 502


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_deploy_needs_test_when_always.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 23.62 seconds. Current RSS: ~1454M. load average: 1.21 1.30 1.36 1/292 521


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_other_build_succeeds_deploy_needs_one_build_and_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 26.37 seconds. Current RSS: ~1454M. load average: 1.20 1.30 1.36 1/292 542


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_other_build_succeeds_deploy_needs_one_build_and_test_when_always.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 29.88 seconds. Current RSS: ~1460M. load average: 1.20 1.30 1.36 1/291 563


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_test_always.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 31.77 seconds. Current RSS: ~1466M. load average: 1.18 1.29 1.36 1/291 582


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_test_fails_with_allow_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 34.08 seconds. Current RSS: ~1470M. load average: 1.18 1.29 1.36 1/291 601


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_test_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 35.95 seconds. Current RSS: ~1470M. load average: 1.18 1.29 1.36 1/290 620


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_test_on_failure_deploy_needs_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 39.41 seconds. Current RSS: ~1469M. load average: 1.17 1.29 1.35 1/290 645


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_test_skips_rollback_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 41.77 seconds. Current RSS: ~1469M. load average: 1.15 1.28 1.35 1/290 664


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_fails_with_allow_failure_test_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 44.51 seconds. Current RSS: ~1464M. load average: 1.15 1.28 1.35 1/290 683


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_rules_out_test_needs_build_with_optional.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 46.36 seconds. Current RSS: ~1467M. load average: 1.14 1.28 1.35 1/290 700


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_succeds_test_manual_allow_failure_true_deploy_needs_both.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 49.04 seconds. Current RSS: ~1467M. load average: 1.14 1.28 1.35 1/290 719


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_succeds_test_manual_allow_failure_true_deploy_needs_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 51.67 seconds. Current RSS: ~1469M. load average: 1.13 1.27 1.35 1/290 738


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_succeeds_test_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 54.1 seconds. Current RSS: ~1469M. load average: 1.13 1.27 1.35 1/290 757


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_succeeds_test_on_failure_deploy_needs_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 56.78 seconds. Current RSS: ~1470M. load average: 1.12 1.27 1.35 1/290 776


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_test_manual_review_deploy.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 0.07 second. Current RSS: ~1469M. load average: 1.12 1.27 1.35 1/291 797


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_build_test_two_manual_review_test_staging_production.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 6.8 seconds. Current RSS: ~1457M. load average: 1.10 1.26 1.34 1/290 830


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_builds_succeed_test_on_failure_deploy_needs_one_build_and_test.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 9.75 seconds. Current RSS: ~1457M. load average: 1.10 1.26 1.34 1/290 849


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_builds_succeed_test_on_failure_deploy_needs_one_build_and_test_when_always.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 13.35 seconds. Current RSS: ~1453M. load average: 1.09 1.25 1.34 1/291 871


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_deploy_needs_empty.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 14.72 seconds. Current RSS: ~1454M. load average: 1.09 1.25 1.34 1/291 886


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_same_stage_with_fail_and_retry_1.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 18.47 seconds. Current RSS: ~1461M. load average: 1.08 1.25 1.34 1/291 916


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_same_stage_with_fail_and_retry_2.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 22.4 seconds. Current RSS: ~1463M. load average: 1.16 1.26 1.34 1/291 946


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_same_stage_with_subsequent_manual_jobs.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 26.63 seconds. Current RSS: ~1460M. load average: 1.14 1.26 1.34 1/291 971


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_same_stages.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 29.22 seconds. Current RSS: ~1458M. load average: 1.14 1.26 1.34 1/291 994


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_fails_with_allow_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 31.78 seconds. Current RSS: ~1459M. load average: 1.13 1.25 1.34 1/291 1015


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 35.55 seconds. Current RSS: ~1460M. load average: 1.13 1.25 1.34 1/291 1041


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false_deploy_always.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 38.01 seconds. Current RSS: ~1461M. load average: 1.20 1.27 1.34 1/291 1062


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false_deploy_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 40.55 seconds. Current RSS: ~1462M. load average: 1.20 1.27 1.34 1/291 1083


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false_other_test_succeeds_deploy_needs_both.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 42.28 seconds. Current RSS: ~1464M. load average: 1.11 1.24 1.33 1/291 1100


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_deploy_always.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 43.46 seconds. Current RSS: ~1464M. load average: 1.11 1.24 1.33 1/291 1115


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_deploy_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 46.81 seconds. Current RSS: ~1464M. load average: 1.10 1.24 1.33 1/291 1136


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_fails.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 50.77 seconds. Current RSS: ~1464M. load average: 1.10 1.24 1.33 1/289 1162


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_other_test_succeeds_deploy_needs_both.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 53.05 seconds. Current RSS: ~1463M. load average: 1.09 1.23 1.33 1/288 1179


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_succeeds.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 57.1 seconds. Current RSS: ~1459M. load average: 1.08 1.23 1.33 1/288 1205


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_post_test_needs_deploy_is_stage.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 1 minute 59.39 seconds. Current RSS: ~1454M. load average: 1.08 1.23 1.33 1/288 1224


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_same_and_different_stage_needs.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 1.64 seconds. Current RSS: ~1454M. load average: 1.08 1.23 1.33 1/288 1241


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_same_stage_needs.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 5.02 seconds. Current RSS: ~1456M. load average: 1.08 1.23 1.33 1/288 1262


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/dag_test_on_failure_no_needs.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 7.09 seconds. Current RSS: ~1459M. load average: 1.07 1.22 1.32 1/288 1279


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_cancels_test1_and_test2_have_when.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 9.28 seconds. Current RSS: ~1461M. load average: 1.07 1.22 1.32 1/288 1298


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_cancels_with_allow_failure_test1_and_test2_have_when.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 11.05 seconds. Current RSS: ~1462M. load average: 1.07 1.22 1.32 1/288 1317


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_fails.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 13.41 seconds. Current RSS: ~1458M. load average: 1.06 1.22 1.32 1/288 1336


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_fails_test_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 16.43 seconds. Current RSS: ~1461M. load average: 1.14 1.23 1.33 1/288 1359


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_fails_with_allow_failure_test_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 19.27 seconds. Current RSS: ~1461M. load average: 1.14 1.23 1.33 1/288 1380


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_succeeds_test_manual_allow_failure_true.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 21.44 seconds. Current RSS: ~1456M. load average: 1.13 1.23 1.32 1/288 1399


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_succeeds_test_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 24.37 seconds. Current RSS: ~1456M. load average: 1.13 1.23 1.32 1/288 1420


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_build_test_manual_review_deploy.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 27.04 seconds. Current RSS: ~1457M. load average: 1.12 1.22 1.32 1/288 1443


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_one_test_succeeds_one_manual_test_fails_and_retry_manual_build.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 31.1 seconds. Current RSS: ~1458M. load average: 1.12 1.22 1.32 1/288 1469


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_one_test_succeeds_one_manual_test_fails_and_retry_pipeline.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 35.44 seconds. Current RSS: ~1460M. load average: 1.11 1.22 1.32 1/288 1493


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_false.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 39.15 seconds. Current RSS: ~1458M. load average: 1.18 1.23 1.32 1/288 1519


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 42.76 seconds. Current RSS: ~1460M. load average: 1.24 1.25 1.33 1/288 1540


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true_deploy_always.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 43.95 seconds. Current RSS: ~1462M. load average: 1.24 1.25 1.33 1/288 1555


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true_deploy_on_failure.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 47.2 seconds. Current RSS: ~1462M. load average: 1.22 1.24 1.33 1/288 1576


    test_file_path: "/builds/gitlab-org/gitlab/spec/services/ci/pipeline_processing/test_cases/stage_test_on_failure_no_prev_stage.yml"
      follows transitions
# [RSpecRunTime] RSpec elapsed time: 2 minutes 49.3 seconds. Current RSS: ~1463M. load average: 1.22 1.24 1.33 1/288 1593


  Pipeline Processing Service
    when simple pipeline is defined
      processes a pipeline
      does not process pipeline if existing stage is running
# [RSpecRunTime] RSpec elapsed time: 2 minutes 55.05 seconds. Current RSS: ~1488M. load average: 1.21 1.24 1.32 1/288 1637


    custom stage with first job allowed to fail
      automatically triggers a next stage when build finishes
# [RSpecRunTime] RSpec elapsed time: 2 minutes 57.83 seconds. Current RSS: ~1495M. load average: 1.43 1.28 1.34 1/288 1659


    when optional manual actions are defined
      when builds are successful
        properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 2.47 seconds. Current RSS: ~1506M. load average: 1.40 1.28 1.34 1/288 1689


      when test job fails
        properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 7.24 seconds. Current RSS: ~1492M. load average: 1.36 1.27 1.34 1/288 1719


      when test and test_failure jobs fail
        properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 12.08 seconds. Current RSS: ~1490M. load average: 1.33 1.27 1.33 1/288 1749


      when deploy job fails
        properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 16.62 seconds. Current RSS: ~1489M. load average: 1.31 1.26 1.33 1/288 1779


      when build is canceled in the second stage
        does not schedule builds after build has been canceled
# [RSpecRunTime] RSpec elapsed time: 3 minutes 20.18 seconds. Current RSS: ~1492M. load average: 1.31 1.26 1.33 2/289 1803


      when listing optional manual actions
        returns only for skipped builds
# [RSpecRunTime] RSpec elapsed time: 3 minutes 24.1 seconds. Current RSS: ~1494M. load average: 1.28 1.26 1.33 1/289 1831


    when delayed jobs are defined
      when the scene is timed incremental rollout
        when builds are successful
          properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 29.62 seconds. Current RSS: ~1481M. load average: 1.26 1.26 1.33 1/289 1865


        when build job fails
          properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 32.14 seconds. Current RSS: ~1481M. load average: 1.24 1.25 1.33 1/289 1885


        when rollout 10% is unscheduled
          properly processes the pipeline
          when user plays rollout 10%
            schedules rollout100%
# [RSpecRunTime] RSpec elapsed time: 3 minutes 38.57 seconds. Current RSS: ~1495M. load average: 1.14 1.23 1.32 1/289 1934


        when rollout 10% fails
          properly processes the pipeline
          when user retries rollout 10%
            does not schedule rollout10% again
# [RSpecRunTime] RSpec elapsed time: 3 minutes 46.93 seconds. Current RSS: ~1491M. load average: 1.19 1.24 1.32 1/289 1999


        when rollout 10% is played immidiately
          properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 49.6 seconds. Current RSS: ~1493M. load average: 1.19 1.24 1.32 1/289 2021


      when only one scheduled job exists in a pipeline
        properly processes the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 50.92 seconds. Current RSS: ~1496M. load average: 1.19 1.24 1.32 1/289 2038


      when there are two delayed jobs in a stage
        blocks the stage until all scheduled jobs finished
# [RSpecRunTime] RSpec elapsed time: 3 minutes 52.81 seconds. Current RSS: ~1505M. load average: 1.10 1.22 1.31 1/289 2057


      when a delayed job is allowed to fail
        blocks the stage and continues after it failed
# [RSpecRunTime] RSpec elapsed time: 3 minutes 55.06 seconds. Current RSS: ~1508M. load average: 1.10 1.22 1.31 1/289 2080


    when an exception is raised during a persistent ref creation
      process the pipeline
# [RSpecRunTime] RSpec elapsed time: 3 minutes 56.19 seconds. Current RSS: ~1506M. load average: 1.10 1.22 1.31 1/289 2098


    when there are manual action in earlier stages
      when first stage has only optional manual actions
        starts from the second stage
# [RSpecRunTime] RSpec elapsed time: 3 minutes 57.45 seconds. Current RSS: ~1509M. load average: 1.09 1.21 1.31 1/289 2113


      when second stage has only optional manual actions
        skips second stage and continues on third stage
# [RSpecRunTime] RSpec elapsed time: 3 minutes 59.53 seconds. Current RSS: ~1511M. load average: 1.09 1.21 1.31 1/289 2132


    when there are only manual actions in stages
      processes all jobs until blocking actions encountered
# [RSpecRunTime] RSpec elapsed time: 4 minutes 1.0 second. Current RSS: ~1516M. load average: 1.09 1.21 1.31 1/289 2150


    when there is only one manual action
      skips the pipeline
      when the action was played
        queues the action and pipeline
# [RSpecRunTime] RSpec elapsed time: 4 minutes 4.2 seconds. Current RSS: ~1517M. load average: 1.08 1.21 1.31 2/289 2187


    when blocking manual actions are defined
      when first stage succeeds
        blocks pipeline on stage with first manual action
# [RSpecRunTime] RSpec elapsed time: 4 minutes 6.56 seconds. Current RSS: ~1518M. load average: 1.07 1.21 1.31 1/289 2207


      when first stage fails
        does not take blocking action into account
# [RSpecRunTime] RSpec elapsed time: 4 minutes 9.73 seconds. Current RSS: ~1510M. load average: 1.07 1.21 1.31 1/289 2229


      when pipeline is promoted sequentially up to the end
        properly processes entire pipeline
# [RSpecRunTime] RSpec elapsed time: 4 minutes 16.21 seconds. Current RSS: ~1480M. load average: 1.07 1.20 1.31 1/289 2267


    when second stage has only on_failure jobs
      skips second stage and continues on third stage
# [RSpecRunTime] RSpec elapsed time: 4 minutes 18.45 seconds. Current RSS: ~1482M. load average: 1.06 1.20 1.30 1/289 2286


    when failed build in the middle stage is retried
      when failed build is the only unsuccessful build in the stage
        does trigger builds in the next stage
# [RSpecRunTime] RSpec elapsed time: 4 minutes 24.29 seconds. Current RSS: ~1482M. load average: 1.06 1.20 1.30 2/290 2332


    when builds with auto-retries are configured
      automatically retries builds in a valid order
# [RSpecRunTime] RSpec elapsed time: 4 minutes 28.21 seconds. Current RSS: ~1480M. load average: 1.05 1.19 1.30 1/289 2362


    when pipeline with needs is created
      when linux:* finishes first it runs it out of order
      when one of the jobs is run on a failure
        when another job in build phase fails first
          does skip linux:notify
# [RSpecRunTime] RSpec elapsed time: 4 minutes 36.32 seconds. Current RSS: ~1478M. load average: 1.12 1.20 1.30 1/289 2417


        when linux:build job fails first
          does run linux:notify
# [RSpecRunTime] RSpec elapsed time: 4 minutes 38.72 seconds. Current RSS: ~1486M. load average: 1.12 1.20 1.30 1/289 2436


      when there is a job scheduled with dag but no need (needs: [])
        runs deploy_pages without waiting prior stages
# [RSpecRunTime] RSpec elapsed time: 4 minutes 44.05 seconds. Current RSS: ~1487M. load average: 1.11 1.20 1.30 1/289 2471


    when a needed job is skipped
      skips the jobs depending on it
# [RSpecRunTime] RSpec elapsed time: 4 minutes 46.64 seconds. Current RSS: ~1486M. load average: 1.18 1.21 1.30 1/289 2491


    when a needed job is manual
      makes deploy DAG to be skipped
# [RSpecRunTime] RSpec elapsed time: 4 minutes 48.35 seconds. Current RSS: ~1493M. load average: 1.18 1.21 1.30 1/289 2509


    when jobs change from stopped to alive status during pipeline processing
      runs ResetSkippedJobsService on the new alive jobs and logs event (FAILED - 1)
      logs event
      when the new alive jobs belong to different users
        runs ResetSkippedJobsService on the new alive jobs
        assigns the correct user to the dependent jobs
        logs event
# [RSpecRunTime] RSpec elapsed time: 4 minutes 59.34 seconds. Current RSS: ~1473M. load average: 1.31 1.24 1.31 1/289 2622


    when a bridge job has parallel:matrix config
      creates pipeline with bridges, then passes the matrix variables to downstream jobs
# [RSpecRunTime] RSpec elapsed time: 5 minutes 5.36 seconds. Current RSS: ~1456M. load average: 1.29 1.23 1.31 1/288 2739


    when a bridge job has invalid downstream project
      creates a pipeline, then fails the bridge job
# [RSpecRunTime] RSpec elapsed time: 5 minutes 8.94 seconds. Current RSS: ~1456M. load average: 1.26 1.23 1.31 1/288 2770


    when the dependency is stage-independent
      processes subsequent jobs in the correct order when playing first job
# [RSpecRunTime] RSpec elapsed time: 5 minutes 12.12 seconds. Current RSS: ~1459M. load average: 1.24 1.23 1.31 1/288 2803


    when the exclusive lease is taken
      skips pipeline processing
    deployments creation
      creates deployment records for the deploy jobs
# [RSpecRunTime] RSpec elapsed time: 5 minutes 18.03 seconds. Current RSS: ~1459M. load average: 1.22 1.22 1.30 1/288 2885



# [RSpecRunTime] Finishing example group spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb. It took 5 minutes 11.71 seconds. Expected to take 5 minutes 55.53 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/load_balancing_spec.rb. Expected to take 2 minutes 13.86 seconds.

Gitlab::Database::LoadBalancing
  .base_models
    returns the models to apply load balancing to
    returns the models as a frozen array
  .each_load_balancer
    yields every load balancer to the supplied block
    returns an Enumerator when no block is given
  .primary_only?
    returns true if all load balancers have no replicas
    returns false if at least one has replicas
  .release_hosts
    releases the host of every load balancer
  .db_role_for_connection
    when the NullPool is used for connection
      returns unknown
    when the load balancing is configured
      when a proxy connection is used
        returns :unknown
      when an invalid connection is used
        returns :unknown
      when a null connection is used
        returns :unknown
      when a read connection is used
        returns :replica
      when a read_write connection is used
        returns :primary
  LoadBalancing integration tests
-- create_table(:_test_load_balancing_test, {:force=>true})
   -> 0.0052s
    queries: -> { model.first }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 23.33 seconds. Current RSS: ~1474M. load average: 1.20 1.22 1.30 1/291 2886


    queries: -> { model.find_by(id: 123) }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 26.56 seconds. Current RSS: ~1475M. load average: 1.19 1.22 1.30 1/292 2887


    queries: -> { model.where(name: 'hello').to_a }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 29.87 seconds. Current RSS: ~1455M. load average: 1.19 1.22 1.30 1/289 2888


    queries: -> { model.create!(name: 'test1') }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 33.06 seconds. Current RSS: ~1448M. load average: 1.09 1.19 1.29 2/289 2889


    queries: -> {
            instance = model.create!(name: 'test1')
            instance.update!(name: 'test2')
          }, include_transaction: false, expected_results: [:primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 36.28 seconds. Current RSS: ~1449M. load average: 1.08 1.19 1.29 1/289 2890


    queries: -> { model.update_all(name: 'test2') }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 39.49 seconds. Current RSS: ~1450M. load average: 1.08 1.19 1.29 1/290 2891


    queries: -> {
            instance = model.create!(name: 'test1')
            instance.destroy!
          }, include_transaction: false, expected_results: [:primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 42.74 seconds. Current RSS: ~1450M. load average: 1.08 1.19 1.29 1/290 2892


    queries: -> { model.delete_all }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 45.95 seconds. Current RSS: ~1450M. load average: 1.08 1.19 1.29 1/291 2893


    queries: -> { model.connection.exec_query('SELECT 1').to_a }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 49.47 seconds. Current RSS: ~1441M. load average: 1.07 1.18 1.29 1/292 2894


    queries: -> {
            model.first
            model.create!(name: 'test1')
            model.first
            model.find_by(name: 'test1')
          }, include_transaction: false, expected_results: [:replica, :primary, :primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 52.74 seconds. Current RSS: ~1437M. load average: 1.15 1.20 1.29 1/293 2895


    queries: -> {
            model.transaction do
              model.find_by(name: 'test1')
              model.create!(name: 'test1')
              instance = model.find_by(name: 'test1')
              instance.update!(name: 'test2')
            end
            model.find_by(name: 'test1')
          }, include_transaction: true, expected_results: [:primary, :primary, :primary, :primary, :primary, :primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 56.08 seconds. Current RSS: ~1437M. load average: 1.15 1.20 1.29 1/294 2896


    queries: -> {
            model.transaction do
              model.transaction do
                model.create!(name: 'test1')
              end
              model.update_all(name: 'test2')
            end
            model.find_by(name: 'test1')
          }, include_transaction: true, expected_results: [:primary, :primary, :primary, :primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 5 minutes 59.3 seconds. Current RSS: ~1438M. load average: 1.13 1.19 1.29 1/294 2897


    queries: -> {
            model.transaction do
              model.first
              model.where(name: 'test1').to_a
            end
          }, include_transaction: true, expected_results: [:primary, :primary, :primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 2.77 seconds. Current RSS: ~1438M. load average: 1.28 1.22 1.30 1/295 2898


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary do
              model.first
              model.where(name: 'test1').to_a
            end
            model.first
          }, include_transaction: false, expected_results: [:primary, :primary, :replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 6.21 seconds. Current RSS: ~1438M. load average: 1.28 1.22 1.30 1/297 2899


    queries: -> {
            model.first
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary!
            model.where(name: 'test1').to_a
          }, include_transaction: false, expected_results: [:replica, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 9.44 seconds. Current RSS: ~1438M. load average: 1.26 1.22 1.30 1/297 2900


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              model.where(name: 'test1').to_a
            end
          }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 12.64 seconds. Current RSS: ~1438M. load average: 1.24 1.22 1.29 1/298 2901


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              model.create!(name: 'test1')
            end
          }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 15.84 seconds. Current RSS: ~1438M. load average: 1.24 1.22 1.29 1/299 2902


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              model.connection.exec_query("SELECT 1")
            end
          }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 19.24 seconds. Current RSS: ~1439M. load average: 1.30 1.23 1.30 1/300 2903


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary!
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              model.where(name: 'test1').to_a
            end
          }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 22.46 seconds. Current RSS: ~1439M. load average: 1.20 1.21 1.29 1/301 2904


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary!
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              model.create!(name: 'test1')
            end
          }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 25.66 seconds. Current RSS: ~1438M. load average: 1.20 1.21 1.29 1/301 2905


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary!
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              model.connection.exec_query('SELECT 1')
            end
          }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 28.95 seconds. Current RSS: ~1438M. load average: 1.18 1.21 1.29 1/302 2906


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary do
              ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
                model.where(name: 'test1').to_a
              end
            end
          }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 32.17 seconds. Current RSS: ~1438M. load average: 1.09 1.19 1.28 1/304 2907


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.write!
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              model.where(name: 'test1').to_a
            end
          }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 35.45 seconds. Current RSS: ~1439M. load average: 1.09 1.19 1.28 1/304 2908


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              model.first
              model.where(name: 'test1').to_a
            end
          }, include_transaction: false, expected_results: [:replica, :replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 38.62 seconds. Current RSS: ~1439M. load average: 1.16 1.20 1.28 1/305 2909


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              model.transaction do
                model.first
                model.where(name: 'test1').to_a
              end
            end
          }, include_transaction: false, expected_results: [:replica, :replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 41.77 seconds. Current RSS: ~1438M. load average: 1.23 1.21 1.29 1/307 2910


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              model.connection.exec_query("SELECT 1")
            end
          }, include_transaction: false, expected_results: [:replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 44.97 seconds. Current RSS: ~1438M. load average: 1.23 1.21 1.29 1/308 2911


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              model.transaction do
                model.connection.exec_query("SET LOCAL statement_timeout = 5000")
                model.count
              end
            end
          }, include_transaction: true, expected_results: [:replica, :replica, :replica, :replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 48.15 seconds. Current RSS: ~1438M. load average: 1.29 1.23 1.29 1/310 2912


    queries: -> {
            model.create!(name: 'Test1')
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              model.connection.exec_query("SELECT 1")
            end
          }, include_transaction: false, expected_results: [:primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 51.29 seconds. Current RSS: ~1438M. load average: 1.26 1.22 1.29 2/311 2913


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary!
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              model.connection.exec_query("SELECT 1")
            end
          }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 54.46 seconds. Current RSS: ~1438M. load average: 1.26 1.22 1.29 1/311 2914


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_primary do
              ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
                model.connection.exec_query("SELECT 1")
              end
            end
          }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 6 minutes 57.62 seconds. Current RSS: ~1438M. load average: 1.24 1.22 1.29 1/313 2915


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              ::Gitlab::Database::LoadBalancing::Session.current.use_primary do
                model.connection.exec_query("SELECT 1")
              end
            end
          }, include_transaction: false, expected_results: [:primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 7 minutes 0.98 second. Current RSS: ~1439M. load average: 1.24 1.22 1.29 1/316 2916


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
              model.connection.exec_query("SELECT 1")
              model.delete_all
              model.connection.exec_query("SELECT 1")
            end
          }, include_transaction: false, expected_results: [:replica, :primary, :primary]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 7 minutes 4.44 seconds. Current RSS: ~1439M. load average: 1.22 1.21 1.29 1/315 2917


    queries: -> {
            ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do
              ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do
                model.connection.exec_query('SELECT 1')
                model.where(name: 'test1').to_a
              end
            end
          }, include_transaction: false, expected_results: [:replica, :replica]
      redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 7 minutes 7.59 seconds. Current RSS: ~1438M. load average: 1.21 1.21 1.28 3/316 2918


    custom connection handling
      queries: -> {
              ::Gitlab::Database::LoadBalancing::Session.current.use_primary!
              model.connection.clear_cache!
              model.connection.schema_cache.add('users')
              model.connection.pool.release_connection
            }, expected_role: :replica
        redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 7 minutes 11.06 seconds. Current RSS: ~1438M. load average: 1.21 1.21 1.28 1/316 2919


      queries: -> {
              connection = model.connection
              connection.select_one('SELECT 1')
              connection.pool.release_connection
            }, expected_role: :replica
        redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 7 minutes 14.22 seconds. Current RSS: ~1439M. load average: 1.19 1.21 1.28 1/317 2920


      queries: -> {
              connection = model.retrieve_connection
              connection.select_one('SELECT 1')
              connection.pool.release_connection
            }, expected_role: :primary
        redirects queries to the right roles
# [RSpecRunTime] RSpec elapsed time: 7 minutes 17.37 seconds. Current RSS: ~1439M. load average: 1.17 1.20 1.28 1/319 2921


    a write inside a transaction inside fallback_to_replicas_for_ambiguous_queries block
      raises an exception
# [RSpecRunTime] RSpec elapsed time: 7 minutes 20.74 seconds. Current RSS: ~1438M. load average: 1.17 1.20 1.28 1/320 2922


-- drop_table(:_test_load_balancing_test, {:force=>true})
   -> 0.1297s

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/load_balancing_spec.rb. It took 2 minutes 2.61 seconds. Expected to take 2 minutes 13.86 seconds.
# [RSpecRunTime] Starting example group spec/models/event_spec.rb. Expected to take 1 minute 34.22 seconds.

Event
  does not allow STI
  Associations
    is expected to belong to project required: false
    is expected to belong to target required: false
# [RSpecRunTime] RSpec elapsed time: 7 minutes 22.38 seconds. Current RSS: ~1441M. load average: 1.16 1.20 1.28 1/318 2923


  Respond to
    is expected to respond to #author_name
    is expected to respond to #author_email
    is expected to respond to #issue_title
    is expected to respond to #merge_request_title
    is expected to respond to #design_title
  Callbacks
    after_create :reset_project_activity
      calls the reset_project_activity method
    after_create :set_last_repository_updated_at
      with a push event
        updates the project last_repository_updated_at
        calls the reset_project_activity method
      without a push event
        does not update the project last_repository_updated_at
    #set_last_repository_updated_at
      only updates once every Event::REPOSITORY_UPDATED_AT_INTERVAL minutes
  validations
    action
      for a design
        action: "created", valid: true
          is expected to eq true
        action: "updated", valid: true
          is expected to eq true
        action: "closed", valid: false
          is expected to eq false
        action: "reopened", valid: false
          is expected to eq false
        action: "pushed", valid: false
          is expected to eq false
        action: "commented", valid: false
          is expected to eq false
        action: "merged", valid: false
          is expected to eq false
        action: "joined", valid: false
          is expected to eq false
        action: "left", valid: false
          is expected to eq false
        action: "destroyed", valid: true
          is expected to eq true
        action: "expired", valid: false
          is expected to eq false
        action: "approved", valid: false
          is expected to eq false
  scopes
    .for_issue
      returns events for Issue and WorkItem target_type
# [RSpecRunTime] RSpec elapsed time: 7 minutes 28.1 seconds. Current RSS: ~1467M. load average: 1.15 1.20 1.28 3/318 2924


    .for_merge_request
      returns events for MergeRequest target_type
# [RSpecRunTime] RSpec elapsed time: 7 minutes 30.2 seconds. Current RSS: ~1465M. load average: 1.15 1.20 1.28 1/324 2965


    .created_at
      can find the right event
    .created_between
      returns events created between given timestamps
# [RSpecRunTime] RSpec elapsed time: 7 minutes 32.87 seconds. Current RSS: ~1458M. load average: 1.13 1.19 1.27 1/323 2966


    .for_fingerprint
      returns none if there is no fingerprint
      returns none if there is no match
      can find a given event
    .contributions
      returns events for MergeRequest, Issue, WorkItem and push, comment events
# [RSpecRunTime] RSpec elapsed time: 7 minutes 40.63 seconds. Current RSS: ~1487M. load average: 1.12 1.19 1.27 1/325 3124


  #fingerprint
    is unique scoped to target
# [RSpecRunTime] RSpec elapsed time: 7 minutes 41.77 seconds. Current RSS: ~1483M. load average: 1.11 1.19 1.27 1/324 3125


  Push event
    is expected to eq #<User id:94 @namespace77>
  #target_title
    for an issue
      delegates to issue title
    for a wiki page
      delegates to wiki page title
  #membership_changed?
    created
      is expected to be falsey
    updated
      is expected to be falsey
    expired
      is expected to be truthy
    left
      is expected to be truthy
    joined
      is expected to be truthy
  #note?
    issue note event
      is expected to be note
    merge request diff note event
      is expected to be note
# [RSpecRunTime] RSpec elapsed time: 7 minutes 45.72 seconds. Current RSS: ~1495M. load average: 1.11 1.19 1.27 1/326 3195


  #visible_to_user?
    commit note event
      has the correct visibility
      private project
        when admin mode enabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 7 minutes 49.03 seconds. Current RSS: ~1488M. load average: 1.10 1.18 1.27 1/325 3212


        when admin mode disabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 7 minutes 50.18 seconds. Current RSS: ~1495M. load average: 1.10 1.18 1.27 1/325 3221


    issue event
      for non confidential issues
        has the correct visibility
        is expected to eq true
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 7 minutes 51.67 seconds. Current RSS: ~1499M. load average: 1.10 1.18 1.27 1/325 3222


      for confidential issues
        has the correct visibility
        is expected to eq true
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 7 minutes 53.17 seconds. Current RSS: ~1492M. load average: 1.10 1.18 1.27 1/325 3223


    work item event
      for non confidential work item
        has the correct visibility
        is expected to eq true
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 7 minutes 54.56 seconds. Current RSS: ~1484M. load average: 1.10 1.18 1.27 1/325 3224


      for confidential work item
        has the correct visibility
        is expected to eq true
    issue note event
      on non confidential issues
        has the correct visibility
        is expected to eq true
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 7 minutes 57.17 seconds. Current RSS: ~1477M. load average: 1.17 1.19 1.27 1/323 3225


      on confidential issues
        has the correct visibility
        is expected to eq true
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 7 minutes 58.97 seconds. Current RSS: ~1472M. load average: 1.17 1.19 1.27 1/322 3226


      confidential note
        has the correct visibility
      private project
        is expected to eq false
        is expected to eq false
        when admin mode enabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 1.47 seconds. Current RSS: ~1464M. load average: 1.15 1.19 1.27 1/320 3227


        when admin mode disabled
          has the correct visibility
    merge request diff note event
      public project
        has the correct visibility
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 8 minutes 3.35 seconds. Current RSS: ~1464M. load average: 1.15 1.19 1.27 1/320 3228


      private project
        is expected to eq false
        when admin mode enabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 4.54 seconds. Current RSS: ~1463M. load average: 1.15 1.19 1.27 1/320 3229


        when admin mode disabled
          has the correct visibility
    milestone event
      has the correct visibility
      on public project with private issue tracker and merge requests
        when admin mode enabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 6.49 seconds. Current RSS: ~1463M. load average: 1.14 1.19 1.27 1/320 3230


        when admin mode disabled
          has the correct visibility
      on private project
        when admin mode enabled
          has the correct visibility
        when admin mode disabled
          has the correct visibility
    wiki-page event
      on private project
        when admin mode enabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 10.03 seconds. Current RSS: ~1460M. load average: 1.14 1.19 1.27 1/322 3264


        when admin mode disabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 11.17 seconds. Current RSS: ~1460M. load average: 1.14 1.19 1.27 1/324 3298


      wiki-page event on public project
        has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 12.44 seconds. Current RSS: ~1459M. load average: 1.13 1.18 1.27 1/325 3332


    project snippet note event
      has the correct visibility
      on public project with private snippets
        is expected to eq false
        when admin mode enabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 15.15 seconds. Current RSS: ~1458M. load average: 1.13 1.18 1.27 1/325 3333


        when admin mode disabled
          has the correct visibility
      on private project
        is expected to eq false
        when admin mode enabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 17.91 seconds. Current RSS: ~1457M. load average: 1.12 1.18 1.27 1/325 3334


        when admin mode disabled
          has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 18.95 seconds. Current RSS: ~1457M. load average: 1.12 1.18 1.27 1/325 3335


    personal snippet note event
      has the correct visibility
      is expected to eq true
      on internal snippet
        has the correct visibility
# [RSpecRunTime] RSpec elapsed time: 8 minutes 20.27 seconds. Current RSS: ~1460M. load average: 1.12 1.18 1.27 1/325 3336


      on private snippet
        is expected to eq true
        when admin mode enabled
          has the correct visibility
        when admin mode disabled
          has the correct visibility
    design note event
      has the correct visibility
      is expected to eq true
      is expected to eq true
      the event refers to a design on a confidential issue
        has the correct visibility
        is expected to eq true
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 8 minutes 25.06 seconds. Current RSS: ~1458M. load average: 1.11 1.18 1.27 1/320 3337


    design event
      has the correct visibility
      is expected to eq true
      is expected to eq true
      the event refers to a design on a confidential issue
        has the correct visibility
        is expected to eq true
        is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 8 minutes 27.91 seconds. Current RSS: ~1457M. load average: 1.10 1.17 1.26 1/320 3338


  wiki_page predicate scopes
    .for_design
      only includes design events
# [RSpecRunTime] RSpec elapsed time: 8 minutes 31.74 seconds. Current RSS: ~1452M. load average: 1.09 1.17 1.26 1/324 3407


    .for_wiki_page
      only contains the wiki page events
    .for_wiki_meta
      finds events for a given wiki page metadata object
  categorization
    passes a sanity check
    #wiki_page and #wiki_page?
      for a wiki page event
        is expected to have attributes {:wiki_page => #<WikiPage:0x00007f5965fa48d8 @wiki=#<ProjectWiki id:94 >, @page=#<Gitlab::Git::WikiPage...44d93debad 06d7bd5d3425023dfcbd4591757ee544d93debad>, @format=:markdown>>, :wiki_page? => (be truthy)}
        title is empty
          is expected to have attributes {:wiki_page => nil, :wiki_page? => (be truthy)}
# [RSpecRunTime] RSpec elapsed time: 8 minutes 33.48 seconds. Current RSS: ~1463M. load average: 1.09 1.17 1.26 1/325 3479


      for any other event
        has no wiki_page and is not a wiki_page
    #design and #design?
      for a design event
        is expected to have attributes {:design => #<DesignManagement::Design id: namespace113/project-113#/designs[homescreen-31.jpg]>, :design? => (be truthy)}
      for any other event
        has no design and is not a design
  .limit_recent
    without an explicit limit
      is expected to eq [#<Event project_id: 96, author_id: 147, created_at: "2024-03-26 15:45:55.696379773 +0000", updated_a...", action: "closed", target_type: "Issue", group_id: nil, fingerprint: nil, id: 175, target_id: 51>]
# [RSpecRunTime] RSpec elapsed time: 8 minutes 35.24 seconds. Current RSS: ~1465M. load average: 1.09 1.17 1.26 1/325 3480


    with an explicit limit
      is expected to eq [#<Event project_id: 98, author_id: 151, created_at: "2024-03-26 15:45:56.988889645 +0000", updated_a...", action: "closed", target_type: "Issue", group_id: nil, fingerprint: nil, id: 178, target_id: 54>]
# [RSpecRunTime] RSpec elapsed time: 8 minutes 36.53 seconds. Current RSS: ~1454M. load average: 1.08 1.17 1.26 1/325 3481


  #reset_project_activity
    when a project was updated less than 1 hour ago
      does not update the project
    when a project was updated more than 1 hour ago
      updates the project
      deletes the redis key for if the project was inactive
# [RSpecRunTime] RSpec elapsed time: 8 minutes 39.25 seconds. Current RSS: ~1457M. load average: 1.08 1.17 1.26 1/325 3482


  #authored_by?
    returns true when the event author and user are the same
    returns false when passing nil as an argument
    returns false when the given user is not the author of the event
  #body?
    returns true for a push event with commits
    returns false for a push event without a valid commit range
    returns true for a Note event
    returns true if the target responds to #title
    returns false for a regular event without a target
  #target
    eager loads the author of an event target
  with snippet note
    #snippet_note?
      returns true for a project snippet event
      returns true for a personal snippet event
      returns false for a other kinds of event
# [RSpecRunTime] RSpec elapsed time: 8 minutes 42.38 seconds. Current RSS: ~1469M. load average: 1.08 1.16 1.26 1/302 3483


    #personal_snippet_note?
      returns false for a project snippet event
      returns true for a personal snippet event
      returns false for a other kinds of event
    #project_snippet_note?
      returns true for a project snippet event
      returns false for a personal snippet event
      returns false for a other kinds of event
  #action_name
    handles all valid design events
    handles correct push_action
    handles correct base actions
      trait: :created, action_name: "created"
        with correct name and method
# [RSpecRunTime] RSpec elapsed time: 8 minutes 44.05 seconds. Current RSS: ~1483M. load average: 1.08 1.16 1.26 1/286 3484


      trait: :updated, action_name: "opened"
        with correct name and method
      trait: :closed, action_name: "closed"
        with correct name and method
      trait: :reopened, action_name: "opened"
        with correct name and method
      trait: :commented, action_name: "commented on"
        with correct name and method
      trait: :merged, action_name: "accepted"
        with correct name and method
      trait: :joined, action_name: "joined"
        with correct name and method
      trait: :left, action_name: "left"
        with correct name and method
      trait: :destroyed, action_name: "destroyed"
        with correct name and method
      trait: :expired, action_name: "removed due to membership expiration from"
        with correct name and method
      trait: :approved, action_name: "approved"
        with correct name and method
    for created_project_action?
      returns created for created event
      returns imported for imported event
  #has_no_project_and_group
    with project event
      returns false when the event has project
      returns true when the event has no project
    with group event
      returns false when the event has group
      returns true when the event has no group
  with loose foreign key on events.author_id
    behaves like cleanup by a loose foreign key
      cleans up (delete or nullify) the model
# [RSpecRunTime] RSpec elapsed time: 8 minutes 48.32 seconds. Current RSS: ~1504M. load average: 1.07 1.16 1.26 1/286 3485



# [RSpecRunTime] Finishing example group spec/models/event_spec.rb. It took 1 minute 27.25 seconds. Expected to take 1 minute 34.22 seconds.
# [RSpecRunTime] Starting example group spec/finders/work_items/work_items_finder_spec.rb. Expected to take 1 minute 14.56 seconds.

WorkItems::WorkItemsFinder
  behaves like issues or work items finder
    #execute
      scope: all
        returns all items
        finds items user can access due to group
        user does not have read permissions
          when filtering by project id
            returns no items
# [RSpecRunTime] RSpec elapsed time: 8 minutes 52.96 seconds. Current RSS: ~1493M. load average: 1.15 1.17 1.26 1/286 3486


          when filtering by group id
            returns no items
        assignee filtering
          behaves like assignee ID filter
            returns issuables assigned to that user
          behaves like assignee NOT ID filter
            returns issuables not assigned to that user
          behaves like assignee OR filter
            returns issuables assigned to the given users
          when assignee_id does not exist
            behaves like assignee NOT ID filter
              returns issuables not assigned to that user
          filter by username
            behaves like assignee username filter
              returns issuables assigned to those users
            behaves like assignee NOT username filter
              returns issuables not assigned to those users
            behaves like assignee OR filter
              returns issuables assigned to the given users
            when assignee_username does not exist
              behaves like assignee NOT username filter
                returns issuables not assigned to those users
          behaves like no assignee filter
            returns issuables not assigned to any assignee
            returns issuables not assigned to any assignee
            returns issuables not assigned to any assignee
          behaves like any assignee filter
            
              returns issuables assigned to any assignee
              returns issuables assigned to any assignee
              returns issuables assigned to any assignee
        filtering by release
          when filter by none
            returns items without releases
            when sort by milestone
              returns items without any releases
          when filter by any
            returns items with any releases
            when sort by milestone
              returns items without any releases
          when filter by a release_tag
            returns the items associated with the release tag
            when sort by milestone
              returns the items associated with the release tag
          when filter by a negated release_tag
            returns the items not associated with the release
            when sort by milestone
              returns the items not associated with the release
        filtering by projects
          when projects are passed in a list of ids
            returns the item belonging to the projects
          when projects are passed in a subquery
            returns the item belonging to the projects
        filtering by group_id
          when include_subgroup param not set
            returns all group items
            when projects outside the group are passed
              returns no items
            when projects of the group are passed
              returns the item within the group and projects
            when projects of the group are passed as a subquery
              returns the item within the group and projects
            when release_tag is passed as a parameter
              ignores the release_tag parameter
          when include_subgroup param is true
            returns all group and subgroup items
            when mixed projects are passed
              returns the item within the group and projects
        filtering by author
          by author ID
            returns items created by that user
          using OR
            returns items created by any of the given users
            when feature flag is disabled
              does not add any filter
          filtering by NOT author ID
            returns items not created by that user
          filtering by nonexistent author ID and issue term using CTE for search
            returns no results
        filtering by milestone
          returns items assigned to that milestone
        filtering by not milestone
          returns items not assigned to that milestone
          with multiple milestones
            returns items not assigned to both milestones
        filtering by group milestone
          returns items assigned to that group milestone
          using NOT
            returns items not assigned to that group milestone
# [RSpecRunTime] RSpec elapsed time: 9 minutes 6.62 seconds. Current RSS: ~1527M. load average: 1.18 1.18 1.26 1/286 3487


        filtering by no milestone
          returns items with no milestone
          returns items with no milestone (deprecated)
        filtering by any milestone
          returns items with any assigned milestone
          returns items with any assigned milestone (deprecated)
        filtering by upcoming milestone
          returns items in the upcoming milestone for each project or group
          using NOT
            returns items not in upcoming milestones for each project or group, but must have a due date
# [RSpecRunTime] RSpec elapsed time: 9 minutes 13.75 seconds. Current RSS: ~1499M. load average: 1.17 1.18 1.26 1/286 3488


        filtering by started milestone
          returns items in the started milestones for each project
          using NOT
            returns items not in the started milestones for each project
# [RSpecRunTime] RSpec elapsed time: 9 minutes 18.79 seconds. Current RSS: ~1470M. load average: 1.15 1.18 1.26 1/286 3489


        filtering by label
          returns items with that label
          using NOT
            returns items that do not have that label
            shadowing the same outside param
              does not take precedence over labels outside NOT
            further filtering outside params
              further filters on the returned resultset
        filtering by multiple labels
          returns the unique items with all those labels
          using NOT
            returns items that do not have any of the labels provided
          using OR
            returns items that have at least one of the given labels
            when feature flag is disabled
              does not add any filter
        filtering by a label that includes any or none in the title
          returns the unique items with all those labels
          using NOT
            returns items that do not have ANY ONE of the labels provided
        filtering by no label
          returns items with no labels
        filtering by any label
          returns items that have one or more label
        when the same label exists on project and group levels
          finds both item records
        filtering by item term
          with latin search term
            returns matching items
          with non-latin search term
            returns matching items
        filtering by item term in title
          returns items with title match for search term
        filtering by items iids
          returns items where iids match
          using NOT
            returns items with no iids match
        filtering by state
          with opened
            returns only opened items
          with closed
            returns only closed items
          with all
            returns all items
          with invalid state
            returns all items
        filtering by created_at
          through created_after
            returns items created on or after the given date
          through created_before
            returns items created on or before the given date
          through created_after and created_before
            returns items created between the given dates
        filtering by updated_at
          through updated_after
            returns items updated on or after the given date
          through updated_before
            returns items updated on or before the given date
          through updated_after and updated_before
            returns items updated between the given dates
        filtering by closed_at
          through closed_after
            returns items closed on or after the given date
          through closed_before
            returns items closed on or before the given date
          through closed_after and closed_before
            returns items closed between the given dates
        filtering by reaction name
          user searches by no reaction
            returns items that the user did not react to
          user searches by any reaction
            returns items that the user reacted to
          user searches by "thumbsup" reaction
            returns items that the user thumbsup to
            using NOT
              returns items that the user did not thumbsup to
          user2 searches by "thumbsup" reaction
            returns items that the user2 thumbsup to
            using NOT
              returns items that the user2 thumbsup to
          user searches by "thumbsdown" reaction
            returns items that the user thumbsdown to
            using NOT
              returns items that the user thumbsdown to
        filtering by confidential
          no filtering
            returns all items
          user filters confidential items
            returns only confidential items
          user filters only public items
            returns only public items
        filtering by item type
          no type given
            returns all items
          incident type
            returns incident items
          objective type
            returns incident items
          key_result type
            returns incident items
          item type
            returns all items with type issue
          multiple params
            returns all items
          without array
            returns incident items
          invalid params
            returns no items
        crm filtering
          filtering by crm contact
            when the user can read crm contacts
              returns for that contact
# [RSpecRunTime] RSpec elapsed time: 9 minutes 34.8 seconds. Current RSS: ~1497M. load average: 1.04 1.15 1.25 1/286 3490


            when the user can not read crm contacts
              does not filter by contact
          filtering by crm organization
            when the user can read crm organization
              returns for that crm organization
            when the user can not read crm organization
              does not filter by crm organization
        when the user is unauthorized
          returns no results
        when the user can see some, but not all, items
          returns only items they can see
      personal scope
        returns item assigned to the user
        filtering by project
          returns items assigned to the user in that project
      when project restricts items
        doesn't return team-only items to non team members
        doesn't return items if feature disabled
# [RSpecRunTime] RSpec elapsed time: 9 minutes 38.46 seconds. Current RSS: ~1503M. load average: 1.04 1.15 1.25 1/286 3491


      external authorization
        behaves like a finder with external authorization service
          finds the subject
          with an external authorization service
            does not include the subject when no project was given
            includes the subject when a project id was given
# [RSpecRunTime] RSpec elapsed time: 9 minutes 41.52 seconds. Current RSS: ~1496M. load average: 1.04 1.14 1.25 1/286 3492


      filtering by due date
        with param set to no due date
          returns items with no due date
        with param set to any due date
          returns items with any due date
        with param set to due today
          returns items due today
        with param set to due tomorrow
          returns items due today
        with param set to overdue
          returns overdue items
        with param set to next month and previous two weeks
          returns items due in the previous two weeks and next month
        with invalid param
          returns no items
    #row_count
      returns -1 if the query times out
      when admin mode is enabled
        returns the number of rows for the default state
        returns the number of rows for a given state
      when admin mode is disabled
        returns no rows
    confidentiality access check
      when no project filter is given
        for a user without project membership
          behaves like returns public, does not return hidden or confidential
            returns only public items
        for a guest user
          behaves like returns public, does not return hidden or confidential
            returns only public items
        for a project member with access to view confidential items
          behaves like returns public and confidential, does not return hidden
            returns only public and confidential items
        for an admin
          when admin mode is enabled
            behaves like returns public, confidential, and hidden
              returns all items
          when admin mode is disabled
            behaves like returns public, does not return hidden or confidential
              returns only public items
      when searching within a specific project
        for an anonymous user
          does not filter by confidentiality
          behaves like returns public, does not return hidden or confidential
            returns only public items
        for a user without project membership
          filters by confidentiality
          behaves like returns public, does not return hidden or confidential
            returns only public items
        for a guest user
          filters by confidentiality
          behaves like returns public, does not return hidden or confidential
            returns only public items
        for a project member with access to view confidential items
          does not filter by confidentiality
          behaves like returns public and confidential, does not return hidden
            returns only public and confidential items
        for an admin
          when admin mode is enabled
            does not filter by confidentiality
            behaves like returns public, confidential, and hidden
              returns all items
          when admin mode is disabled
            filters by confidentiality
            behaves like returns public, does not return hidden or confidential
              returns only public items
    #use_cte_for_search?
      when there is no search param
        returns false
      when the force_cte param is falsey
        returns false
      when a non-simple sort is given
        returns false
      when all conditions are met
        uses group search optimization
          returns true
        uses project search optimization
          returns true
        with simple sort
          returns true
        with simple sort as a symbol
          returns true
    #parent_param=
      klass: :Project, param: :project_id
        sets the params
      klass: :Group, param: :group_id
        sets the params
      unexpected parent
        raises an error
  when group parameter is present
    returns group level work items
    when namespace_level_work_items is disabled
      does not return group level work items
    when user has access to confidential items
      includes confidential group-level items
      when namespace_level_work_items is disabled
        only returns project-level items

# [RSpecRunTime] Finishing example group spec/finders/work_items/work_items_finder_spec.rb. It took 1 minute 3.5 seconds. Expected to take 1 minute 14.56 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/email/handler/create_note_handler_spec.rb. Expected to take 1 minute 2.37 seconds.

Gitlab::Email::Handler::CreateNoteHandler
  when issue is confidential
    behaves like checks permissions on noteable examples
      when user has access
        creates a comment
# [RSpecRunTime] RSpec elapsed time: 9 minutes 53.79 seconds. Current RSS: ~1526M. load average: 1.03 1.14 1.25 1/289 3503


      when user does not have access
        raises UserNotAuthorizedError
  behaves like reply processing shared examples
    when the user could not be found
      raises a UserNotFoundError
# [RSpecRunTime] RSpec elapsed time: 9 minutes 55.51 seconds. Current RSS: ~1524M. load average: 1.03 1.14 1.25 1/294 3558


    when the user is not authorized to the project
      raises a ProjectNotFound
  when note is authored from external author for service desk
    when email contains text, quoted text and quick commands
      creates a discussion
      links external participant
# [RSpecRunTime] RSpec elapsed time: 9 minutes 59.32 seconds. Current RSS: ~1520M. load average: 1.03 1.14 1.24 1/294 3742


  when note is not a discussion
    behaves like a reply to existing comment
      creates a discussion
# [RSpecRunTime] RSpec elapsed time: 10 minutes 0.56 second. Current RSS: ~1515M. load average: 1.03 1.14 1.24 1/295 3770


  when the incoming email is from a different email address
    when the issue is not a Service Desk issue
      with only one email address
        raises a UserNotFoundError
# [RSpecRunTime] RSpec elapsed time: 10 minutes 1.84 seconds. Current RSS: ~1512M. load average: 1.03 1.13 1.24 1/295 3825


      with a secondary verified email address
        does not raise a UserNotFoundError
# [RSpecRunTime] RSpec elapsed time: 10 minutes 3.43 seconds. Current RSS: ~1504M. load average: 1.03 1.13 1.24 1/295 3894


    when the issue is a Service Desk issue
      does not raise a UserNotFoundError
# [RSpecRunTime] RSpec elapsed time: 10 minutes 4.87 seconds. Current RSS: ~1502M. load average: 1.03 1.13 1.24 1/295 3963


  when everything is fine
    behaves like a reply to existing comment
      creates a discussion
# [RSpecRunTime] RSpec elapsed time: 10 minutes 6.34 seconds. Current RSS: ~1499M. load average: 1.02 1.13 1.24 1/295 4025


    when sub-addressing is not supported
      when mail key is in the References header
        behaves like an email that contains a mail key
          fetches the mail key from the References header and creates a comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 7.73 seconds. Current RSS: ~1499M. load average: 1.02 1.13 1.24 1/295 4087


      when mail key is in the References header with a comma
        behaves like an email that contains a mail key
          fetches the mail key from the References header and creates a comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 9.14 seconds. Current RSS: ~1500M. load average: 1.02 1.13 1.24 1/295 4149


  when the recipient address does not include a mail key
    raises a UnknownIncomingEmail
  behaves like note handler shared examples
    when the noteable could not be found
      raises a NoteableNotFoundError
# [RSpecRunTime] RSpec elapsed time: 10 minutes 10.88 seconds. Current RSS: ~1502M. load average: 1.02 1.13 1.24 1/295 4244


    when the note could not be saved
      raises an InvalidNoteError
      because the note was update commands only
        and current user cannot update noteable
          does not raise an error
# [RSpecRunTime] RSpec elapsed time: 10 minutes 13.5 seconds. Current RSS: ~1504M. load average: 1.02 1.13 1.24 1/295 4360


        and current user can update noteable
          does not raise an error
# [RSpecRunTime] RSpec elapsed time: 10 minutes 15.16 seconds. Current RSS: ~1504M. load average: 1.02 1.13 1.24 1/295 4415


    when the note contains quick actions
      and current user cannot update the noteable
        only executes the commands that the user can perform
# [RSpecRunTime] RSpec elapsed time: 10 minutes 16.85 seconds. Current RSS: ~1502M. load average: 1.02 1.13 1.24 1/295 4477


      and current user can update noteable
        posts a note and updates the noteable
# [RSpecRunTime] RSpec elapsed time: 10 minutes 18.8 seconds. Current RSS: ~1498M. load average: 1.02 1.13 1.24 1/295 4539


    when the reply is blank
      raises an EmptyEmailError
    when discussion is locked
      behaves like checks permissions on noteable examples
        when user has access
          creates a comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 21.25 seconds. Current RSS: ~1496M. load average: 1.02 1.13 1.24 1/295 4648


        when user does not have access
          raises UserNotAuthorizedError
    when everything is fine
      adds all attachments
# [RSpecRunTime] RSpec elapsed time: 10 minutes 23.47 seconds. Current RSS: ~1497M. load average: 1.02 1.12 1.24 1/295 4757


    when the service desk
      is enabled
        when issues are enabled for everyone
          creates a comment
          when quick actions are present
            when author is a support_bot
              encloses quick actions with code span markdown
# [RSpecRunTime] RSpec elapsed time: 10 minutes 26.26 seconds. Current RSS: ~1490M. load average: 1.02 1.12 1.24 1/294 4758


        when issues are protected members only
          creates a comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 27.7 seconds. Current RSS: ~1487M. load average: 1.02 1.12 1.23 1/294 4759


        when issues are disabled
          does not create a comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 28.77 seconds. Current RSS: ~1486M. load average: 1.02 1.12 1.23 1/294 4760


      is disabled
        does not create a comment
  when no sent notification for the mail key could be found
    raises a SentNotificationNotFoundError
  when email contains reply
    when noteable is not an issue
      behaves like no content message
        when email contains quoted text only
          raises an EmptyEmailError
        when email contains quoted text and quick commands only
          does not create a discussion
      when email contains text, quoted text and quick commands
        creates a discussion without appended reply
# [RSpecRunTime] RSpec elapsed time: 10 minutes 33.21 seconds. Current RSS: ~1493M. load average: 1.01 1.12 1.23 1/294 4836


    when noteable is an issue
      behaves like no content message
        when email contains quoted text only
          raises an EmptyEmailError
        when email contains quoted text and quick commands only
          does not create a discussion
      when email contains text, quoted text and quick commands
        creates a discussion with appended reply
# [RSpecRunTime] RSpec elapsed time: 10 minutes 35.87 seconds. Current RSS: ~1491M. load average: 1.01 1.12 1.23 1/293 4839


  when issue is closed
    does not reopen issue but adds external participants comment
    when noteable is a commit
      does not reopen issue but adds external participants comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 37.59 seconds. Current RSS: ~1489M. load average: 1.01 1.12 1.23 1/293 4858


    when reopen_issue_on_external_participant_note is true
      does not contain an assignee mention
      behaves like an automatically reopened issue
        reopens issue, adds external participants comment and reopen comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 39.9 seconds. Current RSS: ~1487M. load average: 1.01 1.12 1.23 1/293 4859


      when issue is assigned to a user
        contains an assignee mention
        behaves like an automatically reopened issue
          reopens issue, adds external participants comment and reopen comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 42.5 seconds. Current RSS: ~1489M. load average: 1.01 1.12 1.23 1/293 4860


      when issue is assigned to multiple users
        contains two assignee mentions
        behaves like an automatically reopened issue
          reopens issue, adds external participants comment and reopen comment
# [RSpecRunTime] RSpec elapsed time: 10 minutes 44.88 seconds. Current RSS: ~1485M. load average: 1.01 1.12 1.23 1/293 4861



# [RSpecRunTime] Finishing example group spec/lib/gitlab/email/handler/create_note_handler_spec.rb. It took 53.1 seconds. Expected to take 1 minute 2.37 seconds.
# [RSpecRunTime] Starting example group spec/policies/note_policy_spec.rb. Expected to take 49.72 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
# [RSpecRunTime] RSpec elapsed time: 10 minutes 47.8 seconds. Current RSS: ~1503M. load average: 0.93 1.10 1.22 1/293 4888


      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
# [RSpecRunTime] RSpec elapsed time: 10 minutes 49.74 seconds. Current RSS: ~1524M. load average: 0.93 1.10 1.22 1/293 4915


    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: 10 minutes 51.45 seconds. Current RSS: ~1524M. load average: 0.94 1.09 1.22 1/293 4916


    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: 10 minutes 53.9 seconds. Current RSS: ~1518M. load average: 0.94 1.09 1.22 1/293 4917


    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: 10 minutes 57.09 seconds. Current RSS: ~1507M. load average: 0.94 1.09 1.22 1/293 4918


            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: 11 minutes 2.34 seconds. Current RSS: ~1488M. load average: 0.95 1.09 1.22 1/288 4919


      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: 11 minutes 4.01 seconds. Current RSS: ~1487M. load average: 0.95 1.09 1.22 1/288 4920


            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
# [RSpecRunTime] RSpec elapsed time: 11 minutes 7.07 seconds. Current RSS: ~1485M. load average: 1.11 1.12 1.23 1/288 4921


          when user is not project member
            behaves like user can read the note
              allows the user to read the note
# [RSpecRunTime] RSpec elapsed time: 11 minutes 8.29 seconds. Current RSS: ~1482M. load average: 1.11 1.12 1.23 1/288 4922


          when user is anonymous
            behaves like user can read the note
              allows the user to read the note
# [RSpecRunTime] RSpec elapsed time: 11 minutes 9.38 seconds. Current RSS: ~1481M. load average: 1.11 1.12 1.23 1/288 4923


          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
# [RSpecRunTime] RSpec elapsed time: 11 minutes 10.51 seconds. Current RSS: ~1481M. load average: 1.11 1.12 1.23 1/288 4924


            when noteable is issue
              behaves like user can read the note
                allows the user to read the note
# [RSpecRunTime] RSpec elapsed time: 11 minutes 11.68 seconds. Current RSS: ~1481M. load average: 1.18 1.14 1.23 1/288 4925


              behaves like user can act on the note
                allows the user to read the note
# [RSpecRunTime] RSpec elapsed time: 11 minutes 12.81 seconds. Current RSS: ~1480M. load average: 1.18 1.14 1.23 1/288 4926


        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
# [RSpecRunTime] RSpec elapsed time: 11 minutes 14.04 seconds. Current RSS: ~1480M. load average: 1.18 1.14 1.23 1/288 4927


            behaves like user can act on the note
              allows the user to read the note
# [RSpecRunTime] RSpec elapsed time: 11 minutes 15.34 seconds. Current RSS: ~1478M. load average: 1.18 1.14 1.23 1/288 4928


          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: 11 minutes 16.73 seconds. Current RSS: ~1476M. load average: 1.17 1.13 1.23 1/288 4929


          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
# [RSpecRunTime] RSpec elapsed time: 11 minutes 17.96 seconds. Current RSS: ~1475M. load average: 1.17 1.13 1.23 1/288 4930


      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: 11 minutes 32.74 seconds. Current RSS: ~1465M. load average: 0.99 1.10 1.22 2/288 4931


            when admin mode is disabled
              does not allow non members to read internal notes and replies
# [RSpecRunTime] RSpec elapsed time: 11 minutes 34.79 seconds. Current RSS: ~1463M. load average: 0.99 1.10 1.22 1/288 4932



# [RSpecRunTime] Finishing example group spec/policies/note_policy_spec.rb. It took 49.88 seconds. Expected to take 49.72 seconds.
# [RSpecRunTime] Starting example group spec/services/spam/spam_action_service_spec.rb. Expected to take 43.46 seconds.

Spam::SpamActionService
  constructor argument validation
    when user is nil
      returns success with a messaage
  #execute
    issue
      behaves like execute spam action service
        when captcha response verification returns true
          doesn't check with the SpamVerdictService
          updates spam log
        when captcha response verification returns false
          when spammable attributes have not changed
            does not create a spam log
            does not call SpamAbuseEventsWorker
          when spammable attributes have changed
            when captcha is not supported
              does not execute with captcha support
              executes a spam check
            when user is a gitlab bot
              behaves like allows user
                does not perform spam check
            when user is a gitlab service user
              behaves like allows user
                does not perform spam check
            when disallowed by the spam verdict service
              marks as spam
              behaves like creates a spam log
                is expected to eq true
              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"Issue", :source_ip=>"1.2.3.4", :title=>"My title 606", :user_agent=>"fake-user-agent", :user_id=>440, :verdict=>"disallow"}) 1 time
            spam verdict service advises to block the user
              marks as spam
              bans the user
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 11 minutes 39.75 seconds. Current RSS: ~1492M. load average: 0.99 1.09 1.22 1/288 4936


              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"Issue", :source_ip=>"1.2.3.4", :title=>"My title 622", :user_agent=>"fake-user-agent", :user_id=>445, :verdict=>"block"}) 1 time
            when spam verdict service conditionally allows
              does not mark as spam
              marks as needing reCAPTCHA
              behaves like creates a spam log
                is expected to eq true
              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"Issue", :source_ip=>"1.2.3.4", :title=>"My title 638", :user_agent=>"fake-user-agent", :user_id=>440, :verdict=>"conditional_allow"}) 1 time
            when spam verdict service returns OVERRIDE_VIA_ALLOW_POSSIBLE_SPAM
              does not call SpamAbuseEventsWorker
              does not mark as spam
              does not mark as needing CAPTCHA
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 11 minutes 42.16 seconds. Current RSS: ~1490M. load average: 0.99 1.09 1.21 1/288 4938


            when spam verdict service allows creation
              does not create a spam log
              does not call SpamAbuseEventsWorker
              clears spam flags
            when spam verdict service returns noop
              does not create a spam log
              does not call SpamAbuseEventsWorker
              clears spam flags
            with spam verdict service options
              assembles the options with information from the request
    project snippet
      behaves like execute spam action service
        when captcha response verification returns true
          doesn't check with the SpamVerdictService
          updates spam log
# [RSpecRunTime] RSpec elapsed time: 11 minutes 45.36 seconds. Current RSS: ~1489M. load average: 0.99 1.09 1.21 1/288 4939


        when captcha response verification returns false
          when spammable attributes have not changed
            does not create a spam log
            does not call SpamAbuseEventsWorker
# [RSpecRunTime] RSpec elapsed time: 11 minutes 46.74 seconds. Current RSS: ~1482M. load average: 0.99 1.09 1.21 1/288 4940


          when spammable attributes have changed
            when captcha is not supported
              does not execute with captcha support
              executes a spam check
# [RSpecRunTime] RSpec elapsed time: 11 minutes 48.16 seconds. Current RSS: ~1480M. load average: 0.99 1.09 1.21 1/288 4941


            when user is a gitlab bot
              behaves like allows user
                does not perform spam check
            when user is a gitlab service user
              behaves like allows user
                does not perform spam check
            when disallowed by the spam verdict service
              marks as spam
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 11 minutes 51.02 seconds. Current RSS: ~1471M. load average: 0.99 1.09 1.21 1/288 4942


              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"ProjectSnippet", :source_ip=>"1.2.3.4", :title=>"My title 760", :user_agent=>"fake-user-agent", :user_id=>440, :verdict=>"disallow"}) 1 time
            spam verdict service advises to block the user
              marks as spam
              bans the user
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 11 minutes 54.42 seconds. Current RSS: ~1458M. load average: 0.99 1.09 1.21 1/288 4946


              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"ProjectSnippet", :source_ip=>"1.2.3.4", :title=>"My title 788", :user_agent=>"fake-user-agent", :user_id=>464, :verdict=>"block"}) 1 time
            when spam verdict service conditionally allows
              does not mark as spam
              marks as needing reCAPTCHA
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 11 minutes 57.43 seconds. Current RSS: ~1457M. load average: 0.99 1.09 1.21 1/288 4948


              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"ProjectSnippet", :source_ip=>"1.2.3.4...title=>"My title 816", :user_agent=>"fake-user-agent", :user_id=>440, :verdict=>"conditional_allow"}) 1 time
            when spam verdict service returns OVERRIDE_VIA_ALLOW_POSSIBLE_SPAM
              does not call SpamAbuseEventsWorker
              does not mark as spam
              does not mark as needing CAPTCHA
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 12 minutes 0.89 second. Current RSS: ~1459M. load average: 0.99 1.09 1.21 1/289 4949


            when spam verdict service allows creation
              does not create a spam log
              does not call SpamAbuseEventsWorker
              clears spam flags
# [RSpecRunTime] RSpec elapsed time: 12 minutes 3.16 seconds. Current RSS: ~1459M. load average: 1.07 1.10 1.21 1/289 4950


            when spam verdict service returns noop
              does not create a spam log
              does not call SpamAbuseEventsWorker
              clears spam flags
# [RSpecRunTime] RSpec elapsed time: 12 minutes 5.32 seconds. Current RSS: ~1458M. load average: 1.07 1.10 1.21 1/289 4951


            with spam verdict service options
              assembles the options with information from the request
    personal snippet
      behaves like execute spam action service
        when captcha response verification returns true
          doesn't check with the SpamVerdictService
          updates spam log
        when captcha response verification returns false
          when spammable attributes have not changed
            does not create a spam log
            does not call SpamAbuseEventsWorker
          when spammable attributes have changed
            when captcha is not supported
              does not execute with captcha support
              executes a spam check
            when user is a gitlab bot
              behaves like allows user
                does not perform spam check
            when user is a gitlab service user
              behaves like allows user
                does not perform spam check
            when disallowed by the spam verdict service
              marks as spam
              behaves like creates a spam log
                is expected to eq true
              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"PersonalSnippet", :source_ip=>"1.2.3.4", :title=>"My title 937", :user_agent=>"fake-user-agent", :user_id=>440, :verdict=>"disallow"}) 1 time
            spam verdict service advises to block the user
              marks as spam
              bans the user
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 12 minutes 9.9 seconds. Current RSS: ~1478M. load average: 1.07 1.10 1.21 1/289 4955


              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"PersonalSnippet", :source_ip=>"1.2.3.4", :title=>"My title 953", :user_agent=>"fake-user-agent", :user_id=>483, :verdict=>"block"}) 1 time
            when spam verdict service conditionally allows
              does not mark as spam
              marks as needing reCAPTCHA
              behaves like creates a spam log
                is expected to eq true
              behaves like calls SpamAbuseEventsWorker with correct arguments
                is expected to receive perform_async({:description=>"Lovely Spam! Wonderful Spam!", :noteable_type=>"PersonalSnippet", :source_ip=>"1.2.3....title=>"My title 969", :user_agent=>"fake-user-agent", :user_id=>440, :verdict=>"conditional_allow"}) 1 time
            when spam verdict service returns OVERRIDE_VIA_ALLOW_POSSIBLE_SPAM
              does not call SpamAbuseEventsWorker
              does not mark as spam
              does not mark as needing CAPTCHA
              behaves like creates a spam log
                is expected to eq true
# [RSpecRunTime] RSpec elapsed time: 12 minutes 12.42 seconds. Current RSS: ~1479M. load average: 1.06 1.10 1.21 1/289 4957


            when spam verdict service allows creation
              does not create a spam log
              does not call SpamAbuseEventsWorker
              clears spam flags
            when spam verdict service returns noop
              does not create a spam log
              does not call SpamAbuseEventsWorker
              clears spam flags
            with spam verdict service options
              assembles the options with information from the request

# [RSpecRunTime] Finishing example group spec/services/spam/spam_action_service_spec.rb. It took 39.42 seconds. Expected to take 43.46 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/job_artifacts/create_service_spec.rb. Expected to take 31.9 seconds.

Ci::JobArtifacts::CreateService
  #authorize
    when object storage is enabled
      and direct upload is enabled
        includes the authorize headers
        behaves like handling lsif artifact
          when artifact is lsif
            includes ProcessLsif in the headers
# [RSpecRunTime] RSpec elapsed time: 12 minutes 16.23 seconds. Current RSS: ~1476M. load average: 1.06 1.10 1.21 1/288 4958


        behaves like validating requirements
          when filesize is specified
            and filesize exceeds the limit
              returns error
            and filesize does not exceed the limit
              returns success
      and direct upload is disabled
        behaves like uploading to temp location
          includes the authorize headers
          behaves like handling lsif artifact
            when artifact is lsif
              includes ProcessLsif in the headers
# [RSpecRunTime] RSpec elapsed time: 12 minutes 18.61 seconds. Current RSS: ~1478M. load average: 1.14 1.11 1.22 1/288 4959


          behaves like validating requirements
            when filesize is specified
              and filesize exceeds the limit
                returns error
              and filesize does not exceed the limit
                returns success
    when object storage is disabled
      behaves like uploading to temp location
        includes the authorize headers
        behaves like handling lsif artifact
          when artifact is lsif
            includes ProcessLsif in the headers
# [RSpecRunTime] RSpec elapsed time: 12 minutes 21.09 seconds. Current RSS: ~1478M. load average: 1.14 1.11 1.22 1/288 4960


        behaves like validating requirements
          when filesize is specified
            and filesize exceeds the limit
              returns error
            and filesize does not exceed the limit
              returns success
  #execute
    when artifacts have none access setting
      sets accessibility to none
    when object storage and direct upload is enabled
      behaves like handling uploads
        when artifacts file is uploaded
          creates a new job artifact
          behaves like handling accessibility
            when accessibility passed as invalid value
              fails with argument error
# [RSpecRunTime] RSpec elapsed time: 12 minutes 24.41 seconds. Current RSS: ~1470M. load average: 1.13 1.11 1.21 1/288 4961


          behaves like handling metadata file
            when metadata file is also uploaded
              creates a new metadata job artifact
              logs the created artifact and metadata
              sets expiration date according to application settings
              behaves like handling accessibility
                when accessibility passed as invalid value
                  fails with argument error
# [RSpecRunTime] RSpec elapsed time: 12 minutes 27.05 seconds. Current RSS: ~1469M. load average: 1.12 1.11 1.21 1/288 4962


              when expire_in params is set to a specific value
                sets expiration date according to the parameter
              when expire_in params is set to `never`
                sets expiration date according to the parameter
          behaves like handling partitioning
            with job partitioned
              sets partition_id on artifacts
          behaves like logging artifact
            logs the created artifact
      behaves like handling dotenv
        when artifact type is dotenv
          calls parse service
      behaves like handling annotations
        when artifact type is annotations
          calls parse service
      behaves like handling object storage errors
        behaves like rescues object storage error
          handles Errno::EIO
        behaves like rescues object storage error
          handles Google::Apis::ServerError
        behaves like rescues object storage error
          handles Signet::RemoteServerError
      behaves like validating requirements
        when filesize is specified
          and filesize exceeds the limit
            returns error
          and filesize does not exceed the limit
            returns success
    when using local storage
      behaves like handling uploads
        when artifacts file is uploaded
          creates a new job artifact
          behaves like handling accessibility
            when accessibility passed as invalid value
              fails with argument error
# [RSpecRunTime] RSpec elapsed time: 12 minutes 35.55 seconds. Current RSS: ~1465M. load average: 1.03 1.09 1.21 1/288 4969


          behaves like handling metadata file
            when metadata file is also uploaded
              creates a new metadata job artifact
              logs the created artifact and metadata
              sets expiration date according to application settings
              behaves like handling accessibility
                when accessibility passed as invalid value
                  fails with argument error
# [RSpecRunTime] RSpec elapsed time: 12 minutes 38.18 seconds. Current RSS: ~1466M. load average: 1.02 1.09 1.20 1/288 4970


              when expire_in params is set to a specific value
                sets expiration date according to the parameter
              when expire_in params is set to `never`
                sets expiration date according to the parameter
          behaves like handling partitioning
            with job partitioned
              sets partition_id on artifacts
          behaves like logging artifact
            logs the created artifact
      behaves like handling dotenv
        when artifact type is dotenv
          calls parse service
# [RSpecRunTime] RSpec elapsed time: 12 minutes 42.37 seconds. Current RSS: ~1464M. load average: 1.02 1.09 1.20 1/290 4975


      behaves like handling annotations
        when artifact type is annotations
          calls parse service
      behaves like validating requirements
        when filesize is specified
          and filesize exceeds the limit
            returns error
          and filesize does not exceed the limit
            returns success

# [RSpecRunTime] Finishing example group spec/services/ci/job_artifacts/create_service_spec.rb. It took 30.03 seconds. Expected to take 31.9 seconds.
# [RSpecRunTime] Starting example group spec/tasks/gitlab/db_rake_spec.rb. Expected to take 27.6 seconds.

gitlab:db namespace rake task
  mark_migration_complete
    with a single database
      marks the migration complete on the given database (PENDING: Skipping because database ci exists)
# [RSpecRunTime] RSpec elapsed time: 12 minutes 45.57 seconds. Current RSS: ~1478M. load average: 1.02 1.09 1.20 1/290 4978


    with multiple databases
      marks the migration complete on each database
      when the single database task is used
        marks the migration complete for the given database
      with geo configured
        does not create a task for the geo database (PENDING: Skipping because the geo database is not configured)
    when the migration is already marked complete
      prints a warning message
    when an invalid version is given
      prints an error and exits
  configure
    with a single database
      when geo is not configured
        when the schema is already loaded
          migrates the database (PENDING: Skipping because database ci exists)
        when the schema is not loaded
          loads the schema and seeds the database (PENDING: Skipping because database ci exists)
        when only a single table is present
          loads the schema and seeds the database (PENDING: Skipping because database ci exists)
        when loading the schema fails
          does not seed the database (PENDING: Skipping because database ci exists)
        SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set
          when the schema is not loaded
            adds the post deployment migration path before schema load (PENDING: Skipping because database ci exists)
          when the schema is loaded
            ignores post deployment migrations (PENDING: Skipping because database ci exists)
      when geo is configured
        when the main database is also configured
          only configures the main database (PENDING: Skipping because database ci exists)
    with multiple databases
      when geo is not configured
        when no database has the schema loaded
          loads the schema and seeds all the databases
        when both databases have the schema loaded
          migrates the databases without seeding them
        when only one database has the schema loaded
          migrates and loads the schema correctly, without seeding the databases
      when geo is configured
        does not run tasks against geo (PENDING: Skipping because the geo database is not configured)
    clickhouse migrations
      migrates clickhouse database
      does not fail if clickhouse is not configured
  schema inconsistencies
    prints the inconsistency message
  dictionary generate
    when the dictionary files do not exist
      generate the dictionary files
      do not generate the dictionary files for test tables
    when a new model class is added to the codebase
      appends new classes to the dictionary
    when a model class is removed from the codebase
      keeps the dictionary classes
  unattended
    schema_migration_table_exists: false, needs_migrations: false, rake_output: "unattended_migrations_completed"
      outputs changed message for automation after operations happen
    schema_migration_table_exists: false, needs_migrations: true, rake_output: "unattended_migrations_completed"
      outputs changed message for automation after operations happen
    schema_migration_table_exists: true, needs_migrations: false, rake_output: "unattended_migrations_static"
      outputs changed message for automation after operations happen
    schema_migration_table_exists: true, needs_migrations: true, rake_output: "unattended_migrations_completed"
      outputs changed message for automation after operations happen
  clean_structure_sql
    can be executed multiple times within another rake task
  drop_tables
    with a single database
      drops all objects for the database (PENDING: Skipping because some of the extra databases [:ci, :main_clusterwide, :embedding, :geo] are setup)
    with multiple databases
      drops all objects for all databases
      when the single database task is used
        drops all objects for the given database
      with geo configured
        does not create a task for the geo database (PENDING: Skipping because the geo database is not configured)
  create_dynamic_partitions
    with a single database
      delegates syncing of partitions without limiting databases (PENDING: Skipping because some of the extra databases [:ci, :main_clusterwide, :embedding, :geo] are setup)
    with multiple databases
      when running the multi-database variant
        delegates syncing of partitions without limiting databases
      when running a single-database variant
        delegates syncing of partitions for the chosen database
    with geo configured
      does not create a task for the geo database (PENDING: Skipping because the geo database is not configured)
    with jh configured
      does not create a task for the jh database (PENDING: Skipping because the jh database is not configured)
  reindex
    with a single database
      delegates to Gitlab::Database::Reindexing
      when reindexing is not enabled
        is a no-op
    with multiple databases
      delegates to Gitlab::Database::Reindexing without a specific database
      when the single database task is used
        delegates to Gitlab::Database::Reindexing with a specific database
        when reindexing is not enabled
          is a no-op
      with geo configured
        does not create a task for the geo database (PENDING: Skipping because the geo database is not configured)
  enqueue_reindexing_action
    creates an entry in the queue
    defaults to main database
  execute_async_index_operations
    delegates ci task to Gitlab::Database::AsyncIndexes
    delegates ci task to Gitlab::Database::AsyncIndexes with specified argument
    delegates main task to Gitlab::Database::AsyncIndexes
    delegates main task to Gitlab::Database::AsyncIndexes with specified argument
    delegates all task to every database with higher default for dev
    delegates all task to every database with lower default for prod
    delegates all task to every database with specified argument
    when feature is not enabled
      is a no-op
    when database ddl feature flag is enabled
      is a no-op
    with geo configured
      does not create a task for the geo database (PENDING: Skipping because the geo database is not configured)
  validate_async_constraints
    delegates ci task to Gitlab::Database::AsyncConstraints
    delegates ci task to Gitlab::Database::AsyncConstraints with specified argument
    delegates main task to Gitlab::Database::AsyncConstraints
    delegates main task to Gitlab::Database::AsyncConstraints with specified argument
    delegates all task to every database with higher default for dev
    delegates all task to every database with lower default for prod
    delegates all task to every database with specified argument
    when feature is not enabled
      is a no-op
    when database ddl feature flag is enabled
      is a no-op
    with geo configured
      does not create a task for the geo database (PENDING: Skipping because the geo database is not configured)
  active
    needs_migration: true, project_count: nil, exit_status: 1, exit_code: false
      exits 0 or 1 depending on user modifications to the database
    needs_migration: false, project_count: 1, exit_status: 0, exit_code: true
      exits 0 or 1 depending on user modifications to the database
    needs_migration: false, project_count: 0, exit_status: 1, exit_code: false
      exits 0 or 1 depending on user modifications to the database
    needs_migration: false, project_count: 2, exit_status: 0, exit_code: true
      exits 0 or 1 depending on user modifications to the database
  #migrate_with_instrumentation
    #up (legacy mode)
      delegates to the migration runner in legacy mode
    #sample_background_migrations
      delegates to the migration runner with a default sample duration
      delegates to the migration runner with a configured sample duration
    db: :main
      #up
        delegates to the migration runner
      #down
        delegates to the migration runner
      #sample_batched_background_migrations
        delegates to the migration runner for a specified database with a default sample duration
        delegates to the migration runner for a specified database and sample duration
    db: :ci
      #up
        delegates to the migration runner
      #down
        delegates to the migration runner
      #sample_batched_background_migrations
        delegates to the migration runner for a specified database with a default sample duration
        delegates to the migration runner for a specified database and sample duration
  #execute_batched_migrations
    executes all migrations
  with multiple databases
    db:schema:dump against a single database
      invokes gitlab:db:clean_structure_sql
# [RSpecRunTime] RSpec elapsed time: 12 minutes 59.22 seconds. Current RSS: ~1520M. load average: 1.02 1.08 1.20 1/288 4980


    db:migrate against a single database
      invokes gitlab:db:create_dynamic_partitions for the same database
# [RSpecRunTime] RSpec elapsed time: 13 minutes 3.14 seconds. Current RSS: ~1505M. load average: 1.02 1.08 1.20 1/288 4982


    db:migrate:geo
      does not invoke gitlab:db:create_dynamic_partitions (PENDING: Skipping because the geo database is not configured)
  gitlab:db:reset_as_non_superuser
    migrate as nonsuperuser check with default username
    migrate as nonsuperuser check with specified username

# [RSpecRunTime] Finishing example group spec/tasks/gitlab/db_rake_spec.rb. It took 22.83 seconds. Expected to take 27.6 seconds.
# [RSpecRunTime] RSpec elapsed time: 13 minutes 7.26 seconds. Current RSS: ~1486M. load average: 1.01 1.08 1.20 1/288 4983


# [RSpecRunTime] Starting example group spec/services/projects/move_forks_service_spec.rb. Expected to take 26.71 seconds.

Projects::MoveForksService
  #execute
    rollbacks changes if transaction fails
    when moving a root forked project
      moves the descendant forks
      updates the fork network
# [RSpecRunTime] RSpec elapsed time: 13 minutes 15.91 seconds. Current RSS: ~1495M. load average: 1.01 1.08 1.19 1/288 4984


    when moving a intermediate forked project
      moves the descendant forks
      moves the ascendant fork
      does not update fork network
# [RSpecRunTime] RSpec elapsed time: 13 minutes 24.62 seconds. Current RSS: ~1489M. load average: 1.09 1.09 1.20 3/288 4985


    when moving a leaf forked project
      moves the ascendant fork
      does not update fork network
# [RSpecRunTime] RSpec elapsed time: 13 minutes 30.51 seconds. Current RSS: ~1489M. load average: 1.24 1.12 1.21 1/288 4986



# [RSpecRunTime] Finishing example group spec/services/projects/move_forks_service_spec.rb. It took 23.36 seconds. Expected to take 26.71 seconds.
# [RSpecRunTime] Starting example group spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb. Expected to take 24.01 seconds.

MergeRequests::AddTodoWhenBuildFailsService
  #execute
    commit status with ref
      notifies the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 32.62 seconds. Current RSS: ~1508M. load average: 1.22 1.12 1.20 1/294 5034


    commit status with non-HEAD ref
      does not notify the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 34.87 seconds. Current RSS: ~1518M. load average: 1.22 1.12 1.20 1/294 5081


    commit status without ref
      does not notify the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 37.06 seconds. Current RSS: ~1543M. load average: 1.21 1.12 1.20 1/294 5128


    when commit status is a build allowed to fail
      does not create todo
# [RSpecRunTime] RSpec elapsed time: 13 minutes 38.92 seconds. Current RSS: ~1546M. load average: 1.21 1.12 1.20 1/294 5175


    when build belongs to a merge request pipeline
      notifies the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 41.25 seconds. Current RSS: ~1546M. load average: 1.21 1.12 1.20 1/294 5222


  #close
    commit status with ref
      notifies the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 43.05 seconds. Current RSS: ~1546M. load average: 1.19 1.12 1.20 1/294 5269


    commit status with non-HEAD ref
      does not notify the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 46.51 seconds. Current RSS: ~1550M. load average: 1.17 1.11 1.20 1/294 5316


    commit status without ref
      does not notify the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 48.8 seconds. Current RSS: ~1562M. load average: 1.17 1.11 1.20 1/294 5364


    when build belongs to a merge request pipeline
      notifies the todo service
# [RSpecRunTime] RSpec elapsed time: 13 minutes 50.99 seconds. Current RSS: ~1558M. load average: 1.17 1.11 1.20 1/294 5411


  #close_all
    when using pipeline that belongs to merge request
      resolves todos about failed builds for pipeline
# [RSpecRunTime] RSpec elapsed time: 13 minutes 52.87 seconds. Current RSS: ~1559M. load average: 1.16 1.11 1.20 1/294 5458


    when pipeline is not related to merge request
      does not resolve any todos about failed builds
# [RSpecRunTime] RSpec elapsed time: 13 minutes 54.05 seconds. Current RSS: ~1559M. load average: 1.16 1.11 1.20 1/294 5465



# [RSpecRunTime] Finishing example group spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb. It took 23.58 seconds. Expected to take 24.01 seconds.
# [RSpecRunTime] Starting example group spec/models/commit_collection_spec.rb. Expected to take 22.9 seconds.

CommitCollection
  does not allow STI
  #each
    yields every commit
  .committers
    returns a relation of users when users are found
    returns empty array when committers cannot be found
    when is with_merge_commits false
      excludes authors of merge commits
# [RSpecRunTime] RSpec elapsed time: 13 minutes 57.29 seconds. Current RSS: ~1583M. load average: 1.15 1.11 1.20 1/293 5498


    when is with_merge_commits true
      does not exclude authors of merge commits
    when committer email is nil
      returns empty array when committers cannot be found
  #committer_user_ids
    returns an array of committer user IDs
    when there are no committers
      returns an empty array
# [RSpecRunTime] RSpec elapsed time: 14 minutes 0.23 second. Current RSS: ~1598M. load average: 1.15 1.11 1.20 1/295 5530


  #without_merge_commits
    returns all commits except merge commits
  #with_latest_pipeline
    sets the latest pipeline for every commit so no additional queries are necessary
    performs a single query to fetch pipeline warnings
# [RSpecRunTime] RSpec elapsed time: 14 minutes 2.54 seconds. Current RSS: ~1600M. load average: 1.13 1.11 1.20 1/294 5565


  #with_markdown_cache
    preloads commits cache markdown
  enrichment methods
    #unenriched
      returns all commits that are not backed by gitaly data
    #fully_enriched?
      returns true when all commits are backed by gitaly data
      returns false when any commits are not backed by gitaly data
      returns true when the collection is empty
# [RSpecRunTime] RSpec elapsed time: 14 minutes 6.02 seconds. Current RSS: ~1599M. load average: 1.13 1.11 1.20 1/294 5604


    #enrich!
      replaces commits in the collection with those backed by gitaly data
      maintains the original order of the commits
      fetches data if there are unenriched commits
      does not fetch data if all commits are enriched
      returns the original commit if the commit could not be lazy loaded
# [RSpecRunTime] RSpec elapsed time: 14 minutes 9.55 seconds. Current RSS: ~1611M. load average: 1.12 1.11 1.19 1/294 5651


  #load_tags
    loads tags
  #respond_to_missing?
    returns true when the underlying Array responds to the message
    returns false when the underlying Array does not respond to the message
# [RSpecRunTime] RSpec elapsed time: 14 minutes 11.59 seconds. Current RSS: ~1610M. load average: 1.19 1.12 1.20 1/294 5673


  #method_missing
    delegates undefined methods to the underlying Array

# [RSpecRunTime] Finishing example group spec/models/commit_collection_spec.rb. It took 18.21 seconds. Expected to take 22.9 seconds.
# [RSpecRunTime] Starting example group spec/policies/namespace/root_storage_statistics_policy_spec.rb. Expected to take 21.29 seconds.

Namespace::RootStorageStatisticsPolicy
  #rules
    when the namespace is a personal namespace
      when the users is anonymous
        is expected to be falsey
      when the user is not the owner
        is expected to be falsey
      when the user is the owner
        is expected to be truthy
    when the namespace is a group
      when the users is anonymous
        is expected to be falsey
      user_type: :non_member, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :guest, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :reporter, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :developer, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :maintainer, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :owner, outcome: true
        is expected to eq true
        when the user is external
          is expected to eq true
      when the users is anonymous
        is expected to be falsey
      user_type: :non_member, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :guest, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :reporter, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :developer, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :maintainer, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :owner, outcome: true
        is expected to eq true
        when the user is external
          is expected to eq true
      when the users is anonymous
        is expected to be falsey
      user_type: :non_member, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :guest, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :reporter, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :developer, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :maintainer, outcome: false
        is expected to eq false
        when the user is external
          is expected to eq false
      user_type: :owner, outcome: true
        is expected to eq true
        when the user is external
          is expected to eq true

# [RSpecRunTime] Finishing example group spec/policies/namespace/root_storage_statistics_policy_spec.rb. It took 17.13 seconds. Expected to take 21.29 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb. Expected to take 20.11 seconds.

Gitlab::Ci::Pipeline::Chain::Validate::External
  #perform!
    respects the defined payload schema
    with configuration values in ApplicationSetting
      uses those values rather than env vars or defaults
    with EXTERNAL_VALIDATION_SERVICE_TIMEOUT defined
      with valid value
        uses defined timeout
      with invalid value
        uses default timeout
    when EXTERNAL_VALIDATION_SERVICE_TOKEN is set
      passes token in X-Gitlab-Token header
    when validation returns 200 OK
      behaves like successful external authorization
        does not drop the pipeline
        does not break the chain
        logs the authorization
        returns expected payload
        when feature flag ci_send_tag_list_for_external_validation is disabled
          tag_list inot present
        with existing jobs from other project's alive pipelines
          returns the expected total_builds_count
# [RSpecRunTime] RSpec elapsed time: 14 minutes 33.16 seconds. Current RSS: ~1545M. load average: 1.20 1.13 1.20 1/288 5682


        credit_card
          with no registered credit_card
            returns the expected credit card counts
          with a registered credit card
            returns the expected credit card counts
            with similar credit cards registered by other users
              returns the expected credit card counts
            with similar holder names registered by other users
              returns the expected credit card counts
    when validation returns 404 Not Found
      behaves like successful external authorization
        does not drop the pipeline
        does not break the chain
        logs the authorization
        returns expected payload
        when feature flag ci_send_tag_list_for_external_validation is disabled
          tag_list inot present
        with existing jobs from other project's alive pipelines
          returns the expected total_builds_count
# [RSpecRunTime] RSpec elapsed time: 14 minutes 36.12 seconds. Current RSS: ~1540M. load average: 1.20 1.13 1.20 1/288 5683


        credit_card
          with no registered credit_card
            returns the expected credit card counts
          with a registered credit card
            returns the expected credit card counts
            with similar credit cards registered by other users
              returns the expected credit card counts
            with similar holder names registered by other users
              returns the expected credit card counts
    when validation returns 500 Internal Server Error
      behaves like successful external authorization
        does not drop the pipeline
        does not break the chain
        logs the authorization
        returns expected payload
        when feature flag ci_send_tag_list_for_external_validation is disabled
          tag_list inot present
        with existing jobs from other project's alive pipelines
          returns the expected total_builds_count
# [RSpecRunTime] RSpec elapsed time: 14 minutes 39.14 seconds. Current RSS: ~1534M. load average: 1.18 1.13 1.20 1/288 5684


        credit_card
          with no registered credit_card
            returns the expected credit card counts
          with a registered credit card
            returns the expected credit card counts
            with similar credit cards registered by other users
              returns the expected credit card counts
            with similar holder names registered by other users
              returns the expected credit card counts
    when validation raises exceptions
      logs exceptions
      behaves like successful external authorization
        does not drop the pipeline
        does not break the chain
        logs the authorization
        returns expected payload
        when feature flag ci_send_tag_list_for_external_validation is disabled
          tag_list inot present
# [RSpecRunTime] RSpec elapsed time: 14 minutes 41.16 seconds. Current RSS: ~1535M. load average: 1.18 1.13 1.20 1/288 5685


        with existing jobs from other project's alive pipelines
          returns the expected total_builds_count
# [RSpecRunTime] RSpec elapsed time: 14 minutes 42.38 seconds. Current RSS: ~1533M. load average: 1.17 1.12 1.20 1/288 5686


        credit_card
          with no registered credit_card
            returns the expected credit card counts
          with a registered credit card
            returns the expected credit card counts
            with similar credit cards registered by other users
              returns the expected credit card counts
            with similar holder names registered by other users
              returns the expected credit card counts
    when validation returns 406 Not Acceptable
      drops the pipeline
      breaks the chain
      logs the authorization
      when save_incompleted is false
        adds errors to the pipeline without persisting it
        breaks the chain
        logs the authorization
# [RSpecRunTime] RSpec elapsed time: 14 minutes 45.06 seconds. Current RSS: ~1523M. load average: 1.17 1.12 1.20 1/288 5687



# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb. It took 15.62 seconds. Expected to take 20.11 seconds.
# [RSpecRunTime] Starting example group spec/services/push_event_payload_service_spec.rb. Expected to take 19.06 seconds.

PushEventPayloadService
  #execute
    creates a new PushEventPayload row
    sets the push_event_payload association of the used event
# [RSpecRunTime] RSpec elapsed time: 14 minutes 46.56 seconds. Current RSS: ~1524M. load average: 1.16 1.12 1.19 1/288 5692


  #commit_title
    returns nil if no commits were pushed
    returns a String limited to 70 characters
    does not truncate the commit message if it is shorter than 70 characters
    includes the first line of a commit message if the message spans multiple lines
# [RSpecRunTime] RSpec elapsed time: 14 minutes 48.98 seconds. Current RSS: ~1519M. load average: 1.16 1.12 1.19 1/288 5701


  #commit_from_id
    returns nil when creating a new ref
    returns the ID of the first commit when pushing to an existing ref
# [RSpecRunTime] RSpec elapsed time: 14 minutes 50.18 seconds. Current RSS: ~1515M. load average: 1.16 1.12 1.19 1/288 5706


  #commit_to_id
    returns nil when removing an existing ref
  #commit_count
    returns the number of commits
    raises when the push data does not contain the commits count
# [RSpecRunTime] RSpec elapsed time: 14 minutes 52.06 seconds. Current RSS: ~1508M. load average: 1.14 1.12 1.19 1/288 5713


  #ref
    returns the name of the ref
    raises when the push data does not contain the ref name
# [RSpecRunTime] RSpec elapsed time: 14 minutes 53.32 seconds. Current RSS: ~1502M. load average: 1.14 1.12 1.19 1/288 5718


  #revision_before
    returns the revision from before the push
    raises when the push data does not contain the before revision
# [RSpecRunTime] RSpec elapsed time: 14 minutes 54.6 seconds. Current RSS: ~1496M. load average: 1.14 1.12 1.19 1/288 5723


  #revision_after
    returns the revision from after the push
    raises when the push data does not contain the after revision
# [RSpecRunTime] RSpec elapsed time: 14 minutes 55.88 seconds. Current RSS: ~1497M. load average: 1.14 1.12 1.19 1/288 5728


  #trimmed_ref
    returns the ref name without its prefix
  #create?
    returns true when creating a new ref
    returns false when pushing to an existing ref
# [RSpecRunTime] RSpec elapsed time: 14 minutes 57.75 seconds. Current RSS: ~1499M. load average: 1.05 1.10 1.19 1/288 5735


  #remove?
    returns true when removing an existing ref
    returns false pushing to an existing ref
# [RSpecRunTime] RSpec elapsed time: 14 minutes 59.0 seconds. Current RSS: ~1500M. load average: 1.05 1.10 1.19 1/288 5740


  #action
    returns :created when creating a ref
    returns :removed when removing an existing ref
    returns :pushed when pushing to an existing ref
# [RSpecRunTime] RSpec elapsed time: 15 minutes 1.1 seconds. Current RSS: ~1502M. load average: 1.05 1.10 1.19 1/288 5747


  #ref_type
    returns :tag for a tag
    returns :branch for a branch
# [RSpecRunTime] RSpec elapsed time: 15 minutes 2.41 seconds. Current RSS: ~1503M. load average: 1.05 1.10 1.18 1/288 5752



# [RSpecRunTime] Finishing example group spec/services/push_event_payload_service_spec.rb. It took 17.36 seconds. Expected to take 19.06 seconds.
# [RSpecRunTime] Starting example group spec/helpers/blob_helper_spec.rb. Expected to take 17.84 seconds.

BlobHelper
  #sanitize_svg_data
    retains essential elements
  #edit_blob_button
    does not render edit button when blob is not text
    uses the passed blob instead retrieve from repository
    returns a link with the proper route
    returns a link with the passed link_opts on the expected route
# [RSpecRunTime] RSpec elapsed time: 15 minutes 5.86 seconds. Current RSS: ~1538M. load average: 1.05 1.10 1.18 1/292 5792


  #relative_raw_path
    pointing from '/file.md' to '/-/raw/main/'
    pointing from '/test/file.md' to '/-/raw/main/test/'
    pointing from '/another/test/file.md' to '/-/raw/main/another/test/'
  viewer related
    #blob_render_error_reason
      for error :too_large
        when the blob size is larger than the absolute size limit
          returns an error message
        when the blob size is larger than the size limit
          returns an error message
      for error :server_side_but_stored_externally
        returns an error message
    #blob_render_error_options
      for error :collapsed
        includes a "load it anyway" link
      for error :too_large
        does not include a "load it anyway" link
        includes a "download it" link
        when the viewer is rich
          the blob is rendered as text
            includes a "view the source" link
          the blob is not rendered as text
            does not include a "view the source" link
        when the viewer is not rich
          does not include a "view the source" link
      for error :server_side_but_stored_externally
        does not include a "load it anyway" link
        does not include a "view the source" link
        includes a "download it" link
  #ide_edit_path
    returns full IDE path
    returns full IDE path with second -
    returns IDE path without relative_url_root
    escapes special characters
    does not escape "/" character
    when user is not logged in
      returns IDE path inside the project
# [RSpecRunTime] RSpec elapsed time: 15 minutes 11.86 seconds. Current RSS: ~1536M. load average: 1.04 1.09 1.18 1/292 5793


    when user cannot push to the project
      returns IDE path with the user's fork
  #ide_merge_request_path
    returns IDE path for the given MR if MR is not merged
    when the MR comes from a fork
      returns IDE path for MR in the forked repo with target project included as param
# [RSpecRunTime] RSpec elapsed time: 15 minutes 14.95 seconds. Current RSS: ~1536M. load average: 1.04 1.09 1.18 1/294 5871


    when the MR is merged
      returns default IDE url with master branch
      includes file path passed
      when target branch exists
        returns IDE edit url with the target branch
  #ide_fork_and_edit_path
    returns path to fork the repo with a redirect param to the full IDE path
    does not include notice params with_notice: false
    when user is not logged in
      returns nil
  #fork_and_edit_path
    returns path to fork the repo with a redirect param to the full edit path
    when user is not logged in
      returns nil
  #vue_blob_app_data
    returns data related to blob app
  #copy_blob_source_button
    when blob is rendered as text
      returns HTML content for a copy button
    when blob is not rendered as text
      returns nil
  #edit_fork_button_tag
    renders the edit fork button

# [RSpecRunTime] Finishing example group spec/helpers/blob_helper_spec.rb. It took 15.46 seconds. Expected to take 17.84 seconds.
# [RSpecRunTime] Starting example group spec/services/merge_requests/conflicts/list_service_spec.rb. Expected to take 16.73 seconds.

MergeRequests::Conflicts::ListService
  #can_be_resolved_in_ui?
    returns a falsey value when the MR can be merged without conflicts
    returns a falsey value when the MR is marked as having conflicts, but has none
    returns a falsey value when one of the MR branches is missing
    returns a falsey value when the MR does not support new diff notes
    returns a falsey value when the conflicts contain a large file
    returns a falsey value when the conflicts contain a binary file
    returns a falsey value when the conflicts contain a file edited in one branch and deleted in another
    returns a truthy value when the conflicts are resolvable in the UI
    returns a truthy value when the conflicts have to be resolved in an editor
    returns a falsey value when the MR has a missing ref after a force push
    returns a falsey value when the MR has a missing revision after a force push
    returns a falsey value when the conflict is in a submodule revision
# [RSpecRunTime] RSpec elapsed time: 15 minutes 32.98 seconds. Current RSS: ~1552M. load average: 0.97 1.07 1.17 1/295 6542



# [RSpecRunTime] Finishing example group spec/services/merge_requests/conflicts/list_service_spec.rb. It took 15.11 seconds. Expected to take 16.73 seconds.
# [RSpecRunTime] Starting example group spec/services/concerns/ci/job_token_scope/edit_scope_validations_spec.rb. Expected to take 15.61 seconds.

Ci::JobTokenScope::EditScopeValidations
  #validate_group_remove!
    when all permissions are in order
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :maintainer, target_group_user_role: :developer
        passes the validation
# [RSpecRunTime] RSpec elapsed time: 15 minutes 34.48 seconds. Current RSS: ~1538M. load average: 0.97 1.07 1.17 1/294 6543


      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :maintainer, target_group_user_role: :guest
        passes the validation
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: :developer
        passes the validation
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: :guest
        passes the validation
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :maintainer, target_group_user_role: nil
        passes the validation
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :maintainer, target_group_user_role: nil
        passes the validation
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: nil
        passes the validation
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: nil
        passes the validation
    when user lacks admin_project permissions for the source project
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: nil, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: nil, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :guest, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :guest, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :developer, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PUBLIC", target_group_visibility: "PRIVATE", source_project_user_role: :developer, target_group_user_role: :developer
        raises an error
  #validate_edit!
    when all permissions are in order
      source_project_visibility: "PUBLIC", target_project_visibility: "PUBLIC", source_project_user_role: :maintainer, target_project_user_role: :developer
        passes the validation
      source_project_visibility: "PUBLIC", target_project_visibility: "PUBLIC", source_project_user_role: :maintainer, target_project_user_role: :guest
        passes the validation
      source_project_visibility: "PRIVATE", target_project_visibility: "PRIVATE", source_project_user_role: :maintainer, target_project_user_role: :developer
        passes the validation
      source_project_visibility: "PRIVATE", target_project_visibility: "PRIVATE", source_project_user_role: :maintainer, target_project_user_role: :guest
        passes the validation
    when user lacks admin_project permissions for the source project
      source_project_visibility: "PUBLIC", target_project_visibility: "PUBLIC", source_project_user_role: nil, target_project_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_project_visibility: "PRIVATE", source_project_user_role: nil, target_project_user_role: :developer
        raises an error
      source_project_visibility: "PUBLIC", target_project_visibility: "PUBLIC", source_project_user_role: :guest, target_project_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_project_visibility: "PRIVATE", source_project_user_role: :guest, target_project_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_project_visibility: "PRIVATE", source_project_user_role: :developer, target_project_user_role: :developer
        raises an error
      source_project_visibility: "PUBLIC", target_project_visibility: "PRIVATE", source_project_user_role: :developer, target_project_user_role: :developer
        raises an error
    when user lacks read_project permissions for the target project
      source_project_visibility: "PRIVATE", target_project_visibility: "PRIVATE", source_project_user_role: :maintainer, target_project_user_role: nil
        raises an error
      source_project_visibility: "PUBLIC", target_project_visibility: "PRIVATE", source_project_user_role: :maintainer, target_project_user_role: nil
        raises an error
  #validate_group_add!
    when all permissions are in order
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :maintainer, target_group_user_role: :developer
        passes the validation
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :maintainer, target_group_user_role: :guest
        passes the validation
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: :developer
        passes the validation
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: :guest
        passes the validation
    when user lacks admin_project permissions for the source project
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: nil, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: nil, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PUBLIC", target_group_visibility: "PUBLIC", source_project_user_role: :guest, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :guest, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :developer, target_group_user_role: :developer
        raises an error
      source_project_visibility: "PUBLIC", target_group_visibility: "PRIVATE", source_project_user_role: :developer, target_group_user_role: :developer
        raises an error
    when user lacks read_project permissions for the target group
      source_project_visibility: "PRIVATE", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: nil
        raises an error
      source_project_visibility: "PUBLIC", target_group_visibility: "PRIVATE", source_project_user_role: :maintainer, target_group_user_role: nil
        raises an error
  #validate_target_exists!
    when target is nil
      raises an error
    when target is present
      raises an error

# [RSpecRunTime] Finishing example group spec/services/concerns/ci/job_token_scope/edit_scope_validations_spec.rb. It took 15.54 seconds. Expected to take 15.61 seconds.
# [RSpecRunTime] Starting example group spec/policies/packages/policies/project_policy_spec.rb. Expected to take 15.16 seconds.

Packages::Policies::ProjectPolicy
  deploy token access
    when a deploy token with read_package_registry scope
      is expected to be allowed :read_package
      behaves like package access with repository disabled
        is expected to be allowed :read_package
# [RSpecRunTime] RSpec elapsed time: 15 minutes 52.53 seconds. Current RSS: ~1488M. load average: 0.98 1.07 1.17 1/289 6557


    when a deploy token with write_package_registry scope
      is expected to be allowed :read_package
      behaves like package access with repository disabled
        is expected to be allowed :read_package
  read_package
    project: private_project, package_registry_access_level: 0, current_user: anonymous, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 0, current_user: non_member, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 0, current_user: guest, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 0, current_user: reporter, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 0, current_user: developer, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 0, current_user: maintainer, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 0, current_user: owner, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 0, current_user: admin, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: anonymous, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: non_member, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: guest, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: reporter, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: developer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: maintainer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: owner, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 10, current_user: admin, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: anonymous, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: non_member, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: guest, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: reporter, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: developer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: maintainer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: owner, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: private_project, package_registry_access_level: 30, current_user: admin, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: anonymous, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: non_member, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: guest, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: reporter, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: developer, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: maintainer, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: owner, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 0, current_user: admin, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: anonymous, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: non_member, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: guest, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: reporter, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: developer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: maintainer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: owner, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 20, current_user: admin, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: anonymous, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: non_member, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: guest, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: reporter, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: developer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: maintainer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: owner, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: internal_project, package_registry_access_level: 30, current_user: admin, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: anonymous, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: non_member, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: guest, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: reporter, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: developer, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: maintainer, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: owner, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 0, current_user: admin, expect_to_be_allowed: false
      is expected to be disallowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: anonymous, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: non_member, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: guest, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: reporter, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: developer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: maintainer, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: owner, expect_to_be_allowed: true
      is expected to be allowed :read_package
    project: public_project, package_registry_access_level: 30, current_user: admin, expect_to_be_allowed: true
      is expected to be allowed :read_package
    with admin
      behaves like package access with repository disabled
        is expected to be allowed :read_package
    with package_registry_allow_anyone_to_pull_option disabled
      project: private_project, expect_to_be_allowed: false
        is expected to be disallowed :read_package
      project: internal_project, expect_to_be_allowed: false
        is expected to be disallowed :read_package
      project: public_project, expect_to_be_allowed: true
        is expected to be allowed :read_package
    when accessing a project from another project with job token
      project: public_project, access_level: 30, expect_to_be_allowed: true
        is expected to eq true
      project: public_project, access_level: 20, expect_to_be_allowed: true
        is expected to eq true
      project: public_project, access_level: 10, expect_to_be_allowed: false
        is expected to eq false
      project: public_project, access_level: 0, expect_to_be_allowed: false
        is expected to eq false
      project: internal_project, access_level: 30, expect_to_be_allowed: true
        is expected to eq true
      project: internal_project, access_level: 20, expect_to_be_allowed: true
        is expected to eq true
      project: internal_project, access_level: 10, expect_to_be_allowed: false
        is expected to eq false
      project: internal_project, access_level: 0, expect_to_be_allowed: false
        is expected to eq false
      project: private_project, access_level: 30, expect_to_be_allowed: false
        is expected to eq false
      project: private_project, access_level: 20, expect_to_be_allowed: false
        is expected to eq false
      project: private_project, access_level: 10, expect_to_be_allowed: false
        is expected to eq false
      project: private_project, access_level: 0, expect_to_be_allowed: false
        is expected to eq false

# [RSpecRunTime] Finishing example group spec/policies/packages/policies/project_policy_spec.rb. It took 15.97 seconds. Expected to take 15.16 seconds.
# [RSpecRunTime] Starting example group spec/services/suggestions/create_service_spec.rb. Expected to take 13.78 seconds.

Suggestions::CreateService
  #execute
    should not try to parse suggestions
      when not a diff note for merge requests
        does not try to parse suggestions
        behaves like service not tracking add suggestion event
          does not track add suggestion event
# [RSpecRunTime] RSpec elapsed time: 16 minutes 6.55 seconds. Current RSS: ~1529M. load average: 1.38 1.14 1.19 1/294 6600


      when diff note is not for text
        does not try to parse suggestions
        behaves like service not tracking add suggestion event
          does not track add suggestion event
# [RSpecRunTime] RSpec elapsed time: 16 minutes 8.91 seconds. Current RSS: ~1539M. load average: 1.38 1.14 1.19 1/295 6706


    when diff file is not found
      creates no suggestion
      behaves like service not tracking add suggestion event
        does not track add suggestion event
# [RSpecRunTime] RSpec elapsed time: 16 minutes 11.34 seconds. Current RSS: ~1545M. load average: 1.38 1.14 1.19 1/295 6811


    should create suggestions
      persists suggestion records
      persists suggestions data correctly
      tracks add suggestion event
      outdated position note
        uses the correct position when creating the suggestion
# [RSpecRunTime] RSpec elapsed time: 16 minutes 16.62 seconds. Current RSS: ~1523M. load average: 1.32 1.14 1.19 1/295 7071


      when a patch removes an empty line
        creates an appliable suggestion
# [RSpecRunTime] RSpec elapsed time: 16 minutes 17.97 seconds. Current RSS: ~1521M. load average: 1.32 1.14 1.19 1/295 7132



# [RSpecRunTime] Finishing example group spec/services/suggestions/create_service_spec.rb. It took 13.48 seconds. Expected to take 13.78 seconds.
# [RSpecRunTime] Starting example group spec/graphql/resolvers/timelog_resolver_spec.rb. Expected to take 13.32 seconds.

Resolvers::TimelogResolver
  is expected to have non-null GraphQL type TimelogConnection
  on a project
    behaves like with a project
      finds all timelogs within given dates
      return nothing when user has insufficient permissions
      when the project does not exist
        returns an empty set
# [RSpecRunTime] RSpec elapsed time: 16 minutes 20.16 seconds. Current RSS: ~1509M. load average: 1.32 1.14 1.19 1/295 7143


      when no dates specified
        finds all timelogs
      when only start_time present
        finds timelogs after the start_time
      when only end_time present
        finds timelogs before the end_time
      when start_time and end_date are present
        finds timelogs until the end of day of end_date
      when start_date and end_time are present
        finds all timelogs within start_date and end_time
      when arguments are invalid
        when start_time and start_date are present
          generates an error
        when end_time and end_date are present
          generates an error
        when start argument is after end argument
          generates an error
  with a project filter
    behaves like with a project
      finds all timelogs within given dates
      return nothing when user has insufficient permissions
      when the project does not exist
        returns an empty set
# [RSpecRunTime] RSpec elapsed time: 16 minutes 22.85 seconds. Current RSS: ~1517M. load average: 1.30 1.14 1.19 1/294 7151


      when no dates specified
        finds all timelogs
      when only start_time present
        finds timelogs after the start_time
      when only end_time present
        finds timelogs before the end_time
      when start_time and end_date are present
        finds timelogs until the end of day of end_date
      when start_date and end_time are present
        finds all timelogs within start_date and end_time
      when arguments are invalid
        when start_time and start_date are present
          generates an error
        when end_time and end_date are present
          generates an error
        when start argument is after end argument
          generates an error
  on a group
    behaves like with a group
      finds all timelogs
      finds all timelogs within given dates
      when the group does not exist
        returns an error
      when only start_date is present
        finds timelogs until the end of day of end_date
      when only end_date is present
        finds timelogs until the end of day of end_date
      when start_time and end_date are present
        finds timelogs until the end of day of end_date
      when start_date and end_time are present
        finds all timelogs within start_date and end_time
      when arguments are invalid
        when start_time and start_date are present
          generates an error
        when end_time and end_date are present
          generates an error
        when start argument is after end argument
          generates an error
  with a group filter
    behaves like with a group
      finds all timelogs
      finds all timelogs within given dates
      when the group does not exist
        returns an error
      when only start_date is present
        finds timelogs until the end of day of end_date
      when only end_date is present
        finds timelogs until the end of day of end_date
      when start_time and end_date are present
        finds timelogs until the end of day of end_date
      when start_date and end_time are present
        finds all timelogs within start_date and end_time
      when arguments are invalid
        when start_time and start_date are present
          generates an error
        when end_time and end_date are present
          generates an error
        when start argument is after end argument
          generates an error
  on a user
    behaves like with a user
      blah
  with a user filter
    when the user has timelogs
      behaves like with a user
        blah
    when the user doest not have timelogs
      behaves like with a user
        blah
  when no object or arguments provided
    generates an error
  when the sort argument is provided
    when sort argument comes from TimelogSortEnum
      returns all the timelogs in the correct order
# [RSpecRunTime] RSpec elapsed time: 16 minutes 30.62 seconds. Current RSS: ~1516M. load average: 1.27 1.13 1.19 1/294 7177


    when sort argument comes from SortEnum
      returns all the timelogs in the correct order

# [RSpecRunTime] Finishing example group spec/graphql/resolvers/timelog_resolver_spec.rb. It took 12.77 seconds. Expected to take 13.32 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/path_regex_spec.rb. Expected to take 12.84 seconds.

Gitlab::PathRegex
  TOP_LEVEL_ROUTES
    includes all the top level namespaces
    does not allow expansion
  GROUP_ROUTES
    don't contain a second wildcard
    does not allow expansion
  PROJECT_WILDCARD_ROUTES
    includes all paths that can be used after a namespace/project path
    does not allow expansion
  .root_namespace_route_regex
    rejects top level routes
    accepts project wildcard routes
    accepts group routes
    is not case sensitive
    does not allow extra slashes
  .organization_path_regex
    rejects reserved words
    accepts other words
  .full_namespace_path_regex
    is not case sensitive
    does not allow extra slashes
    at the top level
      when the final level
        rejects top level routes
        accepts project wildcard routes
        accepts group routes
      when more levels follow
        rejects top level routes
        accepts project wildcard routes
        accepts group routes
    at the second level
      when the final level
        accepts top level routes
        rejects project wildcard routes
        rejects group routes
      when more levels follow
        accepts top level routes
        rejects project wildcard routes
        rejects group routes
  .project_route_regex
    accepts top level routes
    rejects project wildcard routes
    accepts group routes
    is not case sensitive
    does not allow extra slashes
  .full_project_path_regex
    accepts top level routes
    rejects project wildcard routes
    accepts group routes
    is not case sensitive
    does not allow extra slashes
  .namespace_format_regex
    is expected to match "gitlab-ce"
    is expected to match "gitlab_git"
    is expected to match "_underscore.js"
    is expected to match "100px.com"
    is expected to match "gitlab.org"
    is expected not to match "?gitlab"
    is expected not to match "git lab"
    is expected not to match "gitlab.git"
    is expected not to match "gitlab.org."
    is expected not to match "gitlab.org/"
    is expected not to match "/gitlab.org"
    is expected not to match "gitlab git"
    is expected not to match "gitlab?"
    is expected to match "gitlab.org-"
    is expected to match "gitlab.org_"
# [RSpecRunTime] RSpec elapsed time: 16 minutes 37.15 seconds. Current RSS: ~1525M. load average: 1.23 1.13 1.18 1/294 7180


  .project_path_format_regex
    is expected to match "gitlab-ce"
    is expected to match "gitlab_git"
    is expected to match "_underscore.js"
    is expected to match "100px.com"
    is expected not to match "?gitlab"
    is expected not to match "git lab"
    is expected not to match "gitlab.git"
    is expected not to match "gitlab?"
    is expected not to match "gitlab git"
    is expected to match "gitlab.org"
    is expected to match "gitlab.org-"
    is expected to match "gitlab.org_"
    is expected to match "gitlab.org."
    is expected not to match "gitlab.org/"
    is expected not to match "/gitlab.org"
# [RSpecRunTime] RSpec elapsed time: 16 minutes 38.94 seconds. Current RSS: ~1526M. load average: 1.23 1.13 1.18 1/291 7181


  repository routes
    .repository_route_regex
      matches the expected paths
    .repository_git_route_regex
      matches the expected paths
    .repository_git_lfs_route_regex
      matches the expected paths
    .repository_wiki_git_route_regex
      matches the expected paths
      is expected not to match "snippets/1.wiki.git"
    .full_snippets_repository_path_regex
      matches the expected paths
      is expected not to match "root/snippets/1"
      is expected not to match "gitlab-org/gitlab-test/snippets/foo"
  .container_image_regex
    is expected to match "gitlab-foss"
    is expected to match "gitlab_foss"
    is expected to match "gitlab-org/gitlab-foss"
    is expected to match "a/b/c/d/e"
    is expected to match "100px.com/100px.ruby"
    does not match beyond 4 slashes
    does not match other non-word characters
  .container_image_blob_sha_regex
    is expected to match "sha256:asdf1234567890ASDF"
    is expected to match "foo:123"
    is expected to match "a12bc3f590szp"
    is expected not to match ""
    does not match malicious characters
  .dependency_proxy_route_regex
    is expected to match "/v2/group1/dependency_proxy/containers/alpine/manifests/latest"
    is expected to match "/v2/group1/dependency_proxy/containers/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"
    is expected not to match ""
    is expected not to match "/v3/group1/dependency_proxy/containers/alpine/manifests/latest"
    is expected not to match "/v2/group1/dependency_proxy/container/alpine/manifests/latest"
    is expected not to match "/v2/group1/dependency_prox/containers/alpine/manifests/latest"
    is expected not to match "/v2/group1/dependency_proxy/containers/alpine/manifest/latest"
    is expected not to match "/v2/group1/dependency_proxy/containers/alpine/manifest/la%2Ftest"
    is expected not to match "/v2/group1/dependency_proxy/containers/alpine/manifest/latest/../one"
    is expected not to match "/v3/group1/dependency_proxy/containers/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"
    is expected not to match "/v2/group1/dependency_proxy/container/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"
    is expected not to match "/v2/group1/dependency_prox/containers/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"
    is expected not to match "/v2/group1/dependency_proxy/containers/alpine/blob/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"
    is expected not to match "/v2/group1/dependency_proxy/containers/alpine/blob/sha256:F14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab/../latest"
    is expected not to match "/v2/group1/dependency_proxy/containers/alpine/blob/sha256:F14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab/latest"
# [RSpecRunTime] RSpec elapsed time: 16 minutes 42.91 seconds. Current RSS: ~1524M. load average: 1.21 1.13 1.18 1/291 7182



# [RSpecRunTime] Finishing example group spec/lib/gitlab/path_regex_spec.rb. It took 12.14 seconds. Expected to take 12.84 seconds.
# [RSpecRunTime] Starting example group spec/services/packages/conan/search_service_spec.rb. Expected to take 12.31 seconds.

Packages::Conan::SearchService
  #execute
    with wildcard
      makes a wildcard query
# [RSpecRunTime] RSpec elapsed time: 16 minutes 45.08 seconds. Current RSS: ~1520M. load average: 1.21 1.13 1.18 1/291 7183


    with only wildcard
      returns empty
# [RSpecRunTime] RSpec elapsed time: 16 minutes 46.42 seconds. Current RSS: ~1518M. load average: 1.20 1.12 1.18 1/291 7184


    with no wildcard
      makes a search using the beginning of the recipe
# [RSpecRunTime] RSpec elapsed time: 16 minutes 47.74 seconds. Current RSS: ~1525M. load average: 1.20 1.12 1.18 1/291 7185


    with full recipe match
      makes an exact search
# [RSpecRunTime] RSpec elapsed time: 16 minutes 49.16 seconds. Current RSS: ~1515M. load average: 1.20 1.12 1.18 1/291 7186


    with malicious query
      returns empty
# [RSpecRunTime] RSpec elapsed time: 16 minutes 50.45 seconds. Current RSS: ~1499M. load average: 1.20 1.12 1.18 1/291 7187


    for project
      when passing a project
        returns only packages of the given project
# [RSpecRunTime] RSpec elapsed time: 16 minutes 52.5 seconds. Current RSS: ~1482M. load average: 1.18 1.12 1.18 1/291 7188


      when passing a project with nil
        returns all packages
# [RSpecRunTime] RSpec elapsed time: 16 minutes 54.28 seconds. Current RSS: ~1470M. load average: 1.18 1.12 1.18 1/291 7189



# [RSpecRunTime] Finishing example group spec/services/packages/conan/search_service_spec.rb. It took 11.38 seconds. Expected to take 12.31 seconds.
# [RSpecRunTime] Starting example group spec/models/wiki_page/meta_spec.rb. Expected to take 11.83 seconds.

WikiPage::Meta
  does not allow STI
  Associations
    is expected to belong to project required: false
    is expected to have many slugs
    is expected to have many events
    can find slugs
# [RSpecRunTime] RSpec elapsed time: 16 minutes 56.36 seconds. Current RSS: ~1470M. load average: 1.18 1.12 1.18 1/291 7192


  Validations
    is expected to validate that :project_id cannot be empty/falsy
    is expected to validate that the length of :title is at most 255
    is expected not to allow :title to be ‹nil›
    is forbidden to have two records for the same project with the same canonical_slug
  #canonical_slug
    can be set on initialization
    there are no slugs
      is expected to have attributes {:canonical_slug => (be nil)}
    we have some non-canonical slugs
      is expected to have attributes {:canonical_slug => (be nil)}
      issues at most one query
      issues no queries if we already know the slug
    we have a canonical slug
      has the correct value
    canonical_slug=
      the slug is not known to us
        changes it to the correct value
        ensures the slug is in the db
        issues at most N queries
        issues fewer queries if we already know the current slug
      the slug is already in the DB (but not canonical)
        changes it to the correct value
        ensures the slug is in the db
        issues at most N queries
        issues fewer queries if we already know the current slug
      the slug is already in the DB (and canonical)
        changes it to the correct value
        ensures the slug is in the db
        issues at most N queries
        issues fewer queries if we already know the current slug
      the slug is up to date and in the DB
        changes it to the correct value
        ensures the slug is in the db
        issues at most N queries
        issues fewer queries if we already know the current slug
  .find_or_create
    there are problems
      the slug is too long
        raises an error
      a conflicting record exists
        raises an error
      the wiki page is not valid
        raises an error
    no existing record exists
      establishes the correct state
      makes a reasonable number of DB queries
    the commit happened a day ago
      establishes the correct state
      makes a reasonable number of DB queries
    the last_known_slug is the same as the current slug, as on creation
      establishes the correct state
      makes a reasonable number of DB queries
    a record exists in the DB in the correct state
      establishes the correct state
      makes a reasonable number of DB queries
    a record exists in the DB, but we need to update timestamps
      establishes the correct state
      makes a reasonable number of DB queries
    we need to update the slug, but not the title
      establishes the correct state
      makes a reasonable number of DB queries
    we need to update the title, but not the slug
      establishes the correct state
      makes a reasonable number of DB queries
    we want to change the slug back to a previous version
      establishes the correct state
      makes a reasonable number of DB queries
    we want to change the slug a bunch of times
      establishes the correct state
      makes a reasonable number of DB queries
    we need to update the title and the slug
      establishes the correct state
      makes a reasonable number of DB queries

# [RSpecRunTime] Finishing example group spec/models/wiki_page/meta_spec.rb. It took 12.32 seconds. Expected to take 11.83 seconds.
# [RSpecRunTime] Starting example group spec/services/merge_requests/assign_issues_service_spec.rb. Expected to take 11.12 seconds.

MergeRequests::AssignIssuesService
  finds unassigned issues fixed in merge request
  ignores issues the user cannot update assignee on
  ignores issues already assigned to any user
  ignores all issues unless current_user is merge_request.author
  accepts precomputed data for closes_issues
  assigns these to the merge request owner
  ignores external issues

# [RSpecRunTime] Finishing example group spec/services/merge_requests/assign_issues_service_spec.rb. It took 10.79 seconds. Expected to take 11.12 seconds.
# [RSpecRunTime] RSpec elapsed time: 17 minutes 17.54 seconds. Current RSS: ~1501M. load average: 1.33 1.16 1.19 1/297 8023


# [RSpecRunTime] Starting example group spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb. Expected to take 10.99 seconds.

Projects::LfsPointers::LfsDownloadLinkListService
  #each_link
    retrieves each download link of every non existent lfs object
    stores headers
    when lfs objects size is larger than the batch size
      when batch size
        retrieves them in batches
# [RSpecRunTime] RSpec elapsed time: 17 minutes 19.89 seconds. Current RSS: ~1511M. load average: 1.33 1.16 1.19 1/297 8024


      when request fails with PayloadTooLarge error
        when the smaller batch eventually works
          retreives them eventually and logs exceptions
        when batch size cannot be any smaller
          raises an error and logs exceptions
    credentials
      when the download link and the lfs_endpoint have the same host
        when lfs_endpoint has credentials
          adds credentials to the download_link
        when lfs_endpoint does not have any credentials
          does not add any credentials
      when the download link and the lfs_endpoint have different hosts
        downloads without any credentials
  #download_links_for
    if request fails
      raises an error
# [RSpecRunTime] RSpec elapsed time: 17 minutes 25.55 seconds. Current RSS: ~1500M. load average: 1.38 1.17 1.20 1/296 8025


    behaves like JSON parse errors
      raises an error
    behaves like JSON parse errors
      raises an error
    behaves like JSON parse errors
      raises an error
  #parse_response_links
    does not add oid entry if href not found

# [RSpecRunTime] Finishing example group spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb. It took 10.96 seconds. Expected to take 10.99 seconds.
# [RSpecRunTime] Starting example group spec/finders/concerns/finder_with_cross_project_access_spec.rb. Expected to take 10.35 seconds.

FinderWithCrossProjectAccess
  when the user cannot read cross project
    #execute
      returns a issue if the check is disabled
      returns an empty relation when the check is enabled
      only queries once when check is enabled
      only queries once when check is disabled
# [RSpecRunTime] RSpec elapsed time: 17 minutes 31.57 seconds. Current RSS: ~1524M. load average: 1.40 1.19 1.20 1/291 8026


    #find
      checks the accessibility of the subject directly
      returns the issue
# [RSpecRunTime] RSpec elapsed time: 17 minutes 33.14 seconds. Current RSS: ~1522M. load average: 1.40 1.19 1.20 1/291 8027


    #find_by
      checks the accessibility of the subject directly
    #find_by!
      checks the accessibility of the subject directly
      re-enables the check after the find failed
# [RSpecRunTime] RSpec elapsed time: 17 minutes 35.5 seconds. Current RSS: ~1528M. load average: 1.40 1.19 1.20 1/291 8028


  when the user can read cross project
    returns the result
  when specifying a model
    .finder_model
      is set correctly

# [RSpecRunTime] Finishing example group spec/finders/concerns/finder_with_cross_project_access_spec.rb. It took 8.5 seconds. Expected to take 10.35 seconds.
# [RSpecRunTime] Starting example group spec/models/personal_access_token_spec.rb. Expected to take 10.18 seconds.

PersonalAccessToken
  does not allow STI
  .build
    is a valid personal access token
    ensures that the token is generated
  associations
    is expected to belong to previous_personal_access_token class_name => PersonalAccessToken required: false
  scopes
    .project_access_tokens
      is expected to contain exactly #<PersonalAccessToken id: 3, user_id: 871, name: "PAT 4", revoked: false, expires_at: "2024-04-25", c...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>
    .owner_is_human
      is expected to contain exactly #<PersonalAccessToken id: 4, user_id: 875, name: "PAT 5", revoked: false, expires_at: "2024-04-25", c...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>
    .for_user
      returns personal access tokens of specified user only
    .for_users
      returns personal access tokens for the specified users only
    .created_before
      is expected to contain exactly #<PersonalAccessToken id: 15, user_id: 885, name: "PAT 16", revoked: false, expires_at: "2024-04-25",...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 16, user_id: 886, name: "PAT 17", revoked: false, expires_at: "2024-04-25",...00000000 +0000", after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 17, user_id: 887, name: "PAT 18", revoked: false, expires_at: "2024-04-25",...85828667 +0000", after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>
    .last_used_before
      last_used_*
        does not return token that is last_used_at after given date
        .last_used_before
          returns personal access tokens used before the specified date only
        .last_used_after
          returns personal access tokens used after the specified date only
    .last_used_before_or_unused
      is expected to contain exactly #<PersonalAccessToken id: 22, user_id: 892, name: "PAT 23", revoked: false, expires_at: "2024-04-25",...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil> and #<PersonalAccessToken id: 23, user_id: 893, name: "PAT 24", revoked: false, expires_at: "2024-04-25",...00000000 +0000", after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>
  .active?
    returns false if the personal_access_token is revoked
    returns false if the personal_access_token is expired
    returns true if the personal_access_token is not revoked and not expired
  revoke!
    revokes the token
  validations
    requires at least one scope
    allows creating a token with API scopes
    allows creating a token with `admin_mode` scope
    rejects creating a token with unavailable scopes
    when registry is disabled
      rejects creating a token with read_registry scope
      allows revoking a token with read_registry scope
    when registry is enabled
      allows creating a token with read_registry scope
    validates expires_at
      can't be blank
      when expires_in is less than MAX_PERSONAL_ACCESS_TOKEN_LIFETIME_IN_DAYS days
        is valid
      when expires_in is more than MAX_PERSONAL_ACCESS_TOKEN_LIFETIME_IN_DAYS days
        is invalid
  scopes
    .active
      includes non-revoked tokens
    .expiring_and_not_notified
      in one day
        doesn't have any tokens
      in three days
        only includes a valid token
    .expiring_and_not_notified_without_impersonation
      when token is there to be notified
        has only unnotified tokens
      when no token is there to be notified
        return empty array
    .expired_today_and_not_notified
      returns tokens that have expired today
    .without_impersonation
      returns only non-impersonation tokens
    revoke scopes
      .revoked
        is expected to contain exactly #<PersonalAccessToken id: 49, user_id: 919, name: "PAT 62", revoked: true, expires_at: "2024-04-25", ...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>
      .not_revoked
        is expected to contain exactly #<PersonalAccessToken id: 50, user_id: 920, name: "PAT 63", revoked: false, expires_at: "2024-04-25",...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil> and #<PersonalAccessToken id: 51, user_id: 921, name: "PAT 64", revoked: nil, expires_at: "2024-04-25", c...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>
  .simple_sorts
    includes overridden keys
  ordering by expires_at
    .order_expires_at_asc_id_desc
      returns ordered list in combination of expires_at ascending and id descending
  `admin_mode scope
    with feature flag enabled
      with administrator user
        does not add `admin_mode` scope before created
      with normal user
        does not add `admin_mode` scope before created
  token format
    generates a token
    when there is an existing token
      does not change the existing token

# [RSpecRunTime] Finishing example group spec/models/personal_access_token_spec.rb. It took 8.07 seconds. Expected to take 10.18 seconds.
# [RSpecRunTime] Starting example group spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb. Expected to take 9.95 seconds.

Projects::HashedStorage::MigrateAttachmentsService
  #execute
    works even when project validation fails
    when succeeds
      moves attachments to hashed storage layout
      returns true
      sets skipped to false
# [RSpecRunTime] RSpec elapsed time: 17 minutes 49.66 seconds. Current RSS: ~1565M. load average: 1.31 1.18 1.19 1/291 8053


    when original folder does not exist anymore
      skips moving folders and go to next
      returns true
      sets skipped to true
# [RSpecRunTime] RSpec elapsed time: 17 minutes 51.77 seconds. Current RSS: ~1578M. load average: 1.36 1.19 1.20 1/291 8072


    when target folder already exists
      succeed when target is empty
      succeed when target include only discardable items
      raises AttachmentCannotMoveError when there are non discardable items on target path
# [RSpecRunTime] RSpec elapsed time: 17 minutes 53.91 seconds. Current RSS: ~1574M. load average: 1.36 1.19 1.20 1/291 8091


  #old_disk_path
    returns old disk_path for project
  #new_disk_path
    returns new disk_path for project
  #target_path_discardable?
    returns true when it include only items on the discardable list

# [RSpecRunTime] Finishing example group spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb. It took 10.9 seconds. Expected to take 9.95 seconds.
# [RSpecRunTime] Starting example group spec/models/fork_network_spec.rb. Expected to take 9.36 seconds.

ForkNetwork
  does not allow STI
  #add_root_as_member
    adds the root project as a member when creating a new root network
  #find_fork_in
    finds all fork of the current network in al collection
# [RSpecRunTime] RSpec elapsed time: 17 minutes 58.35 seconds. Current RSS: ~1610M. load average: 1.33 1.19 1.20 1/291 8110


  #merge_requests
    finds merge requests within the fork network
# [RSpecRunTime] RSpec elapsed time: 17 minutes 59.8 seconds. Current RSS: ~1592M. load average: 1.33 1.19 1.20 1/291 8111


  for a deleted project
    keeps the fork network
    allows multiple fork networks where the root project is deleted
# [RSpecRunTime] RSpec elapsed time: 18 minutes 5.14 seconds. Current RSS: ~1507M. load average: 1.31 1.18 1.20 1/291 8112



# [RSpecRunTime] Finishing example group spec/models/fork_network_spec.rb. It took 9.28 seconds. Expected to take 9.36 seconds.
# [RSpecRunTime] Starting example group spec/models/concerns/milestoneable_spec.rb. Expected to take 9.16 seconds.

Milestoneable
  does not allow STI
  #supports_milestone?
    for issues
      returns true
    for merge requests
      returns true
    for incidents
      returns true
  release scopes
    #any_milestone
      when milestone filter is present and related closing issues are joined
        returns merge request closing issues of any milestone
# [RSpecRunTime] RSpec elapsed time: 18 minutes 8.05 seconds. Current RSS: ~1508M. load average: 1.28 1.18 1.19 1/295 8139


    #without_release
      returns the issues not tied to any milestone and the ones tied to milestone with no release
    #any_release
      returns all issues tied to a release
    #with_release
      returns the issues tied a specfic release
      when a release has a milestone with one issue and another one with no issue
        returns that one issue
        when the milestone with no issue is added as a filter
          returns an empty list
        when the milestone with the issue is added as a filter
          returns this issue
      when there is no issue under a specific release
        returns no issue
      when a non-existent release tag is passed in
        returns no issue
  Issues
    behaves like an object that can be assigned a milestone
      Validation
        milestone
          with correct params
            is expected to be valid
          with empty string milestone
            is expected to be valid
          with nil milestone id
            is expected to be valid
          with a milestone id from another project
            is expected to be invalid
      #milestone_available?
        returns true with a milestone from the issue project
        returns true with a milestone from the issue project group
        returns true with a milestone from the the parent of the issue project group
        returns true with a blank milestone
        returns false with a milestone from another project
        returns false with a milestone from another group
# [RSpecRunTime] RSpec elapsed time: 18 minutes 11.56 seconds. Current RSS: ~1546M. load average: 1.26 1.18 1.19 1/295 8140


    #milestone_available?
      returns true with a milestone from the issue group
  MergeRequests
    behaves like an object that can be assigned a milestone
      Validation
        milestone
          with correct params
            is expected to be valid
          with empty string milestone
            is expected to be valid
          with nil milestone id
            is expected to be valid
          with a milestone id from another project
            is expected to be invalid
      #milestone_available?
        returns true with a milestone from the issue project
        returns true with a milestone from the issue project group
        returns true with a milestone from the the parent of the issue project group
        returns true with a blank milestone
        returns false with a milestone from another project
        returns false with a milestone from another group
# [RSpecRunTime] RSpec elapsed time: 18 minutes 14.14 seconds. Current RSS: ~1551M. load average: 1.26 1.18 1.19 1/295 8141



# [RSpecRunTime] Finishing example group spec/models/concerns/milestoneable_spec.rb. It took 9.01 seconds. Expected to take 9.16 seconds.
# [RSpecRunTime] Starting example group spec/services/incident_management/timeline_events/destroy_service_spec.rb. Expected to take 8.82 seconds.

IncidentManagement::TimelineEvents::DestroyService
  #execute
    when current user is anonymous
      behaves like error response
        has an informative message
        behaves like does not track incident management event
          does not track the event
# [RSpecRunTime] RSpec elapsed time: 18 minutes 16.7 seconds. Current RSS: ~1535M. load average: 1.32 1.19 1.20 1/295 8142


    when user does not have permissions to remove timeline events
      behaves like error response
        has an informative message
        behaves like does not track incident management event
          does not track the event
# [RSpecRunTime] RSpec elapsed time: 18 minutes 18.08 seconds. Current RSS: ~1529M. load average: 1.32 1.19 1.20 1/291 8143


    when an error occurs during removal
      behaves like error response
        has an informative message
        behaves like does not track incident management event
          does not track the event
# [RSpecRunTime] RSpec elapsed time: 18 minutes 19.51 seconds. Current RSS: ~1526M. load average: 1.32 1.19 1.20 1/291 8144


    with success response
      successfully returns the timeline event
      creates a system note
      behaves like an incident management tracked event
        .track_event
          tracks the event using redis
# [RSpecRunTime] RSpec elapsed time: 18 minutes 21.97 seconds. Current RSS: ~1528M. load average: 1.37 1.20 1.20 1/291 8145


      behaves like Snowplow event tracking with RedisHLL context
        behaves like Snowplow event tracking
          is emitted

# [RSpecRunTime] Finishing example group spec/services/incident_management/timeline_events/destroy_service_spec.rb. It took 8.64 seconds. Expected to take 8.82 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/external/file/project_spec.rb. Expected to take 8.64 seconds.

Gitlab::Ci::Config::External::File::Project
  #matching?
    when a file and project is specified
      returns true
# [RSpecRunTime] RSpec elapsed time: 18 minutes 24.13 seconds. Current RSS: ~1527M. load average: 1.37 1.20 1.20 1/292 8158


    with only file is specified
      returns false
    with only project is specified
      returns false
    with a missing local key
      returns false
  #valid?
    when a valid path is used
      is expected to be truthy
      when user does not have permission to access file
        returns false
    when a valid path is used in uppercase
      is expected to be truthy
    when a valid different case path is used
      is expected to be truthy
    when a valid path with custom ref is used
      is expected to be truthy
    when an empty file is used
      returns false
    when non-existing ref is used
      returns false
    when non-existing file is requested
      returns false
    when file is not a yaml file
      returns false
    when non-existing project is used with a masked variable
      returns false with masked project name
    when a project contained in an array is used with a masked variable
      does not raise an error
  #expand_context
    inherits user, and target project and sha
  #metadata
    is expected to eq {:blob=>"http://localhost/namespace529/project-595/-/blob/8d37b9f2852c60e115c34e4b0ff7df5aeeabafa2/fi...ost/namespace529/project-595/-/raw/8d37b9f2852c60e115c34e4b0ff7df5aeeabafa2/file.yml", :type=>:file}
    when project name and ref include masked variables
      is expected to eq {:blob=>"http://localhost/namespace531/xxxxxxxxxxxxxxx/-/blob/646ece5cfed840eca0a4feb21bcd6a81bb19bda...namespace531/xxxxxxxxxxxxxxx/-/raw/646ece5cfed840eca0a4feb21bcd6a81bb19bda3/file.yml", :type=>:file}
  #to_hash
    when interpolation is being used
      correctly interpolates the content

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/external/file/project_spec.rb. It took 7.22 seconds. Expected to take 8.64 seconds.
# [RSpecRunTime] Starting example group spec/models/container_registry/event_spec.rb. Expected to take 8.35 seconds.

ContainerRegistry::Event
  does not allow STI
  #supported?
    action: "delete", supported: true
      is expected to eq true
    action: "push", supported: true
      is expected to eq true
    action: "mount", supported: false
      is expected to eq false
    action: "pull", supported: false
      is expected to eq false
  #handle!
    behaves like event with project statistics update
      enqueues a project statistics update
      clears the cache for the namespace container repositories size
    with no target tag
      behaves like event without project statistics update
        does not queue a project statistics update
      with a target digest
        behaves like event without project statistics update
          does not queue a project statistics update
      with a delete action
        without a target digest
          behaves like event without project statistics update
            does not queue a project statistics update
        with a target digest
          behaves like event with project statistics update
            enqueues a project statistics update
            clears the cache for the namespace container repositories size
    with an unsupported action
      behaves like event without project statistics update
        does not queue a project statistics update
    with an invalid project repository path
      behaves like event without project statistics update
        does not queue a project statistics update
    with no project repository path
      behaves like event without project statistics update
        does not queue a project statistics update
  #track!
    with a respository target
      repository_path: "group/test/container", action: "push", tracking_action: "push_repository"
        creates a tracking event
      repository_path: "group/test/container", action: "delete", tracking_action: "delete_repository"
        creates a tracking event
      repository_path: "foo/bar", action: "push", tracking_action: "create_repository"
        creates a tracking event
      repository_path: "foo/bar", action: "delete", tracking_action: "delete_repository"
        creates a tracking event
    with a tag target
      repository_path: "group/test/container", action: "push", tracking_action: "push_tag"
        creates a tracking event
      repository_path: "group/test/container", action: "delete", tracking_action: "delete_tag"
        creates a tracking event
      repository_path: "foo/bar", action: "push", tracking_action: "push_tag"
        creates a tracking event
      repository_path: "foo/bar", action: "delete", tracking_action: "delete_tag"
        creates a tracking event
    with a deploy token as the actor
      when only username is provided and no deploy_token_id is given
        behaves like no tracking of a deploy token is sent to HLLRedisCounter
          does not send a tracking event to HLLRedisCounter
      when no username or deploy_token_id is given
        behaves like no tracking of a deploy token is sent to HLLRedisCounter
          does not send a tracking event to HLLRedisCounter
      when deploy_token_id is given
        target: {"tag"=>"latest"}, action: "push", event: "push_tag", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"tag"=>"latest"}, action: "delete", event: "delete_tag", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"repository"=>"foo/bar"}, action: "push", event: "create_repository", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"repository"=>"foo/bar"}, action: "delete", event: "delete_repository", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"tag"=>"latest"}, action: "copy", event: "", count: 0
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        when there are errors
          when the registry key file does not exist
            behaves like no tracking of a deploy token is sent to HLLRedisCounter
              does not send a tracking event to HLLRedisCounter
          when JWT decoding encounters JWT::VerificationError
            behaves like no tracking of a deploy token is sent to HLLRedisCounter
              does not send a tracking event to HLLRedisCounter
          when JWT decoding encounters JWT::DecodeError
            behaves like no tracking of a deploy token is sent to HLLRedisCounter
              does not send a tracking event to HLLRedisCounter
          when JWT decoding encounters JWT::ExpiredSignature
            behaves like no tracking of a deploy token is sent to HLLRedisCounter
              does not send a tracking event to HLLRedisCounter
          when JWT decoding encounters JWT::ImmatureSignature
            behaves like no tracking of a deploy token is sent to HLLRedisCounter
              does not send a tracking event to HLLRedisCounter
    with a user as the actor
      when user_id is available
        target: {"tag"=>"latest"}, action: "push", event: "push_tag", user_type: "personal_access_token", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"tag"=>"latest"}, action: "delete", event: "delete_tag", user_type: "personal_access_token", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"repository"=>"foo/bar"}, action: "push", event: "create_repository", user_type: "build", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"repository"=>"foo/bar"}, action: "delete", event: "delete_repository", user_type: "gitlab_or_ldap", count: 1
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"repository"=>"foo/bar"}, action: "delete", event: "delete_repository", user_type: "not_a_user", count: 0
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"tag"=>"latest"}, action: "copy", event: "", user_type: nil, count: 0
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
        target: {"repository"=>"foo/bar"}, action: "copy", event: "", user_type: "", count: 0
          behaves like event originator is fetched based on ID
            fetches the event originator based on id
          behaves like tracking event is sent to HLLRedisCounter with event and originator ID
            sends a tracking event to HLLRedisCounter
      when only username is available and user_id is not
        does not send a tracking event to HLLRedisCounter
      when no username or id is given
        does not send a tracking event to HLLRedisCounter
    when it is a manifest delete event
      calls the ContainerRegistryEventCounter
    when it is not a manifest delete event
      does not call the ContainerRegistryEventCounter

# [RSpecRunTime] Finishing example group spec/models/container_registry/event_spec.rb. It took 6.91 seconds. Expected to take 8.35 seconds.
# [RSpecRunTime] Starting example group spec/models/organizations/organization_user_spec.rb. Expected to take 8.11 seconds.

Organizations::OrganizationUser
  does not allow STI
  behaves like having unique enum values
    has unique values in "access_level"
  .update_default_organization_record_for
    when record does not exist yet
      creates record with correct attributes
    when entry already exists
      does not create or update existing record
      when access_level changes
        changes access_level on the existing record
    when creating with invalid user_id
      does not add a new record
  scopes
    .owners
      returns the owners of the organization
    .in_organization
      is expected to contain exactly #<Organizations::OrganizationUser id: 1002, organization_id: 1490, user_id: 998, created_at: "2024-03...:55:58.524536541 +0000", updated_at: "2024-03-26 15:55:58.524536541 +0000", access_level: "default"> and #<Organizations::OrganizationUser id: 1004, organization_id: 1490, user_id: 999, created_at: "2024-03...:55:58.568681498 +0000", updated_at: "2024-03-26 15:55:58.568681498 +0000", access_level: "default">
  with loose foreign key on organization_users.user_id
    behaves like cleanup by a loose foreign key
      cleans up (delete or nullify) the model
  .default_organization_access_level
    when user is admin
      is expected to eq :owner
    when user is not admin
      is expected to eq :default
  associations
    is expected to belong to organization inverse_of => organization_users required: true
    is expected to belong to user inverse_of => organization_users required: true
  validations
    is expected to define :access_level as an enum backed by an integer with values ‹{"default" => 10, "owner" => 50}›
    is expected to validate that :access_level cannot be empty/falsy
    is expected to validate that :user is case-sensitively unique within the scope of :organization_id
    does not allow invalid enum value
    on destroy
      prevents user leaving all organizations
      when user is in multiple organizations
        does not prevent user from leaving organization
      when user is not available
        does not prevent deletion
  with loose foreign key on organization_users.organization_id
    behaves like cleanup by a loose foreign key
      cleans up (delete or nullify) the model
  .create_organization_record_for
    when record already exists
      returns existing record without access_level change
      with race condition handling of already existing record
        performs the upsert without error
    when no existing record exists
      creates a new record with default access_level
  .create_default_organization_record_for
    when creating as as default user
      creates record with correct attributes
    when creating as an owner
      creates record with correct attributes
    when entry already exists
      does not create or update existing record
      when access_level changes
        changes access_level on the existing record
    when creating with invalid user_id
      raises and error

# [RSpecRunTime] Finishing example group spec/models/organizations/organization_user_spec.rb. It took 4.95 seconds. Expected to take 8.11 seconds.
# [RSpecRunTime] Starting example group spec/graphql/resolvers/work_items_resolver_spec.rb. Expected to take 7.71 seconds.

Resolvers::WorkItemsResolver
  is expected to have nullable GraphQL type WorkItemConnection
  with a project
    #resolve
      finds all items
      returns items user can see
      batches queries that only include IIDs
      finds a specific item with iids
      finds multiple items with iids
      finds only the items within the project we are looking at
      when searching items
        behaves like graphql query for searching issuables
          uses search optimization
          filters issuables by title
          filters issuables by description
          with in param
            generates an error if param search is missing
            filters issuables by title and description
            filters issuables by description only
            filters issuables by title only
# [RSpecRunTime] RSpec elapsed time: 18 minutes 47.36 seconds. Current RSS: ~1564M. load average: 1.25 1.19 1.19 1/291 8432


      sorting
        when sorting by created
          sorts items ascending
          sorts items descending
        when sorting by title
          sorts items ascending
          sorts items descending
  when passing a non existent, batch loaded project
    returns nil without breaking

# [RSpecRunTime] Finishing example group spec/graphql/resolvers/work_items_resolver_spec.rb. It took 6.99 seconds. Expected to take 7.71 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/auth/ldap/dn_spec.rb. Expected to take 7.61 seconds.

Gitlab::Auth::Ldap::DN
  #normalize_value
    behaves like normalizes a DN attribute value
      test_description: "strips extraneous whitespace", given: "   John Smith   ", expected: "john smith"
        normalizes the DN attribute value
      test_description: "unescapes non-reserved, non-special Unicode characters", given: "Sebasti\\c3\\a1n\\ C.\\20Smith", expected: "sebastián c. smith"
        normalizes the DN attribute value
      test_description: "downcases the whole string", given: "JoHn C. Smith", expected: "john c. smith"
        normalizes the DN attribute value
      test_description: "does not strip an escaped leading space in an attribute value", given: "\\ John Smith", expected: "\\ john smith"
        normalizes the DN attribute value
      test_description: "does not strip an escaped trailing space in an attribute value", given: "John Smith\\ ", expected: "john smith\\ "
        normalizes the DN attribute value
      test_description: "hex-escapes an escaped leading newline in an attribute value", given: "\\\nJohn Smith", expected: "\\0ajohn smith"
        normalizes the DN attribute value
      test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "John Smith\\\n", expected: "john smith\\0a"
        normalizes the DN attribute value
      test_description: "hex-escapes an unescaped leading newline (actually an invalid DN value?)", given: "\nJohn Smith", expected: "\\0ajohn smith"
        normalizes the DN attribute value
      test_description: "strips an unescaped trailing newline (actually an invalid DN value?)", given: "John Smith\n", expected: "john smith"
        normalizes the DN attribute value
      test_description: "does not strip if no extraneous whitespace", given: "John Smith", expected: "john smith"
        normalizes the DN attribute value
      test_description: "does not modify an escaped equal sign in an attribute value", given: " foo  \\=  bar", expected: "foo  \\=  bar"
        normalizes the DN attribute value
      test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: " foo  \\3D  bar", expected: "foo  \\=  bar"
        normalizes the DN attribute value
      test_description: "does not modify an escaped comma in an attribute value", given: "San Francisco\\, CA", expected: "san francisco\\, ca"
        normalizes the DN attribute value
      test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "San Francisco\\2C CA", expected: "san francisco\\, ca"
        normalizes the DN attribute value
      test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "San Francisco\\,\\0DCA", expected: "san francisco\\,\\0dca"
        normalizes the DN attribute value
      test_description: "does not modify an escaped hex line feed character in an attribute value", given: "San Francisco\\,\\0ACA", expected: "san francisco\\,\\0aca"
        normalizes the DN attribute value
      test_description: "does not modify an escaped hex CRLF in an attribute value", given: "San Francisco\\,\\0D\\0ACA", expected: "san francisco\\,\\0d\\0aca"
        normalizes the DN attribute value
    when the given DN is malformed
      when ending with a comma
        raises MalformedError
      when given a BER encoded attribute value with a space in it
        raises MalformedError
      when given a BER encoded attribute value with a non-hex character in it
        raises MalformedError
      when given a BER encoded attribute value with a non-hex character in it
        raises MalformedError
      when given a hex pair with a non-hex character in it, inside double quotes
        raises MalformedError
      with an open (as opposed to closed) double quote
        raises MalformedError
      with an invalid escaped hex code
        raises MalformedError
      with a value ending with the escape character
        raises MalformedError
  #to_normalized_s
    behaves like normalizes a DN
      test_description: "strips extraneous whitespace", given: "uid     =John Smith ,  ou = People, dc=  example,dc =com", expected: "uid=john smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "strips extraneous whitespace for a DN with a single RDN", given: "uid  =  John Smith", expected: "uid=john smith"
        normalizes the DN
      test_description: "unescapes non-reserved, non-special Unicode characters", given: "uid   =  Sebasti\\c3\\a1n\\ C.\\20Smith,   ou=People (aka. \\22humans\\\")  ,dc=example, dc=com", expected: "uid=sebastián c. smith,ou=people (aka. \\\"humans\\\"),dc=example,dc=com"
        normalizes the DN
      test_description: "downcases the whole string", given: "UID=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "for a null DN (empty string), returns empty string and does not error", given: "", expected: ""
        normalizes the DN
      test_description: "does not strip an escaped leading space in an attribute value", given: "uid=\\ John Smith,ou=People,dc=example,dc=com", expected: "uid=\\ john smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "does not strip an escaped leading space in the last attribute value", given: "uid=\\ John Smith", expected: "uid=\\ john smith"
        normalizes the DN
      test_description: "does not strip an escaped trailing space in an attribute value", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "strips extraneous spaces after an escaped trailing space", given: "uid=John Smith\\   ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "strips extraneous spaces after an escaped trailing space at the end of the DN", given: "uid=John Smith,ou=People,dc=example,dc=com\\   ", expected: "uid=john smith,ou=people,dc=example,dc=com\\ "
        normalizes the DN
      test_description: "properly preserves escaped trailing space after unescaped trailing spaces", given: "uid=John Smith  \\  ,ou=People,dc=example,dc=com", expected: "uid=john smith  \\ ,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "preserves multiple inner spaces in an attribute value", given: "uid=John   Smith,ou=People,dc=example,dc=com", expected: "uid=john   smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "preserves inner spaces after an escaped space", given: "uid=John\\   Smith,ou=People,dc=example,dc=com", expected: "uid=john   smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "hex-escapes an escaped leading newline in an attribute value", given: "uid=\\\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "uid=John Smith\\\n,ou=People,dc=example,dc=com", expected: "uid=john smith\\0a,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "hex-escapes an unescaped leading newline (actually an invalid DN?)", given: "uid=\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "strips an unescaped trailing newline (actually an invalid DN?)", given: "uid=John Smith\n,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "does not strip if no extraneous whitespace", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"
        normalizes the DN
      test_description: "does not modify an escaped equal sign in an attribute value", given: "uid= foo  \\=  bar", expected: "uid=foo  \\=  bar"
        normalizes the DN
      test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: "uid= foo  \\3D  bar", expected: "uid=foo  \\=  bar"
        normalizes the DN
      test_description: "does not modify an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\, CA", expected: "uid=john c. smith,ou=san francisco\\, ca"
        normalizes the DN
      test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\2C CA", expected: "uid=john c. smith,ou=san francisco\\, ca"
        normalizes the DN
      test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0DCA", expected: "uid=john c. smith,ou=san francisco\\,\\0dca"
        normalizes the DN
      test_description: "does not modify an escaped hex line feed character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0aca"
        normalizes the DN
      test_description: "does not modify an escaped hex CRLF in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0D\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0d\\0aca"
        normalizes the DN
      test_description: "allows attribute type name OIDs", given: "0.9.2342.19200300.100.1.25=Example,0.9.2342.19200300.100.1.25=Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"
        normalizes the DN
      test_description: "strips extraneous whitespace from attribute type name OIDs", given: "0.9.2342.19200300.100.1.25 = Example, 0.9.2342.19200300.100.1.25 = Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"
        normalizes the DN
    when we do not support the given DN format
      multivalued RDNs
        without extraneous whitespace
          raises UnsupportedError
        with extraneous whitespace
          around the phone number plus sign
            raises UnsupportedError
          not around the phone number plus sign
            raises UnsupportedError
    when the given DN is malformed
      when ending with a comma
        raises MalformedError
      when given a BER encoded attribute value with a space in it
        raises MalformedError
      when given a BER encoded attribute value with a non-hex character in it
        raises MalformedError
      when given a BER encoded attribute value with a non-hex character in it
        raises MalformedError
      when given a hex pair with a non-hex character in it, inside double quotes
        raises MalformedError
      without a name value pair
        raises MalformedError
      with an open (as opposed to closed) double quote
        raises MalformedError
      with an invalid escaped hex code
        raises MalformedError
      with a value ending with the escape character
        raises MalformedError
      with an invalid OID attribute type name
        raises MalformedError
      with a period in a non-OID attribute type name
        raises MalformedError
      when starting with non-space, non-alphanumeric character
        raises MalformedError
      when given a UID with an escaped equal sign
        raises MalformedError

# [RSpecRunTime] Finishing example group spec/lib/gitlab/auth/ldap/dn_spec.rb. It took 6.2 seconds. Expected to take 7.61 seconds.
# [RSpecRunTime] Starting example group spec/models/issue_link_spec.rb. Expected to take 7.44 seconds.

IssueLink
  does not allow STI
  behaves like issuable link
    Associations
      is expected to belong to source class_name => Issue required: false
      is expected to belong to target class_name => Issue required: false
# [RSpecRunTime] RSpec elapsed time: 18 minutes 56.59 seconds. Current RSS: ~1581M. load average: 1.21 1.18 1.19 1/291 8433


    Validation
      is expected to validate that :source cannot be empty/falsy
      is expected to validate that :target cannot be empty/falsy
      is expected to validate that :source is case-sensitively unique within the scope of :target_id, producing a custom validation error on failure
      is not valid if an opposite link already exists
      when it relates to itself
        when target is nil
          does not invalidate object with self relation error
        when source and target are present
          invalidates object
      when max number of links is exceeded
        when source exceeds max
          behaves like invalid due to exceeding max number of links
            is expected to include "This issue would exceed the maximum number of linked issues (1)."
        when target exceeds max
          behaves like invalid due to exceeding max number of links
            is expected to include "This issue would exceed the maximum number of linked issues (1)."
    scopes
      .for_source_or_target
        returns only links where id is either source or target id
# [RSpecRunTime] RSpec elapsed time: 18 minutes 59.71 seconds. Current RSS: ~1570M. load average: 1.21 1.18 1.19 1/291 8434


    .link_type
      is expected to define :link_type as an enum backed by an integer with values ‹{relates_to: 0, blocks: 1}›
      provides the "related" as default link_type
  .issuable_type
    is expected to eq :issue
  .issuable_name
    is expected to eq "issue"
  behaves like includes LinkableItem concern
    validation
      #check_existing_parent_link
        without existing link parent
          is valid
        with existing link parent
          behaves like invalid due to existing link
            is expected to include "is a parent or child of this issue"
          behaves like invalid due to existing link
            is expected to include "is a parent or child of this issue"
    Scopes
      .for_source
        includes linked items for source
      .for_target
        includes linked items for target
      .for_items
        includes links when item is source
        includes links when item is target
      .for_source_and_target
        includes links for provided source and target

# [RSpecRunTime] Finishing example group spec/models/issue_link_spec.rb. It took 6.54 seconds. Expected to take 7.44 seconds.
# [RSpecRunTime] Starting example group spec/models/merge_request/metrics_spec.rb. Expected to take 7.15 seconds.

MergeRequest::Metrics
  does not allow STI
  associations
    is expected to belong to merge_request required: false
    is expected to belong to target_project class_name => Project required: false
    is expected to belong to latest_closed_by class_name => User required: false
    is expected to belong to merged_by class_name => User required: false
  scopes
    .merged_after
      finds the record
      doesn't include record outside of the filter
# [RSpecRunTime] RSpec elapsed time: 19 minutes 4.16 seconds. Current RSS: ~1587M. load average: 1.11 1.16 1.18 1/297 8514


    .merged_before
      finds the record
      doesn't include record outside of the filter
    .by_target_project
      finds metrics record with the associated target project
  behaves like cleanup by a loose foreign key
    cleans up (delete or nullify) the model
# [RSpecRunTime] RSpec elapsed time: 19 minutes 6.71 seconds. Current RSS: ~1571M. load average: 1.10 1.16 1.18 1/297 8555


  update
    when pipeline_id is nullified
      nullifies build related columns via DB trigger
# [RSpecRunTime] RSpec elapsed time: 19 minutes 7.88 seconds. Current RSS: ~1575M. load average: 1.10 1.16 1.18 1/297 8595


    when updated but pipeline_id is not nullified
      does not nullify build related columns
# [RSpecRunTime] RSpec elapsed time: 19 minutes 8.98 seconds. Current RSS: ~1581M. load average: 1.10 1.16 1.18 2/297 8635



# [RSpecRunTime] Finishing example group spec/models/merge_request/metrics_spec.rb. It took 7.39 seconds. Expected to take 7.15 seconds.
# [RSpecRunTime] Starting example group spec/workers/project_export_worker_spec.rb. Expected to take 7.08 seconds.

ProjectExportWorker
  behaves like export worker
    #perform
      when it succeeds
        calls the ExportService
        export job
          creates an export job record for the project
          sets the export job status to started
          sets the export job status to finished
# [RSpecRunTime] RSpec elapsed time: 19 minutes 11.59 seconds. Current RSS: ~1572M. load average: 1.09 1.15 1.18 1/297 8636


      when it fails
        does not raise an exception when strategy is invalid
        does not raise error when project cannot be found
        does not raise error when user cannot be found
        fails the export job status
# [RSpecRunTime] RSpec elapsed time: 19 minutes 14.01 seconds. Current RSS: ~1558M. load average: 1.09 1.15 1.18 1/296 8637


    sidekiq options
      disables retry
      disables dead
      sets default status expiration
  exporters duration measuring
    logs exporters execution duration
# [RSpecRunTime] RSpec elapsed time: 19 minutes 15.85 seconds. Current RSS: ~1553M. load average: 1.09 1.15 1.18 1/299 8644



# [RSpecRunTime] Finishing example group spec/workers/project_export_worker_spec.rb. It took 6.86 seconds. Expected to take 7.08 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/chat/output_spec.rb. Expected to take 6.71 seconds.

Gitlab::Chat::Output
  #to_s
    returns the chat reply as a String
    without the chat_reply trace section
      falls back to using the step_script trace section
      without the step_script trace section
        falls back to using the build_script trace section
        without the build_script trace section
          raises MissingBuildSectionError
# [RSpecRunTime] RSpec elapsed time: 19 minutes 18.76 seconds. Current RSS: ~1525M. load average: 1.17 1.17 1.19 1/296 8645


  #without_executed_command_line
    returns the input without the first line
    returns an empty String when the input is empty
    returns an empty String when the input consits of a single newline
# [RSpecRunTime] RSpec elapsed time: 19 minutes 20.77 seconds. Current RSS: ~1526M. load average: 1.17 1.17 1.19 1/292 8646


  #find_build_trace_section
    returns nil when no section could be found
    returns the trace section when it could be found
# [RSpecRunTime] RSpec elapsed time: 19 minutes 22.19 seconds. Current RSS: ~1525M. load average: 1.15 1.16 1.18 1/291 8647



# [RSpecRunTime] Finishing example group spec/lib/gitlab/chat/output_spec.rb. It took 6.34 seconds. Expected to take 6.71 seconds.
# [RSpecRunTime] Starting example group spec/models/protected_branch/merge_access_level_spec.rb. Expected to take 6.44 seconds.

ProtectedBranch::MergeAccessLevel
  does not allow STI
  is expected to belong to protected_branch required: false
  validations
    when role?
      is expected to validate that :access_level is either ‹30›, ‹40›, ‹60›, or ‹0›
      is expected to validate that :access_level cannot be empty/falsy
      is expected to validate that :access_level is case-sensitively unique within the scope of :protected_branch_id
# [RSpecRunTime] RSpec elapsed time: 19 minutes 23.35 seconds. Current RSS: ~1524M. load average: 1.15 1.16 1.18 1/291 8648


    when not role?
      is expected not to validate that :access_level cannot be empty/falsy
      is expected not to validate that :access_level is either ‹30›, ‹40›, ‹60›, or ‹0›
      is expected not to validate that :access_level is case-sensitively unique within the scope of :protected_branch_id
  ::human_access_levels
    is expected to eq {30=>"Developers + Maintainers", 40=>"Maintainers", 60=>"Instance admins", 0=>"No one"}
  #check_access
    when current_user is nil
      is expected to eq false
    when current_user access exists without membership
      does not check membership if check_membership_in_protected_ref_access FF is disabled
      when check_membership_in_protected_ref_access FF is enabled
        does check membership
        returns false
        when user has inherited membership
          is expected to be truthy
# [RSpecRunTime] RSpec elapsed time: 19 minutes 25.52 seconds. Current RSS: ~1540M. load average: 1.15 1.16 1.18 1/291 8649


    when access_level is NO_ACCESS
      is expected to eq false
    when instance admin access is configured
      when current_user is a maintainer
        is expected to eq false
      when current_user is admin
        is expected to eq true
    when current_user can push_code to project
      and member access is high enough
        is expected to eq true
        when external authorization denies access
          is expected to be falsey
      and member access is too low
        is expected to eq false
    when current_user cannot push_code to project
      is expected to eq false
  #project
    delegates project to protected_branch association
  #protected_branch_group
    looks for the group attached to protected_branch
  when current_project is nil
    and protected_branch_group isn't nil
      assign_access_level: :guest, expected_check_access: false
        is expected to eq false
      assign_access_level: :reporter, expected_check_access: false
        is expected to eq false
      assign_access_level: :developer, expected_check_access: true
        is expected to eq true
      assign_access_level: :maintainer, expected_check_access: true
        is expected to eq true
      assign_access_level: :owner, expected_check_access: true
        is expected to eq true
  ::allowed_access_levels
    when running on Gitlab.com?
      is expected to contain exactly 30, 40, and 0
    when self hosted?
      is expected to contain exactly 30, 40, 60, and 0

# [RSpecRunTime] Finishing example group spec/models/protected_branch/merge_access_level_spec.rb. It took 5.91 seconds. Expected to take 6.44 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/slash_commands/issue_new_spec.rb. Expected to take 6.28 seconds.

Gitlab::SlashCommands::IssueNew
  #execute
    without description
      creates the issue
# [RSpecRunTime] RSpec elapsed time: 19 minutes 29.27 seconds. Current RSS: ~1554M. load average: 1.14 1.16 1.18 1/291 8650


    with description
      creates the issue with description
    with more newlines between the title and the description
      creates the issue
    issue cannot be created
      displays the errors
      when create issue service return an unrecoverable error
        displays the errors
# [RSpecRunTime] RSpec elapsed time: 19 minutes 32.78 seconds. Current RSS: ~1534M. load average: 1.13 1.16 1.18 1/291 8651


  .match
    matches the title without description
    matches the title with description
    matches the alias new

# [RSpecRunTime] Finishing example group spec/lib/gitlab/slash_commands/issue_new_spec.rb. It took 4.97 seconds. Expected to take 6.28 seconds.
# [RSpecRunTime] Starting example group spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb. Expected to take 6.05 seconds.

Atlassian::JiraConnect::Serializers::DeploymentEntity
  #issue_keys
    extracts issue keys from the commits
    limits the number of commits scanned
    when deploy happened at an older commit
      extracts only issue keys from that commit or older
# [RSpecRunTime] RSpec elapsed time: 19 minutes 34.57 seconds. Current RSS: ~1540M. load average: 1.13 1.16 1.18 1/296 8684


    when the deployment has an associated merge request
      includes issue keys extracted from the merge request
# [RSpecRunTime] RSpec elapsed time: 19 minutes 35.77 seconds. Current RSS: ~1545M. load average: 1.13 1.16 1.18 1/296 8705


    when there was a successful deploy to the environment
      behaves like extracts only issue keys from commits made since that deployment
        is expected to contain exactly "add a" and "add d"
      when the deploy was for a different environment
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
      when the deploy was for a different branch or tag
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
      when the deploy was not successful
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
      when the deploy commit cannot be found
        behaves like ignores that deployment
          is expected to contain exactly "add a", "add d", and "added"
      when there is a more recent deployment
        extracts only issue keys from commits made since that deployment
  environment type
    tier: "other", env_type: "unmapped"
      has the same type as the environment tier
  when deployment is an external deployment
    does not raise errors when serializing
  #to_json
    when the deployment does not belong to any Jira issue
      can encode the object
      is invalid, since it has no issue keys
    when the deployment belongs to Jira issue
      is valid according to the deployment info schema

# [RSpecRunTime] Finishing example group spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb. It took 5.4 seconds. Expected to take 6.05 seconds.
# [RSpecRunTime] Starting example group spec/finders/feature_flags_finder_spec.rb. Expected to take 5.94 seconds.

FeatureFlagsFinder
  #execute
    returns feature flags ordered by name
    preloads relations by default
    when user is a reporter
      returns an empty list
# [RSpecRunTime] RSpec elapsed time: 19 minutes 41.17 seconds. Current RSS: ~1551M. load average: 1.12 1.16 1.18 1/296 8775


    when scope is given
      when scope is enabled
        returns active feature flag
      when scope is disabled
        returns inactive feature flag
    when preload option is false
      does not preload relations

# [RSpecRunTime] Finishing example group spec/finders/feature_flags_finder_spec.rb. It took 5.4 seconds. Expected to take 5.94 seconds.
# [RSpecRunTime] Starting example group spec/services/repositories/housekeeping_service_spec.rb. Expected to take 5.87 seconds.

Repositories::HousekeepingService
  behaves like housekeeps repository
    with a clean redis state
      #execute
        enqueues a sidekiq job
        yields the block if given
        resets counter after execution
        runs the task specifically requested
        when no lease can be obtained
          does not enqueue a job
          does not reset pushes_since_gc
          does not yield
# [RSpecRunTime] RSpec elapsed time: 19 minutes 45.35 seconds. Current RSS: ~1538M. load average: 1.11 1.15 1.18 1/296 8782


        task type
          goes through all three housekeeping tasks, executing only the highest task when there is overlap
      #needed?
        when the count is low enough
        when the count is high enough
        when incremental repack period is not multiple of gc period
      #increment!
        increments the pushes_since_gc counter
  behaves like housekeeps repository
    with a clean redis state
      #execute
        enqueues a sidekiq job
        yields the block if given
        resets counter after execution
        runs the task specifically requested
        when no lease can be obtained
          does not enqueue a job
          does not reset pushes_since_gc
          does not yield
# [RSpecRunTime] RSpec elapsed time: 19 minutes 47.22 seconds. Current RSS: ~1557M. load average: 1.18 1.17 1.18 1/296 8785


        task type
          goes through all three housekeeping tasks, executing only the highest task when there is overlap
      #needed?
        when the count is low enough
        when the count is high enough
        when incremental repack period is not multiple of gc period
      #increment!
        increments the pushes_since_gc counter

# [RSpecRunTime] Finishing example group spec/services/repositories/housekeeping_service_spec.rb. It took 4.12 seconds. Expected to take 5.87 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb. Expected to take 5.55 seconds.

Gitlab::ImportExport::Project::Sample::RelationFactory
  issue object
    correctly updated due date
# [RSpecRunTime] RSpec elapsed time: 19 minutes 49.17 seconds. Current RSS: ~1547M. load average: 1.18 1.17 1.18 1/291 8792


  milestone object
    correctly updated due date
    correctly updated start date
# [RSpecRunTime] RSpec elapsed time: 19 minutes 50.98 seconds. Current RSS: ~1561M. load average: 1.18 1.17 1.18 1/291 8805


  milestone object
    correctly updated due date
    correctly updated start date
# [RSpecRunTime] RSpec elapsed time: 19 minutes 52.69 seconds. Current RSS: ~1568M. load average: 1.16 1.16 1.18 1/291 8818


  hook object
    does not calculate the closest date to average

# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb. It took 4.78 seconds. Expected to take 5.55 seconds.
# [RSpecRunTime] Starting example group spec/services/tags/create_service_spec.rb. Expected to take 5.5 seconds.

Tags::CreateService
  #execute
    creates the tag and returns success
    when target is invalid
      returns an error
# [RSpecRunTime] RSpec elapsed time: 19 minutes 54.45 seconds. Current RSS: ~1572M. load average: 1.16 1.16 1.18 1/293 8842


    when tag_name is empty
      returns an error
    when target is empty
      returns an error
    when tag already exists
      returns an error
    when tag name is invalid
      returns an error
    when pre-receive hook fails
      returns an error

# [RSpecRunTime] Finishing example group spec/services/tags/create_service_spec.rb. It took 5.27 seconds. Expected to take 5.5 seconds.
# [RSpecRunTime] Starting example group spec/views/projects/empty.html.haml_spec.rb. Expected to take 5.31 seconds.

projects/empty
  when user can push code on the project
    displays "git clone" instructions
    when default branch name contains special shell characters
      escapes the default branch name
# [RSpecRunTime] RSpec elapsed time: 19 minutes 59.92 seconds. Current RSS: ~1570M. load average: 1.39 1.21 1.20 1/293 8878


  when user can not push code on the project
    does not display "git clone" instructions
  project is archived
    shows archived notice
  with invite button on empty projects
    shows invite members info
    when user does not have permissions to invite members
      does not show invite member info

# [RSpecRunTime] Finishing example group spec/views/projects/empty.html.haml_spec.rb. It took 4.08 seconds. Expected to take 5.31 seconds.
# [RSpecRunTime] Starting example group spec/helpers/ci/pipelines_helper_spec.rb. Expected to take 5.18 seconds.

Ci::PipelinesHelper
  has_gitlab_ci?
    builds_enabled?: true, has_ci?: true, result: true
      is expected to eq true
    builds_enabled?: true, has_ci?: false, result: false
      is expected to eq false
    builds_enabled?: false, has_ci?: true, result: false
      is expected to eq false
    builds_enabled?: false, has_ci?: false, result: false
      is expected to eq false
  #pipelines_list_data
    has the expected keys
  #visibility_pipeline_id_type
    when user is not signed in
      shows default pipeline id type
    when user is signed in
      shows user preference pipeline id type
  #show_jenkins_ci_prompt
    add_role_method: :add_owner, has_gitlab_ci?: false, has_jenkinsfile?: true, result: "true"
      is expected to eq "true"
    add_role_method: :add_maintainer, has_gitlab_ci?: false, has_jenkinsfile?: true, result: "true"
      is expected to eq "true"
    add_role_method: :add_developer, has_gitlab_ci?: false, has_jenkinsfile?: true, result: "true"
      is expected to eq "true"
    add_role_method: :add_guest, has_gitlab_ci?: false, has_jenkinsfile?: true, result: "false"
      is expected to eq "false"
    add_role_method: :add_owner, has_gitlab_ci?: false, has_jenkinsfile?: false, result: "false"
      is expected to eq "false"
    add_role_method: :add_owner, has_gitlab_ci?: true, has_jenkinsfile?: true, result: "false"
      is expected to eq "false"
    add_role_method: :add_owner, has_gitlab_ci?: true, has_jenkinsfile?: false, result: "false"
      is expected to eq "false"

# [RSpecRunTime] Finishing example group spec/helpers/ci/pipelines_helper_spec.rb. It took 4.39 seconds. Expected to take 5.18 seconds.
# [RSpecRunTime] Starting example group spec/finders/design_management/versions_finder_spec.rb. Expected to take 5.09 seconds.

DesignManagement::VersionsFinder
  #execute
    when user cannot read designs of an issue
      returns no results when passed a DesignCollection
      when passed a Design
        returns no results when passed a Design
    when user can read designs of an issue
      when design management feature is disabled
        returns no results when passed a DesignCollection
        when passed a Design
          returns no results when passed a Design
      when design management feature is enabled
        passing a DesignCollection or a Design for the initial scoping
          returns the versions scoped to the DesignCollection
          when passed a Design
            returns the versions scoped to the Design
        returning versions earlier or equal to a version
          when argument is the first version
            is expected to eq [#<DesignManagement::Version id: 1, sha: "a13377f75764affa6ead5764de6efa889ed8a104", issue_id: 477, created_at: "2024-03-26 15:57:27.800699000 +0000", author_id: 1138>]
          when argument is the second version
            is expected to contain exactly #<DesignManagement::Version id: 1, sha: "a13377f75764affa6ead5764de6efa889ed8a104", issue_id: 477, created_at: "2024-03-26 15:57:27.800699000 +0000", author_id: 1138> and #<DesignManagement::Version id: 2, sha: "23853f42d743242de96318888b3507fe29ed2c8f", issue_id: 477, created_at: "2024-03-26 15:57:27.918935000 +0000", author_id: 1138>
        returning versions by SHA
          when argument is the first version
            is expected to contain exactly #<DesignManagement::Version id: 1, sha: "a13377f75764affa6ead5764de6efa889ed8a104", issue_id: 477, created_at: "2024-03-26 15:57:27.800699000 +0000", author_id: 1138>
          when argument is the second version
            is expected to contain exactly #<DesignManagement::Version id: 2, sha: "23853f42d743242de96318888b3507fe29ed2c8f", issue_id: 477, created_at: "2024-03-26 15:57:27.918935000 +0000", author_id: 1138>
        returning versions by ID
          when argument is the first version
            is expected to contain exactly #<DesignManagement::Version id: 1, sha: "a13377f75764affa6ead5764de6efa889ed8a104", issue_id: 477, created_at: "2024-03-26 15:57:27.800699000 +0000", author_id: 1138>
          when argument is the second version
            is expected to contain exactly #<DesignManagement::Version id: 2, sha: "23853f42d743242de96318888b3507fe29ed2c8f", issue_id: 477, created_at: "2024-03-26 15:57:27.918935000 +0000", author_id: 1138>
        mixing id and sha
          when arguments are consistent
            is expected to contain exactly #<DesignManagement::Version id: 1, sha: "a13377f75764affa6ead5764de6efa889ed8a104", issue_id: 477, created_at: "2024-03-26 15:57:27.800699000 +0000", author_id: 1138>
          when arguments are in-consistent
            is expected to be empty

# [RSpecRunTime] Finishing example group spec/finders/design_management/versions_finder_spec.rb. It took 3.62 seconds. Expected to take 5.09 seconds.
# [RSpecRunTime] Starting example group spec/presenters/issue_presenter_spec.rb. Expected to take 4.94 seconds.

IssuePresenter
  #web_url
    returns correct path
    when issue type is task
      returns a work item url using iid for the task
# [RSpecRunTime] RSpec elapsed time: 20 minutes 11.71 seconds. Current RSS: ~1540M. load average: 1.30 1.20 1.19 1/292 8925


  #subscribed?
    returns not subscribed
    returns subscribed
  #issue_path
    returns correct path
    when issue type is task
      returns a work item path using iid for the task
  #parent_emails_disabled?
    returns false when emails notifications is enabled for project
    when emails notifications is disabled for project
      is expected to equal true
    for group-level issue
      returns false when email notifications are enabled for group
      when email notifications are disabled for group
        is expected to equal true
  #service_desk_reply_to
    when issue is not a service desk issue
      is expected to be nil
    when issue is a service desk issue
      is expected to eq "an*****@e*****.c**"
      with signed in user
        when user has no role in project
          is expected to eq "an*****@e*****.c**"
        when user has guest role in project
          is expected to eq "an*****@e*****.c**"
        when user has reporter role in project
          is expected to eq "any@email.com"
        when user has developer role in project
          is expected to eq "any@email.com"
  #issue_email_participants
    is expected to be empty
    when an issue email participant exists
      has one element that is a presenter

# [RSpecRunTime] Finishing example group spec/presenters/issue_presenter_spec.rb. It took 4.69 seconds. Expected to take 4.94 seconds.
# [RSpecRunTime] Starting example group spec/tasks/gitlab/setup_rake_spec.rb. Expected to take 4.86 seconds.

gitlab:setup namespace rake tasks
  setup
    sets up the application
    when an environment variable is set to force execution
      sets up the application without prompting the user
    when the gitaly connection check raises an error
      exits the task without setting up the database
    when the task is aborted
      exits without setting up the database
    when in the production environment
      sets up the database without terminating connections

# [RSpecRunTime] Finishing example group spec/tasks/gitlab/setup_rake_spec.rb. It took 5.29 seconds. Expected to take 4.86 seconds.
# [RSpecRunTime] RSpec elapsed time: 20 minutes 20.28 seconds. Current RSS: ~1517M. load average: 1.28 1.20 1.19 1/291 8926


# [RSpecRunTime] Starting example group spec/lib/gitlab/hook_data/project_builder_spec.rb. Expected to take 4.7 seconds.

Gitlab::HookData::ProjectBuilder
  #build
    data
      the project is created in a personal namespace
        on create
          is expected to eq "project_create"
          behaves like includes the required attributes
            includes the required attributes
# [RSpecRunTime] RSpec elapsed time: 20 minutes 21.29 seconds. Current RSS: ~1513M. load average: 1.28 1.20 1.19 1/292 8927


          behaves like does not include `old_path_with_namespace` attribute
            does not include `old_path_with_namespace` attribute
        on destroy
          is expected to eq "project_destroy"
          behaves like includes the required attributes
            includes the required attributes
          behaves like does not include `old_path_with_namespace` attribute
            does not include `old_path_with_namespace` attribute
        on rename
          is expected to eq "project_rename"
          behaves like includes the required attributes
            includes the required attributes
          behaves like includes `old_path_with_namespace` attribute
            includes `old_path_with_namespace` attribute
        on transfer
          is expected to eq "project_transfer"
          behaves like includes the required attributes
            includes the required attributes
          behaves like includes `old_path_with_namespace` attribute
            includes `old_path_with_namespace` attribute
      the project is created in a group
        on create
          is expected to eq "project_create"
          behaves like includes the required attributes
            includes the required attributes
          behaves like does not include `old_path_with_namespace` attribute
            does not include `old_path_with_namespace` attribute
          group has pending owner invitation
            is expected to eq "project_create"
        on destroy
          is expected to eq "project_destroy"
          behaves like includes the required attributes
            includes the required attributes
          behaves like does not include `old_path_with_namespace` attribute
            does not include `old_path_with_namespace` attribute
        on rename
          is expected to eq "project_rename"
          behaves like includes the required attributes
            includes the required attributes
          behaves like includes `old_path_with_namespace` attribute
            includes `old_path_with_namespace` attribute
        on transfer
          is expected to eq "project_transfer"
          behaves like includes the required attributes
            includes the required attributes
          behaves like includes `old_path_with_namespace` attribute
            includes `old_path_with_namespace` attribute

# [RSpecRunTime] Finishing example group spec/lib/gitlab/hook_data/project_builder_spec.rb. It took 4.64 seconds. Expected to take 4.7 seconds.
# [RSpecRunTime] Starting example group spec/serializers/diff_file_metadata_entity_spec.rb. Expected to take 4.67 seconds.

DiffFileMetadataEntity
  as json
    exposes the expected fields
    behaves like diff file with conflict_type
      #conflict_type
        returns nil by default
        when there is matching conflict file
          returns conflict_type
          when diff file is renamed
            returns conflict_type
# [RSpecRunTime] RSpec elapsed time: 20 minutes 29.2 seconds. Current RSS: ~1555M. load average: 1.24 1.19 1.19 1/297 9089



# [RSpecRunTime] Finishing example group spec/serializers/diff_file_metadata_entity_spec.rb. It took 4.39 seconds. Expected to take 4.67 seconds.
# [RSpecRunTime] Starting example group spec/serializers/base_discussion_entity_spec.rb. Expected to take 4.56 seconds.

BaseDiscussionEntity
  exposes correct attributes
  when note is on an issue
    does not include resolve_with_issue_path
# [RSpecRunTime] RSpec elapsed time: 20 minutes 31.0 seconds. Current RSS: ~1554M. load average: 1.24 1.19 1.19 1/297 9129


  when is LegacyDiffDiscussion
    exposes correct attributes
  when diff file is present
    exposes diff file attributes
# [RSpecRunTime] RSpec elapsed time: 20 minutes 32.96 seconds. Current RSS: ~1545M. load average: 1.22 1.19 1.19 1/297 9182


  when issues are disabled in a project
    does not show a new issues path

# [RSpecRunTime] Finishing example group spec/serializers/base_discussion_entity_spec.rb. It took 4.43 seconds. Expected to take 4.56 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb. Expected to take 4.44 seconds.

Jobs/Code-Quality.gitlab-ci.yml
  the created pipeline
    on master
      creates the code_quality job
# [RSpecRunTime] RSpec elapsed time: 20 minutes 34.93 seconds. Current RSS: ~1532M. load average: 1.22 1.19 1.19 1/297 9196


    on another branch
      creates the code_quality job
    on tag
      creates the code_quality job
    on merge request
      has no jobs
    CODE_QUALITY_DISABLED is set
      on master
        has no jobs
      on another branch
        has no jobs
      on tag
        has no jobs

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb. It took 4.38 seconds. Expected to take 4.44 seconds.
# [RSpecRunTime] Starting example group spec/models/integrations/ewm_spec.rb. Expected to take 4.4 seconds.

Integrations::Ewm
  does not allow STI
  Validations
    when integration is active
      is expected to validate that :project_url cannot be empty/falsy
      is expected to validate that :issues_url cannot be empty/falsy
      is expected to validate that :new_issue_url cannot be empty/falsy
      behaves like issue tracker integration URL attribute
        is expected to allow :project_url to be ‹"https://example.com"›
        is expected not to allow :project_url to be ‹"example.com"›
        is expected not to allow :project_url to be ‹"ftp://example.com"›
        is expected not to allow :project_url to be ‹"herp-and-derp"›
# [RSpecRunTime] RSpec elapsed time: 20 minutes 40.76 seconds. Current RSS: ~1543M. load average: 1.20 1.18 1.19 1/296 9260


      behaves like issue tracker integration URL attribute
        is expected to allow :issues_url to be ‹"https://example.com"›
        is expected not to allow :issues_url to be ‹"example.com"›
        is expected not to allow :issues_url to be ‹"ftp://example.com"›
        is expected not to allow :issues_url to be ‹"herp-and-derp"›
      behaves like issue tracker integration URL attribute
        is expected to allow :new_issue_url to be ‹"https://example.com"›
        is expected not to allow :new_issue_url to be ‹"example.com"›
        is expected not to allow :new_issue_url to be ‹"ftp://example.com"›
        is expected not to allow :new_issue_url to be ‹"herp-and-derp"›
    when integration is inactive
      is expected not to validate that :project_url cannot be empty/falsy
      is expected not to validate that :issues_url cannot be empty/falsy
      is expected not to validate that :new_issue_url cannot be empty/falsy
  ReferencePatternValidation
    extracts bug
    extracts task
    extracts work item
    extracts workitem
    extracts defect
    extracts rtcwi

# [RSpecRunTime] Finishing example group spec/models/integrations/ewm_spec.rb. It took 5.27 seconds. Expected to take 4.4 seconds.
# [RSpecRunTime] Starting example group spec/services/bulk_imports/process_service_spec.rb. Expected to take 4.2 seconds.

BulkImports::ProcessService
  #execute
    when no bulk import is found
      does nothing
    when bulk import is finished
      does nothing
    when bulk import is failed
      does nothing
    when bulk import has timed out
      does nothing
    when all entities are processed
      marks bulk import as finished
    when all entities are failed
      marks bulk import as failed
    when maximum allowed number of import entities in progress
      re-enqueues itself
    when bulk import is created
      marks bulk import as started
      creates all the required pipeline trackers
      when there are created entities to process
        marks a batch of entities as started, enqueues EntityWorker, ExportRequestWorker and reenqueues
        when there are project entities to process
          enqueues ExportRequestWorker
# [RSpecRunTime] RSpec elapsed time: 20 minutes 45.69 seconds. Current RSS: ~1571M. load average: 1.26 1.20 1.19 1/296 9261


    when importing a group
      creates trackers for group entity
    when importing a project
      creates trackers for project entity
    when tracker configuration has a minimum version defined
      when the source instance version is older than the tracker mininum version
        creates trackers as skipped if version requirement does not meet
        logs an info message for the skipped pipelines
      when the source instance version is undefined
        creates trackers as created
    when tracker configuration has a maximum version defined
      when the source instance version is older than the tracker maximum version
        creates trackers as skipped if version requirement does not meet
      when the source instance version is a patch version
        creates trackers with the same status as the non-patch source version

# [RSpecRunTime] Finishing example group spec/services/bulk_imports/process_service_spec.rb. It took 4.07 seconds. Expected to take 4.2 seconds.
# [RSpecRunTime] Starting example group spec/finders/packages/pypi/packages_finder_spec.rb. Expected to take 4.19 seconds.

Packages::Pypi::PackagesFinder
  #execute
    with package name param
      within a project
        is expected to contain exactly #<Packages::Package id: 34, project_id: 635, created_at: "2024-03-26 15:58:08.782982383 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 35, project_id: 635, created_at: "2024-03-26 15:58:08.810220601 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>
        behaves like when no package is found
          non-existing package
            is expected to be empty
# [RSpecRunTime] RSpec elapsed time: 20 minutes 48.59 seconds. Current RSS: ~1561M. load average: 1.24 1.19 1.19 1/292 9262


        behaves like when package_name param is a non-normalized name
          non-existing package
            is expected to be empty
      within a group
        is expected to be empty
        user with access to only one project
          is expected to contain exactly #<Packages::Package id: 36, project_id: 636, created_at: "2024-03-26 15:58:08.837018229 +0000", updat...age_type: "pypi", creator_id: 1177, status: "default", last_downloaded_at: nil, status_message: nil>
          behaves like when no package is found
            non-existing package
              is expected to be empty
          behaves like when package_name param is a non-normalized name
            non-existing package
              is expected to be empty
          user with access to multiple projects
            is expected to contain exactly #<Packages::Package id: 34, project_id: 635, created_at: "2024-03-26 15:58:08.782982383 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 35, project_id: 635, created_at: "2024-03-26 15:58:08.810220601 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 36, project_id: 636, created_at: "2024-03-26 15:58:08.837018229 +0000", updat...age_type: "pypi", creator_id: 1177, status: "default", last_downloaded_at: nil, status_message: nil>
            when package registry is disabled for one project
              filters the packages from the disabled project
    without package_name param
      within a group
        user with access to only one project
          is expected to contain exactly #<Packages::Package id: 36, project_id: 636, created_at: "2024-03-26 15:58:08.837018229 +0000", updat...age_type: "pypi", creator_id: 1177, status: "default", last_downloaded_at: nil, status_message: nil>
          user with access to multiple projects
            is expected to contain exactly #<Packages::Package id: 33, project_id: 635, created_at: "2024-03-26 15:58:08.718561057 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 34, project_id: 635, created_at: "2024-03-26 15:58:08.782982383 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 35, project_id: 635, created_at: "2024-03-26 15:58:08.810220601 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 36, project_id: 636, created_at: "2024-03-26 15:58:08.837018229 +0000", updat...age_type: "pypi", creator_id: 1177, status: "default", last_downloaded_at: nil, status_message: nil>
      within a project
        is expected to contain exactly #<Packages::Package id: 33, project_id: 635, created_at: "2024-03-26 15:58:08.718561057 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 34, project_id: 635, created_at: "2024-03-26 15:58:08.782982383 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 35, project_id: 635, created_at: "2024-03-26 15:58:08.810220601 +0000", updat...age_type: "pypi", creator_id: 1175, status: "default", last_downloaded_at: nil, status_message: nil>

# [RSpecRunTime] Finishing example group spec/finders/packages/pypi/packages_finder_spec.rb. It took 3.74 seconds. Expected to take 4.19 seconds.
# [RSpecRunTime] Starting example group spec/lib/api/helpers/packages_helpers_spec.rb. Expected to take 4.01 seconds.

API::Helpers::PackagesHelpers
  authorize_packages_access!
    authorizes packages access
    with an allowed required permission
      authorizes packages access
    with a not allowed permission
      rejects packages access
  authorize_read_package!
    subject: project, expected_class: Packages::Policies::Project
      calls authorize! with correct subject
    subject: group, expected_class: Packages::Policies::Group
      calls authorize! with correct subject
    subject: package, expected_class: Packages::Package(id: integer, project_id: integer, created_at: timestamptz, updated_at: timestamptz, name: string, version: string, package_type: integer, creator_id: integer, status: integer, last_downloaded_at: timestamptz, status_message: text)
      calls authorize! with correct subject
  authorize_create_package!
    calls authorize!
  authorize_destroy_package!
    calls authorize!
  require_packages_enabled!
    with packages enabled
      doesn't call not_found!
    with package disabled
      calls not_found!
  #authorize_workhorse!
    authorizes workhorse
    without length
      authorizes workhorse
  #authorize_upload!
    authorizes the upload
  #user_project
    calls find_project! on default action
    calls find_project! on read_project action
    calls user_project_with_read_package on read_package action
    throws ArgumentError on unexpected action
  #user_project_with_read_package
    with non-existing project
      with current user
        returns Not Found
      without current user
        returns Unauthorized
    with existing project
      with current user
        as developer member
          returns project
        as guest member
          returns Forbidden
      without current user
        returns Unauthorized
    if no authorized project scope
      returns Forbidden
  #track_package_event
    behaves like Snowplow event tracking with RedisHLL context
      behaves like Snowplow event tracking
        is emitted
    when using deploy token and action is push package
      logs a snowplow event
    when guest and action is pull package
      logs a snowplow event

# [RSpecRunTime] Finishing example group spec/lib/api/helpers/packages_helpers_spec.rb. It took 3.95 seconds. Expected to take 4.01 seconds.
# [RSpecRunTime] Starting example group spec/lib/container_registry/migration_spec.rb. Expected to take 3.99 seconds.

ContainerRegistry::Migration
  .enabled?
    is expected to eq true
    feature flag disabled
      is expected to eq false
  .limit_gitlab_org?
    is expected to eq true
    feature flag disabled
      is expected to eq false
  .enqueue_waiting_time
    slow_enabled: false, fast_enabled: false, expected_result: 45 minutes
      is expected to eq 45 minutes
    slow_enabled: true, fast_enabled: false, expected_result: 165 minutes
      is expected to eq 165 minutes
    slow_enabled: false, fast_enabled: true, expected_result: 0
      is expected to eq 0
    slow_enabled: true, fast_enabled: true, expected_result: 0
      is expected to eq 0
  .capacity
    ff_1_enabled: false, ff_2_enabled: false, ff_5_enabled: false, ff_10_enabled: false, ff_25_enabled: false, ff_40_enabled: false, expected_result: 0
      is expected to eq 0
    ff_1_enabled: true, ff_2_enabled: false, ff_5_enabled: false, ff_10_enabled: false, ff_25_enabled: false, ff_40_enabled: false, expected_result: 1
      is expected to eq 1
    ff_1_enabled: false, ff_2_enabled: true, ff_5_enabled: false, ff_10_enabled: false, ff_25_enabled: false, ff_40_enabled: false, expected_result: 2
      is expected to eq 2
    ff_1_enabled: true, ff_2_enabled: true, ff_5_enabled: false, ff_10_enabled: false, ff_25_enabled: false, ff_40_enabled: false, expected_result: 2
      is expected to eq 2
    ff_1_enabled: false, ff_2_enabled: false, ff_5_enabled: true, ff_10_enabled: false, ff_25_enabled: false, ff_40_enabled: false, expected_result: 5
      is expected to eq 5
    ff_1_enabled: true, ff_2_enabled: true, ff_5_enabled: true, ff_10_enabled: false, ff_25_enabled: false, ff_40_enabled: false, expected_result: 5
      is expected to eq 5
    ff_1_enabled: false, ff_2_enabled: false, ff_5_enabled: false, ff_10_enabled: true, ff_25_enabled: false, ff_40_enabled: false, expected_result: 10
      is expected to eq 10
    ff_1_enabled: true, ff_2_enabled: true, ff_5_enabled: true, ff_10_enabled: true, ff_25_enabled: false, ff_40_enabled: false, expected_result: 10
      is expected to eq 10
    ff_1_enabled: false, ff_2_enabled: false, ff_5_enabled: false, ff_10_enabled: false, ff_25_enabled: true, ff_40_enabled: false, expected_result: 25
      is expected to eq 25
    ff_1_enabled: true, ff_2_enabled: true, ff_5_enabled: true, ff_10_enabled: true, ff_25_enabled: true, ff_40_enabled: false, expected_result: 25
      is expected to eq 25
    ff_1_enabled: false, ff_2_enabled: false, ff_5_enabled: false, ff_10_enabled: false, ff_25_enabled: false, ff_40_enabled: true, expected_result: 40
      is expected to eq 40
    ff_1_enabled: true, ff_2_enabled: true, ff_5_enabled: true, ff_10_enabled: true, ff_25_enabled: true, ff_40_enabled: true, expected_result: 40
      is expected to eq 40
  .max_tags_count
    returns the matching application_setting
  .max_retries
    returns the matching application_setting
  .start_max_retries
    returns the matching application_setting
  .max_step_duration
    returns the matching application_setting
  .target_plan_name
    returns the matching application_setting
  .created_before
    returns the matching application_setting
  .pre_import_timeout
    returns the matching application_setting
  .import_timeout
    returns the matching application_setting
  .pre_import_tags_rate
    returns the matching application_setting
  .target_plans
    target_plan: "free", result: ["free", "early_adopter", nil]
      is expected to eq ["free", "early_adopter", nil]
    target_plan: "premium", result: ["premium", "bronze", "silver", "premium_trial"]
      is expected to eq ["premium", "bronze", "silver", "premium_trial"]
    target_plan: "ultimate", result: ["ultimate", "gold", "ultimate_trial"]
      is expected to eq ["ultimate", "gold", "ultimate_trial"]
  .all_plans?
    is expected to eq true
    feature flag disabled
      is expected to eq false
  .delete_container_repository_worker_support?
    is expected to eq true
    feature flag disabled
      is expected to eq false
  .dynamic_pre_import_timeout_for
    returns the expected seconds

# [RSpecRunTime] Finishing example group spec/lib/container_registry/migration_spec.rb. It took 3.86 seconds. Expected to take 3.99 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/spamcheck/client_spec.rb. Expected to take 3.89 seconds.

Gitlab::Spamcheck::Client
  url scheme
    is tls
      uses secure connection
# [RSpecRunTime] RSpec elapsed time: 21 minutes 0.12 second. Current RSS: ~1594M. load average: 1.20 1.19 1.19 1/291 9263


    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 3.65 seconds. Expected to take 3.89 seconds.
# [RSpecRunTime] Starting example group spec/finders/releases/evidence_pipeline_finder_spec.rb. Expected to take 3.8 seconds.

Releases::EvidencePipelineFinder#execute
  when the tag is passed
    returns the evidence pipeline
  when the ref is passed
    returns the evidence pipeline
  empty params
    returns nil
  params[:evidence_pipeline] is present
    returns the passed evidence pipeline

# [RSpecRunTime] Finishing example group spec/finders/releases/evidence_pipeline_finder_spec.rb. It took 3.1 seconds. Expected to take 3.8 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/load_balancing/session_spec.rb. Expected to take 3.64 seconds.

Gitlab::Database::LoadBalancing::Session
  .current
    returns the current session
  .clear_session
    clears the current session
  .without_sticky_writes
    ignores sticky write events sent by a connection proxy
    still is aware of write that happened
  #use_primary?
    returns true when the primary should be used
    returns false when a secondary should be used
    returns true when a write was performed
  #use_primary
    uses primary during block
    continues using primary when write was performed
    when primary was used before
      restores state after use
    when primary was not used
      restores state after use
  #performed_write?
    returns true if a write was performed
  #ignore_writes
    ignores write events
    does not prevent using primary if an exception is raised
  #use_replicas_for_read_queries
    sets the flag inside the block
    restores state after use
    when primary was used before
      sets the flag inside the block
    when a write query is performed before
      sets the flag inside the block
  #fallback_to_replicas_for_ambiguous_queries
    sets the flag inside the block
    restores state after use
    when primary was used before
      uses primary during block
    when a write was performed before
      uses primary during block
    when primary was used inside the block
      uses primary aterward
      restores state after use
    when a write was performed inside the block
      uses primary aterward
      restores state after use

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/load_balancing/session_spec.rb. It took 2.75 seconds. Expected to take 3.64 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/board_list_type_spec.rb. Expected to take 3.58 seconds.

Types::BoardListType
  is expected to eq "BoardList"
  has specific fields
  issues field
    has a correct extension
  title
    preloads the label association
# [RSpecRunTime] RSpec elapsed time: 21 minutes 11.65 seconds. Current RSS: ~1597M. load average: 1.16 1.18 1.18 1/296 9329



# [RSpecRunTime] Finishing example group spec/graphql/types/board_list_type_spec.rb. It took 3.25 seconds. Expected to take 3.58 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb. Expected to take 3.57 seconds.

Banzai::ReferenceParser::FeatureFlagParser
  #nodes_visible_to_user
    when the link has a data-issue attribute
      behaves like referenced feature visibility
        when feature is disabled
          does not create reference
        when feature is enabled only for team members
          does not create reference for non member
          creates reference for member
# [RSpecRunTime] RSpec elapsed time: 21 minutes 13.94 seconds. Current RSS: ~1577M. load average: 1.16 1.18 1.18 1/296 9330


        when feature is enabled
          creates reference
  #referenced_by
    when the link has a data-feature-flag attribute
      using an existing feature flag ID
        returns an Array of feature flags
      using a non-existing feature flag ID
        returns an empty Array

# [RSpecRunTime] Finishing example group spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb. It took 3.71 seconds. Expected to take 3.57 seconds.
# [RSpecRunTime] Starting example group spec/finders/timelogs/timelogs_finder_spec.rb. Expected to take 3.52 seconds.

Timelogs::TimelogsFinder
  #execute
    when params is empty
      returns all timelogs
# [RSpecRunTime] RSpec elapsed time: 21 minutes 17.43 seconds. Current RSS: ~1529M. load average: 1.15 1.17 1.18 1/293 9343


    when an issuable is provided
      returns the issuable timelogs
    when a username is provided
      returns all timelogs created by the user
    when a group is provided
      returns all timelogs of issuables inside that group
      when the group does not exist
        raises an exception
    when a project is provided
      returns all timelogs of issuables inside that project
      when the project does not exist
        returns an empty list and does not raise an exception
    when a start datetime is provided
      returns all timelogs created after that date
    when an end datetime is provided
      returns all timelogs created before that date
    when both a start and an end datetime are provided
      returns all timelogs created between those dates
      when start time is after end time
        raises an exception
    when sort is provided
      when sorting by spent_at desc
        returns timelogs sorted accordingly
      when sorting by spent_at asc
        returns timelogs sorted accordingly
      when sorting by time_spent desc
        returns timelogs sorted accordingly
      when sorting by time_spent asc
        returns timelogs sorted accordingly

# [RSpecRunTime] Finishing example group spec/finders/timelogs/timelogs_finder_spec.rb. It took 3.63 seconds. Expected to take 3.52 seconds.
# [RSpecRunTime] Starting example group spec/services/projects/import_export/parallel_export_service_spec.rb. Expected to take 3.45 seconds.

Projects::ImportExport::ParallelExportService
  #execute
    creates a project export archive file
    logs export progress
    executes after export stragegy on export success
    ensures files are cleaned up
    when export fails
      notifies the error to the user
# [RSpecRunTime] RSpec elapsed time: 21 minutes 21.92 seconds. Current RSS: ~1534M. load average: 1.13 1.17 1.18 1/293 9344


    when after export stragegy fails
      notifies the error to the user

# [RSpecRunTime] Finishing example group spec/services/projects/import_export/parallel_export_service_spec.rb. It took 3.5 seconds. Expected to take 3.45 seconds.
# [RSpecRunTime] Starting example group spec/finders/repositories/tree_finder_spec.rb. Expected to take 3.37 seconds.

Repositories::TreeFinder
  #execute
    returns an array
    includes 20 items by default
    accepts a gitaly_pagination argument
    commit doesn't exist
      raises an error
# [RSpecRunTime] RSpec elapsed time: 21 minutes 23.77 seconds. Current RSS: ~1527M. load average: 1.13 1.17 1.18 1/296 9379


    pagination_params
      has the per_page number of items
      doesn't include any of the first page records
  #next_cursor
    always nil before #execute call
    after #execute
      with gitaly pagination
        without pagination params
          is expected to be present
        with pagination params
          is expected to be present
          when all objects can be returned on the same page
            is expected to eq ""
      without gitaly pagination
        without pagination params
          is expected to be nil
        with pagination params
          is expected to be nil
          when all objects can be returned on the same page
            is expected to be nil
  #total
    is expected to be a kind of Integer
    only calculates the total once
  #commit_exists?
    ref exists
      is expected to equal true
    ref is missing
      is expected to equal false

# [RSpecRunTime] Finishing example group spec/finders/repositories/tree_finder_spec.rb. It took 2.98 seconds. Expected to take 3.37 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/highlight_spec.rb. Expected to take 3.36 seconds.

Gitlab::Highlight
  language provided
    sets correct lexer
  #highlight
    highlights
    returns plain version for unknown lexer context
    highlights multi-line comments
    links dependencies via DependencyLinker
    increments usage counter
    when content is too long to be highlighted
      returns plain version for long content
    diff highlighting
      highlights each line properly
      when start line number is set
        highlights each line properly
    with CRLF
      strips extra LFs
    timeout
      falls back to plaintext on timeout
    when used_on is specified
      increments usage counter
      links dependencies via DependencyLinker

# [RSpecRunTime] Finishing example group spec/lib/gitlab/highlight_spec.rb. It took 2.69 seconds. Expected to take 3.36 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/auth/user_access_denied_reason_spec.rb. Expected to take 3.25 seconds.

Gitlab::Auth::UserAccessDeniedReason
  #rejection_message
    when a user is blocked
      is expected to match /blocked/
    a user did not accept the enforced terms
      is expected to match /must accept the Terms of Service/
      is expected to include "user616"
      is expected to include "http://localhost"
# [RSpecRunTime] RSpec elapsed time: 21 minutes 30.63 seconds. Current RSS: ~1600M. load average: 1.12 1.17 1.18 1/296 9467


    when the user is internal
      is expected to match /This action cannot be performed by internal users/
    when the user is deactivated
      is expected to eq "Your account has been deactivated by your administrator. Please log back in from a web browser to reactivate your account at http://localhost"
    when the user is unconfirmed
      is expected to match /Your primary email address is not confirmed/
    when the user is blocked pending approval
      is expected to eq "Your account is pending approval from your administrator and hence blocked."
    when the user has expired password
      is expected to eq "Your password expired. Please access GitLab from a web browser to update your password."

# [RSpecRunTime] Finishing example group spec/lib/gitlab/auth/user_access_denied_reason_spec.rb. It took 3.3 seconds. Expected to take 3.25 seconds.
# [RSpecRunTime] Starting example group spec/models/namespaces/descendants_spec.rb. Expected to take 3.22 seconds.

Namespaces::Descendants
  does not allow STI
  associations
    is expected to belong to namespace required: false
  .expire_for
    sets the outdated_at column for the given namespace ids
  factory
    up to date descendant record for a group
    creates up-to-date descendant record for a subgroup
# [RSpecRunTime] RSpec elapsed time: 21 minutes 33.71 seconds. Current RSS: ~1550M. load average: 1.11 1.16 1.18 1/296 9468


  .upsert_with_consistent_data
    updates the namespace descendant record
  .load_outdated_batch
    returns outdated namespace_descendants ids
  validations
    is expected to validate that :namespace_id is case-sensitively unique

# [RSpecRunTime] Finishing example group spec/models/namespaces/descendants_spec.rb. It took 3.2 seconds. Expected to take 3.22 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb. Expected to take 3.15 seconds.

Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestLastBuildStarted
  behaves like value stream analytics event
    is expected to be a kind of String
    is expected to be a kind of Symbol
    is expected to include ApplicationRecord(abstract)
    is expected to respond to #timestamp_projection
    is expected to respond to #html_description
    is expected to be a kind of Array
    #apply_query_customization
      expects an ActiveRecord::Relation object as argument and returns a modified version of it
    #hash_code
      returns a hash that uniquely identifies an event
      does not differ when the same object is built with the same params
  behaves like LEFT JOIN-able value stream analytics event
    can use the event as LEFT JOIN
    when looking at the record with data
      contains the timestamp expression
# [RSpecRunTime] RSpec elapsed time: 21 minutes 37.73 seconds. Current RSS: ~1570M. load average: 1.18 1.18 1.18 1/297 9548


    when looking at the record without data
      returns nil for the timestamp expression

# [RSpecRunTime] Finishing example group spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb. It took 3.16 seconds. Expected to take 3.15 seconds.
# [RSpecRunTime] Starting example group spec/models/ci/pipeline_metadata_spec.rb. Expected to take 3.07 seconds.

Ci::PipelineMetadata
  is expected to belong to project required: false
  does not allow STI
  is expected to belong to pipeline required: false
  partitioning
    assigns the same partition id as the one that pipeline has
# [RSpecRunTime] RSpec elapsed time: 21 minutes 39.39 seconds. Current RSS: ~1571M. load average: 1.18 1.18 1.18 1/297 9549


  validations
    is expected to validate that the length of :name is between 1 and 255
    is expected to validate that :project cannot be empty/falsy
    is expected to validate that :pipeline cannot be empty/falsy
    is expected to define :auto_cancel_on_new_commit as an enum backed by an integer with values ‹{conservative: 0, interruptible: 1, none: 2}›, prefix: true
    is expected to define :auto_cancel_on_job_failure as an enum backed by an integer with values ‹{none: 0, all: 1}›, prefix: true

# [RSpecRunTime] Finishing example group spec/models/ci/pipeline_metadata_spec.rb. It took 2.13 seconds. Expected to take 3.07 seconds.
# [RSpecRunTime] Starting example group spec/lib/error_tracking/sentry_client/projects_spec.rb. Expected to take 3.04 seconds.

ErrorTracking::SentryClient::Projects
  #projects
    behaves like calls sentry api
      calls sentry api
    behaves like has correct return type
      returns objects of type Gitlab::ErrorTracking::Project
    behaves like has correct length
      is expected to eq 2
    behaves like Sentry API response size limit
      when response body is within limit
        checks parsed response
      when response body is too large
        raises an exception
      when resulting memory size of the parsed response is too large
        raises an exception
    essential keys missing in API response
      raises exception
    optional keys missing in sentry response
      behaves like calls sentry api
        calls sentry api
      behaves like has correct return type
        returns objects of type Gitlab::ErrorTracking::Project
      behaves like has correct length
        is expected to eq 1
    error object created from sentry response
      sentry_project_object: :id, sentry_response: :id
        is expected to eq "2"
      sentry_project_object: :name, sentry_response: :name
        is expected to eq "sentry-example"
      sentry_project_object: :status, sentry_response: :status
        is expected to eq "active"
      sentry_project_object: :slug, sentry_response: :slug
        is expected to eq "sentry-example"
      sentry_project_object: :organization_name, sentry_response: [:organization, :name]
        is expected to eq "Sentry"
      sentry_project_object: :organization_id, sentry_response: [:organization, :id]
        is expected to eq "1"
      sentry_project_object: :organization_slug, sentry_response: [:organization, :slug]
        is expected to eq "sentry"
    redirects
      behaves like no Sentry redirects
        does not follow redirects
    when exception is raised
      behaves like maps Sentry exceptions
        HTTParty::Error
          is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"
        Net::OpenTimeout
          is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"
        SocketError
          is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"
        OpenSSL::SSL::SSLError
          is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"
        Errno::ECONNREFUSED
          is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"
        StandardError
          is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"

# [RSpecRunTime] Finishing example group spec/lib/error_tracking/sentry_client/projects_spec.rb. It took 2.75 seconds. Expected to take 3.04 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/job_type_spec.rb. Expected to take 2.96 seconds.

Types::Ci::JobType
  is expected to eq "CiJob"
  is expected to expose permissions using Types::PermissionTypes::Ci::Job
  exposes the expected fields
  #web_path
    returns the web path of the job
# [RSpecRunTime] RSpec elapsed time: 21 minutes 44.34 seconds. Current RSS: ~1579M. load average: 1.17 1.18 1.18 1/295 9550


  #browse_artifacts_path
    returns the path to browse the artifacts of the job
# [RSpecRunTime] RSpec elapsed time: 21 minutes 45.4 seconds. Current RSS: ~1573M. load average: 1.17 1.18 1.18 1/295 9551



# [RSpecRunTime] Finishing example group spec/graphql/types/ci/job_type_spec.rb. It took 2.69 seconds. Expected to take 2.96 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/status/build/manual_spec.rb. Expected to take 2.93 seconds.

Gitlab::Ci::Status::Build::Manual
  #illustration
    is expected to include :image, :size, :title, and :content
    when the user can trigger the job
      when the job has not been played
        instructs the user about possible actions
      when the job is retryable
        instructs the user about possible actions
    when the user can not trigger the job because of outdated deployment
      is expected to match /This deployment job does not run automatically and must be started manually, but it's older than the latest deployment, and therefore can't run/
    when the user can not trigger the job due to another reason
      informs the user
  .matches?
    when build is manual
      is a correct match
    when build is not manual
      does not match

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/status/build/manual_spec.rb. It took 2.84 seconds. Expected to take 2.93 seconds.
# [RSpecRunTime] Starting example group spec/finders/projects/ml/model_version_finder_spec.rb. Expected to take 2.87 seconds.

Projects::Ml::ModelVersionFinder
  default params
    returns models for project ordered by id desc
    including the latest version and project
# [RSpecRunTime] RSpec elapsed time: 21 minutes 50.17 seconds. Current RSS: ~1555M. load average: 1.16 1.17 1.18 1/290 9552


  sorting
    test_case: "default params", order_by: nil, direction: nil, expected_order: [2, 1, 0]
      is expected to eq [#<Ml::ModelVersion id: 3, created_at: "2024-03-26 15:59:09.762927928 +0000", updated_at: "2024-03-26...description: [FILTERED], semver_major: 2, semver_minor: 0, semver_patch: 1, semver_prerelease: nil>]
    test_case: "ascending order", order_by: "id", direction: "ASC", expected_order: [0, 1, 2]
      is expected to eq [#<Ml::ModelVersion id: 1, created_at: "2024-03-26 15:59:09.717477751 +0000", updated_at: "2024-03-26...description: [FILTERED], semver_major: 1, semver_minor: 0, semver_patch: 1, semver_prerelease: nil>]
    test_case: "by version", order_by: "version", direction: "ASC", expected_order: [2, 0, 1]
      is expected to eq [#<Ml::ModelVersion id: 3, created_at: "2024-03-26 15:59:09.762927928 +0000", updated_at: "2024-03-26...description: [FILTERED], semver_major: 3, semver_minor: 0, semver_patch: 0, semver_prerelease: nil>]
    test_case: "by version desc", order_by: "version", direction: "DESC", expected_order: [1, 0, 2]
      is expected to eq [#<Ml::ModelVersion id: 2, created_at: "2024-03-26 15:59:09.746138349 +0000", updated_at: "2024-03-26...description: [FILTERED], semver_major: 1, semver_minor: 0, semver_patch: 1, semver_prerelease: nil>]
    test_case: "invalid sort", order_by: nil, direction: "UP", expected_order: [2, 1, 0]
      is expected to eq [#<Ml::ModelVersion id: 3, created_at: "2024-03-26 15:59:09.762927928 +0000", updated_at: "2024-03-26...description: [FILTERED], semver_major: 2, semver_minor: 0, semver_patch: 1, semver_prerelease: nil>]
    test_case: "invalid order by", order_by: "INVALID", direction: nil, expected_order: [2, 1, 0]
      is expected to eq [#<Ml::ModelVersion id: 3, created_at: "2024-03-26 15:59:09.762927928 +0000", updated_at: "2024-03-26...description: [FILTERED], semver_major: 2, semver_minor: 0, semver_patch: 1, semver_prerelease: nil>]
    test_case: "order by updated_at", order_by: "created_at", direction: nil, expected_order: [2, 1, 0]
      is expected to eq [#<Ml::ModelVersion id: 3, created_at: "2024-03-26 15:59:09.762927928 +0000", updated_at: "2024-03-26...description: [FILTERED], semver_major: 2, semver_minor: 0, semver_patch: 1, semver_prerelease: nil>]
  when version is passed
    searches by name

# [RSpecRunTime] Finishing example group spec/finders/projects/ml/model_version_finder_spec.rb. It took 2.98 seconds. Expected to take 2.87 seconds.
# [RSpecRunTime] Starting example group spec/services/ci/find_exposed_artifacts_service_spec.rb. Expected to take 2.81 seconds.

Ci::FindExposedArtifactsService
  #for_pipeline
    with jobs having no exposed artifacts
      behaves like does not find any matches
        returns empty array
    with jobs having no artifacts (metadata)
      behaves like does not find any matches
        returns empty array
    with jobs having at most 1 matching exposed artifact
      behaves like finds a single match
        returns the artifact with exact location
    with jobs having more than 1 matching exposed artifacts
      behaves like finds multiple matches
        returns the path to the artifacts browser
    with jobs having more than 1 matching exposed artifacts inside a directory
      behaves like finds multiple matches
        returns the path to the artifacts browser
    with jobs having paths with glob expression
      behaves like finds a single match
        returns the artifact with exact location
    limiting results
      returns first 2 results
    cross-project MR
      returns the correct path for cross-project MRs

# [RSpecRunTime] Finishing example group spec/services/ci/find_exposed_artifacts_service_spec.rb. It took 2.66 seconds. Expected to take 2.81 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/pipeline/chain/build_spec.rb. Expected to take 2.76 seconds.

Gitlab::Ci::Pipeline::Chain::Build
  does not break the chain
  builds a pipeline with the expected attributes
  returns a valid pipeline
  does not persist a pipeline
  when pipeline is running for a tag
    correctly indicated that this is a tagged pipeline
    when origin_ref is branch but tag ref with the same name exists
      correctly indicated that a pipeline is not tagged
# [RSpecRunTime] RSpec elapsed time: 21 minutes 55.49 seconds. Current RSS: ~1558M. load average: 1.22 1.19 1.18 1/295 9586


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

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/pipeline/chain/build_spec.rb. It took 2.54 seconds. Expected to take 2.76 seconds.
# [RSpecRunTime] Starting example group spec/services/environments/create_service_spec.rb. Expected to take 2.71 seconds.

Environments::CreateService
  #execute
    creates an environment
    returns successful response
    with a cluster agent
      returns successful response
      when user does not have permission to read the agent
        returns an error
# [RSpecRunTime] RSpec elapsed time: 21 minutes 58.36 seconds. Current RSS: ~1556M. load average: 1.20 1.18 1.18 1/295 9621


    when params contain invalid value
      does not create an environment
      returns an error
    when disallowed parameter is passed
      ignores the parameter
    when user is reporter
      does not create an environment
      returns an error

# [RSpecRunTime] Finishing example group spec/services/environments/create_service_spec.rb. It took 2.58 seconds. Expected to take 2.71 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/utils/username_and_email_generator_spec.rb. Expected to take 2.71 seconds.

Gitlab::Utils::UsernameAndEmailGenerator
  email name is the same as username
  check email domain
  contains SecureRandom part
  when conflicts
    when username is reserved
      when username is reserved by user
        uniquifies username and email
      when it conflicts with top-level group namespace
        uniquifies username and email
      when it conflicts with top-level group namespace that includes upcased characters
        uniquifies username and email
    when email is reserved
      when it conflicts with confirmed primary email
        uniquifies username and email
      when it conflicts with unconfirmed primary email
        uniquifies username and email
      when it conflicts with confirmed secondary email
        uniquifies username and email
    when email and username is reserved
      uniquifies username and email
  email domain
    defaults to `Gitlab.config.gitlab.host`
    when specified
      uses the specified email domain

# [RSpecRunTime] Finishing example group spec/lib/gitlab/utils/username_and_email_generator_spec.rb. It took 2.57 seconds. Expected to take 2.71 seconds.
# [RSpecRunTime] Starting example group spec/lib/api/entities/clusters/agents/authorizations/ci_access_spec.rb. Expected to take 2.64 seconds.

API::Entities::Clusters::Agents::Authorizations::CiAccess
  project authorization
    includes shared fields
# [RSpecRunTime] RSpec elapsed time: 22 minutes 2.82 seconds. Current RSS: ~1543M. load average: 1.19 1.18 1.18 2/295 9622


  implicit authorization
    includes shared fields
  group authorization
    includes shared fields

# [RSpecRunTime] Finishing example group spec/lib/api/entities/clusters/agents/authorizations/ci_access_spec.rb. It took 2.53 seconds. Expected to take 2.64 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/middleware/same_site_cookies_spec.rb. Expected to take 2.62 seconds.

Gitlab::Middleware::SameSiteCookies
  #call
    without SSL enabled
      with cookie
        does not add headers to cookies
    with SSL enabled
      with no cookies
        does not add headers
      with different browsers
        description: "iOS 12", user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1", expected: false
          returns expected SameSite status
        description: "macOS 10.14 + Safari", user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Safari/605.1.15", expected: false
          returns expected SameSite status
        description: "macOS 10.14 + Opera", user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36 OPR/47.0.2631.55", expected: false
          returns expected SameSite status
        description: "macOS 10.14 + Chrome v80", user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36", expected: true
          returns expected SameSite status
        description: "Chrome v41", user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", expected: true
          returns expected SameSite status
        description: "Chrome v50", user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2348.1 Safari/537.36", expected: true
          returns expected SameSite status
        description: "Chrome v51", user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2718.15 Safari/537.36", expected: false
          returns expected SameSite status
        description: "Chrome v62", user_agent: "Mozilla/5.0 (Macintosh; Intel NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36", expected: false
          returns expected SameSite status
        description: "Chrome v66", user_agent: "Mozilla/5.0 (Linux; Android 4.4.2; Avvio_793 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36", expected: false
          returns expected SameSite status
        description: "Chrome v67", user_agent: "Mozilla/5.0 (Linux; Android 7.1.1; SM-J510F Build/NMF26X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3371.0 Mobile Safari/537.36", expected: true
          returns expected SameSite status
        description: "Chrome v85", user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36", expected: true
          returns expected SameSite status
        description: "Chromium v66", user_agent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 HeadlessChrome/66.0.3359.181 Safari/537.36", expected: false
          returns expected SameSite status
        description: "Chromium v85", user_agent: "Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/85.0.4183.59 Chrome/85.0.4183.59 Safari/537.36", expected: true
          returns expected SameSite status
        description: "UC Browser 12.0.4", user_agent: "Mozilla/5.0 (Linux; U; Android 4.4.4; zh-CN; A31 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.0.4.986 Mobile Safari/537.36", expected: false
          returns expected SameSite status
        description: "UC Browser 12.13.0", user_agent: "Mozilla/5.0 (Linux; U; Android 7.1.1; en-US; SM-C9000 Build/NMF26X) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.13.0.1207 Mobile Safari/537.36", expected: false
          returns expected SameSite status
        description: "UC Browser 12.13.2", user_agent: "Mozilla/5.0 (Linux; U; Android 9; en-US; Redmi Note 7 Build/PQ3B.190801.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.13.2.1208 Mobile Safari/537.36", expected: true
          returns expected SameSite status
        description: "UC Browser 12.13.5", user_agent: "Mozilla/5.0 (Linux; U; Android 5.1.1; en-US; PHICOMM C630 (CLUE L) Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.13.5.1209 Mobile Safari/537.36", expected: true
          returns expected SameSite status
        description: "Playstation", user_agent: "Mozilla/5.0 (PlayStation 4 2.51) AppleWebKit/537.73 (KHTML, like Gecko)", expected: true
          returns expected SameSite status
      with single cookie
        adds required headers
      multiple cookies
        adds required headers
      multiple cookies with some missing headers
        adds missing headers
      multiple cookies with all headers present
        does not add new headers

# [RSpecRunTime] Finishing example group spec/lib/gitlab/middleware/same_site_cookies_spec.rb. It took 2.8 seconds. Expected to take 2.62 seconds.
# [RSpecRunTime] Starting example group spec/helpers/version_check_helper_spec.rb. Expected to take 2.59 seconds.

VersionCheckHelper
  #show_version_check?
    return conditions
      enabled: false, consent: false, is_admin: false, result: false
        returns correct results
      enabled: false, consent: false, is_admin: true, result: false
        returns correct results
      enabled: false, consent: true, is_admin: false, result: false
        returns correct results
      enabled: false, consent: true, is_admin: true, result: false
        returns correct results
      enabled: true, consent: false, is_admin: false, result: false
        returns correct results
      enabled: true, consent: false, is_admin: true, result: true
        returns correct results
      enabled: true, consent: true, is_admin: false, result: false
        returns correct results
      enabled: true, consent: true, is_admin: true, result: false
        returns correct results
  #gitlab_version_check
    when show_version_check? is false it returns nil
    when show_version_check? is true
      returns an instance of the VersionCheck class if the user has access
  #show_security_patch_upgrade_alert?
    return conditions
      gitlab_version_check: nil, result: false
        returns correct results
      gitlab_version_check: {}, result: nil
        returns correct results
      gitlab_version_check: {"severity"=>"success"}, result: nil
        returns correct results
      gitlab_version_check: {"severity"=>"danger"}, result: nil
        returns correct results
      gitlab_version_check: {"severity"=>"danger", "critical_vulnerability"=>"some text"}, result: nil
        returns correct results
      gitlab_version_check: {"severity"=>"danger", "critical_vulnerability"=>"false"}, result: false
        returns correct results
      gitlab_version_check: {"severity"=>"danger", "critical_vulnerability"=>false}, result: false
        returns correct results
      gitlab_version_check: {"severity"=>"danger", "critical_vulnerability"=>"true"}, result: true
        returns correct results
      gitlab_version_check: {"severity"=>"danger", "critical_vulnerability"=>true}, result: true
        returns correct results
  #link_to_version
    for a pre-release
      links to commit sha
    for a normal release
      links to version tag

# [RSpecRunTime] Finishing example group spec/helpers/version_check_helper_spec.rb. It took 2.59 seconds. Expected to take 2.59 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/regex/packages/protection/rules_spec.rb. Expected to take 2.55 seconds.

Gitlab::Regex::Packages::Protection::Rules
  .protection_rules_npm_package_name_pattern_regex
    is expected to match "@scope/package-*"
    is expected to match "@my-scope/*my-package-with-wildcard-inbetween"
    is expected to match "@my-scope/*my-package-with-wildcard-start"
    is expected to match "@my-scope/my-*package-*with-wildcard-multiple-*"
    is expected to match "@my-scope/my-package-with_____underscore"
    is expected to match "@my-scope/my-package-with-wildcard-end*"
    is expected to match "@my-scope/my-package-with-regex-characters.+"
    is expected not to match "@my-scope/my-package-with-percent-sign-%"
    is expected not to match "*@my-scope/my-package-with-wildcard-start"
    is expected not to match "@my-scope/my-package-with-backslash-\\*"
    behaves like npm package name regex
      is expected to match "@scope/package"
      is expected to match "unscoped-package"
      is expected not to match "@first-scope@second-scope/package"
      is expected not to match "scope-without-at-symbol/package"
      is expected not to match "@not-a-scoped-package"
      is expected not to match "@scope/sub/package"
      is expected not to match "@scope/../../package"
      is expected not to match "@scope%2e%2e%2fpackage"
      is expected not to match "@%2e%2e%2f/package"
# [RSpecRunTime] RSpec elapsed time: 22 minutes 11.69 seconds. Current RSS: ~1566M. load average: 1.16 1.17 1.18 1/290 9623



# [RSpecRunTime] Finishing example group spec/lib/gitlab/regex/packages/protection/rules_spec.rb. It took 2.2 seconds. Expected to take 2.55 seconds.
# [RSpecRunTime] Starting example group spec/validators/public_url_validator_spec.rb. Expected to take 2.53 seconds.

PublicUrlValidator
  #validate
    with no options
      allows http,https schemes by default
      checks that the url structure is valid
    with schemes
      allows urls with the defined schemes
      add error if the url scheme does not match the selected ones
  by default
    blocks urls pointing to localhost
    blocks urls pointing to the local network
  when local requests are allowed
    does not block urls pointing to localhost
    does not block urls pointing to the local network

# [RSpecRunTime] Finishing example group spec/validators/public_url_validator_spec.rb. It took 2.09 seconds. Expected to take 2.53 seconds.
# [RSpecRunTime] Starting example group spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb. Expected to take 2.45 seconds.

PagesDomainSslRenewalCronWorker
  #perform
    enqueues a PagesDomainSslRenewalWorker for domains needing renewal
    behaves like a pages cronjob scheduling jobs with context
      schedules the renewal with a context
      with RequestStore enabled
        does not cause extra queries for multiple domains
# [RSpecRunTime] RSpec elapsed time: 22 minutes 15.94 seconds. Current RSS: ~1574M. load average: 1.16 1.17 1.18 1/290 9624


    when letsencrypt integration is disabled
      does nothing

# [RSpecRunTime] Finishing example group spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb. It took 2.42 seconds. Expected to take 2.45 seconds.
# [RSpecRunTime] Starting example group spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb. Expected to take 2.44 seconds.

Mutations::ResolvesIssuable
  with issues
    behaves like resolving an issuable in GraphQL
      when user has access
        resolves issuable by iid
        the IID does not refer to a valid issuable
          returns nil
# [RSpecRunTime] RSpec elapsed time: 22 minutes 17.58 seconds. Current RSS: ~1553M. load average: 1.15 1.17 1.18 1/292 9633


        the parent path is not present
          returns nil
  with merge requests
    behaves like resolving an issuable in GraphQL
      when user has access
        resolves issuable by iid
        the IID does not refer to a valid issuable
          returns nil
        the parent path is not present
          returns nil

# [RSpecRunTime] Finishing example group spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb. It took 2.37 seconds. Expected to take 2.44 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/pipeline/description_pipeline_spec.rb. Expected to take 2.39 seconds.

Banzai::Pipeline::DescriptionPipeline
  uses a limited allowlist
  removes 'pre' elements
  removes 'code' elements
  removes 'img' elements
  removes 'ol' elements
  removes 'ul' elements
  removes 'li' elements
  still allows 'b' elements
  still allows 'i' elements
  still allows 'strong' elements
  still allows 'em' elements
  still allows 'a' elements
  still allows 'ins' elements
  still allows 'del' elements
  still allows 'sup' elements
  still allows 'sub' elements
  still allows 'p' elements

# [RSpecRunTime] Finishing example group spec/lib/banzai/pipeline/description_pipeline_spec.rb. It took 2.62 seconds. Expected to take 2.39 seconds.
# [RSpecRunTime] RSpec elapsed time: 22 minutes 21.33 seconds. Current RSS: ~1568M. load average: 1.15 1.17 1.18 1/292 9634


# [RSpecRunTime] Starting example group spec/helpers/colors_helper_spec.rb. Expected to take 2.32 seconds.

ColorsHelper
  #hex_color_to_rgb_array
    valid hex color
      hex_color: "#000000", rgb_array: [0, 0, 0]
        returns correct RGB array
      hex_color: "#aaaaaa", rgb_array: [170, 170, 170]
        returns correct RGB array
      hex_color: "#cCcCcC", rgb_array: [204, 204, 204]
        returns correct RGB array
      hex_color: "#FFFFFF", rgb_array: [255, 255, 255]
        returns correct RGB array
      hex_color: "#000abc", rgb_array: [0, 10, 188]
        returns correct RGB array
      hex_color: "#123456", rgb_array: [18, 52, 86]
        returns correct RGB array
      hex_color: "#a1b2c3", rgb_array: [161, 178, 195]
        returns correct RGB array
      hex_color: "#000", rgb_array: [0, 0, 0]
        returns correct RGB array
      hex_color: "#abc", rgb_array: [170, 187, 204]
        returns correct RGB array
      hex_color: "#321", rgb_array: [51, 34, 17]
        returns correct RGB array
      hex_color: "#7E2", rgb_array: [119, 238, 34]
        returns correct RGB array
      hex_color: "#fFf", rgb_array: [255, 255, 255]
        returns correct RGB array
    invalid hex color
      hex_color: ""
        raise ArgumentError
      hex_color: "0"
        raise ArgumentError
      hex_color: "#00"
        raise ArgumentError
      hex_color: "#ffff"
        raise ArgumentError
      hex_color: "#1234567"
        raise ArgumentError
      hex_color: "invalid"
        raise ArgumentError
      hex_color: []
        raise ArgumentError
      hex_color: 1
        raise ArgumentError
      hex_color: nil
        raise ArgumentError

# [RSpecRunTime] Finishing example group spec/helpers/colors_helper_spec.rb. It took 2.58 seconds. Expected to take 2.32 seconds.
# [RSpecRunTime] Starting example group spec/rubocop/cop/avoid_return_from_blocks_spec.rb. Expected to take 2.29 seconds.

RuboCop::Cop::AvoidReturnFromBlocks
  flags violation for return inside included > def > block
  doesn't flag violation for next inside a block
  flags violation for return inside a block
  doesn't flag violation for break inside a block
  doesn't check when block is empty
  doesn't create more than one offense for nested blocks
  doesn't flag violation for return used inside a method definition
  doesn't flag violation for return inside a lambda
  behaves like examples with def methods
    doesn't flag violation for return inside define_method
# [RSpecRunTime] RSpec elapsed time: 22 minutes 25.1 seconds. Current RSS: ~1574M. load average: 1.29 1.20 1.19 1/292 9635


  behaves like examples with allowlisted method
    doesn't flag violation for return inside each_filename
  behaves like examples with def methods
    doesn't flag violation for return inside lambda
  behaves like examples with allowlisted method
    doesn't flag violation for return inside loop
  behaves like examples with allowlisted method
    doesn't flag violation for return inside times
  behaves like examples with allowlisted method
    doesn't flag violation for return inside each

# [RSpecRunTime] Finishing example group spec/rubocop/cop/avoid_return_from_blocks_spec.rb. It took 1.85 seconds. Expected to take 2.29 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/metrics/prometheus_spec.rb. Expected to take 2.28 seconds.

Gitlab::Metrics::Prometheus
  #reset_registry!
    clears existing metrics
  #error_detected!
    disables Prometheus metrics

# [RSpecRunTime] Finishing example group spec/lib/gitlab/metrics/prometheus_spec.rb. It took 1.29 seconds. Expected to take 2.28 seconds.
# [RSpecRunTime] Starting example group spec/models/packages/debian/project_architecture_spec.rb. Expected to take 2.24 seconds.

Packages::Debian::ProjectArchitecture
  does not allow STI
  behaves like Debian Distribution Architecture
    relationships
      is expected to belong to distribution class_name => Packages::Debian::ProjectDistribution required: false inverse_of => architectures
      is expected to have many files class_name => Packages::Debian::ProjectComponentFile inverse_of => architecture
# [RSpecRunTime] RSpec elapsed time: 22 minutes 28.27 seconds. Current RSS: ~1567M. load average: 1.27 1.20 1.19 1/290 9636


    validations
      #distribution
        is expected to validate that :distribution cannot be empty/falsy
      #name
        is expected to validate that :name cannot be empty/falsy
        is expected to allow :name to be ‹"amd64"›
        is expected to allow :name to be ‹"kfreebsd-i386"›
        is expected not to allow :name to be ‹"-a"›
        is expected not to allow :name to be ‹"AMD64"›
    scopes
      .ordered_by_name
        is expected to contain exactly #<Packages::Debian::ProjectArchitecture id: 1, created_at: "2024-03-26 15:59:48.183355000 +0000", updated_at: "2024-03-26 15:59:48.183355000 +0000", distribution_id: 1, name: "name1"> and #<Packages::Debian::ProjectArchitecture id: 2, created_at: "2024-03-26 15:59:48.189349899 +0000", updated_at: "2024-03-26 15:59:48.189349899 +0000", distribution_id: 1, name: "name2">
      .with_distribution
        is expected to contain exactly #<Packages::Debian::ProjectArchitecture id: 1, created_at: "2024-03-26 15:59:48.183355000 +0000", updated_at: "2024-03-26 15:59:48.183355000 +0000", distribution_id: 1, name: "name1"> and #<Packages::Debian::ProjectArchitecture id: 2, created_at: "2024-03-26 15:59:48.189349899 +0000", updated_at: "2024-03-26 15:59:48.189349899 +0000", distribution_id: 1, name: "name2">
      .with_name
        is expected to contain exactly #<Packages::Debian::ProjectArchitecture id: 1, created_at: "2024-03-26 15:59:48.183355000 +0000", updated_at: "2024-03-26 15:59:48.183355000 +0000", distribution_id: 1, name: "name1"> and #<Packages::Debian::ProjectArchitecture id: 3, created_at: "2024-03-26 15:59:48.501371940 +0000", updated_at: "2024-03-26 15:59:48.501371940 +0000", distribution_id: 2, name: "name1">

# [RSpecRunTime] Finishing example group spec/models/packages/debian/project_architecture_spec.rb. It took 2.34 seconds. Expected to take 2.24 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/panel_spec.rb. Expected to take 2.19 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 2.01 seconds. Expected to take 2.19 seconds.
# [RSpecRunTime] Starting example group spec/serializers/ci/downloadable_artifact_entity_spec.rb. Expected to take 2.18 seconds.

Ci::DownloadableArtifactEntity
  #as_json
    contains required fields
    when user cannot read job artifact
      returns only artifacts readable by user
# [RSpecRunTime] RSpec elapsed time: 22 minutes 33.34 seconds. Current RSS: ~1558M. load average: 1.25 1.19 1.19 1/290 9637



# [RSpecRunTime] Finishing example group spec/serializers/ci/downloadable_artifact_entity_spec.rb. It took 2.04 seconds. Expected to take 2.18 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb. Expected to take 2.1 seconds.

Gitlab::Ci::Status::Pipeline::Delayed
  #text
    overrides status text
  #label
    overrides status label
  .matches?
    when pipeline is scheduled
      is a correct match
    when pipeline is not scheduled
      does not match

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb. It took 1.49 seconds. Expected to take 2.1 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/data_builder/feature_flag_spec.rb. Expected to take 2.09 seconds.

Gitlab::DataBuilder::FeatureFlag
  .build
    is expected to be a kind of Hash
    is expected to eq "feature_flag"
    contains the correct object attributes
# [RSpecRunTime] RSpec elapsed time: 22 minutes 36.9 seconds. Current RSS: ~1553M. load average: 1.23 1.19 1.18 1/290 9638



# [RSpecRunTime] Finishing example group spec/lib/gitlab/data_builder/feature_flag_spec.rb. It took 2.06 seconds. Expected to take 2.09 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/avatar_restorer_spec.rb. Expected to take 2.03 seconds.

Gitlab::ImportExport::AvatarRestorer
  does not break if there is just a directory
  with avatar
    restores a project avatar
    saves the avatar into the project
# [RSpecRunTime] RSpec elapsed time: 22 minutes 38.91 seconds. Current RSS: ~1532M. load average: 1.23 1.19 1.18 1/290 9639



# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/avatar_restorer_spec.rb. It took 2.01 seconds. Expected to take 2.03 seconds.
# [RSpecRunTime] Starting example group spec/services/environments/canary_ingress/update_service_spec.rb. Expected to take 2.02 seconds.

Environments::CanaryIngress::UpdateService
  #execute_async
    when the actor does not have permission to update environment
      behaves like failed request
        returns an error
    when weight parameter is invalid
      behaves like failed request
        returns an error
    when no parameters exist
      behaves like failed request
        returns an error
    when environment has a running deployment
      behaves like failed request
        returns an error
    when canary ingress was updated recently
      behaves like failed request
        returns an error
  #execute
    when canary ingress is present in the environment
      when patch request succeeds
        returns success
        clears all caches
      when patch request does not succeed
        behaves like failed request
          returns an error
    when canary ingress is not present in the environment
      behaves like failed request
        returns an error

# [RSpecRunTime] Finishing example group spec/services/environments/canary_ingress/update_service_spec.rb. It took 1.94 seconds. Expected to take 2.02 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/checks/lfs_check_spec.rb. Expected to take 1.99 seconds.

Gitlab::Checks::LfsCheck
  #validate!
    with LFS not enabled
      skips integrity check
    with LFS enabled
      fails if any LFS blobs are missing
      succeeds if LFS objects have already been uploaded
      with deletion
        with missing newrev
          behaves like a skipped integrity check
            skips integrity check
        with blank newrev
          behaves like a skipped integrity check
            skips integrity check

# [RSpecRunTime] Finishing example group spec/lib/gitlab/checks/lfs_check_spec.rb. It took 2.0 seconds. Expected to take 1.99 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/variables/builder/group_spec.rb. Expected to take 1.97 seconds.

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

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/variables/builder/group_spec.rb. It took 1.67 seconds. Expected to take 1.97 seconds.
# [RSpecRunTime] Starting example group spec/workers/merge_requests/delete_source_branch_worker_spec.rb. Expected to take 1.94 seconds.

MergeRequests::DeleteSourceBranchWorker
  #perform
    with a non-existing merge request
      does nothing
    with a non-existing user
      does nothing
    with existing user and merge request
      calls delete branch worker
      source branch sha does not match
        does nothing
      when delete worker raises an error
        still retargets the merge request
      behaves like an idempotent worker
        is labeled as idempotent
        performs multiple times sequentially without raising an exception

# [RSpecRunTime] Finishing example group spec/workers/merge_requests/delete_source_branch_worker_spec.rb. It took 1.75 seconds. Expected to take 1.94 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/daemon_spec.rb. Expected to take 1.91 seconds.

Gitlab::Daemon
  .instance
    provides instance of Daemon
    subsequent invocations provide the same instance
    creates at_exit hook when instance is created
  .initialize_instance
    provides instance of Daemon
    when instance has already been created
      and recreate flag is false
        raises an error
      and recreate flag is true
        calls stop on existing instance and returns new instance
  when Daemon is enabled
    when Daemon is stopped
      #start
        starts the Daemon
        @synchronous
          when @synchronous is set to true
            calls join on the thread
          when @synchronous is not set to a truthy value
            does not call join on the thread
      #stop
        doesn't shutdown stopped Daemon
    #start_working
      when start_working fails
        does not start thread
    when Daemon is running
      #start
        doesn't start running Daemon
      #stop
        shutdowns Daemon
        when stop_working raises exception
#<Thread:0x00007f5941a6e9f0 /builds/gitlab-org/gitlab/lib/gitlab/daemon.rb:56 run> terminated with exception (report_on_exception is true):
Interrupt (Interrupt)
          shutdowns Daemon
  when Daemon is disabled
    #start
      doesn't start working
    #stop
      doesn't stop working

# [RSpecRunTime] Finishing example group spec/lib/gitlab/daemon_spec.rb. It took 1.61 seconds. Expected to take 1.91 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/badge/coverage/report_spec.rb. Expected to take 1.87 seconds.

Gitlab::Ci::Badge::Coverage::Report
  #entity
    describes a coverage
  #metadata
    returns correct metadata
  #template
    returns correct template
  #status
    with no job specified
      returns the most recent successful pipeline coverage value
      and no successful pipelines
        returns nil
    with a blank job name
      returns the latest successful pipeline coverage value
    with an unmatching job name specified
      returns nil
    with a matching job name specified
      returns the pipeline coverage value
      with a more recent running pipeline
        returns the running pipeline coverage value
      with a more recent failed pipeline
        returns the failed pipeline coverage value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/badge/coverage/report_spec.rb. It took 1.83 seconds. Expected to take 1.87 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb. Expected to take 1.86 seconds.

Gitlab::Ci::Config::Entry::AllowFailure
  validations
    when entry config value is valid
      with boolean values
        behaves like valid entry
          #value
            returns key value
          #valid?
            is valid
        behaves like valid entry
          #value
            returns key value
          #valid?
            is valid
      with hash values
        behaves like valid entry
          #value
            returns key value
          #valid?
            is valid
        behaves like valid entry
          #value
            returns key value
          #valid?
            is valid
    when entry value is not valid
      when it has a wrong type
        behaves like invalid entry
          #valid?
            is expected not to be valid
            is expected to include "allow failure config should be a hash or a boolean value"
      with string exit codes
        behaves like invalid entry
          #valid?
            is expected not to be valid
            is expected to include "allow failure exit codes should be an array of integers or an integer"
      with array of strings as exit codes
        behaves like invalid entry
          #valid?
            is expected not to be valid
            is expected to include "allow failure exit codes should be an array of integers or an integer"
      when it has an extra keys
        behaves like invalid entry
          #valid?
            is expected not to be valid
            is expected to include "allow failure config contains unknown keys: extra"

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb. It took 1.61 seconds. Expected to take 1.86 seconds.
# [RSpecRunTime] Starting example group spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb. Expected to take 1.82 seconds.

Resolvers::Kas::AgentConfigurationsResolver
  is expected to eq #<Class:0x00007f596640a5a8>
  is expected to be truthy
  is expected to eq true
  #resolve
    returns agents configured for the project
    an error is returned from the KAS client
      generates a graphql error
# [RSpecRunTime] RSpec elapsed time: 22 minutes 52.63 seconds. Current RSS: ~1556M. load average: 1.33 1.21 1.19 1/295 9706


    user does not have permission
      is expected to be empty

# [RSpecRunTime] Finishing example group spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb. It took 1.47 seconds. Expected to take 1.82 seconds.
# [RSpecRunTime] Starting example group spec/models/blob_viewer/changelog_spec.rb. Expected to take 1.81 seconds.

BlobViewer::Changelog
  does not allow STI
  #render_error
    when there are no tags
      returns :no_tags
    when there are tags
      returns nil

# [RSpecRunTime] Finishing example group spec/models/blob_viewer/changelog_spec.rb. It took 1.63 seconds. Expected to take 1.81 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/user_profile/menus/personal_projects_menu_spec.rb. Expected to take 1.78 seconds.

Sidebars::UserProfile::Menus::PersonalProjectsMenu
  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

# [RSpecRunTime] Finishing example group spec/lib/sidebars/user_profile/menus/personal_projects_menu_spec.rb. It took 1.65 seconds. Expected to take 1.78 seconds.
# [RSpecRunTime] Starting example group spec/finders/packages/helm/package_files_finder_spec.rb. Expected to take 1.75 seconds.

Packages::Helm::PackageFilesFinder
  #execute
    with empty params
      is expected to eq [#<Packages::PackageFile id: 86, package_id: 38, created_at: "2024-03-26 16:00:17.375682065 +0000", u...m: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>]
# [RSpecRunTime] RSpec elapsed time: 22 minutes 57.33 seconds. Current RSS: ~1549M. load average: 1.22 1.19 1.18 1/290 9721


    with another project
      is expected to eq []
# [RSpecRunTime] RSpec elapsed time: 22 minutes 58.81 seconds. Current RSS: ~1544M. load average: 1.22 1.19 1.18 1/290 9722


    with another channel
      is expected to eq []
    with matching file_name
      is expected to eq [#<Packages::PackageFile id: 86, package_id: 38, created_at: "2024-03-26 16:00:17.375682065 +0000", u...m: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>]
    with another file_name
      is expected to eq []
  #most_recent!
    is expected to eq #<Packages::PackageFile id: 86, package_id: 38, created_at: "2024-03-26 16:00:17.375682065 +0000", up...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>

# [RSpecRunTime] Finishing example group spec/finders/packages/helm/package_files_finder_spec.rb. It took 3.15 seconds. Expected to take 1.75 seconds.
# [RSpecRunTime] Starting example group spec/models/integrations/external_wiki_spec.rb. Expected to take 1.72 seconds.

Integrations::ExternalWiki
  does not allow STI
  Validations
    when integration is active
      is expected to validate that :external_wiki_url cannot be empty/falsy
      behaves like issue tracker integration URL attribute
        is expected to allow :external_wiki_url to be ‹"https://example.com"›
        is expected not to allow :external_wiki_url to be ‹"example.com"›
        is expected not to allow :external_wiki_url to be ‹"ftp://example.com"›
        is expected not to allow :external_wiki_url to be ‹"herp-and-derp"›
# [RSpecRunTime] RSpec elapsed time: 23 minutes 0.4 second. Current RSS: ~1556M. load average: 1.22 1.19 1.18 1/290 9723


    when integration is inactive
      is expected not to validate that :external_wiki_url cannot be empty/falsy
  test
    the URL is not reachable
      is not successful
    the URL is reachable
      is successful

# [RSpecRunTime] Finishing example group spec/models/integrations/external_wiki_spec.rb. It took 1.52 seconds. Expected to take 1.72 seconds.
# [RSpecRunTime] Starting example group spec/workers/ci/parse_secure_file_metadata_worker_spec.rb. Expected to take 1.69 seconds.

Ci::ParseSecureFileMetadataWorker
  #perform
    is labeled as idempotent
    performs multiple times sequentially without raising an exception
    when the file is found
      calls update_metadata!
# [RSpecRunTime] RSpec elapsed time: 23 minutes 2.22 seconds. Current RSS: ~1564M. load average: 1.20 1.19 1.18 1/290 9724


    when file is not found
WARNING: An expectation of `:update_metadata!` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/workers/ci/parse_secure_file_metadata_worker_spec.rb:25:in `block (4 levels) in <top (required)>'.
      does not call update_metadata!

# [RSpecRunTime] Finishing example group spec/workers/ci/parse_secure_file_metadata_worker_spec.rb. It took 1.56 seconds. Expected to take 1.69 seconds.
# [RSpecRunTime] Starting example group spec/serializers/web_ide_terminal_serializer_spec.rb. Expected to take 1.66 seconds.

WebIdeTerminalSerializer
  represents WebIdeTerminalEntity entities
  accepts WebIdeTerminal as a resource
  when resource is a build
    transforms it into a WebIdeTerminal resource
# [RSpecRunTime] RSpec elapsed time: 23 minutes 4.02 seconds. Current RSS: ~1559M. load average: 1.20 1.19 1.18 1/290 9725



# [RSpecRunTime] Finishing example group spec/serializers/web_ide_terminal_serializer_spec.rb. It took 1.73 seconds. Expected to take 1.66 seconds.
# [RSpecRunTime] Starting example group spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb. Expected to take 1.64 seconds.

ExceedQueryLimitHelpers
  can count queries
  can select specific queries
  can filter specific models
  can ignore specific queries
  can perform inclusion and exclusion
  does not contain marginalia annotations
  #diff_query_group_message
    prints a group helpfully
  #diff_query_counts
    merges two query counts, showing only diffs
    can show common queries if so desired
  #count_queries
    handles queries with suffixes over multiple lines
    can aggregate queries

# [RSpecRunTime] Finishing example group spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb. It took 1.55 seconds. Expected to take 1.64 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/auto_cancel_spec.rb. Expected to take 1.62 seconds.

Gitlab::Ci::Config::Entry::AutoCancel
  with on_job_failure
    when the `on_job_failure` value is valid
      is expected to be valid
      returns value correctly
    when the `on_job_failure` value is valid
      is expected to be valid
      returns value correctly
    when the `on_job_failure` value is valid
      is expected to be valid
      returns value correctly
    when on_job_failure is invalid
      is expected not to be valid
      returns errors
  with invalid key
    is expected not to be valid
    returns errors
  with on_new_commit
    is expected to be valid
    returns value correctly
    when on_new_commit is invalid
      is expected not to be valid
      returns errors

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/auto_cancel_spec.rb. It took 1.48 seconds. Expected to take 1.62 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/reindexing/coordinator_spec.rb. Expected to take 1.59 seconds.

Gitlab::Database::Reindexing::Coordinator
  #perform
    when executed during the weekend
      locking
        acquires a lock while reindexing
        does not perform reindexing actions if lease is not granted
      notifications
        sends #notify_start before reindexing
        sends #notify_end after reindexing and updating the action is done
      action tracking
        calls #finish on the action
        upon error, it still calls finish and raises the error
    when executed during the week
      does not start reindexing
  #drop
    when executed during the weekend
      when exclusive lease is granted
        drops the index with lock retries
      when exclusive lease is not granted
        does not drop the index
    when executed during the week
      does not start reindexing

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/reindexing/coordinator_spec.rb. It took 1.73 seconds. Expected to take 1.59 seconds.
# [RSpecRunTime] Starting example group spec/graphql/types/diff_type_spec.rb. Expected to take 1.56 seconds.

Types::DiffType
  is expected to eq "Diff"
  contains attributes related to diff
  #diff
    returns the diff of the passed commit
# [RSpecRunTime] RSpec elapsed time: 23 minutes 10.28 seconds. Current RSS: ~1576M. load average: 1.18 1.19 1.18 1/296 9766



# [RSpecRunTime] Finishing example group spec/graphql/types/diff_type_spec.rb. It took 1.49 seconds. Expected to take 1.56 seconds.
# [RSpecRunTime] Starting example group spec/lib/banzai/filter/broadcast_message_placeholders_filter_spec.rb. Expected to take 1.54 seconds.

Banzai::Filter::BroadcastMessagePlaceholdersFilter
  when current user is set
    replaces placeholder in text
      is expected to eq "Email: helloworld@example.com"
    replaces placeholder when they are in a link
      is expected to eq "<a href=\"http://example.com?email=helloworld%40example.com\">link</a>"
    replaces placeholder when they are in an escaped link
      is expected to eq "<a href=\"http://example.com?name=GitLab+Tanunki+%3A%29\">link</a>"
    works with empty text
      is expected to eq " "
    replaces multiple placeholders in a given text
      is expected to eq "helloworld@example.com GitLab Tanunki :)"
    available placeholders
      replaces the email of the user
        is expected to eq "helloworld@example.com"
      replaces the name of the user
        is expected to eq "GitLab Tanunki :)"
      replaces the ID of the user
        is expected to eq "1322"
      replaces the username of the user
        is expected to eq "user665"
      replaces the instance_id
        is expected to eq "123"
  when there is no current user set
    replaces placeholder with empty string
      is expected to eq "Email: "

# [RSpecRunTime] Finishing example group spec/lib/banzai/filter/broadcast_message_placeholders_filter_spec.rb. It took 1.37 seconds. Expected to take 1.54 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb. Expected to take 1.51 seconds.

Terraform/Base.latest.gitlab-ci.yml
  the created pipeline
    creates deprecation warning job
# [RSpecRunTime] RSpec elapsed time: 23 minutes 12.98 seconds. Current RSS: ~1568M. load average: 1.17 1.18 1.18 1/296 9787



# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb. It took 1.34 seconds. Expected to take 1.51 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/middleware/speedscope_spec.rb. Expected to take 1.49 seconds.

Gitlab::Middleware::Speedscope
  #call
    when flamegraph is not requested
      behaves like returns original response
        returns original response
    when flamegraph requested
      when user is not allowed
        behaves like returns original response
          returns original response
      when user is allowed
        returns a flamegraph
        when the stackprof_mode parameter is set and valid
          runs StackProf in the mode specified in the stackprof_mode parameter
        when the stackprof_mode parameter is not set
          runs StackProf in wall mode
        when the stackprof_mode parameter is invalid
          runs StackProf in wall mode
        when the stackprof_mode parameter is set to object mode
          runs StackProf with an interval of 100
        when the stackprof_mode parameter is not set to object mode
          runs StackProf with an interval of 10_100

# [RSpecRunTime] Finishing example group spec/lib/gitlab/middleware/speedscope_spec.rb. It took 1.43 seconds. Expected to take 1.49 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/cleanup/orphan_job_artifact_final_objects/batch_from_storage_spec.rb. Expected to take 1.47 seconds.

Gitlab::Cleanup::OrphanJobArtifactFinalObjects::BatchFromStorage
  #orphan_objects
    when not configured to use bucket_prefix
      behaves like returning orphan final job artifact objects
        returns all orphan Fog files from the given Fog collection
    when configured to use bucket_prefix
      behaves like returning orphan final job artifact objects
        returns all orphan Fog files from the given Fog collection

# [RSpecRunTime] Finishing example group spec/lib/gitlab/cleanup/orphan_job_artifact_final_objects/batch_from_storage_spec.rb. It took 1.63 seconds. Expected to take 1.47 seconds.
# [RSpecRunTime] Starting example group spec/workers/namespaces/schedule_aggregation_worker_spec.rb. Expected to take 1.44 seconds.

Namespaces::ScheduleAggregationWorker#perform
  when group is the root ancestor
    when aggregation schedule exists
      does not create a new one
    when aggregation schedule does not exist
      creates one
  when group is not the root ancestor
    creates an aggregation schedule for the root
  when namespace does not exist
    logs the error
  behaves like an idempotent worker
    is labeled as idempotent
    performs multiple times sequentially without raising an exception
    creates a single aggregation schedule

# [RSpecRunTime] Finishing example group spec/workers/namespaces/schedule_aggregation_worker_spec.rb. It took 1.32 seconds. Expected to take 1.44 seconds.
# [RSpecRunTime] Starting example group spec/tooling/lib/tooling/mappings/graphql_base_type_mappings_spec.rb. Expected to take 1.43 seconds.

Tooling::Mappings::GraphqlBaseTypeMappings
  #filter_files
    when no files were changed
      returns an empty array
    when GraphQL files were changed
      returns the path to the GraphQL files
    when files are deleted
      returns an empty array
  #execute
    when no GraphQL files were changed
      does not change the output file
    when some GraphQL files were changed
      when none of those GraphQL types are included in other GraphQL types
        does not change the output file
      when the GraphQL types are included in other GraphQL types
        writes the correct specs in the output
  #types_hierarchies
    when no types are implementing other types
      returns nothing
    when types are implementing other types
      when FOSS
        returns only FOSS types
      when EE
        returns the correct children types
      when JH
        returns the correct children types
  #filename_to_class_name
    returns the correct class name
  #filename_to_spec_filename
    when the spec file exists
      returns the correct spec filename
    when the spec file does not exist
      returns nil

# [RSpecRunTime] Finishing example group spec/tooling/lib/tooling/mappings/graphql_base_type_mappings_spec.rb. It took 1.37 seconds. Expected to take 1.43 seconds.
# [RSpecRunTime] Starting example group spec/models/snippet_blob_spec.rb. Expected to take 1.39 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.33 seconds. Expected to take 1.39 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/parsers/sbom/cyclonedx_properties_spec.rb. Expected to take 1.39 seconds.

Gitlab::Ci::Parsers::Sbom::CyclonedxProperties
  #parse_source
    behaves like handling invalid properties
      when properties are nil
        is expected to be nil
      when report does not have valid properties
        is expected to be nil
    when schema_version is missing
      is expected to be nil
    when schema version is unsupported
      is expected to be nil
    when no dependency_scanning or container_scanning properties are present
      does not call source parsers
    when dependency_scanning properties are present
      passes only supported properties to the dependency scanning parser
    when container_scanning properties are present
      passes only supported properties to the container scanning parser
  #parse_trivy_source
    behaves like handling invalid properties
      when properties are nil
        is expected to be nil
      when report does not have valid properties
        is expected to be nil
    when no trivy properties are present
      does not call source parsers
    when trivy properties are present
      passes only supported properties to the container scanning parser

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/parsers/sbom/cyclonedx_properties_spec.rb. It took 1.31 seconds. Expected to take 1.39 seconds.
# [RSpecRunTime] Starting example group spec/rubocop/cop/rake/require_spec.rb. Expected to take 1.36 seconds.

RuboCop::Cop::Rake::Require
  when outside of a Rake file
    registers an offenses for require methods
# [RSpecRunTime] RSpec elapsed time: 23 minutes 22.74 seconds. Current RSS: ~1557M. load average: 1.22 1.19 1.18 1/292 9788


  #in_rake_file?
    in a Rake file
      is expected to equal true
    when outside of a Rake file
      is expected to equal false
  in a Rake file
    registers an offenses for require methods
    does not register offense inside `task` definition
    does not register offense inside a block definition
    does not register offense inside a method definition
    does not register offense when require task related files

# [RSpecRunTime] Finishing example group spec/rubocop/cop/rake/require_spec.rb. It took 2.06 seconds. Expected to take 1.36 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/prometheus/internal_spec.rb. Expected to take 1.33 seconds.

Gitlab::Prometheus::Internal
  .uri
    behaves like returns valid uri
      is expected not to raise Exception
    with non default prometheus address
      behaves like returns valid uri
        is expected not to raise Exception
      with :9090 symbol
        behaves like returns valid uri
          is expected not to raise Exception
      with 0.0.0.0:9090
        behaves like returns valid uri
          is expected not to raise Exception
    when server_address is nil
      does not fail
    when prometheus listen address is blank in gitlab.yml
      does not configure prometheus
  .prometheus_enabled?
    returns correct value
    when prometheus setting is disabled in gitlab.yml
      returns correct value
    when prometheus setting is not present in gitlab.yml
      does not fail
  .server_address
    returns correct value
    when prometheus setting is not present in gitlab.yml
      does not fail

# [RSpecRunTime] Finishing example group spec/lib/gitlab/prometheus/internal_spec.rb. It took 1.19 seconds. Expected to take 1.33 seconds.
# [RSpecRunTime] Starting example group spec/services/users/dismiss_project_callout_service_spec.rb. Expected to take 1.32 seconds.

Users::DismissProjectCalloutService
  #execute
    sets the project_id
    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] RSpec elapsed time: 23 minutes 25.9 seconds. Current RSS: ~1560M. load average: 1.22 1.19 1.18 1/290 9789



# [RSpecRunTime] Finishing example group spec/services/users/dismiss_project_callout_service_spec.rb. It took 1.27 seconds. Expected to take 1.32 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/import_export/design_repo_restorer_spec.rb. Expected to take 1.28 seconds.

Gitlab::ImportExport::DesignRepoRestorer
  bundle a design Git repo
    restores the repo successfully
# [RSpecRunTime] RSpec elapsed time: 23 minutes 27.13 seconds. Current RSS: ~1556M. load average: 1.29 1.21 1.19 1/290 9793



# [RSpecRunTime] Finishing example group spec/lib/gitlab/import_export/design_repo_restorer_spec.rb. It took 1.23 seconds. Expected to take 1.28 seconds.
# [RSpecRunTime] Starting example group spec/services/personal_access_tokens/rotate_service_spec.rb. Expected to take 1.27 seconds.

PersonalAccessTokens::RotateService
  #execute
    revokes the previous token
    saves the previous token as previous PAT attribute
    behaves like rotates token succesfully
      rotates user's own token
    when user tries to rotate already revoked token
      returns an error
    when revoking previous token fails
      returns an error
    when creating the new token fails
      returns an error
      reverts the changes

# [RSpecRunTime] Finishing example group spec/services/personal_access_tokens/rotate_service_spec.rb. It took 1.15 seconds. Expected to take 1.27 seconds.
# [RSpecRunTime] Starting example group spec/components/pajamas/card_component_spec.rb. Expected to take 1.24 seconds.

Pajamas::CardComponent
  slots
    renders card header
    renders card body
    renders footer
  with defaults
    does not have a header or footer
    renders the card and body
  with custom options
    renders card options
    renders header options
    renders body options
    renders footer options

# [RSpecRunTime] Finishing example group spec/components/pajamas/card_component_spec.rb. It took 1.09 seconds. Expected to take 1.24 seconds.
# [RSpecRunTime] Starting example group spec/services/boards/destroy_service_spec.rb. Expected to take 1.23 seconds.

Boards::DestroyService
  with project board
    behaves like board destroy service
      #execute
        when there is more than one board
          destroys the board
        when there is only one board
          does remove board
  with group board
    behaves like board destroy service
      #execute
        when there is more than one board
          destroys the board
        when there is only one board
          does remove board

# [RSpecRunTime] Finishing example group spec/services/boards/destroy_service_spec.rb. It took 1.33 seconds. Expected to take 1.23 seconds.
# [RSpecRunTime] Starting example group spec/lib/click_house/models/base_model_spec.rb. Expected to take 1.19 seconds.

ClickHouse::Models::BaseModel
  #offset
    returns a new instance with an offset clause
  #to_sql
    delegates to the query builder
  #limit
    returns a new instance with a limit clause
  #order
    returns a new instance with an order clause
    when direction is also passed
      returns a new instance with an order clause
  #select
    returns a new instance with selected fields
  #where
    returns a new instance with refined query
  .table_name
    raises a NotImplementedError for the base model
    does not raise an error for the subclass

# [RSpecRunTime] Finishing example group spec/lib/click_house/models/base_model_spec.rb. It took 1.0 second. Expected to take 1.19 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/reports/codequality_reports_spec.rb. Expected to take 1.19 seconds.

Gitlab::Ci::Reports::CodequalityReports
  is expected to eq {}
  #add_degradation
    when there is a degradation
      adds degradation to codequality report
    when a required property is missing in the degradation
      sets location as an error
  #set_error_message
    when there is an error
      sets errors
  #degradations_count
    when there are many degradations
      returns the number of degradations
  #all_degradations
    when there are many degradations
      returns all degradations
  #sort_degradations!
    sorts degradations based on severity
    with non-existence and uppercase severities
      sorts unknown last
  #code_quality_report_summary
    when there is no degradation
      return nil
    when there are degradations
      returns the summary of the code quality report

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/reports/codequality_reports_spec.rb. It took 1.05 seconds. Expected to take 1.19 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/admin/menus/labels_menu_spec.rb. Expected to take 1.16 seconds.

Sidebars::Admin::Menus::LabelsMenu
  behaves like Admin menu
    renders the correct link
    renders the correct title
    renders the correct icon
    renders the separator if needed
    #render?
      when user is admin
        renders
      when user is not admin
        does not render
      when user is not logged in
        does not render
  behaves like Admin menu without sub menus
    does not contain any sub menu(s)
    defines correct active route

# [RSpecRunTime] Finishing example group spec/lib/sidebars/admin/menus/labels_menu_spec.rb. It took 1.03 seconds. Expected to take 1.16 seconds.
# [RSpecRunTime] Starting example group spec/workers/ci/initialize_pipelines_iid_sequence_worker_spec.rb. Expected to take 1.15 seconds.

Ci::InitializePipelinesIidSequenceWorker
  creates an internal_ids sequence for ci_pipelines
  behaves like subscribes to event
    consumes the published event
    behaves like an idempotent worker
      is labeled as idempotent
      performs multiple times sequentially without raising an exception
  when the internal_ids sequence is already initialized
    does not reset the sequence

# [RSpecRunTime] Finishing example group spec/workers/ci/initialize_pipelines_iid_sequence_worker_spec.rb. It took 1.08 seconds. Expected to take 1.15 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database/health_status_spec.rb. Expected to take 1.12 seconds.

Gitlab::Database::HealthStatus
  .evaluate
    returns the signal of the given indicator
    does not log signals of no interest
    with default indicators
      returns a collection of signals
    with stop signals
      with batched migrations as the status checker
        captures BatchedMigration class name in the log
      with sidekiq deferred job as the status checker
        captures sidekiq job class in the log
    on indicator error
      does not fail
      returns Unknown signal
      reports the exception to error tracking

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database/health_status_spec.rb. It took 0.91 second. Expected to take 1.12 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb. Expected to take 1.12 seconds.

Gitlab::LegacyGithubImport::MilestoneFormatter
  when importing a GitHub project
    behaves like Gitlab::LegacyGithubImport::MilestoneFormatter#attributes
      when milestone is open
        returns formatted attributes
      when milestone is closed
        returns formatted attributes
      when milestone has a due date
        returns formatted attributes
  when importing a Gitea project
    behaves like Gitlab::LegacyGithubImport::MilestoneFormatter#attributes
      when milestone is open
        returns formatted attributes
      when milestone is closed
        returns formatted attributes
      when milestone has a due date
        returns formatted attributes

# [RSpecRunTime] Finishing example group spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb. It took 1.05 seconds. Expected to take 1.12 seconds.
# [RSpecRunTime] Starting example group spec/helpers/ci/catalog/resources_helper_spec.rb. Expected to take 1.08 seconds.

Ci::Catalog::ResourcesHelper
  #can_add_catalog_resource?
    when user is not an owner
      returns false
    when user is an owner
      returns true
  #js_ci_catalog_data
    returns catalog data

# [RSpecRunTime] Finishing example group spec/helpers/ci/catalog/resources_helper_spec.rb. It took 0.93 second. Expected to take 1.08 seconds.
# [RSpecRunTime] Starting example group spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb. Expected to take 1.08 seconds.

Sidebars::UserSettings::Menus::ActiveSessionsMenu
  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/active_sessions_menu_spec.rb. It took 0.85 second. Expected to take 1.08 seconds.
# [RSpecRunTime] Starting example group spec/models/work_items/related_link_restriction_spec.rb. Expected to take 1.05 seconds.

WorkItems::RelatedLinkRestriction
  does not allow STI
  .link_type
    is expected to define :link_type as an enum backed by an integer with values ‹{relates_to: 0, blocks: 1}›
  associations
    is expected to belong to source_type required: false
    is expected to belong to target_type required: false
  validations
    is expected to validate that :source_type cannot be empty/falsy
    is expected to validate that :target_type cannot be empty/falsy
    is expected to validate that :target_type is case-sensitively unique within the scope of :source_type_id and :link_type

# [RSpecRunTime] Finishing example group spec/models/work_items/related_link_restriction_spec.rb. It took 0.93 second. Expected to take 1.05 seconds.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sourcegraph_spec.rb. Expected to take 1.05 seconds.

Gitlab::Sourcegraph
  .feature_conditional?
    when feature is enabled globally
      is expected to be falsey
    when feature is enabled only to a resource
      is expected to be truthy
  .feature_available?
    when feature is enabled globally
      is expected to be truthy
    when feature is enabled only to a resource
      is expected to be truthy
    when feature is disabled
      is expected to be falsey
  .feature_enabled?
    when feature is enabled globally
      is expected to be truthy
    when feature is enabled only to a resource
      for the same resource
        is expected to be truthy
      for a different resource
        is expected to be falsey

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sourcegraph_spec.rb. It took 0.99 second. Expected to take 1.05 seconds.
# [RSpecRunTime] Starting example group spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb. Expected to take 1.02 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.92 second. Expected to take 1.02 seconds.
# [RSpecRunTime] Starting example group spec/initializers/forbid_sidekiq_in_transactions_spec.rb. Expected to take 1.02 seconds.

Sidekiq::Worker
  for sidekiq workers
    behaves like a forbiddable operation within a transaction
      allows the operation outside of a transaction
      forbids the operation within a transaction
      allows the oepration within a transaction if skipped
      forbids the operation if it is within a Ci::ApplicationRecord transaction
  for mailers
    behaves like a forbiddable operation within a transaction
      allows the operation outside of a transaction
      forbids the operation within a transaction
      allows the oepration within a transaction if skipped
      forbids the operation if it is within a Ci::ApplicationRecord transaction

# [RSpecRunTime] Finishing example group spec/initializers/forbid_sidekiq_in_transactions_spec.rb. It took 0.89 second. Expected to take 1.02 seconds.
# [RSpecRunTime] Starting example group spec/lib/bulk_imports/pipeline_spec.rb. Expected to take 1.0 second.

BulkImports::Pipeline
  pipeline attributes
    getters
      retrieves class attributes
      when extractor and loader are defined within the pipeline
        returns itself when retrieving extractor & loader
    setters
      sets class attributes
  #instantiate
    when options are present
      instantiates new object with options
    when options are missing
      instantiates new object without options
  #transformers
    has instance transform method first to run

# [RSpecRunTime] Finishing example group spec/lib/bulk_imports/pipeline_spec.rb. It took 0.75 second. Expected to take 1.0 second.
# [RSpecRunTime] Starting example group spec/services/concerns/audit_event_save_type_spec.rb. Expected to take 0.99 second.

AuditEventSaveType
  #should_save_database? and #should_save_stream?
    query_method: :should_save_stream?, query_param: :stream, result: true
      returns corresponding results according to the query_method and query_param
    query_method: :should_save_stream?, query_param: :database_and_stream, result: true
      returns corresponding results according to the query_method and query_param
    query_method: :should_save_database?, query_param: :database, result: true
      returns corresponding results according to the query_method and query_param
    query_method: :should_save_database?, query_param: :database_and_stream, result: true
      returns corresponding results according to the query_method and query_param
    query_method: :should_save_stream?, query_param: :database, result: false
      returns corresponding results according to the query_method and query_param
    query_method: :should_save_stream?, query_param: nil, result: false
      returns corresponding results according to the query_method and query_param
    query_method: :should_save_database?, query_param: :stream, result: false
      returns corresponding results according to the query_method and query_param
    query_method: :should_save_database?, query_param: nil, result: false
      returns corresponding results according to the query_method and query_param

# [RSpecRunTime] Finishing example group spec/services/concerns/audit_event_save_type_spec.rb. It took 0.92 second. Expected to take 0.99 second.
# [RSpecRunTime] Starting example group spec/helpers/ci/builds_helper_spec.rb. Expected to take 0.98 second.

Ci::BuildsHelper
  #build_failed_issue_options
    returns failed title and description

# [RSpecRunTime] Finishing example group spec/helpers/ci/builds_helper_spec.rb. It took 0.79 second. Expected to take 0.98 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/redis_metric_spec.rb. Expected to take 0.95 second.

Gitlab::Usage::Metrics::Instrumentations::RedisMetric
  raises an exception if event option is not present
  raises an exception if prefix option is not present
  behaves like a correct instrumented metric value
    has correct value
  children classes
    availability not defined
      returns default availability
    availability defined
      returns defined availability
  with usage prefix disabled
    behaves like a correct instrumented metric value
      has correct value
  with prefix disabled
    behaves like a correct instrumented metric value
      has correct value

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/redis_metric_spec.rb. It took 0.83 second. Expected to take 0.95 second.
# [RSpecRunTime] Starting example group spec/helpers/recaptcha_helper_spec.rb. Expected to take 0.95 second.

RecaptchaHelper
  .show_recaptcha_sign_up?
    is expected to eq true
    when setting is disabled
      is expected to eq false
    when it is a QA request
      is expected to eq false
  .recaptcha_enabled_on_login?
    is expected to eq true
    when setting is disabled
      is expected to eq false
    when it is a QA request
      is expected to eq false

# [RSpecRunTime] Finishing example group spec/helpers/recaptcha_helper_spec.rb. It took 0.78 second. Expected to take 0.95 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/code_reuse/presenter_spec.rb. Expected to take 0.92 second.

RuboCop::Cop::CodeReuse::Presenter
  flags the use of a Service class in a Presenter
  flags the use of a Presenter in a model class method
  flags the use of a Presenter in a model instance method
  flags the use of a Presenter in a worker
  flags the use of a Presenter in a Service class
  flags the use of a Presenter in a Finder
  flags the use of a Presenter in a Serializer

# [RSpecRunTime] Finishing example group spec/rubocop/cop/code_reuse/presenter_spec.rb. It took 0.83 second. Expected to take 0.92 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/sanitizers/exception_message_spec.rb. Expected to take 0.91 second.

Gitlab::Sanitizers::ExceptionMessage
  .clean
    when error is a URI::InvalidURIError
      is expected to eq "bad URI(is not URI?): [FILTERED]"
    when error is an Addressable::URI::InvalidURIError
      uri: "http://foo:bar", result: "Invalid port number: [FILTERED]"
        is expected to eq "Invalid port number: [FILTERED]"
      uri: "http://foo:%eb", result: "Invalid encoding in port"
        is expected to eq "Invalid encoding in port"
      uri: "ht%0atp://foo", result: "Invalid scheme format: [FILTERED]"
        is expected to eq "Invalid scheme format: [FILTERED]"
      uri: "http:", result: "Absolute URI missing hierarchical segment: [FILTERED]"
        is expected to eq "Absolute URI missing hierarchical segment: [FILTERED]"
      uri: "::http", result: "Cannot assemble URI string with ambiguous path: [FILTERED]"
        is expected to eq "Cannot assemble URI string with ambiguous path: [FILTERED]"
      uri: "http://foo bar", result: "Invalid character in host: [FILTERED]"
        is expected to eq "Invalid character in host: [FILTERED]"
    with any other exception
      is not invoked and does nothing

# [RSpecRunTime] Finishing example group spec/lib/gitlab/sanitizers/exception_message_spec.rb. It took 0.91 second. Expected to take 0.91 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb. Expected to take 0.9 second.

RuboCop::Cop::RSpec::DuplicateSpecLocation
  for an EE spec file for EE extension
    registers no offenses
    when there is a duplicate file
      marks the describe as offending
  for an EE application file
    registers no offenses
  for a non-EE spec file
    registers no offenses
  for a non-EE application file
    registers no offenses
  for an EE spec file for EE only code
    registers no offenses
    when there is a duplicate file
      marks the describe as offending

# [RSpecRunTime] Finishing example group spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb. It took 0.82 second. Expected to take 0.9 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/redis/multi_store_connection_pool_spec.rb. Expected to take 0.88 second.

Gitlab::Redis::MultiStoreConnectionPool
  #with
    extends ConnectionPool
    with both feature flags enabled
      behaves like handles connection borrowing
DEPRECATION WARNING: Invalid Feature Flag use_primary_store_as_default_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
DEPRECATION WARNING: Invalid Feature Flag use_primary_and_secondary_stores_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
        yields a multistore with already borrowed connections
    with use_primary_and_secondary_stores_for_test disabled
      behaves like handles connection borrowing
DEPRECATION WARNING: Invalid Feature Flag use_primary_store_as_default_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
DEPRECATION WARNING: Invalid Feature Flag use_primary_and_secondary_stores_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
        yields a multistore with already borrowed connections
    with use_primary_store_as_default_for_test disabled
      behaves like handles connection borrowing
DEPRECATION WARNING: Invalid Feature Flag use_primary_store_as_default_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
DEPRECATION WARNING: Invalid Feature Flag use_primary_and_secondary_stores_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
        yields a multistore with already borrowed connections
    with feature flags disabled
      behaves like handles connection borrowing
DEPRECATION WARNING: Invalid Feature Flag use_primary_store_as_default_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
DEPRECATION WARNING: Invalid Feature Flag use_primary_and_secondary_stores_for_test stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)
        yields a multistore with already borrowed connections
    when non-MultiStore is provided
      passes connection through without errors

# [RSpecRunTime] Finishing example group spec/lib/gitlab/redis/multi_store_connection_pool_spec.rb. It took 0.81 second. Expected to take 0.88 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/pagination/keyset/request_context_spec.rb. Expected to take 0.88 second.

Gitlab::Pagination::Keyset::RequestContext
  #page
    with only order_by given
      extracts order_by/sorting information
    with order_by and sort given
      extracts order_by/sorting information and adds tie breaker
    with no order_by information given
      defaults to tie breaker
    with per_page params given
      extracts per_page information
  #apply_headers
    sets Link header with same host/path as the original request
    sets Link header with a link to the next page
    with descending order
      sets Link header with a link to the next page

# [RSpecRunTime] Finishing example group spec/lib/gitlab/pagination/keyset/request_context_spec.rb. It took 0.8 second. Expected to take 0.88 second.
# [RSpecRunTime] Starting example group spec/lib/security/ci_configuration/container_scanning_build_action_spec.rb. Expected to take 0.86 second.

Security::CiConfiguration::ContainerScanningBuildAction
  with existing .gitlab-ci.yml
    container_scanning has not been included
      template includes are an array
        generates the correct YML
      template include is not an array
        generates the correct YML
    container_scanning has been included
      container_scanning template include are an array
        generates the correct YML
      container_scanning template include is not an array
        generates the correct YML
  with no .gitlab-ci.yml
    autodevops disabled
      generates the correct YML
    with autodevops enabled
      generates the correct YML

# [RSpecRunTime] Finishing example group spec/lib/security/ci_configuration/container_scanning_build_action_spec.rb. It took 0.71 second. Expected to take 0.86 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/scalability/cron_worker_context_spec.rb. Expected to take 0.85 second.

RuboCop::Cop::Scalability::CronWorkerContext
  adds an offense when including CronjobQueue
  does not add an offense when the class defines a context
  does not add an offense when the worker calls `with_context`
  does not add offenses for other workers
  does not add an offense when the worker calls `bulk_perform_async_with_contexts`
  does not add an offense when the worker calls `bulk_perform_in_with_contexts`

# [RSpecRunTime] Finishing example group spec/rubocop/cop/scalability/cron_worker_context_spec.rb. It took 0.79 second. Expected to take 0.85 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/count_service_desk_custom_email_enabled_metric_spec.rb. Expected to take 0.84 second.

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

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/count_service_desk_custom_email_enabled_metric_spec.rb. It took 0.66 second. Expected to take 0.84 second.
# [RSpecRunTime] Starting example group spec/serializers/import/manifest_provider_repo_entity_spec.rb. Expected to take 0.83 second.

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.75 second. Expected to take 0.83 second.
# [RSpecRunTime] Starting example group spec/lib/atlassian/jira_issue_key_extractor_spec.rb. Expected to take 0.81 second.

Atlassian::JiraIssueKeyExtractor
  .has_keys?
    when string contains Jira issue keys
      is expected to eq true
    when string does not contain Jira issue keys
      is expected to eq false
  #issue_keys
    returns all valid Jira issue keys
    when multiple strings are passed in
      returns all valid Jira issue keys in any of those string
    with custom_regex
      returns all valid Jira issue keys
    with untrusted regex
      returns all valid Jira issue keys

# [RSpecRunTime] Finishing example group spec/lib/atlassian/jira_issue_key_extractor_spec.rb. It took 0.73 second. Expected to take 0.81 second.
# [RSpecRunTime] Starting example group spec/services/spam/ham_service_spec.rb. Expected to take 0.8 second.

Spam::HamService
  #execute
    AkismetService returns false (Akismet cannot be reached, etc)
      returns false
      does not update the record
      if spam log record has already been marked as spam
        does not update the record
    Akismet ham submission is successful
      returns true
      updates the record

# [RSpecRunTime] Finishing example group spec/services/spam/ham_service_spec.rb. It took 0.7 second. Expected to take 0.8 second.
# [RSpecRunTime] Starting example group spec/services/webauthn/authenticate_service_spec.rb. Expected to take 0.79 second.

Webauthn::AuthenticateService
  #execute
    returns true if the response is valid and a matching stored credential is present
    when response is valid but no matching stored credential is present
      returns false
    when device response includes invalid json
      returns false

# [RSpecRunTime] Finishing example group spec/services/webauthn/authenticate_service_spec.rb. It took 0.84 second. Expected to take 0.79 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/alert_management/payload_spec.rb. Expected to take 0.77 second.

Gitlab::AlertManagement::Payload
  #parse
    without a monitoring_tool specified by caller
      without a monitoring tool in the payload
        is expected to be a kind of Gitlab::AlertManagement::Payload::Generic
      with the payload specifying Prometheus
        is expected to be a kind of Gitlab::AlertManagement::Payload::Prometheus
      with the payload specifying an unknown tool
        is expected to be a kind of Gitlab::AlertManagement::Payload::Generic
    with monitoring_tool specified by caller
      as Prometheus
        with an externally managed prometheus payload
          is expected to be a kind of Gitlab::AlertManagement::Payload::Prometheus
      as an unknown tool
        is expected to be a kind of Gitlab::AlertManagement::Payload::Generic
    with integration specified by caller
      passes an integration to a specific payload

# [RSpecRunTime] Finishing example group spec/lib/gitlab/alert_management/payload_spec.rb. It took 0.74 second. Expected to take 0.77 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb. Expected to take 0.77 second.

RuboCop::Cop::Migration::ComplexIndexesRequireName
  when in migration
    when creating complex indexes as part of create_table
      when indexes are configured with an options hash, but no name
        registers an offense
      when indexes are configured with an options hash and name
        registers no offense
    when indexes are added to an existing table
      when indexes are configured with an options hash, but no name
        registers an offense
      when indexes are configured with an options hash and a name
        registers no offenses
  when outside migration
    registers no offenses

# [RSpecRunTime] Finishing example group spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb. It took 0.71 second. Expected to take 0.77 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/asset_proxy_spec.rb. Expected to take 0.75 second.

Gitlab::AssetProxy
  when asset proxy is disabled
    returns the original URL
  when asset proxy is enabled
    returns a proxied URL
    returns original URL for invalid domains
    whitelisted domain
      returns original URL for single domain whitelist
      returns original URL for wildcard subdomain whitelist

# [RSpecRunTime] Finishing example group spec/lib/gitlab/asset_proxy_spec.rb. It took 0.62 second. Expected to take 0.75 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/manifest_import/metadata_spec.rb. Expected to take 0.75 second.

Gitlab::ManifestImport::Metadata
  #save
    stores data in Redis with an expiry of EXPIRY_TIME
  #repositories
    allows repositories to round-trip with symbol keys
    uses the fallback when there is nothing in Redis
  #group_id
    returns the group ID as an integer
    uses the fallback when there is nothing in Redis

# [RSpecRunTime] Finishing example group spec/lib/gitlab/manifest_import/metadata_spec.rb. It took 0.62 second. Expected to take 0.75 second.
# [RSpecRunTime] Starting example group spec/services/mattermost/create_team_service_spec.rb. Expected to take 0.73 second.

Mattermost::CreateTeamService
  adds an error if a team could not be created
  creates a team

# [RSpecRunTime] Finishing example group spec/services/mattermost/create_team_service_spec.rb. It took 0.67 second. Expected to take 0.73 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/gitlab/predicate_memoization_spec.rb. Expected to take 0.72 second.

RuboCop::Cop::Gitlab::PredicateMemoization
  when source is a predicate method using ivar with assignment
    behaves like not registering offense
      does not register offenses
  when source is a predicate method using local with ||=
    behaves like not registering offense
      does not register offenses
  when source is a predicate method memoizing via ivar
    when assigning to boolean
      registers an offense
    when assigning to another variable that is a boolean
      registers an offense
  when source is a regular method memoizing via ivar
    behaves like not registering offense
      does not register offenses

# [RSpecRunTime] Finishing example group spec/rubocop/cop/gitlab/predicate_memoization_spec.rb. It took 0.67 second. Expected to take 0.72 second.
# [RSpecRunTime] Starting example group spec/helpers/startupjs_helper_spec.rb. Expected to take 0.71 second.

StartupjsHelper
  #page_startup_graphql_calls
    returns an array containing GraphQL Page Startup Calls
  #page_startup_graphql_headers
    csrf_token: "abc", feature_category: "web_ide", expected: {"X-CSRF-Token"=>"abc", "x-gitlab-feature-category"=>"web_ide"}
      returns hash of headers for GraphQL requests
    csrf_token: "", feature_category: "", expected: {"X-CSRF-Token"=>"", "x-gitlab-feature-category"=>""}
      returns hash of headers for GraphQL requests
    csrf_token: "abc", feature_category: nil, expected: {"X-CSRF-Token"=>"abc", "x-gitlab-feature-category"=>""}
      returns hash of headers for GraphQL requests
    csrf_token: "something", feature_category: "   ", expected: {"X-CSRF-Token"=>"something", "x-gitlab-feature-category"=>""}
      returns hash of headers for GraphQL requests

# [RSpecRunTime] Finishing example group spec/helpers/startupjs_helper_spec.rb. It took 0.67 second. Expected to take 0.71 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/kubernetes/rollout_instances_spec.rb. Expected to take 0.7 second.

Gitlab::Kubernetes::RolloutInstances
  #pod_instances
    returns an instance for a deployment with one pod
    returns a pending pod for a missing replica
    returns instances when there are two stable deployments
    returns instances for two deployments with different tracks
    sorts stable tracks after canary tracks

# [RSpecRunTime] Finishing example group spec/lib/gitlab/kubernetes/rollout_instances_spec.rb. It took 0.62 second. Expected to take 0.7 second.
# [RSpecRunTime] Starting example group spec/models/diff_viewer/image_spec.rb. Expected to take 0.69 second.

DiffViewer::Image
  does not allow STI
  .can_render?
    returns false if both old and new blob are absent
    returns true if the old blob is present
    returns true if the new blob is present
    returns true if both old and new blobs are present

# [RSpecRunTime] Finishing example group spec/models/diff_viewer/image_spec.rb. It took 0.65 second. Expected to take 0.69 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/interpolation/inputs/base_input_spec.rb. Expected to take 0.68 second.

Gitlab::Ci::Config::Interpolation::Inputs::BaseInput
  .type_name
    is not implemented
  #valid_value?
    is not implemented
  .matches?
    when given is a hash
      when the spec type matches the input type
        returns true
      when the spec type does not match the input type
        returns false
    when not given a hash
      returns false

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/interpolation/inputs/base_input_spec.rb. It took 0.63 second. Expected to take 0.68 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage_data_counters/jetbrains_plugin_activity_unique_counter_spec.rb. Expected to take 0.66 second.

Gitlab::UsageDataCounters::JetBrainsPluginActivityUniqueCounter
  when tracking a jetbrains api request
    behaves like a request from an extension
      tracks when the user agent is matching
      does not track when the user agent is not matching
      does not track if user agent is not present
      does not track if user is not present

# [RSpecRunTime] Finishing example group spec/lib/gitlab/usage_data_counters/jetbrains_plugin_activity_unique_counter_spec.rb. It took 0.6 second. Expected to take 0.66 second.
# [RSpecRunTime] Starting example group spec/models/bulk_imports/file_transfer_spec.rb. Expected to take 0.65 second.

BulkImports::FileTransfer
  does not allow STI
  .config_for
    when portable is group
      returns group config
    when portable is project
      returns project config
    when portable is unsupported
      raises an error

# [RSpecRunTime] Finishing example group spec/models/bulk_imports/file_transfer_spec.rb. It took 0.57 second. Expected to take 0.65 second.
# [RSpecRunTime] Starting example group spec/lib/sidebars/your_work/menus/todos_menu_spec.rb. Expected to take 0.64 second.

Sidebars::YourWork::Menus::TodosMenu
  #pill_count
    returns the todos_pending_count of the user
    memoizes the query
  #has_pill?
    when count is zero
      returns false
    when count is larger than zero
      returns true

# [RSpecRunTime] Finishing example group spec/lib/sidebars/your_work/menus/todos_menu_spec.rb. It took 0.58 second. Expected to take 0.64 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb. Expected to take 0.63 second.

RuboCop::Cop::Migration::PreventGlobalEnableLockRetriesWithDisableDdlTransaction
  when outside of migration
    registers no offense
  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

# [RSpecRunTime] Finishing example group spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb. It took 0.55 second. Expected to take 0.63 second.
# [RSpecRunTime] Starting example group spec/scripts/database/schema_validator_spec.rb. Expected to take 0.61 second.

SchemaValidator
  #validate!
    when schema changes are introduced without migrations
Error: db/structure.sql was changed, and no migrations were added:
db/structure.sql
      terminates the execution
    when schema changes are introduced with migrations
      skips schema validations
    when skipping validations through ENV variable
      skips schema validations
    when skipping validations through commit message
      skips schema validations

# [RSpecRunTime] Finishing example group spec/scripts/database/schema_validator_spec.rb. It took 0.54 second. Expected to take 0.61 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/github_import/representation/expose_attribute_spec.rb. Expected to take 0.61 second.

Gitlab::GithubImport::Representation::ExposeAttribute
  defines a getter method that returns an attribute value
  #[]
    returns exposed attributes value using array notation
    when attribute does not exist
      returns nil
    when attribute is not exposed
      returns nil

# [RSpecRunTime] Finishing example group spec/lib/gitlab/github_import/representation/expose_attribute_spec.rb. It took 0.56 second. Expected to take 0.61 second.
# [RSpecRunTime] Starting example group spec/keeps/helpers/groups_spec.rb. Expected to take 0.59 second.

Keeps::Helpers::Groups
  #group_for_feature_category
    is expected to eq {"backend_engineers"=>["be1", "be2", "be3", "be4", "be5"], "categories"=>["cell", "groups_and_project...core_platform", "slack_channel"=>"g_tenant_scale", "stage"=>"data_stores", "triage_ops_config"=>nil}
    when the category does not exist
      is expected to eq nil
    when the request to fetch groups fails
      raises an error
  #pick_reviewer
    is expected to eq "be2"

# [RSpecRunTime] Finishing example group spec/keeps/helpers/groups_spec.rb. It took 0.55 second. Expected to take 0.59 second.
# [RSpecRunTime] Starting example group spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb. Expected to take 0.58 second.

Sidebars::Projects::Menus::ExternalWikiMenu
  does not contain any sub menu
  #render?
    when active external issue tracker
      is present
        returns true
      is not present
        returns false

# [RSpecRunTime] Finishing example group spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb. It took 0.49 second. Expected to take 0.58 second.
# [RSpecRunTime] Starting example group spec/lib/bitbucket/representation/user_spec.rb. Expected to take 0.57 second.

Bitbucket::Representation::User
  #username
    returns correct value
  #account_id
    returns correct value
  #name
    returns correct value
  #nickname
    returns correct value

# [RSpecRunTime] Finishing example group spec/lib/bitbucket/representation/user_spec.rb. It took 0.52 second. Expected to take 0.57 second.
# [RSpecRunTime] Starting example group spec/models/incident_management/timeline_event_tag_link_spec.rb. Expected to take 0.56 second.

IncidentManagement::TimelineEventTagLink
  does not allow STI
  associations
    is expected to belong to timeline_event required: false
    is expected to belong to timeline_event_tag required: false

# [RSpecRunTime] Finishing example group spec/models/incident_management/timeline_event_tag_link_spec.rb. It took 0.49 second. Expected to take 0.56 second.
# [RSpecRunTime] Starting example group spec/views/admin/application_settings/_eks.html.haml_spec.rb. Expected to take 0.56 second.

admin/application_settings/_eks
  when eks_secret_access_key is not set
    renders an empty password field
  when eks_secret_access_key is set
    renders an empty password field

# [RSpecRunTime] Finishing example group spec/views/admin/application_settings/_eks.html.haml_spec.rb. It took 0.52 second. Expected to take 0.56 second.
# [RSpecRunTime] Starting example group spec/graphql/types/prometheus_alert_type_spec.rb. Expected to take 0.54 second.

Types::PrometheusAlertType
  is expected to eq "PrometheusAlert"
  has the expected fields
  is expected to require graphql authorizations :read_prometheus_alerts

# [RSpecRunTime] Finishing example group spec/graphql/types/prometheus_alert_type_spec.rb. It took 0.46 second. Expected to take 0.54 second.
# [RSpecRunTime] Starting example group spec/lib/banzai/pipeline/email_pipeline_spec.rb. Expected to take 0.53 second.

Banzai::Pipeline::EmailPipeline
  .filters
    returns the expected type
    excludes ImageLazyLoadFilter
    shows punycode for autolinks

# [RSpecRunTime] Finishing example group spec/lib/banzai/pipeline/email_pipeline_spec.rb. It took 0.5 second. Expected to take 0.53 second.
# [RSpecRunTime] Starting example group spec/graphql/types/organizations/organization_type_spec.rb. Expected to take 0.52 second.

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

# [RSpecRunTime] Finishing example group spec/graphql/types/organizations/organization_type_spec.rb. It took 0.47 second. Expected to take 0.52 second.
# [RSpecRunTime] Starting example group spec/graphql/types/work_items/widgets/labels_type_spec.rb. Expected to take 0.52 second.

Types::WorkItems::Widgets::LabelsType
  exposes the expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/work_items/widgets/labels_type_spec.rb. It took 0.29 second. Expected to take 0.52 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/jwt_v2/claim_mapper_spec.rb. Expected to take 0.5 second.

Gitlab::Ci::JwtV2::ClaimMapper
  #to_h
    returns an empty hash when source is not implemented
    when mapper for source is implemented
      source: :repository_source
        uses mapper

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/jwt_v2/claim_mapper_spec.rb. It took 0.41 second. Expected to take 0.5 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/ci/reports/security/flag_spec.rb. Expected to take 0.5 second.

Gitlab::Ci::Reports::Security::Flag
  #initialize
    when all params are given
      initializes an instance
    #to_h
      returns expected hash
    #false_positive?
      is expected to be truthy

# [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/reports/security/flag_spec.rb. It took 0.48 second. Expected to take 0.5 second.
# [RSpecRunTime] Starting example group spec/graphql/types/time_tracking/timelog_category_type_spec.rb. Expected to take 0.49 second.

Types::TimeTracking::TimelogCategoryType
  is expected to eq "TimeTrackingTimelogCategory"
  is expected to have graphql fields "id", "name", "description", "color", "billable", "billing_rate", "created_at", and "updated_at"
  is expected to require graphql authorizations :read_timelog_category

# [RSpecRunTime] Finishing example group spec/graphql/types/time_tracking/timelog_category_type_spec.rb. It took 0.45 second. Expected to take 0.49 second.
# [RSpecRunTime] Starting example group spec/graphql/types/access_level_type_spec.rb. Expected to take 0.48 second.

Types::AccessLevelType
  is expected to eq "AccessLevel"
  is expected to require graphql authorizations nil
  has expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/access_level_type_spec.rb. It took 0.45 second. Expected to take 0.48 second.
# [RSpecRunTime] Starting example group spec/workers/concerns/packages/cleanup_artifact_worker_spec.rb. Expected to take 0.47 second.

Packages::CleanupArtifactWorker
  #model
    is expected to raise NotImplementedError
  #log_metadata
    is expected to raise NotImplementedError
  #log_cleanup_item
    is expected to raise NotImplementedError

# [RSpecRunTime] Finishing example group spec/workers/concerns/packages/cleanup_artifact_worker_spec.rb. It took 0.46 second. Expected to take 0.47 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb. Expected to take 0.45 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.65 second. Expected to take 0.45 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/database_importers/default_organization_importer_spec.rb. Expected to take 0.44 second.

Gitlab::DatabaseImporters::DefaultOrganizationImporter
  #create_default_organization
    when default organization does not exists
      creates a default organization
    when default organization exists
      does not create another organization

# [RSpecRunTime] Finishing example group spec/lib/gitlab/database_importers/default_organization_importer_spec.rb. It took 0.4 second. Expected to take 0.44 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/bitbucket_import/parallel_scheduling_spec.rb. Expected to take 0.44 second.

Gitlab::BitbucketImport::ParallelScheduling
  #calculate_job_delay
    returns an incremental delay
    deducts the runtime from the delay

# [RSpecRunTime] Finishing example group spec/lib/gitlab/bitbucket_import/parallel_scheduling_spec.rb. It took 0.4 second. Expected to take 0.44 second.
# [RSpecRunTime] Starting example group spec/graphql/types/container_expiration_policy_keep_enum_spec.rb. Expected to take 0.43 second.

Types::ContainerExpirationPolicyKeepEnum
  behaves like exposing container expiration policy option
    exposes all options
    uses all possible options from model

# [RSpecRunTime] Finishing example group spec/graphql/types/container_expiration_policy_keep_enum_spec.rb. It took 0.41 second. Expected to take 0.43 second.
# [RSpecRunTime] Starting example group spec/lib/mattermost/command_spec.rb. Expected to take 0.43 second.

Mattermost::Command
  #create
    for valid trigger word
      returns a token
    for error message
      raises an error with message

# [RSpecRunTime] Finishing example group spec/lib/mattermost/command_spec.rb. It took 0.4 second. Expected to take 0.43 second.
# [RSpecRunTime] Starting example group spec/lib/parameter_filters/saml_response_spec.rb. Expected to take 0.42 second.

ParameterFilters::SamlResponse
  filter sensitive values
    lists the non sensitive attributes
    with malformed data
      returns error message

# [RSpecRunTime] Finishing example group spec/lib/parameter_filters/saml_response_spec.rb. It took 0.42 second. Expected to take 0.42 second.
# [RSpecRunTime] Starting example group spec/graphql/types/ml/model_version_type_spec.rb. Expected to take 0.42 second.

Types::Ml::ModelVersionType
  is expected to eq "Version of a machine learning model"
  includes all the package fields

# [RSpecRunTime] Finishing example group spec/graphql/types/ml/model_version_type_spec.rb. It took 0.38 second. Expected to take 0.42 second.
# [RSpecRunTime] Starting example group spec/lib/api/entities/public_group_details_spec.rb. Expected to take 0.41 second.

API::Entities::PublicGroupDetails
  #as_json
    includes public group fields

# [RSpecRunTime] Finishing example group spec/lib/api/entities/public_group_details_spec.rb. It took 0.43 second. Expected to take 0.41 second.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/catalog/resources/version_type_spec.rb. Expected to take 0.41 second.

Types::Ci::Catalog::Resources::VersionType
  is expected to eq "CiCatalogResourceVersion"
  exposes the expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/catalog/resources/version_type_spec.rb. It took 0.38 second. Expected to take 0.41 second.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/group_variable_type_spec.rb. Expected to take 0.41 second.

Types::Ci::GroupVariableType
  is expected to contain exactly Types::Ci::VariableInterface
  is expected to have graphql fields :environment_scope, :masked, :protected, and :description

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/group_variable_type_spec.rb. It took 0.38 second. Expected to take 0.41 second.
# [RSpecRunTime] Starting example group spec/serializers/import/github_realtime_repo_entity_spec.rb. Expected to take 0.4 second.

Import::GithubRealtimeRepoEntity
  exposes correct attributes
  when import stats is failed
    includes import_error

# [RSpecRunTime] Finishing example group spec/serializers/import/github_realtime_repo_entity_spec.rb. It took 0.44 second. Expected to take 0.4 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/audit/deploy_key_author_spec.rb. Expected to take 0.4 second.

Gitlab::Audit::DeployKeyAuthor
  #initialize
    sets correct attributes
    sets default name when it is not provided

# [RSpecRunTime] Finishing example group spec/lib/gitlab/audit/deploy_key_author_spec.rb. It took 0.37 second. Expected to take 0.4 second.
# [RSpecRunTime] Starting example group spec/graphql/types/work_items/widgets/assignees_input_type_spec.rb. Expected to take 0.39 second.

Types::WorkItems::Widgets::AssigneesInputType
  is expected to eq "WorkItemWidgetAssigneesInput"
  is expected to contain exactly "assigneeIds"

# [RSpecRunTime] Finishing example group spec/graphql/types/work_items/widgets/assignees_input_type_spec.rb. It took 0.37 second. Expected to take 0.39 second.
# [RSpecRunTime] Starting example group spec/graphql/types/blame/groups_type_spec.rb. Expected to take 0.39 second.

Types::Blame::GroupsType
  is expected to have graphql fields :commit, :commit_data, :lineno, :lines, and :span
  is expected to eq "Groups"

# [RSpecRunTime] Finishing example group spec/graphql/types/blame/groups_type_spec.rb. It took 0.37 second. Expected to take 0.39 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/language_data_spec.rb. Expected to take 0.38 second.

Gitlab::LanguageData
  #extensions
    loads the extensions once

# [RSpecRunTime] Finishing example group spec/lib/gitlab/language_data_spec.rb. It took 0.36 second. Expected to take 0.38 second.
# [RSpecRunTime] Starting example group spec/graphql/types/ci/group_type_spec.rb. Expected to take 0.37 second.

Types::Ci::GroupType
  is expected to eq "CiGroup"
  exposes the expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/ci/group_type_spec.rb. It took 0.4 second. Expected to take 0.37 second.
# [RSpecRunTime] Starting example group spec/graphql/types/limited_countable_connection_type_spec.rb. Expected to take 0.34 second.

Types::LimitedCountableConnectionType
  has the expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/limited_countable_connection_type_spec.rb. It took 0.29 second. Expected to take 0.34 second.
# [RSpecRunTime] Starting example group spec/routing/projects/security/configuration_controller_routing_spec.rb. Expected to take 0.33 second.

Projects::Security::ConfigurationController routing
  routes to #show

# [RSpecRunTime] Finishing example group spec/routing/projects/security/configuration_controller_routing_spec.rb. It took 0.28 second. Expected to take 0.33 second.
# [RSpecRunTime] Starting example group spec/graphql/types/packages/package_type_enum_spec.rb. Expected to take 0.33 second.

Types::Packages::PackageTypeEnum
  exposes all package types

# [RSpecRunTime] Finishing example group spec/graphql/types/packages/package_type_enum_spec.rb. It took 0.3 second. Expected to take 0.33 second.
# [RSpecRunTime] Starting example group spec/services/gravatar_service_spec.rb. Expected to take 0.32 second.

GravatarService
  #execute
    replaces the placeholders

# [RSpecRunTime] Finishing example group spec/services/gravatar_service_spec.rb. It took 0.3 second. Expected to take 0.32 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb. Expected to take 0.32 second.

Gitlab::GitalyClient::DiffStitcher
  enumeration
    combines segregated diff messages together

# [RSpecRunTime] Finishing example group spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb. It took 0.33 second. Expected to take 0.32 second.
# [RSpecRunTime] Starting example group spec/graphql/types/permission_types/package_spec.rb. Expected to take 0.31 second.

Types::PermissionTypes::Package
  has the expected fields

# [RSpecRunTime] Finishing example group spec/graphql/types/permission_types/package_spec.rb. It took 0.36 second. Expected to take 0.31 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/memory/watchdog/handlers/null_handler_spec.rb. Expected to take 0.31 second.

Gitlab::Memory::Watchdog::Handlers::NullHandler
  #call
    does nothing

# [RSpecRunTime] Finishing example group spec/lib/gitlab/memory/watchdog/handlers/null_handler_spec.rb. It took 0.41 second. Expected to take 0.31 second.
# [RSpecRunTime] Starting example group spec/lib/gitlab/kubernetes/role_spec.rb. Expected to take 0.3 second.

Gitlab::Kubernetes::Role
  #generate
    is expected to eq #<Kubeclient::Resource metadata={:name=>"example-name", :namespace=>"example-namespace"}, rules=[{:ap...>["hello.world"], :resources=>["oil", "diamonds", "coffee"], :verbs=>["say", "do", "walk", "run"]}]>

# [RSpecRunTime] Finishing example group spec/lib/gitlab/kubernetes/role_spec.rb. It took 0.31 second. Expected to take 0.3 second.
# [RSpecRunTime] Starting example group spec/rubocop/cop/gitlab/union_spec.rb. Expected to take 0.3 second.

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

# [RSpecRunTime] Finishing example group spec/rubocop/cop/gitlab/union_spec.rb. It took 0.33 second. Expected to take 0.3 second.
auto_explain log contains 1583 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-9-32.340.main.ndjson.gz
took 33.050318328
auto_explain log contains 1583 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-9-32.340.ci.ndjson.gz
took 31.972736409
[TEST PROF INFO] EventProf results for sql.active_record

Total time: 06:36.091 of 24:14.914 (27.22%)
Total events: 329492

Top 5 slowest suites (by time):

Ci::PipelineP...cessingService (./spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb:5) – 01:35.351 (51831 / 104) of 05:11.688 (30.59%)
Gitlab::Datab...:LoadBalancing (./spec/lib/gitlab/database/load_balancing_spec.rb:5) – 01:04.787 (81729 / 50) of 02:02.608 (52.84%)
Event (./spec/models/event_spec.rb:5) – 00:21.922 (17003 / 159) of 01:27.248 (25.13%)
WorkItems::WorkItemsFinder (./spec/finders/work_items/work_items_finder_spec.rb:5) – 00:16.157 (12901 / 158) of 01:03.498 (25.44%)
NotePolicy (./spec/policies/note_policy_spec.rb:5) – 00:13.881 (11617 / 43) of 00:49.882 (27.83%)

Knapsack report was generated. Preview:
{
  "spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb": 311.688012565,
  "spec/lib/gitlab/database/load_balancing_spec.rb": 122.60772360200008,
  "spec/models/event_spec.rb": 87.24801502600076,
  "spec/finders/work_items/work_items_finder_spec.rb": 63.49839250399964,
  "spec/lib/gitlab/email/handler/create_note_handler_spec.rb": 53.09942870800023,
  "spec/policies/note_policy_spec.rb": 49.882043001000056,
  "spec/services/spam/spam_action_service_spec.rb": 39.41971732099955,
  "spec/services/ci/job_artifacts/create_service_spec.rb": 30.029847146000066,
  "spec/tasks/gitlab/db_rake_spec.rb": 22.826763158000176,
  "spec/services/projects/move_forks_service_spec.rb": 23.36141425599999,
  "spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb": 23.578255922999233,
  "spec/models/commit_collection_spec.rb": 18.208834715000194,
  "spec/policies/namespace/root_storage_statistics_policy_spec.rb": 17.13363494100031,
  "spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb": 15.617873562000568,
  "spec/services/push_event_payload_service_spec.rb": 17.36313517600047,
  "spec/helpers/blob_helper_spec.rb": 15.45778687100028,
  "spec/services/merge_requests/conflicts/list_service_spec.rb": 15.108544192000409,
  "spec/services/concerns/ci/job_token_scope/edit_scope_validations_spec.rb": 15.54225522500019,
  "spec/policies/packages/policies/project_policy_spec.rb": 15.96912003000034,
  "spec/services/suggestions/create_service_spec.rb": 13.482366790000015,
  "spec/graphql/resolvers/timelog_resolver_spec.rb": 12.771343532000174,
  "spec/lib/gitlab/path_regex_spec.rb": 12.14289453099991,
  "spec/services/packages/conan/search_service_spec.rb": 11.375081406999925,
  "spec/models/wiki_page/meta_spec.rb": 12.317256729999826,
  "spec/services/merge_requests/assign_issues_service_spec.rb": 10.789991962000386,
  "spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb": 10.962999149999632,
  "spec/finders/concerns/finder_with_cross_project_access_spec.rb": 8.496663020000597,
  "spec/models/personal_access_token_spec.rb": 8.065773965000517,
  "spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb": 10.895140925000305,
  "spec/models/fork_network_spec.rb": 9.27861396299977,
  "spec/models/concerns/milestoneable_spec.rb": 9.006920429000274,
  "spec/services/incident_management/timeline_events/destroy_service_spec.rb": 8.638161431000299,
  "spec/lib/gitlab/ci/config/external/file/project_spec.rb": 7.214880705999349,
  "spec/models/container_registry/event_spec.rb": 6.9138692349997655,
  "spec/models/organizations/organization_user_spec.rb": 4.946047823000299,
  "spec/graphql/resolvers/work_items_resolver_spec.rb": 6.991212519999863,
  "spec/lib/gitlab/auth/ldap/dn_spec.rb": 6.198043878000135,
  "spec/models/issue_link_spec.rb": 6.542089837000276,
  "spec/models/merge_request/metrics_spec.rb": 7.394385326000702,
  "spec/workers/project_export_worker_spec.rb": 6.863371137000286,
  "spec/lib/gitlab/chat/output_spec.rb": 6.338766998999745,
  "spec/models/protected_branch/merge_access_level_spec.rb": 5.91448848500022,
  "spec/lib/gitlab/slash_commands/issue_new_spec.rb": 4.9741598820000945,
  "spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb": 5.396291196000675,
  "spec/finders/feature_flags_finder_spec.rb": 5.404130205999536,
  "spec/services/repositories/housekeeping_service_spec.rb": 4.118338632999439,
  "spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb": 4.779073992999656,
  "spec/services/tags/create_service_spec.rb": 5.26599218299998,
  "spec/views/projects/empty.html.haml_spec.rb": 4.083620074000464,
  "spec/helpers/ci/pipelines_helper_spec.rb": 4.3878149660004055,
  "spec/finders/design_management/versions_finder_spec.rb": 3.623585561999789,
  "spec/presenters/issue_presenter_spec.rb": 4.687044758999946,
  "spec/tasks/gitlab/setup_rake_spec.rb": 5.294346573000439,
  "spec/lib/gitlab/hook_data/project_builder_spec.rb": 4.64147180099917,
  "spec/serializers/diff_file_metadata_entity_spec.rb": 4.384872906000055,
  "spec/serializers/base_discussion_entity_spec.rb": 4.433106864000365,
  "spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb": 4.380905305999477,
  "spec/models/integrations/ewm_spec.rb": 5.2664600139996764,
  "spec/services/bulk_imports/process_service_spec.rb": 4.067067095000311,
  "spec/finders/packages/pypi/packages_finder_spec.rb": 3.737035274999471,
  "spec/lib/api/helpers/packages_helpers_spec.rb": 3.9546107719997963,
  "spec/lib/container_registry/migration_spec.rb": 3.854799827999159,
  "spec/lib/gitlab/spamcheck/client_spec.rb": 3.653633769999942,
  "spec/finders/releases/evidence_pipeline_finder_spec.rb": 3.0978902329998164,
  "spec/lib/gitlab/database/load_balancing/session_spec.rb": 2.746841473999666,
  "spec/graphql/types/board_list_type_spec.rb": 3.250623314999757,
  "spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb": 3.7102919369999654,
  "spec/finders/timelogs/timelogs_finder_spec.rb": 3.6301106520004396,
  "spec/services/projects/import_export/parallel_export_service_spec.rb": 3.497756169999775,
  "spec/finders/repositories/tree_finder_spec.rb": 2.9797771109997484,
  "spec/lib/gitlab/highlight_spec.rb": 2.6936635080000997,
  "spec/lib/gitlab/auth/user_access_denied_reason_spec.rb": 3.298496231000172,
  "spec/models/namespaces/descendants_spec.rb": 3.202290128000641,
  "spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb": 3.1604242200000954,
  "spec/models/ci/pipeline_metadata_spec.rb": 2.1253949820002163,
  "spec/lib/error_tracking/sentry_client/projects_spec.rb": 2.7466694949998782,
  "spec/graphql/types/ci/job_type_spec.rb": 2.6935275679998085,
  "spec/lib/gitlab/ci/status/build/manual_spec.rb": 2.836203619999651,
  "spec/finders/projects/ml/model_version_finder_spec.rb": 2.9766315810002197,
  "spec/services/ci/find_exposed_artifacts_service_spec.rb": 2.6600838800004567,
  "spec/lib/gitlab/ci/pipeline/chain/build_spec.rb": 2.5390847869994104,
  "spec/services/environments/create_service_spec.rb": 2.5749515749994316,
  "spec/lib/gitlab/utils/username_and_email_generator_spec.rb": 2.5708028859999104,
  "spec/lib/api/entities/clusters/agents/authorizations/ci_access_spec.rb": 2.5296000179996554,
  "spec/lib/gitlab/middleware/same_site_cookies_spec.rb": 2.796231541999987,
  "spec/helpers/version_check_helper_spec.rb": 2.590527585000018,
  "spec/lib/gitlab/regex/packages/protection/rules_spec.rb": 2.2024660369997946,
  "spec/validators/public_url_validator_spec.rb": 2.0849138150006183,
  "spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb": 2.4237665639993793,
  "spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb": 2.3730852670005333,
  "spec/lib/banzai/pipeline/description_pipeline_spec.rb": 2.616162252000322,
  "spec/helpers/colors_helper_spec.rb": 2.581129205000252,
  "spec/rubocop/cop/avoid_return_from_blocks_spec.rb": 1.8491280190000907,
  "spec/lib/gitlab/metrics/prometheus_spec.rb": 1.292606441999851,
  "spec/models/packages/debian/project_architecture_spec.rb": 2.339720259999922,
  "spec/lib/sidebars/panel_spec.rb": 2.005869839999832,
  "spec/serializers/ci/downloadable_artifact_entity_spec.rb": 2.039571686999807,
  "spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb": 1.4866182010000557,
  "spec/lib/gitlab/data_builder/feature_flag_spec.rb": 2.0569504160002907,
  "spec/lib/gitlab/import_export/avatar_restorer_spec.rb": 2.010098129000653,
  "spec/services/environments/canary_ingress/update_service_spec.rb": 1.9431924539994725,
  "spec/lib/gitlab/checks/lfs_check_spec.rb": 2.0029123299991625,
  "spec/lib/gitlab/ci/variables/builder/group_spec.rb": 1.6727175690002696,
  "spec/workers/merge_requests/delete_source_branch_worker_spec.rb": 1.748291535000135,
  "spec/lib/gitlab/daemon_spec.rb": 1.6135530430001381,
  "spec/lib/gitlab/ci/badge/coverage/report_spec.rb": 1.8277511490005054,
  "spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb": 1.6050464239997382,
  "spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb": 1.471556411000165,
  "spec/models/blob_viewer/changelog_spec.rb": 1.6274246519997178,
  "spec/lib/sidebars/user_profile/menus/personal_projects_menu_spec.rb": 1.646437120999508,
  "spec/finders/packages/helm/package_files_finder_spec.rb": 3.149810141000671,
  "spec/models/integrations/external_wiki_spec.rb": 1.5180218370005605,
  "spec/workers/ci/parse_secure_file_metadata_worker_spec.rb": 1.5638168949999454,
  "spec/serializers/web_ide_terminal_serializer_spec.rb": 1.7297885909993056,
  "spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb": 1.5469144460003008,
  "spec/lib/gitlab/ci/config/entry/auto_cancel_spec.rb": 1.4778844530001152,
  "spec/lib/gitlab/database/reindexing/coordinator_spec.rb": 1.7285774609999862,
  "spec/graphql/types/diff_type_spec.rb": 1.4849120519993448,
  "spec/lib/banzai/filter/broadcast_message_placeholders_filter_spec.rb": 1.368758830999468,
  "spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb": 1.3407560639998337,
  "spec/lib/gitlab/middleware/speedscope_spec.rb": 1.4306699369999478,
  "spec/lib/gitlab/cleanup/orphan_job_artifact_final_objects/batch_from_storage_spec.rb": 1.6261681090009006,
  "spec/workers/namespaces/schedule_aggregation_worker_spec.rb": 1.3212358159998985,
  "spec/tooling/lib/tooling/mappings/graphql_base_type_mappings_spec.rb": 1.3661654320003436,
  "spec/models/snippet_blob_spec.rb": 1.333950244999869,
  "spec/lib/gitlab/ci/parsers/sbom/cyclonedx_properties_spec.rb": 1.3100580370000898,
  "spec/rubocop/cop/rake/require_spec.rb": 2.058093961999475,
  "spec/lib/gitlab/prometheus/internal_spec.rb": 1.1889231969998946,
  "spec/services/users/dismiss_project_callout_service_spec.rb": 1.2677965409993703,
  "spec/lib/gitlab/import_export/design_repo_restorer_spec.rb": 1.2285612739997305,
  "spec/services/personal_access_tokens/rotate_service_spec.rb": 1.149265099999866,
  "spec/components/pajamas/card_component_spec.rb": 1.0887935460004883,
  "spec/services/boards/destroy_service_spec.rb": 1.3287339349999456,
  "spec/lib/click_house/models/base_model_spec.rb": 1.0031431039997187,
  "spec/lib/gitlab/ci/reports/codequality_reports_spec.rb": 1.053353399000116,
  "spec/lib/sidebars/admin/menus/labels_menu_spec.rb": 1.0286574009996912,
  "spec/workers/ci/initialize_pipelines_iid_sequence_worker_spec.rb": 1.080643286999475,
  "spec/lib/gitlab/database/health_status_spec.rb": 0.9098530110004504,
  "spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb": 1.0474211599994305,
  "spec/helpers/ci/catalog/resources_helper_spec.rb": 0.9279386090001935,
  "spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb": 0.850763747000201,
  "spec/models/work_items/related_link_restriction_spec.rb": 0.9307007589995919,
  "spec/lib/gitlab/sourcegraph_spec.rb": 0.9856674749999002,
  "spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb": 0.9152821110001241,
  "spec/initializers/forbid_sidekiq_in_transactions_spec.rb": 0.8869992239997373,
  "spec/lib/bulk_imports/pipeline_spec.rb": 0.7483088750004754,
  "spec/services/concerns/audit_event_save_type_spec.rb": 0.9196637900004134,
  "spec/helpers/ci/builds_helper_spec.rb": 0.7942776319996483,
  "spec/lib/gitlab/usage/metrics/instrumentations/redis_metric_spec.rb": 0.8276201990001937,
  "spec/helpers/recaptcha_helper_spec.rb": 0.7763154129997929,
  "spec/rubocop/cop/code_reuse/presenter_spec.rb": 0.8324386080003023,
  "spec/lib/gitlab/sanitizers/exception_message_spec.rb": 0.9078289619992574,
  "spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb": 0.8219218189997264,
  "spec/lib/gitlab/redis/multi_store_connection_pool_spec.rb": 0.8143790590002027,
  "spec/lib/gitlab/pagination/keyset/request_context_spec.rb": 0.7972282720002113,
  "spec/lib/security/ci_configuration/container_scanning_build_action_spec.rb": 0.711591567999676,
  "spec/rubocop/cop/scalability/cron_worker_context_spec.rb": 0.7918870319999769,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_service_desk_custom_email_enabled_metric_spec.rb": 0.6579609930004153,
  "spec/serializers/import/manifest_provider_repo_entity_spec.rb": 0.7490953849992366,
  "spec/lib/atlassian/jira_issue_key_extractor_spec.rb": 0.730146486999729,
  "spec/services/spam/ham_service_spec.rb": 0.7042839989999266,
  "spec/services/webauthn/authenticate_service_spec.rb": 0.8422348770000099,
  "spec/lib/gitlab/alert_management/payload_spec.rb": 0.7408891060003953,
  "spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb": 0.7111416190000455,
  "spec/lib/gitlab/asset_proxy_spec.rb": 0.6213982959998248,
  "spec/lib/gitlab/manifest_import/metadata_spec.rb": 0.6197668670001804,
  "spec/services/mattermost/create_team_service_spec.rb": 0.672307241999988,
  "spec/rubocop/cop/gitlab/predicate_memoization_spec.rb": 0.6676105619999362,
  "spec/helpers/startupjs_helper_spec.rb": 0.6709975320000012,
  "spec/lib/gitlab/kubernetes/rollout_instances_spec.rb": 0.6235955060001288,
  "spec/models/diff_viewer/image_spec.rb": 0.6530712840003616,
  "spec/lib/gitlab/ci/config/interpolation/inputs/base_input_spec.rb": 0.6310188659999767,
  "spec/lib/gitlab/usage_data_counters/jetbrains_plugin_activity_unique_counter_spec.rb": 0.6003662579996671,
  "spec/models/bulk_imports/file_transfer_spec.rb": 0.57171358100004,
  "spec/lib/sidebars/your_work/menus/todos_menu_spec.rb": 0.5773065100001986,
  "spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb": 0.5528963819997443,
  "spec/scripts/database/schema_validator_spec.rb": 0.54172279300019,
  "spec/lib/gitlab/github_import/representation/expose_attribute_spec.rb": 0.5581140020003659,
  "spec/keeps/helpers/groups_spec.rb": 0.547120542999437,
  "spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb": 0.4866928880001069,
  "spec/lib/bitbucket/representation/user_spec.rb": 0.5224202950003018,
  "spec/models/incident_management/timeline_event_tag_link_spec.rb": 0.487491838999631,
  "spec/views/admin/application_settings/_eks.html.haml_spec.rb": 0.5209760739999183,
  "spec/graphql/types/prometheus_alert_type_spec.rb": 0.4633216900001571,
  "spec/lib/banzai/pipeline/email_pipeline_spec.rb": 0.49748516799991194,
  "spec/graphql/types/organizations/organization_type_spec.rb": 0.4658194200001162,
  "spec/graphql/types/work_items/widgets/labels_type_spec.rb": 0.2910073349994491,
  "spec/lib/gitlab/ci/jwt_v2/claim_mapper_spec.rb": 0.4089934550001999,
  "spec/lib/gitlab/ci/reports/security/flag_spec.rb": 0.48343644900069194,
  "spec/graphql/types/time_tracking/timelog_category_type_spec.rb": 0.4490744510003424,
  "spec/graphql/types/access_level_type_spec.rb": 0.4531766009995408,
  "spec/workers/concerns/packages/cleanup_artifact_worker_spec.rb": 0.45957624000038777,
  "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb": 0.6534111029995984,
  "spec/lib/gitlab/database_importers/default_organization_importer_spec.rb": 0.3991385850004008,
  "spec/lib/gitlab/bitbucket_import/parallel_scheduling_spec.rb": 0.394777446000262,
  "spec/graphql/types/container_expiration_policy_keep_enum_spec.rb": 0.4086740149996331,
  "spec/lib/mattermost/command_spec.rb": 0.4013279649998367,
  "spec/lib/parameter_filters/saml_response_spec.rb": 0.4208318840001084,
  "spec/graphql/types/ml/model_version_type_spec.rb": 0.37514420799925574,
  "spec/lib/api/entities/public_group_details_spec.rb": 0.4302163730008033,
  "spec/graphql/types/ci/catalog/resources/version_type_spec.rb": 0.3831328169999324,
  "spec/graphql/types/ci/group_variable_type_spec.rb": 0.37474878800003353,
  "spec/serializers/import/github_realtime_repo_entity_spec.rb": 0.4385094729996126,
  "spec/lib/gitlab/audit/deploy_key_author_spec.rb": 0.37136101800024335,
  "spec/graphql/types/work_items/widgets/assignees_input_type_spec.rb": 0.36916277799991803,
  "spec/graphql/types/blame/groups_type_spec.rb": 0.36793529900023714,
  "spec/lib/gitlab/language_data_spec.rb": 0.36308746799932123,
  "spec/graphql/types/ci/group_type_spec.rb": 0.3978355659992303,
  "spec/graphql/types/limited_countable_connection_type_spec.rb": 0.2887603549997948,
  "spec/routing/projects/security/configuration_controller_routing_spec.rb": 0.28222590499990474,
  "spec/graphql/types/packages/package_type_enum_spec.rb": 0.29696965500079386,
  "spec/services/gravatar_service_spec.rb": 0.2969465340001989,
  "spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb": 0.3274380220000239,
  "spec/graphql/types/permission_types/package_spec.rb": 0.35778728900004353,
  "spec/lib/gitlab/memory/watchdog/handlers/null_handler_spec.rb": 0.40670871500060457,
  "spec/lib/gitlab/kubernetes/role_spec.rb": 0.3105100130005667,
  "spec/rubocop/cop/gitlab/union_spec.rb": 0.32589706199996726
}

Knapsack global time execution for tests: 24m 14s

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

  1) gitlab:db namespace rake task mark_migration_complete with a single database marks the migration complete on the given database
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:31

  2) gitlab:db namespace rake task mark_migration_complete with multiple databases with geo configured does not create a task for the geo database
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:81

  3) gitlab:db namespace rake task configure with a single database when geo is not configured when the schema is already loaded migrates the database
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:143

  4) gitlab:db namespace rake task configure with a single database when geo is not configured when the schema is not loaded loads the schema and seeds the database
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:156

  5) gitlab:db namespace rake task configure with a single database when geo is not configured when only a single table is present loads the schema and seeds the database
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:169

  6) gitlab:db namespace rake task configure with a single database when geo is not configured when loading the schema fails does not seed the database
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:182

  7) gitlab:db namespace rake task configure with a single database when geo is not configured SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set when the schema is not loaded adds the post deployment migration path before schema load
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:206

  8) gitlab:db namespace rake task configure with a single database when geo is not configured SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set when the schema is loaded ignores post deployment migrations
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:222

  9) gitlab:db namespace rake task configure with a single database when geo is configured when the main database is also configured only configures the main database
     # Skipping because database ci exists
     # ./spec/tasks/gitlab/db_rake_spec.rb:245

  10) gitlab:db namespace rake task configure with multiple databases when geo is configured does not run tasks against geo
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:349

  11) gitlab:db namespace rake task drop_tables with a single database drops all objects for the database
     # Skipping because some of the extra databases [:ci, :main_clusterwide, :embedding, :geo] are setup
     # ./spec/tasks/gitlab/db_rake_spec.rb:656

  12) gitlab:db namespace rake task drop_tables with multiple databases with geo configured does not create a task for the geo database
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:704

  13) gitlab:db namespace rake task create_dynamic_partitions with a single database delegates syncing of partitions without limiting databases
     # Skipping because some of the extra databases [:ci, :main_clusterwide, :embedding, :geo] are setup
     # ./spec/tasks/gitlab/db_rake_spec.rb:734

  14) gitlab:db namespace rake task create_dynamic_partitions with geo configured does not create a task for the geo database
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:768

  15) gitlab:db namespace rake task create_dynamic_partitions with jh configured does not create a task for the jh database
     # Skipping because the jh database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:780

  16) gitlab:db namespace rake task reindex with multiple databases with geo configured does not create a task for the geo database
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:850

  17) gitlab:db namespace rake task execute_async_index_operations with geo configured does not create a task for the geo database
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:953

  18) gitlab:db namespace rake task validate_async_constraints with geo configured does not create a task for the geo database
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:1037

  19) gitlab:db namespace rake task with multiple databases db:migrate:geo does not invoke gitlab:db:create_dynamic_partitions
     # Skipping because the geo database is not configured
     # ./spec/tasks/gitlab/db_rake_spec.rb:1233

Failures:

  1) Ci::PipelineProcessing::AtomicProcessingService Pipeline Processing Service when jobs change from stopped to alive status during pipeline processing runs ResetSkippedJobsService on the new alive jobs and logs event
     Failure/Error: expect(all_builds_names_and_statuses).to eq(statuses_1)

       expected: {:deploy1=>"skipped", :deploy2=>"skipped", :manual1=>"manual", :manual2=>"manual", :test1=>"skipped", :test2=>"skipped"}
            got: {:deploy1=>"skipped", :deploy2=>"skipped", :manual1=>"manual", :manual2=>"manual", :test1=>"created", :test2=>"skipped"}

       (compared using ==)

       Diff:
       @@ -2,6 +2,6 @@
        :deploy2 => "skipped",
        :manual1 => "manual",
        :manual2 => "manual",
       -:test1 => "skipped",
       +:test1 => "created",
        :test2 => "skipped",
     # ./spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb:1020:in `block (4 levels) in <top (required)>'
     # ./spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb:933:in `block (5 levels) in <top (required)>'
     # ./spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb:933:in `block (4 levels) in <top (required)>'
     # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'
     # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
     # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'
     # ./lib/gitlab/application_context.rb:70:in `with_raw_context'
     # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:260:in `block (2 levels) in <top (required)>'
     # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'
     # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'
     # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'
     # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
     # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'

Finished in 25 minutes 28 seconds (files took 59.75 seconds to load)
3050 examples, 1 failure, 19 pending

Failed examples:

rspec ./spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb:1013 # Ci::PipelineProcessing::AtomicProcessingService Pipeline Processing Service when jobs change from stopped to alive status during pipeline processing runs ResetSkippedJobsService on the new alive jobs and logs event

Randomized with seed 18278

Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected
[TEST PROF INFO] Time spent in factories: 08:36.554 (33.6% of total time)
RSpec exited with 1.
[job-metrics] Updating job metrics tag for the CI/CD job.
RSPEC_RETRIED_TESTS_REPORT_PATH: rspec/retried_tests-6481321357.txt
Retrying the failing examples in a new RSpec process...
$ gem install junit_merge --no-document --version 0.1.2
Successfully installed nokogiri-1.16.3-x86_64-linux
Successfully installed junit_merge-0.1.2
2 gems installed
==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.
Running RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-retry-6481321357.json --format RspecJunitFormatter --out rspec/rspec-retry-6481321357.xml --only-failures --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"
Run options: include {:last_run_status=>"failed"}

# [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 0.607683348 seconds
# [RSpecRunTime] Starting example group spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb. Expected to take 5 minutes 55.53 seconds.

Ci::PipelineProcessing::AtomicProcessingService
  Pipeline Processing Service
    when jobs change from stopped to alive status during pipeline processing
      runs ResetSkippedJobsService on the new alive jobs and logs event

# [RSpecRunTime] Finishing example group spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb. It took 6.26 seconds. Expected to take 5 minutes 55.53 seconds.
# [RSpecRunTime] RSpec elapsed time: 11.89 seconds. Current RSS: ~1272M. load average: 1.23 1.22 1.19 1/292 9890


auto_explain log contains 1585 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-9-32.9810.main.ndjson.gz
took 30.23099136
auto_explain log contains 1585 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-9-32.9810.ci.ndjson.gz
took 29.923489267
[TEST PROF INFO] EventProf results for sql.active_record

Total time: 00:01.864 of 00:06.303 (29.58%)
Total events: 663

Top 5 slowest suites (by time):

Ci::PipelineP...cessingService (./spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb:5) – 00:01.864 (663 / 1) of 00:06.303 (29.58%)


Finished in 1 minute 12.15 seconds (files took 56.51 seconds to load)
1 example, 0 failures

[TEST PROF INFO] Time spent in factories: 00:01.532 (2.04% of total time)
Loading rspec/rspec-6481321357.json...
Merged rspec/rspec-retry-6481321357.json adding 4 results.
Saved rspec/rspec-6481321357.json.
A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...
Flaky test was not part of this MR.
section_end:1711469119:step_script
section_start:1711469119:after_script
Running after_script
Running after script...
$ source scripts/utils.sh
$ bundle exec gem list gitlab_quality-test_tooling
gitlab_quality-test_tooling (1.17.0)
$ section_start "relate-failure-issue" "Report test failures" # collapsed multi-line command
section_start:1711469120:relate-failure-issue[collapsed=true]
Report test failures
Reporting test failures in `rspec/rspec-retry-6481321357.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Reporting 1 tests in rspec/rspec-retry-6481321357.json
section_end:1711469122:relate-failure-issue

$ section_start "flaky-test-issues" "Report test flakiness" # collapsed multi-line command
section_start:1711469122:flaky-test-issues[collapsed=true]
Report test flakiness
Reporting flaky tests in `rspec/rspec-retry-6481321357.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Reporting 1 tests in rspec/rspec-retry-6481321357.json
 => Reporting flakiness for test 'Ci::PipelineProcessing::AtomicProcessingService Pipeline Processing Service when jobs change from stopped to alive status during pipeline processing runs ResetSkippedJobsService on the new alive jobs and logs event'...
   => Adding the flaky test to the existing issue: https://gitlab.com/gitlab-org/gitlab/-/issues/450395
   => Adding the flaky test to the existing issue: https://gitlab.com/gitlab-org/gitlab/-/issues/446201
section_end:1711469133:flaky-test-issues

$ section_start "slow-test-issues" "Report test slowness" # collapsed multi-line command
section_start:1711469133:slow-test-issues[collapsed=true]
Report test slowness
Reporting slow tests in `rspec/rspec-*.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`.
=> Reporting 1 tests in rspec/rspec-6481321357.json
=> Reporting 1 tests in rspec/rspec-retry-6481321357.json
section_end:1711469134:slow-test-issues

$ section_start "slow-test-merge-request-report-note" "Report test slowness in MR note" # collapsed multi-line command
section_start:1711469134:slow-test-merge-request-report-note[collapsed=true]
Report test slowness in MR note
section_end:1711469134:slow-test-merge-request-report-note

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

$ tooling/bin/push_job_metrics || true
[job-metrics] Pushing job metrics file for the CI/CD job.
[job-metrics] Pushed 4 CI job metric entries to InfluxDB.
section_end:1711469137:after_script
section_start:1711469137:archive_cache
Saving cache for successful job
Not uploading cache ruby-gems-debian-bookworm-ruby-3.1-17 due to policy
section_end:1711469137:archive_cache
section_start:1711469137:upload_artifacts_on_success
Uploading artifacts for successful job
Uploading artifacts...
auto_explain/: found 5 matching artifact files and directories 
coverage/: found 4 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 5 matching artifact files and directories 
knapsack/: found 4 matching artifact files and directories 
rspec/: found 15 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 19 matching artifact files and directories 
WARNING: Upload request redirected                  location=https://gitlab.com/api/v4/jobs/6481321357/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=6481321357 responseStatus=201 Created token=glcbt-65
Uploading artifacts...
rspec/rspec-*.xml: found 2 matching artifact files and directories 
WARNING: Upload request redirected                  location=https://gitlab.com/api/v4/jobs/6481321357/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=6481321357 responseStatus=201 Created token=glcbt-65
section_end:1711469143:upload_artifacts_on_success
section_start:1711469143:cleanup_file_variables
Cleaning up project directory and file based variables
section_end:1711469143:cleanup_file_variables
Job succeeded