rspec-ee unit pg12 geo 1/2
Passed Started
by
@mkozono
Michael Kozono
1Running with gitlab-runner 14.10.0~beta.50.g1f2fe53e (1f2fe53e)2 on green-4.shared-gitlab-org.runners-manager.gitlab.com/default x5QiHUKw3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:19789c9e83692f61ca3314294926bb26b68068f08aab1bd207915dcbd1a629c7 for postgres:12 with digest postgres@sha256:f2765d6a2a6459578274645b4d801345060322da2ba855af3d84878be28fe923 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:131bc9ee328cff6485bae97a15d5867539c2902681d2bb30ab20117132936344 for redis:6.0-alpine with digest redis@sha256:54cd3000b43117c720f7d1ae77692b798ad8b4d54e304dbd8e49e799e77494a1 ...13Starting service elasticsearch:7.17.0 ...14Pulling docker image elasticsearch:7.17.0 ...15Using docker image sha256:6fe993d6e7ed5e00a18f9b146d867b77559bf9948e6596bbf880ddbefeec46f7 for elasticsearch:7.17.0 with digest elasticsearch@sha256:332c6d416808f6e9a2cbcbe0170d9a9bb14bfe772180d37de5084c223dd8948b ...16Waiting for services to be up and running...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...19Using docker image sha256:f5ccee577b270c6a832d9828384f62b437fcd3314314b5a98a5ab1cd248c3455 for registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7291ca4981a34fb65e8293b932eab1b4a4949bffa86bf4427b9f12c73f3483b7 ...21Running on runner-x5qihukw-project-278964-concurrent-0 via runner-x5qihukw-shared-gitlab-org-1651160460-86bd67ee...23$ eval "$CI_PRE_CLONE_SCRIPT"24Fetching changes with git depth set to 20...25Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/26Created fresh repository.27remote: Enumerating objects: 100897, done. 28remote: Counting objects: 100% (100897/100897), done. 29remote: Compressing objects: 100% (72244/72244), done. 30remote: Total 100897 (delta 37991), reused 66741 (delta 24985), pack-reused 0 31Receiving objects: 100% (100897/100897), 103.82 MiB | 24.22 MiB/s, done.32Resolving deltas: 100% (37991/37991), done.34 * [new ref] refs/pipelines/527209691 -> refs/pipelines/52720969135Checking out 5267a595 as refs/merge-requests/86026/merge...36Skipping Git submodules setup38Checking cache for ruby-gems-bullseye-9-non_protected...39WARNING: file does not exist 40Failed to extract cache41Checking cache for gitaly-ruby-gems-bullseye-9-non_protected...42WARNING: file does not exist 43Failed to extract cache45Downloading artifacts for compile-test-assets (2391235084)...46Downloading artifacts from coordinator... ok id=2391235084 responseStatus=200 OK token=L9MhdVsA47Downloading artifacts for detect-tests (2391235095)...48Downloading artifacts from coordinator... ok id=2391235095 responseStatus=200 OK token=JNCgGSBc49Downloading artifacts for retrieve-tests-metadata (2391235100)...50Downloading artifacts from coordinator... ok id=2391235100 responseStatus=200 OK token=hZHaJ1t651Downloading artifacts for setup-test-env (2391235090)...52Downloading artifacts from coordinator... ok id=2391235090 responseStatus=200 OK token=99nHhGhQ54Using docker image sha256:f5ccee577b270c6a832d9828384f62b437fcd3314314b5a98a5ab1cd248c3455 for registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7291ca4981a34fb65e8293b932eab1b4a4949bffa86bf4427b9f12c73f3483b7 ...55$ echo $FOSS_ONLY56$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb57$ export GOPATH=$CI_PROJECT_DIR/.go58$ mkdir -p $GOPATH59$ source scripts/utils.sh60$ source scripts/prepare_build.sh61Successfully installed bundler-2.3.6621 gem installed63Bundler version 2.3.664production:development65Settings are listed in order of priority. The top value will be used.66clean67Set for the current user (/root/.bundle/config): true68install_flags69Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"70path71Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"72without73Set via BUNDLE_WITHOUT: [:production, :development]74$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check75Don't run Bundler as root. Bundler can ask for sudo if it is needed, and76installing your bundle as root will break this application for all non-root77users on this machine.78The Gemfile's dependencies are satisfied79==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 491 seconds.80$ bundle pristine pg81Installing pg 1.2.3 with native extensions82==> 'bundle pristine pg' succeeded in 11 seconds.83Using decomposed database config (config/database.yml.decomposed-postgresql)84$ setup_db_user_only85CREATE ROLE86GRANT87==> 'setup_db_user_only' succeeded in 0 seconds.88$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee89DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)90DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:NewHasVariable> at app/models/concerns/ci/new_has_variable.rb:9)91DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Kubernetes> at app/models/clusters/platforms/kubernetes.rb:29)92DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Kubernetes> at app/models/clusters/platforms/kubernetes.rb:34)93DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)94DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)95DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)96DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)97DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)98DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)99DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)100DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)101DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)102DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Integration> at app/models/integration.rb:52)103DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Helm> at app/models/clusters/applications/helm.rb:12)104DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Prometheus> at app/models/clusters/applications/prometheus.rb:23)105DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)106DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)107DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)108DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from connected? at ee/lib/gitlab/geo.rb:79)109Dropped database 'gitlabhq_test'110Dropped database 'gitlabhq_test_ci'111Dropped database 'gitlabhq_geo_test'112Created database 'gitlabhq_test'113Created database 'gitlabhq_test_ci'114Created database 'gitlabhq_geo_test'115DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)116Dropped database 'gitlabhq_geo_test'117Created database 'gitlabhq_geo_test'118==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 39 seconds.119$ run_timed_command "gem install knapsack --no-document"120$ gem install knapsack --no-document121Successfully installed knapsack-4.0.01221 gem installed123==> 'gem install knapsack --no-document' succeeded in 1 seconds.124$ run_timed_command "scripts/gitaly-test-spawn"125$ scripts/gitaly-test-spawn126find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory127find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory128find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory129Don't run Bundler as root. Bundler can ask for sudo if it is needed, and130installing your bundle as root will break this application for all non-root131users on this machine.132Fetching gem metadata from https://rubygems.org/...........133Fetching minitest 5.15.0134Fetching abstract_type 0.0.7135Fetching concurrent-ruby 1.1.10136Installing abstract_type 0.0.7137Installing minitest 5.15.0138Fetching zeitwerk 2.5.4139Installing concurrent-ruby 1.1.10140Installing zeitwerk 2.5.4141Fetching builder 3.2.4142Fetching erubi 1.10.0143Installing builder 3.2.4144Installing erubi 1.10.0145Fetching mini_portile2 2.8.0146Fetching racc 1.6.0147Installing mini_portile2 2.8.0148Fetching crass 1.0.6149Installing racc 1.6.0 with native extensions150Fetching rack 2.2.3151Installing crass 1.0.6152Fetching ice_nine 0.11.2153Installing rack 2.2.3154Installing ice_nine 0.11.2155Fetching thread_safe 0.3.6156Fetching public_suffix 4.0.6157Installing thread_safe 0.3.6158Installing public_suffix 4.0.6159Fetching ast 2.4.2160Fetching binding_ninja 0.2.3161Installing binding_ninja 0.2.3 with native extensions162Installing ast 2.4.2163Using bundler 2.1.4164Fetching charlock_holmes 0.7.7165Installing charlock_holmes 0.7.7 with native extensions166Fetching coderay 1.1.2167Installing coderay 1.1.2168Fetching equalizer 0.0.11169Installing equalizer 0.0.11170Fetching diff-lcs 1.3171Installing diff-lcs 1.3172Fetching dotenv 2.7.6173Installing dotenv 2.7.6174Fetching escape_utils 1.2.1175Installing escape_utils 1.2.1 with native extensions176Fetching multipart-post 2.1.1177Installing multipart-post 2.1.1178Fetching ffi 1.15.3179Installing ffi 1.15.3 with native extensions180Fetching json 2.6.1181Installing json 2.6.1 with native extensions182Fetching mini_mime 1.0.2183Installing mini_mime 1.0.2184Fetching rugged 1.2.0185Installing rugged 1.2.0 with native extensions186Fetching github-markup 1.7.0187Installing github-markup 1.7.0188Fetching mime-types-data 3.2020.1104189Installing mime-types-data 3.2020.1104190Fetching rouge 3.27.0191Installing rouge 3.27.0192Fetching stringex 2.8.5193Installing stringex 2.8.5194Fetching google-protobuf 3.19.1 (x86_64-linux)195Installing google-protobuf 3.19.1 (x86_64-linux)196Fetching opentracing 0.5.0197Installing opentracing 0.5.0198Fetching thrift 0.15.0199Installing thrift 0.15.0 with native extensions200Fetching redis 4.4.0201Installing redis 4.4.0202Fetching rubyzip 2.3.2203Installing rubyzip 2.3.2204Fetching thor 1.1.0205Installing thor 1.1.0206Fetching tomlrb 2.0.1207Installing tomlrb 2.0.1208Fetching with_env 1.1.0209Installing with_env 1.1.0210Fetching rexml 3.2.5211Installing rexml 3.2.5212Fetching gitlab-markup 1.7.1213Installing gitlab-markup 1.7.1214Fetching grpc-tools 1.42.0215Installing grpc-tools 1.42.0216Fetching method_source 0.9.2217Installing method_source 0.9.2218Fetching msgpack 1.3.3219Installing msgpack 1.3.3 with native extensions220Fetching optimist 3.0.1221Installing optimist 3.0.1222Fetching parallel 1.19.2223Installing parallel 1.19.2224Fetching procto 0.0.3225Fetching rainbow 3.0.0226Installing procto 0.0.3227Installing rainbow 3.0.0228Fetching rdoc 6.3.2229Fetching regexp_parser 1.8.1230Installing regexp_parser 1.8.1231Installing rdoc 6.3.2232Fetching rspec-support 3.8.0233Installing rspec-support 3.8.0234Fetching ruby-progressbar 1.10.1235Installing ruby-progressbar 1.10.1236Fetching unicode-display_width 1.7.0237Fetching timecop 0.9.1238Installing unicode-display_width 1.7.0239Fetching i18n 1.10.0240Installing timecop 0.9.1241Fetching tzinfo 2.0.4242Installing i18n 1.10.0243Installing tzinfo 2.0.4244Fetching rack-test 1.1.0245Installing rack-test 1.1.0246Fetching memoizable 0.4.2247Fetching addressable 2.7.0248Installing memoizable 0.4.2249Fetching parser 3.0.3.2250Installing addressable 2.7.0251Fetching nokogiri 1.13.3 (x86_64-linux)252Installing parser 3.0.3.2253Fetching faraday 1.0.1254Installing nokogiri 1.13.3 (x86_64-linux)255Installing faraday 1.0.1256Fetching mime-types 3.3.1257Installing mime-types 3.3.1258Fetching googleapis-common-protos-types 1.3.0259Installing googleapis-common-protos-types 1.3.0260Fetching pg_query 2.1.1261Fetching github-linguist 7.12.1262Installing pg_query 2.1.1 with native extensions263Installing github-linguist 7.12.1 with native extensions264Fetching xml-simple 1.1.9265Installing xml-simple 1.1.9266Fetching pry 0.12.2267Installing pry 0.12.2268Fetching jaeger-client 1.1.0269Installing jaeger-client 1.1.0270Fetching gemojione 3.3.0271Installing gemojione 3.3.0272Fetching rspec-core 3.8.0273Installing rspec-core 3.8.0274Fetching rspec-expectations 3.8.3275Installing rspec-expectations 3.8.3276Fetching rspec-mocks 3.8.0277Installing rspec-mocks 3.8.0278Fetching activesupport 6.1.4.7279Installing activesupport 6.1.4.7280Fetching adamantium 0.2.0281Installing adamantium 0.2.0282Fetching rubocop-ast 0.2.0283Installing rubocop-ast 0.2.0284Fetching sawyer 0.8.2285Installing sawyer 0.8.2286Fetching sentry-raven 3.0.4287Installing sentry-raven 3.0.4288Fetching gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1289Installing gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1290Fetching grpc 1.42.0 (x86_64-linux)291Installing grpc 1.42.0 (x86_64-linux)292Fetching loofah 2.16.0293Installing loofah 2.16.0294Fetching sanitize 6.0.0295Installing sanitize 6.0.0296Fetching reverse_markdown 1.4.0297Installing reverse_markdown 1.4.0298Fetching rbtrace 0.4.14299Installing rbtrace 0.4.14 with native extensions300Fetching gitlab-license_finder 6.14.2.1301Installing gitlab-license_finder 6.14.2.1302Fetching rspec 3.8.0303Installing rspec 3.8.0304Fetching rails-dom-testing 2.0.3305Installing rails-dom-testing 2.0.3306Fetching factory_bot 5.0.2307Installing factory_bot 5.0.2308Fetching concord 0.1.5309Installing concord 0.1.5310Fetching rubocop 0.86.0311Installing rubocop 0.86.0312Fetching octokit 4.20.0313Installing octokit 4.20.0314Fetching rails-html-sanitizer 1.4.2315Installing rails-html-sanitizer 1.4.2316Fetching gitlab-gollum-lib 4.2.7.10.gitlab.2317Installing gitlab-gollum-lib 4.2.7.10.gitlab.2318Fetching unparser 0.4.7319Fetching licensee 9.14.1320Installing unparser 0.4.7321Installing licensee 9.14.1322Fetching actionview 6.1.4.7323Installing actionview 6.1.4.7324Fetching proc_to_ast 0.1.0325Installing proc_to_ast 0.1.0326Fetching actionpack 6.1.4.7327Fetching rspec-parameterized 0.4.2328Installing rspec-parameterized 0.4.2329Installing actionpack 6.1.4.7330Fetching gitlab-labkit 0.21.2331Installing gitlab-labkit 0.21.2332Bundle complete! 22 Gemfile dependencies, 100 gems now installed.333Gems in the groups production and development were not installed.334Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`335Post-install message from rubyzip:336RubyZip 3.0 is coming!337**********************338The public API of some Rubyzip classes has been modernized to use named339parameters for optional arguments. Please check your usage of the340following classes:341 * `Zip::File`342 * `Zip::Entry`343 * `Zip::InputStream`344 * `Zip::OutputStream`345Please ensure that your Gemfiles and .gemspecs are suitably restrictive346to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).347See https://github.com/rubyzip/rubyzip for details. The Changelog also348lists other enhancements and bugfixes that have been implemented since349version 2.3.0.350Checking gitaly-ruby Gemfile...351Checking gitaly-ruby bundle...352The Gemfile's dependencies are satisfied353Trying to connect to gitaly: ............................................. OK354Trying to connect to gitaly2: ............................................................... OK355Trying to connect to praefect: ........ OK356==> 'scripts/gitaly-test-spawn' succeeded in 144 seconds.357$ source ./scripts/rspec_helpers.sh358$ rspec_paralellized_job "--tag ~quarantine --tag geo"359SKIP_FLAKY_TESTS_AUTOMATICALLY: true360RETRY_FAILED_TESTS_IN_NEW_PROCESS: true361KNAPSACK_GENERATE_REPORT: true362FLAKY_RSPEC_GENERATE_REPORT: true363KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,events,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,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,component}{,/**/}*_spec.rb364KNAPSACK_LOG_LEVEL: debug365KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg12_geo_1_2_report.json366FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json367FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_geo_1_2_report.json368NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_geo_1_2_report.json369SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_geo_1_2_report.txt370RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_geo_1_2_report.txt371CRYSTALBALL: 372Knapsack node specs:373ee/spec/services/search/group_service_spec.rb374ee/spec/services/geo/registry_consistency_service_spec.rb375ee/spec/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used_spec.rb376ee/spec/models/project_spec.rb377ee/spec/lib/gitlab/elastic/project_search_results_spec.rb378ee/spec/services/ee/notification_service_spec.rb379ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb380ee/spec/models/ee/group_spec.rb381ee/spec/lib/ee/gitlab/usage_data_spec.rb382ee/spec/models/geo/project_registry_spec.rb383ee/spec/services/ci/register_job_service_spec.rb384ee/spec/policies/group_policy_spec.rb385ee/spec/models/merge_request_spec.rb386ee/spec/services/search/snippet_service_spec.rb387ee/spec/models/license_spec.rb388ee/spec/lib/gitlab/git_access_spec.rb389ee/spec/models/epic_issue_spec.rb390ee/spec/models/group_wiki_spec.rb391ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb392ee/spec/models/geo/terraform_state_version_registry_spec.rb393ee/spec/models/elastic/migration_record_spec.rb394ee/spec/models/ee/vulnerability_spec.rb395ee/spec/services/vulnerability_feedback/create_service_spec.rb396ee/spec/services/ee/service_ping/build_payload_service_spec.rb397ee/spec/services/ee/issues/update_service_spec.rb398ee/spec/replicators/geo/job_artifact_replicator_spec.rb399ee/spec/models/merge_train_spec.rb400ee/spec/serializers/environment_entity_spec.rb401ee/spec/lib/gitlab/instrumentation/elasticsearch_transport_spec.rb402ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_spec.rb403ee/spec/models/issue_spec.rb404ee/spec/policies/environment_policy_spec.rb405ee/spec/services/ee/notes/quick_actions_service_spec.rb406ee/spec/serializers/ee/ci/job_entity_spec.rb407ee/spec/lib/gitlab/elastic/snippet_search_results_spec.rb408ee/spec/models/geo/package_file_registry_spec.rb409ee/spec/models/ee/iteration_spec.rb410ee/spec/services/epics/update_service_spec.rb411ee/spec/lib/gitlab/elastic/indexer_spec.rb412ee/spec/replicators/geo/pages_deployment_replicator_spec.rb413ee/spec/models/concerns/elastic/issue_spec.rb414ee/spec/services/epic_issues/create_service_spec.rb415ee/spec/models/geo/upload_registry_spec.rb416ee/spec/lib/banzai/filter/references/iteration_reference_filter_spec.rb417ee/spec/replicators/geo/snippet_repository_replicator_spec.rb418ee/spec/config/metrics/every_metric_definition_spec.rb419ee/spec/lib/ee/gitlab/usage/service_ping_report_spec.rb420ee/spec/services/projects/create_from_template_service_spec.rb421ee/spec/services/vulnerabilities/confirm_service_spec.rb422ee/spec/tasks/geo_rake_spec.rb423ee/spec/services/epics/issue_promote_service_spec.rb424ee/spec/services/elastic/cluster_reindexing_service_spec.rb425ee/spec/models/concerns/elastic/merge_request_spec.rb426ee/spec/elastic_integration/global_search_spec.rb427ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb428ee/spec/lib/gitlab/geo/git_ssh_proxy_spec.rb429ee/spec/policies/epic_policy_spec.rb430ee/spec/helpers/billing_plans_helper_spec.rb431ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb432ee/spec/services/members/activate_service_spec.rb433ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb434ee/spec/models/geo/pipeline_artifact_registry_spec.rb435ee/spec/replicators/geo/lfs_object_replicator_spec.rb436ee/spec/services/geo/repository_sync_service_spec.rb437ee/spec/models/vulnerabilities/stat_diff_spec.rb438ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb439ee/spec/models/merge_request/blocking_spec.rb440ee/spec/models/concerns/elastic/project_spec.rb441ee/spec/services/geo/framework_repository_sync_service_spec.rb442ee/spec/services/ee/merge_requests/create_pipeline_service_spec.rb443ee/spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb444ee/spec/services/ee/issues/move_service_spec.rb445ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb446ee/spec/services/deployments/approval_service_spec.rb447ee/spec/services/merge_requests/sync_report_approver_approval_rules_spec.rb448ee/spec/models/dast/profile_schedule_spec.rb449ee/spec/helpers/ee/users/callouts_helper_spec.rb450ee/spec/services/search_service_spec.rb451ee/spec/presenters/merge_request_presenter_spec.rb452ee/spec/models/project_member_spec.rb453ee/spec/services/geo/design_repository_sync_service_spec.rb454ee/spec/services/ee/issues/create_service_spec.rb455ee/spec/models/vulnerabilities/feedback_spec.rb456ee/spec/workers/geo/repository_shard_sync_worker_spec.rb457ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb458ee/spec/services/todo_service_spec.rb459ee/spec/services/start_pull_mirroring_service_spec.rb460ee/spec/helpers/push_rules_helper_spec.rb461ee/spec/finders/geo/job_artifact_legacy_registry_finder_spec.rb462ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb463ee/spec/models/security/orchestration_policy_configuration_spec.rb464ee/spec/services/audit_event_service_spec.rb465ee/spec/models/security/scan_spec.rb466ee/spec/workers/geo/verification_state_backfill_worker_spec.rb467ee/spec/finders/billed_users_finder_spec.rb468ee/spec/services/groups/update_service_spec.rb469ee/spec/models/ee/protected_ref_access_spec.rb470ee/spec/services/ee/git/branch_push_service_spec.rb471ee/spec/models/dast_site_profile_spec.rb472ee/spec/workers/geo/file_download_dispatch_worker_spec.rb473ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb474ee/spec/models/ee/protected_branch_spec.rb475ee/spec/helpers/ee/groups_helper_spec.rb476ee/spec/services/groups/sync_service_spec.rb477ee/spec/lib/gitlab/code_owners/loader_spec.rb478ee/spec/services/requirements_management/update_requirement_service_spec.rb479ee/spec/models/concerns/epic_tree_sorting_spec.rb480ee/spec/services/boards/create_service_spec.rb481ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb482ee/spec/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location_spec.rb483ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb484ee/spec/models/note_spec.rb485ee/spec/services/projects/transfer_service_spec.rb486ee/spec/services/ee/members/destroy_service_spec.rb487ee/spec/lib/gitlab/geo/replication/file_retriever_spec.rb488ee/spec/policies/ci/build_policy_spec.rb489ee/spec/services/geo/file_upload_service_spec.rb490ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb491ee/spec/models/merge_request_block_spec.rb492ee/spec/services/epics/update_dates_service_spec.rb493ee/spec/lib/gitlab/usage_data_counters/epic_activity_unique_counter_spec.rb494ee/spec/workers/geo/repository_verification/primary/shard_worker_spec.rb495ee/spec/lib/gitlab/usage_data_metrics_spec.rb496ee/spec/workers/geo/prune_event_log_worker_spec.rb497ee/spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb498ee/spec/models/environment_spec.rb499ee/spec/serializers/dashboard_operations_project_entity_spec.rb500ee/spec/lib/ee/gitlab/background_migration/populate_status_column_of_security_scans_spec.rb501ee/spec/services/projects/group_links/create_service_spec.rb502ee/spec/finders/geo/repository_verification_finder_spec.rb503ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb504ee/spec/models/snippet_repository_spec.rb505ee/spec/models/concerns/elastic/snippet_spec.rb506ee/spec/lib/gitlab/geo_spec.rb507ee/spec/workers/update_all_mirrors_worker_spec.rb508ee/spec/models/productivity_analytics_spec.rb509ee/spec/lib/gitlab/ci/templates/dast_latest_gitlab_ci_yaml_spec.rb510ee/spec/lib/gitlab/vulnerabilities/findings_preloader_spec.rb511ee/spec/lib/ee/gitlab/ci/parsers/security/validators/schema_validator_spec.rb512ee/spec/graphql/resolvers/requirements_management/requirements_resolver_spec.rb513ee/spec/workers/geo/registry_sync_worker_spec.rb514ee/spec/finders/issues_finder_spec.rb515ee/spec/graphql/resolvers/timebox_report_resolver_spec.rb516ee/spec/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings_spec.rb517ee/spec/services/ci/minutes/update_project_and_namespace_usage_service_spec.rb518ee/spec/models/board_spec.rb519ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb520ee/spec/services/epics/related_epic_links/create_service_spec.rb521ee/spec/policies/requirements_management/requirement_policy_spec.rb522ee/spec/graphql/types/vulnerability_type_spec.rb523ee/spec/services/app_sec/dast/profiles/update_service_spec.rb524ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb525ee/spec/services/geo/wiki_sync_service_spec.rb526ee/spec/finders/geo/terraform_state_version_registry_finder_spec.rb527ee/spec/models/concerns/geo/verification_state_spec.rb528ee/spec/lib/elastic/latest/git_class_proxy_spec.rb529ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_restorer_spec.rb530ee/spec/graphql/ee/resolvers/issues_resolver_spec.rb531ee/spec/services/ee/users/destroy_service_spec.rb532ee/spec/models/vulnerabilities/issue_link_spec.rb533ee/spec/services/ci/create_pipeline_service/cross_needs_artifacts_spec.rb534ee/spec/services/iterations/delete_service_spec.rb535ee/spec/services/ee/protected_branches/create_service_spec.rb536ee/spec/lib/gitlab/analytics/cycle_analytics/summary/stage_time_summary_spec.rb537ee/spec/finders/security/findings_finder_spec.rb538ee/spec/helpers/ee/namespace_storage_limit_alert_helper_spec.rb539ee/spec/services/namespaces/storage/email_notification_service_spec.rb540ee/spec/services/resource_access_tokens/create_service_spec.rb541ee/spec/lib/gitlab/background_migration/populate_test_reports_issue_id_spec.rb542ee/spec/serializers/vulnerabilities/finding_serializer_spec.rb543ee/spec/workers/app_sec/dast/profile_schedule_worker_spec.rb544ee/spec/models/geo/secondary_usage_data_spec.rb545ee/spec/services/security/report_summary_service_spec.rb546ee/spec/helpers/ee/welcome_helper_spec.rb547ee/spec/models/dast/profile_spec.rb548ee/spec/services/timebox_report_service_spec.rb549ee/spec/finders/merge_trains_finder_spec.rb550ee/spec/services/ldap_group_reset_service_spec.rb551ee/spec/services/app_sec/dast/site_profiles/update_service_spec.rb552ee/spec/graphql/types/dast_site_profile_type_spec.rb553ee/spec/models/concerns/approver_migrate_hook_spec.rb554ee/spec/graphql/mutations/issues/create_spec.rb555ee/spec/models/project_ci_cd_setting_spec.rb556ee/spec/models/geo/group_wiki_repository_registry_spec.rb557ee/spec/services/merge_trains/create_pipeline_service_spec.rb558ee/spec/services/ee/boards/issues/list_service_spec.rb559ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb560ee/spec/routing/user_routing_spec.rb561ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb562ee/spec/helpers/subscriptions_helper_spec.rb563ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb564ee/spec/services/vulnerabilities/manually_create_service_spec.rb565ee/spec/lib/gitlab/ci/reports/security/finding_spec.rb566ee/spec/serializers/member_entity_spec.rb567ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb568ee/spec/services/iterations/cadences/create_iterations_in_advance_service_spec.rb569ee/spec/lib/gitlab/analytics/cycle_analytics/request_params_spec.rb570ee/spec/finders/groups_with_templates_finder_spec.rb571ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb572ee/spec/services/incident_management/pending_escalations/process_service_spec.rb573ee/spec/presenters/ci/minutes/quota_presenter_spec.rb574ee/spec/models/visible_approvable_spec.rb575ee/spec/services/dashboard/operations/list_service_spec.rb576ee/spec/models/path_lock_spec.rb577ee/spec/helpers/ee/issues_helper_spec.rb578ee/spec/serializers/vulnerabilities/finding_entity_spec.rb579ee/spec/services/wiki_pages/update_service_spec.rb580ee/spec/services/ee/members/create_service_spec.rb581ee/spec/models/dast_scanner_profile_spec.rb582ee/spec/helpers/ee/namespaces_helper_spec.rb583ee/spec/services/auto_merge/add_to_merge_train_when_pipeline_succeeds_service_spec.rb584ee/spec/services/projects/gitlab_projects_import_service_spec.rb585ee/spec/finders/custom_project_templates_finder_spec.rb586ee/spec/services/ee/incident_management/issuable_escalation_statuses/after_update_service_spec.rb587ee/spec/models/vulnerabilities/statistic_spec.rb588ee/spec/lib/gitlab/auth/group_saml/gma_membership_enforcer_spec.rb589ee/spec/services/groups/create_service_spec.rb590ee/spec/services/ee/boards/lists/list_service_spec.rb591ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb592ee/spec/finders/security/vulnerability_reads_finder_spec.rb593ee/spec/services/alert_management/network_alert_service_spec.rb594ee/spec/graphql/mutations/issues/set_epic_spec.rb595ee/spec/services/geo/repository_verification_primary_service_spec.rb596ee/spec/services/boards/epics/move_service_spec.rb597ee/spec/lib/gitlab/spdx/catalogue_gateway_spec.rb598ee/spec/lib/audit/details_spec.rb599ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb600ee/spec/services/projects/destroy_service_spec.rb601ee/spec/graphql/types/project_type_spec.rb602ee/spec/models/integrations/github/status_message_spec.rb603ee/spec/services/ee/users/update_service_spec.rb604ee/spec/graphql/ee/resolvers/namespace_projects_resolver_spec.rb605ee/spec/models/concerns/elastic/project_wiki_spec.rb606ee/spec/graphql/mutations/issues/set_escalation_policy_spec.rb607ee/spec/models/epic/related_epic_link_spec.rb608ee/spec/lib/ee/gitlab/auth/ldap/sync/groups_spec.rb609ee/spec/services/security/merge_reports_service_spec.rb610ee/spec/models/merge_requests/compliance_violation_spec.rb611ee/spec/models/ci/daily_build_group_report_result_spec.rb612ee/spec/services/ci/create_pipeline_service/needs_spec.rb613ee/spec/models/protected_environments/approval_summary_spec.rb614ee/spec/workers/geo/repository_sync_worker_spec.rb615ee/spec/services/boards/epics/list_service_spec.rb616ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb617ee/spec/services/app_sec/dast/scanner_profiles/update_service_spec.rb618ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb619ee/spec/services/wiki_pages/destroy_service_spec.rb620ee/spec/finders/audit_log_finder_spec.rb621ee/spec/finders/geo/design_registry_finder_spec.rb622ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb623ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb624ee/spec/routing/admin_routing_spec.rb625ee/spec/models/protected_environments/approval_rule_spec.rb626ee/spec/lib/ee/gitlab/ci/matching/runner_matcher_spec.rb627ee/spec/policies/issuable_policy_spec.rb628ee/spec/models/ci/bridge_spec.rb629ee/spec/lib/bulk_imports/groups/pipelines/epics_pipeline_spec.rb630ee/spec/models/ee/event_spec.rb631ee/spec/models/boards/epic_list_spec.rb632ee/spec/lib/gitlab/ci/reports/license_scanning/report_spec.rb633ee/spec/models/packages/package_file_spec.rb634ee/spec/lib/ee/gitlab/background_migration/populate_namespace_statistics_spec.rb635ee/spec/lib/analytics/refresh_comments_data_spec.rb636ee/spec/graphql/mutations/issues/update_spec.rb637ee/spec/graphql/mutations/dast_site_profiles/create_spec.rb638ee/spec/services/geo/metrics_update_service_spec.rb639ee/spec/services/security/ingestion/tasks/ingest_finding_signatures_spec.rb640ee/spec/services/system_notes/merge_train_service_spec.rb641ee/spec/services/ee/allowed_email_domains/update_service_spec.rb642ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb643ee/spec/lib/gitlab/elastic/document_reference_spec.rb644ee/spec/services/protected_environments/update_service_spec.rb645ee/spec/replicators/geo/group_wiki_repository_replicator_spec.rb646ee/spec/services/security/ingestion/tasks/ingest_vulnerability_statistics_spec.rb647ee/spec/services/ee/groups/import_export/import_service_spec.rb648ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb649ee/spec/views/shared/_mirror_status.html.haml_spec.rb650ee/spec/services/iterations/create_service_spec.rb651ee/spec/workers/geo/repositories_clean_up_worker_spec.rb652ee/spec/services/ci/pipeline_creation/drop_not_runnable_builds_service_spec.rb653ee/spec/models/vulnerabilities/historical_statistic_spec.rb654ee/spec/models/vulnerabilities/identifier_spec.rb655ee/spec/models/gitlab_subscriptions/features_spec.rb656ee/spec/workers/project_template_export_worker_spec.rb657ee/spec/services/geo/node_update_service_spec.rb658ee/spec/lib/gitlab/pagination_delegate_spec.rb659ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb660ee/spec/models/software_license_spec.rb661ee/spec/policies/vulnerabilities/feedback_policy_spec.rb662ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb663ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_in_batch_spec.rb664ee/spec/services/epics/related_epic_links/destroy_service_spec.rb665ee/spec/services/epics/transfer_service_spec.rb666ee/spec/workers/scan_security_report_secrets_worker_spec.rb667ee/spec/lib/gitlab/ci/parsers/security/dependency_scanning_spec.rb668ee/spec/lib/ee/gitlab/checks/push_rules/branch_check_spec.rb669ee/spec/graphql/mutations/dast_site_profiles/update_spec.rb670ee/spec/lib/ee/gitlab/group_search_results_spec.rb671ee/spec/workers/set_user_status_based_on_user_cap_setting_worker_spec.rb672ee/spec/serializers/ee/environment_serializer_spec.rb673ee/spec/services/projects/restore_service_spec.rb674ee/spec/services/incident_management/escalation_policies/update_service_spec.rb675ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb676ee/spec/services/ee/boards/lists/create_service_spec.rb677ee/spec/services/vulnerabilities/starboard_vulnerability_resolve_service_spec.rb678ee/spec/models/ci/subscriptions/project_spec.rb679ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb680ee/spec/models/vulnerabilities/finding_identifier_spec.rb681ee/spec/services/security/store_scan_service_spec.rb682ee/spec/serializers/blocking_merge_request_entity_spec.rb683ee/spec/services/vulnerabilities/starboard_vulnerability_create_service_spec.rb684ee/spec/services/ci/subscribe_bridge_service_spec.rb685ee/spec/models/milestone_release_spec.rb686ee/spec/workers/post_receive_spec.rb687ee/spec/lib/ee/sidebars/groups/menus/settings_menu_spec.rb688ee/spec/models/ee/key_spec.rb689ee/spec/workers/geo/repository_verification/primary/batch_worker_spec.rb690ee/spec/graphql/ee/resolvers/board_list_issues_resolver_spec.rb691ee/spec/lib/ee/api/helpers/scim_pagination_spec.rb692ee/spec/services/projects/prometheus/alerts/notify_service_spec.rb693ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb694ee/spec/workers/elastic_delete_project_worker_spec.rb695ee/spec/models/dora/daily_metrics_spec.rb696ee/spec/workers/geo/project_sync_worker_spec.rb697ee/spec/models/dast/scanner_profiles_build_spec.rb698ee/spec/services/merge_requests/build_service_spec.rb699ee/spec/lib/gitlab/code_owners_spec.rb700ee/spec/finders/geo/upload_registry_finder_spec.rb701ee/spec/lib/gitlab/vulnerabilities/base_vulnerability_spec.rb702ee/spec/lib/gitlab/subscription_portal/clients/graphql_spec.rb703ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb704ee/spec/workers/project_import_schedule_worker_spec.rb705ee/spec/helpers/application_helper_spec.rb706ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb707ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb708ee/spec/services/groups/participants_service_spec.rb709ee/spec/workers/geo/verification_worker_spec.rb710ee/spec/services/ci/play_build_service_spec.rb711ee/spec/workers/iterations/roll_over_issues_worker_spec.rb712ee/spec/lib/gitlab/ci/parsers/security/dependency_list_spec.rb713ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress_spec.rb714ee/spec/policies/compliance_management/framework_policy_spec.rb715ee/spec/models/project_feature_spec.rb716ee/spec/workers/ee/repository_check/batch_worker_spec.rb717ee/spec/models/incident_management/escalation_rule_spec.rb718ee/spec/models/concerns/ee/mentionable_spec.rb719ee/spec/presenters/ee/clusters/cluster_presenter_spec.rb720ee/spec/services/epic_issues/destroy_service_spec.rb721ee/spec/workers/new_epic_worker_spec.rb722ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb723ee/spec/services/geo/rename_repository_service_spec.rb724ee/spec/services/app_sec/dast/scans/create_service_spec.rb725ee/spec/graphql/types/issue_type_spec.rb726ee/spec/services/security/security_orchestration_policies/fetch_policy_approvers_service_spec.rb727ee/spec/workers/refresh_license_compliance_checks_worker_spec.rb728ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb729ee/spec/services/ci/minutes/additional_packs/change_namespace_service_spec.rb730ee/spec/models/geo/event_log_spec.rb731ee/spec/services/ee/gpg_keys/create_service_spec.rb732ee/spec/models/deployments/approval_spec.rb733ee/spec/models/ee/integrations/jira_spec.rb734ee/spec/graphql/mutations/issues/set_assignees_spec.rb735ee/spec/workers/admin_emails_worker_spec.rb736ee/spec/models/plan_spec.rb737ee/spec/helpers/ee/personal_access_tokens_helper_spec.rb738ee/spec/services/boards/epic_lists/update_service_spec.rb739ee/spec/services/merge_commits/export_csv_service_spec.rb740ee/spec/workers/group_saml_group_sync_worker_spec.rb741ee/spec/services/namespaces/check_excess_storage_size_service_spec.rb742ee/spec/services/resource_access_tokens/revoke_service_spec.rb743ee/spec/services/app_sec/dast/profiles/destroy_service_spec.rb744ee/spec/services/epic_issues/update_service_spec.rb745ee/spec/services/security/security_orchestration_policies/cluster_image_scanning_ci_variables_service_spec.rb746ee/spec/helpers/ee/ci/runners_helper_spec.rb747ee/spec/policies/ee/namespaces/user_namespace_policy_spec.rb748ee/spec/services/ci/process_pipeline_service_spec.rb749ee/spec/models/container_repository_spec.rb750ee/spec/services/boards/epics/position_create_service_spec.rb751ee/spec/services/app_sec/dast/sites/find_or_create_service_spec.rb752ee/spec/services/app_sec/dast/profiles/create_service_spec.rb753ee/spec/graphql/mutations/epics/add_issue_spec.rb754ee/spec/lib/ee/gitlab/background_migration/create_security_setting_spec.rb755ee/spec/workers/security/orchestration_policy_rule_schedule_worker_spec.rb756ee/spec/workers/adjourned_projects_deletion_cron_worker_spec.rb757ee/spec/graphql/mutations/vulnerabilities/create_external_issue_link_spec.rb758ee/spec/lib/gitlab/insights/project_insights_config_spec.rb759ee/spec/services/security/security_orchestration_policies/policy_commit_service_spec.rb760ee/spec/services/ci/runners/register_runner_service_spec.rb761ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb762ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb763ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb764ee/spec/models/ee/ci/pending_build_spec.rb765ee/spec/lib/gitlab/ci/templates/secure_binaries_ci_yaml_spec.rb766ee/spec/graphql/api/vulnerabilities_spec.rb767ee/spec/lib/gitlab/ci/parsers/security/container_scanning_spec.rb768ee/spec/graphql/types/vulnerability_detail_type_spec.rb769ee/spec/services/security/ingestion/ingest_report_service_spec.rb770ee/spec/graphql/types/admin/cloud_licenses/current_license_type_spec.rb771ee/spec/elastic_integration/repository_index_spec.rb772ee/spec/services/incident_management/timeline_events/destroy_service_spec.rb773ee/spec/finders/ee/projects_finder_spec.rb774ee/spec/models/groups/repository_storage_move_spec.rb775ee/spec/lib/gitlab/code_owners/users_loader_spec.rb776ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb777ee/spec/lib/gitlab/code_owners/validator_spec.rb778ee/spec/models/approval_wrapped_code_owner_rule_spec.rb779ee/spec/graphql/mutations/vulnerabilities/create_spec.rb780ee/spec/services/deployments/auto_rollback_service_spec.rb781ee/spec/lib/gitlab/ci/pipeline/chain/config/content_spec.rb782ee/spec/lib/gitlab/ci/templates/api_fuzzing_latest_gitlab_ci_yaml_spec.rb783ee/spec/lib/gitlab/ci/parsers/security/formatters/dast_spec.rb784ee/spec/lib/system_check/geo/license_check_spec.rb785ee/spec/presenters/vulnerabilities/finding_presenter_spec.rb786ee/spec/policies/path_lock_policy_spec.rb787ee/spec/policies/dast/profile_schedule_policy_spec.rb788ee/spec/models/geo/hashed_storage_migrated_event_spec.rb789ee/spec/serializers/ee/merge_request_poll_cached_widget_entity_spec.rb790ee/spec/services/issues/export_csv_service_spec.rb791ee/spec/graphql/mutations/dast_scanner_profiles/create_spec.rb792ee/spec/finders/ee/clusters/agent_authorizations_finder_spec.rb793ee/spec/finders/geo/snippet_repository_registry_finder_spec.rb794ee/spec/models/ci/minutes/additional_pack_spec.rb795ee/spec/services/vulnerability_issue_links/delete_service_spec.rb796ee/spec/services/vulnerability_exports/export_service_spec.rb797ee/spec/helpers/ee/profiles_helper_spec.rb798ee/spec/models/ee/lfs_object_spec.rb799ee/spec/helpers/license_monitoring_helper_spec.rb800ee/spec/services/external_status_checks/update_service_spec.rb801ee/spec/models/vulnerabilities/external_issue_link_spec.rb802ee/spec/lib/gitlab/ci/templates/dast_api_gitlab_ci_yaml_spec.rb803ee/spec/lib/gitlab/ci/templates/api_fuzzing_gitlab_ci_yaml_spec.rb804ee/spec/serializers/merge_request_poll_widget_entity_spec.rb805ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb806ee/spec/helpers/ee/security_orchestration_helper_spec.rb807ee/spec/services/epics/reopen_service_spec.rb808ee/spec/lib/ee/sidebars/groups/menus/issues_menu_spec.rb809ee/spec/models/analytics/cycle_analytics/group_level_spec.rb810ee/spec/lib/gitlab/geo/replication/job_artifact_transfer_spec.rb811ee/spec/graphql/mutations/epics/update_spec.rb812ee/spec/lib/gitlab/auth/smartcard/ldap_certificate_spec.rb813ee/spec/models/vulnerabilities/projects_grade_spec.rb814ee/spec/services/groups/mark_for_deletion_service_spec.rb815ee/spec/services/group_saml/identity/destroy_service_spec.rb816ee/spec/graphql/mutations/incident_management/timeline_event/promote_from_note_spec.rb817ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb818ee/spec/models/sca/license_policy_spec.rb819ee/spec/lib/gitlab/vulnerabilities/standard_vulnerability_spec.rb820ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_spec.rb821ee/spec/services/geo/cache_invalidation_event_store_spec.rb822ee/spec/services/projects/update_pages_service_spec.rb823ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb824ee/spec/finders/dast_scanner_profiles_finder_spec.rb825ee/spec/finders/group_saml_identity_finder_spec.rb826ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb827ee/spec/views/shared/promotions/_promotion_link_project.html.haml_spec.rb828ee/spec/services/geo/hashed_storage_migration_service_spec.rb829ee/spec/models/gitlab_subscriptions/upcoming_reconciliation_spec.rb830ee/spec/lib/gitlab/manual_renewal_banner_spec.rb831ee/spec/services/ee/service_ping/service_ping_settings_spec.rb832ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb833ee/spec/services/app_sec/dast/scan_configs/build_service_spec.rb834ee/spec/lib/gitlab/geo/replication/file_transfer_spec.rb835ee/spec/models/geo/deleted_project_spec.rb836ee/spec/services/ee/releases/create_evidence_service_spec.rb837ee/spec/graphql/resolvers/user_notes_count_resolver_spec.rb838ee/spec/lib/ee/gitlab/scim/attribute_transform_spec.rb839ee/spec/views/compliance_management/compliance_framework/_project_settings.html.haml_spec.rb840ee/spec/views/shared/credentials_inventory/gpg_keys/_gpg_key.html.haml_spec.rb841ee/spec/models/ee/namespace_limit_spec.rb842ee/spec/lib/ee/audit/project_setting_changes_auditor_spec.rb843ee/spec/workers/incident_management/oncall_rotations/persist_shifts_job_spec.rb844ee/spec/models/security/training_provider_spec.rb845ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_commit_at_spec.rb846ee/spec/workers/concerns/elastic/indexing_control_spec.rb847ee/spec/lib/gitlab/graphql/aggregations/epics/epic_node_spec.rb848ee/spec/lib/pseudonymizer/dumper_spec.rb849ee/spec/lib/ee/api/entities/deployment_extended_spec.rb850ee/spec/helpers/credentials_inventory_helper_spec.rb851ee/spec/views/shared/credentials_inventory/project_access_tokens/_project_access_token.html.haml_spec.rb852ee/spec/finders/ee/alert_management/alerts_finder_spec.rb853ee/spec/services/namespaces/check_storage_size_service_spec.rb854ee/spec/services/status_page/publish_details_service_spec.rb855ee/spec/lib/gitlab/sitemaps/url_extractor_spec.rb856ee/spec/models/concerns/ee/project_security_scanners_information_spec.rb857ee/spec/lib/ee/api/entities/scim/user_spec.rb858ee/spec/services/boards/user_preferences/update_service_spec.rb859ee/spec/routing/webhook_routes_spec.rb860ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb861ee/spec/services/boards/epic_lists/destroy_service_spec.rb862ee/spec/models/dast/profiles_pipeline_spec.rb863ee/spec/models/incident_management/oncall_shift_spec.rb864ee/spec/workers/incident_management/apply_incident_sla_exceeded_label_worker_spec.rb865ee/spec/models/elastic/index_setting_spec.rb866ee/spec/services/ci/audit_variable_change_service_spec.rb867ee/spec/models/namespaces/free_user_cap_spec.rb868ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb869ee/spec/lib/container_registry/client_spec.rb870ee/spec/models/users_security_dashboard_project_spec.rb871ee/spec/lib/gitlab/auth/group_saml/auth_hash_spec.rb872ee/spec/helpers/ee/operations_helper_spec.rb873ee/spec/services/ee/incident_management/issuable_escalation_statuses/prepare_update_service_spec.rb874ee/spec/services/geo/container_repository_sync_service_spec.rb875ee/spec/lib/analytics/group_activity_calculator_spec.rb876ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_external_status_checks_metric_spec.rb877ee/spec/lib/ee/gitlab/url_builder_spec.rb878ee/spec/policies/vulnerabilities/external_issue_link_policy_spec.rb879ee/spec/lib/gitlab/mirror_spec.rb880ee/spec/services/compliance_management/frameworks/destroy_service_spec.rb881ee/spec/graphql/mutations/vulnerabilities/dismiss_spec.rb882ee/spec/workers/personal_access_tokens/instance/policy_worker_spec.rb883ee/spec/services/analytics/cycle_analytics/value_streams/update_service_spec.rb884ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_added_spec.rb885ee/spec/lib/elastic/latest/git_instance_proxy_spec.rb886ee/spec/helpers/ee/invite_members_helper_spec.rb887ee/spec/serializers/ee/deployment_entity_spec.rb888ee/spec/helpers/ee/todos_helper_spec.rb889ee/spec/views/admin/dashboard/index.html.haml_spec.rb890ee/spec/lib/ee/gitlab/scim/params_parser_spec.rb891ee/spec/lib/gitlab/ci/templates/secret_detection_latest_gitlab_ci_yaml_spec.rb892ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb893ee/spec/graphql/resolvers/dast_site_validation_resolver_spec.rb894ee/spec/services/vulnerabilities/destroy_dismissal_feedback_service_spec.rb895ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb896ee/spec/services/projects/update_service_spec.rb897ee/spec/services/security/scanned_resources_counting_service_spec.rb898ee/spec/lib/gitlab/usage/metrics/instrumentations/license_metric_spec.rb899ee/spec/services/security/ingestion/tasks/ingest_finding_pipelines_spec.rb900ee/spec/models/vulnerability_user_mention_spec.rb901ee/spec/models/security/training_spec.rb902ee/spec/graphql/types/dast_scanner_profile_type_spec.rb903ee/spec/models/board_user_preference_spec.rb904ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb905ee/spec/lib/gitlab/vulnerabilities/container_scanning_vulnerability_spec.rb906ee/spec/services/ee/members/update_service_spec.rb907ee/spec/helpers/ee/issuables_helper_spec.rb908ee/spec/services/ee/event_create_service_spec.rb909ee/spec/policies/app_sec/fuzzing/coverage/corpus_policy_spec.rb910ee/spec/lib/ee/gitlab/auth/auth_finders_spec.rb911ee/spec/views/shared/issuable/_sidebar.html.haml_spec.rb912ee/spec/routing/group_routing_spec.rb913ee/spec/services/vulnerabilities/historical_statistics/deletion_service_spec.rb914ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb915ee/spec/finders/geo/group_wiki_repository_registry_finder_spec.rb916ee/spec/helpers/groups/security_features_helper_spec.rb917ee/spec/services/ee/ci/change_variables_service_spec.rb918ee/spec/services/app_sec/dast/profiles/audit/update_service_spec.rb919ee/spec/graphql/mutations/projects/set_compliance_framework_spec.rb920ee/spec/services/ee/alert_management/create_alert_issue_service_spec.rb921ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb922ee/spec/lib/gitlab/group_plans_preloader_spec.rb923ee/spec/serializers/dependency_entity_spec.rb924ee/spec/services/requirements_management/process_test_reports_service_spec.rb925ee/spec/views/projects/edit.html.haml_spec.rb926ee/spec/services/audit_events/release_created_audit_event_service_spec.rb927ee/spec/workers/elastic_namespace_rollout_worker_spec.rb928ee/spec/finders/iterations/cadences_finder_spec.rb929ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb930ee/spec/lib/ee/gitlab/ip_restriction/enforcer_spec.rb931ee/spec/services/audit_events/unregister_runner_audit_event_service_spec.rb932ee/spec/workers/vulnerability_exports/export_worker_spec.rb933ee/spec/services/vulnerabilities/statistics/update_service_spec.rb934ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb935ee/spec/graphql/types/incident_management/oncall_rotation_date_input_type_spec.rb936ee/spec/services/incident_management/oncall_rotations/destroy_service_spec.rb937ee/spec/models/ee/preloaders/group_policy_preloader_spec.rb938ee/spec/lib/gitlab/usage/metrics/instrumentations/approval_project_rules_with_user_metric_spec.rb939ee/spec/services/issue_feature_flags/list_service_spec.rb940ee/spec/graphql/mutations/dast_site_tokens/create_spec.rb941ee/spec/presenters/group_clusterable_presenter_spec.rb942ee/spec/finders/users_finder_spec.rb943ee/spec/models/ee/label_spec.rb944ee/spec/models/ee/integration_spec.rb945ee/spec/services/ide/schemas_config_service_spec.rb946ee/spec/services/merge_requests/sync_code_owner_approval_rules_spec.rb947ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb948ee/spec/workers/geo/repository_verification/primary/single_worker_spec.rb949ee/spec/lib/analytics/refresh_approvals_data_spec.rb950ee/spec/serializers/dashboard_environments_serializer_spec.rb951ee/spec/serializers/ee/user_serializer_spec.rb952ee/spec/services/slash_commands/global_slack_handler_spec.rb953ee/spec/models/elasticsearch_indexed_project_spec.rb954ee/spec/models/ee/groups/feature_setting_spec.rb955ee/spec/views/shared/issuable/_approver_suggestion.html.haml_spec.rb956ee/spec/services/geo/repository_deleted_event_store_spec.rb957ee/spec/graphql/resolvers/geo/geo_node_resolver_spec.rb958ee/spec/graphql/mutations/compliance_management/frameworks/destroy_spec.rb959ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb960ee/spec/views/devise/sessions/new.html.haml_spec.rb961ee/spec/models/allowed_email_domain_spec.rb962ee/spec/lib/gitlab/auth/group_saml/token_actor_spec.rb963ee/spec/lib/ee/api/entities/billable_member_spec.rb964ee/spec/policies/vulnerabilities/scanner_policy_spec.rb965ee/spec/lib/gitlab/sitemaps/generator_spec.rb966ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb967ee/spec/lib/peek/views/elasticsearch_spec.rb968ee/spec/services/security/security_orchestration_policies/project_create_service_spec.rb969ee/spec/lib/ee/api/entities/geo_node_status_spec.rb970ee/spec/graphql/types/vulnerability_request_type_spec.rb971ee/spec/tasks/gitlab/spdx_rake_spec.rb972ee/spec/workers/geo/repository_verification/secondary/scheduler_worker_spec.rb973ee/spec/services/incident_management/escalation_policies/create_service_spec.rb974ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb975ee/spec/services/geo/hashed_storage_migrated_event_store_spec.rb976ee/spec/services/security/security_orchestration_policies/scan_pipeline_service_spec.rb977ee/spec/services/ci/retry_pipeline_service_spec.rb978ee/spec/finders/incident_management/timeline_events_finder_spec.rb979ee/spec/lib/gitlab/ci/parsers/security/cluster_image_scanning_spec.rb980ee/spec/services/groups/epics_count_service_spec.rb981ee/spec/workers/elastic_commit_indexer_worker_spec.rb982ee/spec/workers/geo/batch/project_registry_scheduler_worker_spec.rb983ee/spec/services/projects/after_rename_service_spec.rb984ee/spec/graphql/mutations/merge_requests/accept_spec.rb985ee/spec/services/iterations/roll_over_issues_service_spec.rb986ee/spec/models/issuables_analytics_spec.rb987ee/spec/services/protected_environments/destroy_service_spec.rb988ee/spec/helpers/ee/auth_helper_spec.rb989ee/spec/helpers/ee/dashboard_helper_spec.rb990ee/spec/services/protected_environments/base_service_spec.rb991ee/spec/services/system_notes/incidents_service_spec.rb992ee/spec/services/security/ingestion/ingest_reports_service_spec.rb993ee/spec/services/ee/ip_restrictions/update_service_spec.rb994ee/spec/services/ee/resource_events/synthetic_iteration_notes_builder_service_spec.rb995ee/spec/helpers/projects/security/dast_profiles_helper_spec.rb996ee/spec/serializers/clusters/deployment_entity_spec.rb997ee/spec/services/ci/compare_metrics_reports_service_spec.rb998ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_last_edited_spec.rb999ee/spec/graphql/types/scan_type_spec.rb1000ee/spec/serializers/project_mirror_entity_spec.rb1001ee/spec/lib/gitlab/ci/parsers/metrics/generic_spec.rb1002ee/spec/services/ee/merge_requests/update_assignees_service_spec.rb1003ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb1004ee/spec/services/releases/create_service_spec.rb1005ee/spec/finders/boards/milestones_finder_spec.rb1006ee/spec/services/app_sec/dast/profiles/build_config_service_spec.rb1007ee/spec/services/requirements_management/create_requirement_service_spec.rb1008ee/spec/services/resource_events/change_weight_service_spec.rb1009ee/spec/services/projects/licenses/update_policy_service_spec.rb1010ee/spec/models/concerns/ee/clusters/agents/authorization_config_scopes_spec.rb1011ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb1012ee/spec/models/concerns/deprecated_approvals_before_merge_spec.rb1013ee/spec/lib/ee/gitlab/ci/config_spec.rb1014ee/spec/lib/gitlab/ci/yaml_processor_spec.rb1015ee/spec/graphql/resolvers/incident_management/timeline_events_resolver_spec.rb1016ee/spec/lib/ee/gitlab/rack_attack/request_spec.rb1017ee/spec/helpers/routing/pseudonymization_helper_spec.rb1018ee/spec/views/shared/credentials_inventory/ssh_keys/_ssh_key.html.haml_spec.rb1019ee/spec/models/ee/members_preloader_spec.rb1020ee/spec/finders/security/training_providers/base_url_finder_spec.rb1021ee/spec/lib/gitlab/ci/reports/dependency_list/report_spec.rb1022ee/spec/lib/gitlab/sidekiq_config_spec.rb1023ee/spec/finders/ee/namespaces/projects_finder_spec.rb1024ee/spec/lib/ee/gitlab/auth/ldap/sync/external_users_spec.rb1025ee/spec/services/geo/container_repository_updated_event_store_spec.rb1026ee/spec/workers/requirements_management/process_requirements_reports_worker_spec.rb1027ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb1028ee/spec/models/commit_spec.rb1029ee/spec/graphql/types/dast/profile_schedule_type_spec.rb1030ee/spec/lib/system_check/geo/current_node_check_spec.rb1031ee/spec/models/ee/service_desk_setting_spec.rb1032ee/spec/presenters/epic_issue_presenter_spec.rb1033ee/spec/graphql/mutations/incident_management/timeline_event/create_spec.rb1034ee/spec/lib/gitlab/regex_spec.rb1035ee/spec/services/geo/hashed_storage_attachments_migration_service_spec.rb1036ee/spec/services/gitlab_subscriptions/plan_upgrade_service_spec.rb1037ee/spec/workers/elastic_association_indexer_worker_spec.rb1038ee/spec/views/subscriptions/buy_storage.html.haml_spec.rb1039ee/spec/workers/import_software_licenses_worker_spec.rb1040ee/spec/graphql/ee/mutations/boards/issues/issue_move_list_spec.rb1041ee/spec/models/elasticsearch_indexed_namespace_spec.rb1042ee/spec/serializers/user_analytics_entity_spec.rb1043ee/spec/models/group_merge_request_approval_setting_spec.rb1044ee/spec/lib/gitlab/ci/templates/secret_detection_gitlab_ci_yaml_spec.rb1045ee/spec/helpers/admin/emails_helper_spec.rb1046ee/spec/graphql/mutations/releases/update_spec.rb1047ee/spec/services/boards/epic_boards/create_service_spec.rb1048ee/spec/services/ci/minutes/additional_packs/create_service_spec.rb1049ee/spec/graphql/mutations/dast_site_profiles/delete_spec.rb1050ee/spec/services/ee/resource_events/merge_into_notes_service_spec.rb1051ee/spec/graphql/mutations/boards/update_spec.rb1052ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb1053ee/spec/graphql/resolvers/security_orchestration/scan_result_policy_resolver_spec.rb1054ee/spec/lib/gitlab/gl_repository/repo_type_spec.rb1055ee/spec/views/shared/issuable/_health_status_dropdown.html.haml_spec.rb1056ee/spec/finders/software_license_policies_finder_spec.rb1057ee/spec/finders/security/training_providers/secure_code_warrior_url_finder_spec.rb1058ee/spec/services/app_sec/dast/site_tokens/find_or_create_service_spec.rb1059ee/spec/lib/gitlab/geo/geo_tasks_spec.rb1060ee/spec/models/concerns/geo/eventable_spec.rb1061ee/spec/services/personal_access_tokens/create_service_audit_log_spec.rb1062ee/spec/models/namespaces/preview_free_user_cap_spec.rb1063ee/spec/services/projects/import_export/export_service_spec.rb1064ee/spec/services/audit_events/build_service_spec.rb1065ee/spec/finders/ee/autocomplete/users_finder_spec.rb1066ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb1067ee/spec/finders/gpg_keys_finder_spec.rb1068ee/spec/models/analytics/issues_analytics_spec.rb1069ee/spec/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb1070ee/spec/services/compliance_management/merge_requests/create_compliance_violations_service_spec.rb1071ee/spec/models/vulnerabilities/finding_link_spec.rb1072ee/spec/services/boards/epic_boards/update_service_spec.rb1073ee/spec/lib/gitlab/ci/config/entry/job_spec.rb1074ee/spec/models/dora/time_to_restore_service_metric_spec.rb1075ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb1076ee/spec/lib/gitlab/checks/changes_access_spec.rb1077ee/spec/finders/dast_site_validations_finder_spec.rb1078ee/spec/lib/gitlab/status_page/storage/s3_multipart_upload_spec.rb1079ee/spec/lib/gitlab/patch/geo_database_tasks_spec.rb1080ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb1081ee/spec/services/gitlab_subscriptions/activate_service_spec.rb1082ee/spec/services/geo/hashed_storage_attachments_event_store_spec.rb1083ee/spec/graphql/types/geo/merge_request_diff_registry_type_spec.rb1084ee/spec/policies/approval_project_rule_policy_spec.rb1085ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb1086ee/spec/services/security/ingestion/finding_map_spec.rb1087ee/spec/lib/ee/backup/repositories_spec.rb1088ee/spec/services/ci/pipeline_bridge_status_service_spec.rb1089ee/spec/serializers/security/license_policy_entity_spec.rb1090ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb1091ee/spec/views/projects/merge_requests/show.html.haml_spec.rb1092ee/spec/workers/geo/repository_cleanup_worker_spec.rb1093ee/spec/views/registrations/projects/new.html.haml_spec.rb1094ee/spec/services/ee/issues/reopen_service_spec.rb1095ee/spec/services/audit_events/export_csv_service_spec.rb1096ee/spec/graphql/types/vulnerability_evidence_type_spec.rb1097ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb1098ee/spec/lib/banzai/filter/references/label_reference_filter_spec.rb1099ee/spec/lib/gitlab/geo/replication/job_artifact_downloader_spec.rb1100ee/spec/tasks/gitlab/check_rake_spec.rb1101ee/spec/serializers/fork_namespace_entity_spec.rb1102ee/spec/services/compliance_management/frameworks/update_service_spec.rb1103ee/spec/services/ee/projects/deploy_tokens/create_service_spec.rb1104ee/spec/services/incident_management/incidents/create_sla_service_spec.rb1105ee/spec/workers/geo/verification_state_backfill_service_spec.rb1106ee/spec/policies/identity_provider_policy_spec.rb1107ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb1108ee/spec/helpers/ee/projects/incidents_helper_spec.rb1109ee/spec/services/boards/epic_boards/visits/create_service_spec.rb1110ee/spec/policies/geo/registry_policy_spec.rb1111ee/spec/views/projects/security/policies/index.html.haml_spec.rb1112ee/spec/workers/ci/minutes/update_project_and_namespace_usage_worker_spec.rb1113ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/after_config_spec.rb1114ee/spec/helpers/compliance_management/compliance_framework/group_settings_helper_spec.rb1115ee/spec/services/analytics/devops_adoption/snapshots/create_service_spec.rb1116ee/spec/lib/gitlab/status_page/storage/s3_client_spec.rb1117ee/spec/lib/gitlab/ci/reports/license_scanning/dependency_spec.rb1118ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb1119ee/spec/graphql/resolvers/geo/merge_request_diff_registries_resolver_spec.rb1120ee/spec/models/boards/epic_board_recent_visit_spec.rb1121ee/spec/services/security/security_orchestration_policies/fetch_policy_service_spec.rb1122ee/spec/graphql/resolvers/admin/cloud_licenses/current_license_resolver_spec.rb1123ee/spec/services/ee/resource_events/change_iteration_service_spec.rb1124ee/spec/graphql/mutations/requirements_management/update_requirement_spec.rb1125ee/spec/helpers/audit_events_helper_spec.rb1126ee/spec/services/geo/node_create_service_spec.rb1127ee/spec/services/path_locks/unlock_service_spec.rb1128ee/spec/models/container_registry/event_spec.rb1129ee/spec/lib/ee/api/entities/project_spec.rb1130ee/spec/services/ci/minutes/refresh_cached_data_service_spec.rb1131ee/spec/services/projects/cleanup_service_spec.rb1132ee/spec/lib/gitlab/audit/auditor_spec.rb1133ee/spec/lib/ee/api/entities/analytics/code_review/merge_request_spec.rb1134ee/spec/helpers/groups/feature_discovery_moments_helper_spec.rb1135ee/spec/services/ci_cd/github_integration_setup_service_spec.rb1136ee/spec/lib/gitlab/geo/logger_spec.rb1137ee/spec/models/audit_events/external_audit_event_destination_spec.rb1138ee/spec/graphql/mutations/dast_site_validations/revoke_spec.rb1139ee/spec/models/project_repository_state_spec.rb1140ee/spec/models/concerns/scim_paginatable_spec.rb1141ee/spec/graphql/types/geo/registry_state_enum_spec.rb1142ee/spec/services/merge_trains/check_status_service_spec.rb1143ee/spec/workers/ci/initial_pipeline_process_worker_spec.rb1144ee/spec/lib/gitlab/usage/metrics/instrumentations/count_distinct_merged_merge_requests_using_approval_rules_metric_spec.rb1145ee/spec/workers/ee/repository_check/single_repository_worker_spec.rb1146ee/spec/workers/geo/destroy_worker_spec.rb1147ee/spec/models/vulnerabilities/finding_remediation_spec.rb1148ee/spec/services/ee/merge_requests/base_service_spec.rb1149ee/spec/models/ee/appearance_spec.rb1150ee/spec/views/projects/show.html.haml_spec.rb1151ee/spec/lib/ee/api/entities/member_spec.rb1152ee/spec/services/status_page/publish_attachments_service_spec.rb1153ee/spec/services/security/security_orchestration_policies/ci_configuration_service_spec.rb1154ee/spec/helpers/trial_status_widget_helper_spec.rb1155ee/spec/uploaders/every_gitlab_uploader_spec.rb1156ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb1157ee/spec/models/ee/project_wiki_spec.rb1158ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb1159ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb1160ee/spec/finders/license_template_finder_spec.rb1161ee/spec/models/remote_mirror_spec.rb1162ee/spec/lib/elastic/latest/config_spec.rb1163ee/spec/graphql/mutations/compliance_management/frameworks/create_spec.rb1164ee/spec/lib/ee/gitlab/hook_data/issue_builder_spec.rb1165ee/spec/models/ee/namespace/root_storage_statistics_spec.rb1166ee/spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb1167ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb1168ee/spec/workers/geo/batch/project_registry_worker_spec.rb1169ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb1170ee/spec/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker_spec.rb1171ee/spec/services/incident_management/oncall_schedules/destroy_service_spec.rb1172ee/spec/models/approvals/wrapped_rule_set_spec.rb1173ee/spec/models/ee/users/merge_request_interaction_spec.rb1174ee/spec/lib/banzai/filter/jira_private_image_link_filter_spec.rb1175ee/spec/services/ee/resource_events/change_labels_service_spec.rb1176ee/spec/models/board_assignee_spec.rb1177ee/spec/services/security/ingestion/finding_map_collection_spec.rb1178ee/spec/lib/gitlab/graphql/aggregations/security_orchestration_policies/lazy_dast_profile_aggregate_spec.rb1179ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb1180ee/spec/graphql/types/dora_metric_type_spec.rb1181ee/spec/services/app_sec/dast/builds/associate_service_spec.rb1182ee/spec/services/groups/update_repository_storage_service_spec.rb1183ee/spec/graphql/ee/types/user_merge_request_interaction_type_spec.rb1184ee/spec/services/ee/merge_requests/handle_assignees_change_service_spec.rb1185ee/spec/lib/gitlab/ci/templates/sast_iac_latest_gitlab_ci_yaml_spec.rb1186ee/spec/workers/repository_import_worker_spec.rb1187ee/spec/graphql/resolvers/incident_management/oncall_rotations_resolver_spec.rb1188ee/spec/lib/banzai/filter/issuable_reference_expansion_filter_spec.rb1189ee/spec/finders/geo_node_finder_spec.rb1190ee/spec/graphql/resolvers/incident_management/oncall_users_resolver_spec.rb1191ee/spec/lib/ee/api/entities/vulnerability_spec.rb1192ee/spec/graphql/mutations/instance_security_dashboard/remove_project_spec.rb1193ee/spec/lib/gitlab/status_page/storage_spec.rb1194ee/spec/services/gitlab_subscriptions/apply_trial_service_spec.rb1195ee/spec/lib/ee/gitlab/ci/config/entry/needs_spec.rb1196ee/spec/services/projects/setup_ci_cd_spec.rb1197ee/spec/services/merge_requests/reset_approvals_service_spec.rb1198ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb1199ee/spec/lib/gitlab/compliance_management/violations/approved_by_merge_request_author_spec.rb1200ee/spec/workers/vulnerabilities/statistics/adjustment_worker_spec.rb1201ee/spec/workers/incident_management/incident_sla_exceeded_check_worker_spec.rb1202ee/spec/graphql/resolvers/external_issue_resolver_spec.rb1203ee/spec/models/epic_user_mention_spec.rb1204ee/spec/models/geo/tracking_base_spec.rb1205ee/spec/models/ee/analytics/cycle_analytics/stage_event_hash_spec.rb1206ee/spec/views/shared/credentials_inventory/_expiry_date.html.haml_spec.rb1207ee/spec/services/ci/compare_license_scanning_reports_collapsed_service_spec.rb1208ee/spec/lib/gitlab/ci/minutes/build_consumption_spec.rb1209ee/spec/graphql/resolvers/geo/group_wiki_repository_registries_resolver_spec.rb1210ee/spec/helpers/ee/projects/pipeline_helper_spec.rb1211ee/spec/lib/elastic/latest/note_config_spec.rb1212ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb1213ee/spec/services/geo/blob_upload_service_spec.rb1214ee/spec/lib/ee/api/entities/groups/repository_storage_move_spec.rb1215ee/spec/views/trials/_skip_trial.html.haml_spec.rb1216ee/spec/services/issuable/destroy_label_links_service_spec.rb1217ee/spec/lib/gitlab/search/aggregation_parser_spec.rb1218ee/spec/policies/approval_state_policy_spec.rb1219ee/spec/graphql/types/dast_site_validation_type_spec.rb1220ee/spec/services/dashboard/environments/list_service_spec.rb1221ee/spec/lib/ee/api/entities/scim/emails_spec.rb1222ee/spec/graphql/types/incident_management/oncall_participant_type_spec.rb1223ee/spec/presenters/ee/instance_clusterable_presenter_spec.rb1224ee/spec/workers/iterations/cadences/create_iterations_worker_spec.rb1225ee/spec/models/concerns/elastic/projects_search_spec.rb1226ee/spec/workers/namespaces/sync_namespace_name_worker_spec.rb1227ee/spec/services/ci_cd/github_setup_service_spec.rb1228ee/spec/services/ee/ci/pipeline_processing/atomic_processing_service_spec.rb1229ee/spec/views/trial_registrations/new.html.haml_spec.rb1230ee/spec/lib/gitlab/usage/metrics/instrumentations/count_external_status_checks_metric_spec.rb1231ee/spec/models/ip_restriction_spec.rb1232ee/spec/helpers/path_locks_helper_spec.rb1233ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb1234ee/spec/services/ee/resource_events/synthetic_weight_notes_builder_service_spec.rb1235ee/spec/graphql/types/requirements_management/requirement_states_count_type_spec.rb1236ee/spec/services/status_page/unpublish_details_service_spec.rb1237ee/spec/views/projects/on_demand_scans/index.html.haml_spec.rb1238ee/spec/helpers/ee/groups/group_members_helper_spec.rb1239ee/spec/lib/gitlab/vulnerabilities/parser_spec.rb1240ee/spec/workers/active_user_count_threshold_worker_spec.rb1241ee/spec/models/ee/release_spec.rb1242ee/spec/helpers/ee/namespace_user_cap_reached_alert_helper_spec.rb1243ee/spec/presenters/ee/issue_presenter_spec.rb1244ee/spec/services/incident_management/escalation_policies/destroy_service_spec.rb1245ee/spec/graphql/types/network_policy_type_spec.rb1246ee/spec/services/geo/reset_checksum_event_store_spec.rb1247ee/spec/services/security/track_scan_service_spec.rb1248ee/spec/services/ee/notes/destroy_service_spec.rb1249ee/spec/lib/gitlab/audit/levels/group_spec.rb1250ee/spec/models/dora/deployment_frequency_metric_spec.rb1251ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb1252ee/spec/lib/ee/api/entities/scim/error_spec.rb1253ee/spec/services/projects/licenses/create_policy_service_spec.rb1254ee/spec/services/audit_events/register_runner_audit_event_service_spec.rb1255ee/spec/services/security/scanned_resources_service_spec.rb1256ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb1257ee/spec/services/app_sec/fuzzing/api/ci_configuration_create_service_spec.rb1258ee/spec/serializers/epic_entity_spec.rb1259ee/spec/lib/gitlab/geo/git_push_http_spec.rb1260ee/spec/models/alert_management/alert_payload_field_spec.rb1261ee/spec/lib/audit/changes_spec.rb1262ee/spec/views/groups/feature_discovery_moments/advanced_features_dashboard.html.haml_spec.rb1263ee/spec/policies/instance_security_dashboard_policy_spec.rb1264ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb1265ee/spec/services/gitlab_subscriptions/create_trial_or_lead_service_spec.rb1266ee/spec/models/hooks/ee/project_hook_spec.rb1267ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb1268ee/spec/presenters/label_presenter_spec.rb1269ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb1270ee/spec/routing/security_routing_spec.rb1271ee/spec/routing/operations_routing_spec.rb1272ee/spec/lib/gitlab/ci/parsers/security/coverage_fuzzing_spec.rb1273ee/spec/services/geo/repository_base_sync_service_spec.rb1274ee/spec/lib/ee/audit/protected_branches_changes_auditor_spec.rb1275ee/spec/graphql/mutations/incident_management/oncall_schedule/create_spec.rb1276ee/spec/lib/ee/audit/project_ci_cd_setting_changes_auditor_spec.rb1277ee/spec/graphql/types/dast/profile_branch_type_spec.rb1278ee/spec/graphql/types/app_sec/fuzzing/coverage/corpus_type_spec.rb1279ee/spec/services/ee/service_ping/permit_data_categories_service_spec.rb1280ee/spec/services/lfs/lock_file_service_spec.rb1281ee/spec/services/issues/duplicate_service_spec.rb1282ee/spec/workers/elastic_full_index_worker_spec.rb1283ee/spec/workers/deployments/auto_rollback_worker_spec.rb1284ee/spec/views/survey_responses/index.html.haml_spec.rb1285ee/spec/services/analytics/devops_adoption/enabled_namespaces/create_service_spec.rb1286ee/spec/models/issuable_sla_spec.rb1287ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/build_type_metric_spec.rb1288ee/spec/services/geo/repository_renamed_event_store_spec.rb1289ee/spec/services/incident_management/escalation_rules/destroy_service_spec.rb1290ee/spec/lib/system_check/rake_task/geo_task_spec.rb1291ee/spec/models/project_alias_spec.rb1292ee/spec/models/ee/users_statistics_spec.rb1293ee/spec/views/admin/push_rules/_merge_request_approvals.html.haml_spec.rb1294ee/spec/services/elastic/index_projects_by_id_service_spec.rb1295ee/spec/workers/personal_access_tokens/groups/policy_worker_spec.rb1296ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_sort_enum_spec.rb1297ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb1298ee/spec/services/vulnerability_scanners/list_service_spec.rb1299ee/spec/graphql/types/vulnerability_sort_enum_spec.rb1300ee/spec/graphql/types/burnup_chart_daily_totals_type_spec.rb1301ee/spec/graphql/types/incident_management/oncall_shift_type_spec.rb1302ee/spec/lib/gitlab/auth/group_saml/response_check_spec.rb1303ee/spec/policies/incident_management/oncall_shift_policy_spec.rb1304ee/spec/elastic/migrate/20210623081800_add_upvotes_to_issues_spec.rb1305ee/spec/policies/incident_management/oncall_schedule_policy_spec.rb1306ee/spec/models/merge_requests/status_check_response_spec.rb1307ee/spec/presenters/subscriptions/new_plan_presenter_spec.rb1308ee/spec/models/ee/system_note_metadata_spec.rb1309ee/spec/lib/ee/sidebars/projects/menus/monitor_menu_spec.rb1310ee/spec/models/integrations/chat_message/vulnerability_message_spec.rb1311ee/spec/workers/analytics/cycle_analytics/incremental_worker_spec.rb1312ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb1313ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb1314ee/spec/graphql/types/incident_management/escalation_rule_type_spec.rb1315ee/spec/graphql/mutations/epics/create_spec.rb1316ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb1317ee/spec/serializers/invited_group_entity_spec.rb1318ee/spec/policies/ci/minutes/namespace_monthly_usage_policy_spec.rb1319ee/spec/models/integrations/gitlab_slack_application_spec.rb1320ee/spec/views/admin/users/show.html.haml_spec.rb1321ee/spec/models/concerns/ee/weight_eventable_spec.rb1322ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb1323ee/spec/services/milestones/promote_service_spec.rb1324ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb1325ee/spec/views/projects/settings/subscriptions/_index.html.haml_spec.rb1326ee/spec/graphql/types/vulnerability_location/coverage_fuzzing_type_spec.rb1327ee/spec/services/geo/repositories_changed_event_store_spec.rb1328ee/spec/lib/api/entities/pending_member_spec.rb1329ee/spec/workers/compliance_management/merge_requests/compliance_violations_worker_spec.rb1330ee/spec/lib/gitlab/graphql/pagination/keyset/order_info_spec.rb1331ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb1332ee/spec/lib/sidebars/groups/menus/epics_menu_spec.rb1333ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy_spec.rb1334ee/spec/services/security/security_orchestration_policies/on_demand_scan_pipeline_configuration_service_spec.rb1335ee/spec/graphql/resolvers/path_locks_resolver_spec.rb1336ee/spec/services/ee/incident_management/issuable_escalation_statuses/create_service_spec.rb1337ee/spec/services/ee/users/create_service_spec.rb1338ee/spec/services/ee/protected_branches/update_service_spec.rb1339ee/spec/workers/app_sec/dast/site_profiles_builds/consistency_worker_spec.rb1340ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb1341ee/spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb1342ee/spec/graphql/resolvers/incident_management/oncall_shifts_resolver_spec.rb1343ee/spec/lib/ee/api/entities/scim/not_found_spec.rb1344ee/spec/serializers/vulnerabilities/response_entity_spec.rb1345ee/spec/serializers/dashboard_environment_entity_spec.rb1346ee/spec/graphql/mutations/todos/create_spec.rb1347ee/spec/services/applications/create_service_spec.rb1348ee/spec/workers/analytics/cycle_analytics/reaggregation_worker_spec.rb1349ee/spec/services/ci/runners/assign_runner_service_spec.rb1350ee/spec/workers/approval_rules/external_approval_rule_payload_worker_spec.rb1351ee/spec/helpers/nav/top_nav_helper_spec.rb1352ee/spec/graphql/resolvers/admin/cloud_licenses/license_history_entries_resolver_spec.rb1353ee/spec/workers/ldap_group_sync_worker_spec.rb1354ee/spec/services/elastic/index_projects_service_spec.rb1355ee/spec/lib/gitlab/auth/group_saml/sso_state_spec.rb1356ee/spec/lib/gitlab/import_sources_spec.rb1357ee/spec/serializers/incident_management/escalation_policy_entity_spec.rb1358ee/spec/workers/geo_repository_destroy_worker_spec.rb1359ee/spec/services/ee/design_management/save_designs_service_spec.rb1360ee/spec/views/projects/empty.html.haml_spec.rb1361ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb1362ee/spec/graphql/resolvers/network_policy_resolver_spec.rb1363ee/spec/models/ee/protected_ref_spec.rb1364ee/spec/lib/gitlab/tracking/standard_context_spec.rb1365ee/spec/views/subscriptions/buy_minutes.html.haml_spec.rb1366ee/spec/lib/gitlab/object_hierarchy_spec.rb1367ee/spec/services/ee/groups/import_export/export_service_spec.rb1368ee/spec/lib/gitlab/auth/smartcard/session_enforcer_spec.rb1369ee/spec/lib/ee/event_filter_spec.rb1370ee/spec/models/ee/merge_request/metrics_spec.rb1371ee/spec/graphql/resolvers/security_training_urls_resolver_spec.rb1372ee/spec/graphql/types/requirements_management/requirement_type_spec.rb1373ee/spec/services/geo/replication_toggle_request_service_spec.rb1374ee/spec/graphql/mutations/requirements_management/create_requirement_spec.rb1375ee/spec/policies/incident_management/oncall_rotation_policy_spec.rb1376ee/spec/services/milestones/update_service_spec.rb1377ee/spec/services/elastic/index_projects_by_range_service_spec.rb1378ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb1379ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb1380ee/spec/services/path_locks/lock_service_spec.rb1381ee/spec/lib/api/entities/deployments/approval_spec.rb1382ee/spec/helpers/ee/version_check_helper_spec.rb1383ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb1384ee/spec/lib/gitlab/audit/target_spec.rb1385ee/spec/graphql/types/issue_connection_type_spec.rb1386ee/spec/services/iterations/update_service_spec.rb1387ee/spec/serializers/issues/linked_issue_feature_flag_entity_spec.rb1388ee/spec/lib/gitlab/geo/log_cursor/event_logs_spec.rb1389ee/spec/views/admin/groups/_form.html.haml_spec.rb1390ee/spec/graphql/ee/mutations/ci/ci_cd_settings_update_spec.rb1391ee/spec/helpers/ee/application_settings_helper_spec.rb1392ee/spec/finders/app_sec/fuzzing/coverage/corpuses_finder_spec.rb1393ee/spec/models/user_permission_export_upload_spec.rb1394ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb1395ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb1396ee/spec/workers/merge_requests/sync_code_owner_approval_rules_worker_spec.rb1397ee/spec/lib/gitlab/insights/serializers/chartjs/multi_series_serializer_spec.rb1398ee/spec/lib/ee/gitlab/import_export/repo_restorer_spec.rb1399ee/spec/lib/gitlab/tree_summary_spec.rb1400ee/spec/lib/gitlab/pagination/keyset/simple_order_builder_spec.rb1401ee/spec/lib/gitlab/analytics/cycle_analytics/aggregated/data_for_duration_chart_spec.rb1402ee/spec/workers/incident_management/pending_escalations/alert_check_worker_spec.rb1403ee/spec/workers/geo/verification_batch_worker_spec.rb1404ee/spec/lib/gitlab/graphql/aggregations/vulnerability_statistics/lazy_aggregate_spec.rb1405ee/spec/serializers/test_reports_comparer_entity_spec.rb1406ee/spec/services/boards/epic_user_preferences/update_service_spec.rb1407ee/spec/helpers/roadmaps_helper_spec.rb1408ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb1409ee/spec/policies/project_snippet_policy_spec.rb1410ee/spec/graphql/resolvers/vulnerabilities_grade_resolver_spec.rb1411ee/spec/models/integrations/github/remote_project_spec.rb1412ee/spec/services/audit_events/custom_audit_event_service_spec.rb1413ee/spec/lib/gitlab/ci/config/entry/dast_configuration_spec.rb1414ee/spec/serializers/clusters/environment_serializer_spec.rb1415ee/spec/models/ee/project_authorization_spec.rb1416ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb1417ee/spec/helpers/kerberos_spnego_helper_spec.rb1418ee/spec/models/geo/repository_created_event_spec.rb1419ee/spec/graphql/types/json_string_type_spec.rb1420ee/spec/serializers/dashboard_environments_project_entity_spec.rb1421ee/spec/workers/dora/daily_metrics/refresh_worker_spec.rb1422ee/spec/services/analytics/devops_adoption/snapshots/update_service_spec.rb1423ee/spec/graphql/mutations/boards/epic_boards/update_spec.rb1424ee/spec/workers/analytics/devops_adoption/create_all_snapshots_worker_spec.rb1425ee/spec/helpers/preferences_helper_spec.rb1426ee/spec/workers/groups/schedule_bulk_repository_shard_moves_worker_spec.rb1427ee/spec/lib/gitlab/audit/levels/instance_spec.rb1428ee/spec/graphql/ee/types/merge_request_type_spec.rb1429ee/spec/lib/gitlab/web_ide/config/entry/schema/match_spec.rb1430ee/spec/workers/app_sec/dast/scanner_profiles_builds/consistency_worker_spec.rb1431ee/spec/graphql/types/geo/package_file_registry_type_spec.rb1432ee/spec/finders/incident_management/oncall_rotations_finder_spec.rb1433ee/spec/workers/incident_management/pending_escalations/issue_create_worker_spec.rb1434ee/spec/helpers/notes_helper_spec.rb1435ee/spec/services/ee/notes/post_process_service_spec.rb1436ee/spec/lib/gitlab/graphql/aggregations/issues/lazy_block_aggregate_spec.rb1437ee/spec/workers/geo/design_repository_sync_worker_spec.rb1438ee/spec/services/security/ingestion/mark_as_resolved_service_spec.rb1439ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb1440ee/spec/views/projects/merge_requests/_merge_request_approvals.html.haml_spec.rb1441ee/spec/policies/security/scan_policy_spec.rb1442ee/spec/lib/ee/api/entities/analytics/group_activity_spec.rb1443ee/spec/graphql/types/work_items/type_spec.rb1444ee/spec/services/group_saml/group_managed_accounts/clean_up_members_service_spec.rb1445ee/spec/lib/bulk_imports/projects/pipelines/push_rule_pipeline_spec.rb1446ee/spec/elastic/migrate/20201123123400_migrate_issues_to_separate_index_spec.rb1447ee/spec/presenters/project_clusterable_presenter_spec.rb1448ee/spec/lib/gitlab/cache_spec.rb1449ee/spec/experiments/combined_registration_experiment_spec.rb1450ee/spec/views/admin/users/_credit_card_info.html.haml_spec.rb1451ee/spec/helpers/ee/emails_helper_spec.rb1452ee/spec/lib/bulk_imports/common/pipelines/wiki_pipeline_spec.rb1453ee/spec/helpers/projects/security/discover_helper_spec.rb1454ee/spec/services/audit_events/release_updated_audit_event_service_spec.rb1455ee/spec/serializers/board_serializer_spec.rb1456ee/spec/models/dora/base_metric_spec.rb1457ee/spec/services/geo/container_repository_sync_spec.rb1458ee/spec/lib/ee/sidebars/projects/panel_spec.rb1459ee/spec/graphql/resolvers/boards/epic_boards_resolvers_spec.rb1460ee/spec/graphql/types/dast/profile_cadence_type_spec.rb1461ee/spec/graphql/types/geo/pages_deployment_registry_type_spec.rb1462ee/spec/models/concerns/geo/verifiable_model_spec.rb1463ee/spec/services/ee/integrations/test/project_service_spec.rb1464ee/spec/elastic/migrate/20201116142400_add_new_data_to_issues_documents_spec.rb1465ee/spec/lib/gitlab/usage/metrics/instrumentations/count_groups_with_event_streaming_destinations_metric_spec.rb1466ee/spec/graphql/resolvers/vulnerabilities/details_resolver_spec.rb1467ee/spec/models/geo/reset_checksum_event_spec.rb1468ee/spec/serializers/license_entity_spec.rb1469ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb1470ee/spec/finders/auth/group_saml_identity_finder_spec.rb1471ee/spec/lib/ee/sidebars/projects/menus/repository_menu_spec.rb1472ee/spec/models/ee/project_setting_spec.rb1473ee/spec/views/admin/dev_ops_report/show.html.haml_spec.rb1474ee/spec/helpers/ee/groups/analytics/cycle_analytics_helper_spec.rb1475ee/spec/elastic/migrate/20210510143200_delete_notes_from_original_index_spec.rb1476ee/spec/graphql/ee/types/mutation_type_spec.rb1477ee/spec/elastic/migrate/20210510113500_delete_merge_requests_from_original_index_spec.rb1478ee/spec/routing/projects/security/configuration_controller_routing_spec.rb1479ee/spec/workers/groups/create_event_worker_spec.rb1480ee/spec/services/ee/preview_markdown_service_spec.rb1481ee/spec/lib/ee/gitlab/etag_caching/router/rails_spec.rb1482ee/spec/serializers/license_compliance/comparer_entity_spec.rb1483ee/spec/lib/api/entities/protected_environments/approval_rule_for_summary_spec.rb1484ee/spec/models/analytics/cycle_analytics/aggregation_context_spec.rb1485ee/spec/workers/create_github_webhook_worker_spec.rb1486ee/spec/models/board_label_spec.rb1487ee/spec/models/concerns/incident_management/base_pending_escalation_spec.rb1488ee/spec/graphql/types/geo/upload_registry_type_spec.rb1489ee/spec/lib/gitlab/proxy_spec.rb1490ee/spec/services/ee/groups/deploy_tokens/revoke_service_spec.rb1491ee/spec/lib/gitlab/ci/reports/metrics/reports_comparer_spec.rb1492ee/spec/lib/ee/gitlab/auth/request_authenticator_spec.rb1493ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb1494ee/spec/serializers/scim_oauth_access_token_entity_spec.rb1495ee/spec/graphql/types/geo/terraform_state_version_registry_type_spec.rb1496ee/spec/graphql/types/incident_management/timeline_event_type_spec.rb1497ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb1498ee/spec/graphql/types/epic_issue_type_spec.rb1499ee/spec/services/personal_access_tokens/instance/update_lifetime_service_spec.rb1500ee/spec/graphql/types/incident_management/oncall_schedule_type_spec.rb1501ee/spec/lib/sidebars/groups/menus/wiki_menu_spec.rb1502ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb1503ee/spec/lib/ee/feature_spec.rb1504ee/spec/lib/gitlab/ci/minutes/cached_quota_spec.rb1505ee/spec/views/projects/security/sast_configuration/show.html.haml_spec.rb1506ee/spec/policies/base_policy_spec.rb1507ee/spec/models/geo/repositories_changed_event_spec.rb1508ee/spec/workers/groups/export_memberships_worker_spec.rb1509ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_saver_spec.rb1510ee/spec/lib/gitlab/items_collection_spec.rb1511ee/spec/views/layouts/_search.html.haml_spec.rb1512ee/spec/lib/elastic/multi_version_class_proxy_spec.rb1513ee/spec/lib/gitlab/auth/otp/session_enforcer_spec.rb1514ee/spec/elastic/migrate/20210421140400_add_new_data_to_merge_requests_documents_spec.rb1515ee/spec/services/keys/create_service_spec.rb1516ee/spec/elastic/migrate/20210127154600_remove_permissions_data_from_notes_documents_spec.rb1517ee/spec/workers/concerns/elastic/migration_obsolete_spec.rb1518ee/spec/graphql/types/push_rules_type_spec.rb1519ee/spec/models/geo/every_geo_event_spec.rb1520ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb1521ee/spec/graphql/types/epic_descendant_count_type_spec.rb1522ee/spec/graphql/types/group_release_stats_type_spec.rb1523ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb1524ee/spec/lib/gitlab/status_page/pipeline/post_process_pipeline_spec.rb1525ee/spec/elastic/migrate/20210813134600_add_namespace_ancestry_to_issues_mapping_spec.rb1526ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/lucene_version_metric_spec.rb1527ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_severity_enum_spec.rb1528ee/spec/graphql/ee/types/notes/noteable_interface_spec.rb1529ee/spec/services/namespaces/storage/enforcement_check_service_spec.rb1530ee/spec/graphql/types/vulnerability_details/url_type_spec.rb1531ee/spec/lib/gitlab/search_context/builder_spec.rb1532ee/spec/elastic/migrate/20210910100000_redo_backfill_namespace_ancestry_ids_for_issues_spec.rb1533ee/spec/models/snippet_spec.rb1534ee/spec/elastic/migrate/20201105181100_apply_max_analyzed_offset_spec.rb1535ee/spec/services/emails/destroy_service_spec.rb1536ee/spec/lib/gitlab/code_owners/reference_extractor_spec.rb1537ee/spec/graphql/types/requirements_management/test_report_type_spec.rb1538ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb1539ee/spec/models/ci/processable_spec.rb1540ee/spec/graphql/types/vulnerability_details/commit_type_spec.rb1541ee/spec/lib/gitlab/alert_management/payload/cilium_spec.rb1542ee/spec/services/audit_events/impersonation_audit_event_service_spec.rb1543ee/spec/graphql/types/ci/minutes/project_monthly_usage_type_spec.rb1544ee/spec/services/admin/email_service_spec.rb1545ee/spec/services/keys/last_used_service_spec.rb1546ee/spec/lib/ee/gitlab/snippet_search_results_spec.rb1547ee/spec/graphql/types/epic_state_enum_spec.rb1548ee/spec/services/emails/create_service_spec.rb1549ee/spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb1550ee/spec/elastic/migrate/20210722112500_add_upvotes_mappings_to_merge_requests_spec.rb1551ee/spec/helpers/ee/hooks_helper_spec.rb1552ee/spec/helpers/ee/sorting_helper_spec.rb1553ee/spec/helpers/analytics/code_review_helper_spec.rb1554ee/spec/lib/pseudonymizer/uploader_spec.rb1555ee/spec/workers/ldap_all_groups_sync_worker_spec.rb1556ee/spec/lib/api/entities/protected_environments/approval_rule_spec.rb1557ee/spec/lib/gitlab/event_store_spec.rb1558ee/spec/lib/gitlab/project_template_spec.rb1559ee/spec/graphql/ee/types/issue_sort_enum_spec.rb1560ee/spec/graphql/ee/types/todoable_interface_spec.rb1561ee/spec/graphql/types/permission_types/epic_spec.rb1562ee/spec/serializers/test_reports_comparer_serializer_spec.rb1563ee/spec/models/boards/epic_board_label_spec.rb1564ee/spec/graphql/types/security_scanners_spec.rb1565ee/spec/graphql/types/ci/pipeline_type_spec.rb1566ee/spec/views/groups/_compliance_frameworks.html.haml_spec.rb1567ee/spec/graphql/types/geo/geo_node_type_spec.rb1568ee/spec/graphql/types/health_status_enum_spec.rb1569ee/spec/workers/audit_events/user_impersonation_event_create_worker_spec.rb1570ee/spec/lib/gitlab/status_page_spec.rb1571ee/spec/helpers/nav/new_dropdown_helper_spec.rb1572ee/spec/graphql/types/vulnerability_details/int_type_spec.rb1573ee/spec/graphql/ee/types/issuable_type_spec.rb1574ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb1575ee/spec/graphql/types/dast/site_profile_auth_input_type_spec.rb1576ee/spec/graphql/types/dora_metric_type_enum_spec.rb1577ee/spec/policies/clusters/instance_policy_spec.rb1578ee/spec/elastic/migrate/20210910094600_add_namespace_ancestry_ids_to_issues_mapping_spec.rb1579ee/spec/graphql/types/ci/code_coverage_summary_spec.rb1580ee/spec/graphql/types/alert_management/payload_alert_field_name_enum_spec.rb1581ee/spec/graphql/resolvers/instance_security_dashboard_resolver_spec.rb1582ee/spec/lib/gitlab/ci/reports/security/remediation_spec.rb1583ee/spec/graphql/types/move_type_enum_spec.rb1584ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb1585ee/spec/serializers/ee/admin/user_entity_spec.rb1586ee/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb1587ee/spec/graphql/types/network_policy_kind_enum_spec.rb1588ee/spec/graphql/types/vulnerable_projects_by_grade_type_spec.rb1589ee/spec/workers/security/findings/delete_by_job_id_worker_spec.rb1590ee/spec/services/personal_access_tokens/revoke_service_audit_log_spec.rb1591ee/spec/models/protected_branch/required_code_owners_section_spec.rb1592ee/spec/graphql/types/ci/code_quality_degradation_type_spec.rb1593ee/spec/graphql/types/vulnerable_package_type_spec.rb1594ee/spec/graphql/types/vulnerability_details/boolean_type_spec.rb1595ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_input_type_spec.rb1596ee/spec/helpers/ee/system_note_helper_spec.rb1597ee/spec/lib/gitlab/insights/serializers/chartjs/bar_time_series_serializer_spec.rb1598ee/spec/graphql/types/ci/runner_type_spec.rb1599ee/spec/helpers/prevent_forking_helper_spec.rb1600ee/spec/lib/gitlab/insights/serializers/chartjs/line_serializer_spec.rb1601ee/spec/graphql/types/alert_management/payload_alert_field_type_enum_spec.rb1602ee/spec/graphql/types/merge_requests/approval_state_type_spec.rb1603ee/spec/lib/ee/gitlab/template/gitlab_ci_yml_template_spec.rb1604ee/spec/graphql/types/security_scanner_type_enum_spec.rb1605ee/spec/workers/geo/batch_event_create_worker_spec.rb1606ee/spec/models/milestone_spec.rb1607ee/spec/lib/gitlab/favicon_spec.rb1608ee/spec/graphql/types/timebox_report_type_spec.rb1609ee/spec/services/geo/base_file_service_spec.rb1610ee/spec/graphql/types/vulnerability_details/list_type_spec.rb1611ee/spec/graphql/types/vulnerable_kubernetes_resource_type_spec.rb1612ee/spec/graphql/types/app_sec/fuzzing/api/ci_configuration_type_spec.rb1613ee/spec/lib/gem_extensions/elasticsearch/model/indexing/instance_methods_spec.rb1614ee/spec/workers/geo/sidekiq_cron_config_worker_spec.rb1615ee/spec/models/ee/user_highest_role_spec.rb1616ee/spec/graphql/types/vulnerability_report_type_enum_spec.rb1617ee/spec/graphql/types/vulnerability/external_issue_link_type_enum_spec.rb1618ee/spec/lib/gitlab/auth_spec.rb1619ee/spec/services/users/update_highest_member_role_service_spec.rb1620ee/spec/graphql/types/vulnerability_location/container_scanning_type_spec.rb1621ee/spec/graphql/types/vulnerabilities/link_type_spec.rb1622ee/spec/lib/ee/bulk_imports/groups/stage_spec.rb1623ee/spec/graphql/ee/types/board_type_spec.rb1624ee/spec/graphql/types/external_issue_type_spec.rb1625ee/spec/helpers/epics_helper_spec.rb1626ee/spec/graphql/types/vulnerability_location/generic_type_spec.rb1627ee/spec/graphql/types/vulnerability_severities_count_type_spec.rb1628ee/spec/lib/ee/api/entities/ci/minutes/additional_pack_spec.rb1629ee/spec/models/geo/upload_state_spec.rb1630ee/spec/serializers/status_page/renderer_spec.rb1631ee/spec/graphql/types/query_type_spec.rb1632ee/spec/lib/gitlab/usage/metrics/instrumentations/licensee_metrics_spec.rb1633ee/spec/graphql/types/ci/code_quality_degradation_severity_enum_spec.rb1634ee/spec/helpers/ee/access_tokens_helper_spec.rb1635ee/spec/lib/gitlab/alert_management/alert_payload_field_extractor_spec.rb1636ee/spec/lib/gitlab/usage/metrics/instrumentations/historical_max_users_metrics_spec.rb1637ee/spec/services/ee/auto_merge_service_spec.rb1638ee/spec/graphql/types/app_sec/fuzzing/api/scan_profile_type_spec.rb1639ee/spec/graphql/types/vulnerability_details/text_type_spec.rb1640ee/spec/helpers/trial_registrations/reassurances_helper_spec.rb1641ee/spec/graphql/types/vulnerability_identifier_type_spec.rb1642ee/spec/lib/gitlab/usage_data_counters/network_policy_counter_spec.rb1643ee/spec/factories/lfs_object_spec.rb1644Filter specs:1645Running specs:1646Running all node tests without filter1647ee/spec/services/search/group_service_spec.rb1648ee/spec/services/geo/registry_consistency_service_spec.rb1649ee/spec/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used_spec.rb1650ee/spec/models/project_spec.rb1651ee/spec/lib/gitlab/elastic/project_search_results_spec.rb1652ee/spec/services/ee/notification_service_spec.rb1653ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb1654ee/spec/models/ee/group_spec.rb1655ee/spec/lib/ee/gitlab/usage_data_spec.rb1656ee/spec/models/geo/project_registry_spec.rb1657ee/spec/services/ci/register_job_service_spec.rb1658ee/spec/policies/group_policy_spec.rb1659ee/spec/models/merge_request_spec.rb1660ee/spec/services/search/snippet_service_spec.rb1661ee/spec/models/license_spec.rb1662ee/spec/lib/gitlab/git_access_spec.rb1663ee/spec/models/epic_issue_spec.rb1664ee/spec/models/group_wiki_spec.rb1665ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb1666ee/spec/models/geo/terraform_state_version_registry_spec.rb1667ee/spec/models/elastic/migration_record_spec.rb1668ee/spec/models/ee/vulnerability_spec.rb1669ee/spec/services/vulnerability_feedback/create_service_spec.rb1670ee/spec/services/ee/service_ping/build_payload_service_spec.rb1671ee/spec/services/ee/issues/update_service_spec.rb1672ee/spec/replicators/geo/job_artifact_replicator_spec.rb1673ee/spec/models/merge_train_spec.rb1674ee/spec/serializers/environment_entity_spec.rb1675ee/spec/lib/gitlab/instrumentation/elasticsearch_transport_spec.rb1676ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_spec.rb1677ee/spec/models/issue_spec.rb1678ee/spec/policies/environment_policy_spec.rb1679ee/spec/services/ee/notes/quick_actions_service_spec.rb1680ee/spec/serializers/ee/ci/job_entity_spec.rb1681ee/spec/lib/gitlab/elastic/snippet_search_results_spec.rb1682ee/spec/models/geo/package_file_registry_spec.rb1683ee/spec/models/ee/iteration_spec.rb1684ee/spec/services/epics/update_service_spec.rb1685ee/spec/lib/gitlab/elastic/indexer_spec.rb1686ee/spec/replicators/geo/pages_deployment_replicator_spec.rb1687ee/spec/models/concerns/elastic/issue_spec.rb1688ee/spec/services/epic_issues/create_service_spec.rb1689ee/spec/models/geo/upload_registry_spec.rb1690ee/spec/lib/banzai/filter/references/iteration_reference_filter_spec.rb1691ee/spec/replicators/geo/snippet_repository_replicator_spec.rb1692ee/spec/config/metrics/every_metric_definition_spec.rb1693ee/spec/lib/ee/gitlab/usage/service_ping_report_spec.rb1694ee/spec/services/projects/create_from_template_service_spec.rb1695ee/spec/services/vulnerabilities/confirm_service_spec.rb1696ee/spec/tasks/geo_rake_spec.rb1697ee/spec/services/epics/issue_promote_service_spec.rb1698ee/spec/services/elastic/cluster_reindexing_service_spec.rb1699ee/spec/models/concerns/elastic/merge_request_spec.rb1700ee/spec/elastic_integration/global_search_spec.rb1701ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb1702ee/spec/lib/gitlab/geo/git_ssh_proxy_spec.rb1703ee/spec/policies/epic_policy_spec.rb1704ee/spec/helpers/billing_plans_helper_spec.rb1705ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb1706ee/spec/services/members/activate_service_spec.rb1707ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb1708ee/spec/models/geo/pipeline_artifact_registry_spec.rb1709ee/spec/replicators/geo/lfs_object_replicator_spec.rb1710ee/spec/services/geo/repository_sync_service_spec.rb1711ee/spec/models/vulnerabilities/stat_diff_spec.rb1712ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb1713ee/spec/models/merge_request/blocking_spec.rb1714ee/spec/models/concerns/elastic/project_spec.rb1715ee/spec/services/geo/framework_repository_sync_service_spec.rb1716ee/spec/services/ee/merge_requests/create_pipeline_service_spec.rb1717ee/spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb1718ee/spec/services/ee/issues/move_service_spec.rb1719ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb1720ee/spec/services/deployments/approval_service_spec.rb1721ee/spec/services/merge_requests/sync_report_approver_approval_rules_spec.rb1722ee/spec/models/dast/profile_schedule_spec.rb1723ee/spec/helpers/ee/users/callouts_helper_spec.rb1724ee/spec/services/search_service_spec.rb1725ee/spec/presenters/merge_request_presenter_spec.rb1726ee/spec/models/project_member_spec.rb1727ee/spec/services/geo/design_repository_sync_service_spec.rb1728ee/spec/services/ee/issues/create_service_spec.rb1729ee/spec/models/vulnerabilities/feedback_spec.rb1730ee/spec/workers/geo/repository_shard_sync_worker_spec.rb1731ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb1732ee/spec/services/todo_service_spec.rb1733ee/spec/services/start_pull_mirroring_service_spec.rb1734ee/spec/helpers/push_rules_helper_spec.rb1735ee/spec/finders/geo/job_artifact_legacy_registry_finder_spec.rb1736ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb1737ee/spec/models/security/orchestration_policy_configuration_spec.rb1738ee/spec/services/audit_event_service_spec.rb1739ee/spec/models/security/scan_spec.rb1740ee/spec/workers/geo/verification_state_backfill_worker_spec.rb1741ee/spec/finders/billed_users_finder_spec.rb1742ee/spec/services/groups/update_service_spec.rb1743ee/spec/models/ee/protected_ref_access_spec.rb1744ee/spec/services/ee/git/branch_push_service_spec.rb1745ee/spec/models/dast_site_profile_spec.rb1746ee/spec/workers/geo/file_download_dispatch_worker_spec.rb1747ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb1748ee/spec/models/ee/protected_branch_spec.rb1749ee/spec/helpers/ee/groups_helper_spec.rb1750ee/spec/services/groups/sync_service_spec.rb1751ee/spec/lib/gitlab/code_owners/loader_spec.rb1752ee/spec/services/requirements_management/update_requirement_service_spec.rb1753ee/spec/models/concerns/epic_tree_sorting_spec.rb1754ee/spec/services/boards/create_service_spec.rb1755ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb1756ee/spec/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location_spec.rb1757ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb1758ee/spec/models/note_spec.rb1759ee/spec/services/projects/transfer_service_spec.rb1760ee/spec/services/ee/members/destroy_service_spec.rb1761ee/spec/lib/gitlab/geo/replication/file_retriever_spec.rb1762ee/spec/policies/ci/build_policy_spec.rb1763ee/spec/services/geo/file_upload_service_spec.rb1764ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb1765ee/spec/models/merge_request_block_spec.rb1766ee/spec/services/epics/update_dates_service_spec.rb1767ee/spec/lib/gitlab/usage_data_counters/epic_activity_unique_counter_spec.rb1768ee/spec/workers/geo/repository_verification/primary/shard_worker_spec.rb1769ee/spec/lib/gitlab/usage_data_metrics_spec.rb1770ee/spec/workers/geo/prune_event_log_worker_spec.rb1771ee/spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb1772ee/spec/models/environment_spec.rb1773ee/spec/serializers/dashboard_operations_project_entity_spec.rb1774ee/spec/lib/ee/gitlab/background_migration/populate_status_column_of_security_scans_spec.rb1775ee/spec/services/projects/group_links/create_service_spec.rb1776ee/spec/finders/geo/repository_verification_finder_spec.rb1777ee/spec/lib/ee/gitlab/ci/config/entry/need_spec.rb1778ee/spec/models/snippet_repository_spec.rb1779ee/spec/models/concerns/elastic/snippet_spec.rb1780ee/spec/lib/gitlab/geo_spec.rb1781ee/spec/workers/update_all_mirrors_worker_spec.rb1782ee/spec/models/productivity_analytics_spec.rb1783ee/spec/lib/gitlab/ci/templates/dast_latest_gitlab_ci_yaml_spec.rb1784ee/spec/lib/gitlab/vulnerabilities/findings_preloader_spec.rb1785ee/spec/lib/ee/gitlab/ci/parsers/security/validators/schema_validator_spec.rb1786ee/spec/graphql/resolvers/requirements_management/requirements_resolver_spec.rb1787ee/spec/workers/geo/registry_sync_worker_spec.rb1788ee/spec/finders/issues_finder_spec.rb1789ee/spec/graphql/resolvers/timebox_report_resolver_spec.rb1790ee/spec/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings_spec.rb1791ee/spec/services/ci/minutes/update_project_and_namespace_usage_service_spec.rb1792ee/spec/models/board_spec.rb1793ee/spec/lib/gitlab/ci/reports/license_scanning/license_spec.rb1794ee/spec/services/epics/related_epic_links/create_service_spec.rb1795ee/spec/policies/requirements_management/requirement_policy_spec.rb1796ee/spec/graphql/types/vulnerability_type_spec.rb1797ee/spec/services/app_sec/dast/profiles/update_service_spec.rb1798ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb1799ee/spec/services/geo/wiki_sync_service_spec.rb1800ee/spec/finders/geo/terraform_state_version_registry_finder_spec.rb1801ee/spec/models/concerns/geo/verification_state_spec.rb1802ee/spec/lib/elastic/latest/git_class_proxy_spec.rb1803ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_restorer_spec.rb1804ee/spec/graphql/ee/resolvers/issues_resolver_spec.rb1805ee/spec/services/ee/users/destroy_service_spec.rb1806ee/spec/models/vulnerabilities/issue_link_spec.rb1807ee/spec/services/ci/create_pipeline_service/cross_needs_artifacts_spec.rb1808ee/spec/services/iterations/delete_service_spec.rb1809ee/spec/services/ee/protected_branches/create_service_spec.rb1810ee/spec/lib/gitlab/analytics/cycle_analytics/summary/stage_time_summary_spec.rb1811ee/spec/finders/security/findings_finder_spec.rb1812ee/spec/helpers/ee/namespace_storage_limit_alert_helper_spec.rb1813ee/spec/services/namespaces/storage/email_notification_service_spec.rb1814ee/spec/services/resource_access_tokens/create_service_spec.rb1815ee/spec/lib/gitlab/background_migration/populate_test_reports_issue_id_spec.rb1816ee/spec/serializers/vulnerabilities/finding_serializer_spec.rb1817ee/spec/workers/app_sec/dast/profile_schedule_worker_spec.rb1818ee/spec/models/geo/secondary_usage_data_spec.rb1819ee/spec/services/security/report_summary_service_spec.rb1820ee/spec/helpers/ee/welcome_helper_spec.rb1821ee/spec/models/dast/profile_spec.rb1822ee/spec/services/timebox_report_service_spec.rb1823ee/spec/finders/merge_trains_finder_spec.rb1824ee/spec/services/ldap_group_reset_service_spec.rb1825ee/spec/services/app_sec/dast/site_profiles/update_service_spec.rb1826ee/spec/graphql/types/dast_site_profile_type_spec.rb1827ee/spec/models/concerns/approver_migrate_hook_spec.rb1828ee/spec/graphql/mutations/issues/create_spec.rb1829ee/spec/models/project_ci_cd_setting_spec.rb1830ee/spec/models/geo/group_wiki_repository_registry_spec.rb1831ee/spec/services/merge_trains/create_pipeline_service_spec.rb1832ee/spec/services/ee/boards/issues/list_service_spec.rb1833ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb1834ee/spec/routing/user_routing_spec.rb1835ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb1836ee/spec/helpers/subscriptions_helper_spec.rb1837ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb1838ee/spec/services/vulnerabilities/manually_create_service_spec.rb1839ee/spec/lib/gitlab/ci/reports/security/finding_spec.rb1840ee/spec/serializers/member_entity_spec.rb1841ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb1842ee/spec/services/iterations/cadences/create_iterations_in_advance_service_spec.rb1843ee/spec/lib/gitlab/analytics/cycle_analytics/request_params_spec.rb1844ee/spec/finders/groups_with_templates_finder_spec.rb1845ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb1846ee/spec/services/incident_management/pending_escalations/process_service_spec.rb1847ee/spec/presenters/ci/minutes/quota_presenter_spec.rb1848ee/spec/models/visible_approvable_spec.rb1849ee/spec/services/dashboard/operations/list_service_spec.rb1850ee/spec/models/path_lock_spec.rb1851ee/spec/helpers/ee/issues_helper_spec.rb1852ee/spec/serializers/vulnerabilities/finding_entity_spec.rb1853ee/spec/services/wiki_pages/update_service_spec.rb1854ee/spec/services/ee/members/create_service_spec.rb1855ee/spec/models/dast_scanner_profile_spec.rb1856ee/spec/helpers/ee/namespaces_helper_spec.rb1857ee/spec/services/auto_merge/add_to_merge_train_when_pipeline_succeeds_service_spec.rb1858ee/spec/services/projects/gitlab_projects_import_service_spec.rb1859ee/spec/finders/custom_project_templates_finder_spec.rb1860ee/spec/services/ee/incident_management/issuable_escalation_statuses/after_update_service_spec.rb1861ee/spec/models/vulnerabilities/statistic_spec.rb1862ee/spec/lib/gitlab/auth/group_saml/gma_membership_enforcer_spec.rb1863ee/spec/services/groups/create_service_spec.rb1864ee/spec/services/ee/boards/lists/list_service_spec.rb1865ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb1866ee/spec/finders/security/vulnerability_reads_finder_spec.rb1867ee/spec/services/alert_management/network_alert_service_spec.rb1868ee/spec/graphql/mutations/issues/set_epic_spec.rb1869ee/spec/services/geo/repository_verification_primary_service_spec.rb1870ee/spec/services/boards/epics/move_service_spec.rb1871ee/spec/lib/gitlab/spdx/catalogue_gateway_spec.rb1872ee/spec/lib/audit/details_spec.rb1873ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb1874ee/spec/services/projects/destroy_service_spec.rb1875ee/spec/graphql/types/project_type_spec.rb1876ee/spec/models/integrations/github/status_message_spec.rb1877ee/spec/services/ee/users/update_service_spec.rb1878ee/spec/graphql/ee/resolvers/namespace_projects_resolver_spec.rb1879ee/spec/models/concerns/elastic/project_wiki_spec.rb1880ee/spec/graphql/mutations/issues/set_escalation_policy_spec.rb1881ee/spec/models/epic/related_epic_link_spec.rb1882ee/spec/lib/ee/gitlab/auth/ldap/sync/groups_spec.rb1883ee/spec/services/security/merge_reports_service_spec.rb1884ee/spec/models/merge_requests/compliance_violation_spec.rb1885ee/spec/models/ci/daily_build_group_report_result_spec.rb1886ee/spec/services/ci/create_pipeline_service/needs_spec.rb1887ee/spec/models/protected_environments/approval_summary_spec.rb1888ee/spec/workers/geo/repository_sync_worker_spec.rb1889ee/spec/services/boards/epics/list_service_spec.rb1890ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb1891ee/spec/services/app_sec/dast/scanner_profiles/update_service_spec.rb1892ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb1893ee/spec/services/wiki_pages/destroy_service_spec.rb1894ee/spec/finders/audit_log_finder_spec.rb1895ee/spec/finders/geo/design_registry_finder_spec.rb1896ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb1897ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb1898ee/spec/routing/admin_routing_spec.rb1899ee/spec/models/protected_environments/approval_rule_spec.rb1900ee/spec/lib/ee/gitlab/ci/matching/runner_matcher_spec.rb1901ee/spec/policies/issuable_policy_spec.rb1902ee/spec/models/ci/bridge_spec.rb1903ee/spec/lib/bulk_imports/groups/pipelines/epics_pipeline_spec.rb1904ee/spec/models/ee/event_spec.rb1905ee/spec/models/boards/epic_list_spec.rb1906ee/spec/lib/gitlab/ci/reports/license_scanning/report_spec.rb1907ee/spec/models/packages/package_file_spec.rb1908ee/spec/lib/ee/gitlab/background_migration/populate_namespace_statistics_spec.rb1909ee/spec/lib/analytics/refresh_comments_data_spec.rb1910ee/spec/graphql/mutations/issues/update_spec.rb1911ee/spec/graphql/mutations/dast_site_profiles/create_spec.rb1912ee/spec/services/geo/metrics_update_service_spec.rb1913ee/spec/services/security/ingestion/tasks/ingest_finding_signatures_spec.rb1914ee/spec/services/system_notes/merge_train_service_spec.rb1915ee/spec/services/ee/allowed_email_domains/update_service_spec.rb1916ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb1917ee/spec/lib/gitlab/elastic/document_reference_spec.rb1918ee/spec/services/protected_environments/update_service_spec.rb1919ee/spec/replicators/geo/group_wiki_repository_replicator_spec.rb1920ee/spec/services/security/ingestion/tasks/ingest_vulnerability_statistics_spec.rb1921ee/spec/services/ee/groups/import_export/import_service_spec.rb1922ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb1923ee/spec/views/shared/_mirror_status.html.haml_spec.rb1924ee/spec/services/iterations/create_service_spec.rb1925ee/spec/workers/geo/repositories_clean_up_worker_spec.rb1926ee/spec/services/ci/pipeline_creation/drop_not_runnable_builds_service_spec.rb1927ee/spec/models/vulnerabilities/historical_statistic_spec.rb1928ee/spec/models/vulnerabilities/identifier_spec.rb1929ee/spec/models/gitlab_subscriptions/features_spec.rb1930ee/spec/workers/project_template_export_worker_spec.rb1931ee/spec/services/geo/node_update_service_spec.rb1932ee/spec/lib/gitlab/pagination_delegate_spec.rb1933ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb1934ee/spec/models/software_license_spec.rb1935ee/spec/policies/vulnerabilities/feedback_policy_spec.rb1936ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb1937ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_in_batch_spec.rb1938ee/spec/services/epics/related_epic_links/destroy_service_spec.rb1939ee/spec/services/epics/transfer_service_spec.rb1940ee/spec/workers/scan_security_report_secrets_worker_spec.rb1941ee/spec/lib/gitlab/ci/parsers/security/dependency_scanning_spec.rb1942ee/spec/lib/ee/gitlab/checks/push_rules/branch_check_spec.rb1943ee/spec/graphql/mutations/dast_site_profiles/update_spec.rb1944ee/spec/lib/ee/gitlab/group_search_results_spec.rb1945ee/spec/workers/set_user_status_based_on_user_cap_setting_worker_spec.rb1946ee/spec/serializers/ee/environment_serializer_spec.rb1947ee/spec/services/projects/restore_service_spec.rb1948ee/spec/services/incident_management/escalation_policies/update_service_spec.rb1949ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb1950ee/spec/services/ee/boards/lists/create_service_spec.rb1951ee/spec/services/vulnerabilities/starboard_vulnerability_resolve_service_spec.rb1952ee/spec/models/ci/subscriptions/project_spec.rb1953ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb1954ee/spec/models/vulnerabilities/finding_identifier_spec.rb1955ee/spec/services/security/store_scan_service_spec.rb1956ee/spec/serializers/blocking_merge_request_entity_spec.rb1957ee/spec/services/vulnerabilities/starboard_vulnerability_create_service_spec.rb1958ee/spec/services/ci/subscribe_bridge_service_spec.rb1959ee/spec/models/milestone_release_spec.rb1960ee/spec/workers/post_receive_spec.rb1961ee/spec/lib/ee/sidebars/groups/menus/settings_menu_spec.rb1962ee/spec/models/ee/key_spec.rb1963ee/spec/workers/geo/repository_verification/primary/batch_worker_spec.rb1964ee/spec/graphql/ee/resolvers/board_list_issues_resolver_spec.rb1965ee/spec/lib/ee/api/helpers/scim_pagination_spec.rb1966ee/spec/services/projects/prometheus/alerts/notify_service_spec.rb1967ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb1968ee/spec/workers/elastic_delete_project_worker_spec.rb1969ee/spec/models/dora/daily_metrics_spec.rb1970ee/spec/workers/geo/project_sync_worker_spec.rb1971ee/spec/models/dast/scanner_profiles_build_spec.rb1972ee/spec/services/merge_requests/build_service_spec.rb1973ee/spec/lib/gitlab/code_owners_spec.rb1974ee/spec/finders/geo/upload_registry_finder_spec.rb1975ee/spec/lib/gitlab/vulnerabilities/base_vulnerability_spec.rb1976ee/spec/lib/gitlab/subscription_portal/clients/graphql_spec.rb1977ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb1978ee/spec/workers/project_import_schedule_worker_spec.rb1979ee/spec/helpers/application_helper_spec.rb1980ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb1981ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb1982ee/spec/services/groups/participants_service_spec.rb1983ee/spec/workers/geo/verification_worker_spec.rb1984ee/spec/services/ci/play_build_service_spec.rb1985ee/spec/workers/iterations/roll_over_issues_worker_spec.rb1986ee/spec/lib/gitlab/ci/parsers/security/dependency_list_spec.rb1987ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress_spec.rb1988ee/spec/policies/compliance_management/framework_policy_spec.rb1989ee/spec/models/project_feature_spec.rb1990ee/spec/workers/ee/repository_check/batch_worker_spec.rb1991ee/spec/models/incident_management/escalation_rule_spec.rb1992ee/spec/models/concerns/ee/mentionable_spec.rb1993ee/spec/presenters/ee/clusters/cluster_presenter_spec.rb1994ee/spec/services/epic_issues/destroy_service_spec.rb1995ee/spec/workers/new_epic_worker_spec.rb1996ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb1997ee/spec/services/geo/rename_repository_service_spec.rb1998ee/spec/services/app_sec/dast/scans/create_service_spec.rb1999ee/spec/graphql/types/issue_type_spec.rb2000ee/spec/services/security/security_orchestration_policies/fetch_policy_approvers_service_spec.rb2001ee/spec/workers/refresh_license_compliance_checks_worker_spec.rb2002ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb2003ee/spec/services/ci/minutes/additional_packs/change_namespace_service_spec.rb2004ee/spec/models/geo/event_log_spec.rb2005ee/spec/services/ee/gpg_keys/create_service_spec.rb2006ee/spec/models/deployments/approval_spec.rb2007ee/spec/models/ee/integrations/jira_spec.rb2008ee/spec/graphql/mutations/issues/set_assignees_spec.rb2009ee/spec/workers/admin_emails_worker_spec.rb2010ee/spec/models/plan_spec.rb2011ee/spec/helpers/ee/personal_access_tokens_helper_spec.rb2012ee/spec/services/boards/epic_lists/update_service_spec.rb2013ee/spec/services/merge_commits/export_csv_service_spec.rb2014ee/spec/workers/group_saml_group_sync_worker_spec.rb2015ee/spec/services/namespaces/check_excess_storage_size_service_spec.rb2016ee/spec/services/resource_access_tokens/revoke_service_spec.rb2017ee/spec/services/app_sec/dast/profiles/destroy_service_spec.rb2018ee/spec/services/epic_issues/update_service_spec.rb2019ee/spec/services/security/security_orchestration_policies/cluster_image_scanning_ci_variables_service_spec.rb2020ee/spec/helpers/ee/ci/runners_helper_spec.rb2021ee/spec/policies/ee/namespaces/user_namespace_policy_spec.rb2022ee/spec/services/ci/process_pipeline_service_spec.rb2023ee/spec/models/container_repository_spec.rb2024ee/spec/services/boards/epics/position_create_service_spec.rb2025ee/spec/services/app_sec/dast/sites/find_or_create_service_spec.rb2026ee/spec/services/app_sec/dast/profiles/create_service_spec.rb2027ee/spec/graphql/mutations/epics/add_issue_spec.rb2028ee/spec/lib/ee/gitlab/background_migration/create_security_setting_spec.rb2029ee/spec/workers/security/orchestration_policy_rule_schedule_worker_spec.rb2030ee/spec/workers/adjourned_projects_deletion_cron_worker_spec.rb2031ee/spec/graphql/mutations/vulnerabilities/create_external_issue_link_spec.rb2032ee/spec/lib/gitlab/insights/project_insights_config_spec.rb2033ee/spec/services/security/security_orchestration_policies/policy_commit_service_spec.rb2034ee/spec/services/ci/runners/register_runner_service_spec.rb2035ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb2036ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb2037ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb2038ee/spec/models/ee/ci/pending_build_spec.rb2039ee/spec/lib/gitlab/ci/templates/secure_binaries_ci_yaml_spec.rb2040ee/spec/graphql/api/vulnerabilities_spec.rb2041ee/spec/lib/gitlab/ci/parsers/security/container_scanning_spec.rb2042ee/spec/graphql/types/vulnerability_detail_type_spec.rb2043ee/spec/services/security/ingestion/ingest_report_service_spec.rb2044ee/spec/graphql/types/admin/cloud_licenses/current_license_type_spec.rb2045ee/spec/elastic_integration/repository_index_spec.rb2046ee/spec/services/incident_management/timeline_events/destroy_service_spec.rb2047ee/spec/finders/ee/projects_finder_spec.rb2048ee/spec/models/groups/repository_storage_move_spec.rb2049ee/spec/lib/gitlab/code_owners/users_loader_spec.rb2050ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb2051ee/spec/lib/gitlab/code_owners/validator_spec.rb2052ee/spec/models/approval_wrapped_code_owner_rule_spec.rb2053ee/spec/graphql/mutations/vulnerabilities/create_spec.rb2054ee/spec/services/deployments/auto_rollback_service_spec.rb2055ee/spec/lib/gitlab/ci/pipeline/chain/config/content_spec.rb2056ee/spec/lib/gitlab/ci/templates/api_fuzzing_latest_gitlab_ci_yaml_spec.rb2057ee/spec/lib/gitlab/ci/parsers/security/formatters/dast_spec.rb2058ee/spec/lib/system_check/geo/license_check_spec.rb2059ee/spec/presenters/vulnerabilities/finding_presenter_spec.rb2060ee/spec/policies/path_lock_policy_spec.rb2061ee/spec/policies/dast/profile_schedule_policy_spec.rb2062ee/spec/models/geo/hashed_storage_migrated_event_spec.rb2063ee/spec/serializers/ee/merge_request_poll_cached_widget_entity_spec.rb2064ee/spec/services/issues/export_csv_service_spec.rb2065ee/spec/graphql/mutations/dast_scanner_profiles/create_spec.rb2066ee/spec/finders/ee/clusters/agent_authorizations_finder_spec.rb2067ee/spec/finders/geo/snippet_repository_registry_finder_spec.rb2068ee/spec/models/ci/minutes/additional_pack_spec.rb2069ee/spec/services/vulnerability_issue_links/delete_service_spec.rb2070ee/spec/services/vulnerability_exports/export_service_spec.rb2071ee/spec/helpers/ee/profiles_helper_spec.rb2072ee/spec/models/ee/lfs_object_spec.rb2073ee/spec/helpers/license_monitoring_helper_spec.rb2074ee/spec/services/external_status_checks/update_service_spec.rb2075ee/spec/models/vulnerabilities/external_issue_link_spec.rb2076ee/spec/lib/gitlab/ci/templates/dast_api_gitlab_ci_yaml_spec.rb2077ee/spec/lib/gitlab/ci/templates/api_fuzzing_gitlab_ci_yaml_spec.rb2078ee/spec/serializers/merge_request_poll_widget_entity_spec.rb2079ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb2080ee/spec/helpers/ee/security_orchestration_helper_spec.rb2081ee/spec/services/epics/reopen_service_spec.rb2082ee/spec/lib/ee/sidebars/groups/menus/issues_menu_spec.rb2083ee/spec/models/analytics/cycle_analytics/group_level_spec.rb2084ee/spec/lib/gitlab/geo/replication/job_artifact_transfer_spec.rb2085ee/spec/graphql/mutations/epics/update_spec.rb2086ee/spec/lib/gitlab/auth/smartcard/ldap_certificate_spec.rb2087ee/spec/models/vulnerabilities/projects_grade_spec.rb2088ee/spec/services/groups/mark_for_deletion_service_spec.rb2089ee/spec/services/group_saml/identity/destroy_service_spec.rb2090ee/spec/graphql/mutations/incident_management/timeline_event/promote_from_note_spec.rb2091ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb2092ee/spec/models/sca/license_policy_spec.rb2093ee/spec/lib/gitlab/vulnerabilities/standard_vulnerability_spec.rb2094ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_spec.rb2095ee/spec/services/geo/cache_invalidation_event_store_spec.rb2096ee/spec/services/projects/update_pages_service_spec.rb2097ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb2098ee/spec/finders/dast_scanner_profiles_finder_spec.rb2099ee/spec/finders/group_saml_identity_finder_spec.rb2100ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb2101ee/spec/views/shared/promotions/_promotion_link_project.html.haml_spec.rb2102ee/spec/services/geo/hashed_storage_migration_service_spec.rb2103ee/spec/models/gitlab_subscriptions/upcoming_reconciliation_spec.rb2104ee/spec/lib/gitlab/manual_renewal_banner_spec.rb2105ee/spec/services/ee/service_ping/service_ping_settings_spec.rb2106ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb2107ee/spec/services/app_sec/dast/scan_configs/build_service_spec.rb2108ee/spec/lib/gitlab/geo/replication/file_transfer_spec.rb2109ee/spec/models/geo/deleted_project_spec.rb2110ee/spec/services/ee/releases/create_evidence_service_spec.rb2111ee/spec/graphql/resolvers/user_notes_count_resolver_spec.rb2112ee/spec/lib/ee/gitlab/scim/attribute_transform_spec.rb2113ee/spec/views/compliance_management/compliance_framework/_project_settings.html.haml_spec.rb2114ee/spec/views/shared/credentials_inventory/gpg_keys/_gpg_key.html.haml_spec.rb2115ee/spec/models/ee/namespace_limit_spec.rb2116ee/spec/lib/ee/audit/project_setting_changes_auditor_spec.rb2117ee/spec/workers/incident_management/oncall_rotations/persist_shifts_job_spec.rb2118ee/spec/models/security/training_provider_spec.rb2119ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_commit_at_spec.rb2120ee/spec/workers/concerns/elastic/indexing_control_spec.rb2121ee/spec/lib/gitlab/graphql/aggregations/epics/epic_node_spec.rb2122ee/spec/lib/pseudonymizer/dumper_spec.rb2123ee/spec/lib/ee/api/entities/deployment_extended_spec.rb2124ee/spec/helpers/credentials_inventory_helper_spec.rb2125ee/spec/views/shared/credentials_inventory/project_access_tokens/_project_access_token.html.haml_spec.rb2126ee/spec/finders/ee/alert_management/alerts_finder_spec.rb2127ee/spec/services/namespaces/check_storage_size_service_spec.rb2128ee/spec/services/status_page/publish_details_service_spec.rb2129ee/spec/lib/gitlab/sitemaps/url_extractor_spec.rb2130ee/spec/models/concerns/ee/project_security_scanners_information_spec.rb2131ee/spec/lib/ee/api/entities/scim/user_spec.rb2132ee/spec/services/boards/user_preferences/update_service_spec.rb2133ee/spec/routing/webhook_routes_spec.rb2134ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb2135ee/spec/services/boards/epic_lists/destroy_service_spec.rb2136ee/spec/models/dast/profiles_pipeline_spec.rb2137ee/spec/models/incident_management/oncall_shift_spec.rb2138ee/spec/workers/incident_management/apply_incident_sla_exceeded_label_worker_spec.rb2139ee/spec/models/elastic/index_setting_spec.rb2140ee/spec/services/ci/audit_variable_change_service_spec.rb2141ee/spec/models/namespaces/free_user_cap_spec.rb2142ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb2143ee/spec/lib/container_registry/client_spec.rb2144ee/spec/models/users_security_dashboard_project_spec.rb2145ee/spec/lib/gitlab/auth/group_saml/auth_hash_spec.rb2146ee/spec/helpers/ee/operations_helper_spec.rb2147ee/spec/services/ee/incident_management/issuable_escalation_statuses/prepare_update_service_spec.rb2148ee/spec/services/geo/container_repository_sync_service_spec.rb2149ee/spec/lib/analytics/group_activity_calculator_spec.rb2150ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_external_status_checks_metric_spec.rb2151ee/spec/lib/ee/gitlab/url_builder_spec.rb2152ee/spec/policies/vulnerabilities/external_issue_link_policy_spec.rb2153ee/spec/lib/gitlab/mirror_spec.rb2154ee/spec/services/compliance_management/frameworks/destroy_service_spec.rb2155ee/spec/graphql/mutations/vulnerabilities/dismiss_spec.rb2156ee/spec/workers/personal_access_tokens/instance/policy_worker_spec.rb2157ee/spec/services/analytics/cycle_analytics/value_streams/update_service_spec.rb2158ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_added_spec.rb2159ee/spec/lib/elastic/latest/git_instance_proxy_spec.rb2160ee/spec/helpers/ee/invite_members_helper_spec.rb2161ee/spec/serializers/ee/deployment_entity_spec.rb2162ee/spec/helpers/ee/todos_helper_spec.rb2163ee/spec/views/admin/dashboard/index.html.haml_spec.rb2164ee/spec/lib/ee/gitlab/scim/params_parser_spec.rb2165ee/spec/lib/gitlab/ci/templates/secret_detection_latest_gitlab_ci_yaml_spec.rb2166ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb2167ee/spec/graphql/resolvers/dast_site_validation_resolver_spec.rb2168ee/spec/services/vulnerabilities/destroy_dismissal_feedback_service_spec.rb2169ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb2170ee/spec/services/projects/update_service_spec.rb2171ee/spec/services/security/scanned_resources_counting_service_spec.rb2172ee/spec/lib/gitlab/usage/metrics/instrumentations/license_metric_spec.rb2173ee/spec/services/security/ingestion/tasks/ingest_finding_pipelines_spec.rb2174ee/spec/models/vulnerability_user_mention_spec.rb2175ee/spec/models/security/training_spec.rb2176ee/spec/graphql/types/dast_scanner_profile_type_spec.rb2177ee/spec/models/board_user_preference_spec.rb2178ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb2179ee/spec/lib/gitlab/vulnerabilities/container_scanning_vulnerability_spec.rb2180ee/spec/services/ee/members/update_service_spec.rb2181ee/spec/helpers/ee/issuables_helper_spec.rb2182ee/spec/services/ee/event_create_service_spec.rb2183ee/spec/policies/app_sec/fuzzing/coverage/corpus_policy_spec.rb2184ee/spec/lib/ee/gitlab/auth/auth_finders_spec.rb2185ee/spec/views/shared/issuable/_sidebar.html.haml_spec.rb2186ee/spec/routing/group_routing_spec.rb2187ee/spec/services/vulnerabilities/historical_statistics/deletion_service_spec.rb2188ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb2189ee/spec/finders/geo/group_wiki_repository_registry_finder_spec.rb2190ee/spec/helpers/groups/security_features_helper_spec.rb2191ee/spec/services/ee/ci/change_variables_service_spec.rb2192ee/spec/services/app_sec/dast/profiles/audit/update_service_spec.rb2193ee/spec/graphql/mutations/projects/set_compliance_framework_spec.rb2194ee/spec/services/ee/alert_management/create_alert_issue_service_spec.rb2195ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb2196ee/spec/lib/gitlab/group_plans_preloader_spec.rb2197ee/spec/serializers/dependency_entity_spec.rb2198ee/spec/services/requirements_management/process_test_reports_service_spec.rb2199ee/spec/views/projects/edit.html.haml_spec.rb2200ee/spec/services/audit_events/release_created_audit_event_service_spec.rb2201ee/spec/workers/elastic_namespace_rollout_worker_spec.rb2202ee/spec/finders/iterations/cadences_finder_spec.rb2203ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb2204ee/spec/lib/ee/gitlab/ip_restriction/enforcer_spec.rb2205ee/spec/services/audit_events/unregister_runner_audit_event_service_spec.rb2206ee/spec/workers/vulnerability_exports/export_worker_spec.rb2207ee/spec/services/vulnerabilities/statistics/update_service_spec.rb2208ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb2209ee/spec/graphql/types/incident_management/oncall_rotation_date_input_type_spec.rb2210ee/spec/services/incident_management/oncall_rotations/destroy_service_spec.rb2211ee/spec/models/ee/preloaders/group_policy_preloader_spec.rb2212ee/spec/lib/gitlab/usage/metrics/instrumentations/approval_project_rules_with_user_metric_spec.rb2213ee/spec/services/issue_feature_flags/list_service_spec.rb2214ee/spec/graphql/mutations/dast_site_tokens/create_spec.rb2215ee/spec/presenters/group_clusterable_presenter_spec.rb2216ee/spec/finders/users_finder_spec.rb2217ee/spec/models/ee/label_spec.rb2218ee/spec/models/ee/integration_spec.rb2219ee/spec/services/ide/schemas_config_service_spec.rb2220ee/spec/services/merge_requests/sync_code_owner_approval_rules_spec.rb2221ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb2222ee/spec/workers/geo/repository_verification/primary/single_worker_spec.rb2223ee/spec/lib/analytics/refresh_approvals_data_spec.rb2224ee/spec/serializers/dashboard_environments_serializer_spec.rb2225ee/spec/serializers/ee/user_serializer_spec.rb2226ee/spec/services/slash_commands/global_slack_handler_spec.rb2227ee/spec/models/elasticsearch_indexed_project_spec.rb2228ee/spec/models/ee/groups/feature_setting_spec.rb2229ee/spec/views/shared/issuable/_approver_suggestion.html.haml_spec.rb2230ee/spec/services/geo/repository_deleted_event_store_spec.rb2231ee/spec/graphql/resolvers/geo/geo_node_resolver_spec.rb2232ee/spec/graphql/mutations/compliance_management/frameworks/destroy_spec.rb2233ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb2234ee/spec/views/devise/sessions/new.html.haml_spec.rb2235ee/spec/models/allowed_email_domain_spec.rb2236ee/spec/lib/gitlab/auth/group_saml/token_actor_spec.rb2237ee/spec/lib/ee/api/entities/billable_member_spec.rb2238ee/spec/policies/vulnerabilities/scanner_policy_spec.rb2239ee/spec/lib/gitlab/sitemaps/generator_spec.rb2240ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb2241ee/spec/lib/peek/views/elasticsearch_spec.rb2242ee/spec/services/security/security_orchestration_policies/project_create_service_spec.rb2243ee/spec/lib/ee/api/entities/geo_node_status_spec.rb2244ee/spec/graphql/types/vulnerability_request_type_spec.rb2245ee/spec/tasks/gitlab/spdx_rake_spec.rb2246ee/spec/workers/geo/repository_verification/secondary/scheduler_worker_spec.rb2247ee/spec/services/incident_management/escalation_policies/create_service_spec.rb2248ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb2249ee/spec/services/geo/hashed_storage_migrated_event_store_spec.rb2250ee/spec/services/security/security_orchestration_policies/scan_pipeline_service_spec.rb2251ee/spec/services/ci/retry_pipeline_service_spec.rb2252ee/spec/finders/incident_management/timeline_events_finder_spec.rb2253ee/spec/lib/gitlab/ci/parsers/security/cluster_image_scanning_spec.rb2254ee/spec/services/groups/epics_count_service_spec.rb2255ee/spec/workers/elastic_commit_indexer_worker_spec.rb2256ee/spec/workers/geo/batch/project_registry_scheduler_worker_spec.rb2257ee/spec/services/projects/after_rename_service_spec.rb2258ee/spec/graphql/mutations/merge_requests/accept_spec.rb2259ee/spec/services/iterations/roll_over_issues_service_spec.rb2260ee/spec/models/issuables_analytics_spec.rb2261ee/spec/services/protected_environments/destroy_service_spec.rb2262ee/spec/helpers/ee/auth_helper_spec.rb2263ee/spec/helpers/ee/dashboard_helper_spec.rb2264ee/spec/services/protected_environments/base_service_spec.rb2265ee/spec/services/system_notes/incidents_service_spec.rb2266ee/spec/services/security/ingestion/ingest_reports_service_spec.rb2267ee/spec/services/ee/ip_restrictions/update_service_spec.rb2268ee/spec/services/ee/resource_events/synthetic_iteration_notes_builder_service_spec.rb2269ee/spec/helpers/projects/security/dast_profiles_helper_spec.rb2270ee/spec/serializers/clusters/deployment_entity_spec.rb2271ee/spec/services/ci/compare_metrics_reports_service_spec.rb2272ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_last_edited_spec.rb2273ee/spec/graphql/types/scan_type_spec.rb2274ee/spec/serializers/project_mirror_entity_spec.rb2275ee/spec/lib/gitlab/ci/parsers/metrics/generic_spec.rb2276ee/spec/services/ee/merge_requests/update_assignees_service_spec.rb2277ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb2278ee/spec/services/releases/create_service_spec.rb2279ee/spec/finders/boards/milestones_finder_spec.rb2280ee/spec/services/app_sec/dast/profiles/build_config_service_spec.rb2281ee/spec/services/requirements_management/create_requirement_service_spec.rb2282ee/spec/services/resource_events/change_weight_service_spec.rb2283ee/spec/services/projects/licenses/update_policy_service_spec.rb2284ee/spec/models/concerns/ee/clusters/agents/authorization_config_scopes_spec.rb2285ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb2286ee/spec/models/concerns/deprecated_approvals_before_merge_spec.rb2287ee/spec/lib/ee/gitlab/ci/config_spec.rb2288ee/spec/lib/gitlab/ci/yaml_processor_spec.rb2289ee/spec/graphql/resolvers/incident_management/timeline_events_resolver_spec.rb2290ee/spec/lib/ee/gitlab/rack_attack/request_spec.rb2291ee/spec/helpers/routing/pseudonymization_helper_spec.rb2292ee/spec/views/shared/credentials_inventory/ssh_keys/_ssh_key.html.haml_spec.rb2293ee/spec/models/ee/members_preloader_spec.rb2294ee/spec/finders/security/training_providers/base_url_finder_spec.rb2295ee/spec/lib/gitlab/ci/reports/dependency_list/report_spec.rb2296ee/spec/lib/gitlab/sidekiq_config_spec.rb2297ee/spec/finders/ee/namespaces/projects_finder_spec.rb2298ee/spec/lib/ee/gitlab/auth/ldap/sync/external_users_spec.rb2299ee/spec/services/geo/container_repository_updated_event_store_spec.rb2300ee/spec/workers/requirements_management/process_requirements_reports_worker_spec.rb2301ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb2302ee/spec/models/commit_spec.rb2303ee/spec/graphql/types/dast/profile_schedule_type_spec.rb2304ee/spec/lib/system_check/geo/current_node_check_spec.rb2305ee/spec/models/ee/service_desk_setting_spec.rb2306ee/spec/presenters/epic_issue_presenter_spec.rb2307ee/spec/graphql/mutations/incident_management/timeline_event/create_spec.rb2308ee/spec/lib/gitlab/regex_spec.rb2309ee/spec/services/geo/hashed_storage_attachments_migration_service_spec.rb2310ee/spec/services/gitlab_subscriptions/plan_upgrade_service_spec.rb2311ee/spec/workers/elastic_association_indexer_worker_spec.rb2312ee/spec/views/subscriptions/buy_storage.html.haml_spec.rb2313ee/spec/workers/import_software_licenses_worker_spec.rb2314ee/spec/graphql/ee/mutations/boards/issues/issue_move_list_spec.rb2315ee/spec/models/elasticsearch_indexed_namespace_spec.rb2316ee/spec/serializers/user_analytics_entity_spec.rb2317ee/spec/models/group_merge_request_approval_setting_spec.rb2318ee/spec/lib/gitlab/ci/templates/secret_detection_gitlab_ci_yaml_spec.rb2319ee/spec/helpers/admin/emails_helper_spec.rb2320ee/spec/graphql/mutations/releases/update_spec.rb2321ee/spec/services/boards/epic_boards/create_service_spec.rb2322ee/spec/services/ci/minutes/additional_packs/create_service_spec.rb2323ee/spec/graphql/mutations/dast_site_profiles/delete_spec.rb2324ee/spec/services/ee/resource_events/merge_into_notes_service_spec.rb2325ee/spec/graphql/mutations/boards/update_spec.rb2326ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb2327ee/spec/graphql/resolvers/security_orchestration/scan_result_policy_resolver_spec.rb2328ee/spec/lib/gitlab/gl_repository/repo_type_spec.rb2329ee/spec/views/shared/issuable/_health_status_dropdown.html.haml_spec.rb2330ee/spec/finders/software_license_policies_finder_spec.rb2331ee/spec/finders/security/training_providers/secure_code_warrior_url_finder_spec.rb2332ee/spec/services/app_sec/dast/site_tokens/find_or_create_service_spec.rb2333ee/spec/lib/gitlab/geo/geo_tasks_spec.rb2334ee/spec/models/concerns/geo/eventable_spec.rb2335ee/spec/services/personal_access_tokens/create_service_audit_log_spec.rb2336ee/spec/models/namespaces/preview_free_user_cap_spec.rb2337ee/spec/services/projects/import_export/export_service_spec.rb2338ee/spec/services/audit_events/build_service_spec.rb2339ee/spec/finders/ee/autocomplete/users_finder_spec.rb2340ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb2341ee/spec/finders/gpg_keys_finder_spec.rb2342ee/spec/models/analytics/issues_analytics_spec.rb2343ee/spec/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb2344ee/spec/services/compliance_management/merge_requests/create_compliance_violations_service_spec.rb2345ee/spec/models/vulnerabilities/finding_link_spec.rb2346ee/spec/services/boards/epic_boards/update_service_spec.rb2347ee/spec/lib/gitlab/ci/config/entry/job_spec.rb2348ee/spec/models/dora/time_to_restore_service_metric_spec.rb2349ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb2350ee/spec/lib/gitlab/checks/changes_access_spec.rb2351ee/spec/finders/dast_site_validations_finder_spec.rb2352ee/spec/lib/gitlab/status_page/storage/s3_multipart_upload_spec.rb2353ee/spec/lib/gitlab/patch/geo_database_tasks_spec.rb2354ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb2355ee/spec/services/gitlab_subscriptions/activate_service_spec.rb2356ee/spec/services/geo/hashed_storage_attachments_event_store_spec.rb2357ee/spec/graphql/types/geo/merge_request_diff_registry_type_spec.rb2358ee/spec/policies/approval_project_rule_policy_spec.rb2359ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb2360ee/spec/services/security/ingestion/finding_map_spec.rb2361ee/spec/lib/ee/backup/repositories_spec.rb2362ee/spec/services/ci/pipeline_bridge_status_service_spec.rb2363ee/spec/serializers/security/license_policy_entity_spec.rb2364ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb2365ee/spec/views/projects/merge_requests/show.html.haml_spec.rb2366ee/spec/workers/geo/repository_cleanup_worker_spec.rb2367ee/spec/views/registrations/projects/new.html.haml_spec.rb2368ee/spec/services/ee/issues/reopen_service_spec.rb2369ee/spec/services/audit_events/export_csv_service_spec.rb2370ee/spec/graphql/types/vulnerability_evidence_type_spec.rb2371ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb2372ee/spec/lib/banzai/filter/references/label_reference_filter_spec.rb2373ee/spec/lib/gitlab/geo/replication/job_artifact_downloader_spec.rb2374ee/spec/tasks/gitlab/check_rake_spec.rb2375ee/spec/serializers/fork_namespace_entity_spec.rb2376ee/spec/services/compliance_management/frameworks/update_service_spec.rb2377ee/spec/services/ee/projects/deploy_tokens/create_service_spec.rb2378ee/spec/services/incident_management/incidents/create_sla_service_spec.rb2379ee/spec/workers/geo/verification_state_backfill_service_spec.rb2380ee/spec/policies/identity_provider_policy_spec.rb2381ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb2382ee/spec/helpers/ee/projects/incidents_helper_spec.rb2383ee/spec/services/boards/epic_boards/visits/create_service_spec.rb2384ee/spec/policies/geo/registry_policy_spec.rb2385ee/spec/views/projects/security/policies/index.html.haml_spec.rb2386ee/spec/workers/ci/minutes/update_project_and_namespace_usage_worker_spec.rb2387ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/after_config_spec.rb2388ee/spec/helpers/compliance_management/compliance_framework/group_settings_helper_spec.rb2389ee/spec/services/analytics/devops_adoption/snapshots/create_service_spec.rb2390ee/spec/lib/gitlab/status_page/storage/s3_client_spec.rb2391ee/spec/lib/gitlab/ci/reports/license_scanning/dependency_spec.rb2392ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb2393ee/spec/graphql/resolvers/geo/merge_request_diff_registries_resolver_spec.rb2394ee/spec/models/boards/epic_board_recent_visit_spec.rb2395ee/spec/services/security/security_orchestration_policies/fetch_policy_service_spec.rb2396ee/spec/graphql/resolvers/admin/cloud_licenses/current_license_resolver_spec.rb2397ee/spec/services/ee/resource_events/change_iteration_service_spec.rb2398ee/spec/graphql/mutations/requirements_management/update_requirement_spec.rb2399ee/spec/helpers/audit_events_helper_spec.rb2400ee/spec/services/geo/node_create_service_spec.rb2401ee/spec/services/path_locks/unlock_service_spec.rb2402ee/spec/models/container_registry/event_spec.rb2403ee/spec/lib/ee/api/entities/project_spec.rb2404ee/spec/services/ci/minutes/refresh_cached_data_service_spec.rb2405ee/spec/services/projects/cleanup_service_spec.rb2406ee/spec/lib/gitlab/audit/auditor_spec.rb2407ee/spec/lib/ee/api/entities/analytics/code_review/merge_request_spec.rb2408ee/spec/helpers/groups/feature_discovery_moments_helper_spec.rb2409ee/spec/services/ci_cd/github_integration_setup_service_spec.rb2410ee/spec/lib/gitlab/geo/logger_spec.rb2411ee/spec/models/audit_events/external_audit_event_destination_spec.rb2412ee/spec/graphql/mutations/dast_site_validations/revoke_spec.rb2413ee/spec/models/project_repository_state_spec.rb2414ee/spec/models/concerns/scim_paginatable_spec.rb2415ee/spec/graphql/types/geo/registry_state_enum_spec.rb2416ee/spec/services/merge_trains/check_status_service_spec.rb2417ee/spec/workers/ci/initial_pipeline_process_worker_spec.rb2418ee/spec/lib/gitlab/usage/metrics/instrumentations/count_distinct_merged_merge_requests_using_approval_rules_metric_spec.rb2419ee/spec/workers/ee/repository_check/single_repository_worker_spec.rb2420ee/spec/workers/geo/destroy_worker_spec.rb2421ee/spec/models/vulnerabilities/finding_remediation_spec.rb2422ee/spec/services/ee/merge_requests/base_service_spec.rb2423ee/spec/models/ee/appearance_spec.rb2424ee/spec/views/projects/show.html.haml_spec.rb2425ee/spec/lib/ee/api/entities/member_spec.rb2426ee/spec/services/status_page/publish_attachments_service_spec.rb2427ee/spec/services/security/security_orchestration_policies/ci_configuration_service_spec.rb2428ee/spec/helpers/trial_status_widget_helper_spec.rb2429ee/spec/uploaders/every_gitlab_uploader_spec.rb2430ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb2431ee/spec/models/ee/project_wiki_spec.rb2432ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb2433ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb2434ee/spec/finders/license_template_finder_spec.rb2435ee/spec/models/remote_mirror_spec.rb2436ee/spec/lib/elastic/latest/config_spec.rb2437ee/spec/graphql/mutations/compliance_management/frameworks/create_spec.rb2438ee/spec/lib/ee/gitlab/hook_data/issue_builder_spec.rb2439ee/spec/models/ee/namespace/root_storage_statistics_spec.rb2440ee/spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb2441ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb2442ee/spec/workers/geo/batch/project_registry_worker_spec.rb2443ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb2444ee/spec/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker_spec.rb2445ee/spec/services/incident_management/oncall_schedules/destroy_service_spec.rb2446ee/spec/models/approvals/wrapped_rule_set_spec.rb2447ee/spec/models/ee/users/merge_request_interaction_spec.rb2448ee/spec/lib/banzai/filter/jira_private_image_link_filter_spec.rb2449ee/spec/services/ee/resource_events/change_labels_service_spec.rb2450ee/spec/models/board_assignee_spec.rb2451ee/spec/services/security/ingestion/finding_map_collection_spec.rb2452ee/spec/lib/gitlab/graphql/aggregations/security_orchestration_policies/lazy_dast_profile_aggregate_spec.rb2453ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb2454ee/spec/graphql/types/dora_metric_type_spec.rb2455ee/spec/services/app_sec/dast/builds/associate_service_spec.rb2456ee/spec/services/groups/update_repository_storage_service_spec.rb2457ee/spec/graphql/ee/types/user_merge_request_interaction_type_spec.rb2458ee/spec/services/ee/merge_requests/handle_assignees_change_service_spec.rb2459ee/spec/lib/gitlab/ci/templates/sast_iac_latest_gitlab_ci_yaml_spec.rb2460ee/spec/workers/repository_import_worker_spec.rb2461ee/spec/graphql/resolvers/incident_management/oncall_rotations_resolver_spec.rb2462ee/spec/lib/banzai/filter/issuable_reference_expansion_filter_spec.rb2463ee/spec/finders/geo_node_finder_spec.rb2464ee/spec/graphql/resolvers/incident_management/oncall_users_resolver_spec.rb2465ee/spec/lib/ee/api/entities/vulnerability_spec.rb2466ee/spec/graphql/mutations/instance_security_dashboard/remove_project_spec.rb2467ee/spec/lib/gitlab/status_page/storage_spec.rb2468ee/spec/services/gitlab_subscriptions/apply_trial_service_spec.rb2469ee/spec/lib/ee/gitlab/ci/config/entry/needs_spec.rb2470ee/spec/services/projects/setup_ci_cd_spec.rb2471ee/spec/services/merge_requests/reset_approvals_service_spec.rb2472ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb2473ee/spec/lib/gitlab/compliance_management/violations/approved_by_merge_request_author_spec.rb2474ee/spec/workers/vulnerabilities/statistics/adjustment_worker_spec.rb2475ee/spec/workers/incident_management/incident_sla_exceeded_check_worker_spec.rb2476ee/spec/graphql/resolvers/external_issue_resolver_spec.rb2477ee/spec/models/epic_user_mention_spec.rb2478ee/spec/models/geo/tracking_base_spec.rb2479ee/spec/models/ee/analytics/cycle_analytics/stage_event_hash_spec.rb2480ee/spec/views/shared/credentials_inventory/_expiry_date.html.haml_spec.rb2481ee/spec/services/ci/compare_license_scanning_reports_collapsed_service_spec.rb2482ee/spec/lib/gitlab/ci/minutes/build_consumption_spec.rb2483ee/spec/graphql/resolvers/geo/group_wiki_repository_registries_resolver_spec.rb2484ee/spec/helpers/ee/projects/pipeline_helper_spec.rb2485ee/spec/lib/elastic/latest/note_config_spec.rb2486ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb2487ee/spec/services/geo/blob_upload_service_spec.rb2488ee/spec/lib/ee/api/entities/groups/repository_storage_move_spec.rb2489ee/spec/views/trials/_skip_trial.html.haml_spec.rb2490ee/spec/services/issuable/destroy_label_links_service_spec.rb2491ee/spec/lib/gitlab/search/aggregation_parser_spec.rb2492ee/spec/policies/approval_state_policy_spec.rb2493ee/spec/graphql/types/dast_site_validation_type_spec.rb2494ee/spec/services/dashboard/environments/list_service_spec.rb2495ee/spec/lib/ee/api/entities/scim/emails_spec.rb2496ee/spec/graphql/types/incident_management/oncall_participant_type_spec.rb2497ee/spec/presenters/ee/instance_clusterable_presenter_spec.rb2498ee/spec/workers/iterations/cadences/create_iterations_worker_spec.rb2499ee/spec/models/concerns/elastic/projects_search_spec.rb2500ee/spec/workers/namespaces/sync_namespace_name_worker_spec.rb2501ee/spec/services/ci_cd/github_setup_service_spec.rb2502ee/spec/services/ee/ci/pipeline_processing/atomic_processing_service_spec.rb2503ee/spec/views/trial_registrations/new.html.haml_spec.rb2504ee/spec/lib/gitlab/usage/metrics/instrumentations/count_external_status_checks_metric_spec.rb2505ee/spec/models/ip_restriction_spec.rb2506ee/spec/helpers/path_locks_helper_spec.rb2507ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb2508ee/spec/services/ee/resource_events/synthetic_weight_notes_builder_service_spec.rb2509ee/spec/graphql/types/requirements_management/requirement_states_count_type_spec.rb2510ee/spec/services/status_page/unpublish_details_service_spec.rb2511ee/spec/views/projects/on_demand_scans/index.html.haml_spec.rb2512ee/spec/helpers/ee/groups/group_members_helper_spec.rb2513ee/spec/lib/gitlab/vulnerabilities/parser_spec.rb2514ee/spec/workers/active_user_count_threshold_worker_spec.rb2515ee/spec/models/ee/release_spec.rb2516ee/spec/helpers/ee/namespace_user_cap_reached_alert_helper_spec.rb2517ee/spec/presenters/ee/issue_presenter_spec.rb2518ee/spec/services/incident_management/escalation_policies/destroy_service_spec.rb2519ee/spec/graphql/types/network_policy_type_spec.rb2520ee/spec/services/geo/reset_checksum_event_store_spec.rb2521ee/spec/services/security/track_scan_service_spec.rb2522ee/spec/services/ee/notes/destroy_service_spec.rb2523ee/spec/lib/gitlab/audit/levels/group_spec.rb2524ee/spec/models/dora/deployment_frequency_metric_spec.rb2525ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb2526ee/spec/lib/ee/api/entities/scim/error_spec.rb2527ee/spec/services/projects/licenses/create_policy_service_spec.rb2528ee/spec/services/audit_events/register_runner_audit_event_service_spec.rb2529ee/spec/services/security/scanned_resources_service_spec.rb2530ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb2531ee/spec/services/app_sec/fuzzing/api/ci_configuration_create_service_spec.rb2532ee/spec/serializers/epic_entity_spec.rb2533ee/spec/lib/gitlab/geo/git_push_http_spec.rb2534ee/spec/models/alert_management/alert_payload_field_spec.rb2535ee/spec/lib/audit/changes_spec.rb2536ee/spec/views/groups/feature_discovery_moments/advanced_features_dashboard.html.haml_spec.rb2537ee/spec/policies/instance_security_dashboard_policy_spec.rb2538ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb2539ee/spec/services/gitlab_subscriptions/create_trial_or_lead_service_spec.rb2540ee/spec/models/hooks/ee/project_hook_spec.rb2541ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb2542ee/spec/presenters/label_presenter_spec.rb2543ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb2544ee/spec/routing/security_routing_spec.rb2545ee/spec/routing/operations_routing_spec.rb2546ee/spec/lib/gitlab/ci/parsers/security/coverage_fuzzing_spec.rb2547ee/spec/services/geo/repository_base_sync_service_spec.rb2548ee/spec/lib/ee/audit/protected_branches_changes_auditor_spec.rb2549ee/spec/graphql/mutations/incident_management/oncall_schedule/create_spec.rb2550ee/spec/lib/ee/audit/project_ci_cd_setting_changes_auditor_spec.rb2551ee/spec/graphql/types/dast/profile_branch_type_spec.rb2552ee/spec/graphql/types/app_sec/fuzzing/coverage/corpus_type_spec.rb2553ee/spec/services/ee/service_ping/permit_data_categories_service_spec.rb2554ee/spec/services/lfs/lock_file_service_spec.rb2555ee/spec/services/issues/duplicate_service_spec.rb2556ee/spec/workers/elastic_full_index_worker_spec.rb2557ee/spec/workers/deployments/auto_rollback_worker_spec.rb2558ee/spec/views/survey_responses/index.html.haml_spec.rb2559ee/spec/services/analytics/devops_adoption/enabled_namespaces/create_service_spec.rb2560ee/spec/models/issuable_sla_spec.rb2561ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/build_type_metric_spec.rb2562ee/spec/services/geo/repository_renamed_event_store_spec.rb2563ee/spec/services/incident_management/escalation_rules/destroy_service_spec.rb2564ee/spec/lib/system_check/rake_task/geo_task_spec.rb2565ee/spec/models/project_alias_spec.rb2566ee/spec/models/ee/users_statistics_spec.rb2567ee/spec/views/admin/push_rules/_merge_request_approvals.html.haml_spec.rb2568ee/spec/services/elastic/index_projects_by_id_service_spec.rb2569ee/spec/workers/personal_access_tokens/groups/policy_worker_spec.rb2570ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_sort_enum_spec.rb2571ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb2572ee/spec/services/vulnerability_scanners/list_service_spec.rb2573ee/spec/graphql/types/vulnerability_sort_enum_spec.rb2574ee/spec/graphql/types/burnup_chart_daily_totals_type_spec.rb2575ee/spec/graphql/types/incident_management/oncall_shift_type_spec.rb2576ee/spec/lib/gitlab/auth/group_saml/response_check_spec.rb2577ee/spec/policies/incident_management/oncall_shift_policy_spec.rb2578ee/spec/elastic/migrate/20210623081800_add_upvotes_to_issues_spec.rb2579ee/spec/policies/incident_management/oncall_schedule_policy_spec.rb2580ee/spec/models/merge_requests/status_check_response_spec.rb2581ee/spec/presenters/subscriptions/new_plan_presenter_spec.rb2582ee/spec/models/ee/system_note_metadata_spec.rb2583ee/spec/lib/ee/sidebars/projects/menus/monitor_menu_spec.rb2584ee/spec/models/integrations/chat_message/vulnerability_message_spec.rb2585ee/spec/workers/analytics/cycle_analytics/incremental_worker_spec.rb2586ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb2587ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb2588ee/spec/graphql/types/incident_management/escalation_rule_type_spec.rb2589ee/spec/graphql/mutations/epics/create_spec.rb2590ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb2591ee/spec/serializers/invited_group_entity_spec.rb2592ee/spec/policies/ci/minutes/namespace_monthly_usage_policy_spec.rb2593ee/spec/models/integrations/gitlab_slack_application_spec.rb2594ee/spec/views/admin/users/show.html.haml_spec.rb2595ee/spec/models/concerns/ee/weight_eventable_spec.rb2596ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb2597ee/spec/services/milestones/promote_service_spec.rb2598ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb2599ee/spec/views/projects/settings/subscriptions/_index.html.haml_spec.rb2600ee/spec/graphql/types/vulnerability_location/coverage_fuzzing_type_spec.rb2601ee/spec/services/geo/repositories_changed_event_store_spec.rb2602ee/spec/lib/api/entities/pending_member_spec.rb2603ee/spec/workers/compliance_management/merge_requests/compliance_violations_worker_spec.rb2604ee/spec/lib/gitlab/graphql/pagination/keyset/order_info_spec.rb2605ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb2606ee/spec/lib/sidebars/groups/menus/epics_menu_spec.rb2607ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy_spec.rb2608ee/spec/services/security/security_orchestration_policies/on_demand_scan_pipeline_configuration_service_spec.rb2609ee/spec/graphql/resolvers/path_locks_resolver_spec.rb2610ee/spec/services/ee/incident_management/issuable_escalation_statuses/create_service_spec.rb2611ee/spec/services/ee/users/create_service_spec.rb2612ee/spec/services/ee/protected_branches/update_service_spec.rb2613ee/spec/workers/app_sec/dast/site_profiles_builds/consistency_worker_spec.rb2614ee/spec/services/incident_management/oncall_schedules/create_service_spec.rb2615ee/spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb2616ee/spec/graphql/resolvers/incident_management/oncall_shifts_resolver_spec.rb2617ee/spec/lib/ee/api/entities/scim/not_found_spec.rb2618ee/spec/serializers/vulnerabilities/response_entity_spec.rb2619ee/spec/serializers/dashboard_environment_entity_spec.rb2620ee/spec/graphql/mutations/todos/create_spec.rb2621ee/spec/services/applications/create_service_spec.rb2622ee/spec/workers/analytics/cycle_analytics/reaggregation_worker_spec.rb2623ee/spec/services/ci/runners/assign_runner_service_spec.rb2624ee/spec/workers/approval_rules/external_approval_rule_payload_worker_spec.rb2625ee/spec/helpers/nav/top_nav_helper_spec.rb2626ee/spec/graphql/resolvers/admin/cloud_licenses/license_history_entries_resolver_spec.rb2627ee/spec/workers/ldap_group_sync_worker_spec.rb2628ee/spec/services/elastic/index_projects_service_spec.rb2629ee/spec/lib/gitlab/auth/group_saml/sso_state_spec.rb2630ee/spec/lib/gitlab/import_sources_spec.rb2631ee/spec/serializers/incident_management/escalation_policy_entity_spec.rb2632ee/spec/workers/geo_repository_destroy_worker_spec.rb2633ee/spec/services/ee/design_management/save_designs_service_spec.rb2634ee/spec/views/projects/empty.html.haml_spec.rb2635ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb2636ee/spec/graphql/resolvers/network_policy_resolver_spec.rb2637ee/spec/models/ee/protected_ref_spec.rb2638ee/spec/lib/gitlab/tracking/standard_context_spec.rb2639ee/spec/views/subscriptions/buy_minutes.html.haml_spec.rb2640ee/spec/lib/gitlab/object_hierarchy_spec.rb2641ee/spec/services/ee/groups/import_export/export_service_spec.rb2642ee/spec/lib/gitlab/auth/smartcard/session_enforcer_spec.rb2643ee/spec/lib/ee/event_filter_spec.rb2644ee/spec/models/ee/merge_request/metrics_spec.rb2645ee/spec/graphql/resolvers/security_training_urls_resolver_spec.rb2646ee/spec/graphql/types/requirements_management/requirement_type_spec.rb2647ee/spec/services/geo/replication_toggle_request_service_spec.rb2648ee/spec/graphql/mutations/requirements_management/create_requirement_spec.rb2649ee/spec/policies/incident_management/oncall_rotation_policy_spec.rb2650ee/spec/services/milestones/update_service_spec.rb2651ee/spec/services/elastic/index_projects_by_range_service_spec.rb2652ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb2653ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb2654ee/spec/services/path_locks/lock_service_spec.rb2655ee/spec/lib/api/entities/deployments/approval_spec.rb2656ee/spec/helpers/ee/version_check_helper_spec.rb2657ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb2658ee/spec/lib/gitlab/audit/target_spec.rb2659ee/spec/graphql/types/issue_connection_type_spec.rb2660ee/spec/services/iterations/update_service_spec.rb2661ee/spec/serializers/issues/linked_issue_feature_flag_entity_spec.rb2662ee/spec/lib/gitlab/geo/log_cursor/event_logs_spec.rb2663ee/spec/views/admin/groups/_form.html.haml_spec.rb2664ee/spec/graphql/ee/mutations/ci/ci_cd_settings_update_spec.rb2665ee/spec/helpers/ee/application_settings_helper_spec.rb2666ee/spec/finders/app_sec/fuzzing/coverage/corpuses_finder_spec.rb2667ee/spec/models/user_permission_export_upload_spec.rb2668ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb2669ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb2670ee/spec/workers/merge_requests/sync_code_owner_approval_rules_worker_spec.rb2671ee/spec/lib/gitlab/insights/serializers/chartjs/multi_series_serializer_spec.rb2672ee/spec/lib/ee/gitlab/import_export/repo_restorer_spec.rb2673ee/spec/lib/gitlab/tree_summary_spec.rb2674ee/spec/lib/gitlab/pagination/keyset/simple_order_builder_spec.rb2675ee/spec/lib/gitlab/analytics/cycle_analytics/aggregated/data_for_duration_chart_spec.rb2676ee/spec/workers/incident_management/pending_escalations/alert_check_worker_spec.rb2677ee/spec/workers/geo/verification_batch_worker_spec.rb2678ee/spec/lib/gitlab/graphql/aggregations/vulnerability_statistics/lazy_aggregate_spec.rb2679ee/spec/serializers/test_reports_comparer_entity_spec.rb2680ee/spec/services/boards/epic_user_preferences/update_service_spec.rb2681ee/spec/helpers/roadmaps_helper_spec.rb2682ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb2683ee/spec/policies/project_snippet_policy_spec.rb2684ee/spec/graphql/resolvers/vulnerabilities_grade_resolver_spec.rb2685ee/spec/models/integrations/github/remote_project_spec.rb2686ee/spec/services/audit_events/custom_audit_event_service_spec.rb2687ee/spec/lib/gitlab/ci/config/entry/dast_configuration_spec.rb2688ee/spec/serializers/clusters/environment_serializer_spec.rb2689ee/spec/models/ee/project_authorization_spec.rb2690ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb2691ee/spec/helpers/kerberos_spnego_helper_spec.rb2692ee/spec/models/geo/repository_created_event_spec.rb2693ee/spec/graphql/types/json_string_type_spec.rb2694ee/spec/serializers/dashboard_environments_project_entity_spec.rb2695ee/spec/workers/dora/daily_metrics/refresh_worker_spec.rb2696ee/spec/services/analytics/devops_adoption/snapshots/update_service_spec.rb2697ee/spec/graphql/mutations/boards/epic_boards/update_spec.rb2698ee/spec/workers/analytics/devops_adoption/create_all_snapshots_worker_spec.rb2699ee/spec/helpers/preferences_helper_spec.rb2700ee/spec/workers/groups/schedule_bulk_repository_shard_moves_worker_spec.rb2701ee/spec/lib/gitlab/audit/levels/instance_spec.rb2702ee/spec/graphql/ee/types/merge_request_type_spec.rb2703ee/spec/lib/gitlab/web_ide/config/entry/schema/match_spec.rb2704ee/spec/workers/app_sec/dast/scanner_profiles_builds/consistency_worker_spec.rb2705ee/spec/graphql/types/geo/package_file_registry_type_spec.rb2706ee/spec/finders/incident_management/oncall_rotations_finder_spec.rb2707ee/spec/workers/incident_management/pending_escalations/issue_create_worker_spec.rb2708ee/spec/helpers/notes_helper_spec.rb2709ee/spec/services/ee/notes/post_process_service_spec.rb2710ee/spec/lib/gitlab/graphql/aggregations/issues/lazy_block_aggregate_spec.rb2711ee/spec/workers/geo/design_repository_sync_worker_spec.rb2712ee/spec/services/security/ingestion/mark_as_resolved_service_spec.rb2713ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb2714ee/spec/views/projects/merge_requests/_merge_request_approvals.html.haml_spec.rb2715ee/spec/policies/security/scan_policy_spec.rb2716ee/spec/lib/ee/api/entities/analytics/group_activity_spec.rb2717ee/spec/graphql/types/work_items/type_spec.rb2718ee/spec/services/group_saml/group_managed_accounts/clean_up_members_service_spec.rb2719ee/spec/lib/bulk_imports/projects/pipelines/push_rule_pipeline_spec.rb2720ee/spec/elastic/migrate/20201123123400_migrate_issues_to_separate_index_spec.rb2721ee/spec/presenters/project_clusterable_presenter_spec.rb2722ee/spec/lib/gitlab/cache_spec.rb2723ee/spec/experiments/combined_registration_experiment_spec.rb2724ee/spec/views/admin/users/_credit_card_info.html.haml_spec.rb2725ee/spec/helpers/ee/emails_helper_spec.rb2726ee/spec/lib/bulk_imports/common/pipelines/wiki_pipeline_spec.rb2727ee/spec/helpers/projects/security/discover_helper_spec.rb2728ee/spec/services/audit_events/release_updated_audit_event_service_spec.rb2729ee/spec/serializers/board_serializer_spec.rb2730ee/spec/models/dora/base_metric_spec.rb2731ee/spec/services/geo/container_repository_sync_spec.rb2732ee/spec/lib/ee/sidebars/projects/panel_spec.rb2733ee/spec/graphql/resolvers/boards/epic_boards_resolvers_spec.rb2734ee/spec/graphql/types/dast/profile_cadence_type_spec.rb2735ee/spec/graphql/types/geo/pages_deployment_registry_type_spec.rb2736ee/spec/models/concerns/geo/verifiable_model_spec.rb2737ee/spec/services/ee/integrations/test/project_service_spec.rb2738ee/spec/elastic/migrate/20201116142400_add_new_data_to_issues_documents_spec.rb2739ee/spec/lib/gitlab/usage/metrics/instrumentations/count_groups_with_event_streaming_destinations_metric_spec.rb2740ee/spec/graphql/resolvers/vulnerabilities/details_resolver_spec.rb2741ee/spec/models/geo/reset_checksum_event_spec.rb2742ee/spec/serializers/license_entity_spec.rb2743ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb2744ee/spec/finders/auth/group_saml_identity_finder_spec.rb2745ee/spec/lib/ee/sidebars/projects/menus/repository_menu_spec.rb2746ee/spec/models/ee/project_setting_spec.rb2747ee/spec/views/admin/dev_ops_report/show.html.haml_spec.rb2748ee/spec/helpers/ee/groups/analytics/cycle_analytics_helper_spec.rb2749ee/spec/elastic/migrate/20210510143200_delete_notes_from_original_index_spec.rb2750ee/spec/graphql/ee/types/mutation_type_spec.rb2751ee/spec/elastic/migrate/20210510113500_delete_merge_requests_from_original_index_spec.rb2752ee/spec/routing/projects/security/configuration_controller_routing_spec.rb2753ee/spec/workers/groups/create_event_worker_spec.rb2754ee/spec/services/ee/preview_markdown_service_spec.rb2755ee/spec/lib/ee/gitlab/etag_caching/router/rails_spec.rb2756ee/spec/serializers/license_compliance/comparer_entity_spec.rb2757ee/spec/lib/api/entities/protected_environments/approval_rule_for_summary_spec.rb2758ee/spec/models/analytics/cycle_analytics/aggregation_context_spec.rb2759ee/spec/workers/create_github_webhook_worker_spec.rb2760ee/spec/models/board_label_spec.rb2761ee/spec/models/concerns/incident_management/base_pending_escalation_spec.rb2762ee/spec/graphql/types/geo/upload_registry_type_spec.rb2763ee/spec/lib/gitlab/proxy_spec.rb2764ee/spec/services/ee/groups/deploy_tokens/revoke_service_spec.rb2765ee/spec/lib/gitlab/ci/reports/metrics/reports_comparer_spec.rb2766ee/spec/lib/ee/gitlab/auth/request_authenticator_spec.rb2767ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb2768ee/spec/serializers/scim_oauth_access_token_entity_spec.rb2769ee/spec/graphql/types/geo/terraform_state_version_registry_type_spec.rb2770ee/spec/graphql/types/incident_management/timeline_event_type_spec.rb2771ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb2772ee/spec/graphql/types/epic_issue_type_spec.rb2773ee/spec/services/personal_access_tokens/instance/update_lifetime_service_spec.rb2774ee/spec/graphql/types/incident_management/oncall_schedule_type_spec.rb2775ee/spec/lib/sidebars/groups/menus/wiki_menu_spec.rb2776ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb2777ee/spec/lib/ee/feature_spec.rb2778ee/spec/lib/gitlab/ci/minutes/cached_quota_spec.rb2779ee/spec/views/projects/security/sast_configuration/show.html.haml_spec.rb2780ee/spec/policies/base_policy_spec.rb2781ee/spec/models/geo/repositories_changed_event_spec.rb2782ee/spec/workers/groups/export_memberships_worker_spec.rb2783ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_saver_spec.rb2784ee/spec/lib/gitlab/items_collection_spec.rb2785ee/spec/views/layouts/_search.html.haml_spec.rb2786ee/spec/lib/elastic/multi_version_class_proxy_spec.rb2787ee/spec/lib/gitlab/auth/otp/session_enforcer_spec.rb2788ee/spec/elastic/migrate/20210421140400_add_new_data_to_merge_requests_documents_spec.rb2789ee/spec/services/keys/create_service_spec.rb2790ee/spec/elastic/migrate/20210127154600_remove_permissions_data_from_notes_documents_spec.rb2791ee/spec/workers/concerns/elastic/migration_obsolete_spec.rb2792ee/spec/graphql/types/push_rules_type_spec.rb2793ee/spec/models/geo/every_geo_event_spec.rb2794ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb2795ee/spec/graphql/types/epic_descendant_count_type_spec.rb2796ee/spec/graphql/types/group_release_stats_type_spec.rb2797ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb2798ee/spec/lib/gitlab/status_page/pipeline/post_process_pipeline_spec.rb2799ee/spec/elastic/migrate/20210813134600_add_namespace_ancestry_to_issues_mapping_spec.rb2800ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/lucene_version_metric_spec.rb2801ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_severity_enum_spec.rb2802ee/spec/graphql/ee/types/notes/noteable_interface_spec.rb2803ee/spec/services/namespaces/storage/enforcement_check_service_spec.rb2804ee/spec/graphql/types/vulnerability_details/url_type_spec.rb2805ee/spec/lib/gitlab/search_context/builder_spec.rb2806ee/spec/elastic/migrate/20210910100000_redo_backfill_namespace_ancestry_ids_for_issues_spec.rb2807ee/spec/models/snippet_spec.rb2808ee/spec/elastic/migrate/20201105181100_apply_max_analyzed_offset_spec.rb2809ee/spec/services/emails/destroy_service_spec.rb2810ee/spec/lib/gitlab/code_owners/reference_extractor_spec.rb2811ee/spec/graphql/types/requirements_management/test_report_type_spec.rb2812ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb2813ee/spec/models/ci/processable_spec.rb2814ee/spec/graphql/types/vulnerability_details/commit_type_spec.rb2815ee/spec/lib/gitlab/alert_management/payload/cilium_spec.rb2816ee/spec/services/audit_events/impersonation_audit_event_service_spec.rb2817ee/spec/graphql/types/ci/minutes/project_monthly_usage_type_spec.rb2818ee/spec/services/admin/email_service_spec.rb2819ee/spec/services/keys/last_used_service_spec.rb2820ee/spec/lib/ee/gitlab/snippet_search_results_spec.rb2821ee/spec/graphql/types/epic_state_enum_spec.rb2822ee/spec/services/emails/create_service_spec.rb2823ee/spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb2824ee/spec/elastic/migrate/20210722112500_add_upvotes_mappings_to_merge_requests_spec.rb2825ee/spec/helpers/ee/hooks_helper_spec.rb2826ee/spec/helpers/ee/sorting_helper_spec.rb2827ee/spec/helpers/analytics/code_review_helper_spec.rb2828ee/spec/lib/pseudonymizer/uploader_spec.rb2829ee/spec/workers/ldap_all_groups_sync_worker_spec.rb2830ee/spec/lib/api/entities/protected_environments/approval_rule_spec.rb2831ee/spec/lib/gitlab/event_store_spec.rb2832ee/spec/lib/gitlab/project_template_spec.rb2833ee/spec/graphql/ee/types/issue_sort_enum_spec.rb2834ee/spec/graphql/ee/types/todoable_interface_spec.rb2835ee/spec/graphql/types/permission_types/epic_spec.rb2836ee/spec/serializers/test_reports_comparer_serializer_spec.rb2837ee/spec/models/boards/epic_board_label_spec.rb2838ee/spec/graphql/types/security_scanners_spec.rb2839ee/spec/graphql/types/ci/pipeline_type_spec.rb2840ee/spec/views/groups/_compliance_frameworks.html.haml_spec.rb2841ee/spec/graphql/types/geo/geo_node_type_spec.rb2842ee/spec/graphql/types/health_status_enum_spec.rb2843ee/spec/workers/audit_events/user_impersonation_event_create_worker_spec.rb2844ee/spec/lib/gitlab/status_page_spec.rb2845ee/spec/helpers/nav/new_dropdown_helper_spec.rb2846ee/spec/graphql/types/vulnerability_details/int_type_spec.rb2847ee/spec/graphql/ee/types/issuable_type_spec.rb2848ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb2849ee/spec/graphql/types/dast/site_profile_auth_input_type_spec.rb2850ee/spec/graphql/types/dora_metric_type_enum_spec.rb2851ee/spec/policies/clusters/instance_policy_spec.rb2852ee/spec/elastic/migrate/20210910094600_add_namespace_ancestry_ids_to_issues_mapping_spec.rb2853ee/spec/graphql/types/ci/code_coverage_summary_spec.rb2854ee/spec/graphql/types/alert_management/payload_alert_field_name_enum_spec.rb2855ee/spec/graphql/resolvers/instance_security_dashboard_resolver_spec.rb2856ee/spec/lib/gitlab/ci/reports/security/remediation_spec.rb2857ee/spec/graphql/types/move_type_enum_spec.rb2858ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb2859ee/spec/serializers/ee/admin/user_entity_spec.rb2860ee/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb2861ee/spec/graphql/types/network_policy_kind_enum_spec.rb2862ee/spec/graphql/types/vulnerable_projects_by_grade_type_spec.rb2863ee/spec/workers/security/findings/delete_by_job_id_worker_spec.rbKnapsack report generator started!2864DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from connected? at ee/lib/gitlab/geo.rb:79)2865DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)2866DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)2867Run options:2868 include {:geo=>true}2869 exclude {:quarantine=>true}2870==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.09558552 seconds...2871Test environment set up in 4.482915511 seconds2872Geo::RegistryConsistencyService2873 behaves like registry consistency service2874 registry_class interface2875 defines a MODEL_CLASS constant2876 responds to .name2877 responds to .insert_for_model_ids2878 responds to .delete_for_model_ids2879 responds to .find_registry_differences2880 responds to .has_create_events?2881 #execute2882 when there are replicable records missing registries2883 creates missing registries2884 returns truthy2885 does not exceed batch size2886 when the number of records is greater than 6 batches2887 when the previous batch is greater than 5 batches from the end of the table2888 when create events are implemented for this replicable2889 does not create missing registries in a batch at the end of the table2890 calls #handle_differences_in_range only once2891 when create events are not yet implemented for this replicable2892 creates missing registries in a batch at the end of the table2893 calls #handle_differences_in_range twice2894 when the previous batch is less than 5 batches from the end of the table2895 does not create registries in a batch at the end of the table2896 calls #handle_differences_in_range once2897 when the number of records is less than 6 batches2898 calls #handle_differences_in_range once2899 when there are unused registries2900 with no replicable records2901 deletes unused registries2902 returns truthy2903 when the unused registry foreign key ids are lower than the first replicable model id2904 deletes unused registries2905 returns truthy2906 when the unused registry foreign key ids are greater than the last replicable model id2907 deletes unused registries2908 returns truthy2909 when all replicable records have registries2910 does nothing2911 returns falsey2912 when there are no replicable records2913 does nothing2914 returns falsey2915 behaves like registry consistency service2916 registry_class interface2917 defines a MODEL_CLASS constant2918 responds to .name2919 responds to .insert_for_model_ids2920 responds to .delete_for_model_ids2921 responds to .find_registry_differences2922 responds to .has_create_events?2923 #execute2924 when there are replicable records missing registries2925 creates missing registries2926 returns truthy2927 does not exceed batch size2928 when the number of records is greater than 6 batches2929 when the previous batch is greater than 5 batches from the end of the table2930 when create events are implemented for this replicable2931 does not create missing registries in a batch at the end of the table2932 calls #handle_differences_in_range only once2933 when create events are not yet implemented for this replicable2934 creates missing registries in a batch at the end of the table2935 calls #handle_differences_in_range twice2936 when the previous batch is less than 5 batches from the end of the table2937 does not create registries in a batch at the end of the table2938 calls #handle_differences_in_range once2939 when the number of records is less than 6 batches2940 calls #handle_differences_in_range once2941 when there are unused registries2942 with no replicable records2943 deletes unused registries2944 returns truthy2945 when the unused registry foreign key ids are lower than the first replicable model id2946 deletes unused registries2947 returns truthy2948 when the unused registry foreign key ids are greater than the last replicable model id2949 deletes unused registries2950 returns truthy2951 when all replicable records have registries2952 does nothing2953 returns falsey2954 when there are no replicable records2955 does nothing2956 returns falsey2957 behaves like registry consistency service2958 registry_class interface2959 defines a MODEL_CLASS constant2960 responds to .name2961 responds to .insert_for_model_ids2962 responds to .delete_for_model_ids2963 responds to .find_registry_differences2964 responds to .has_create_events?2965 #execute2966 when there are replicable records missing registries2967 creates missing registries2968 returns truthy2969 does not exceed batch size2970 when the number of records is greater than 6 batches2971 when the previous batch is greater than 5 batches from the end of the table2972 when create events are implemented for this replicable2973 does not create missing registries in a batch at the end of the table2974 calls #handle_differences_in_range only once2975 when create events are not yet implemented for this replicable2976 creates missing registries in a batch at the end of the table2977 calls #handle_differences_in_range twice2978 when the previous batch is less than 5 batches from the end of the table2979 does not create registries in a batch at the end of the table2980 calls #handle_differences_in_range once2981 when the number of records is less than 6 batches2982 calls #handle_differences_in_range once2983 when there are unused registries2984 with no replicable records2985 deletes unused registries2986 returns truthy2987 when the unused registry foreign key ids are lower than the first replicable model id2988 deletes unused registries2989 returns truthy2990 when the unused registry foreign key ids are greater than the last replicable model id2991 deletes unused registries2992 returns truthy2993 when all replicable records have registries2994 does nothing2995 returns falsey2996 when there are no replicable records2997 does nothing2998 returns falsey2999 behaves like registry consistency service3000 registry_class interface3001 defines a MODEL_CLASS constant3002 responds to .name3003 responds to .insert_for_model_ids3004 responds to .delete_for_model_ids3005 responds to .find_registry_differences3006 responds to .has_create_events?3007 #execute3008 when there are replicable records missing registries3009 creates missing registries3010 returns truthy3011 does not exceed batch size3012 when the number of records is greater than 6 batches3013 when the previous batch is greater than 5 batches from the end of the table3014 when create events are implemented for this replicable3015 does not create missing registries in a batch at the end of the table3016 calls #handle_differences_in_range only once3017 when create events are not yet implemented for this replicable3018 creates missing registries in a batch at the end of the table3019 calls #handle_differences_in_range twice3020 when the previous batch is less than 5 batches from the end of the table3021 does not create registries in a batch at the end of the table3022 calls #handle_differences_in_range once3023 when the number of records is less than 6 batches3024 calls #handle_differences_in_range once3025 when there are unused registries3026 with no replicable records3027 deletes unused registries3028 returns truthy3029 when the unused registry foreign key ids are lower than the first replicable model id3030 deletes unused registries3031 returns truthy3032 when the unused registry foreign key ids are greater than the last replicable model id3033 deletes unused registries3034 returns truthy3035 when all replicable records have registries3036 does nothing3037 returns falsey3038 when there are no replicable records3039 does nothing3040 returns falsey3041 behaves like registry consistency service3042 registry_class interface3043 defines a MODEL_CLASS constant3044 responds to .name3045 responds to .insert_for_model_ids3046 responds to .delete_for_model_ids3047 responds to .find_registry_differences3048 responds to .has_create_events?3049 #execute3050 when there are replicable records missing registries3051 creates missing registries3052 returns truthy3053 does not exceed batch size3054 when the number of records is greater than 6 batches3055 when the previous batch is greater than 5 batches from the end of the table3056 when create events are implemented for this replicable3057 does not create missing registries in a batch at the end of the table3058 calls #handle_differences_in_range only once3059 when create events are not yet implemented for this replicable3060 creates missing registries in a batch at the end of the table3061 calls #handle_differences_in_range twice3062 when the previous batch is less than 5 batches from the end of the table3063 does not create registries in a batch at the end of the table3064 calls #handle_differences_in_range once3065 when the number of records is less than 6 batches3066 calls #handle_differences_in_range once3067 when there are unused registries3068 with no replicable records3069 deletes unused registries3070 returns truthy3071 when the unused registry foreign key ids are lower than the first replicable model id3072 deletes unused registries3073 returns truthy3074 when the unused registry foreign key ids are greater than the last replicable model id3075 deletes unused registries3076 returns truthy3077 when all replicable records have registries3078 does nothing3079 returns falsey3080 when there are no replicable records3081 does nothing3082 returns falsey3083 behaves like registry consistency service3084 registry_class interface3085 defines a MODEL_CLASS constant3086 responds to .name3087 responds to .insert_for_model_ids3088 responds to .delete_for_model_ids3089 responds to .find_registry_differences3090 responds to .has_create_events?3091 #execute3092 when there are replicable records missing registries3093 creates missing registries3094 returns truthy3095 does not exceed batch size3096 when the number of records is greater than 6 batches3097 when the previous batch is greater than 5 batches from the end of the table3098 when create events are implemented for this replicable3099 does not create missing registries in a batch at the end of the table3100 calls #handle_differences_in_range only once3101 when create events are not yet implemented for this replicable3102 creates missing registries in a batch at the end of the table3103 calls #handle_differences_in_range twice3104 when the previous batch is less than 5 batches from the end of the table3105 does not create registries in a batch at the end of the table3106 calls #handle_differences_in_range once3107 when the number of records is less than 6 batches3108 calls #handle_differences_in_range once3109 when there are unused registries3110 with no replicable records3111 deletes unused registries3112 returns truthy3113 when the unused registry foreign key ids are lower than the first replicable model id3114 deletes unused registries3115 returns truthy3116 when the unused registry foreign key ids are greater than the last replicable model id3117 deletes unused registries3118 returns truthy3119 when all replicable records have registries3120 does nothing3121 returns falsey3122 when there are no replicable records3123 does nothing3124 returns falsey3125 behaves like registry consistency service3126 registry_class interface3127 defines a MODEL_CLASS constant3128 responds to .name3129 responds to .insert_for_model_ids3130 responds to .delete_for_model_ids3131 responds to .find_registry_differences3132 responds to .has_create_events?3133 #execute3134 when there are replicable records missing registries3135 creates missing registries3136 returns truthy3137 does not exceed batch size3138 when the number of records is greater than 6 batches3139 when the previous batch is greater than 5 batches from the end of the table3140 when create events are implemented for this replicable3141 does not create missing registries in a batch at the end of the table3142 calls #handle_differences_in_range only once3143 when create events are not yet implemented for this replicable3144 creates missing registries in a batch at the end of the table3145 calls #handle_differences_in_range twice3146 when the previous batch is less than 5 batches from the end of the table3147 does not create registries in a batch at the end of the table3148 calls #handle_differences_in_range once3149 when the number of records is less than 6 batches3150 calls #handle_differences_in_range once3151 when there are unused registries3152 with no replicable records3153 deletes unused registries3154 returns truthy3155 when the unused registry foreign key ids are lower than the first replicable model id3156 deletes unused registries3157 returns truthy3158 when the unused registry foreign key ids are greater than the last replicable model id3159 deletes unused registries3160 returns truthy3161 when all replicable records have registries3162 does nothing3163 returns falsey3164 when there are no replicable records3165 does nothing3166 returns falsey3167 behaves like registry consistency service3168 registry_class interface3169 defines a MODEL_CLASS constant3170 responds to .name3171 responds to .insert_for_model_ids3172 responds to .delete_for_model_ids3173 responds to .find_registry_differences3174 responds to .has_create_events?3175 #execute3176 when there are replicable records missing registries3177 creates missing registries3178 returns truthy3179 does not exceed batch size3180 when the number of records is greater than 6 batches3181 when the previous batch is greater than 5 batches from the end of the table3182 when create events are implemented for this replicable3183 does not create missing registries in a batch at the end of the table3184 calls #handle_differences_in_range only once3185 when create events are not yet implemented for this replicable3186 creates missing registries in a batch at the end of the table3187 calls #handle_differences_in_range twice3188 when the previous batch is less than 5 batches from the end of the table3189 does not create registries in a batch at the end of the table3190 calls #handle_differences_in_range once3191 when the number of records is less than 6 batches3192 calls #handle_differences_in_range once3193 when there are unused registries3194 with no replicable records3195 deletes unused registries3196 returns truthy3197 when the unused registry foreign key ids are lower than the first replicable model id3198 deletes unused registries3199 returns truthy3200 when the unused registry foreign key ids are greater than the last replicable model id3201 deletes unused registries3202 returns truthy3203 when all replicable records have registries3204 does nothing3205 returns falsey3206 when there are no replicable records3207 does nothing3208 returns falsey3209 behaves like registry consistency service3210 registry_class interface3211 defines a MODEL_CLASS constant3212 responds to .name3213 responds to .insert_for_model_ids3214 responds to .delete_for_model_ids3215 responds to .find_registry_differences3216 responds to .has_create_events?3217 #execute3218 when there are replicable records missing registries3219 creates missing registries3220 returns truthy3221 does not exceed batch size3222 when the number of records is greater than 6 batches3223 when the previous batch is greater than 5 batches from the end of the table3224 when create events are implemented for this replicable3225 does not create missing registries in a batch at the end of the table3226 calls #handle_differences_in_range only once3227 when create events are not yet implemented for this replicable3228 creates missing registries in a batch at the end of the table3229 calls #handle_differences_in_range twice3230 when the previous batch is less than 5 batches from the end of the table3231 does not create registries in a batch at the end of the table3232 calls #handle_differences_in_range once3233 when the number of records is less than 6 batches3234 calls #handle_differences_in_range once3235 when there are unused registries3236 with no replicable records3237 deletes unused registries3238 returns truthy3239 when the unused registry foreign key ids are lower than the first replicable model id3240 deletes unused registries3241 returns truthy3242 when the unused registry foreign key ids are greater than the last replicable model id3243 deletes unused registries3244 returns truthy3245 when all replicable records have registries3246 does nothing3247 returns falsey3248 when there are no replicable records3249 does nothing3250 returns falsey3251 behaves like registry consistency service3252 registry_class interface3253 defines a MODEL_CLASS constant3254 responds to .name3255 responds to .insert_for_model_ids3256 responds to .delete_for_model_ids3257 responds to .find_registry_differences3258 responds to .has_create_events?3259 #execute3260 when there are replicable records missing registries3261 creates missing registries3262 returns truthy3263 does not exceed batch size3264 when the number of records is greater than 6 batches3265 when the previous batch is greater than 5 batches from the end of the table3266 when create events are implemented for this replicable3267 does not create missing registries in a batch at the end of the table3268 calls #handle_differences_in_range only once3269 when create events are not yet implemented for this replicable3270 creates missing registries in a batch at the end of the table3271 calls #handle_differences_in_range twice3272 when the previous batch is less than 5 batches from the end of the table3273 does not create registries in a batch at the end of the table3274 calls #handle_differences_in_range once3275 when the number of records is less than 6 batches3276 calls #handle_differences_in_range once3277 when there are unused registries3278 with no replicable records3279 deletes unused registries3280 returns truthy3281 when the unused registry foreign key ids are lower than the first replicable model id3282 deletes unused registries3283 returns truthy3284 when the unused registry foreign key ids are greater than the last replicable model id3285 deletes unused registries3286 returns truthy3287 when all replicable records have registries3288 does nothing3289 returns falsey3290 when there are no replicable records3291 does nothing3292 returns falsey3293 behaves like registry consistency service3294 registry_class interface3295 defines a MODEL_CLASS constant3296 responds to .name3297 responds to .insert_for_model_ids3298 responds to .delete_for_model_ids3299 responds to .find_registry_differences3300 responds to .has_create_events?3301 #execute3302 when there are replicable records missing registries3303 creates missing registries3304 returns truthy3305 does not exceed batch size3306 when the number of records is greater than 6 batches3307 when the previous batch is greater than 5 batches from the end of the table3308 when create events are implemented for this replicable3309 does not create missing registries in a batch at the end of the table3310 calls #handle_differences_in_range only once3311 when create events are not yet implemented for this replicable3312 creates missing registries in a batch at the end of the table3313 calls #handle_differences_in_range twice3314 when the previous batch is less than 5 batches from the end of the table3315 does not create registries in a batch at the end of the table3316 calls #handle_differences_in_range once3317 when the number of records is less than 6 batches3318 calls #handle_differences_in_range once3319 when there are unused registries3320 with no replicable records3321 deletes unused registries3322 returns truthy3323 when the unused registry foreign key ids are lower than the first replicable model id3324 deletes unused registries3325 returns truthy3326 when the unused registry foreign key ids are greater than the last replicable model id3327 deletes unused registries3328 returns truthy3329 when all replicable records have registries3330 does nothing3331 returns falsey3332 when there are no replicable records3333 does nothing3334 returns falsey3335 behaves like registry consistency service3336 registry_class interface3337 defines a MODEL_CLASS constant3338 responds to .name3339 responds to .insert_for_model_ids3340 responds to .delete_for_model_ids3341 responds to .find_registry_differences3342 responds to .has_create_events?3343 #execute3344 when there are replicable records missing registries3345 creates missing registries3346 returns truthy3347 does not exceed batch size3348 when the number of records is greater than 6 batches3349 when the previous batch is greater than 5 batches from the end of the table3350 when create events are implemented for this replicable3351 does not create missing registries in a batch at the end of the table3352 calls #handle_differences_in_range only once3353 when create events are not yet implemented for this replicable3354 creates missing registries in a batch at the end of the table3355 calls #handle_differences_in_range twice3356 when the previous batch is less than 5 batches from the end of the table3357 does not create registries in a batch at the end of the table3358 calls #handle_differences_in_range once3359 when the number of records is less than 6 batches3360 calls #handle_differences_in_range once3361 when there are unused registries3362 with no replicable records3363 deletes unused registries3364 returns truthy3365 when the unused registry foreign key ids are lower than the first replicable model id3366 deletes unused registries3367 returns truthy3368 when the unused registry foreign key ids are greater than the last replicable model id3369 deletes unused registries3370 returns truthy3371 when all replicable records have registries3372 does nothing3373 returns falsey3374 when there are no replicable records3375 does nothing3376 returns falsey3377 behaves like registry consistency service3378 registry_class interface3379 defines a MODEL_CLASS constant3380 responds to .name3381 responds to .insert_for_model_ids3382 responds to .delete_for_model_ids3383 responds to .find_registry_differences3384 responds to .has_create_events?3385 #execute3386 when there are replicable records missing registries3387 creates missing registries3388 returns truthy3389 does not exceed batch size3390 when the number of records is greater than 6 batches3391 when the previous batch is greater than 5 batches from the end of the table3392 when create events are implemented for this replicable3393 does not create missing registries in a batch at the end of the table3394 calls #handle_differences_in_range only once3395 when create events are not yet implemented for this replicable3396 creates missing registries in a batch at the end of the table3397 calls #handle_differences_in_range twice3398 when the previous batch is less than 5 batches from the end of the table3399 does not create registries in a batch at the end of the table3400 calls #handle_differences_in_range once3401 when the number of records is less than 6 batches3402 calls #handle_differences_in_range once3403 when there are unused registries3404 with no replicable records3405 deletes unused registries3406 returns truthy3407 when the unused registry foreign key ids are lower than the first replicable model id3408 deletes unused registries3409 returns truthy3410 when the unused registry foreign key ids are greater than the last replicable model id3411 deletes unused registries3412 returns truthy3413 when all replicable records have registries3414 does nothing3415 returns falsey3416 when there are no replicable records3417 does nothing3418 returns falsey3419Geo::ProjectRegistry3420 behaves like a BulkInsertSafe model3421 when calling class methods directly3422 raises an error when method is not bulk-insert safe3423 does not raise an error when method is bulk-insert safe3424 .bulk_insert!3425 when all items are valid3426 inserts them all3427 returns an empty array3428 when some items are invalid3429 does not insert any of them and raises an error3430 inserts them anyway when bypassing validations3431 relationships3432 is expected to belong to project required: false3433 validations3434 is expected to validate that :project cannot be empty/falsy3435 is expected to validate that :project is case-sensitively unique3436 .find_registry_differences3437 untracked IDs3438 includes project IDs without an entry on the tracking database3439 excludes projects outside the ID range3440 with selective sync by namespace3441 excludes project IDs that are not in selectively synced projects3442 with selective sync by shard3443 excludes project IDs that are not in selectively synced projects3444 unused tracked IDs3445 with an orphaned registry3446 includes tracked IDs that do not exist in the model table3447 excludes IDs outside the ID range3448 with selective sync by namespace3449 with a tracked project3450 excluded from selective sync3451 includes tracked project IDs that exist but are not in a selectively synced project3452 included in selective sync3453 excludes tracked project IDs that are in selectively synced projects3454 with selective sync by shard3455 with a tracked project3456 excluded from selective sync3457 includes tracked project IDs that exist but are not in a selectively synced project3458 included in selective sync3459 excludes tracked project IDs that are in selectively synced projects3460 .synced_repos3461 returns clean projects where last attempt to sync succeeded3462 .synced_wikis3463 returns clean projects where last attempt to sync succeeded3464 .failed_repos3465 returns projects where last attempt to sync failed3466 .failed_wikis3467 returns projects where last attempt to sync failed3468 .verified_repos3469 returns projects that verified3470 .verification_failed_repos3471 returns projects where last attempt to verify failed3472 .verified_wikis3473 returns projects that verified3474 .verification_failed_wikis3475 returns projects where last attempt to verify failed3476 .checksum_mismatch3477 returns projects where there is a checksum mismatch3478 .retry_due3479 returns projects that should be synced3480 .with_search3481 returns project registries that refers to projects with a matching name3482 returns project registries that refers to projects with a matching name regardless of the casing3483 returns project registries that refers to projects with a matching description3484 returns project registries that refers to projects with a partially matching description3485 returns project registries that refers to projects with a matching description regardless of the casing3486 returns project registries that refers to projects with a matching path3487 returns project registries that refers to projects with a partially matching path3488 returns project registries that refers to projects with a matching path regardless of the casing3489 .flag_repositories_for_reverify!3490 modified record to a reverify state3491 .flag_repositories_for_resync!3492 modified record to a resync state3493 .repository_out_of_date?3494 for a non-Geo setup3495 returns false3496 for a Geo setup3497 for a Geo Primary3498 returns false3499 for a Geo secondary3500 where Primary node is not configured3501 returns false3502 where Primary node is configured3503 where project_registry entry does not exist3504 returns true3505 where project_registry entry does exist3506 where last_repository_updated_at is not set3507 returns false3508 where last_repository_updated_at is set3509 where last_repository_successful_sync_at is not set3510 returns true3511 where last_repository_successful_sync_at is set3512 with the touch_project_repository_state_updated_at FF enabled3513 project_last_updated: Thu, 28 Apr 2022 16:55:04.522883624 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Thu, 28 Apr 2022 16:53:04.522988924 UTC +00:00, expected_out_of_date?: true3514 returns the expected value3515 project_last_updated: Thu, 28 Apr 2022 16:55:04.523014154 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Thu, 28 Apr 2022 16:57:04.523074804 UTC +00:00, expected_out_of_date?: false3516 returns the expected value3517 project_last_updated: Thu, 28 Apr 2022 16:55:04.523094654 UTC +00:00, project_state_last_updated: Thu, 28 Apr 2022 16:58:04.523107234 UTC +00:00, project_registry_last_synced: Thu, 28 Apr 2022 16:57:04.523116144 UTC +00:00, expected_out_of_date?: true3518 returns the expected value3519 project_last_updated: Thu, 28 Apr 2022 16:55:04.523129694 UTC +00:00, project_state_last_updated: Thu, 28 Apr 2022 16:56:04.523141074 UTC +00:00, project_registry_last_synced: Thu, 28 Apr 2022 16:57:04.523157594 UTC +00:00, expected_out_of_date?: false3520 returns the expected value3521 project_last_updated: Thu, 28 Apr 2022 16:55:04.523172434 UTC +00:00, project_state_last_updated: Thu, 28 Apr 2022 16:58:04.523184144 UTC +00:00, project_registry_last_synced: Thu, 28 Apr 2022 16:53:04.523191744 UTC +00:00, expected_out_of_date?: true3522 returns the expected value3523 with the touch_project_repository_state_updated_at FF disabled3524 project_last_updated: Thu, 28 Apr 2022 16:55:04.527740343 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Thu, 28 Apr 2022 16:53:04.527784603 UTC +00:00, expected_out_of_date?: true3525 returns the expected value3526 project_last_updated: Thu, 28 Apr 2022 16:55:04.527801983 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Thu, 28 Apr 2022 16:57:04.527820933 UTC +00:00, expected_out_of_date?: false3527 returns the expected value3528 project_last_updated: Thu, 28 Apr 2022 16:55:04.527835373 UTC +00:00, project_state_last_updated: Thu, 28 Apr 2022 16:58:04.527846913 UTC +00:00, project_registry_last_synced: Thu, 28 Apr 2022 16:57:04.527854123 UTC +00:00, expected_out_of_date?: false3529 returns the expected value3530 project_last_updated: Thu, 28 Apr 2022 16:55:04.527866613 UTC +00:00, project_state_last_updated: Thu, 28 Apr 2022 16:56:04.527877893 UTC +00:00, project_registry_last_synced: Thu, 28 Apr 2022 16:57:04.527892413 UTC +00:00, expected_out_of_date?: false3531 returns the expected value3532 project_last_updated: Thu, 28 Apr 2022 16:55:04.527904623 UTC +00:00, project_state_last_updated: Thu, 28 Apr 2022 16:58:04.527915283 UTC +00:00, project_registry_last_synced: Thu, 28 Apr 2022 16:53:04.527922453 UTC +00:00, expected_out_of_date?: true3533 returns the expected value3534 #repository_sync_due?3535 last_synced_at: nil, resync: false, retry_at: nil, expected: true3536 is expected to eq true3537 last_synced_at: nil, resync: true, retry_at: nil, expected: true3538 is expected to eq true3539 last_synced_at: nil, resync: true, retry_at: Wed, 28 Apr 2021 16:58:04.532599202 UTC +00:00, expected: true3540 is expected to eq true3541 last_synced_at: nil, resync: true, retry_at: Fri, 28 Apr 2023 16:58:04.532599202 UTC +00:00, expected: true3542 is expected to eq true3543 last_synced_at: Wed, 28 Apr 2021 16:58:04.532599202 UTC +00:00, resync: false, retry_at: nil, expected: false3544 is expected to eq false3545 last_synced_at: Wed, 28 Apr 2021 16:58:04.532599202 UTC +00:00, resync: true, retry_at: nil, expected: true3546 is expected to eq true3547 last_synced_at: Wed, 28 Apr 2021 16:58:04.532599202 UTC +00:00, resync: true, retry_at: Wed, 28 Apr 2021 16:58:04.532599202 UTC +00:00, expected: true3548 is expected to eq true3549 last_synced_at: Wed, 28 Apr 2021 16:58:04.532599202 UTC +00:00, resync: true, retry_at: Fri, 28 Apr 2023 16:58:04.532599202 UTC +00:00, expected: false3550 is expected to eq false3551 last_synced_at: Fri, 28 Apr 2023 16:58:04.532599202 UTC +00:00, resync: false, retry_at: nil, expected: false3552 is expected to eq false3553 last_synced_at: Fri, 28 Apr 2023 16:58:04.532599202 UTC +00:00, resync: true, retry_at: nil, expected: false3554 is expected to eq false3555 last_synced_at: Fri, 28 Apr 2023 16:58:04.532599202 UTC +00:00, resync: true, retry_at: Wed, 28 Apr 2021 16:58:04.532599202 UTC +00:00, expected: false3556 is expected to eq false3557 last_synced_at: Fri, 28 Apr 2023 16:58:04.532599202 UTC +00:00, resync: true, retry_at: Fri, 28 Apr 2023 16:58:04.532599202 UTC +00:00, expected: false3558 is expected to eq false3559 #wiki_sync_due?3560 last_synced_at: nil, resync: false, retry_at: nil, expected: true3561 is expected to eq true3562 last_synced_at: nil, resync: true, retry_at: nil, expected: true3563 is expected to eq true3564 last_synced_at: nil, resync: true, retry_at: Wed, 28 Apr 2021 16:58:04.541052771 UTC +00:00, expected: true3565 is expected to eq true3566 last_synced_at: nil, resync: true, retry_at: Fri, 28 Apr 2023 16:58:04.541052771 UTC +00:00, expected: true3567 is expected to eq true3568 last_synced_at: Wed, 28 Apr 2021 16:58:04.541052771 UTC +00:00, resync: false, retry_at: nil, expected: false3569 is expected to eq false3570 last_synced_at: Wed, 28 Apr 2021 16:58:04.541052771 UTC +00:00, resync: true, retry_at: nil, expected: true3571 is expected to eq true3572 last_synced_at: Wed, 28 Apr 2021 16:58:04.541052771 UTC +00:00, resync: true, retry_at: Wed, 28 Apr 2021 16:58:04.541052771 UTC +00:00, expected: true3573 is expected to eq true3574 last_synced_at: Wed, 28 Apr 2021 16:58:04.541052771 UTC +00:00, resync: true, retry_at: Fri, 28 Apr 2023 16:58:04.541052771 UTC +00:00, expected: false3575 is expected to eq false3576 last_synced_at: Fri, 28 Apr 2023 16:58:04.541052771 UTC +00:00, resync: false, retry_at: nil, expected: false3577 is expected to eq false3578 last_synced_at: Fri, 28 Apr 2023 16:58:04.541052771 UTC +00:00, resync: true, retry_at: nil, expected: false3579 is expected to eq false3580 last_synced_at: Fri, 28 Apr 2023 16:58:04.541052771 UTC +00:00, resync: true, retry_at: Wed, 28 Apr 2021 16:58:04.541052771 UTC +00:00, expected: false3581 is expected to eq false3582 last_synced_at: Fri, 28 Apr 2023 16:58:04.541052771 UTC +00:00, resync: true, retry_at: Fri, 28 Apr 2023 16:58:04.541052771 UTC +00:00, expected: false3583 is expected to eq false3584 redis shared state3585 #syncs_since_gc3586 without any sync3587 returns 03588 with a number of syncs3589 returns the number of syncs3590 #increment_syncs_since_gc3591 increments the number of syncs since the last GC3592 #reset_syncs_since_gc3593 resets the number of syncs since the last GC3594 #start_sync!3595 for a repository3596 sets last_repository_synced_at to now3597 when repository_retry_count is nil3598 sets repository_retry_count to 03599 for a wiki3600 sets last_wiki_synced_at to now3601 when wiki_retry_count is nil3602 sets wiki_retry_count to 03603 #finish_sync!3604 for a repository3605 sets last_repository_successful_sync_at to now3606 resets sync state3607 resets verification state3608 does not reset repository_verification_retry_count3609 when a repository was missing on primary3610 sets repository_missing_on_primary as true3611 when a repository sync was scheduled after the last sync began3612 does not reset resync_repository3613 resets the other sync state fields3614 resets the verification state3615 does not reset repository_verification_retry_count3616 for a wiki3617 sets last_wiki_successful_sync_at to now3618 resets sync state3619 resets verification state3620 does not reset wiki_verification_retry_count3621 when a wiki was missing on primary3622 sets wiki_missing_on_primary as true3623 when a wiki sync was scheduled after the last sync began3624 does not reset resync_wiki3625 resets the other sync state fields3626 resets the verification state3627 does not reset wiki_verification_retry_count3628 #fail_sync!3629 for a repository3630 sets repository_retry_at to a future time3631 ensures repository_retry_at is capped at one hour3632 sets resync_repository to true3633 includes message in last_repository_sync_failure3634 includes error message in last_repository_sync_failure3635 increments repository_retry_count3636 optionally updates other attributes3637 when repository_retry_count is 03638 increments repository_retry_count3639 when repository_retry_count is 13640 increments repository_retry_count3641 for a wiki3642 sets wiki_retry_at to a future time3643 ensures wiki_retry_at is capped at one hour3644 sets resync_wiki to true3645 includes message in last_wiki_sync_failure3646 includes error message in last_wiki_sync_failure3647 increments wiki_retry_count3648 optionally updates other attributes3649 when wiki_retry_count is 03650 increments wiki_retry_count3651 when wiki_retry_count is 13652 increments wiki_retry_count3653 #repository_created!3654 sets resync_repository to true3655 when the RepositoryCreatedEvent wiki_path is present3656 sets resync_wiki to true3657 when the RepositoryCreatedEvent wiki_path is blank3658 sets resync_wiki to false3659 #repository_updated!3660 for a repository3661 resets sync state3662 resets verification state3663 for a wiki3664 resets sync state3665 resets verification state3666 #reset_checksum!3667 resets repository/wiki verification state3668 #repository_verification_pending?3669 returns true when outdated3670 returns true when we are missing checksum sha3671 returns false when checksum is present3672 #wiki_verification_pending?3673 returns true when outdated3674 returns true when we are missing checksum sha3675 returns false when checksum is present3676 pending_verification?3677 returns true when either wiki or repository verification is pending3678 returns false when both wiki and repository verification is present3679 pending_synchronization?3680 returns true when either wiki or repository synchronization is pending3681 returns false when both wiki and repository synchronization is present3682 #flag_repository_for_reverify!3683 modified record to a reverify state3684 #flag_repository_for_resync!3685 modified record to a resync state3686 #flag_repository_for_redownload!3687 modified record to a redownload state3688 #candidate_for_redownload?3689 returns false when repository_retry_count is 1 or less3690 returns true when repository_retry_count is > 13691 #synchronization_state3692 returns :never when no attempt to sync has ever been done3693 returns :failed when there is an existing error logged3694 returns :pending when there is an existing error logged3695 returns :synced when its fully synced and there is no pending action or existing error3696 repository_has_successfully_synced?3697 when repository has never successfully synced3698 returns false3699 when repository has successfully synced3700 returns true3701 should_be_redownloaded?3702 when type is invalid3703 raises ArgumentError3704 when type is repository3705 force_to_redownload_repository: false, repository_retry_count: nil, expected: false3706 returns the expected boolean3707 force_to_redownload_repository: false, repository_retry_count: 0, expected: false3708 returns the expected boolean3709 force_to_redownload_repository: false, repository_retry_count: 1, expected: false3710 returns the expected boolean3711 force_to_redownload_repository: false, repository_retry_count: 10, expected: false3712 returns the expected boolean3713 force_to_redownload_repository: false, repository_retry_count: 11, expected: true3714 returns the expected boolean3715 force_to_redownload_repository: false, repository_retry_count: 12, expected: false3716 returns the expected boolean3717 force_to_redownload_repository: false, repository_retry_count: 13, expected: true3718 returns the expected boolean3719 force_to_redownload_repository: false, repository_retry_count: 14, expected: false3720 returns the expected boolean3721 force_to_redownload_repository: false, repository_retry_count: 101, expected: true3722 returns the expected boolean3723 force_to_redownload_repository: false, repository_retry_count: 102, expected: false3724 returns the expected boolean3725 force_to_redownload_repository: true, repository_retry_count: nil, expected: true3726 returns the expected boolean3727 force_to_redownload_repository: true, repository_retry_count: 0, expected: true3728 returns the expected boolean3729 force_to_redownload_repository: true, repository_retry_count: 11, expected: true3730 returns the expected boolean3731 when type is wiki3732 force_to_redownload_wiki: false, wiki_retry_count: nil, expected: false3733 returns the expected boolean3734 force_to_redownload_wiki: false, wiki_retry_count: 0, expected: false3735 returns the expected boolean3736 force_to_redownload_wiki: false, wiki_retry_count: 1, expected: false3737 returns the expected boolean3738 force_to_redownload_wiki: false, wiki_retry_count: 10, expected: false3739 returns the expected boolean3740 force_to_redownload_wiki: false, wiki_retry_count: 11, expected: true3741 returns the expected boolean3742 force_to_redownload_wiki: false, wiki_retry_count: 12, expected: false3743 returns the expected boolean3744 force_to_redownload_wiki: false, wiki_retry_count: 13, expected: true3745 returns the expected boolean3746 force_to_redownload_wiki: false, wiki_retry_count: 14, expected: false3747 returns the expected boolean3748 force_to_redownload_wiki: false, wiki_retry_count: 101, expected: true3749 returns the expected boolean3750 force_to_redownload_wiki: false, wiki_retry_count: 102, expected: false3751 returns the expected boolean3752 force_to_redownload_wiki: true, wiki_retry_count: nil, expected: true3753 returns the expected boolean3754 force_to_redownload_wiki: true, wiki_retry_count: 0, expected: true3755 returns the expected boolean3756 force_to_redownload_wiki: true, wiki_retry_count: 11, expected: true3757 returns the expected boolean3758Geo::TerraformStateVersionRegistry3759 factory is valid3760 scopes3761 sync_timed_out3762 return correct records3763 finders3764 .find_registries_never_attempted_sync3765 returns unsynced items3766 returns items that never have an attempt to sync except some specific item ID3767 .find_registries_needs_sync_again3768 returns failed items3769 returns failed items except some specific item ID3770 orders records according to retry_at3771 .fail_sync_timeouts3772 marks started records as failed if they are expired3773 #failed!3774 sets last_sync_failure with message3775 truncates a long last_sync_failure3776 increments retry_count3777 sets retry_at to a time in the future3778 when an error is given3779 includes error.message in last_sync_failure3780 when missing_on_primary is not given3781 caps retry_at to default 1 hour3782 when missing_on_primary is falsey3783 caps retry_at to default 1 hour3784 when missing_on_primary is truthy3785 caps retry_at to 4 hours3786 state machine3787 when transitioning to synced3788 marks verification as pending3789 band-aid for GitLab managed object storage replication verification loop3790 when the model_record will never be checksummed on the primary3791 when the registry is already verification_succeeded3792 leaves verification as succeeded3793 when the registry is verification_pending3794 changes verification to succeeded3795 verification_state machine3796 when transitioning to verification_failed3797 changes state from synced to failed3798 .verification_pending_batch3799 returns IDs of rows which are synced and pending verification3800 excludes rows which are not synced or are not pending verification3801 marks verification as started3802 .verification_failed_batch3803 with a failed record with retry due3804 returns IDs of rows which are synced and have failed verification3805 excludes rows which are not synced or have not failed verification3806 marks verification as started3807 when verification_retry_at is in the future3808 does not return the row which failed verification3809 .needs_verification_count3810 returns the number of rows which are synced and pending verification3811 includes rows which are synced and failed verification and are due for retry3812 excludes rows which are synced and failed verification and have a future retry time3813 excludes rows which are not synced or are not (pending or failed) verification3814 #verification_succeeded!3815 clears checksum mismatch fields3816 #track_checksum_attempt!3817 yields to the checksum calculation3818 when verification was not yet started3819 starts verification3820 when the model record will never be checksummed on the primary3821 when the registry is already verification_succeeded3822 leaves verification as succeeded3823 when the registry is verification_pending3824 changes verification to succeeded3825 when the primary site is expected to checksum the model record3826 comparison with primary checksum3827 when the calculated checksum matches the primary checksum3828 transitions to verification_succeeded and updates the checksum3829 when the calculated checksum does not match the primary checksum3830 transitions to verification_failed and updates mismatch fields3831 when verification was started3832 does not update verification_started_at3833 when an error occurs while yielding3834 sets verification_failed3835Geo::JobArtifactReplicator3836 invokes replicator.handle_after_create_commit on create3837 behaves like a replicator3838 Geo node status3839 on a secondary node3840 .synced_count3841 returns the number of synced items on secondary3842 .failed_count3843 returns the number of failed items on secondary3844 #replicator3845 is defined and does not raise error3846 .replicables_for_current_secondary3847 when syncing object storage is enabled3848 behaves like is implemented and returns a valid relation3849 is implemented3850 when syncing object storage is disabled3851 behaves like is implemented and returns a valid relation3852 is implemented3853 with selective sync disabled3854 behaves like is implemented and returns a valid relation3855 is implemented3856 with selective sync enabled for namespaces3857 behaves like is implemented and returns a valid relation3858 is implemented3859 with selective sync enabled for shards3860 behaves like is implemented and returns a valid relation3861 is implemented3862 #handle_after_create_commit3863 creates a Geo::Event3864 calls #after_verifiable_update3865 when replication feature flag is disabled3866 does not call #after_verifiable_update3867 does not publish3868 #handle_after_destroy3869 creates a Geo::Event3870 when replication feature flag is disabled3871 does not publish3872 created event consumption3873 when the blob's project is in replicables for this geo node3874 invokes Geo::BlobDownloadService3875 when the blob's project is not in replicables for this geo node3876 does not invoke Geo::BlobDownloadService3877 deleted event consumption3878 when model_record was deleted from the DB and the replicator only has its ID3879 invokes Geo::FileRegistryRemovalService3880 backward compatibility3881 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format3882 #carrierwave_uploader3883 is implemented3884 #model3885 is implemented3886 is a Class3887 #blob_path3888 when the file is locally stored3889 returns a valid path to a file3890 #calculate_checksum3891 when the file is locally stored3892 when the file exists3893 returns hexdigest of the file3894 when the file does not exist3895 raises an error3896 when the file is remotely stored3897 raises an error3898 #file_exists?3899 is expected to be truthy3900 when the file does not exist3901 is expected to be falsey3902 when the file is nil3903 is expected to be falsey3904 .bulk_create_delete_events_async3905 creates events3906 raises error when model_record_id is nil3907 events3908 has checksum_succeeded event3909 .verification_enabled?3910 when replication is enabled3911 when verification_feature_flag_enabled? returns true3912 returns true3913 when verification_feature_flag_enabled? returns false3914 returns false3915 when replication is disabled3916 returns false3917 .checksummed_count3918 when verification is enabled3919 returns the number of available verifiables where verification succeeded3920 excludes non-success verification states3921 when verification is disabled3922 returns nil3923 .checksum_failed_count3924 when verification is enabled3925 returns the number of available verifiables where verification failed3926 excludes other verification states3927 when verification is disabled3928 returns nil3929 .trigger_background_verification3930 when verification is enabled3931 enqueues VerificationBatchWorker3932 enqueues VerificationTimeoutWorker3933 enqueues VerificationStateBackfillWorker3934 for a Geo secondary3935 does not enqueue ReverificationBatchWorker3936 for a Geo primary3937 enqueues ReverificationBatchWorker3938 when verification is disabled3939 does not enqueue VerificationBatchWorker3940 does not enqueue VerificationTimeoutWorker3941 .backfill_verification_state_table3942 calls VerificationStateBackfillService3943 when on secondary3944 returns false3945 .verify_batch3946 when there are records needing verification3947 calls #verify on each replicator3948 .remaining_verification_batch_count3949 converts needs_verification_count to number of batches3950 .remaining_reverification_batch_count3951 converts needs_reverification_count to number of batches3952 .reverify_batch!3953 calls #reverify_batch3954 .replicator_batch_to_verify3955 returns usable Replicator instances3956 .model_record_id_batch_to_verify3957 when the batch is filled by pending rows3958 returns IDs of pending rows3959 does not call .verification_failed_batch3960 when that batch is not filled by pending rows3961 includes IDs of failed rows3962 .verification_pending_batch3963 when current node is a primary3964 delegates to the model class of the replicator3965 when current node is a secondary3966 delegates to the registry class of the replicator3967 .verification_failed_batch3968 when current node is a primary3969 delegates to the model class of the replicator3970 when current node is a secondary3971 delegates to the registry class of the replicator3972 .fail_verification_timeouts3973 when current node is a primary3974 delegates to the model class of the replicator3975 when current node is a secondary3976 delegates to the registry class of the replicator3977 #after_verifiable_update3978 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true3979 calls verify_async only if needed3980 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3981 calls verify_async only if needed3982 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3983 calls verify_async only if needed3984 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3985 calls verify_async only if needed3986 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true3987 calls verify_async only if needed3988 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3989 calls verify_async only if needed3990 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true3991 calls verify_async only if needed3992 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3993 calls verify_async only if needed3994 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false3995 calls verify_async only if needed3996 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3997 calls verify_async only if needed3998 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3999 calls verify_async only if needed4000 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false4001 calls verify_async only if needed4002 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false4003 calls verify_async only if needed4004 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false4005 calls verify_async only if needed4006 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false4007 calls verify_async only if needed4008 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false4009 calls verify_async only if needed4010 #verify_async4011 on a Geo primary4012 calls verification_started! and enqueues VerificationWorker4013 #verify4014 wraps the checksum calculation in track_checksum_attempt!4015 #verification_state_tracker4016 on a Geo primary4017 returns model_record4018 on a Geo secondary4019 returns registry4020 #handle_after_checksum_succeeded4021 on a Geo primary4022 creates checksum_succeeded event4023 is called on verification success4024 on a Geo secondary4025 does not create an event4026 #consume_event_checksum_succeeded4027 with a persisted model_record4028 on a Geo primary4029 does nothing4030 on a Geo secondary4031 with a persisted registry4032 with a registry which is verified4033 sets state to verification_pending4034 with a registry which is pending verification4035 does not change state from verification_pending4036 with an unpersisted registry4037 does not persist the registry4038 #will_never_be_checksummed_on_the_primary?4039 when the model record is not in available_verifiables4040 returns true4041 when the model record is in available_verifiables4042 returns false4043 integration tests4044 on a primary4045 background backfill4046 verifies model records4047 triggered by events4048 verifies model records4049 on a secondary4050 background backfill4051 verifies registries4052 triggered by events4053 verifies registries4054Geo::PackageFileRegistry4055 behaves like a BulkInsertSafe model4056 when calling class methods directly4057 raises an error when method is not bulk-insert safe4058 does not raise an error when method is bulk-insert safe4059 .bulk_insert!4060 when all items are valid4061 inserts them all4062 returns an empty array4063 when some items are invalid4064 does not insert any of them and raises an error4065 inserts them anyway when bypassing validations4066 scopes4067 sync_timed_out4068 return correct records4069 finders4070 .find_registries_never_attempted_sync4071 returns unsynced items4072 returns items that never have an attempt to sync except some specific item ID4073 .find_registries_needs_sync_again4074 returns failed items4075 returns failed items except some specific item ID4076 orders records according to retry_at4077 .fail_sync_timeouts4078 marks started records as failed if they are expired4079 #failed!4080 sets last_sync_failure with message4081 truncates a long last_sync_failure4082 increments retry_count4083 sets retry_at to a time in the future4084 when an error is given4085 includes error.message in last_sync_failure4086 when missing_on_primary is not given4087 caps retry_at to default 1 hour4088 when missing_on_primary is falsey4089 caps retry_at to default 1 hour4090 when missing_on_primary is truthy4091 caps retry_at to 4 hours4092 state machine4093 when transitioning to synced4094 marks verification as pending4095 band-aid for GitLab managed object storage replication verification loop4096 when the model_record will never be checksummed on the primary4097 when the registry is already verification_succeeded4098 leaves verification as succeeded4099 when the registry is verification_pending4100 changes verification to succeeded4101 verification_state machine4102 when transitioning to verification_failed4103 changes state from synced to failed4104 .verification_pending_batch4105 returns IDs of rows which are synced and pending verification4106 excludes rows which are not synced or are not pending verification4107 marks verification as started4108 .verification_failed_batch4109 with a failed record with retry due4110 returns IDs of rows which are synced and have failed verification4111 excludes rows which are not synced or have not failed verification4112 marks verification as started4113 when verification_retry_at is in the future4114 does not return the row which failed verification4115 .needs_verification_count4116 returns the number of rows which are synced and pending verification4117 includes rows which are synced and failed verification and are due for retry4118 excludes rows which are synced and failed verification and have a future retry time4119 excludes rows which are not synced or are not (pending or failed) verification4120 #verification_succeeded!4121 clears checksum mismatch fields4122 #track_checksum_attempt!4123 yields to the checksum calculation4124 when verification was not yet started4125 starts verification4126 when the model record will never be checksummed on the primary4127 when the registry is already verification_succeeded4128 leaves verification as succeeded4129 when the registry is verification_pending4130 changes verification to succeeded4131 when the primary site is expected to checksum the model record4132 comparison with primary checksum4133 when the calculated checksum matches the primary checksum4134 transitions to verification_succeeded and updates the checksum4135 when the calculated checksum does not match the primary checksum4136 transitions to verification_failed and updates mismatch fields4137 when verification was started4138 does not update verification_started_at4139 when an error occurs while yielding4140 sets verification_failed4141 .find_registry_differences4142 with selective sync disabled4143 finds unused and untracked items4144 with selective sync by shard4145 finds unused and untracked items4146 with selective sync by namespace4147 finds unused and untracked items4148Geo::PagesDeploymentReplicator4149 invokes replicator.handle_after_create_commit on create4150 behaves like a replicator4151 Geo node status4152 on a secondary node4153 .synced_count4154 returns the number of synced items on secondary4155 .failed_count4156 returns the number of failed items on secondary4157 #replicator4158 is defined and does not raise error4159 .replicables_for_current_secondary4160 when syncing object storage is enabled4161 behaves like is implemented and returns a valid relation4162 is implemented4163 when syncing object storage is disabled4164 behaves like is implemented and returns a valid relation4165 is implemented4166 with selective sync disabled4167 behaves like is implemented and returns a valid relation4168 is implemented4169 with selective sync enabled for namespaces4170 behaves like is implemented and returns a valid relation4171 is implemented4172 with selective sync enabled for shards4173 behaves like is implemented and returns a valid relation4174 is implemented4175 #handle_after_create_commit4176 creates a Geo::Event4177 calls #after_verifiable_update4178 when replication feature flag is disabled4179 does not call #after_verifiable_update4180 does not publish4181 #handle_after_destroy4182 creates a Geo::Event4183 when replication feature flag is disabled4184 does not publish4185 created event consumption4186 when the blob's project is in replicables for this geo node4187 invokes Geo::BlobDownloadService4188 when the blob's project is not in replicables for this geo node4189 does not invoke Geo::BlobDownloadService4190 deleted event consumption4191 when model_record was deleted from the DB and the replicator only has its ID4192 invokes Geo::FileRegistryRemovalService4193 backward compatibility4194 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format4195 #carrierwave_uploader4196 is implemented4197 #model4198 is implemented4199 is a Class4200 #blob_path4201 when the file is locally stored4202 returns a valid path to a file4203 #calculate_checksum4204 when the file is locally stored4205 when the file exists4206 returns hexdigest of the file4207 when the file does not exist4208 raises an error4209 when the file is remotely stored4210 raises an error4211 #file_exists?4212 is expected to be truthy4213 when the file does not exist4214 is expected to be falsey4215 when the file is nil4216 is expected to be falsey4217 .bulk_create_delete_events_async4218 creates events4219 raises error when model_record_id is nil4220 events4221 has checksum_succeeded event4222 .verification_enabled?4223 when replication is enabled4224 when verification_feature_flag_enabled? returns true4225 returns true4226 when verification_feature_flag_enabled? returns false4227 returns false4228 when replication is disabled4229 returns false4230 .checksummed_count4231 when verification is enabled4232 returns the number of available verifiables where verification succeeded4233 excludes non-success verification states4234 when verification is disabled4235 returns nil4236 .checksum_failed_count4237 when verification is enabled4238 returns the number of available verifiables where verification failed4239 excludes other verification states4240 when verification is disabled4241 returns nil4242 .trigger_background_verification4243 when verification is enabled4244 enqueues VerificationBatchWorker4245 enqueues VerificationTimeoutWorker4246 enqueues VerificationStateBackfillWorker4247 for a Geo secondary4248 does not enqueue ReverificationBatchWorker4249 for a Geo primary4250 enqueues ReverificationBatchWorker4251 when verification is disabled4252 does not enqueue VerificationBatchWorker4253 does not enqueue VerificationTimeoutWorker4254 .backfill_verification_state_table4255 calls VerificationStateBackfillService4256 when on secondary4257 returns false4258 .verify_batch4259 when there are records needing verification4260 calls #verify on each replicator4261 .remaining_verification_batch_count4262 converts needs_verification_count to number of batches4263 .remaining_reverification_batch_count4264 converts needs_reverification_count to number of batches4265 .reverify_batch!4266 calls #reverify_batch4267 .replicator_batch_to_verify4268 returns usable Replicator instances4269 .model_record_id_batch_to_verify4270 when the batch is filled by pending rows4271 returns IDs of pending rows4272 does not call .verification_failed_batch4273 when that batch is not filled by pending rows4274 includes IDs of failed rows4275 .verification_pending_batch4276 when current node is a primary4277 delegates to the model class of the replicator4278 when current node is a secondary4279 delegates to the registry class of the replicator4280 .verification_failed_batch4281 when current node is a primary4282 delegates to the model class of the replicator4283 when current node is a secondary4284 delegates to the registry class of the replicator4285 .fail_verification_timeouts4286 when current node is a primary4287 delegates to the model class of the replicator4288 when current node is a secondary4289 delegates to the registry class of the replicator4290 #after_verifiable_update4291 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true4292 calls verify_async only if needed4293 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false4294 calls verify_async only if needed4295 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false4296 calls verify_async only if needed4297 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false4298 calls verify_async only if needed4299 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true4300 calls verify_async only if needed4301 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false4302 calls verify_async only if needed4303 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true4304 calls verify_async only if needed4305 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false4306 calls verify_async only if needed4307 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false4308 calls verify_async only if needed4309 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false4310 calls verify_async only if needed4311 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false4312 calls verify_async only if needed4313 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false4314 calls verify_async only if needed4315 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false4316 calls verify_async only if needed4317 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false4318 calls verify_async only if needed4319 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false4320 calls verify_async only if needed4321 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false4322 calls verify_async only if needed4323 #verify_async4324 on a Geo primary4325 calls verification_started! and enqueues VerificationWorker4326 #verify4327 wraps the checksum calculation in track_checksum_attempt!4328 #verification_state_tracker4329 on a Geo primary4330 returns model_record4331 on a Geo secondary4332 returns registry4333 #handle_after_checksum_succeeded4334 on a Geo primary4335 creates checksum_succeeded event4336 is called on verification success4337 on a Geo secondary4338 does not create an event4339 #consume_event_checksum_succeeded4340 with a persisted model_record4341 on a Geo primary4342 does nothing4343 on a Geo secondary4344 with a persisted registry4345 with a registry which is verified4346 sets state to verification_pending4347 with a registry which is pending verification4348 does not change state from verification_pending4349 with an unpersisted registry4350 does not persist the registry4351 #will_never_be_checksummed_on_the_primary?4352 when the model record is not in available_verifiables4353 returns true4354 when the model record is in available_verifiables4355 returns false4356 integration tests4357 on a primary4358 background backfill4359 verifies model records4360 triggered by events4361 verifies model records4362 on a secondary4363 background backfill4364 verifies registries4365 triggered by events4366 verifies registries4367Geo::UploadRegistry4368 factory is valid4369 scopes4370 sync_timed_out4371 return correct records4372 finders4373 .find_registries_never_attempted_sync4374 returns unsynced items4375 returns items that never have an attempt to sync except some specific item ID4376 .find_registries_needs_sync_again4377 returns failed items4378 returns failed items except some specific item ID4379 orders records according to retry_at4380 .fail_sync_timeouts4381 marks started records as failed if they are expired4382 #failed!4383 sets last_sync_failure with message4384 truncates a long last_sync_failure4385 increments retry_count4386 sets retry_at to a time in the future4387 when an error is given4388 includes error.message in last_sync_failure4389 when missing_on_primary is not given4390 caps retry_at to default 1 hour4391 when missing_on_primary is falsey4392 caps retry_at to default 1 hour4393 when missing_on_primary is truthy4394 caps retry_at to 4 hours4395 state machine4396 when transitioning to synced4397 marks verification as pending4398 band-aid for GitLab managed object storage replication verification loop4399 when the model_record will never be checksummed on the primary4400 when the registry is already verification_succeeded4401 leaves verification as succeeded4402 when the registry is verification_pending4403 changes verification to succeeded4404 verification_state machine4405 when transitioning to verification_failed4406 changes state from synced to failed4407 .verification_pending_batch4408 returns IDs of rows which are synced and pending verification4409 excludes rows which are not synced or are not pending verification4410 marks verification as started4411 .verification_failed_batch4412 with a failed record with retry due4413 returns IDs of rows which are synced and have failed verification4414 excludes rows which are not synced or have not failed verification4415 marks verification as started4416 when verification_retry_at is in the future4417 does not return the row which failed verification4418 .needs_verification_count4419 returns the number of rows which are synced and pending verification4420 includes rows which are synced and failed verification and are due for retry4421 excludes rows which are synced and failed verification and have a future retry time4422 excludes rows which are not synced or are not (pending or failed) verification4423 #verification_succeeded!4424 clears checksum mismatch fields4425 #track_checksum_attempt!4426 yields to the checksum calculation4427 when verification was not yet started4428 starts verification4429 when the model record will never be checksummed on the primary4430 when the registry is already verification_succeeded4431 leaves verification as succeeded4432 when the registry is verification_pending4433 changes verification to succeeded4434 when the primary site is expected to checksum the model record4435 comparison with primary checksum4436 when the calculated checksum matches the primary checksum4437 transitions to verification_succeeded and updates the checksum4438 when the calculated checksum does not match the primary checksum4439 transitions to verification_failed and updates mismatch fields4440 when verification was started4441 does not update verification_started_at4442 when an error occurs while yielding4443 sets verification_failed4444Geo::SnippetRepositoryReplicator4445 invokes replicator.handle_after_create_commit on create4446 behaves like a replicator4447 Geo node status4448 on a secondary node4449 .synced_count4450 returns the number of synced items on secondary4451 .failed_count4452 returns the number of failed items on secondary4453 #replicator4454 is defined and does not raise error4455 .replicables_for_current_secondary4456 when syncing object storage is enabled4457 behaves like is implemented and returns a valid relation4458 is implemented4459 when syncing object storage is disabled4460 behaves like is implemented and returns a valid relation4461 is implemented4462 with selective sync disabled4463 behaves like is implemented and returns a valid relation4464 is implemented4465 with selective sync enabled for namespaces4466 behaves like is implemented and returns a valid relation4467 is implemented4468 with selective sync enabled for shards4469 behaves like is implemented and returns a valid relation4470 is implemented4471 #handle_after_update4472 creates a Geo::Event4473 when replication feature flag is disabled4474 does not publish4475 #handle_after_destroy4476 creates a Geo::Event4477 when replication feature flag is disabled4478 does not publish4479 updated event consumption4480 in replicables_for_current_secondary list4481 runs Geo::FrameworkRepositorySyncService service4482 not in replicables_for_current_secondary list4483 does not run Geo::FrameworkRepositorySyncService service4484 deleted event consumption4485 runs Geo::RepositoryRegistryRemovalService service4486 .git_access_class4487 is implemented4488 .no_repo_message4489 is implemented4490 #model4491 is implemented4492 is a Class4493 behaves like a verifiable replicator4494 events4495 has checksum_succeeded event4496 .verification_enabled?4497 when replication is enabled4498 when verification_feature_flag_enabled? returns true4499 returns true4500 when verification_feature_flag_enabled? returns false4501 returns false4502 when replication is disabled4503 returns false4504 .checksummed_count4505 when verification is enabled4506 returns the number of available verifiables where verification succeeded4507 excludes non-success verification states4508 when verification is disabled4509 returns nil4510 .checksum_failed_count4511 when verification is enabled4512 returns the number of available verifiables where verification failed4513 excludes other verification states4514 when verification is disabled4515 returns nil4516 .trigger_background_verification4517 when verification is enabled4518 enqueues VerificationBatchWorker4519 enqueues VerificationTimeoutWorker4520 enqueues VerificationStateBackfillWorker4521 for a Geo secondary4522 does not enqueue ReverificationBatchWorker4523 for a Geo primary4524 enqueues ReverificationBatchWorker4525 when verification is disabled4526 does not enqueue VerificationBatchWorker4527 does not enqueue VerificationTimeoutWorker4528 .backfill_verification_state_table4529 calls VerificationStateBackfillService4530 when on secondary4531 returns false4532 .verify_batch4533 when there are records needing verification4534 calls #verify on each replicator4535 .remaining_verification_batch_count4536 converts needs_verification_count to number of batches4537 .remaining_reverification_batch_count4538 converts needs_reverification_count to number of batches4539 .reverify_batch!4540 calls #reverify_batch4541 .replicator_batch_to_verify4542 returns usable Replicator instances4543 .model_record_id_batch_to_verify4544 when the batch is filled by pending rows4545 returns IDs of pending rows4546 does not call .verification_failed_batch4547 when that batch is not filled by pending rows4548 includes IDs of failed rows4549 .verification_pending_batch4550 when current node is a primary4551 delegates to the model class of the replicator4552 when current node is a secondary4553 delegates to the registry class of the replicator4554 .verification_failed_batch4555 when current node is a primary4556 delegates to the model class of the replicator4557 when current node is a secondary4558 delegates to the registry class of the replicator4559 .fail_verification_timeouts4560 when current node is a primary4561 delegates to the model class of the replicator4562 when current node is a secondary4563 delegates to the registry class of the replicator4564 #after_verifiable_update4565 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true4566 calls verify_async only if needed4567 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false4568 calls verify_async only if needed4569 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false4570 calls verify_async only if needed4571 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false4572 calls verify_async only if needed4573 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true4574 calls verify_async only if needed4575 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false4576 calls verify_async only if needed4577 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true4578 calls verify_async only if needed4579 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false4580 calls verify_async only if needed4581 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false4582 calls verify_async only if needed4583 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false4584 calls verify_async only if needed4585 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false4586 calls verify_async only if needed4587 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false4588 calls verify_async only if needed4589 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false4590 calls verify_async only if needed4591 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false4592 calls verify_async only if needed4593 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false4594 calls verify_async only if needed4595 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false4596 calls verify_async only if needed4597 #verify_async4598 on a Geo primary4599 calls verification_started! and enqueues VerificationWorker4600 #verify4601 wraps the checksum calculation in track_checksum_attempt!4602 #verification_state_tracker4603 on a Geo primary4604 returns model_record4605 on a Geo secondary4606 returns registry4607 #handle_after_checksum_succeeded4608 on a Geo primary4609 creates checksum_succeeded event4610 is called on verification success4611 on a Geo secondary4612 does not create an event4613 #consume_event_checksum_succeeded4614 with a persisted model_record4615 on a Geo primary4616 does nothing4617 on a Geo secondary4618 with a persisted registry4619 with a registry which is verified4620 sets state to verification_pending4621 with a registry which is pending verification4622 does not change state from verification_pending4623 with an unpersisted registry4624 does not persist the registry4625 #will_never_be_checksummed_on_the_primary?4626 when the model record is not in available_verifiables4627 returns true4628 when the model record is in available_verifiables4629 returns false4630 integration tests4631 on a primary4632 background backfill4633 verifies model records4634 triggered by events4635 verifies model records4636 on a secondary4637 background backfill4638 verifies registries4639 triggered by events4640 verifies registries4641 .no_repo_message4642 returns the proper error message for snippet repositories4643geo rake tasks4644 geo:set_primary_node4645 creates a GeoNode4646 geo:set_secondary_as_primary4647 removes primary and sets secondary as primary4648 geo:update_primary_node_url4649 when the machine Geo node name is not explicitly configured4650 updates Geo primary node URL and name4651 when the machine Geo node name is explicitly configured4652 updates Geo primary node URL only4653 geo:status4654 when geo is not properly configured4655Gitlab Geo is not configured for this site4656 returns misconfigured when not a primary nor a secondary site4657 without a valid license4658GitLab Geo is not supported with this license. Please contact the sales team: https://about.gitlab.com/sales.4659 runs with an error4660 with a valid license4661 runs with no error4662 with a healthy node4663 shows status as healthy4664 does not show health status summary4665 with SSF LFS replication eneabled4666 prints messages for all the checks4667 with an unhealthy node4668 shows status as unhealthy4669 shows health status summary4670 geo:site:role4671 returns misconfigured when not a primary nor a secondary site4672 when in a primary site4673 returns primary4674 when in a secondary site4675 returns secondary4676 geo:run_orphaned_project_registry_cleaner4677 removes orphaned registries4678 removes orphaned registries taking into account TO_PROJECT_ID4679 removes orphaned registries taking into account FROM_PROJECT_ID4680Gitlab::Geo::GitSSHProxy4681 instance methods4682 #info_refs_upload_pack4683 against primary node4684 behaves like must be a secondary4685 raises an exception4686 against a secondary node4687 authorization header is scoped4688 passes the scope when .info_refs_upload_pack is called4689 passes the scope when .receive_pack is called4690 with a failed response4691 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4692 has a code of 5004693 has a status of false4694 has a messsage4695 has no result4696 with an invalid response4697 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4698 has a code of 5024699 has a status of false4700 has a messsage4701 has no result4702 with a valid response4703 returns a Gitlab::Geo::GitSSHProxy::APIResponse4704 has a code of 2004705 has a status of true4706 has no messsage4707 returns a modified body4708 #upload_pack4709 against primary node4710 behaves like must be a secondary4711 raises an exception4712 against a secondary node4713 with a failed response4714 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4715 has a messsage4716 has no result4717 with an invalid response4718 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4719 has a messsage4720 has no result4721 with a valid response4722 for a git clone operation4723 returns a Gitlab::Geo::GitSSHProxy::APIResponse4724 has a code of 2014725 has no messsage4726 has a result4727 for a git pull operation4728 returns a Gitlab::Geo::GitSSHProxy::APIResponse4729 has a code of 2014730 has no messsage4731 has a result4732 #info_refs_receive_pack4733 against primary node4734 behaves like must be a secondary4735 raises an exception4736 against secondary node4737 authorization header is scoped4738 passes the scope when .info_refs_receive_pack is called4739 passes the scope when .receive_pack is called4740 with a failed response4741 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4742 has a code of 5004743 has a status of false4744 has a messsage4745 has no result4746 with an invalid response4747 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4748 has a code of 5024749 has a status of false4750 has a messsage4751 has no result4752 with a valid response4753 returns a Gitlab::Geo::GitSSHProxy::APIResponse4754 has a code of 2004755 has a status of true4756 has no messsage4757 returns a modified body4758 #receive_pack4759 against primary node4760 behaves like must be a secondary4761 raises an exception4762 against secondary node4763 with a failed response4764 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4765 has a messsage4766 has no result4767 with an invalid response4768 returns a Gitlab::Geo::GitSSHProxy::FailedAPIResponse4769 has a messsage4770 has no result4771 with a valid response4772 returns a Gitlab::Geo::GitSSHProxy::APIResponse4773 has a code of 2014774 has no messsage4775 has a result4776Geo::PipelineArtifactRegistry4777 factory is valid4778 scopes4779 sync_timed_out4780 return correct records4781 finders4782 .find_registries_never_attempted_sync4783 returns unsynced items4784 returns items that never have an attempt to sync except some specific item ID4785 .find_registries_needs_sync_again4786 returns failed items4787 returns failed items except some specific item ID4788 orders records according to retry_at4789 .fail_sync_timeouts4790 marks started records as failed if they are expired4791 #failed!4792 sets last_sync_failure with message4793 truncates a long last_sync_failure4794 increments retry_count4795 sets retry_at to a time in the future4796 when an error is given4797 includes error.message in last_sync_failure4798 when missing_on_primary is not given4799 caps retry_at to default 1 hour4800 when missing_on_primary is falsey4801 caps retry_at to default 1 hour4802 when missing_on_primary is truthy4803 caps retry_at to 4 hours4804 state machine4805 when transitioning to synced4806 marks verification as pending4807 band-aid for GitLab managed object storage replication verification loop4808 when the model_record will never be checksummed on the primary4809 when the registry is already verification_succeeded4810 leaves verification as succeeded4811 when the registry is verification_pending4812 changes verification to succeeded4813 verification_state machine4814 when transitioning to verification_failed4815 changes state from synced to failed4816 .verification_pending_batch4817 returns IDs of rows which are synced and pending verification4818 excludes rows which are not synced or are not pending verification4819 marks verification as started4820 .verification_failed_batch4821 with a failed record with retry due4822 returns IDs of rows which are synced and have failed verification4823 excludes rows which are not synced or have not failed verification4824 marks verification as started4825 when verification_retry_at is in the future4826 does not return the row which failed verification4827 .needs_verification_count4828 returns the number of rows which are synced and pending verification4829 includes rows which are synced and failed verification and are due for retry4830 excludes rows which are synced and failed verification and have a future retry time4831 excludes rows which are not synced or are not (pending or failed) verification4832 #verification_succeeded!4833 clears checksum mismatch fields4834 #track_checksum_attempt!4835 yields to the checksum calculation4836 when verification was not yet started4837 starts verification4838 when the model record will never be checksummed on the primary4839 when the registry is already verification_succeeded4840 leaves verification as succeeded4841 when the registry is verification_pending4842 changes verification to succeeded4843 when the primary site is expected to checksum the model record4844 comparison with primary checksum4845 when the calculated checksum matches the primary checksum4846 transitions to verification_succeeded and updates the checksum4847 when the calculated checksum does not match the primary checksum4848 transitions to verification_failed and updates mismatch fields4849 when verification was started4850 does not update verification_started_at4851 when an error occurs while yielding4852 sets verification_failed4853Geo::LfsObjectReplicator4854 invokes replicator.handle_after_create_commit on create4855 behaves like a replicator4856 Geo node status4857 on a secondary node4858 .synced_count4859 returns the number of synced items on secondary4860 .failed_count4861 returns the number of failed items on secondary4862 #replicator4863 is defined and does not raise error4864 .replicables_for_current_secondary4865 when syncing object storage is enabled4866 behaves like is implemented and returns a valid relation4867 is implemented4868 when syncing object storage is disabled4869 behaves like is implemented and returns a valid relation4870 is implemented4871 with selective sync disabled4872 behaves like is implemented and returns a valid relation4873 is implemented4874 with selective sync enabled for namespaces4875 behaves like is implemented and returns a valid relation4876 is implemented4877 with selective sync enabled for shards4878 behaves like is implemented and returns a valid relation4879 is implemented4880 #handle_after_create_commit4881 creates a Geo::Event4882 calls #after_verifiable_update4883 when replication feature flag is disabled4884 does not call #after_verifiable_update4885 does not publish4886 #handle_after_destroy4887 creates a Geo::Event4888 when replication feature flag is disabled4889 does not publish4890 created event consumption4891 when the blob's project is in replicables for this geo node4892 invokes Geo::BlobDownloadService4893 when the blob's project is not in replicables for this geo node4894 does not invoke Geo::BlobDownloadService4895 deleted event consumption4896 when model_record was deleted from the DB and the replicator only has its ID4897 invokes Geo::FileRegistryRemovalService4898 backward compatibility4899 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format4900 #carrierwave_uploader4901 is implemented4902 #model4903 is implemented4904 is a Class4905 #blob_path4906 when the file is locally stored4907 returns a valid path to a file4908 #calculate_checksum4909 when the file is locally stored4910 when the file exists4911 returns hexdigest of the file4912 when the file does not exist4913 raises an error4914 when the file is remotely stored4915 raises an error4916 #file_exists?4917 is expected to be truthy4918 when the file does not exist4919 is expected to be falsey4920 when the file is nil4921 is expected to be falsey4922 .bulk_create_delete_events_async4923 creates events4924 raises error when model_record_id is nil4925 events4926 has checksum_succeeded event4927 .verification_enabled?4928 when replication is enabled4929 when verification_feature_flag_enabled? returns true4930 returns true4931 when verification_feature_flag_enabled? returns false4932 returns false4933 when replication is disabled4934 returns false4935 .checksummed_count4936 when verification is enabled4937 returns the number of available verifiables where verification succeeded4938 excludes non-success verification states4939 when verification is disabled4940 returns nil4941 .checksum_failed_count4942 when verification is enabled4943 returns the number of available verifiables where verification failed4944 excludes other verification states4945 when verification is disabled4946 returns nil4947 .trigger_background_verification4948 when verification is enabled4949 enqueues VerificationBatchWorker4950 enqueues VerificationTimeoutWorker4951 enqueues VerificationStateBackfillWorker4952 for a Geo secondary4953 does not enqueue ReverificationBatchWorker4954 for a Geo primary4955 enqueues ReverificationBatchWorker4956 when verification is disabled4957 does not enqueue VerificationBatchWorker4958 does not enqueue VerificationTimeoutWorker4959 .backfill_verification_state_table4960 calls VerificationStateBackfillService4961 when on secondary4962 returns false4963 .verify_batch4964 when there are records needing verification4965 calls #verify on each replicator4966 .remaining_verification_batch_count4967 converts needs_verification_count to number of batches4968 .remaining_reverification_batch_count4969 converts needs_reverification_count to number of batches4970 .reverify_batch!4971 calls #reverify_batch4972 .replicator_batch_to_verify4973 returns usable Replicator instances4974 .model_record_id_batch_to_verify4975 when the batch is filled by pending rows4976 returns IDs of pending rows4977 does not call .verification_failed_batch4978 when that batch is not filled by pending rows4979 includes IDs of failed rows4980 .verification_pending_batch4981 when current node is a primary4982 delegates to the model class of the replicator4983 when current node is a secondary4984 delegates to the registry class of the replicator4985 .verification_failed_batch4986 when current node is a primary4987 delegates to the model class of the replicator4988 when current node is a secondary4989 delegates to the registry class of the replicator4990 .fail_verification_timeouts4991 when current node is a primary4992 delegates to the model class of the replicator4993 when current node is a secondary4994 delegates to the registry class of the replicator4995 #after_verifiable_update4996 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true4997 calls verify_async only if needed4998 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false4999 calls verify_async only if needed5000 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false5001 calls verify_async only if needed5002 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false5003 calls verify_async only if needed5004 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true5005 calls verify_async only if needed5006 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false5007 calls verify_async only if needed5008 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true5009 calls verify_async only if needed5010 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false5011 calls verify_async only if needed5012 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false5013 calls verify_async only if needed5014 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false5015 calls verify_async only if needed5016 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false5017 calls verify_async only if needed5018 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false5019 calls verify_async only if needed5020 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false5021 calls verify_async only if needed5022 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false5023 calls verify_async only if needed5024 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false5025 calls verify_async only if needed5026 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false5027 calls verify_async only if needed5028 #verify_async5029 on a Geo primary5030 calls verification_started! and enqueues VerificationWorker5031 #verify5032 wraps the checksum calculation in track_checksum_attempt!5033 #verification_state_tracker5034 on a Geo primary5035 returns model_record5036 on a Geo secondary5037 returns registry5038 #handle_after_checksum_succeeded5039 on a Geo primary5040 creates checksum_succeeded event5041 is called on verification success5042 on a Geo secondary5043 does not create an event5044 #consume_event_checksum_succeeded5045 with a persisted model_record5046 on a Geo primary5047 does nothing5048 on a Geo secondary5049 with a persisted registry5050 with a registry which is verified5051 sets state to verification_pending5052 with a registry which is pending verification5053 does not change state from verification_pending5054 with an unpersisted registry5055 does not persist the registry5056 #will_never_be_checksummed_on_the_primary?5057 when the model record is not in available_verifiables5058 returns true5059 when the model record is in available_verifiables5060 returns false5061 integration tests5062 on a primary5063 background backfill5064 verifies model records5065 triggered by events5066 verifies model records5067 on a secondary5068 background backfill5069 verifies registries5070 triggered by events5071 verifies registries5072Geo::RepositorySyncService5073 behaves like geo base sync execution5074 #execute5075 when can acquire exclusive lease5076 executes the synchronization5077 when exclusive lease is not acquired5078 is does not execute synchronization5079 behaves like geo base sync fetch5080 #sync_repository5081 tells registry that sync will start now5082 #fetch_repository5083 cleans up temporary repository5084 syncs the HEAD ref5085 with existing repository5086 fetches repository from geo node5087 with a never synced repository5088 clones repository from geo node5089 behaves like reschedules sync due to race condition instead of waiting for backfill5090 #mark_sync_as_successful5091 when RepositoryUpdatedEvent was processed during a sync5092 reschedules the sync5093 #execute5094 returns the lease when succeed5095 returns the lease when sync fail5096 does not fetch project repository if cannot obtain a lease5097 fetches project repository with JWT credentials5098 expires repository caches5099 voids the failure message when it succeeds after an error5100 rescues when Gitlab::Shell::Error is raised5101 rescues exception and fires after_create hook when Gitlab::Git::Repository::NoRepository is raised5102 increases retry count when Gitlab::Git::Repository::NoRepository is raised5103 marks sync as successful if no repository found5104 marks resync as true after a failure5105 marks primary_repository_checksummed as true when repository has been verified on primary5106 marks primary_repository_checksummed as false when repository has not been verified on primary5107 repository presumably exists on primary5108 increases retry count if no repository found5109 tracking database5110 creates a new registry if does not exists5111 does not create a new registry if one exist5112 temporary repositories5113 there is a leftover repository5114 removes leftover repository5115 when repository sync succeed5116 sets last_repository_synced_at5117 sets last_repository_successful_sync_at5118 resets the repository_verification_checksum_sha5119 resets the last_repository_verification_failure5120 resets the repository_checksum_mismatch5121 logs success with timings5122 sets repository_retry_count and repository_retry_at to nil5123 with non empty repositories5124 when HEAD change5125 syncs gitattributes to info/attributes5126 updates the default branch5127 when HEAD does not change5128 syncs gitattributes to info/attributes5129 updates the default branch5130 when repository sync fail5131 sets correct values for registry record5132 retries5133 with repository previously synced5134 tries to fetch repo5135 sets the redownload flag to false after success5136 tries to redownload repo5137 tries to redownload repo when force_redownload flag is set5138 cleans temporary repo after redownload5139 successfully redownloads the repository even if the retry time exceeds max value5140 no repository5141 does not raise an error5142 behaves like sync retries use the snapshot RPC5143 snapshot synchronization method5144 does not attempt to snapshot for initial sync5145 does not attempt to snapshot for ordinary retries5146 registry is ready to be snapshotted5147 attempts to snapshot5148 attempts to clone if snapshotting raises an exception5149 repository housekeeping5150 increases sync count after execution5151 initiate housekeeping at end of execution5152 when the repository is redownloaded5153 with geo_use_clone_on_first_sync flag disabled5154 creates a new repository and fetches with JWT credentials5155 cleans temporary repo after redownload5156 indicates the repository is not new even with errors5157 with geo_use_clone_on_first_sync flag enabled5158 clones a new repository with JWT credentials5159 cleans temporary repo after redownload5160 when repository did not exist5161 with geo_use_clone_on_first_sync flag enabled5162 dont indicates the repository is new when there were errors5163 indicates the repository is new if successful5164 with geo_use_clone_on_first_sync flag disabled5165 indicates the repository is new when there were errors5166 indicates the repository is new if successful5167 when repository already existed5168 indicates the repository is not new5169 indicates the repository is not new even with errors5170Geo::FrameworkRepositorySyncService5171 behaves like geo base sync execution5172 #execute5173 when can acquire exclusive lease5174 executes the synchronization5175 when exclusive lease is not acquired5176 is does not execute synchronization5177 behaves like geo base sync fetch5178 #sync_repository5179 tells registry that sync will start now5180 #fetch_repository5181 cleans up temporary repository5182 syncs the HEAD ref5183 with existing repository5184 fetches repository from geo node5185 with a never synced repository5186 clones repository from geo node5187 reschedules sync due to race condition instead of waiting for backfill5188 #mark_sync_as_successful5189 when UpdatedEvent was processed during a sync5190 reschedules the sync5191 #execute5192 returns the lease when succeed5193 returns the lease when sync fail5194 does not fetch project repository if cannot obtain a lease5195 voids the failure message when it succeeds after an error5196 expires repository caches5197 with existing repository5198 fetches project repository with JWT credentials5199 rescues when Gitlab::Shell::Error is raised5200 rescues exception and fires after_create hook when Gitlab::Git::Repository::NoRepository is raised5201 increases retry count when Gitlab::Git::Repository::NoRepository is raised5202 marks sync as successful if no repository found5203 marks sync as failed5204 with a never synced repository5205 with geo_use_clone_on_first_sync flag enabled5206 clones repository with JWT credentials5207 with geo_use_clone_on_first_sync flag disabled5208 fetches repository with JWT credentials5209 tracking database5210 temporary repositories5211 there is a leftover repository5212 removes leftover repository5213 when repository sync succeed5214 sets last_synced_at5215 logs success with timings5216 sets retry_count and repository_retry_at to nil5217 with non empty repositories5218 when HEAD change5219 syncs gitattributes to info/attributes5220 updates the default branch5221 when HEAD does not change5222 syncs gitattributes to info/attributes5223 updates the default branch5224 when repository sync fail5225 sets correct values for registry record5226 retries5227 with repository previously synced5228 tries to fetch repo5229 tries to redownload when should_be_redownloaded5230 successfully redownloads the repository even if the retry time exceeds max value5231 no repository5232 does not raise an error5233 when repository is redownloaded5234 sets the redownload flag to false after success5235 tries to redownload repo5236 with geo_use_clone_on_first_sync flag disabled5237 creates a new repository and fetches with JWT credentials5238 cleans temporary repo after redownload5239 with geo_use_clone_on_first_sync flag enabled5240 clones a new repository with JWT credentials5241 cleans temporary repo after redownload5242 behaves like sync retries use the snapshot RPC5243 snapshot synchronization method5244 does not attempt to snapshot for initial sync5245 does not attempt to snapshot for ordinary retries5246 registry is ready to be snapshotted5247 attempts to snapshot5248 attempts to clone if snapshotting raises an exception5249 #should_be_redownloaded?5250 force_to_redownload: false, retry_count: nil, expected: false5251 returns the expected boolean5252 force_to_redownload: false, retry_count: 0, expected: false5253 returns the expected boolean5254 force_to_redownload: false, retry_count: 1, expected: false5255 returns the expected boolean5256 force_to_redownload: false, retry_count: 10, expected: false5257 returns the expected boolean5258 force_to_redownload: false, retry_count: 11, expected: true5259 returns the expected boolean5260 force_to_redownload: false, retry_count: 12, expected: false5261 returns the expected boolean5262 force_to_redownload: false, retry_count: 13, expected: true5263 returns the expected boolean5264 force_to_redownload: false, retry_count: 14, expected: false5265 returns the expected boolean5266 force_to_redownload: false, retry_count: 101, expected: true5267 returns the expected boolean5268 force_to_redownload: false, retry_count: 102, expected: false5269 returns the expected boolean5270 force_to_redownload: true, retry_count: nil, expected: true5271 returns the expected boolean5272 force_to_redownload: true, retry_count: 0, expected: true5273 returns the expected boolean5274 force_to_redownload: true, retry_count: 11, expected: true5275 returns the expected boolean5276Geo::DesignRepositorySyncService5277 behaves like geo base sync execution5278 #execute5279 when can acquire exclusive lease5280 executes the synchronization5281 when exclusive lease is not acquired5282 is does not execute synchronization5283 behaves like geo base sync fetch5284 #sync_repository5285 tells registry that sync will start now5286 #fetch_repository5287 cleans up temporary repository5288 syncs the HEAD ref5289 with existing repository5290 fetches repository from geo node5291 with a never synced repository5292 clones repository from geo node5293 #execute5294 returns the lease when succeed5295 returns the lease when sync fail5296 does not fetch project repository if cannot obtain a lease5297 voids the failure message when it succeeds after an error5298 execute repository cache expiration5299 with existing repository5300 fetches project repository with JWT credentials5301 rescues when Gitlab::Shell::Error is raised5302 rescues exception when Gitlab::Git::Repository::NoRepository is raised5303 increases retry count when Gitlab::Git::Repository::NoRepository is raised5304 marks sync as successful if no repository found5305 marks resync as true after a failure5306 with a never synced repository5307 clones project repository with JWT credentials5308 behaves like sync retries use the snapshot RPC5309 snapshot synchronization method5310 does not attempt to snapshot for initial sync5311 does not attempt to snapshot for ordinary retries5312 registry is ready to be snapshotted5313 attempts to snapshot5314 attempts to clone if snapshotting raises an exception5315 #expire_repository_caches5316 expires repository caches5317 race condition when RepositoryUpdatedEvent was processed during a sync5318 reschedules the sync5319 when the repository is redownloaded5320 with geo_use_clone_on_first_sync flag disabled5321 creates a new repository and fetches with JWT credentials5322 cleans temporary repo after redownload5323 with geo_use_clone_on_first_sync flag enabled5324 clones a new repository with JWT credentials5325 cleans temporary repo after redownload5326Geo::RepositoryShardSyncWorker5327 #perform5328 does not perform Geo::ProjectSyncWorker when shard becomes unhealthy5329 does not perform Geo::ProjectSyncWorker when no geo database is configured5330 does not perform Geo::ProjectSyncWorker when not running on a secondary5331 does not perform Geo::ProjectSyncWorker when node is disabled5332 performs Geo::ProjectSyncWorker for each registry5333 performs Geo::ProjectSyncWorker for projects where last attempt to sync failed5334 performs Geo::ProjectSyncWorker for synced projects updated recently5335 does not schedule a job twice for the same project5336 number of scheduled jobs exceeds capacity5337 schedules 0 jobs5338 backoff time5339 sets the back off time when there are no pending items5340 does not perform Geo::ProjectSyncWorker when the backoff time is set5341 repositories that have never been updated5342 tries to sync project where last attempt to sync failed5343 when all repositories fail5344 tries to sync every project5345 projects that require resync5346 when project repository is dirty5347 does not sync repositories5348 when project wiki is dirty5349 does not syn wikis5350 with multiple shards5351 uses two loops to schedule jobs5352 skips backfill for projects on unhealthy shards5353Geo::JobArtifactLegacyRegistryFinder5354 behaves like a file registry finder5355 responds to registry finder methods5356 responds to file registry finder methods5357 #registry_count5358 counts registries5359 #synced_count5360 counts registries that has been synced5361 #failed_count5362 counts registries that sync has failed5363 #find_registries_never_attempted_sync5364 returns registries that have never been synced5365 excludes except_ids5366 #find_registries_needs_sync_again5367 returns registries for that have failed to sync5368 excludes except_ids5369 #synced_missing_on_primary_count5370 counts registries that have been synced and are missing on the primary, excluding not synced ones5371 #find_retryable_synced_missing_on_primary_registries5372 returns registries that have been synced and are missing on the primary5373 excludes except_ids5374Geo::VerificationStateBackfillWorker5375 uses a geo queue5376 #perform5377 behaves like reenqueuer5378 implements lease_timeout5379 uses the :none deduplication strategy5380 #perform5381 tries to obtain a lease5382 behaves like #perform is rate limited to 1 call per5383 when the work finishes in 0 seconds5384 sleeps exactly the minimum duration5385 when the work finishes in 10% of minimum duration5386 sleeps 90% of minimum duration5387 when the work finishes in 90% of minimum duration5388 sleeps 10% of minimum duration5389 when the work finishes exactly at minimum duration5390 does not sleep5391 when the work takes 10% longer than minimum duration5392 does not sleep5393 when the work takes twice as long as minimum duration5394 does not sleep5395 when service is executed5396 when Geo::VerificationStateBackfillService#execute returns true5397 returns true5398 worker gets reenqueued5399 when VerificationStateBackfillService#execute returns false5400 returns false5401 worker does not get reenqueued (we will wait until next cronjob)5402Geo::FileDownloadDispatchWorker5403 does not schedule anything when tracking database is not configured5404 does not schedule anything when node is disabled5405 attempts to load a new batch without pending downloads5406 with job artifacts5407 performs Geo::FileDownloadWorker for unsynced job artifacts5408 performs Geo::FileDownloadWorker for failed-sync job artifacts5409 does not perform Geo::FileDownloadWorker for synced job artifacts5410 does not perform Geo::FileDownloadWorker for synced job artifacts even with 0 bytes downloaded5411 does not retry failed artifacts when retry_at is tomorrow5412 retries failed artifacts when retry_at is in the past5413 with files missing on the primary that are marked as synced5414 retries the files if there is spare capacity5415 retries failed files with retry_at in the past5416 does not retry files with later retry_at5417 does not retry those files if there is no spare capacity5418 does not retry those files if they are already scheduled5419 backoff time5420 does not set the back off time when there are no pending items5421Gitlab::Geo::Replication::FileRetriever5422 #execute5423 user avatar5424 behaves like returns necessary params for sending a file from an API endpoint5425 when the upload exists5426 when the upload has a file5427 when the extra_params parameters match the upload5428 returns the file in a success hash5429 when the extra_params id does not match the upload model_id5430 returns an error hash5431 when the extra_params type does not match the upload model_type5432 returns an error hash5433 when the extra_params checksum does not match the upload checksum5434 returns an error hash5435 when the upload does not have a file5436 returns an error hash5437 when the upload does not exist5438 returns an error hash5439 group avatar5440 behaves like returns necessary params for sending a file from an API endpoint5441 when the upload exists5442 when the upload has a file5443 when the extra_params parameters match the upload5444 returns the file in a success hash5445 when the extra_params id does not match the upload model_id5446 returns an error hash5447 when the extra_params type does not match the upload model_type5448 returns an error hash5449 when the extra_params checksum does not match the upload checksum5450 returns an error hash5451 when the upload does not have a file5452 returns an error hash5453 when the upload does not exist5454 returns an error hash5455 project avatar5456 behaves like returns necessary params for sending a file from an API endpoint5457 when the upload exists5458 when the upload has a file5459 when the extra_params parameters match the upload5460 returns the file in a success hash5461 when the extra_params id does not match the upload model_id5462 returns an error hash5463 when the extra_params type does not match the upload model_type5464 returns an error hash5465 when the extra_params checksum does not match the upload checksum5466 returns an error hash5467 when the upload does not have a file5468 returns an error hash5469 when the upload does not exist5470 returns an error hash5471 with an attachment5472 behaves like returns necessary params for sending a file from an API endpoint5473 when the upload exists5474 when the upload has a file5475 when the extra_params parameters match the upload5476 returns the file in a success hash5477 when the extra_params id does not match the upload model_id5478 returns an error hash5479 when the extra_params type does not match the upload model_type5480 returns an error hash5481 when the extra_params checksum does not match the upload checksum5482 returns an error hash5483 when the upload does not have a file5484 returns an error hash5485 when the upload does not exist5486 returns an error hash5487 with a snippet5488 behaves like returns necessary params for sending a file from an API endpoint5489 when the upload exists5490 when the upload has a file5491 when the extra_params parameters match the upload5492 returns the file in a success hash5493 when the extra_params id does not match the upload model_id5494 returns an error hash5495 when the extra_params type does not match the upload model_type5496 returns an error hash5497 when the extra_params checksum does not match the upload checksum5498 returns an error hash5499 when the upload does not have a file5500 returns an error hash5501 when the upload does not exist5502 returns an error hash5503 with file upload5504 behaves like returns necessary params for sending a file from an API endpoint5505 when the upload exists5506 when the upload has a file5507 when the extra_params parameters match the upload5508 returns the file in a success hash5509 when the extra_params id does not match the upload model_id5510 returns an error hash5511 when the extra_params type does not match the upload model_type5512 returns an error hash5513 when the extra_params checksum does not match the upload checksum5514 returns an error hash5515 when the upload does not have a file5516 returns an error hash5517 when the upload does not exist5518 returns an error hash5519 with favicon upload5520 behaves like returns necessary params for sending a file from an API endpoint5521 when the upload exists5522 when the upload has a file5523 when the extra_params parameters match the upload5524 returns the file in a success hash5525 when the extra_params id does not match the upload model_id5526 returns an error hash5527 when the extra_params type does not match the upload model_type5528 returns an error hash5529 when the extra_params checksum does not match the upload checksum5530 returns an error hash5531 when the upload does not have a file5532 returns an error hash5533 when the upload does not exist5534 returns an error hash5535 with namespace file upload5536 behaves like returns necessary params for sending a file from an API endpoint5537 when the upload exists5538 when the upload has a file5539 when the extra_params parameters match the upload5540 returns the file in a success hash5541 when the extra_params id does not match the upload model_id5542 returns an error hash5543 when the extra_params type does not match the upload model_type5544 returns an error hash5545 when the extra_params checksum does not match the upload checksum5546 returns an error hash5547 when the upload does not have a file5548 returns an error hash5549 when the upload does not exist5550 returns an error hash5551Geo::FileUploadService5552 #retriever5553 returns a FileRetriever given type is attachment5554 returns a FileRetriever given type is avatar5555 returns a FileRetriever given type is bulk_imports/export5556 returns a FileRetriever given type is design_management/design_v432x2305557 returns a FileRetriever given type is favicon5558 returns a FileRetriever given type is file5559 returns a FileRetriever given type is import_export5560 returns a FileRetriever given type is issuable_metric_image5561 returns a FileRetriever given type is metric_image5562 returns a FileRetriever given type is namespace_file5563 returns a FileRetriever given type is personal_file5564 returns a JobArtifactRetriever given object_type is job_artifact5565 #execute5566 user avatar5567 sends avatar file5568 returns invalid request error5569 group avatar5570 sends avatar file5571 returns invalid request error5572 project avatar5573 sends avatar file5574 returns invalid request error5575 attachment5576 sends attachment file5577 returns invalid request error5578 file upload5579 sends the file5580 returns invalid request error5581 namespace file upload5582 sends the file5583 returns invalid request error5584 incident metrics upload5585 sends the file5586 returns invalid request error5587 job artifact5588 sends job artifact file5589 import export archive5590 sends the file5591 returns invalid request error5592 bulk imports export file5593 sends the file5594 returns invalid request error5595Geo::RepositoryVerification::Primary::ShardWorker5596 #perform5597 performs Geo::RepositoryVerification::Primary::SingleWorker for each project5598 performs Geo::RepositoryVerification::Primary::SingleWorker for verified projects updated recently5599 performs Geo::RepositoryVerification::Primary::SingleWorker for projects missing repository verification5600 performs Geo::RepositoryVerification::Primary::SingleWorker for projects missing wiki verification5601 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where repository verification failed5602 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where wiki verification failed5603 does not perform Geo::RepositoryVerification::Primary::SingleWorker when shard becomes unhealthy5604 does not perform Geo::RepositoryVerification::Primary::SingleWorker when not running on a primary5605 does not schedule jobs when number of scheduled jobs exceeds capacity5606 does not perform Geo::RepositoryVerification::Primary::SingleWorker for projects on unhealthy shards5607 shard worker scheduler5608 acquires lock namespacing it per shard name5609 reverification5610 feature geo_repository_reverification flag is enabled5611 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where repository should be reverified5612 performs Geo::RepositoryVerification::Primary::SingleWorker for projects where wiki should be reverified5613 feature geo_repository_reverification flag is disabled5614 does not perform Geo::RepositoryVerification::Primary::SingleWorker for projects where repository should be reverified5615 does not Geo::RepositoryVerification::Primary::SingleWorker for projects where wiki should be reverified5616 backoff time5617 sets the back off time when there are no pending items5618 does not perform Geo::RepositoryVerification::Primary::SingleWorker when the backoff time is set5619 resource loading5620 handles multiple batches of projects needing verification5621 handles multiple batches of projects needing verification5622Geo::PruneEventLogWorker5623 #perform5624 current node secondary5625 does nothing5626 current node primary5627 does nothing when database is not feeling healthy5628 does checks if it should prune5629 deletes also associated event table rows5630 delegates pruning to Geo::PruneEventLogService5631 no Geo secondary nodes5632 deletes everything from the Geo event log5633 no Geo primary node5634 deletes everything from the Geo event log5635 multiple secondary nodes5636 aborts when there is a node without status5637 aborts when there is an unhealthy node5638 aborts when there is a node with an old status5639 aborts when there is a node with a healthy status without timestamp5640 takes the integer-minimum value of all cursor_last_event_ids5641 #log_error5642 calls the Geo logger5643Geo::RepositoryVerificationFinder5644 #find_failed_repositories5645 returns projects where next retry attempt is in the past5646 does not return projects where next retry attempt is in the future5647 does not return projects where repository was recently updated5648 does not return projects where repository verification is pending5649 returns projects ordered by next retry time5650 with shard restriction5651 does not return projects on other shards5652 #find_failed_wikis5653 returns projects where next retry attempt is in the past5654 does not return projects where next retry attempt is in the future5655 does not return projects where wiki was recently updated5656 does not return projects where wiki verification is pending5657 returns projects ordered by next retry time5658 with shard restriction5659 does not return projects on other shards5660 #find_recently_updated_projects5661 returns projects where repository was recently updated5662 returns projects where repository verification is pending5663 does not return projects where repository verification failed5664 returns projects where wiki was recently updated5665 returns projects where wiki verification is pending5666 does not return projects where wiki verification failed5667 returns less active projects first5668 with shard restriction5669 does not return projects on other shards5670 #find_never_verified_projects5671 returns projects that never have been verified5672 with shard restriction5673 does not return projects on other shards5674 #find_reverifiable_repositories5675 behaves like find reverifiable projects5676 returns projects where repository was verified before the minimum re-verification interval5677 does not return projects where repository was recently updated5678 does not return projects where repository verification failed5679 returns less active projects first5680 with shard restriction5681 does not return projects on other shards5682 #find_reverifiable_wikis5683 behaves like find reverifiable projects5684 returns projects where wiki was verified before the minimum re-verification interval5685 does not return projects where wiki was recently updated5686 does not return projects where wiki verification failed5687 returns less active projects first5688 with shard restriction5689 does not return projects on other shards5690 #count_verified_repositories5691 when a repository is verified5692 includes the repository5693 when a repository failed verification5694 excludes the repository5695 when a repository has outdated verification5696 excludes the repository5697 #count_verified_wikis5698 when a wiki is verified5699 includes the wiki5700 when a wiki failed verification5701 excludes the wiki5702 when a wiki has outdated verification5703 excludes the wiki5704SnippetRepository5705 with 3 groups, 2 projects, and 5 snippets5706 #in_replicables_for_current_secondary?5707 all returns true if all are replicated5708 with selective sync by namespace5709 returns true for snippets in the namespace5710 returns true for personal snippets5711 returns false for project snippets not in an included namespace5712 with selective sync by shard5713 returns true for snippets in the shard5714 returns false for project snippets not in an included shard5715 #replicables_for_current_secondary5716 returns all snippet_repositories without selective sync5717 returns nothing if an unrecognised selective sync type is used5718 with selective sync by namespace5719 returns snippet_repositories that belong to the namespaces + personal snippets5720 with selective sync by shard5721 returns snippet_repositories that belong to the shards5722Gitlab::Geo5723 .current_node5724 returns a GeoNode instance5725 behaves like a Geo cached value5726 includes GitLab version and Rails.version in the cache key5727 .primary_node5728 returns a GeoNode primary instance5729 behaves like a Geo cached value5730 includes GitLab version and Rails.version in the cache key5731 .secondary_nodes5732 returns a list of Geo secondary nodes5733 behaves like a Geo cached value5734 includes GitLab version and Rails.version in the cache key5735 .proxy_extra_data5736 caches the result of .uncached_proxy_extra_data5737 behaves like a Geo cached value5738 includes GitLab version and Rails.version in the cache key5739 .uncached_proxy_extra_data5740 without a geo node5741 is expected to be nil5742 with an existing Geo node5743 generates a valid JWT5744 sets the expected expiration time5745 when signing the JWT token raises errors5746 error: Gitlab::Geo::GeoNodeNotFoundError5747 is expected to be nil5748 error: OpenSSL::Cipher::CipherError5749 is expected to be nil5750 .primary?5751 when current node is a primary node5752 returns true5753 returns false when GeoNode is disabled5754 .primary_node_configured?5755 when current node is a primary node5756 returns true5757 returns false when primary does not exist5758 .current_node_misconfigured?5759 returns true when current node is not set5760 returns false when primary5761 returns false when secondary5762 returns false when Geo is disabled5763 .secondary?5764 when current node is a secondary node5765 returns true5766 returns false when GeoNode is disabled5767 when current node is a primary node5768 returns false5769 .secondary_with_primary?5770 when current node is a primary node5771 returns false5772 when current node is a secondary node5773 returns true5774 when a primary does not exist5775 returns false5776 .secondary_with_unified_url?5777 when current node is a primary node5778 returns false5779 when current node is a secondary node5780 when a primary does not exist5781 returns false5782 when the secondary node has different URLs5783 returns false5784 when the secondary node has unified URL5785 returns true5786 .proxied_request?5787 returns true when the header is set5788 returns false when the header is not present or set to an invalid value5789 .proxied_site5790 for a non-proxied request5791 is expected to be nil5792 without Geo enabled5793 is expected to be nil5794 on a secondary5795 is expected to be nil5796 on a primary5797 for a proxied request5798 with an absent proxied site ID header5799 is expected to be nil5800 with a proxy extra data header5801 for an invalid header5802 is expected to be nil5803 for an existing site5804 is expected to eq #<GeoNode id: 474, primary: false, oauth_application_id: 417, enabled: true, access_key: [FILTERED], ...pdated_at: "2022-04-28 17:18:55.087683206 +0000", sync_object_storage: true, secret_access_key: nil>5805 .enabled?5806 behaves like a Geo cached value5807 includes GitLab version and Rails.version in the cache key5808 when any GeoNode exists5809 returns true5810 when no GeoNode exists5811 returns false5812 .oauth_authentication5813 for Geo secondary5814 behaves like a Geo cached value5815 includes GitLab version and Rails.version in the cache key5816 for Geo primary5817 returns nil5818 .connected?5819 when there is a database issue5820 returns false when it cannot open an active database connection5821 returns false when the table does not exist5822 .expire_cache!5823 clears the Geo cache keys5824 .expire_cache_keys!5825 clears specified keys5826 .license_allows?5827 returns true if license has Geo addon5828 returns false if license doesnt have Geo addon5829 returns false if no license is present5830 .generate_access_keys5831 returns a public and secret access key5832 .configure_cron_jobs!5833 creates a cron watcher5834 runs the cron manager5835 .repository_verification_enabled?5836 when the feature flag hasn't been set5837 returns true5838 when the feature flag has been set5839 when the feature flag is set to enabled5840 returns true5841 when the feature flag is set to disabled5842 returns false5843 .allowed_ip?5844 allowed_ips: "192.1.1.1", ip: "192.1.1.1", allowed: true5845 is expected to eq true5846 allowed_ips: "192.1.1.1, 192.1.2.1", ip: "192.1.2.1", allowed: true5847 is expected to eq true5848 allowed_ips: "192.1.1.0/24", ip: "192.1.1.223", allowed: true5849 is expected to eq true5850 allowed_ips: "192.1.0.0/16", ip: "192.1.223.223", allowed: true5851 is expected to eq true5852 allowed_ips: "192.1.0.0/16, 192.1.2.0/24", ip: "192.1.2.223", allowed: true5853 is expected to eq true5854 allowed_ips: "192.1.0.0/16", ip: "192.2.1.1", allowed: false5855 is expected to eq false5856 allowed_ips: "192.1.0.1", ip: "192.2.1.1", allowed: false5857 is expected to eq false5858 .proxying_to_primary_message5859 returns a message as a string5860 .redirecting_to_primary_message5861 returns a message as a string5862 .enabled_replicator_classes5863 returns an Array of replicator classes5864 when replication is disabled5865 does not return the replicator class5866 .verification_enabled_replicator_classes5867 returns an Array of replicator classes5868 when replication is disabled5869 does not return the replicator class5870 .verification_max_capacity_per_replicator_class5871 when there are no Replicator classes with verification enabled5872 returns the total capacity5873 when there is 1 Replicator class with verification enabled5874 returns half capacity5875 when there are 2 Replicator classes with verification enabled5876 returns a third of total capacity5877 when total capacity is set lower than the number of Replicators5878 returns 15879 .uncached_queries5880 when no block is given5881 raises error5882 when the current node is a primary5883 wraps the block in an ApplicationRecord.uncached block5884 when the current node is a secondary5885 wraps the block in a Geo::TrackingBase.uncached block and an ApplicationRecord.uncached block5886 when there is no current node5887 wraps the block in an ApplicationRecord.uncached block5888Geo::RegistrySyncWorker5889 does not schedule anything when tracking database is not configured5890 does not schedule anything when node is disabled5891 does not schedule duplicated jobs5892 does not schedule duplicated jobs because of query cache5893 attempts to load a new batch without pending downloads5894Geo::WikiSyncService5895 behaves like geo base sync execution5896 #execute5897 when can acquire exclusive lease5898 executes the synchronization5899 when exclusive lease is not acquired5900 is does not execute synchronization5901 behaves like geo base sync fetch5902 #sync_repository5903 tells registry that sync will start now5904 #fetch_repository5905 cleans up temporary repository5906 syncs the HEAD ref5907 with existing repository5908 fetches repository from geo node5909 with a never synced repository5910 clones repository from geo node5911 behaves like reschedules sync due to race condition instead of waiting for backfill5912 #mark_sync_as_successful5913 when RepositoryUpdatedEvent was processed during a sync5914 reschedules the sync5915 #execute5916 returns the lease when succeed5917 returns the lease when sync fail5918 does not fetch project repository if cannot obtain a lease5919 marks primary_wiki_checksummed as true when wiki has been verified on primary5920 marks primary_wiki_checksummed as false when wiki has not been verified on primary5921 with existing repository5922 fetches wiki repository with JWT credentials5923 voids the failure message when it succeeds after an error5924 rescues exception when Gitlab::Shell::Error is raised5925 rescues exception when Gitlab::Git::Repository::NoRepository is raised5926 increases retry count when Gitlab::Git::Repository::NoRepository is raised5927 marks sync as successful if no repository found5928 marks resync as true after a failure5929 wiki repository presumably exists on primary5930 increases retry count if no wiki repository found5931 tracking database5932 creates a new registry if does not exists5933 does not create a new registry if one exists5934 temporary repositories5935 there is a leftover repository5936 removes leftover repository5937 when repository sync succeed5938 sets last_wiki_synced_at5939 sets last_wiki_successful_sync_at5940 resets the wiki_verification_checksum_sha5941 resets the last_wiki_verification_failure5942 resets the wiki_checksum_mismatch5943 logs success with timings5944 when wiki sync fail5945 sets correct values for registry record5946 no Wiki repository5947 does not raise an error5948 behaves like sync retries use the snapshot RPC5949 snapshot synchronization method5950 does not attempt to snapshot for initial sync5951 does not attempt to snapshot for ordinary retries5952 registry is ready to be snapshotted5953 attempts to snapshot5954 attempts to clone if snapshotting raises an exception5955 when the repository is redownloaded5956 with geo_use_clone_on_first_sync flag disabled5957 creates a new repository and fetches with JWT credentials5958 cleans temporary repo after redownload5959 with geo_use_clone_on_first_sync flag enabled5960 clones a new repository with JWT credentials5961 cleans temporary repo after redownload5962Geo::TerraformStateVersionRegistryFinder5963 behaves like a framework registry finder5964 #execute5965 when user cannot read all Geo5966 is expected to be empty5967 when user can read all Geo5968 when admin mode is disabled5969 is expected to be empty5970 when admin mode is enabled5971 with an ids param5972 returns specified registries5973 without an ids param5974 returns all registries5975Geo::VerificationState5976 for Model classes5977 when verification state is stored in the model table5978-- create_table(:dummy_models, {:force=>true})5979 -> 0.0042s5980 state machine5981 when failed5982 and transitioning to pending5983 marks verification as pending5984 does not clear retry attributes5985 .verification_pending_batch5986 returns IDs of rows pending verification5987 marks verification as started5988 limits with batch_size and orders records by verified_at with NULLs first5989 other verification states5990 does not include them5991 .verification_failed_batch5992 with a failed record with retry due5993 returns IDs of rows pending verification5994 marks verification as started5995 limits with batch_size and orders records by verification_retry_at with NULLs first5996 other verification states5997 does not include them5998 when verification_retry_at is in the future5999 does not return the row6000 .needs_verification6001 includes verification_pending6002 includes verification_failed and verification_retry_due6003 excludes verification_failed with future verification_retry_at6004 .needs_reverification6005 includes verification_succeeded with expired checksum6006 excludes non-success verification states and fresh checksums6007 .reverify_batch6008 sets pending status to records with outdated verification6009 limits the update with batch_size6010 .fail_verification_timeouts6011 when verification has not timed out for a record6012 does not update verification state6013 when verification has timed out for a record6014 sets verification state to failed6015 #track_checksum_attempt!6016 yields to the checksum calculation6017 when verification was not yet started6018 starts verification6019 sets verification_succeeded6020 when verification was started6021 does not update verification_started_at6022 when an error occurs while yielding6023 when the record was failed6024 sets verification_failed and increments verification_retry_count6025 when the yielded block returns nil6026 when the record was pending6027 sets verification_failed and sets verification_retry_count to 16028 when the record was failed6029 sets verification_failed and increments verification_retry_count6030 #verification_succeeded_with_checksum!6031 when the resource was updated during checksum calculation6032 sets state to pending6033 when the resource was not updated during checksum calculation6034 saves the checksum6035 primary node6036 calls replicator.handle_after_checksum_succeeded6037 secondary node6038 does not call replicator.handle_after_checksum_succeeded6039 #verification_failed_with_message!6040 saves the error message and increments retry counter6041 #verification_started!6042 flips the state to started state6043-- drop_table(:dummy_models, {:force=>true})6044 -> 0.0192s6045 when verification state is stored in a separate table6046-- create_table(:_test_dummy_model_with_separate_states, {:force=>true})6047 -> 0.0025s6048-- create_table(:_test_dummy_model_states, {:id=>false, :force=>true})6049 -> 0.0021s6050 .fail_verification_timeouts6051 sets verification state to failed6052 #verification_started!6053 flips the state to started state without reseting/reloading the original object (only state record)6054-- drop_table(:_test_dummy_model_with_separate_states, {:force=>true})6055 -> 0.0015s6056-- drop_table(:_test_dummy_model_states, {:force=>true})6057 -> 0.0010s6058 for registry classes6059 .fail_verification_timeouts6060 sets verification state to failed6061 #verification_started!6062 flips the state to started state6063Geo::SecondaryUsageData6064 is valid6065 cannot have undefined fields in the payload6066 #git_fetch_event_count_weekly6067 behaves like a payload count field6068 defines git_fetch_event_count_weekly as a method6069 does not allow git_fetch_event_count_weekly to be a string6070 allows git_fetch_event_count_weekly to be nil6071 may not define git_fetch_event_count_weekly in the payload json6072 #git_push_event_count_weekly6073 behaves like a payload count field6074 defines git_push_event_count_weekly as a method6075 does not allow git_push_event_count_weekly to be a string6076 allows git_push_event_count_weekly to be nil6077 may not define git_push_event_count_weekly in the payload json6078 #proxy_remote_requests_event_count_weekly6079 behaves like a payload count field6080 defines proxy_remote_requests_event_count_weekly as a method6081 does not allow proxy_remote_requests_event_count_weekly to be a string6082 allows proxy_remote_requests_event_count_weekly to be nil6083 may not define proxy_remote_requests_event_count_weekly in the payload json6084 #proxy_local_requests_event_count_weekly6085 behaves like a payload count field6086 defines proxy_local_requests_event_count_weekly as a method6087 does not allow proxy_local_requests_event_count_weekly to be a string6088 allows proxy_local_requests_event_count_weekly to be nil6089 may not define proxy_local_requests_event_count_weekly in the payload json6090 #update_metrics!6091 metric git_fetch_event_count_weekly6092 behaves like update specific metric6093 gets metrics from prometheus6094 returns nil if metric is unavailable6095 returns nil if it cannot reach prometheus6096 metric git_push_event_count_weekly6097 behaves like update specific metric6098 gets metrics from prometheus6099 returns nil if metric is unavailable6100 returns nil if it cannot reach prometheus6101 metric proxy_remote_requests_event_count_weekly6102 behaves like update specific metric6103 gets metrics from prometheus6104 returns nil if metric is unavailable6105 returns nil if it cannot reach prometheus6106 metric proxy_local_requests_event_count_weekly6107 behaves like update specific metric6108 gets metrics from prometheus6109 returns nil if metric is unavailable6110 returns nil if it cannot reach prometheus6111Geo::GroupWikiRepositoryRegistry6112 factory is valid6113 scopes6114 sync_timed_out6115 return correct records6116 finders6117 .find_registries_never_attempted_sync6118 returns unsynced items6119 returns items that never have an attempt to sync except some specific item ID6120 .find_registries_needs_sync_again6121 returns failed items6122 returns failed items except some specific item ID6123 orders records according to retry_at6124 .fail_sync_timeouts6125 marks started records as failed if they are expired6126 #failed!6127 sets last_sync_failure with message6128 truncates a long last_sync_failure6129 increments retry_count6130 sets retry_at to a time in the future6131 when an error is given6132 includes error.message in last_sync_failure6133 when missing_on_primary is not given6134 caps retry_at to default 1 hour6135 when missing_on_primary is falsey6136 caps retry_at to default 1 hour6137 when missing_on_primary is truthy6138 caps retry_at to 4 hours6139Gitlab::Geo::LogCursor::Events::DesignRepositoryUpdatedEvent6140 #process6141 when the associated shard is healthy6142 when the design repository is not excluded by selective sync6143 behaves like event should trigger a sync6144 when a registry does not yet exist6145 behaves like event creates a registry6146 creates a registry with pending state6147 behaves like event schedules a sync worker6148 schedules a sync worker6149 behaves like logs event source info6150 logs `job_id` and `event_id6151 when a registry exists6152 behaves like event transitions a registry to pending6153 transitions the registry to pending6154 behaves like event schedules a sync worker6155 schedules a sync worker6156 behaves like logs event source info6157 logs `job_id` and `event_id6158 when the project is included in selective sync but there is no design6159 when a registry does not yet exist6160 behaves like event does not create a registry6161 does not create a registry6162 behaves like event does not schedule a sync worker6163 does not schedule a sync worker6164 behaves like logs event source info6165 logs `job_id` and `event_id6166 when the design repository is excluded by selective sync6167 when a registry does not yet exist6168 behaves like event does not create a registry6169 does not create a registry6170 behaves like event does not schedule a sync worker6171 does not schedule a sync worker6172 behaves like logs event source info6173 logs `job_id` and `event_id6174 when a registry exists6175 behaves like event transitions a registry to pending6176 transitions the registry to pending6177 behaves like event schedules a sync worker6178 schedules a sync worker6179 behaves like logs event source info6180 logs `job_id` and `event_id6181 when associated shard is unhealthy6182 when a registry does not yet exist6183 behaves like event creates a registry6184 creates a registry with pending state6185 behaves like event does not schedule a sync worker6186 does not schedule a sync worker6187 behaves like logs event source info6188 logs `job_id` and `event_id6189 when a registry exists6190 behaves like event transitions a registry to pending6191 transitions the registry to pending6192 behaves like event does not schedule a sync worker6193 does not schedule a sync worker6194 behaves like logs event source info6195 logs `job_id` and `event_id6196Gitlab::Geo::LogCursor::Events::ContainerRepositoryUpdatedEvent6197 #process6198 when container repository replication is enabled6199 when the container repository is not excluded by selective sync6200 behaves like event should trigger a sync6201 when a registry does not yet exist6202 behaves like event creates a registry6203 creates a registry with pending state6204 behaves like event schedules a sync worker6205 schedules a sync worker6206 behaves like logs event source info6207 logs `job_id` and `event_id6208 when a registry exists6209 behaves like event transitions a registry to pending6210 transitions the registry to pending6211 behaves like event schedules a sync worker6212 schedules a sync worker6213 behaves like logs event source info6214 logs `job_id` and `event_id6215 when the container repository is excluded by selective sync6216 when a registry does not exist6217 behaves like event does not create a registry6218 does not create a registry6219 behaves like event does not schedule a sync worker6220 does not schedule a sync worker6221 behaves like logs event source info6222 logs `job_id` and `event_id6223 when a registry exists6224 behaves like event transitions a registry to pending6225 transitions the registry to pending6226 behaves like event schedules a sync worker6227 schedules a sync worker6228 behaves like logs event source info6229 logs `job_id` and `event_id6230 when container repository replication is disabled6231 when a registry does not exist6232 behaves like event does not create a registry6233 does not create a registry6234 behaves like event does not schedule a sync worker6235 does not schedule a sync worker6236 behaves like logs event source info6237 logs `job_id` and `event_id6238 when a registry exists6239 behaves like event does not transition a registry to pending6240 does not transition a registry to pending6241 behaves like event does not schedule a sync worker6242 does not schedule a sync worker6243 behaves like logs event source info6244 logs `job_id` and `event_id6245Geo::RepositoryVerificationPrimaryService6246 #perform6247 calculates the checksum for unverified projects6248 calculates the checksum for outdated repositories/wikis6249 recalculates the checksum for projects up to date6250 calculates the wiki checksum even when wiki is not enabled for project6251 does not mark the calculating as failed when there is no repo6252 does not mark the calculating as failed for non-valid repo6253 when running on a primary node6254 does not create a Geo::ResetChecksumEvent event if there are no secondary nodes6255 creates a Geo::ResetChecksumEvent event6256 when checksum calculation fails6257 keeps track of failures6258 ensures the next retry time is capped properly6259Geo::RepositorySyncWorker6260 additional shards6261 skips backfill for repositories on other shards6262 skips backfill for projects on shards excluded by selective sync6263 skips backfill for projects on missing shards6264 skips backfill for projects with downed Gitaly server6265Geo::DesignRegistryFinder6266 behaves like a registry finder6267 responds to registry finder methods6268 #registry_count6269 counts registries6270 #synced_count6271 counts registries that has been synced6272 #failed_count6273 counts registries that sync has failed6274 #find_registries_never_attempted_sync6275 returns registries that have never been synced6276 excludes except_ids6277 #find_registries_needs_sync_again6278 returns registries for that have failed to sync6279 excludes except_ids6280Geo::RepositoryVerification::Secondary::ShardWorker6281 #perform6282 does not schedule jobs when shard becomes unhealthy6283 does not schedule jobs when no geo database is configured6284 does not schedule jobs when not running on a secondary6285 does not schedule jobs when number of scheduled jobs exceeds capacity6286 schedule a job for each project6287 schedule jobs for projects missing repository verification6288 schedule jobs for projects missing wiki verification6289 does not schedule jobs for projects on other shards6290 does not schedule jobs for projects missing repositories on primary6291 shard worker scheduler6292 acquires lock namespacing it per shard name6293 backoff time6294 sets the back off time when there are no pending items6295 does not perform Geo::RepositoryVerification::Secondary::SingleWorker when the backoff time is set6296 resource loading6297 handles multiple batches of projects needing verification6298 handles multiple batches of projects needing verification, skipping repositories not verified on primary6299Geo::MetricsUpdateService6300 #execute6301 when current node is nil6302 skips posting the status6303 when node is the primary6304 updates the cache6305 updates metrics for all nodes6306 updates the GeoNodeStatus entry6307 updates metrics when secondary nodes are cached6308 when node is a secondary6309 updates the cache6310 adds gauges for various metrics6311 increments a counter when metrics fail to retrieve6312 does not create GeoNodeStatus entries6313Gitlab::Geo::EventGapTracking6314 .min_gap_id6315 returns nil when there are no gaps6316 returns the lowest gap id6317 .gap_count6318 returns 0 when there are no gaps6319 returns the number of gaps6320 #check!6321 does nothing when previous id not valid6322 does nothing when there is no gap6323 tracks the gap if there is one6324 #fill_gaps6325 ignore gaps that are less than 10 minutes old6326 handles gaps that are more than 10 minutes old6327 drops gaps older than 1 hour6328 avoids N+1 queries to fetch event logs and their associated events6329 #track_gaps6330 logs a message6331 saves the gap id in redis6332 saves a range of gaps id in redis6333 saves the gaps in order6334 #gap?6335 returns false when current_id is the previous +16336 returns true when current_id is the previous +26337 returns false when current_id is equal to the previous6338 returns false when current_id less than the previous6339 returns false when previous id is 06340Geo::GroupWikiRepositoryReplicator6341 invokes replicator.handle_after_create_commit on create6342 behaves like a replicator6343 Geo node status6344 on a secondary node6345 .synced_count6346 returns the number of synced items on secondary6347 .failed_count6348 returns the number of failed items on secondary6349 #replicator6350 is defined and does not raise error6351 .replicables_for_current_secondary6352 when syncing object storage is enabled6353 behaves like is implemented and returns a valid relation6354 is implemented6355 when syncing object storage is disabled6356 behaves like is implemented and returns a valid relation6357 is implemented6358 with selective sync disabled6359 behaves like is implemented and returns a valid relation6360 is implemented6361 with selective sync enabled for namespaces6362 behaves like is implemented and returns a valid relation6363 is implemented6364 with selective sync enabled for shards6365 behaves like is implemented and returns a valid relation6366 is implemented6367 #handle_after_update6368 creates a Geo::Event6369 when replication feature flag is disabled6370 does not publish6371 #handle_after_destroy6372 creates a Geo::Event6373 when replication feature flag is disabled6374 does not publish6375 updated event consumption6376 in replicables_for_current_secondary list6377 runs Geo::FrameworkRepositorySyncService service6378 not in replicables_for_current_secondary list6379 does not run Geo::FrameworkRepositorySyncService service6380 deleted event consumption6381 runs Geo::RepositoryRegistryRemovalService service6382 .git_access_class6383 is implemented6384 .no_repo_message6385 is implemented6386 #model6387 is implemented6388 is a Class6389 .no_repo_message6390 returns the proper error message for group-level wikis6391Geo::RepositoriesCleanUpWorker6392 #perform6393 does not perform Geo::RepositoryCleanupWorker when cannnot obtain a lease6394 does not raise an error when node could not be found6395 without selective sync6396 does not perform Geo::RepositoryCleanupWorker6397 with selective sync by namespace6398 performs the clean up worker for projects that does not belong to the selected namespaces6399 does not leave orphaned entries in the project_registry table6400 with selective sync by shard6401 performs the clean up worker for synced projects that does not belong to the selected shards6402 does not leave orphaned entries in the project_registry table6403Geo::NodeUpdateService6404 #execute6405 updates the node6406 returns true when update succeeds6407 returns false when update fails6408 selective sync disabled6409 does not log an event to the Geo event log when adding restrictions6410 selective sync by namespaces6411 logs an event to the Geo event log when adding namespace restrictions6412 does not log an event to the Geo event log when removing namespace restrictions6413 does not log an event to the Geo event log when node is a primary node6414 selective sync by shards6415 logs an event to the Geo event log when adding shard restrictions6416 does not log an event to the Geo event log when removing shard restrictions6417 does not log an event to the Geo event log when node is a primary node6418Gitlab::Geo::JwtRequestDecoder6419 #decode6420 decodes correct data6421 fails to decode when node is disabled6422 decodes when node is disabled if `include_disabled!` is called first6423 fails to decode with wrong key6424 successfully decodes when clocks are off by IAT leeway6425 raises InvalidSignatureTimeError after expiring6426 raises InvalidSignatureTimeError to decode when clocks are not in sync6427 surfaces raised errors6428 raised_error: Gitlab::Geo::InvalidDecryptionKeyError, expected_error: Gitlab::Geo::InvalidDecryptionKeyError6429 raises expected error6430 raised_error: OpenSSL::Cipher::CipherError, expected_error: Gitlab::Geo::InvalidDecryptionKeyError6431 raises expected error6432 #valid_attributes?6433 returns true when all given attributes and decoded data are all the same6434 returns true when given attributes is a slice of decoded data6435 returns false when one given data doesnt match its corresponding decoded one6436Geo::RepositoryVerification::Primary::BatchWorker6437 #perform6438 skips backfill for repositories on other shards6439 skips backfill for projects on missing shards6440 skips backfill for projects with downed Gitaly server6441 when geo_repository_verification is disabled6442 does not schedule jobs6443Geo::ProjectSyncWorker6444 #perform6445 when project could not be found6446 logs an error and returns6447 when the shard associated to the project is unhealthy6448 logs an error and returns6449 when project repositories has never been synced6450 performs Geo::RepositorySyncService for the given project6451 performs Geo::WikiSyncService for the given project6452 when project repositories has been synced6453 does not perform Geo::RepositorySyncService for the given project6454 does not perform Geo::WikiSyncService for the given project6455 when last attempt to sync project repositories failed6456 performs Geo::RepositorySyncService for the given project6457 performs Geo::WikiSyncService for the given project6458Geo::UploadRegistryFinder6459 behaves like a framework registry finder6460 #execute6461 when user cannot read all Geo6462 is expected to be empty6463 when user can read all Geo6464 when admin mode is disabled6465 is expected to be empty6466 when admin mode is enabled6467 with an ids param6468 returns specified registries6469 without an ids param6470 returns all registries6471ApplicationHelper6472 #read_only_message6473 when not in a Geo secondary6474 returns a fallback message if database is readonly6475 returns nil when database is not read_only6476 maintenance mode6477 enabled6478 returns default message6479 returns user set custom maintenance mode message6480 when database is read-only6481 stacks read-only and maintenance mode messages6482 disabled6483 returns nil6484 on a geo secondary6485 maintenance mode on6486 returns messages for both6487 when in a Geo Secondary6488 includes button to visit primary node6489 returns a read-only Geo message with a link to primary node6490 returns a limited actions message when @limited_actions_message is true6491 includes a warning about database lag6492 event lag6493 includes a lag warning about a node lag6494 does not include a lag warning because the last event is too fresh6495 does not include a lag warning because the last event is processed6496 does not include a lag warning because there are no events yet6497Gitlab::Geo::LogCursor::Events::RepositoryCreatedEvent6498 #process6499 when the associated shard is healthy6500 schedules a Geo::ProjectSyncWorker6501 behaves like RepositoryCreatedEvent6502 creates a new project registry6503 sets resync attributes to true6504 sets resync_wiki to false if wiki_path is nil6505 when outside selective sync6506 does not create a new project registry6507 behaves like logs event source info6508 logs `job_id` and `event_id6509 when the associated shard is not healthy6510 does not schedule a Geo::ProjectSyncWorker job6511 behaves like RepositoryCreatedEvent6512 creates a new project registry6513 sets resync attributes to true6514 sets resync_wiki to false if wiki_path is nil6515 when outside selective sync6516 does not create a new project registry6517Geo::VerificationWorker6518 #perform6519 calls verify6520 when on a primary node6521 behaves like an idempotent worker6522 is labeled as idempotent6523 performs multiple times sequentially without raising an exception6524 calculates the checksum6525Geo::RenameRepositoryService6526 #execute6527 does not move project backed by hashed storage6528 project backed by legacy storage6529 moves the project repositories6530 raises an error when project repository can not be moved6531 raises an error when wiki repository can not be moved6532 #async_execute6533 starts the worker6534 returns job id6535Geo::EventLog6536 relationships6537 is expected to belong to cache_invalidation_event class_name => Geo::CacheInvalidationEvent required: false6538 is expected to belong to repositories_changed_event class_name => Geo::RepositoriesChangedEvent required: false6539 is expected to belong to repository_created_event class_name => Geo::RepositoryCreatedEvent required: false6540 is expected to belong to repository_deleted_event class_name => Geo::RepositoryDeletedEvent required: false6541 is expected to belong to repository_renamed_event class_name => Geo::RepositoryRenamedEvent required: false6542 is expected to belong to repository_updated_event class_name => Geo::RepositoryUpdatedEvent required: false6543 is expected to belong to reset_checksum_event class_name => Geo::ResetChecksumEvent required: false6544 is expected to belong to hashed_storage_migrated_event class_name => Geo::HashedStorageMigratedEvent required: false6545 is expected to belong to hashed_storage_attachments_event class_name => Geo::HashedStorageAttachmentsEvent required: false6546 is expected to belong to job_artifact_deleted_event class_name => Geo::JobArtifactDeletedEvent required: false6547 is expected to belong to container_repository_updated_event class_name => Geo::ContainerRepositoryUpdatedEvent required: false6548 .next_unprocessed_event6549 returns next unprocessed event6550 returns the oldest event when there are no processed events yet6551 returns nil when there are no events yet6552 .event_classes6553 returns all event class reflections6554 #event6555 returns nil when having no event associated6556 returns repository_created_event when set6557 returns repository_updated_event when set6558 returns repository_deleted_event when set6559 returns repository_renamed_event when set6560 returns repositories_changed_event when set6561 returns hashed_storage_migrated_event when set6562 returns hashed_storage_attachments_event when set6563 returns job_artifact_deleted_event when set6564 returns reset_checksum_event when set6565 returns cache_invalidation_event when set6566 #project_id6567 returns nil when having no event associated6568 returns nil when an event does not respond to project_id6569 returns event#project_id when an event respond to project_id6570Geo::ContainerRepositorySyncDispatchWorker6571 does not schedule anything when tracking database is not configured6572 does not schedule anything when node is disabled6573 does not schedule anything when registry replication is disabled6574 performs Geo::ContainerRepositorySyncWorker6575 performs Geo::ContainerRepositorySyncWorker for failed syncs6576 does not perform Geo::ContainerRepositorySyncWorker for synced repositories6577 with a failed sync6578 does not stall backfill6579 does not retry failed files when retry_at is tomorrow6580 retries failed files when retry_at is in the past6581SystemCheck::Geo::LicenseCheck6582 #check?6583 primary: true, geo_enabled: true, license_allows: true, check_result: true, pass_message: ""6584 checks the license6585 primary: true, geo_enabled: true, license_allows: false, check_result: false, pass_message: ""6586 checks the license6587 primary: true, geo_enabled: false, license_allows: true, check_result: true, pass_message: "License supports Geo, but Geo is not enabled"6588 checks the license6589 primary: true, geo_enabled: false, license_allows: false, check_result: true, pass_message: "License does not support Geo, and Geo is not enabled"6590 checks the license6591 primary: false, geo_enabled: true, license_allows: true, check_result: true, pass_message: ""6592 checks the license6593 primary: false, geo_enabled: true, license_allows: false, check_result: true, pass_message: "License only required on a primary site"6594 checks the license6595 primary: false, geo_enabled: false, license_allows: true, check_result: true, pass_message: ""6596 checks the license6597 primary: false, geo_enabled: false, license_allows: false, check_result: true, pass_message: ""6598 checks the license6599Geo::HashedStorageMigratedEvent6600 relationships6601 is expected to belong to project required: false6602 validations6603 is expected to validate that :project cannot be empty/falsy6604 is expected to validate that :repository_storage_name cannot be empty/falsy6605 is expected to validate that :old_disk_path cannot be empty/falsy6606 is expected to validate that :new_disk_path cannot be empty/falsy6607 is expected to validate that :old_wiki_disk_path cannot be empty/falsy6608 is expected to validate that :new_wiki_disk_path cannot be empty/falsy6609 is expected to validate that :new_storage_version cannot be empty/falsy6610Geo::SnippetRepositoryRegistryFinder6611 behaves like a framework registry finder6612 #execute6613 when user cannot read all Geo6614 is expected to be empty6615 when user can read all Geo6616 when admin mode is disabled6617 is expected to be empty6618 when admin mode is enabled6619 with an ids param6620 returns specified registries6621 without an ids param6622 returns all registries6623Gitlab::Geo::Replication::JobArtifactTransfer6624 #initialize6625 sets file_type to :ci_trace6626 sets file_id to the job artifact ID6627 sets filename to job artifact default_path6628 sets request_data with file_id and file_type6629 #download_from_primary6630 when the destination filename is a directory6631 returns a failed result6632 when the HTTP response is successful6633 returns a successful result6634 when the HTTP response is unsuccessful6635 when the HTTP response indicates a missing file on the primary6636 returns a failed result indicating primary_missing_file6637 when the HTTP response does not indicate a missing file on the primary6638 returns a failed result6639 when Tempfile fails6640 returns a failed result6641 invalid path6642 logs an error if the destination directory could not be created6643 when the checksum of the downloaded file does not match6644 returns a failed result6645 when the primary has not stored a checksum for the file6646 returns a successful result6647Gitlab::Cleanup::OrphanJobArtifactFiles6648 Geo secondary6649 prints cleaning Geo registries message6650 accumulates the number of cleaned Geo registries6651Geo::CacheInvalidationEventStore6652 #initialize6653 when the key is a String6654 does not modify the key6655 when the key is an Array6656 expands the key6657 #create6658 behaves like a Geo event store6659 when running on a secondary node6660 does not create an event6661 when running on a primary node6662 does not create an event if there are no secondary nodes6663 creates an event6664 when file subject is not on local store6665 creates an event (PENDING: No file subject defined, skipping)6666 when running on a primary node6667 tracks the cache key that should be invalidated6668 logs an error message when event creation fail6669Geo::HashedStorageMigrationService6670 #execute6671 does not move project backed by hashed storage6672 project backed by legacy storage6673 moves the project repositories6674 raises an error when project repository can not be moved6675 raises an error when wiki repository can not be moved6676 #async_execute6677 starts the worker6678 returns job id6679Gitlab::Geo::Replication::FileTransfer6680 #execute6681 user avatar6682 sets an absolute path6683 #download_from_primary6684 when pre-conditions are not satisfied6685 returns a skipped result6686 when the HTTP response is successful6687 returns a successful result6688 when the HTTP response is unsuccessful6689 when the HTTP response indicates a missing file on the primary6690 returns a failed result indicating primary_missing_file6691 when the HTTP response does not indicate a missing file on the primary6692 returns a failed result6693 when Tempfile fails6694 returns a failed result6695 invalid path6696 logs an error if the destination directory could not be created6697 when the checksum of the downloaded file does not match6698 returns a failed result6699 when the primary has not stored a checksum for the file6700 returns a successful result6701Geo::DeletedProject6702 attributes6703 is expected to respond to #id6704 is expected to respond to #name6705 is expected to respond to #disk_path6706 validations6707 is expected to validate that :id cannot be empty/falsy6708 is expected to validate that :name cannot be empty/falsy6709 is expected to validate that :disk_path cannot be empty/falsy6710 attributes6711 is expected to respond to #id6712 is expected to respond to #name6713 is expected to respond to #disk_path6714 #full_path6715 is an alias for disk_path6716 #repository6717 returns a valid repository6718 #repository_storage6719 returns the initialized value when set6720 picks storage from ApplicationSetting when value is not initialized6721 #wiki6722 returns a valid wiki repository6723 #wiki_path6724 returns the wiki repository path on disk6725 #run_after_commit6726 runs the given block changing self to the caller6727Geo::ContainerRepositorySyncService6728 lease handling6729 returns the lease when sync succeeds6730 returns the lease when sync fails6731 skips syncing repositories if cannot obtain a lease6732 #execute6733 fails registry record if there was exception6734 finishes registry record if there was no exception6735 finishes registry record if there was no exception and registy does not exist6736 race condition when ContainerRepositoryUpdatedEvent was processed during a sync6737 reschedules the sync6738Projects::UpdateService#execute6739 triggering wiki Geo syncs6740 on a Geo primary6741 when enabling a wiki6742 creates a RepositoryUpdatedEvent6743 when we update project but not enabling a wiki6744 when the wiki is disabled6745 does not create a RepositoryUpdatedEvent6746 when the wiki was already enabled6747 does not create a RepositoryUpdatedEvent6748 not on a Geo node6749 does not create a RepositoryUpdatedEvent when enabling a wiki6750Geo::GroupWikiRepositoryRegistryFinder6751 behaves like a framework registry finder6752 #execute6753 when user cannot read all Geo6754 is expected to be empty6755 when user can read all Geo6756 when admin mode is disabled6757 is expected to be empty6758 when admin mode is enabled6759 with an ids param6760 returns specified registries6761 without an ids param6762 returns all registries6763Gitlab::Geo::LogCursor::Events::HashedStorageAttachmentsEvent6764 #process6765 does not create a new project registry6766 schedules a Geo::HashedStorageAttachmentsMigrationWorker6767 behaves like logs event source info6768 logs `job_id` and `event_id6769Geo::RepositoryVerification::Primary::SingleWorker6770 disables retrying of failed jobs6771 #perform6772 does not calculate the checksum when not running on a primary6773 does not calculate the checksum when project is pending deletion6774 does not raise an error when project could not be found6775 delegates the checksum calculation to Geo::RepositoryVerificationPrimaryService6776Geo::RepositoryDeletedEventStore6777 #create!6778 behaves like a Geo event store6779 when running on a secondary node6780 does not create an event6781 when running on a primary node6782 does not create an event if there are no secondary nodes6783 creates an event6784 when file subject is not on local store6785 creates an event (PENDING: No file subject defined, skipping)6786 when running on a primary node6787 tracks information for the deleted project6788Resolvers::Geo::GeoNodeResolver6789 #resolve6790 when the user has permission to view Geo data6791 with a name6792 when the given name matches a node6793 returns the GeoNode6794 when the given name does not match any node6795 returns nil6796 without a name6797 when the GitLab instance has a current Geo node6798 returns the GeoNode6799 when the GitLab instance does not have a current Geo node6800 returns nil6801 when the user does not have permission to view Geo data6802 returns nil6803EE::API::Entities::GeoNodeStatus6804 #healthy6805 when node is healthy6806 returns true6807 when node is unhealthy6808 returns false6809 #health6810 when node is healthy6811 exposes the health message6812 when node is unhealthy6813 exposes the error message6814 #job_artifacts_synced_in_percentage6815 formats as percentage6816 #container_repositories_synced_in_percentage6817 formats as percentage6818 #design_repositories_synced_in_percentage6819 formats as percentage6820 #repositories_synced_in_percentage6821 formats as percentage6822 #replication_slots_used_in_percentage6823 formats as percentage6824 #namespaces6825 returns empty array when full sync is active6826 returns array of namespace ids and paths for selective sync6827 #storage_shards6828 returns the config6829 secondary Geo node6830 is expected to have key :storage_shards6831 is expected to have key :storage_shards_match6832Geo::RepositoryVerification::Secondary::SchedulerWorker6833 #perform6834 skips verification for repositories on other shards6835 skips verification for projects on missing shards6836 skips verification for projects with downed Gitaly server6837 skips verification for projects on shards excluded by selective sync6838 when geo_repository_verification is disabled6839 does not schedule jobs6840Geo::HashedStorageMigratedEventStore6841 #create!6842 behaves like a Geo event store6843 when running on a secondary node6844 does not create an event6845 when running on a primary node6846 does not create an event if there are no secondary nodes6847 creates an event6848 when file subject is not on local store6849 creates an event (PENDING: No file subject defined, skipping)6850 when running on a primary node6851 tracks project attributes6852Geo::Batch::ProjectRegistrySchedulerWorker6853 #perform6854 when operation is :reverify_repositories6855 schedules batches of repositories for reverify6856 does nothing if exclusive lease is already acquired6857 when operation is :resync_repositories6858 schedules batches of repositories for resync6859 does nothing if exclusive lease is already acquired6860 when informed operation is unknown/invalid6861 fails with ArgumentError6862Geo::ContainerRepositoryUpdatedEventStore6863 #create6864 behaves like a Geo event store6865 when running on a secondary node6866 does not create an event6867 when running on a primary node6868 does not create an event if there are no secondary nodes6869 creates an event6870 when file subject is not on local store6871 creates an event (PENDING: No file subject defined, skipping)6872 when running on a primary node6873 refers to a container repository6874 logs an error message when event creation fail6875SystemCheck::Geo::CurrentNodeCheck6876 #check?6877 when the current machine has a matching GeoNode6878 returns true6879 when the current machine does not have a matching GeoNode6880 returns false6881 .check_pass6882 outputs additional helpful info6883Geo::HashedStorageAttachmentsMigrationService6884 #execute6885 when succeeds6886 moves attachments to hashed storage layout6887 when original folder does not exist anymore6888 skips moving folders and go to next6889 when target folder already exists6890 raises AttachmentMigrationError6891 #async_execute6892 starts the worker6893 returns job id6894Gitlab::Geo::GeoTasks6895 .set_primary_geo_node6896 sets the primary node6897 returns error when there is already a Primary node6898 .set_secondary_as_primary6899 aborts if the primary node is not set6900 aborts if current node is not identified6901 does nothing if run on a node that is not a secondary6902 sets the secondary as the primary node6903 sets the secondary as the primary node, even if the secondary is disabled6904Geo::Eventable6905 .up_to_event6906 finds only events up to the given geo event log id6907 .delete_with_limit6908 deletes a limited amount of rows6909 #consumer_klass_name6910 returns the even class name without the module part6911Resolvers::Geo::SnippetRepositoryRegistriesResolver6912 behaves like a Geo registries resolver6913 #resolve6914 when the parent object is the current node6915 when the user has permission to view Geo data6916 when admin mode is enabled6917 when the ids argument is null6918 returns registries, in order6919 when the ids argument is present6920 returns the requested registries, in order6921 when admin mode is disabled6922 returns nothing6923 when the user does not have permission to view Geo data6924 returns nothing6925 when the parent object is not the current node6926 when the user has permission to view Geo data6927 returns nothing, because we can't query other nodes' tracking databases6928Gitlab::Patch::GeoDatabaseTasks6929 #dump_filename6930 with geo database config name6931 returns the path for the structure.sql file in the Geo database dir6932 with other database config name6933 calls super6934 #cache_dump_filename6935 with geo database config name6936 returns the path for the schema_cache file in the Geo database dir6937 with other database config name6938 calls super6939Geo::HashedStorageAttachmentsEventStore6940 #create!6941 behaves like a Geo event store6942 when running on a secondary node6943 does not create an event6944 when running on a primary node6945 does not create an event if there are no secondary nodes6946 creates an event6947 when file subject is not on local store6948 creates an event (PENDING: No file subject defined, skipping)6949 when running on a primary node6950 tracks project attributes6951Types::Geo::MergeRequestDiffRegistryType6952 has the expected fields (other than those included in RegistryType)6953 behaves like a Geo registry type6954 is expected to require graphql authorizations :read_geo_registry6955 has the expected fields6956Geo::RepositoryCleanupWorker6957 #perform6958 skips repository clean up if the current node is a primary6959 when node does not have selective sync restriction6960 does not delegate project removal6961 when node has selective sync restriction6962 does not delegate project removal for projects that belong to selected namespaces to replicate6963 delegates project removal for projects that do not belong to selected namespaces to replicate6964Gitlab::Geo::Replication::JobArtifactDownloader6965 #execute6966 with job artifact6967 on local storage6968 downloads the job artifact from the primary6969 on object storage6970 streams the job artifact file from the primary to object storage6971 with object storage sync disabled6972 returns a result indicating a failure before a transfer was attempted6973 with object storage disabled6974 returns a result indicating a failure before a transfer was attempted6975 with unknown object ID6976 returns a result indicating a failure before a transfer was attempted6977Geo::VerificationStateBackfillService6978 #execute6979 when a replicable is missing a corresponding verifiable6980 adds a new verifiable6981 when some replicables were removed from scope6982 deletes the verifiable6983Geo::RegistryPolicy6984 when the user is an admin6985 when admin mode is enabled6986 allows read_geo_registry for any registry6987 when admin mode is disabled6988 disallows read_geo_registry for any registry6989 when the user is not an admin6990 disallows read_geo_registry for any registry6991Resolvers::Geo::MergeRequestDiffRegistriesResolver6992 behaves like a Geo registries resolver6993 #resolve6994 when the parent object is the current node6995 when the user has permission to view Geo data6996 when admin mode is enabled6997 when the ids argument is null6998 returns registries, in order6999 when the ids argument is present7000 returns the requested registries, in order7001 when admin mode is disabled7002 returns nothing7003 when the user does not have permission to view Geo data7004 returns nothing7005 when the parent object is not the current node7006 when the user has permission to view Geo data7007 returns nothing, because we can't query other nodes' tracking databases7008Geo::NodeCreateService7009 #execute7010 creates a new node with valid params7011 does not create a node with invalid params7012 returns true when creation succeeds7013 returns false when creation fails7014 parses the namespace_ids when node have namespace restrictions7015Gitlab::Geo::Logger7016 uses the same log_level defined in Rails7017Types::Geo::RegistryStateEnum7018 is expected to eq "RegistryState"7019 exposes the correct registry states7020Geo::DestroyWorker7021 is labeled as idempotent7022 performs multiple times sequentially without raising an exception7023 calls replicator#replicate_destroy7024 #perform7025 calls replicator#replicate_destroy7026Geo::Batch::ProjectRegistryWorker7027 #perform7028 when operation is :reverify_repositories7029 flags repositories for reverify7030 when operation is :resync_repositories7031 flags repositories for resync7032 when informed operation is unknown/invalid7033 fails with ArgumentError7034Resolvers::Geo::UploadRegistriesResolver7035 behaves like a Geo registries resolver7036 #resolve7037 when the parent object is the current node7038 when the user has permission to view Geo data7039 when admin mode is enabled7040 when the ids argument is null7041 returns registries, in order7042 when the ids argument is present7043 returns the requested registries, in order7044 when admin mode is disabled7045 returns nothing7046 when the user does not have permission to view Geo data7047 returns nothing7048 when the parent object is not the current node7049 when the user has permission to view Geo data7050 returns nothing, because we can't query other nodes' tracking databases7051GeoNodeFinder7052 #execute7053 when user cannot read all Geo7054 is expected to be empty7055 when user can read all Geo7056 filtered by ID7057 when multiple IDs are given7058 returns specified Geo nodes7059 when a single ID is given7060 returns specified Geo nodes7061 when an empty array is given7062 returns none7063 filtered by name7064 when multiple names are given7065 returns specified Geo nodes7066 when a single name is given7067 returns specified Geo nodes7068 when an empty array is given7069 returns none7070 not filtered by ID or name7071 returns all Geo nodes7072Geo::TrackingBase7073 raises when Geo database is not configured7074 raises when Geo database is not found7075Resolvers::Geo::GroupWikiRepositoryRegistriesResolver7076 behaves like a Geo registries resolver7077 #resolve7078 when the parent object is the current node7079 when the user has permission to view Geo data7080 when admin mode is enabled7081 when the ids argument is null7082 returns registries, in order7083 when the ids argument is present7084 returns the requested registries, in order7085 when admin mode is disabled7086 returns nothing7087 when the user does not have permission to view Geo data7088 returns nothing7089 when the parent object is not the current node7090 when the user has permission to view Geo data7091 returns nothing, because we can't query other nodes' tracking databases7092Geo::BlobUploadService7093 #initialize7094 initializes with valid attributes7095 #execute7096 works with valid attributes7097 errors with an invalid attributes7098 returns a file with valid attributes7099Geo::ResetChecksumEventStore7100 #create!7101 behaves like a Geo event store7102 when running on a secondary node7103 does not create an event7104 when running on a primary node7105 does not create an event if there are no secondary nodes7106 creates an event7107 when file subject is not on local store7108 creates an event (PENDING: No file subject defined, skipping)7109 when running on a primary node7110 tracks the project that checksum must be wiped7111Gitlab::Geo::GitPushHttp7112 #cache_referrer_node7113 when geo_node_id is present7114 when geo_node_id is an integer7115 stores the ID in cache7116 stores the ID with an expiration7117 when geo_node_id is not an integer7118 does not cache anything7119 when geo_node_id is blank7120 does not cache anything7121 #fetch_referrer_node7122 when there is a cached ID7123 deletes the key7124 when the GeoNode exists7125 returns the GeoNode with the cached ID7126 when the GeoNode does not exist7127 returns nil7128 when there is no cached ID7129 returns nil7130Gitlab::Geo::LogCursor::Lease7131 .exclusive_lease7132 returns an exclusive lease instance7133 .renew!7134 returns an exclusive lease instance7135 logs with the correct caller class7136 .try_obtain_with_ttl7137 returns zero when there is no lease7138Cannot obtain an exclusive lease. There must be another process already in execution.7139 does not log an error or info message when could not obtain lease7140 returns > 0 if there is a lease7141 returns > 0 if there was an error7142Geo::RepositoryBaseSyncService7143 #lease_key7144 returns a key in the correct pattern7145 #lease_timeout7146 returns a lease timeout value7147 #repository7148 raises a NotImplementedError7149 with a repository defined7150 #fetch_geo_mirror7151 delegates to repository#fetch_as_mirror7152 #clone_geo_mirror7153 delegates to repository#clone_as_mirror7154Geo::RepositoryRenamedEventStore7155 #create!7156 behaves like a Geo event store7157 when running on a secondary node7158 does not create an event7159 when running on a primary node7160 does not create an event if there are no secondary nodes7161 creates an event7162 when file subject is not on local store7163 creates an event (PENDING: No file subject defined, skipping)7164 when running on a primary node7165 tracks old and new paths for project repositories7166SystemCheck::RakeTask::GeoTask7167 .checks7168 primary node7169 secondary checks is skipped7170 secondary node7171 secondary checks is called7172 Geo disabled7173 secondary checks is skipped7174 Geo is enabled but node is not identified7175 secondary checks is called7176Geo::RepositoriesChangedEventStore7177 #create!7178 behaves like a Geo event store7179 when running on a secondary node7180 does not create an event7181 when running on a primary node7182 does not create an event if there are no secondary nodes7183 creates an event7184 when file subject is not on local store7185 creates an event (PENDING: No file subject defined, skipping)7186GeoRepositoryDestroyWorker7187 #perform7188 with an existing project7189 delegates project removal to Geo::RepositoryDestroyService7190 with project ID from an orphaned registry7191 delegates project removal to Geo::RepositoryDestroyService7192Geo::ReplicationToggleRequestService7193 expires the geo cache on success7194 does not expire the geo cache on failure7195 behaves like a geo RequestService7196 #execute7197 parses a 401 response7198 alerts on bad SSL certficate7199 handles connection refused7200 returns meaningful error message when primary uses incorrect db key7201 gracefully handles case when primary is deleted7202Gitlab::Geo::LogCursor::EventLogs7203 #fetch_in_batches7204 when there are no event_logs7205 does not yield a group of events7206 when there are event logs7207 when there is no event_log_state7208 does not yield a group of events7209 when there is already an event_log_state7210 saves last event as last processed after yielding7211 yields a group of events7212Geo::VerificationBatchWorker7213 uses a Geo queue7214 #perform7215 calls verify_batch7216 #remaining_work_count7217 returns remaining_verification_batch_count7218 #max_running_jobs7219 returns verification_max_capacity_per_replicator_class7220Geo::RepositoryCreatedEvent7221 relationships7222 is expected to belong to project required: false7223 validations7224 is expected to validate that :project cannot be empty/falsy7225 is expected to validate that :project_name cannot be empty/falsy7226 is expected to validate that :repo_path cannot be empty/falsy7227 is expected to validate that :repository_storage_name cannot be empty/falsy7228Types::Geo::PackageFileRegistryType7229 has the expected fields (other than those included in RegistryType)7230 behaves like a Geo registry type7231 is expected to require graphql authorizations :read_geo_registry7232 has the expected fields7233Geo::DesignRepositorySyncWorker7234 #perform7235 runs DesignRepositorySyncService7236 logs error when repository does not exist7237Geo::ContainerRepositorySync7238 #execute7239 single manifest7240 determines list of tags to sync and to remove correctly7241 when primary repository has no tags7242 removes secondary tags and does not fail7243 manifest list7244 pushes the correct blobs and manifests7245Types::Geo::PagesDeploymentRegistryType7246 has the expected fields (other than those included in RegistryType)7247 behaves like a Geo registry type7248 is expected to require graphql authorizations :read_geo_registry7249 has the expected fields7250Geo::VerifiableModel7251 when separate table is used for verification state7252-- create_table(:_test_dummy_model_with_separate_states, {:force=>true})7253 -> 0.0028s7254-- create_table(:_test_dummy_model_states, {:id=>false, :force=>true})7255 -> 0.0022s7256 .verification_state_model_key7257 returns the primary key of the state model7258-- drop_table(:_test_dummy_model_with_separate_states, {:force=>true})7259 -> 0.0017s7260-- drop_table(:_test_dummy_model_states, {:force=>true})7261 -> 0.0013s7262 when separate table is not used for verification state7263-- create_table(:dummy_models, {:force=>true})7264 -> 0.0032s7265 .verification_state_object7266 returns self7267 .verification_state_model_key7268 returns the primary key of the model7269-- drop_table(:dummy_models, {:force=>true})7270 -> 0.0020s7271Geo::ResetChecksumEvent7272 relationships7273 is expected to belong to project required: false7274 validations7275 is expected to validate that :project cannot be empty/falsy7276Types::Geo::UploadRegistryType7277 has the expected fields (other than those included in RegistryType)7278 behaves like a Geo registry type7279 is expected to require graphql authorizations :read_geo_registry7280 has the expected fields7281Types::Geo::TerraformStateVersionRegistryType7282 has the expected fields (other than those included in RegistryType)7283 behaves like a Geo registry type7284 is expected to require graphql authorizations :read_geo_registry7285 has the expected fields7286Geo::SecondaryUsageDataCronWorker7287 uses a cronjob queue7288 does not run for primary nodes7289 calls SecondaryUsageData update metrics when it obtains the lease7290 does not update metrics if it does not obtain the lease7291Geo::RepositoriesChangedEvent7292 relationships7293 is expected to belong to geo_node required: false7294 validations7295 is expected to validate that :geo_node cannot be empty/falsy7296Every Geo event7297 includes Geo::Eventable7298 has its class in Geo::EventLog::EVENT_CLASSES7299Gitlab::Geo::LogCursor::Events::CacheInvalidationEvent7300 #process7301 expires the cache of the given key7302 logs an info event7303Types::Geo::GeoNodeType7304 is expected to require graphql authorizations :read_geo_node7305 has the expected fields7306Geo::BatchEventCreateWorker7307 #perform7308 calls Gitlab::Geo::Replicator.bulk_create_events7309Geo::BaseFileService7310 #execute7311 requires a subclass overrides it7312Geo::SidekiqCronConfigWorker7313 #perform7314 runs the cron manager7315Geo::UploadState7316 is expected to belong to upload required: false inverse_of => upload_state7317Knapsack report was generated. Preview:7318{7319 "ee/spec/services/geo/registry_consistency_service_spec.rb": 544.5591151070003,7320 "ee/spec/models/geo/project_registry_spec.rb": 109.7263816070008,7321 "ee/spec/models/geo/terraform_state_version_registry_spec.rb": 70.19374529800007,7322 "ee/spec/replicators/geo/job_artifact_replicator_spec.rb": 36.517637006999394,7323 "ee/spec/models/geo/package_file_registry_spec.rb": 39.60535034500026,7324 "ee/spec/replicators/geo/pages_deployment_replicator_spec.rb": 39.38749328799986,7325 "ee/spec/models/geo/upload_registry_spec.rb": 32.78350470100031,7326 "ee/spec/replicators/geo/snippet_repository_replicator_spec.rb": 21.0619067130001,7327 "ee/spec/tasks/geo_rake_spec.rb": 41.2844984759995,7328 "ee/spec/lib/gitlab/geo/git_ssh_proxy_spec.rb": 28.453523344000132,7329 "ee/spec/models/geo/pipeline_artifact_registry_spec.rb": 35.6148354500001,7330 "ee/spec/replicators/geo/lfs_object_replicator_spec.rb": 18.241356782000366,7331 "ee/spec/services/geo/repository_sync_service_spec.rb": 19.608409435000794,7332 "ee/spec/services/geo/framework_repository_sync_service_spec.rb": 17.038879005000126,7333 "ee/spec/services/geo/design_repository_sync_service_spec.rb": 18.731422681000367,7334 "ee/spec/workers/geo/repository_shard_sync_worker_spec.rb": 27.3147294420005,7335 "ee/spec/finders/geo/job_artifact_legacy_registry_finder_spec.rb": 17.11599373900026,7336 "ee/spec/workers/geo/verification_state_backfill_worker_spec.rb": 20.691961800000172,7337 "ee/spec/workers/geo/file_download_dispatch_worker_spec.rb": 15.924584989000323,7338 "ee/spec/lib/gitlab/geo/replication/file_retriever_spec.rb": 9.338772807999703,7339 "ee/spec/services/geo/file_upload_service_spec.rb": 5.748446071999751,7340 "ee/spec/workers/geo/repository_verification/primary/shard_worker_spec.rb": 14.873545901999933,7341 "ee/spec/workers/geo/prune_event_log_worker_spec.rb": 11.034284115000446,7342 "ee/spec/finders/geo/repository_verification_finder_spec.rb": 10.438095831000282,7343 "ee/spec/models/snippet_repository_spec.rb": 19.24417505099973,7344 "ee/spec/lib/gitlab/geo_spec.rb": 2.609616409999944,7345 "ee/spec/workers/geo/registry_sync_worker_spec.rb": 17.443084199999248,7346 "ee/spec/services/geo/wiki_sync_service_spec.rb": 6.734026658999937,7347 "ee/spec/finders/geo/terraform_state_version_registry_finder_spec.rb": 11.832473935000053,7348 "ee/spec/models/concerns/geo/verification_state_spec.rb": 4.2201008800002455,7349 "ee/spec/models/geo/secondary_usage_data_spec.rb": 2.26402666300055,7350 "ee/spec/models/geo/group_wiki_repository_registry_spec.rb": 5.2766952570000285,7351 "ee/spec/lib/gitlab/geo/log_cursor/events/design_repository_updated_event_spec.rb": 10.723093819000496,7352 "ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb": 8.404808897000294,7353 "ee/spec/services/geo/repository_verification_primary_service_spec.rb": 3.97791498100014,7354 "ee/spec/workers/geo/repository_sync_worker_spec.rb": 8.697446325999408,7355 "ee/spec/finders/geo/design_registry_finder_spec.rb": 3.7844302720004634,7356 "ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb": 4.853869695999492,7357 "ee/spec/services/geo/metrics_update_service_spec.rb": 5.157597972000076,7358 "ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb": 1.213523272999737,7359 "ee/spec/replicators/geo/group_wiki_repository_replicator_spec.rb": 4.297542463999889,7360 "ee/spec/workers/geo/repositories_clean_up_worker_spec.rb": 3.790767970000161,7361 "ee/spec/services/geo/node_update_service_spec.rb": 3.174598741000409,7362 "ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb": 1.901035118999971,7363 "ee/spec/workers/geo/repository_verification/primary/batch_worker_spec.rb": 4.481950174999838,7364 "ee/spec/workers/geo/project_sync_worker_spec.rb": 7.468622084999879,7365 "ee/spec/finders/geo/upload_registry_finder_spec.rb": 4.300371543999972,7366 "ee/spec/helpers/application_helper_spec.rb": 2.1765008009997473,7367 "ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb": 5.059557713000686,7368 "ee/spec/workers/geo/verification_worker_spec.rb": 3.4610488099997383,7369 "ee/spec/services/geo/rename_repository_service_spec.rb": 3.4165844190001735,7370 "ee/spec/models/geo/event_log_spec.rb": 1.190127629000017,7371 "ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb": 5.30000038199978,7372 "ee/spec/lib/system_check/geo/license_check_spec.rb": 0.39358951700069156,7373 "ee/spec/models/geo/hashed_storage_migrated_event_spec.rb": 0.391041148000113,7374 "ee/spec/finders/geo/snippet_repository_registry_finder_spec.rb": 2.5707580870002857,7375 "ee/spec/lib/gitlab/geo/replication/job_artifact_transfer_spec.rb": 1.5638015200001973,7376 "ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_spec.rb": 1.6238781780002682,7377 "ee/spec/services/geo/cache_invalidation_event_store_spec.rb": 0.33833550799954537,7378 "ee/spec/services/geo/hashed_storage_migration_service_spec.rb": 3.1374971679997543,7379 "ee/spec/lib/gitlab/geo/replication/file_transfer_spec.rb": 1.9773468329995012,7380 "ee/spec/models/geo/deleted_project_spec.rb": 0.7745054259994504,7381 "ee/spec/services/geo/container_repository_sync_service_spec.rb": 3.6596871380006633,7382 "ee/spec/services/projects/update_service_spec.rb": 2.5548252010003125,7383 "ee/spec/finders/geo/group_wiki_repository_registry_finder_spec.rb": 1.4528619040002013,7384 "ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb": 1.461307571999896,7385 "ee/spec/workers/geo/repository_verification/primary/single_worker_spec.rb": 0.8719480059999114,7386 "ee/spec/services/geo/repository_deleted_event_store_spec.rb": 0.5593485019999207,7387 "ee/spec/graphql/resolvers/geo/geo_node_resolver_spec.rb": 0.5223847400002342,7388 "ee/spec/lib/ee/api/entities/geo_node_status_spec.rb": 1.0828885609998906,7389 "ee/spec/workers/geo/repository_verification/secondary/scheduler_worker_spec.rb": 2.616074737999952,7390 "ee/spec/services/geo/hashed_storage_migrated_event_store_spec.rb": 1.8979410700003427,7391 "ee/spec/workers/geo/batch/project_registry_scheduler_worker_spec.rb": 2.2393626279999808,7392 "ee/spec/services/geo/container_repository_updated_event_store_spec.rb": 1.8062389489996349,7393 "ee/spec/lib/system_check/geo/current_node_check_spec.rb": 0.5166187410004568,7394 "ee/spec/services/geo/hashed_storage_attachments_migration_service_spec.rb": 1.943258700000115,7395 "ee/spec/lib/gitlab/geo/geo_tasks_spec.rb": 2.140051127999868,7396 "ee/spec/models/concerns/geo/eventable_spec.rb": 2.627239766999992,7397 "ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb": 1.0183302650002588,7398 "ee/spec/lib/gitlab/patch/geo_database_tasks_spec.rb": 0.14619135900011315,7399 "ee/spec/services/geo/hashed_storage_attachments_event_store_spec.rb": 1.7089031890000115,7400 "ee/spec/graphql/types/geo/merge_request_diff_registry_type_spec.rb": 0.21016564599995036,7401 "ee/spec/workers/geo/repository_cleanup_worker_spec.rb": 2.0705328740004916,7402 "ee/spec/lib/gitlab/geo/replication/job_artifact_downloader_spec.rb": 2.366874432000259,7403 "ee/spec/workers/geo/verification_state_backfill_service_spec.rb": 0.5028971040001124,7404 "ee/spec/policies/geo/registry_policy_spec.rb": 1.4949809850004385,7405 "ee/spec/graphql/resolvers/geo/merge_request_diff_registries_resolver_spec.rb": 1.5481306839992612,7406 "ee/spec/services/geo/node_create_service_spec.rb": 0.8651116780001757,7407 "ee/spec/lib/gitlab/geo/logger_spec.rb": 0.15922957599923393,7408 "ee/spec/graphql/types/geo/registry_state_enum_spec.rb": 0.13570455099943501,7409 "ee/spec/workers/geo/destroy_worker_spec.rb": 0.26363376500012237,7410 "ee/spec/workers/geo/batch/project_registry_worker_spec.rb": 1.1637759949999236,7411 "ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb": 1.6854374639997332,7412 "ee/spec/finders/geo_node_finder_spec.rb": 0.6849078659997758,7413 "ee/spec/models/geo/tracking_base_spec.rb": 0.13236041200070758,7414 "ee/spec/graphql/resolvers/geo/group_wiki_repository_registries_resolver_spec.rb": 0.7035078620001514,7415 "ee/spec/services/geo/blob_upload_service_spec.rb": 0.9132049079998978,7416 "ee/spec/services/geo/reset_checksum_event_store_spec.rb": 0.46722324199981813,7417 "ee/spec/lib/gitlab/geo/git_push_http_spec.rb": 0.3566924549995747,7418 "ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb": 0.18381929099996341,7419 "ee/spec/services/geo/repository_base_sync_service_spec.rb": 0.36556282299989107,7420 "ee/spec/services/geo/repository_renamed_event_store_spec.rb": 0.5873951259991372,7421 "ee/spec/lib/system_check/rake_task/geo_task_spec.rb": 0.37194981100037694,7422 "ee/spec/services/geo/repositories_changed_event_store_spec.rb": 0.4314941289994749,7423 "ee/spec/workers/geo_repository_destroy_worker_spec.rb": 0.9152286769995044,7424 "ee/spec/services/geo/replication_toggle_request_service_spec.rb": 0.3905159080004523,7425 "ee/spec/lib/gitlab/geo/log_cursor/event_logs_spec.rb": 0.5621565120000014,7426 "ee/spec/workers/geo/verification_batch_worker_spec.rb": 0.12376637299985305,7427 "ee/spec/models/geo/repository_created_event_spec.rb": 0.17746431199975632,7428 "ee/spec/graphql/types/geo/package_file_registry_type_spec.rb": 0.1081974970002193,7429 "ee/spec/workers/geo/design_repository_sync_worker_spec.rb": 0.39087015699988115,7430 "ee/spec/services/geo/container_repository_sync_spec.rb": 0.665908008999395,7431 "ee/spec/graphql/types/geo/pages_deployment_registry_type_spec.rb": 0.37423062099969684,7432 "ee/spec/models/concerns/geo/verifiable_model_spec.rb": 0.2451385290005419,7433 "ee/spec/models/geo/reset_checksum_event_spec.rb": 0.07665458399969793,7434 "ee/spec/graphql/types/geo/upload_registry_type_spec.rb": 0.14251235899973835,7435 "ee/spec/graphql/types/geo/terraform_state_version_registry_type_spec.rb": 0.10953140700075892,7436 "ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb": 0.11942337500022404,7437 "ee/spec/models/geo/repositories_changed_event_spec.rb": 0.1751394930006427,7438 "ee/spec/models/geo/every_geo_event_spec.rb": 0.17105883399926824,7439 "ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb": 0.10380050799994933,7440 "ee/spec/graphql/types/geo/geo_node_type_spec.rb": 0.053824669000277936,7441 "ee/spec/workers/geo/batch_event_create_worker_spec.rb": 0.11971422500027984,7442 "ee/spec/services/geo/base_file_service_spec.rb": 0.1017098080001233,7443 "ee/spec/workers/geo/sidekiq_cron_config_worker_spec.rb": 0.07838902399998915,7444 "ee/spec/models/geo/upload_state_spec.rb": 0.076675932999933147445}7446Knapsack global time execution for tests: 23m 58s7447Pending: (Failures listed here are expected and do not affect your suite's status)7448 1) Geo::CacheInvalidationEventStore#create behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7449 # No file subject defined, skipping7450 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367451 2) Geo::RepositoryDeletedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7452 # No file subject defined, skipping7453 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367454 3) Geo::HashedStorageMigratedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7455 # No file subject defined, skipping7456 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367457 4) Geo::ContainerRepositoryUpdatedEventStore#create behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7458 # No file subject defined, skipping7459 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367460 5) Geo::HashedStorageAttachmentsEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7461 # No file subject defined, skipping7462 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367463 6) Geo::ResetChecksumEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7464 # No file subject defined, skipping7465 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367466 7) Geo::RepositoryRenamedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7467 # No file subject defined, skipping7468 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367469 8) Geo::RepositoriesChangedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event7470 # No file subject defined, skipping7471 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:367472Finished in 24 minutes 5 seconds (files took 1 minute 41.32 seconds to load)74732293 examples, 0 failures, 8 pending7474RSpec exited with 0.7475No examples to retry, congrats!7477Not uploading cache ruby-gems-bullseye-9-non_protected due to policy7478Not uploading cache gitaly-ruby-gems-bullseye-9-non_protected due to policy7480Uploading artifacts...7481coverage/: found 5 matching files and directories 7482crystalball/: found 2 matching files and directories 7483WARNING: deprecations/: no matching files 7484knapsack/: found 3 matching files and directories 7485rspec/: found 8 matching files and directories 7486WARNING: tmp/capybara/: no matching files 7487log/*.log: found 16 matching files and directories 7488WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2391235527/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7489WARNING: Retrying... context=artifacts-uploader error=request redirected7490Uploading artifacts as "archive" to coordinator... 201 Created id=2391235527 responseStatus=201 Created token=WYtYhKNi7491Uploading artifacts...7492rspec/junit_rspec.xml: found 1 matching files and directories 7493WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2391235527/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7494WARNING: Retrying... context=artifacts-uploader error=request redirected7495Uploading artifacts as "junit" to coordinator... 201 Created id=2391235527 responseStatus=201 Created token=WYtYhKNi7497Job succeeded