rspec unit pg12 18/22
Passed Started
by
@jerasmus

Jacques Erasmus
1Running with gitlab-runner 14.10.0~beta.50.g1f2fe53e (1f2fe53e)2 on green-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 4bq1s9yM3 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 ...13Waiting for services to be up and running...14Authenticating with credentials from job payload (GitLab Registry)15Pulling 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 ...16Using 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 ...18Running on runner-4bq1s9ym-project-278964-concurrent-0 via runner-4bq1s9ym-private-1651133266-656f0463...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 103295, done. 25remote: Counting objects: 100% (103295/103295), done. 26remote: Compressing objects: 100% (73122/73122), done. 27remote: Total 103295 (delta 39893), reused 68736 (delta 26495), pack-reused 0 28Receiving objects: 100% (103295/103295), 104.30 MiB | 29.72 MiB/s, done.29Resolving deltas: 100% (39893/39893), done.31 * [new ref] refs/pipelines/526772223 -> refs/pipelines/52677222332 * [new branch] master -> origin/master33Checking out d5ce7ff4 as master...34Skipping Git submodules setup36Checking cache for ruby-gems-bullseye-9-protected...37Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-bullseye-9-protected 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-bullseye-9-protected...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-bullseye-9-protected 41Successfully extracted cache43Downloading artifacts for compile-test-assets (2388875148)...44Downloading artifacts from coordinator... ok id=2388875148 responseStatus=200 OK token=Hwaf-unk45Downloading artifacts for detect-tests (2388875168)...46Downloading artifacts from coordinator... ok id=2388875168 responseStatus=200 OK token=C51XdtG347Downloading artifacts for retrieve-tests-metadata (2388875184)...48Downloading artifacts from coordinator... ok id=2388875184 responseStatus=200 OK token=DVXPaLbN49Downloading artifacts for setup-test-env (2388875163)...50Downloading artifacts from coordinator... ok id=2388875163 responseStatus=200 OK token=qLL8tAwL52Using 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 ...53$ echo $FOSS_ONLY54$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb55$ export GOPATH=$CI_PROJECT_DIR/.go56$ mkdir -p $GOPATH57$ source scripts/utils.sh58$ source scripts/prepare_build.sh59Successfully installed bundler-2.3.6601 gem installed61Bundler version 2.3.662production:development63Settings are listed in order of priority. The top value will be used.64clean65Set for the current user (/root/.bundle/config): true66install_flags67Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"68path69Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"70without71Set via BUNDLE_WITHOUT: [:production, :development]72$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check73Don't run Bundler as root. Bundler can ask for sudo if it is needed, and74installing your bundle as root will break this application for all non-root75users on this machine.76The Gemfile's dependencies are satisfied77==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 10 seconds.78$ bundle pristine pg79Installing pg 1.2.3 with native extensions80==> 'bundle pristine pg' succeeded in 15 seconds.81Using decomposed database config (config/database.yml.decomposed-postgresql)82$ setup_db_user_only83CREATE ROLE84GRANT85==> 'setup_db_user_only' succeeded in 0 seconds.86$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee87DEPRECATION 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)88DEPRECATION 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)89DEPRECATION 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)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 <class:Kubernetes> at app/models/clusters/platforms/kubernetes.rb:34)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 block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)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 exists? at lib/gitlab/database/reflection.rb:94)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 exists? at lib/gitlab/database/reflection.rb:94)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 block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)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 exists? at lib/gitlab/database/reflection.rb:94)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 block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)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 <class:Integration> at app/models/integration.rb:52)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 <class:Helm> at app/models/clusters/applications/helm.rb:12)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:Prometheus> at app/models/clusters/applications/prometheus.rb:23)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 exists? at lib/gitlab/database/reflection.rb:94)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 exists? at lib/gitlab/database/reflection.rb:94)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 connected? at ee/lib/gitlab/geo.rb:79)107Dropped database 'gitlabhq_test'108Dropped database 'gitlabhq_test_ci'109Dropped database 'gitlabhq_geo_test'110Created database 'gitlabhq_test'111Created database 'gitlabhq_test_ci'112Created database 'gitlabhq_geo_test'113DEPRECATION 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)114Dropped database 'gitlabhq_geo_test'115Created database 'gitlabhq_geo_test'116==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 45 seconds.117$ run_timed_command "gem install knapsack --no-document"118$ gem install knapsack --no-document119Successfully installed knapsack-4.0.01201 gem installed121==> 'gem install knapsack --no-document' succeeded in 1 seconds.122$ run_timed_command "scripts/gitaly-test-spawn"123$ scripts/gitaly-test-spawn124find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory125find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory126find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory127Don't run Bundler as root. Bundler can ask for sudo if it is needed, and128installing your bundle as root will break this application for all non-root129users on this machine.130Using abstract_type 0.0.7131Using concurrent-ruby 1.1.10132Using i18n 1.10.0133Using minitest 5.15.0134Using tzinfo 2.0.4135Using zeitwerk 2.5.4136Using activesupport 6.1.4.7137Using builder 3.2.4138Using erubi 1.10.0139Using mini_portile2 2.8.0140Using racc 1.6.0141Using nokogiri 1.13.3 (x86_64-linux)142Using rails-dom-testing 2.0.3143Using crass 1.0.6144Using loofah 2.16.0145Using rails-html-sanitizer 1.4.2146Using actionview 6.1.4.7147Using rack 2.2.3148Using rack-test 1.1.0149Using actionpack 6.1.4.7150Using ice_nine 0.11.2151Using thread_safe 0.3.6152Using memoizable 0.4.2153Using adamantium 0.2.0154Using public_suffix 4.0.6155Using addressable 2.7.0156Using ast 2.4.2157Using binding_ninja 0.2.3158Using bundler 2.1.4159Using charlock_holmes 0.7.7160Using coderay 1.1.2161Using equalizer 0.0.11162Using concord 0.1.5163Using diff-lcs 1.3164Using dotenv 2.7.6165Using escape_utils 1.2.1166Using factory_bot 5.0.2167Using multipart-post 2.1.1168Using faraday 1.0.1169Using ffi 1.15.3170Using json 2.6.1171Using gemojione 3.3.0172Using mini_mime 1.0.2173Using rugged 1.2.0174Using github-linguist 7.12.1175Using github-markup 1.7.0176Using mime-types-data 3.2020.1104177Using mime-types 3.3.1178Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1179Using rouge 3.27.0180Using sanitize 6.0.0181Using stringex 2.8.5182Using gitlab-gollum-lib 4.2.7.10.gitlab.2183Using google-protobuf 3.19.1 (x86_64-linux)184Using googleapis-common-protos-types 1.3.0185Using grpc 1.42.0 (x86_64-linux)186Using opentracing 0.5.0187Using thrift 0.15.0188Using jaeger-client 1.1.0189Using pg_query 2.1.1190Using redis 4.4.0191Using gitlab-labkit 0.21.2192Using rubyzip 2.3.2193Using thor 1.1.0194Using tomlrb 2.0.1195Using with_env 1.1.0196Using rexml 3.2.5197Using xml-simple 1.1.9198Using gitlab-license_finder 6.14.2.1199Using gitlab-markup 1.7.1200Using grpc-tools 1.42.0201Using sawyer 0.8.2202Using octokit 4.20.0203Using reverse_markdown 1.4.0204Using licensee 9.14.1205Using method_source 0.9.2206Using msgpack 1.3.3207Using optimist 3.0.1208Using parallel 1.19.2209Using parser 3.0.3.2210Using procto 0.0.3211Using unparser 0.4.7212Using proc_to_ast 0.1.0213Using pry 0.12.2214Using rainbow 3.0.0215Using rbtrace 0.4.14216Using rdoc 6.3.2217Using regexp_parser 1.8.1218Using rspec-support 3.8.0219Using rspec-core 3.8.0220Using rspec-expectations 3.8.3221Using rspec-mocks 3.8.0222Using rspec 3.8.0223Using rspec-parameterized 0.4.2224Using rubocop-ast 0.2.0225Using ruby-progressbar 1.10.1226Using unicode-display_width 1.7.0227Using rubocop 0.86.0228Using sentry-raven 3.0.4229Using timecop 0.9.1230Bundle complete! 22 Gemfile dependencies, 100 gems now installed.231Gems in the groups production and development were not installed.232Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`233Checking gitaly-ruby Gemfile...234Checking gitaly-ruby bundle...235The Gemfile's dependencies are satisfied236Trying to connect to gitaly: ................................................ OK237Trying to connect to gitaly2: ................................................................. OK238Trying to connect to praefect: ....... OK239==> 'scripts/gitaly-test-spawn' succeeded in 13 seconds.240$ source ./scripts/rspec_helpers.sh241$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"242SKIP_FLAKY_TESTS_AUTOMATICALLY: true243RETRY_FAILED_TESTS_IN_NEW_PROCESS: true244KNAPSACK_GENERATE_REPORT: true245FLAKY_RSPEC_GENERATE_REPORT: true246KNAPSACK_TEST_FILE_PATTERN: 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.rb247KNAPSACK_LOG_LEVEL: debug248KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12_18_22_report.json249FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json250FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12_18_22_report.json251NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12_18_22_report.json252SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12_18_22_report.txt253RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12_18_22_report.txt254CRYSTALBALL: 255Knapsack node specs:256spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb257spec/lib/gitlab/metrics/subscribers/active_record_spec.rb258spec/services/todos/destroy/entity_leave_service_spec.rb259spec/services/web_hooks/log_execution_service_spec.rb260spec/lib/gitlab/kubernetes/kube_client_spec.rb261spec/models/clusters/platforms/kubernetes_spec.rb262spec/serializers/pipeline_serializer_spec.rb263spec/policies/ci/build_policy_spec.rb264spec/lib/gitlab/git/blob_spec.rb265spec/services/boards/issues/move_service_spec.rb266spec/helpers/groups/group_members_helper_spec.rb267spec/uploaders/job_artifact_uploader_spec.rb268spec/lib/gitlab/gfm/reference_rewriter_spec.rb269spec/lib/api/helpers_spec.rb270spec/lib/release_highlights/validator_spec.rb271spec/models/integrations/teamcity_spec.rb272spec/finders/releases/group_releases_finder_spec.rb273spec/lib/gitlab/ci/build/rules/rule/clause/exists_spec.rb274spec/models/concerns/integrations/has_data_fields_spec.rb275spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb276spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb277spec/helpers/namespaces_helper_spec.rb278spec/services/members/approve_access_request_service_spec.rb279spec/scripts/trigger-build_spec.rb280spec/lib/gitlab/import_export/project/object_builder_spec.rb281spec/services/merge_requests/rebase_service_spec.rb282spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb283spec/services/projects/autocomplete_service_spec.rb284spec/lib/gitlab/ci/config/entry/retry_spec.rb285spec/services/projects/detect_repository_languages_service_spec.rb286spec/lib/gitlab/ci/trace/stream_spec.rb287spec/finders/members_finder_spec.rb288spec/lib/gitlab/diff/lines_unfolder_spec.rb289spec/models/ci/resource_group_spec.rb290spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb291spec/services/system_notes/design_management_service_spec.rb292spec/models/project_snippet_spec.rb293spec/lib/gitlab/git/diff_spec.rb294spec/models/bulk_imports/entity_spec.rb295spec/lib/gitlab/ci/badge/release/template_spec.rb296spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb297spec/lib/gitlab/json_spec.rb298spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb299spec/lib/gitlab/ci/lint_spec.rb300spec/lib/banzai/filter/sanitization_filter_spec.rb301spec/serializers/note_entity_spec.rb302spec/services/discussions/resolve_service_spec.rb303spec/lib/gitlab/github_import/client_spec.rb304spec/views/groups/edit.html.haml_spec.rb305spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb306spec/workers/merge_request_cleanup_refs_worker_spec.rb307spec/lib/gitlab/database/dynamic_model_helpers_spec.rb308spec/lib/gitlab/ci/config/entry/environment_spec.rb309spec/graphql/resolvers/container_repositories_resolver_spec.rb310spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb311spec/lib/gitlab/ci/build/rules/rule/clause/changes_spec.rb312spec/lib/gitlab/chat/command_spec.rb313spec/graphql/mutations/design_management/delete_spec.rb314spec/models/packages/debian/group_component_file_spec.rb315spec/graphql/mutations/ci/runner/delete_spec.rb316spec/lib/banzai/filter/references/reference_cache_spec.rb317spec/initializers/lograge_spec.rb318spec/services/snippets/update_statistics_service_spec.rb319spec/finders/clusters/agents_finder_spec.rb320spec/workers/ci/ref_delete_unlock_artifacts_worker_spec.rb321spec/lib/gitlab/lfs_token_spec.rb322spec/lib/gitlab/checks/changes_access_spec.rb323spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb324spec/services/clusters/applications/upgrade_service_spec.rb325spec/models/concerns/ci/has_variable_spec.rb326spec/services/incident_management/incidents/create_service_spec.rb327spec/lib/gitlab/file_finder_spec.rb328spec/models/dependency_proxy/manifest_spec.rb329spec/models/user_interacted_project_spec.rb330spec/lib/sidebars/groups/menus/settings_menu_spec.rb331spec/lib/gitlab/database/count_spec.rb332spec/tasks/gitlab/task_helpers_spec.rb333spec/lib/gitlab/kubernetes/helm/v2/patch_command_spec.rb334spec/models/instance_configuration_spec.rb335spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb336spec/services/ci/prometheus_metrics/observe_histograms_service_spec.rb337spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb338spec/views/projects/merge_requests/edit.html.haml_spec.rb339spec/graphql/types/base_enum_spec.rb340spec/services/packages/conan/search_service_spec.rb341spec/workers/integrations/create_external_cross_reference_worker_spec.rb342spec/initializers/hangouts_chat_http_override_spec.rb343spec/lib/gitlab/fogbugz_import/importer_spec.rb344spec/models/issue_collection_spec.rb345spec/lib/gitlab/marker_range_spec.rb346spec/lib/api/entities/project_spec.rb347spec/workers/database/batched_background_migration/ci_database_worker_spec.rb348spec/lib/gitlab/api_authentication/builder_spec.rb349spec/services/ci/destroy_pipeline_service_spec.rb350spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb351spec/lib/gitlab/hook_data/group_builder_spec.rb352spec/lib/gitlab/conflict/file_collection_spec.rb353spec/services/packages/update_package_file_service_spec.rb354spec/workers/environments/auto_stop_worker_spec.rb355spec/models/packages/debian/group_architecture_spec.rb356spec/lib/gitlab/experiment/rollout/feature_spec.rb357spec/models/concerns/manual_inverse_association_spec.rb358spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb359spec/lib/gitlab/cache/helpers_spec.rb360spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb361spec/lib/gitlab/github_import/importer/repository_importer_spec.rb362spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb363spec/lib/gitlab/ci/matching/build_matcher_spec.rb364spec/services/ci/ensure_stage_service_spec.rb365spec/workers/project_cache_worker_spec.rb366spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb367spec/lib/gitlab/ci/reports/reports_comparer_spec.rb368spec/lib/gitlab/background_migration/mailers/unconfirm_mailer_spec.rb369spec/graphql/mutations/custom_emoji/destroy_spec.rb370spec/lib/bitbucket/representation/repo_spec.rb371spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb372spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb373spec/services/ci/job_token_scope/remove_project_service_spec.rb374spec/workers/deployments/link_merge_request_worker_spec.rb375spec/tasks/gitlab/packages/migrate_rake_spec.rb376spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb377spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb378spec/services/concerns/audit_event_save_type_spec.rb379spec/services/tags/destroy_service_spec.rb380spec/lib/gitlab/utils/delegator_override_spec.rb381spec/graphql/mutations/ci/job_token_scope/add_project_spec.rb382spec/workers/error_tracking_issue_link_worker_spec.rb383spec/lib/banzai/filter/color_filter_spec.rb384spec/lib/gitlab/unicode_spec.rb385spec/services/design_management/copy_design_collection/queue_service_spec.rb386spec/finders/autocomplete/group_finder_spec.rb387spec/rubocop/cop/migration/add_reference_spec.rb388spec/services/ci/external_pull_requests/create_pipeline_service_spec.rb389spec/lib/gitlab/legacy_github_import/comment_formatter_spec.rb390spec/presenters/alert_management/alert_presenter_spec.rb391spec/services/security/ci_configuration/sast_iac_create_service_spec.rb392spec/workers/x509_certificate_revoke_worker_spec.rb393spec/workers/pages_domain_verification_cron_worker_spec.rb394spec/lib/gitlab/mail_room/authenticator_spec.rb395spec/lib/gitlab/github_import/object_counter_spec.rb396spec/services/google_cloud/create_service_accounts_service_spec.rb397spec/models/aws/role_spec.rb398spec/lib/gitlab/ci/status/canceled_spec.rb399spec/workers/migrate_external_diffs_worker_spec.rb400spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb401spec/helpers/wiki_page_version_helper_spec.rb402spec/lib/gitlab/database/partitioning/replace_table_spec.rb403spec/lib/banzai/filter_array_spec.rb404spec/rubocop/cop/migration/add_concurrent_foreign_key_spec.rb405spec/services/webauthn/register_service_spec.rb406spec/workers/bulk_imports/export_request_worker_spec.rb407spec/finders/releases/evidence_pipeline_finder_spec.rb408spec/lib/feature/gitaly_spec.rb409spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb410spec/lib/gitlab/jira/dvcs_spec.rb411spec/graphql/resolvers/paginated_tree_resolver_spec.rb412spec/finders/repositories/tree_finder_spec.rb413spec/serializers/container_repository_entity_spec.rb414spec/routing/environments_spec.rb415spec/tasks/admin_mode_spec.rb416spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb417spec/lib/api/entities/wiki_page_spec.rb418spec/lib/gitlab/security/scan_configuration_spec.rb419spec/finders/ci/pipeline_schedules_finder_spec.rb420spec/lib/gitlab/http_connection_adapter_spec.rb421spec/finders/error_tracking/errors_finder_spec.rb422spec/lib/gitlab/pages/settings_spec.rb423spec/policies/clusters/agent_policy_spec.rb424spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb425spec/lib/gitlab/graphql/calls_gitaly/field_extension_spec.rb426spec/models/ci/pipeline_config_spec.rb427spec/models/users/calloutable_spec.rb428spec/graphql/types/award_emojis/award_emoji_type_spec.rb429spec/lib/gitlab/view/presenter/factory_spec.rb430spec/lib/gitlab/changelog/release_spec.rb431spec/serializers/evidences/milestone_entity_spec.rb432spec/lib/gitlab/ci/build/prerequisite/factory_spec.rb433spec/lib/gitlab/diff/inline_diff_marker_spec.rb434spec/models/approval_spec.rb435spec/graphql/resolvers/recent_boards_resolver_spec.rb436spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_column_data_spec.rb437spec/policies/integration_policy_spec.rb438spec/tooling/danger/datateam_spec.rb439spec/workers/cluster_provision_worker_spec.rb440spec/lib/backup/file_backup_error_spec.rb441spec/graphql/resolvers/work_item_resolver_spec.rb442spec/lib/gitlab/cross_project_access_spec.rb443spec/services/discussions/unresolve_service_spec.rb444spec/views/groups/milestones/index.html.haml_spec.rb445spec/presenters/award_emoji_presenter_spec.rb446spec/services/ci/pipelines/hook_service_spec.rb447spec/workers/expire_pipeline_cache_worker_spec.rb448spec/lib/gitlab/template/metrics_dashboard_template_spec.rb449spec/initializers/trusted_proxies_spec.rb450spec/lib/gitlab/grape_logging/loggers/exception_logger_spec.rb451spec/lib/gitlab/github_import/parallel_importer_spec.rb452spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb453spec/lib/gitlab/auth/key_status_checker_spec.rb454spec/workers/update_external_pull_requests_worker_spec.rb455spec/lib/gitlab/kubernetes/ingress_spec.rb456spec/lib/prometheus/pid_provider_spec.rb457spec/lib/gitlab/pagination/gitaly_keyset_pager_spec.rb458spec/models/concerns/token_authenticatable_strategies/base_spec.rb459spec/lib/bulk_imports/groups/graphql/get_projects_query_spec.rb460spec/lib/gitlab/usage/metrics/key_path_processor_spec.rb461spec/lib/gitlab/empty_search_results_spec.rb462spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb463spec/lib/api/validations/validators/file_path_spec.rb464spec/lib/gitlab/auth/saml/origin_validator_spec.rb465spec/lib/gitlab/usage_data_counters/redis_counter_spec.rb466spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb467spec/services/webauthn/authenticate_service_spec.rb468spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb469spec/lib/gitlab/analytics/cycle_analytics/stage_events/stage_event_spec.rb470spec/rubocop/cop/database/establish_connection_spec.rb471spec/workers/propagate_integration_worker_spec.rb472spec/validators/sha_validator_spec.rb473spec/workers/snippets/update_repository_storage_worker_spec.rb474spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb475spec/config/smime_signature_settings_spec.rb476spec/lib/gitlab/auth/otp/strategies/forti_authenticator_spec.rb477spec/rubocop/cop/group_public_or_visible_to_user_spec.rb478spec/serializers/project_mirror_entity_spec.rb479spec/lib/gitlab/sidekiq_middleware/monitor_spec.rb480spec/graphql/types/notes/note_type_spec.rb481spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb482spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb483spec/workers/gitlab/github_import/import_pull_request_review_worker_spec.rb484spec/lib/gitlab/changes_list_spec.rb485spec/lib/system_check/incoming_email_check_spec.rb486spec/lib/system_check/app/hashed_storage_enabled_check_spec.rb487spec/initializers/google_api_client_spec.rb488spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb489spec/lib/bitbucket_server/collection_spec.rb490spec/lib/gitlab/database/postgresql_adapter/dump_schema_versions_mixin_spec.rb491spec/lib/prometheus/cleanup_multiproc_dir_service_spec.rb492spec/graphql/types/design_management/design_version_event_enum_spec.rb493spec/graphql/types/release_asset_link_type_spec.rb494spec/graphql/types/issue_type_enum_spec.rb495spec/initializers/rails_asset_host_spec.rb496spec/graphql/types/design_management/version_type_spec.rb497spec/lib/gitlab/usage/metrics/instrumentations/active_user_count_metric_spec.rb498spec/graphql/types/container_expiration_policy_keep_enum_spec.rb499spec/lib/api/validations/validators/array_none_any_spec.rb500spec/graphql/types/merge_request_review_state_enum_spec.rb501spec/lib/gitlab/utils/delegator_override/error_spec.rb502spec/lib/banzai/filter/html_entity_filter_spec.rb503spec/workers/gitlab_performance_bar_stats_worker_spec.rb504spec/serializers/evidences/release_serializer_spec.rb505spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb506spec/graphql/types/deployment_tier_enum_spec.rb507spec/serializers/detailed_status_entity_spec.rb508spec/graphql/types/packages/package_file_type_spec.rb509Filter specs:510Running specs:511Running all node tests without filter512spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb513spec/lib/gitlab/metrics/subscribers/active_record_spec.rb514spec/services/todos/destroy/entity_leave_service_spec.rb515spec/services/web_hooks/log_execution_service_spec.rb516spec/lib/gitlab/kubernetes/kube_client_spec.rb517spec/models/clusters/platforms/kubernetes_spec.rb518spec/serializers/pipeline_serializer_spec.rb519spec/policies/ci/build_policy_spec.rb520spec/lib/gitlab/git/blob_spec.rb521spec/services/boards/issues/move_service_spec.rb522spec/helpers/groups/group_members_helper_spec.rb523spec/uploaders/job_artifact_uploader_spec.rb524spec/lib/gitlab/gfm/reference_rewriter_spec.rb525spec/lib/api/helpers_spec.rb526spec/lib/release_highlights/validator_spec.rb527spec/models/integrations/teamcity_spec.rb528spec/finders/releases/group_releases_finder_spec.rb529spec/lib/gitlab/ci/build/rules/rule/clause/exists_spec.rb530spec/models/concerns/integrations/has_data_fields_spec.rb531spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb532spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb533spec/helpers/namespaces_helper_spec.rb534spec/services/members/approve_access_request_service_spec.rb535spec/scripts/trigger-build_spec.rb536spec/lib/gitlab/import_export/project/object_builder_spec.rb537spec/services/merge_requests/rebase_service_spec.rb538spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb539spec/services/projects/autocomplete_service_spec.rb540spec/lib/gitlab/ci/config/entry/retry_spec.rb541spec/services/projects/detect_repository_languages_service_spec.rb542spec/lib/gitlab/ci/trace/stream_spec.rb543spec/finders/members_finder_spec.rb544spec/lib/gitlab/diff/lines_unfolder_spec.rb545spec/models/ci/resource_group_spec.rb546spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb547spec/services/system_notes/design_management_service_spec.rb548spec/models/project_snippet_spec.rb549spec/lib/gitlab/git/diff_spec.rb550spec/models/bulk_imports/entity_spec.rb551spec/lib/gitlab/ci/badge/release/template_spec.rb552spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb553spec/lib/gitlab/json_spec.rb554spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb555spec/lib/gitlab/ci/lint_spec.rb556spec/lib/banzai/filter/sanitization_filter_spec.rb557spec/serializers/note_entity_spec.rb558spec/services/discussions/resolve_service_spec.rb559spec/lib/gitlab/github_import/client_spec.rb560spec/views/groups/edit.html.haml_spec.rb561spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb562spec/workers/merge_request_cleanup_refs_worker_spec.rb563spec/lib/gitlab/database/dynamic_model_helpers_spec.rb564spec/lib/gitlab/ci/config/entry/environment_spec.rb565spec/graphql/resolvers/container_repositories_resolver_spec.rb566spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb567spec/lib/gitlab/ci/build/rules/rule/clause/changes_spec.rb568spec/lib/gitlab/chat/command_spec.rb569spec/graphql/mutations/design_management/delete_spec.rb570spec/models/packages/debian/group_component_file_spec.rb571spec/graphql/mutations/ci/runner/delete_spec.rb572spec/lib/banzai/filter/references/reference_cache_spec.rb573spec/initializers/lograge_spec.rb574spec/services/snippets/update_statistics_service_spec.rb575spec/finders/clusters/agents_finder_spec.rb576spec/workers/ci/ref_delete_unlock_artifacts_worker_spec.rb577spec/lib/gitlab/lfs_token_spec.rb578spec/lib/gitlab/checks/changes_access_spec.rb579spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb580spec/services/clusters/applications/upgrade_service_spec.rb581spec/models/concerns/ci/has_variable_spec.rb582spec/services/incident_management/incidents/create_service_spec.rb583spec/lib/gitlab/file_finder_spec.rb584spec/models/dependency_proxy/manifest_spec.rb585spec/models/user_interacted_project_spec.rb586spec/lib/sidebars/groups/menus/settings_menu_spec.rb587spec/lib/gitlab/database/count_spec.rb588spec/tasks/gitlab/task_helpers_spec.rb589spec/lib/gitlab/kubernetes/helm/v2/patch_command_spec.rb590spec/models/instance_configuration_spec.rb591spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb592spec/services/ci/prometheus_metrics/observe_histograms_service_spec.rb593spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb594spec/views/projects/merge_requests/edit.html.haml_spec.rb595spec/graphql/types/base_enum_spec.rb596spec/services/packages/conan/search_service_spec.rb597spec/workers/integrations/create_external_cross_reference_worker_spec.rb598spec/initializers/hangouts_chat_http_override_spec.rb599spec/lib/gitlab/fogbugz_import/importer_spec.rb600spec/models/issue_collection_spec.rb601spec/lib/gitlab/marker_range_spec.rb602spec/lib/api/entities/project_spec.rb603spec/workers/database/batched_background_migration/ci_database_worker_spec.rb604spec/lib/gitlab/api_authentication/builder_spec.rb605spec/services/ci/destroy_pipeline_service_spec.rb606spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb607spec/lib/gitlab/hook_data/group_builder_spec.rb608spec/lib/gitlab/conflict/file_collection_spec.rb609spec/services/packages/update_package_file_service_spec.rb610spec/workers/environments/auto_stop_worker_spec.rb611spec/models/packages/debian/group_architecture_spec.rb612spec/lib/gitlab/experiment/rollout/feature_spec.rb613spec/models/concerns/manual_inverse_association_spec.rb614spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb615spec/lib/gitlab/cache/helpers_spec.rb616spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb617spec/lib/gitlab/github_import/importer/repository_importer_spec.rb618spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb619spec/lib/gitlab/ci/matching/build_matcher_spec.rb620spec/services/ci/ensure_stage_service_spec.rb621spec/workers/project_cache_worker_spec.rb622spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb623spec/lib/gitlab/ci/reports/reports_comparer_spec.rb624spec/lib/gitlab/background_migration/mailers/unconfirm_mailer_spec.rb625spec/graphql/mutations/custom_emoji/destroy_spec.rb626spec/lib/bitbucket/representation/repo_spec.rb627spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb628spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb629spec/services/ci/job_token_scope/remove_project_service_spec.rb630spec/workers/deployments/link_merge_request_worker_spec.rb631spec/tasks/gitlab/packages/migrate_rake_spec.rb632spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb633spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb634spec/services/concerns/audit_event_save_type_spec.rb635spec/services/tags/destroy_service_spec.rb636spec/lib/gitlab/utils/delegator_override_spec.rb637spec/graphql/mutations/ci/job_token_scope/add_project_spec.rb638spec/workers/error_tracking_issue_link_worker_spec.rb639spec/lib/banzai/filter/color_filter_spec.rb640spec/lib/gitlab/unicode_spec.rb641spec/services/design_management/copy_design_collection/queue_service_spec.rb642spec/finders/autocomplete/group_finder_spec.rb643spec/rubocop/cop/migration/add_reference_spec.rb644spec/services/ci/external_pull_requests/create_pipeline_service_spec.rb645spec/lib/gitlab/legacy_github_import/comment_formatter_spec.rb646spec/presenters/alert_management/alert_presenter_spec.rb647spec/services/security/ci_configuration/sast_iac_create_service_spec.rb648spec/workers/x509_certificate_revoke_worker_spec.rb649spec/workers/pages_domain_verification_cron_worker_spec.rb650spec/lib/gitlab/mail_room/authenticator_spec.rb651spec/lib/gitlab/github_import/object_counter_spec.rb652spec/services/google_cloud/create_service_accounts_service_spec.rb653spec/models/aws/role_spec.rb654spec/lib/gitlab/ci/status/canceled_spec.rb655spec/workers/migrate_external_diffs_worker_spec.rb656spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb657spec/helpers/wiki_page_version_helper_spec.rb658spec/lib/gitlab/database/partitioning/replace_table_spec.rb659spec/lib/banzai/filter_array_spec.rb660spec/rubocop/cop/migration/add_concurrent_foreign_key_spec.rb661spec/services/webauthn/register_service_spec.rb662spec/workers/bulk_imports/export_request_worker_spec.rb663spec/finders/releases/evidence_pipeline_finder_spec.rb664spec/lib/feature/gitaly_spec.rb665spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb666spec/lib/gitlab/jira/dvcs_spec.rb667spec/graphql/resolvers/paginated_tree_resolver_spec.rb668spec/finders/repositories/tree_finder_spec.rb669spec/serializers/container_repository_entity_spec.rb670spec/routing/environments_spec.rb671spec/tasks/admin_mode_spec.rb672spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb673spec/lib/api/entities/wiki_page_spec.rb674spec/lib/gitlab/security/scan_configuration_spec.rb675spec/finders/ci/pipeline_schedules_finder_spec.rb676spec/lib/gitlab/http_connection_adapter_spec.rb677spec/finders/error_tracking/errors_finder_spec.rb678spec/lib/gitlab/pages/settings_spec.rb679spec/policies/clusters/agent_policy_spec.rb680spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb681spec/lib/gitlab/graphql/calls_gitaly/field_extension_spec.rb682spec/models/ci/pipeline_config_spec.rb683spec/models/users/calloutable_spec.rb684spec/graphql/types/award_emojis/award_emoji_type_spec.rb685spec/lib/gitlab/view/presenter/factory_spec.rb686spec/lib/gitlab/changelog/release_spec.rb687spec/serializers/evidences/milestone_entity_spec.rb688spec/lib/gitlab/ci/build/prerequisite/factory_spec.rb689spec/lib/gitlab/diff/inline_diff_marker_spec.rb690spec/models/approval_spec.rb691spec/graphql/resolvers/recent_boards_resolver_spec.rb692spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_column_data_spec.rb693spec/policies/integration_policy_spec.rb694spec/tooling/danger/datateam_spec.rb695spec/workers/cluster_provision_worker_spec.rb696spec/lib/backup/file_backup_error_spec.rb697spec/graphql/resolvers/work_item_resolver_spec.rb698spec/lib/gitlab/cross_project_access_spec.rb699spec/services/discussions/unresolve_service_spec.rb700spec/views/groups/milestones/index.html.haml_spec.rb701spec/presenters/award_emoji_presenter_spec.rb702spec/services/ci/pipelines/hook_service_spec.rb703spec/workers/expire_pipeline_cache_worker_spec.rb704spec/lib/gitlab/template/metrics_dashboard_template_spec.rb705spec/initializers/trusted_proxies_spec.rb706spec/lib/gitlab/grape_logging/loggers/exception_logger_spec.rb707spec/lib/gitlab/github_import/parallel_importer_spec.rb708spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb709spec/lib/gitlab/auth/key_status_checker_spec.rb710spec/workers/update_external_pull_requests_worker_spec.rb711spec/lib/gitlab/kubernetes/ingress_spec.rb712spec/lib/prometheus/pid_provider_spec.rb713spec/lib/gitlab/pagination/gitaly_keyset_pager_spec.rb714spec/models/concerns/token_authenticatable_strategies/base_spec.rb715spec/lib/bulk_imports/groups/graphql/get_projects_query_spec.rb716spec/lib/gitlab/usage/metrics/key_path_processor_spec.rb717spec/lib/gitlab/empty_search_results_spec.rb718spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb719spec/lib/api/validations/validators/file_path_spec.rb720spec/lib/gitlab/auth/saml/origin_validator_spec.rb721spec/lib/gitlab/usage_data_counters/redis_counter_spec.rb722spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb723spec/services/webauthn/authenticate_service_spec.rb724spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb725spec/lib/gitlab/analytics/cycle_analytics/stage_events/stage_event_spec.rb726spec/rubocop/cop/database/establish_connection_spec.rb727spec/workers/propagate_integration_worker_spec.rb728spec/validators/sha_validator_spec.rb729spec/workers/snippets/update_repository_storage_worker_spec.rb730spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rbKnapsack report generator started!731DEPRECATION 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)732DEPRECATION 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)733DEPRECATION 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)734/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: already initialized constant Gitlab::APP_DIRS_PATTERN735/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: previous definition of APP_DIRS_PATTERN was here736/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: already initialized constant Gitlab::VERSION737/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: previous definition of VERSION was here738/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: already initialized constant Gitlab::INSTALLATION_TYPE739/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: previous definition of INSTALLATION_TYPE was here740/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: already initialized constant Gitlab::HTTP_PROXY_ENV_VARS741/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: previous definition of HTTP_PROXY_ENV_VARS was here742Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}743==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.067417922 seconds...744Test environment set up in 0.862822236 seconds745Auto-DevOps.gitlab-ci.yml746 default_branch: "master"747 the created pipeline748 creates a build and a test job749 when the project is set for deployment to AWS750 creates an ECS deployment job for production only751 behaves like no Kubernetes deployment job752 does not create any Kubernetes deployment-related builds753 behaves like no ECS job when AUTO_DEVOPS_PLATFORM_TARGET is not present754 when AUTO_DEVOPS_PLATFORM_TARGET is nil755 does not trigger the job756 when AUTO_DEVOPS_PLATFORM_TARGET is empty757 does not trigger the job758 with FARGATE as a launch type759 creates a FARGATE deployment job for production only760 and we are not on the default branch761 creates an ECS deployment job for review only762 behaves like no ECS job when AUTO_DEVOPS_PLATFORM_TARGET is not present763 when AUTO_DEVOPS_PLATFORM_TARGET is nil764 does not trigger the job765 when AUTO_DEVOPS_PLATFORM_TARGET is empty766 does not trigger the job767 behaves like no ECS job when AUTO_DEVOPS_PLATFORM_TARGET is not present768 when AUTO_DEVOPS_PLATFORM_TARGET is nil769 does not trigger the job770 when AUTO_DEVOPS_PLATFORM_TARGET is empty771 does not trigger the job772 with FARGATE as a launch type773 creates an FARGATE deployment job for review only774 and when the project has an active cluster775 on default branch776 triggers the deployment to Kubernetes, not to ECS777 when the platform target is EC2778 contains the build_artifact job, not the build job779 when the project has no active cluster780 only creates a build and a test stage781 behaves like no Kubernetes deployment job782 does not create any Kubernetes deployment-related builds783 when a cluster is attached784 behaves like pipeline with Kubernetes jobs785 deployment-related builds786 on default branch787 does not include rollout jobs besides production788 when STAGING_ENABLED=1789 includes a staging job and a production_manual job790 when CANARY_ENABLED=1791 includes a canary job and a production_manual job792 when MIGRATE_HELM_2TO3=true793 includes a helm-2to3:migrate and a helm-2to3:cleanup job794 outside of default branch795 does not include rollout jobs besides review796 when MIGRATE_HELM_2TO3=true797 includes a helm-2to3:migrate and a helm-2to3:cleanup job798 when certificate_based_clusters FF is disabled799 does not include production job800 when project has an Agent801 behaves like pipeline with Kubernetes jobs802 deployment-related builds803 on default branch804 does not include rollout jobs besides production805 when STAGING_ENABLED=1806 includes a staging job and a production_manual job807 when CANARY_ENABLED=1808 includes a canary job and a production_manual job809 when MIGRATE_HELM_2TO3=true810 includes a helm-2to3:migrate and a helm-2to3:cleanup job811 outside of default branch812 does not include rollout jobs besides review813 when MIGRATE_HELM_2TO3=true814 includes a helm-2to3:migrate and a helm-2to3:cleanup job815 when certificate_based_clusters FF is disabled816 includes production job817 buildpack detection818 No match819 creates a pipeline with the expected jobs820 Buildpack821 creates a pipeline with the expected jobs822 Explicit set823 creates a pipeline with the expected jobs824 Explicit unset825 creates a pipeline with the expected jobs826 DOCKERFILE_PATH827 creates a pipeline with the expected jobs828 Dockerfile829 creates a pipeline with the expected jobs830 Clojure831 creates a pipeline with the expected jobs832 Go modules833 creates a pipeline with the expected jobs834 Go gb835 creates a pipeline with the expected jobs836 Gradle837 creates a pipeline with the expected jobs838 Java839 creates a pipeline with the expected jobs840 Multi-buildpack841 creates a pipeline with the expected jobs842 NodeJS843 creates a pipeline with the expected jobs844 PHP845 creates a pipeline with the expected jobs846 Play847 creates a pipeline with the expected jobs848 Python849 creates a pipeline with the expected jobs850 Ruby851 creates a pipeline with the expected jobs852 Scala853 creates a pipeline with the expected jobs854 Static855 creates a pipeline with the expected jobs856 default_branch: "main"857 the created pipeline858 creates a build and a test job859 when the project is set for deployment to AWS860 creates an ECS deployment job for production only861 behaves like no Kubernetes deployment job862 does not create any Kubernetes deployment-related builds863 behaves like no ECS job when AUTO_DEVOPS_PLATFORM_TARGET is not present864 when AUTO_DEVOPS_PLATFORM_TARGET is nil865 does not trigger the job866 when AUTO_DEVOPS_PLATFORM_TARGET is empty867 does not trigger the job868 with FARGATE as a launch type869 creates a FARGATE deployment job for production only870 and we are not on the default branch871 creates an ECS deployment job for review only872 behaves like no ECS job when AUTO_DEVOPS_PLATFORM_TARGET is not present873 when AUTO_DEVOPS_PLATFORM_TARGET is nil874 does not trigger the job875 when AUTO_DEVOPS_PLATFORM_TARGET is empty876 does not trigger the job877 behaves like no ECS job when AUTO_DEVOPS_PLATFORM_TARGET is not present878 when AUTO_DEVOPS_PLATFORM_TARGET is nil879 does not trigger the job880 when AUTO_DEVOPS_PLATFORM_TARGET is empty881 does not trigger the job882 with FARGATE as a launch type883 creates an FARGATE deployment job for review only884 and when the project has an active cluster885 on default branch886 triggers the deployment to Kubernetes, not to ECS887 when the platform target is EC2888 contains the build_artifact job, not the build job889 when the project has no active cluster890 only creates a build and a test stage891 behaves like no Kubernetes deployment job892 does not create any Kubernetes deployment-related builds893 when a cluster is attached894 behaves like pipeline with Kubernetes jobs895 deployment-related builds896 on default branch897 does not include rollout jobs besides production898 when STAGING_ENABLED=1899 includes a staging job and a production_manual job900 when CANARY_ENABLED=1901 includes a canary job and a production_manual job902 when MIGRATE_HELM_2TO3=true903 includes a helm-2to3:migrate and a helm-2to3:cleanup job904 outside of default branch905 does not include rollout jobs besides review906 when MIGRATE_HELM_2TO3=true907 includes a helm-2to3:migrate and a helm-2to3:cleanup job908 when certificate_based_clusters FF is disabled909 does not include production job910 when project has an Agent911 behaves like pipeline with Kubernetes jobs912 deployment-related builds913 on default branch914 does not include rollout jobs besides production915 when STAGING_ENABLED=1916 includes a staging job and a production_manual job917 when CANARY_ENABLED=1918 includes a canary job and a production_manual job919 when MIGRATE_HELM_2TO3=true920 includes a helm-2to3:migrate and a helm-2to3:cleanup job921 outside of default branch922 does not include rollout jobs besides review923 when MIGRATE_HELM_2TO3=true924 includes a helm-2to3:migrate and a helm-2to3:cleanup job925 when certificate_based_clusters FF is disabled926 includes production job927 buildpack detection928 No match929 creates a pipeline with the expected jobs930 Buildpack931 creates a pipeline with the expected jobs932 Explicit set933 creates a pipeline with the expected jobs934 Explicit unset935 creates a pipeline with the expected jobs936 DOCKERFILE_PATH937 creates a pipeline with the expected jobs938 Dockerfile939 creates a pipeline with the expected jobs940 Clojure941 creates a pipeline with the expected jobs942 Go modules943 creates a pipeline with the expected jobs944 Go gb945 creates a pipeline with the expected jobs946 Gradle947 creates a pipeline with the expected jobs948 Java949 creates a pipeline with the expected jobs950 Multi-buildpack951 creates a pipeline with the expected jobs952 NodeJS953 creates a pipeline with the expected jobs954 PHP955 creates a pipeline with the expected jobs956 Play957 creates a pipeline with the expected jobs958 Python959 creates a pipeline with the expected jobs960 Ruby961 creates a pipeline with the expected jobs962 Scala963 creates a pipeline with the expected jobs964 Static965 creates a pipeline with the expected jobs966Gitlab::Metrics::Subscribers::ActiveRecord967 .load_balancing_metric_counter_keys968 multiple databases969 has expected keys970 single database971 has expected keys (PENDING: Skipping because multiple databases are set up)972 does not have ci keys (PENDING: Skipping because multiple databases are set up)973 .load_balancing_metric_duration_keys974 multiple databases975 has expected keys976 single database977 has expected keys (PENDING: Skipping because multiple databases are set up)978 does not have ci keys (PENDING: Skipping because multiple databases are set up)979 #transaction980 when both web and background transaction are available981 captures the metrics for web only982 when web transaction is available983 captures the metrics for web only984 when background transaction is available985 captures the metrics for web only986 #sql987 without Marginalia comments988 behaves like track generic sql events989 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false990 marks the current thread as using the database991 behaves like record ActiveRecord metrics992 when both web and background transaction are available993 captures the metrics for web only994 behaves like record ActiveRecord metrics in a metrics transaction995 increments only db counters996 observes sql_duration metric997 when web transaction is available998 behaves like record ActiveRecord metrics in a metrics transaction999 increments only db counters1000 observes sql_duration metric1001 when background transaction is available1002 behaves like record ActiveRecord metrics in a metrics transaction1003 increments only db counters1004 observes sql_duration metric1005 behaves like store ActiveRecord info in RequestStore1006 prevents db counters from leaking to the next transaction1007 name: "SQL", sql_query: "WITH active_milestones AS (SELECT COUNT(*), state FROM milestones GROUP BY state) SELECT * FROM active_milestones", record_query: true, record_write_query: false, record_cached_query: false1008 marks the current thread as using the database1009 behaves like record ActiveRecord metrics1010 when both web and background transaction are available1011 captures the metrics for web only1012 behaves like record ActiveRecord metrics in a metrics transaction1013 increments only db counters1014 observes sql_duration metric1015 when web transaction is available1016 behaves like record ActiveRecord metrics in a metrics transaction1017 increments only db counters1018 observes sql_duration metric1019 when background transaction is available1020 behaves like record ActiveRecord metrics in a metrics transaction1021 increments only db counters1022 observes sql_duration metric1023 behaves like store ActiveRecord info in RequestStore1024 prevents db counters from leaking to the next transaction1025 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10 FOR UPDATE", record_query: true, record_write_query: true, record_cached_query: false1026 marks the current thread as using the database1027 behaves like record ActiveRecord metrics1028 when both web and background transaction are available1029 captures the metrics for web only1030 behaves like record ActiveRecord metrics in a metrics transaction1031 increments only db counters1032 observes sql_duration metric1033 when web transaction is available1034 behaves like record ActiveRecord metrics in a metrics transaction1035 increments only db counters1036 observes sql_duration metric1037 when background transaction is available1038 behaves like record ActiveRecord metrics in a metrics transaction1039 increments only db counters1040 observes sql_duration metric1041 behaves like store ActiveRecord info in RequestStore1042 prevents db counters from leaking to the next transaction1043 name: "SQL", sql_query: "WITH archived_rows AS (SELECT * FROM users WHERE archived = true) INSERT INTO products_log SELECT * FROM archived_rows", record_query: true, record_write_query: true, record_cached_query: false1044 marks the current thread as using the database1045 behaves like record ActiveRecord metrics1046 when both web and background transaction are available1047 captures the metrics for web only1048 behaves like record ActiveRecord metrics in a metrics transaction1049 increments only db counters1050 observes sql_duration metric1051 when web transaction is available1052 behaves like record ActiveRecord metrics in a metrics transaction1053 increments only db counters1054 observes sql_duration metric1055 when background transaction is available1056 behaves like record ActiveRecord metrics in a metrics transaction1057 increments only db counters1058 observes sql_duration metric1059 behaves like store ActiveRecord info in RequestStore1060 prevents db counters from leaking to the next transaction1061 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false1062 marks the current thread as using the database1063 behaves like record ActiveRecord metrics1064 when both web and background transaction are available1065 captures the metrics for web only1066 behaves like record ActiveRecord metrics in a metrics transaction1067 increments only db counters1068 observes sql_duration metric1069 when web transaction is available1070 behaves like record ActiveRecord metrics in a metrics transaction1071 increments only db counters1072 observes sql_duration metric1073 when background transaction is available1074 behaves like record ActiveRecord metrics in a metrics transaction1075 increments only db counters1076 observes sql_duration metric1077 behaves like store ActiveRecord info in RequestStore1078 prevents db counters from leaking to the next transaction1079 name: "SQL", sql_query: "INSERT INTO project_ci_cd_settings (project_id) SELECT id FROM projects", record_query: true, record_write_query: true, record_cached_query: false1080 marks the current thread as using the database1081 behaves like record ActiveRecord metrics1082 when both web and background transaction are available1083 captures the metrics for web only1084 behaves like record ActiveRecord metrics in a metrics transaction1085 increments only db counters1086 observes sql_duration metric1087 when web transaction is available1088 behaves like record ActiveRecord metrics in a metrics transaction1089 increments only db counters1090 observes sql_duration metric1091 when background transaction is available1092 behaves like record ActiveRecord metrics in a metrics transaction1093 increments only db counters1094 observes sql_duration metric1095 behaves like store ActiveRecord info in RequestStore1096 prevents db counters from leaking to the next transaction1097 name: "SQL", sql_query: "UPDATE users SET admin = true WHERE id = 10", record_query: true, record_write_query: true, record_cached_query: false1098 marks the current thread as using the database1099 behaves like record ActiveRecord metrics1100 when both web and background transaction are available1101 captures the metrics for web only1102 behaves like record ActiveRecord metrics in a metrics transaction1103 increments only db counters1104 observes sql_duration metric1105 when web transaction is available1106 behaves like record ActiveRecord metrics in a metrics transaction1107 increments only db counters1108 observes sql_duration metric1109 when background transaction is available1110 behaves like record ActiveRecord metrics in a metrics transaction1111 increments only db counters1112 observes sql_duration metric1113 behaves like store ActiveRecord info in RequestStore1114 prevents db counters from leaking to the next transaction1115 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true1116 marks the current thread as using the database1117 behaves like record ActiveRecord metrics1118 when both web and background transaction are available1119 captures the metrics for web only1120 behaves like record ActiveRecord metrics in a metrics transaction1121 increments only db counters1122 observes sql_duration metric1123 when web transaction is available1124 behaves like record ActiveRecord metrics in a metrics transaction1125 increments only db counters1126 observes sql_duration metric1127 when background transaction is available1128 behaves like record ActiveRecord metrics in a metrics transaction1129 increments only db counters1130 observes sql_duration metric1131 behaves like store ActiveRecord info in RequestStore1132 prevents db counters from leaking to the next transaction1133 name: "SCHEMA", sql_query: "SELECT attr.attname FROM pg_attribute attr INNER JOIN pg_constraint cons ON attr.attrelid = cons.conrelid AND attr.attnum = any(cons.conkey) WHERE cons.contype = 'p' AND cons.conrelid = '\"projects\"'::regclass", record_query: false, record_write_query: false, record_cached_query: false1134 marks the current thread as using the database1135 behaves like record ActiveRecord metrics1136 when both web and background transaction are available1137 captures the metrics for web only1138 behaves like record ActiveRecord metrics in a metrics transaction1139 increments only db counters1140 observes sql_duration metric1141 when web transaction is available1142 behaves like record ActiveRecord metrics in a metrics transaction1143 increments only db counters1144 observes sql_duration metric1145 when background transaction is available1146 behaves like record ActiveRecord metrics in a metrics transaction1147 increments only db counters1148 observes sql_duration metric1149 behaves like store ActiveRecord info in RequestStore1150 prevents db counters from leaking to the next transaction1151 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false1152 marks the current thread as using the database1153 behaves like record ActiveRecord metrics1154 when both web and background transaction are available1155 captures the metrics for web only1156 behaves like record ActiveRecord metrics in a metrics transaction1157 increments only db counters1158 observes sql_duration metric1159 when web transaction is available1160 behaves like record ActiveRecord metrics in a metrics transaction1161 increments only db counters1162 observes sql_duration metric1163 when background transaction is available1164 behaves like record ActiveRecord metrics in a metrics transaction1165 increments only db counters1166 observes sql_duration metric1167 behaves like store ActiveRecord info in RequestStore1168 prevents db counters from leaking to the next transaction1169 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false1170 marks the current thread as using the database1171 behaves like record ActiveRecord metrics1172 when both web and background transaction are available1173 captures the metrics for web only1174 behaves like record ActiveRecord metrics in a metrics transaction1175 increments only db counters1176 observes sql_duration metric1177 when web transaction is available1178 behaves like record ActiveRecord metrics in a metrics transaction1179 increments only db counters1180 observes sql_duration metric1181 when background transaction is available1182 behaves like record ActiveRecord metrics in a metrics transaction1183 increments only db counters1184 observes sql_duration metric1185 behaves like store ActiveRecord info in RequestStore1186 prevents db counters from leaking to the next transaction1187 with Marginalia comments1188 behaves like track generic sql events1189 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false1190 marks the current thread as using the database1191 behaves like record ActiveRecord metrics1192 when both web and background transaction are available1193 captures the metrics for web only1194 behaves like record ActiveRecord metrics in a metrics transaction1195 increments only db counters1196 observes sql_duration metric1197 when web transaction is available1198 behaves like record ActiveRecord metrics in a metrics transaction1199 increments only db counters1200 observes sql_duration metric1201 when background transaction is available1202 behaves like record ActiveRecord metrics in a metrics transaction1203 increments only db counters1204 observes sql_duration metric1205 behaves like store ActiveRecord info in RequestStore1206 prevents db counters from leaking to the next transaction1207 name: "SQL", sql_query: "WITH active_milestones AS (SELECT COUNT(*), state FROM milestones GROUP BY state) SELECT * FROM active_milestones", record_query: true, record_write_query: false, record_cached_query: false1208 marks the current thread as using the database1209 behaves like record ActiveRecord metrics1210 when both web and background transaction are available1211 captures the metrics for web only1212 behaves like record ActiveRecord metrics in a metrics transaction1213 increments only db counters1214 observes sql_duration metric1215 when web transaction is available1216 behaves like record ActiveRecord metrics in a metrics transaction1217 increments only db counters1218 observes sql_duration metric1219 when background transaction is available1220 behaves like record ActiveRecord metrics in a metrics transaction1221 increments only db counters1222 observes sql_duration metric1223 behaves like store ActiveRecord info in RequestStore1224 prevents db counters from leaking to the next transaction1225 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10 FOR UPDATE", record_query: true, record_write_query: true, record_cached_query: false1226 marks the current thread as using the database1227 behaves like record ActiveRecord metrics1228 when both web and background transaction are available1229 captures the metrics for web only1230 behaves like record ActiveRecord metrics in a metrics transaction1231 increments only db counters1232 observes sql_duration metric1233 when web transaction is available1234 behaves like record ActiveRecord metrics in a metrics transaction1235 increments only db counters1236 observes sql_duration metric1237 when background transaction is available1238 behaves like record ActiveRecord metrics in a metrics transaction1239 increments only db counters1240 observes sql_duration metric1241 behaves like store ActiveRecord info in RequestStore1242 prevents db counters from leaking to the next transaction1243 name: "SQL", sql_query: "WITH archived_rows AS (SELECT * FROM users WHERE archived = true) INSERT INTO products_log SELECT * FROM archived_rows", record_query: true, record_write_query: true, record_cached_query: false1244 marks the current thread as using the database1245 behaves like record ActiveRecord metrics1246 when both web and background transaction are available1247 captures the metrics for web only1248 behaves like record ActiveRecord metrics in a metrics transaction1249 increments only db counters1250 observes sql_duration metric1251 when web transaction is available1252 behaves like record ActiveRecord metrics in a metrics transaction1253 increments only db counters1254 observes sql_duration metric1255 when background transaction is available1256 behaves like record ActiveRecord metrics in a metrics transaction1257 increments only db counters1258 observes sql_duration metric1259 behaves like store ActiveRecord info in RequestStore1260 prevents db counters from leaking to the next transaction1261 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false1262 marks the current thread as using the database1263 behaves like record ActiveRecord metrics1264 when both web and background transaction are available1265 captures the metrics for web only1266 behaves like record ActiveRecord metrics in a metrics transaction1267 increments only db counters1268 observes sql_duration metric1269 when web transaction is available1270 behaves like record ActiveRecord metrics in a metrics transaction1271 increments only db counters1272 observes sql_duration metric1273 when background transaction is available1274 behaves like record ActiveRecord metrics in a metrics transaction1275 increments only db counters1276 observes sql_duration metric1277 behaves like store ActiveRecord info in RequestStore1278 prevents db counters from leaking to the next transaction1279 name: "SQL", sql_query: "INSERT INTO project_ci_cd_settings (project_id) SELECT id FROM projects", record_query: true, record_write_query: true, record_cached_query: false1280 marks the current thread as using the database1281 behaves like record ActiveRecord metrics1282 when both web and background transaction are available1283 captures the metrics for web only1284 behaves like record ActiveRecord metrics in a metrics transaction1285 increments only db counters1286 observes sql_duration metric1287 when web transaction is available1288 behaves like record ActiveRecord metrics in a metrics transaction1289 increments only db counters1290 observes sql_duration metric1291 when background transaction is available1292 behaves like record ActiveRecord metrics in a metrics transaction1293 increments only db counters1294 observes sql_duration metric1295 behaves like store ActiveRecord info in RequestStore1296 prevents db counters from leaking to the next transaction1297 name: "SQL", sql_query: "UPDATE users SET admin = true WHERE id = 10", record_query: true, record_write_query: true, record_cached_query: false1298 marks the current thread as using the database1299 behaves like record ActiveRecord metrics1300 when both web and background transaction are available1301 captures the metrics for web only1302 behaves like record ActiveRecord metrics in a metrics transaction1303 increments only db counters1304 observes sql_duration metric1305 when web transaction is available1306 behaves like record ActiveRecord metrics in a metrics transaction1307 increments only db counters1308 observes sql_duration metric1309 when background transaction is available1310 behaves like record ActiveRecord metrics in a metrics transaction1311 increments only db counters1312 observes sql_duration metric1313 behaves like store ActiveRecord info in RequestStore1314 prevents db counters from leaking to the next transaction1315 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true1316 marks the current thread as using the database1317 behaves like record ActiveRecord metrics1318 when both web and background transaction are available1319 captures the metrics for web only1320 behaves like record ActiveRecord metrics in a metrics transaction1321 increments only db counters1322 observes sql_duration metric1323 when web transaction is available1324 behaves like record ActiveRecord metrics in a metrics transaction1325 increments only db counters1326 observes sql_duration metric1327 when background transaction is available1328 behaves like record ActiveRecord metrics in a metrics transaction1329 increments only db counters1330 observes sql_duration metric1331 behaves like store ActiveRecord info in RequestStore1332 prevents db counters from leaking to the next transaction1333 name: "SCHEMA", sql_query: "SELECT attr.attname FROM pg_attribute attr INNER JOIN pg_constraint cons ON attr.attrelid = cons.conrelid AND attr.attnum = any(cons.conkey) WHERE cons.contype = 'p' AND cons.conrelid = '\"projects\"'::regclass", record_query: false, record_write_query: false, record_cached_query: false1334 marks the current thread as using the database1335 behaves like record ActiveRecord metrics1336 when both web and background transaction are available1337 captures the metrics for web only1338 behaves like record ActiveRecord metrics in a metrics transaction1339 increments only db counters1340 observes sql_duration metric1341 when web transaction is available1342 behaves like record ActiveRecord metrics in a metrics transaction1343 increments only db counters1344 observes sql_duration metric1345 when background transaction is available1346 behaves like record ActiveRecord metrics in a metrics transaction1347 increments only db counters1348 observes sql_duration metric1349 behaves like store ActiveRecord info in RequestStore1350 prevents db counters from leaking to the next transaction1351 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false1352 marks the current thread as using the database1353 behaves like record ActiveRecord metrics1354 when both web and background transaction are available1355 captures the metrics for web only1356 behaves like record ActiveRecord metrics in a metrics transaction1357 increments only db counters1358 observes sql_duration metric1359 when web transaction is available1360 behaves like record ActiveRecord metrics in a metrics transaction1361 increments only db counters1362 observes sql_duration metric1363 when background transaction is available1364 behaves like record ActiveRecord metrics in a metrics transaction1365 increments only db counters1366 observes sql_duration metric1367 behaves like store ActiveRecord info in RequestStore1368 prevents db counters from leaking to the next transaction1369 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false1370 marks the current thread as using the database1371 behaves like record ActiveRecord metrics1372 when both web and background transaction are available1373 captures the metrics for web only1374 behaves like record ActiveRecord metrics in a metrics transaction1375 increments only db counters1376 observes sql_duration metric1377 when web transaction is available1378 behaves like record ActiveRecord metrics in a metrics transaction1379 increments only db counters1380 observes sql_duration metric1381 when background transaction is available1382 behaves like record ActiveRecord metrics in a metrics transaction1383 increments only db counters1384 observes sql_duration metric1385 behaves like store ActiveRecord info in RequestStore1386 prevents db counters from leaking to the next transaction1387 Database Load Balancing enabled1388 without Marginalia comments1389 behaves like track sql events for each role1390 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: false1391 query using a connection to a replica1392 queries connection db role1393 behaves like record ActiveRecord metrics1394 when both web and background transaction are available1395 captures the metrics for web only1396 behaves like record ActiveRecord metrics in a metrics transaction1397 increments only db counters1398 observes sql_duration metric1399 when web transaction is available1400 behaves like record ActiveRecord metrics in a metrics transaction1401 increments only db counters1402 observes sql_duration metric1403 when background transaction is available1404 behaves like record ActiveRecord metrics in a metrics transaction1405 increments only db counters1406 observes sql_duration metric1407 behaves like store ActiveRecord info in RequestStore1408 prevents db counters from leaking to the next transaction1409 query using a connection to a primary1410 queries connection db role1411 behaves like record ActiveRecord metrics1412 when both web and background transaction are available1413 captures the metrics for web only1414 behaves like record ActiveRecord metrics in a metrics transaction1415 increments only db counters1416 observes sql_duration metric1417 when web transaction is available1418 behaves like record ActiveRecord metrics in a metrics transaction1419 increments only db counters1420 observes sql_duration metric1421 when background transaction is available1422 behaves like record ActiveRecord metrics in a metrics transaction1423 increments only db counters1424 observes sql_duration metric1425 behaves like store ActiveRecord info in RequestStore1426 prevents db counters from leaking to the next transaction1427 query using a connection to an unknown source1428 does not record DB role metrics1429 does not store DB roles into into RequestStore1430 name: "SQL", sql_query: "WITH active_milestones AS (SELECT COUNT(*), state FROM milestones GROUP BY state) SELECT * FROM active_milestones", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: false1431 query using a connection to a replica1432 queries connection db role1433 behaves like record ActiveRecord metrics1434 when both web and background transaction are available1435 captures the metrics for web only1436 behaves like record ActiveRecord metrics in a metrics transaction1437 increments only db counters1438 observes sql_duration metric1439 when web transaction is available1440 behaves like record ActiveRecord metrics in a metrics transaction1441 increments only db counters1442 observes sql_duration metric1443 when background transaction is available1444 behaves like record ActiveRecord metrics in a metrics transaction1445 increments only db counters1446 observes sql_duration metric1447 behaves like store ActiveRecord info in RequestStore1448 prevents db counters from leaking to the next transaction1449 query using a connection to a primary1450 queries connection db role1451 behaves like record ActiveRecord metrics1452 when both web and background transaction are available1453 captures the metrics for web only1454 behaves like record ActiveRecord metrics in a metrics transaction1455 increments only db counters1456 observes sql_duration metric1457 when web transaction is available1458 behaves like record ActiveRecord metrics in a metrics transaction1459 increments only db counters1460 observes sql_duration metric1461 when background transaction is available1462 behaves like record ActiveRecord metrics in a metrics transaction1463 increments only db counters1464 observes sql_duration metric1465 behaves like store ActiveRecord info in RequestStore1466 prevents db counters from leaking to the next transaction1467 query using a connection to an unknown source1468 does not record DB role metrics1469 does not store DB roles into into RequestStore1470 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10 FOR UPDATE", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false1471 query using a connection to a replica1472 queries connection db role1473 behaves like record ActiveRecord metrics1474 when both web and background transaction are available1475 captures the metrics for web only1476 behaves like record ActiveRecord metrics in a metrics transaction1477 increments only db counters1478 observes sql_duration metric1479 when web transaction is available1480 behaves like record ActiveRecord metrics in a metrics transaction1481 increments only db counters1482 observes sql_duration metric1483 when background transaction is available1484 behaves like record ActiveRecord metrics in a metrics transaction1485 increments only db counters1486 observes sql_duration metric1487 behaves like store ActiveRecord info in RequestStore1488 prevents db counters from leaking to the next transaction1489 query using a connection to a primary1490 queries connection db role1491 behaves like record ActiveRecord metrics1492 when both web and background transaction are available1493 captures the metrics for web only1494 behaves like record ActiveRecord metrics in a metrics transaction1495 increments only db counters1496 observes sql_duration metric1497 when web transaction is available1498 behaves like record ActiveRecord metrics in a metrics transaction1499 increments only db counters1500 observes sql_duration metric1501 when background transaction is available1502 behaves like record ActiveRecord metrics in a metrics transaction1503 increments only db counters1504 observes sql_duration metric1505 behaves like store ActiveRecord info in RequestStore1506 prevents db counters from leaking to the next transaction1507 query using a connection to an unknown source1508 does not record DB role metrics1509 does not store DB roles into into RequestStore1510 name: "SQL", sql_query: "WITH archived_rows AS (SELECT * FROM users WHERE archived = true) INSERT INTO products_log SELECT * FROM archived_rows", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false1511 query using a connection to a replica1512 queries connection db role1513 behaves like record ActiveRecord metrics1514 when both web and background transaction are available1515 captures the metrics for web only1516 behaves like record ActiveRecord metrics in a metrics transaction1517 increments only db counters1518 observes sql_duration metric1519 when web transaction is available1520 behaves like record ActiveRecord metrics in a metrics transaction1521 increments only db counters1522 observes sql_duration metric1523 when background transaction is available1524 behaves like record ActiveRecord metrics in a metrics transaction1525 increments only db counters1526 observes sql_duration metric1527 behaves like store ActiveRecord info in RequestStore1528 prevents db counters from leaking to the next transaction1529 query using a connection to a primary1530 queries connection db role1531 behaves like record ActiveRecord metrics1532 when both web and background transaction are available1533 captures the metrics for web only1534 behaves like record ActiveRecord metrics in a metrics transaction1535 increments only db counters1536 observes sql_duration metric1537 when web transaction is available1538 behaves like record ActiveRecord metrics in a metrics transaction1539 increments only db counters1540 observes sql_duration metric1541 when background transaction is available1542 behaves like record ActiveRecord metrics in a metrics transaction1543 increments only db counters1544 observes sql_duration metric1545 behaves like store ActiveRecord info in RequestStore1546 prevents db counters from leaking to the next transaction1547 query using a connection to an unknown source1548 does not record DB role metrics1549 does not store DB roles into into RequestStore1550 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false1551 query using a connection to a replica1552 queries connection db role1553 behaves like record ActiveRecord metrics1554 when both web and background transaction are available1555 captures the metrics for web only1556 behaves like record ActiveRecord metrics in a metrics transaction1557 increments only db counters1558 observes sql_duration metric1559 when web transaction is available1560 behaves like record ActiveRecord metrics in a metrics transaction1561 increments only db counters1562 observes sql_duration metric1563 when background transaction is available1564 behaves like record ActiveRecord metrics in a metrics transaction1565 increments only db counters1566 observes sql_duration metric1567 behaves like store ActiveRecord info in RequestStore1568 prevents db counters from leaking to the next transaction1569 query using a connection to a primary1570 queries connection db role1571 behaves like record ActiveRecord metrics1572 when both web and background transaction are available1573 captures the metrics for web only1574 behaves like record ActiveRecord metrics in a metrics transaction1575 increments only db counters1576 observes sql_duration metric1577 when web transaction is available1578 behaves like record ActiveRecord metrics in a metrics transaction1579 increments only db counters1580 observes sql_duration metric1581 when background transaction is available1582 behaves like record ActiveRecord metrics in a metrics transaction1583 increments only db counters1584 observes sql_duration metric1585 behaves like store ActiveRecord info in RequestStore1586 prevents db counters from leaking to the next transaction1587 query using a connection to an unknown source1588 does not record DB role metrics1589 does not store DB roles into into RequestStore1590 name: "SQL", sql_query: "INSERT INTO project_ci_cd_settings (project_id) SELECT id FROM projects", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false1591 query using a connection to a replica1592 queries connection db role1593 behaves like record ActiveRecord metrics1594 when both web and background transaction are available1595 captures the metrics for web only1596 behaves like record ActiveRecord metrics in a metrics transaction1597 increments only db counters1598 observes sql_duration metric1599 when web transaction is available1600 behaves like record ActiveRecord metrics in a metrics transaction1601 increments only db counters1602 observes sql_duration metric1603 when background transaction is available1604 behaves like record ActiveRecord metrics in a metrics transaction1605 increments only db counters1606 observes sql_duration metric1607 behaves like store ActiveRecord info in RequestStore1608 prevents db counters from leaking to the next transaction1609 query using a connection to a primary1610 queries connection db role1611 behaves like record ActiveRecord metrics1612 when both web and background transaction are available1613 captures the metrics for web only1614 behaves like record ActiveRecord metrics in a metrics transaction1615 increments only db counters1616 observes sql_duration metric1617 when web transaction is available1618 behaves like record ActiveRecord metrics in a metrics transaction1619 increments only db counters1620 observes sql_duration metric1621 when background transaction is available1622 behaves like record ActiveRecord metrics in a metrics transaction1623 increments only db counters1624 observes sql_duration metric1625 behaves like store ActiveRecord info in RequestStore1626 prevents db counters from leaking to the next transaction1627 query using a connection to an unknown source1628 does not record DB role metrics1629 does not store DB roles into into RequestStore1630 name: "SQL", sql_query: "UPDATE users SET admin = true WHERE id = 10", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false1631 query using a connection to a replica1632 queries connection db role1633 behaves like record ActiveRecord metrics1634 when both web and background transaction are available1635 captures the metrics for web only1636 behaves like record ActiveRecord metrics in a metrics transaction1637 increments only db counters1638 observes sql_duration metric1639 when web transaction is available1640 behaves like record ActiveRecord metrics in a metrics transaction1641 increments only db counters1642 observes sql_duration metric1643 when background transaction is available1644 behaves like record ActiveRecord metrics in a metrics transaction1645 increments only db counters1646 observes sql_duration metric1647 behaves like store ActiveRecord info in RequestStore1648 prevents db counters from leaking to the next transaction1649 query using a connection to a primary1650 queries connection db role1651 behaves like record ActiveRecord metrics1652 when both web and background transaction are available1653 captures the metrics for web only1654 behaves like record ActiveRecord metrics in a metrics transaction1655 increments only db counters1656 observes sql_duration metric1657 when web transaction is available1658 behaves like record ActiveRecord metrics in a metrics transaction1659 increments only db counters1660 observes sql_duration metric1661 when background transaction is available1662 behaves like record ActiveRecord metrics in a metrics transaction1663 increments only db counters1664 observes sql_duration metric1665 behaves like store ActiveRecord info in RequestStore1666 prevents db counters from leaking to the next transaction1667 query using a connection to an unknown source1668 does not record DB role metrics1669 does not store DB roles into into RequestStore1670 name: "SQL", sql_query: "SELECT pg_current_wal_insert_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: true1671 query using a connection to a replica1672 queries connection db role1673 behaves like record ActiveRecord metrics1674 when both web and background transaction are available1675 captures the metrics for web only1676 behaves like record ActiveRecord metrics in a metrics transaction1677 increments only db counters1678 observes sql_duration metric1679 when web transaction is available1680 behaves like record ActiveRecord metrics in a metrics transaction1681 increments only db counters1682 observes sql_duration metric1683 when background transaction is available1684 behaves like record ActiveRecord metrics in a metrics transaction1685 increments only db counters1686 observes sql_duration metric1687 behaves like store ActiveRecord info in RequestStore1688 prevents db counters from leaking to the next transaction1689 query using a connection to a primary1690 queries connection db role1691 behaves like record ActiveRecord metrics1692 when both web and background transaction are available1693 captures the metrics for web only1694 behaves like record ActiveRecord metrics in a metrics transaction1695 increments only db counters1696 observes sql_duration metric1697 when web transaction is available1698 behaves like record ActiveRecord metrics in a metrics transaction1699 increments only db counters1700 observes sql_duration metric1701 when background transaction is available1702 behaves like record ActiveRecord metrics in a metrics transaction1703 increments only db counters1704 observes sql_duration metric1705 behaves like store ActiveRecord info in RequestStore1706 prevents db counters from leaking to the next transaction1707 query using a connection to an unknown source1708 does not record DB role metrics1709 does not store DB roles into into RequestStore1710 name: "SQL", sql_query: "SELECT pg_last_wal_replay_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: true1711 query using a connection to a replica1712 queries connection db role1713 behaves like record ActiveRecord metrics1714 when both web and background transaction are available1715 captures the metrics for web only1716 behaves like record ActiveRecord metrics in a metrics transaction1717 increments only db counters1718 observes sql_duration metric1719 when web transaction is available1720 behaves like record ActiveRecord metrics in a metrics transaction1721 increments only db counters1722 observes sql_duration metric1723 when background transaction is available1724 behaves like record ActiveRecord metrics in a metrics transaction1725 increments only db counters1726 observes sql_duration metric1727 behaves like store ActiveRecord info in RequestStore1728 prevents db counters from leaking to the next transaction1729 query using a connection to a primary1730 queries connection db role1731 behaves like record ActiveRecord metrics1732 when both web and background transaction are available1733 captures the metrics for web only1734 behaves like record ActiveRecord metrics in a metrics transaction1735 increments only db counters1736 observes sql_duration metric1737 when web transaction is available1738 behaves like record ActiveRecord metrics in a metrics transaction1739 increments only db counters1740 observes sql_duration metric1741 when background transaction is available1742 behaves like record ActiveRecord metrics in a metrics transaction1743 increments only db counters1744 observes sql_duration metric1745 behaves like store ActiveRecord info in RequestStore1746 prevents db counters from leaking to the next transaction1747 query using a connection to an unknown source1748 does not record DB role metrics1749 does not store DB roles into into RequestStore1750 name: "CACHE", sql_query: "SELECT pg_current_wal_insert_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: true1751 query using a connection to a replica1752 queries connection db role1753 behaves like record ActiveRecord metrics1754 when both web and background transaction are available1755 captures the metrics for web only1756 behaves like record ActiveRecord metrics in a metrics transaction1757 increments only db counters1758 observes sql_duration metric1759 when web transaction is available1760 behaves like record ActiveRecord metrics in a metrics transaction1761 increments only db counters1762 observes sql_duration metric1763 when background transaction is available1764 behaves like record ActiveRecord metrics in a metrics transaction1765 increments only db counters1766 observes sql_duration metric1767 behaves like store ActiveRecord info in RequestStore1768 prevents db counters from leaking to the next transaction1769 query using a connection to a primary1770 queries connection db role1771 behaves like record ActiveRecord metrics1772 when both web and background transaction are available1773 captures the metrics for web only1774 behaves like record ActiveRecord metrics in a metrics transaction1775 increments only db counters1776 observes sql_duration metric1777 when web transaction is available1778 behaves like record ActiveRecord metrics in a metrics transaction1779 increments only db counters1780 observes sql_duration metric1781 when background transaction is available1782 behaves like record ActiveRecord metrics in a metrics transaction1783 increments only db counters1784 observes sql_duration metric1785 behaves like store ActiveRecord info in RequestStore1786 prevents db counters from leaking to the next transaction1787 query using a connection to an unknown source1788 does not record DB role metrics1789 does not store DB roles into into RequestStore1790 name: "CACHE", sql_query: "SELECT pg_last_wal_replay_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: true1791 query using a connection to a replica1792 queries connection db role1793 behaves like record ActiveRecord metrics1794 when both web and background transaction are available1795 captures the metrics for web only1796 behaves like record ActiveRecord metrics in a metrics transaction1797 increments only db counters1798 observes sql_duration metric1799 when web transaction is available1800 behaves like record ActiveRecord metrics in a metrics transaction1801 increments only db counters1802 observes sql_duration metric1803 when background transaction is available1804 behaves like record ActiveRecord metrics in a metrics transaction1805 increments only db counters1806 observes sql_duration metric1807 behaves like store ActiveRecord info in RequestStore1808 prevents db counters from leaking to the next transaction1809 query using a connection to a primary1810 queries connection db role1811 behaves like record ActiveRecord metrics1812 when both web and background transaction are available1813 captures the metrics for web only1814 behaves like record ActiveRecord metrics in a metrics transaction1815 increments only db counters1816 observes sql_duration metric1817 when web transaction is available1818 behaves like record ActiveRecord metrics in a metrics transaction1819 increments only db counters1820 observes sql_duration metric1821 when background transaction is available1822 behaves like record ActiveRecord metrics in a metrics transaction1823 increments only db counters1824 observes sql_duration metric1825 behaves like store ActiveRecord info in RequestStore1826 prevents db counters from leaking to the next transaction1827 query using a connection to an unknown source1828 does not record DB role metrics1829 does not store DB roles into into RequestStore1830 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: false1831 query using a connection to a replica1832 queries connection db role1833 behaves like record ActiveRecord metrics1834 when both web and background transaction are available1835 captures the metrics for web only1836 behaves like record ActiveRecord metrics in a metrics transaction1837 increments only db counters1838 observes sql_duration metric1839 when web transaction is available1840 behaves like record ActiveRecord metrics in a metrics transaction1841 increments only db counters1842 observes sql_duration metric1843 when background transaction is available1844 behaves like record ActiveRecord metrics in a metrics transaction1845 increments only db counters1846 observes sql_duration metric1847 behaves like store ActiveRecord info in RequestStore1848 prevents db counters from leaking to the next transaction1849 query using a connection to a primary1850 queries connection db role1851 behaves like record ActiveRecord metrics1852 when both web and background transaction are available1853 captures the metrics for web only1854 behaves like record ActiveRecord metrics in a metrics transaction1855 increments only db counters1856 observes sql_duration metric1857 when web transaction is available1858 behaves like record ActiveRecord metrics in a metrics transaction1859 increments only db counters1860 observes sql_duration metric1861 when background transaction is available1862 behaves like record ActiveRecord metrics in a metrics transaction1863 increments only db counters1864 observes sql_duration metric1865 behaves like store ActiveRecord info in RequestStore1866 prevents db counters from leaking to the next transaction1867 query using a connection to an unknown source1868 does not record DB role metrics1869 does not store DB roles into into RequestStore1870 name: "SCHEMA", sql_query: "SELECT attr.attname FROM pg_attribute attr INNER JOIN pg_constraint cons ON attr.attrelid = cons.conrelid AND attr.attnum = any(cons.conkey) WHERE cons.contype = 'p' AND cons.conrelid = '\"projects\"'::regclass", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false1871 query using a connection to a replica1872 queries connection db role1873 behaves like record ActiveRecord metrics1874 when both web and background transaction are available1875 captures the metrics for web only1876 behaves like record ActiveRecord metrics in a metrics transaction1877 increments only db counters1878 observes sql_duration metric1879 when web transaction is available1880 behaves like record ActiveRecord metrics in a metrics transaction1881 increments only db counters1882 observes sql_duration metric1883 when background transaction is available1884 behaves like record ActiveRecord metrics in a metrics transaction1885 increments only db counters1886 observes sql_duration metric1887 behaves like store ActiveRecord info in RequestStore1888 prevents db counters from leaking to the next transaction1889 query using a connection to a primary1890 queries connection db role1891 behaves like record ActiveRecord metrics1892 when both web and background transaction are available1893 captures the metrics for web only1894 behaves like record ActiveRecord metrics in a metrics transaction1895 increments only db counters1896 observes sql_duration metric1897 when web transaction is available1898 behaves like record ActiveRecord metrics in a metrics transaction1899 increments only db counters1900 observes sql_duration metric1901 when background transaction is available1902 behaves like record ActiveRecord metrics in a metrics transaction1903 increments only db counters1904 observes sql_duration metric1905 behaves like store ActiveRecord info in RequestStore1906 prevents db counters from leaking to the next transaction1907 query using a connection to an unknown source1908 does not record DB role metrics1909 does not store DB roles into into RequestStore1910 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false1911 query using a connection to a replica1912 queries connection db role1913 behaves like record ActiveRecord metrics1914 when both web and background transaction are available1915 captures the metrics for web only1916 behaves like record ActiveRecord metrics in a metrics transaction1917 increments only db counters1918 observes sql_duration metric1919 when web transaction is available1920 behaves like record ActiveRecord metrics in a metrics transaction1921 increments only db counters1922 observes sql_duration metric1923 when background transaction is available1924 behaves like record ActiveRecord metrics in a metrics transaction1925 increments only db counters1926 observes sql_duration metric1927 behaves like store ActiveRecord info in RequestStore1928 prevents db counters from leaking to the next transaction1929 query using a connection to a primary1930 queries connection db role1931 behaves like record ActiveRecord metrics1932 when both web and background transaction are available1933 captures the metrics for web only1934 behaves like record ActiveRecord metrics in a metrics transaction1935 increments only db counters1936 observes sql_duration metric1937 when web transaction is available1938 behaves like record ActiveRecord metrics in a metrics transaction1939 increments only db counters1940 observes sql_duration metric1941 when background transaction is available1942 behaves like record ActiveRecord metrics in a metrics transaction1943 increments only db counters1944 observes sql_duration metric1945 behaves like store ActiveRecord info in RequestStore1946 prevents db counters from leaking to the next transaction1947 query using a connection to an unknown source1948 does not record DB role metrics1949 does not store DB roles into into RequestStore1950 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false1951 query using a connection to a replica1952 queries connection db role1953 behaves like record ActiveRecord metrics1954 when both web and background transaction are available1955 captures the metrics for web only1956 behaves like record ActiveRecord metrics in a metrics transaction1957 increments only db counters1958 observes sql_duration metric1959 when web transaction is available1960 behaves like record ActiveRecord metrics in a metrics transaction1961 increments only db counters1962 observes sql_duration metric1963 when background transaction is available1964 behaves like record ActiveRecord metrics in a metrics transaction1965 increments only db counters1966 observes sql_duration metric1967 behaves like store ActiveRecord info in RequestStore1968 prevents db counters from leaking to the next transaction1969 query using a connection to a primary1970 queries connection db role1971 behaves like record ActiveRecord metrics1972 when both web and background transaction are available1973 captures the metrics for web only1974 behaves like record ActiveRecord metrics in a metrics transaction1975 increments only db counters1976 observes sql_duration metric1977 when web transaction is available1978 behaves like record ActiveRecord metrics in a metrics transaction1979 increments only db counters1980 observes sql_duration metric1981 when background transaction is available1982 behaves like record ActiveRecord metrics in a metrics transaction1983 increments only db counters1984 observes sql_duration metric1985 behaves like store ActiveRecord info in RequestStore1986 prevents db counters from leaking to the next transaction1987 query using a connection to an unknown source1988 does not record DB role metrics1989 does not store DB roles into into RequestStore1990 with Marginalia comments1991 behaves like track sql events for each role1992 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: false1993 query using a connection to a replica1994 queries connection db role1995 behaves like record ActiveRecord metrics1996 when both web and background transaction are available1997 captures the metrics for web only1998 behaves like record ActiveRecord metrics in a metrics transaction1999 increments only db counters2000 observes sql_duration metric2001 when web transaction is available2002 behaves like record ActiveRecord metrics in a metrics transaction2003 increments only db counters2004 observes sql_duration metric2005 when background transaction is available2006 behaves like record ActiveRecord metrics in a metrics transaction2007 increments only db counters2008 observes sql_duration metric2009 behaves like store ActiveRecord info in RequestStore2010 prevents db counters from leaking to the next transaction2011 query using a connection to a primary2012 queries connection db role2013 behaves like record ActiveRecord metrics2014 when both web and background transaction are available2015 captures the metrics for web only2016 behaves like record ActiveRecord metrics in a metrics transaction2017 increments only db counters2018 observes sql_duration metric2019 when web transaction is available2020 behaves like record ActiveRecord metrics in a metrics transaction2021 increments only db counters2022 observes sql_duration metric2023 when background transaction is available2024 behaves like record ActiveRecord metrics in a metrics transaction2025 increments only db counters2026 observes sql_duration metric2027 behaves like store ActiveRecord info in RequestStore2028 prevents db counters from leaking to the next transaction2029 query using a connection to an unknown source2030 does not record DB role metrics2031 does not store DB roles into into RequestStore2032 name: "SQL", sql_query: "WITH active_milestones AS (SELECT COUNT(*), state FROM milestones GROUP BY state) SELECT * FROM active_milestones", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: false2033 query using a connection to a replica2034 queries connection db role2035 behaves like record ActiveRecord metrics2036 when both web and background transaction are available2037 captures the metrics for web only2038 behaves like record ActiveRecord metrics in a metrics transaction2039 increments only db counters2040 observes sql_duration metric2041 when web transaction is available2042 behaves like record ActiveRecord metrics in a metrics transaction2043 increments only db counters2044 observes sql_duration metric2045 when background transaction is available2046 behaves like record ActiveRecord metrics in a metrics transaction2047 increments only db counters2048 observes sql_duration metric2049 behaves like store ActiveRecord info in RequestStore2050 prevents db counters from leaking to the next transaction2051 query using a connection to a primary2052 queries connection db role2053 behaves like record ActiveRecord metrics2054 when both web and background transaction are available2055 captures the metrics for web only2056 behaves like record ActiveRecord metrics in a metrics transaction2057 increments only db counters2058 observes sql_duration metric2059 when web transaction is available2060 behaves like record ActiveRecord metrics in a metrics transaction2061 increments only db counters2062 observes sql_duration metric2063 when background transaction is available2064 behaves like record ActiveRecord metrics in a metrics transaction2065 increments only db counters2066 observes sql_duration metric2067 behaves like store ActiveRecord info in RequestStore2068 prevents db counters from leaking to the next transaction2069 query using a connection to an unknown source2070 does not record DB role metrics2071 does not store DB roles into into RequestStore2072 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10 FOR UPDATE", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false2073 query using a connection to a replica2074 queries connection db role2075 behaves like record ActiveRecord metrics2076 when both web and background transaction are available2077 captures the metrics for web only2078 behaves like record ActiveRecord metrics in a metrics transaction2079 increments only db counters2080 observes sql_duration metric2081 when web transaction is available2082 behaves like record ActiveRecord metrics in a metrics transaction2083 increments only db counters2084 observes sql_duration metric2085 when background transaction is available2086 behaves like record ActiveRecord metrics in a metrics transaction2087 increments only db counters2088 observes sql_duration metric2089 behaves like store ActiveRecord info in RequestStore2090 prevents db counters from leaking to the next transaction2091 query using a connection to a primary2092 queries connection db role2093 behaves like record ActiveRecord metrics2094 when both web and background transaction are available2095 captures the metrics for web only2096 behaves like record ActiveRecord metrics in a metrics transaction2097 increments only db counters2098 observes sql_duration metric2099 when web transaction is available2100 behaves like record ActiveRecord metrics in a metrics transaction2101 increments only db counters2102 observes sql_duration metric2103 when background transaction is available2104 behaves like record ActiveRecord metrics in a metrics transaction2105 increments only db counters2106 observes sql_duration metric2107 behaves like store ActiveRecord info in RequestStore2108 prevents db counters from leaking to the next transaction2109 query using a connection to an unknown source2110 does not record DB role metrics2111 does not store DB roles into into RequestStore2112 name: "SQL", sql_query: "WITH archived_rows AS (SELECT * FROM users WHERE archived = true) INSERT INTO products_log SELECT * FROM archived_rows", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false2113 query using a connection to a replica2114 queries connection db role2115 behaves like record ActiveRecord metrics2116 when both web and background transaction are available2117 captures the metrics for web only2118 behaves like record ActiveRecord metrics in a metrics transaction2119 increments only db counters2120 observes sql_duration metric2121 when web transaction is available2122 behaves like record ActiveRecord metrics in a metrics transaction2123 increments only db counters2124 observes sql_duration metric2125 when background transaction is available2126 behaves like record ActiveRecord metrics in a metrics transaction2127 increments only db counters2128 observes sql_duration metric2129 behaves like store ActiveRecord info in RequestStore2130 prevents db counters from leaking to the next transaction2131 query using a connection to a primary2132 queries connection db role2133 behaves like record ActiveRecord metrics2134 when both web and background transaction are available2135 captures the metrics for web only2136 behaves like record ActiveRecord metrics in a metrics transaction2137 increments only db counters2138 observes sql_duration metric2139 when web transaction is available2140 behaves like record ActiveRecord metrics in a metrics transaction2141 increments only db counters2142 observes sql_duration metric2143 when background transaction is available2144 behaves like record ActiveRecord metrics in a metrics transaction2145 increments only db counters2146 observes sql_duration metric2147 behaves like store ActiveRecord info in RequestStore2148 prevents db counters from leaking to the next transaction2149 query using a connection to an unknown source2150 does not record DB role metrics2151 does not store DB roles into into RequestStore2152 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false2153 query using a connection to a replica2154 queries connection db role2155 behaves like record ActiveRecord metrics2156 when both web and background transaction are available2157 captures the metrics for web only2158 behaves like record ActiveRecord metrics in a metrics transaction2159 increments only db counters2160 observes sql_duration metric2161 when web transaction is available2162 behaves like record ActiveRecord metrics in a metrics transaction2163 increments only db counters2164 observes sql_duration metric2165 when background transaction is available2166 behaves like record ActiveRecord metrics in a metrics transaction2167 increments only db counters2168 observes sql_duration metric2169 behaves like store ActiveRecord info in RequestStore2170 prevents db counters from leaking to the next transaction2171 query using a connection to a primary2172 queries connection db role2173 behaves like record ActiveRecord metrics2174 when both web and background transaction are available2175 captures the metrics for web only2176 behaves like record ActiveRecord metrics in a metrics transaction2177 increments only db counters2178 observes sql_duration metric2179 when web transaction is available2180 behaves like record ActiveRecord metrics in a metrics transaction2181 increments only db counters2182 observes sql_duration metric2183 when background transaction is available2184 behaves like record ActiveRecord metrics in a metrics transaction2185 increments only db counters2186 observes sql_duration metric2187 behaves like store ActiveRecord info in RequestStore2188 prevents db counters from leaking to the next transaction2189 query using a connection to an unknown source2190 does not record DB role metrics2191 does not store DB roles into into RequestStore2192 name: "SQL", sql_query: "INSERT INTO project_ci_cd_settings (project_id) SELECT id FROM projects", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false2193 query using a connection to a replica2194 queries connection db role2195 behaves like record ActiveRecord metrics2196 when both web and background transaction are available2197 captures the metrics for web only2198 behaves like record ActiveRecord metrics in a metrics transaction2199 increments only db counters2200 observes sql_duration metric2201 when web transaction is available2202 behaves like record ActiveRecord metrics in a metrics transaction2203 increments only db counters2204 observes sql_duration metric2205 when background transaction is available2206 behaves like record ActiveRecord metrics in a metrics transaction2207 increments only db counters2208 observes sql_duration metric2209 behaves like store ActiveRecord info in RequestStore2210 prevents db counters from leaking to the next transaction2211 query using a connection to a primary2212 queries connection db role2213 behaves like record ActiveRecord metrics2214 when both web and background transaction are available2215 captures the metrics for web only2216 behaves like record ActiveRecord metrics in a metrics transaction2217 increments only db counters2218 observes sql_duration metric2219 when web transaction is available2220 behaves like record ActiveRecord metrics in a metrics transaction2221 increments only db counters2222 observes sql_duration metric2223 when background transaction is available2224 behaves like record ActiveRecord metrics in a metrics transaction2225 increments only db counters2226 observes sql_duration metric2227 behaves like store ActiveRecord info in RequestStore2228 prevents db counters from leaking to the next transaction2229 query using a connection to an unknown source2230 does not record DB role metrics2231 does not store DB roles into into RequestStore2232 name: "SQL", sql_query: "UPDATE users SET admin = true WHERE id = 10", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false2233 query using a connection to a replica2234 queries connection db role2235 behaves like record ActiveRecord metrics2236 when both web and background transaction are available2237 captures the metrics for web only2238 behaves like record ActiveRecord metrics in a metrics transaction2239 increments only db counters2240 observes sql_duration metric2241 when web transaction is available2242 behaves like record ActiveRecord metrics in a metrics transaction2243 increments only db counters2244 observes sql_duration metric2245 when background transaction is available2246 behaves like record ActiveRecord metrics in a metrics transaction2247 increments only db counters2248 observes sql_duration metric2249 behaves like store ActiveRecord info in RequestStore2250 prevents db counters from leaking to the next transaction2251 query using a connection to a primary2252 queries connection db role2253 behaves like record ActiveRecord metrics2254 when both web and background transaction are available2255 captures the metrics for web only2256 behaves like record ActiveRecord metrics in a metrics transaction2257 increments only db counters2258 observes sql_duration metric2259 when web transaction is available2260 behaves like record ActiveRecord metrics in a metrics transaction2261 increments only db counters2262 observes sql_duration metric2263 when background transaction is available2264 behaves like record ActiveRecord metrics in a metrics transaction2265 increments only db counters2266 observes sql_duration metric2267 behaves like store ActiveRecord info in RequestStore2268 prevents db counters from leaking to the next transaction2269 query using a connection to an unknown source2270 does not record DB role metrics2271 does not store DB roles into into RequestStore2272 name: "SQL", sql_query: "SELECT pg_current_wal_insert_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: true2273 query using a connection to a replica2274 queries connection db role2275 behaves like record ActiveRecord metrics2276 when both web and background transaction are available2277 captures the metrics for web only2278 behaves like record ActiveRecord metrics in a metrics transaction2279 increments only db counters2280 observes sql_duration metric2281 when web transaction is available2282 behaves like record ActiveRecord metrics in a metrics transaction2283 increments only db counters2284 observes sql_duration metric2285 when background transaction is available2286 behaves like record ActiveRecord metrics in a metrics transaction2287 increments only db counters2288 observes sql_duration metric2289 behaves like store ActiveRecord info in RequestStore2290 prevents db counters from leaking to the next transaction2291 query using a connection to a primary2292 queries connection db role2293 behaves like record ActiveRecord metrics2294 when both web and background transaction are available2295 captures the metrics for web only2296 behaves like record ActiveRecord metrics in a metrics transaction2297 increments only db counters2298 observes sql_duration metric2299 when web transaction is available2300 behaves like record ActiveRecord metrics in a metrics transaction2301 increments only db counters2302 observes sql_duration metric2303 when background transaction is available2304 behaves like record ActiveRecord metrics in a metrics transaction2305 increments only db counters2306 observes sql_duration metric2307 behaves like store ActiveRecord info in RequestStore2308 prevents db counters from leaking to the next transaction2309 query using a connection to an unknown source2310 does not record DB role metrics2311 does not store DB roles into into RequestStore2312 name: "SQL", sql_query: "SELECT pg_last_wal_replay_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: true2313 query using a connection to a replica2314 queries connection db role2315 behaves like record ActiveRecord metrics2316 when both web and background transaction are available2317 captures the metrics for web only2318 behaves like record ActiveRecord metrics in a metrics transaction2319 increments only db counters2320 observes sql_duration metric2321 when web transaction is available2322 behaves like record ActiveRecord metrics in a metrics transaction2323 increments only db counters2324 observes sql_duration metric2325 when background transaction is available2326 behaves like record ActiveRecord metrics in a metrics transaction2327 increments only db counters2328 observes sql_duration metric2329 behaves like store ActiveRecord info in RequestStore2330 prevents db counters from leaking to the next transaction2331 query using a connection to a primary2332 queries connection db role2333 behaves like record ActiveRecord metrics2334 when both web and background transaction are available2335 captures the metrics for web only2336 behaves like record ActiveRecord metrics in a metrics transaction2337 increments only db counters2338 observes sql_duration metric2339 when web transaction is available2340 behaves like record ActiveRecord metrics in a metrics transaction2341 increments only db counters2342 observes sql_duration metric2343 when background transaction is available2344 behaves like record ActiveRecord metrics in a metrics transaction2345 increments only db counters2346 observes sql_duration metric2347 behaves like store ActiveRecord info in RequestStore2348 prevents db counters from leaking to the next transaction2349 query using a connection to an unknown source2350 does not record DB role metrics2351 does not store DB roles into into RequestStore2352 name: "CACHE", sql_query: "SELECT pg_current_wal_insert_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: true2353 query using a connection to a replica2354 queries connection db role2355 behaves like record ActiveRecord metrics2356 when both web and background transaction are available2357 captures the metrics for web only2358 behaves like record ActiveRecord metrics in a metrics transaction2359 increments only db counters2360 observes sql_duration metric2361 when web transaction is available2362 behaves like record ActiveRecord metrics in a metrics transaction2363 increments only db counters2364 observes sql_duration metric2365 when background transaction is available2366 behaves like record ActiveRecord metrics in a metrics transaction2367 increments only db counters2368 observes sql_duration metric2369 behaves like store ActiveRecord info in RequestStore2370 prevents db counters from leaking to the next transaction2371 query using a connection to a primary2372 queries connection db role2373 behaves like record ActiveRecord metrics2374 when both web and background transaction are available2375 captures the metrics for web only2376 behaves like record ActiveRecord metrics in a metrics transaction2377 increments only db counters2378 observes sql_duration metric2379 when web transaction is available2380 behaves like record ActiveRecord metrics in a metrics transaction2381 increments only db counters2382 observes sql_duration metric2383 when background transaction is available2384 behaves like record ActiveRecord metrics in a metrics transaction2385 increments only db counters2386 observes sql_duration metric2387 behaves like store ActiveRecord info in RequestStore2388 prevents db counters from leaking to the next transaction2389 query using a connection to an unknown source2390 does not record DB role metrics2391 does not store DB roles into into RequestStore2392 name: "CACHE", sql_query: "SELECT pg_last_wal_replay_lsn()::text AS location", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: true2393 query using a connection to a replica2394 queries connection db role2395 behaves like record ActiveRecord metrics2396 when both web and background transaction are available2397 captures the metrics for web only2398 behaves like record ActiveRecord metrics in a metrics transaction2399 increments only db counters2400 observes sql_duration metric2401 when web transaction is available2402 behaves like record ActiveRecord metrics in a metrics transaction2403 increments only db counters2404 observes sql_duration metric2405 when background transaction is available2406 behaves like record ActiveRecord metrics in a metrics transaction2407 increments only db counters2408 observes sql_duration metric2409 behaves like store ActiveRecord info in RequestStore2410 prevents db counters from leaking to the next transaction2411 query using a connection to a primary2412 queries connection db role2413 behaves like record ActiveRecord metrics2414 when both web and background transaction are available2415 captures the metrics for web only2416 behaves like record ActiveRecord metrics in a metrics transaction2417 increments only db counters2418 observes sql_duration metric2419 when web transaction is available2420 behaves like record ActiveRecord metrics in a metrics transaction2421 increments only db counters2422 observes sql_duration metric2423 when background transaction is available2424 behaves like record ActiveRecord metrics in a metrics transaction2425 increments only db counters2426 observes sql_duration metric2427 behaves like store ActiveRecord info in RequestStore2428 prevents db counters from leaking to the next transaction2429 query using a connection to an unknown source2430 does not record DB role metrics2431 does not store DB roles into into RequestStore2432 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: false2433 query using a connection to a replica2434 queries connection db role2435 behaves like record ActiveRecord metrics2436 when both web and background transaction are available2437 captures the metrics for web only2438 behaves like record ActiveRecord metrics in a metrics transaction2439 increments only db counters2440 observes sql_duration metric2441 when web transaction is available2442 behaves like record ActiveRecord metrics in a metrics transaction2443 increments only db counters2444 observes sql_duration metric2445 when background transaction is available2446 behaves like record ActiveRecord metrics in a metrics transaction2447 increments only db counters2448 observes sql_duration metric2449 behaves like store ActiveRecord info in RequestStore2450 prevents db counters from leaking to the next transaction2451 query using a connection to a primary2452 queries connection db role2453 behaves like record ActiveRecord metrics2454 when both web and background transaction are available2455 captures the metrics for web only2456 behaves like record ActiveRecord metrics in a metrics transaction2457 increments only db counters2458 observes sql_duration metric2459 when web transaction is available2460 behaves like record ActiveRecord metrics in a metrics transaction2461 increments only db counters2462 observes sql_duration metric2463 when background transaction is available2464 behaves like record ActiveRecord metrics in a metrics transaction2465 increments only db counters2466 observes sql_duration metric2467 behaves like store ActiveRecord info in RequestStore2468 prevents db counters from leaking to the next transaction2469 query using a connection to an unknown source2470 does not record DB role metrics2471 does not store DB roles into into RequestStore2472 name: "SCHEMA", sql_query: "SELECT attr.attname FROM pg_attribute attr INNER JOIN pg_constraint cons ON attr.attrelid = cons.conrelid AND attr.attnum = any(cons.conkey) WHERE cons.contype = 'p' AND cons.conrelid = '\"projects\"'::regclass", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false2473 query using a connection to a replica2474 queries connection db role2475 behaves like record ActiveRecord metrics2476 when both web and background transaction are available2477 captures the metrics for web only2478 behaves like record ActiveRecord metrics in a metrics transaction2479 increments only db counters2480 observes sql_duration metric2481 when web transaction is available2482 behaves like record ActiveRecord metrics in a metrics transaction2483 increments only db counters2484 observes sql_duration metric2485 when background transaction is available2486 behaves like record ActiveRecord metrics in a metrics transaction2487 increments only db counters2488 observes sql_duration metric2489 behaves like store ActiveRecord info in RequestStore2490 prevents db counters from leaking to the next transaction2491 query using a connection to a primary2492 queries connection db role2493 behaves like record ActiveRecord metrics2494 when both web and background transaction are available2495 captures the metrics for web only2496 behaves like record ActiveRecord metrics in a metrics transaction2497 increments only db counters2498 observes sql_duration metric2499 when web transaction is available2500 behaves like record ActiveRecord metrics in a metrics transaction2501 increments only db counters2502 observes sql_duration metric2503 when background transaction is available2504 behaves like record ActiveRecord metrics in a metrics transaction2505 increments only db counters2506 observes sql_duration metric2507 behaves like store ActiveRecord info in RequestStore2508 prevents db counters from leaking to the next transaction2509 query using a connection to an unknown source2510 does not record DB role metrics2511 does not store DB roles into into RequestStore2512 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false2513 query using a connection to a replica2514 queries connection db role2515 behaves like record ActiveRecord metrics2516 when both web and background transaction are available2517 captures the metrics for web only2518 behaves like record ActiveRecord metrics in a metrics transaction2519 increments only db counters2520 observes sql_duration metric2521 when web transaction is available2522 behaves like record ActiveRecord metrics in a metrics transaction2523 increments only db counters2524 observes sql_duration metric2525 when background transaction is available2526 behaves like record ActiveRecord metrics in a metrics transaction2527 increments only db counters2528 observes sql_duration metric2529 behaves like store ActiveRecord info in RequestStore2530 prevents db counters from leaking to the next transaction2531 query using a connection to a primary2532 queries connection db role2533 behaves like record ActiveRecord metrics2534 when both web and background transaction are available2535 captures the metrics for web only2536 behaves like record ActiveRecord metrics in a metrics transaction2537 increments only db counters2538 observes sql_duration metric2539 when web transaction is available2540 behaves like record ActiveRecord metrics in a metrics transaction2541 increments only db counters2542 observes sql_duration metric2543 when background transaction is available2544 behaves like record ActiveRecord metrics in a metrics transaction2545 increments only db counters2546 observes sql_duration metric2547 behaves like store ActiveRecord info in RequestStore2548 prevents db counters from leaking to the next transaction2549 query using a connection to an unknown source2550 does not record DB role metrics2551 does not store DB roles into into RequestStore2552 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false2553 query using a connection to a replica2554 queries connection db role2555 behaves like record ActiveRecord metrics2556 when both web and background transaction are available2557 captures the metrics for web only2558 behaves like record ActiveRecord metrics in a metrics transaction2559 increments only db counters2560 observes sql_duration metric2561 when web transaction is available2562 behaves like record ActiveRecord metrics in a metrics transaction2563 increments only db counters2564 observes sql_duration metric2565 when background transaction is available2566 behaves like record ActiveRecord metrics in a metrics transaction2567 increments only db counters2568 observes sql_duration metric2569 behaves like store ActiveRecord info in RequestStore2570 prevents db counters from leaking to the next transaction2571 query using a connection to a primary2572 queries connection db role2573 behaves like record ActiveRecord metrics2574 when both web and background transaction are available2575 captures the metrics for web only2576 behaves like record ActiveRecord metrics in a metrics transaction2577 increments only db counters2578 observes sql_duration metric2579 when web transaction is available2580 behaves like record ActiveRecord metrics in a metrics transaction2581 increments only db counters2582 observes sql_duration metric2583 when background transaction is available2584 behaves like record ActiveRecord metrics in a metrics transaction2585 increments only db counters2586 observes sql_duration metric2587 behaves like store ActiveRecord info in RequestStore2588 prevents db counters from leaking to the next transaction2589 query using a connection to an unknown source2590 does not record DB role metrics2591 does not store DB roles into into RequestStore2592Todos::Destroy::EntityLeaveService2593 #execute2594 updating a Project2595 when project is private2596 when user is not a member of the project2597 removes project todos for the provided user2598 access permissions2599 group_access: nil, project_access: :reporter, method_name: :does_not_remove_any_todos2600 behaves like using different access permissions2601 is expected not to change `Todo.count`2602 group_access: nil, project_access: :guest, method_name: :removes_confidential_issues_and_merge_request_todos2603 behaves like using different access permissions2604 is expected to contain exactly #<Todo id: 16, user_id: 221, project_id: 173, target_id: 11, target_type: "Issue", author_id: 240, ac...-28 09:23:44.905844909 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 13, user_id: 221, project_id: 169, target_id: 9, target_type: "Issue", author_id: 235, act...-28 09:23:43.474832227 +0000", note_id: nil, commit_id: nil, group_id: 405, resolved_by_action: nil>2605 group_access: :reporter, project_access: nil, method_name: :does_not_remove_any_todos2606 behaves like using different access permissions2607 is expected not to change `Todo.count`2608 group_access: :guest, project_access: nil, method_name: :removes_confidential_issues_and_merge_request_todos2609 behaves like using different access permissions2610 is expected to contain exactly #<Todo id: 28, user_id: 221, project_id: 183, target_id: 19, target_type: "Issue", author_id: 252, ac...-28 09:23:51.961044930 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 25, user_id: 221, project_id: 179, target_id: 17, target_type: "Issue", author_id: 247, ac...-28 09:23:49.896330213 +0000", note_id: nil, commit_id: nil, group_id: 429, resolved_by_action: nil>2611 group_access: :guest, project_access: :reporter, method_name: :does_not_remove_any_todos2612 behaves like using different access permissions2613 is expected not to change `Todo.count`2614 group_access: :guest, project_access: :guest, method_name: :removes_confidential_issues_and_merge_request_todos2615 behaves like using different access permissions2616 is expected to contain exactly #<Todo id: 40, user_id: 221, project_id: 193, target_id: 27, target_type: "Issue", author_id: 264, ac...-28 09:23:58.541810719 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 37, user_id: 221, project_id: 189, target_id: 25, target_type: "Issue", author_id: 259, ac...-28 09:23:56.878868391 +0000", note_id: nil, commit_id: nil, group_id: 453, resolved_by_action: nil>2617 when project is private in an internal/public group2618 when user is not a member of the project2619 removes project todos for the provided user2620 access permissions2621 group_access: nil, project_access: :reporter, method_name: :does_not_remove_any_todos2622 behaves like using different access permissions2623 is expected not to change `Todo.count`2624 group_access: nil, project_access: :guest, method_name: :removes_confidential_issues_and_merge_request_todos2625 behaves like using different access permissions2626 is expected to contain exactly #<Todo id: 58, user_id: 221, project_id: 208, target_id: 39, target_type: "Issue", author_id: 282, ac...-28 09:24:05.733705816 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 55, user_id: 221, project_id: 204, target_id: 37, target_type: "Issue", author_id: 277, ac...-28 09:24:04.362668167 +0000", note_id: nil, commit_id: nil, group_id: 489, resolved_by_action: nil>2627 group_access: :reporter, project_access: nil, method_name: :does_not_remove_any_todos2628 behaves like using different access permissions2629 is expected not to change `Todo.count`2630 group_access: :guest, project_access: nil, method_name: :removes_confidential_issues_and_merge_request_todos2631 behaves like using different access permissions2632 is expected to contain exactly #<Todo id: 70, user_id: 221, project_id: 218, target_id: 47, target_type: "Issue", author_id: 294, ac...-28 09:24:11.561311633 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 67, user_id: 221, project_id: 214, target_id: 45, target_type: "Issue", author_id: 289, ac...-28 09:24:10.289778645 +0000", note_id: nil, commit_id: nil, group_id: 513, resolved_by_action: nil>2633 group_access: :guest, project_access: :reporter, method_name: :does_not_remove_any_todos2634 behaves like using different access permissions2635 is expected not to change `Todo.count`2636 group_access: :guest, project_access: :guest, method_name: :removes_confidential_issues_and_merge_request_todos2637 behaves like using different access permissions2638 is expected to contain exactly #<Todo id: 82, user_id: 221, project_id: 228, target_id: 55, target_type: "Issue", author_id: 306, ac...-28 09:24:17.717449346 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 79, user_id: 221, project_id: 224, target_id: 53, target_type: "Issue", author_id: 301, ac...-28 09:24:16.016901842 +0000", note_id: nil, commit_id: nil, group_id: 537, resolved_by_action: nil>2639 when project is not private2640 enqueues the PrivateFeaturesWorker2641 confidential issues2642 when a user is not an author of confidential issue2643 behaves like removes only confidential issues todos2644 is expected to change `Todo.count` from 6 to 52645 when a user is an author of confidential issue2646 behaves like does not remove any todos2647 is expected not to change `Todo.count`2648 when a user is an assignee of confidential issue2649 behaves like does not remove any todos2650 is expected not to change `Todo.count`2651 access permissions2652 group_access: nil, project_access: :reporter, method_name: :does_not_remove_any_todos2653 behaves like using different access permissions2654 is expected not to change `Todo.count`2655 group_access: nil, project_access: :guest, method_name: :removes_only_confidential_issues_todos2656 behaves like using different access permissions2657 is expected to change `Todo.count` from 6 to 52658 group_access: :reporter, project_access: nil, method_name: :does_not_remove_any_todos2659 behaves like using different access permissions2660 is expected not to change `Todo.count`2661 group_access: :guest, project_access: nil, method_name: :removes_only_confidential_issues_todos2662 behaves like using different access permissions2663 is expected to change `Todo.count` from 6 to 52664 group_access: :guest, project_access: :reporter, method_name: :does_not_remove_any_todos2665 behaves like using different access permissions2666 is expected not to change `Todo.count`2667 group_access: :guest, project_access: :guest, method_name: :removes_only_confidential_issues_todos2668 behaves like using different access permissions2669 is expected to change `Todo.count` from 6 to 52670 feature visibility check2671 when issues are visible only to project members2672 removes only users issue todos2673 updating a Group2674 when group is private2675 when a user leaves a group2676 removes group and subproject todos for the user2677 access permissions2678 group_access: nil, project_access: :reporter, method_name: :does_not_remove_any_todos2679 behaves like using different access permissions2680 is expected not to change `Todo.count`2681 group_access: nil, project_access: :guest, method_name: :removes_confidential_issues_and_merge_request_todos2682 behaves like using different access permissions2683 is expected to contain exactly #<Todo id: 166, user_id: 221, project_id: 298, target_id: 111, target_type: "Issue", author_id: 390, ...-28 09:24:56.027573344 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 163, user_id: 221, project_id: 294, target_id: 109, target_type: "Issue", author_id: 385, ...-28 09:24:54.168105997 +0000", note_id: nil, commit_id: nil, group_id: 705, resolved_by_action: nil>2684 group_access: :reporter, project_access: nil, method_name: :does_not_remove_any_todos2685 behaves like using different access permissions2686 is expected not to change `Todo.count`2687 group_access: :guest, project_access: nil, method_name: :removes_confidential_issues_and_merge_request_todos2688 behaves like using different access permissions2689 is expected to contain exactly #<Todo id: 178, user_id: 221, project_id: 308, target_id: 119, target_type: "Issue", author_id: 402, ...-28 09:25:01.675380560 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 175, user_id: 221, project_id: 304, target_id: 117, target_type: "Issue", author_id: 397, ...-28 09:25:00.023694011 +0000", note_id: nil, commit_id: nil, group_id: 729, resolved_by_action: nil>2690 group_access: :guest, project_access: :reporter, method_name: :does_not_remove_any_todos2691 behaves like using different access permissions2692 is expected not to change `Todo.count`2693 group_access: :guest, project_access: :guest, method_name: :removes_confidential_issues_and_merge_request_todos2694 behaves like using different access permissions2695 is expected to contain exactly #<Todo id: 190, user_id: 221, project_id: 318, target_id: 127, target_type: "Issue", author_id: 414, ...-28 09:25:08.386481066 +0000", note_id: nil, commit_id: nil, group_id: nil, resolved_by_action: nil> and #<Todo id: 187, user_id: 221, project_id: 314, target_id: 125, target_type: "Issue", author_id: 409, ...-28 09:25:06.632178078 +0000", note_id: nil, commit_id: nil, group_id: 753, resolved_by_action: nil>2696 with nested groups2697 when the user is not a member of any groups/projects2698 removes todos for the user including subprojects todos2699 when the user is member of a parent group2700 behaves like does not remove any todos2701 is expected not to change `Todo.count`2702 when the user is member of a subgroup2703 does not remove group and subproject todos2704 when the user is member of a child project2705 does not remove subproject and group todos2706 when group is not private2707 enqueues the PrivateFeaturesWorker2708 access permissions2709 group_access: nil, project_access: nil, method_name: :removes_only_confidential_issues_todos2710 behaves like using different access permissions2711 is expected to change `Todo.count` from 6 to 52712 group_access: nil, project_access: :reporter, method_name: :does_not_remove_any_todos2713 behaves like using different access permissions2714 is expected not to change `Todo.count`2715 group_access: nil, project_access: :guest, method_name: :removes_only_confidential_issues_todos2716 behaves like using different access permissions2717 is expected to change `Todo.count` from 6 to 52718 group_access: :reporter, project_access: nil, method_name: :does_not_remove_any_todos2719 behaves like using different access permissions2720 is expected not to change `Todo.count`2721 group_access: :guest, project_access: nil, method_name: :removes_only_confidential_issues_todos2722 behaves like using different access permissions2723 is expected to change `Todo.count` from 6 to 52724 group_access: :guest, project_access: :reporter, method_name: :does_not_remove_any_todos2725 behaves like using different access permissions2726 is expected not to change `Todo.count`2727 group_access: :guest, project_access: :guest, method_name: :removes_only_confidential_issues_todos2728 behaves like using different access permissions2729 is expected to change `Todo.count` from 6 to 52730 when entity type is not valid2731 raises an exception2732 when entity was not found2733 does not remove any todos2734WebHooks::LogExecutionService2735 #execute2736 logs the data2737 obtaining an exclusive lease2738 updates failure state using a lease that ensures fresh state is written2739 when a lease cannot be obtained2740 response_category: :ok, executable: true, needs_updating: false2741 raises an error if the hook needs to be updated2742 response_category: :ok, executable: false, needs_updating: true2743 raises an error if the hook needs to be updated2744 response_category: :failed, executable: true, needs_updating: true2745 raises an error if the hook needs to be updated2746 response_category: :failed, executable: false, needs_updating: false2747 raises an error if the hook needs to be updated2748 response_category: :error, executable: true, needs_updating: true2749 raises an error if the hook needs to be updated2750 response_category: :error, executable: false, needs_updating: false2751 raises an error if the hook needs to be updated2752 when response_category is :ok2753 does not increment the failure count2754 does not change the disabled_until attribute2755 when the hook had previously failed2756 resets the failure count2757 sends a message to AuthLogger if the hook as not previously enabled2758 when response_category is :failed2759 increments the failure count2760 does not change the disabled_until attribute2761 does not allow the failure count to overflow2762 sends a message to AuthLogger if the state would change2763 when the web_hooks_disable_failed FF is disabled2764 does not allow the failure count to overflow2765 when response_category is :error2766 does not increment the failure count2767 backs off2768 increases the backoff count2769 sends a message to AuthLogger if the state would change2770 when the previous cool-off was near the maximum2771 sets the disabled_until attribute2772 when we have backed-off many many times2773 sets the disabled_until attribute2774Gitlab::Kubernetes::KubeClient2775 .graceful_request2776 successful2777 returns connected status and foo response2778 errored2779 error: SocketError, connection_status: :unreachable, error_status: :connection_error2780 returns error status2781 error: OpenSSL::X509::CertificateError, connection_status: :authentication_failure, error_status: :authentication_error2782 returns error status2783 error: StandardError, connection_status: :unknown_failure, error_status: :unknown_error2784 returns error status2785 error: #<Kubeclient::HttpError: HTTP status code 408, timed out>, connection_status: :unreachable, error_status: :http_error2786 returns error status2787 error: #<Kubeclient::HttpError: HTTP status code 408, timeout>, connection_status: :unreachable, error_status: :http_error2788 returns error status2789 error: #<Kubeclient::HttpError: HTTP status code 408, >, connection_status: :authentication_failure, error_status: :http_error2790 returns error status2791 #initialize2792 falls back to default options, but allows overriding2793 localhost address2794 behaves like local address2795 blocks local addresses2796 when local requests are allowed2797 allows local addresses2798 private network address2799 behaves like local address2800 blocks local addresses2801 when local requests are allowed2802 allows local addresses2803 #core_client2804 has the core API endpoint2805 has the api_version2806 behaves like a Kubeclient2807 is a Kubeclient::Client2808 has the kubeclient options2809 #rbac_client2810 has the RBAC API group endpoint2811 has the api_version2812 behaves like a Kubeclient2813 is a Kubeclient::Client2814 has the kubeclient options2815 #extensions_client2816 has the extensions API group endpoint2817 has the api_version2818 behaves like a Kubeclient2819 is a Kubeclient::Client2820 has the kubeclient options2821 #istio_client2822 has the Istio API group endpoint2823 has the api_version2824 behaves like a Kubeclient2825 is a Kubeclient::Client2826 has the kubeclient options2827 #knative_client2828 has the extensions API group endpoint2829 has the api_version2830 behaves like a Kubeclient2831 is a Kubeclient::Client2832 has the kubeclient options2833 #networking_client2834 has the networking API group endpoint2835 has the api_version2836 behaves like a Kubeclient2837 is a Kubeclient::Client2838 has the kubeclient options2839 #cilium_networking_client2840 has the cilium API group endpoint2841 has the api_version2842 behaves like a Kubeclient2843 is a Kubeclient::Client2844 has the kubeclient options2845 #metrics_client2846 has the metrics API group endpoint2847 has the api_version2848 behaves like a Kubeclient2849 is a Kubeclient::Client2850 has the kubeclient options2851 core API2852 #get_nodes2853 does not allow DNS rebinding2854 delegates to the core client2855 responds to the method2856 api_url is redirected2857 does not follow redirects2858 #get_pods2859 does not allow DNS rebinding2860 delegates to the core client2861 responds to the method2862 api_url is redirected2863 does not follow redirects2864 #get_secrets2865 does not allow DNS rebinding2866 delegates to the core client2867 responds to the method2868 api_url is redirected2869 does not follow redirects2870 #get_config_map2871 does not allow DNS rebinding2872 delegates to the core client2873 responds to the method2874 api_url is redirected2875 does not follow redirects2876 #get_pod2877 does not allow DNS rebinding2878 delegates to the core client2879 responds to the method2880 api_url is redirected2881 does not follow redirects2882 #get_namespace2883 does not allow DNS rebinding2884 delegates to the core client2885 responds to the method2886 api_url is redirected2887 does not follow redirects2888 #get_secret2889 does not allow DNS rebinding2890 delegates to the core client2891 responds to the method2892 api_url is redirected2893 does not follow redirects2894 #get_service2895 does not allow DNS rebinding2896 delegates to the core client2897 responds to the method2898 api_url is redirected2899 does not follow redirects2900 #get_service_account2901 does not allow DNS rebinding2902 delegates to the core client2903 responds to the method2904 api_url is redirected2905 does not follow redirects2906 #delete_namespace2907 does not allow DNS rebinding2908 delegates to the core client2909 responds to the method2910 api_url is redirected2911 does not follow redirects2912 #delete_pod2913 does not allow DNS rebinding2914 delegates to the core client2915 responds to the method2916 api_url is redirected2917 does not follow redirects2918 #delete_service_account2919 does not allow DNS rebinding2920 delegates to the core client2921 responds to the method2922 api_url is redirected2923 does not follow redirects2924 #create_config_map2925 does not allow DNS rebinding2926 delegates to the core client2927 responds to the method2928 api_url is redirected2929 does not follow redirects2930 #create_namespace2931 does not allow DNS rebinding2932 delegates to the core client2933 responds to the method2934 api_url is redirected2935 does not follow redirects2936 #create_pod2937 does not allow DNS rebinding2938 delegates to the core client2939 responds to the method2940 api_url is redirected2941 does not follow redirects2942 #create_secret2943 does not allow DNS rebinding2944 delegates to the core client2945 responds to the method2946 api_url is redirected2947 does not follow redirects2948 #create_service_account2949 does not allow DNS rebinding2950 delegates to the core client2951 responds to the method2952 api_url is redirected2953 does not follow redirects2954 #update_config_map2955 does not allow DNS rebinding2956 delegates to the core client2957 responds to the method2958 api_url is redirected2959 does not follow redirects2960 #update_secret2961 does not allow DNS rebinding2962 delegates to the core client2963 responds to the method2964 api_url is redirected2965 does not follow redirects2966 #update_service_account2967 does not allow DNS rebinding2968 delegates to the core client2969 responds to the method2970 api_url is redirected2971 does not follow redirects2972 rbac API group2973 #create_role2974 does not allow DNS rebinding2975 delegates to the rbac client2976 responds to the method2977 api_url is redirected2978 does not follow redirects2979 #get_role2980 does not allow DNS rebinding2981 delegates to the rbac client2982 responds to the method2983 api_url is redirected2984 does not follow redirects2985 #update_role2986 does not allow DNS rebinding2987 delegates to the rbac client2988 responds to the method2989 api_url is redirected2990 does not follow redirects2991 #delete_role_binding2992 does not allow DNS rebinding2993 delegates to the rbac client2994 responds to the method2995 api_url is redirected2996 does not follow redirects2997 #update_role_binding2998 does not allow DNS rebinding2999 delegates to the rbac client3000 responds to the method3001 api_url is redirected3002 does not follow redirects3003 #update_cluster_role_binding3004 does not allow DNS rebinding3005 delegates to the rbac client3006 responds to the method3007 api_url is redirected3008 does not follow redirects3009 #get_deployments3010 does not allow DNS rebinding3011 delegates to the extensions client3012 api_url is redirected3013 does not follow redirects3014 extensions does not have deployments for Kubernetes 1.16+ clusters3015 delegates to the apps client3016 #get_ingresses3017 does not allow DNS rebinding3018 delegates to the extensions client3019 api_url is redirected3020 does not follow redirects3021 extensions does not have deployments for Kubernetes 1.22+ clusters3022 delegates to the apps client3023 #patch_ingress3024 does not allow DNS rebinding3025 delegates to the extensions client3026 api_url is redirected3027 does not follow redirects3028 extensions does not have ingress for Kubernetes 1.22+ clusters3029 delegates to the apps client3030 istio API group3031 #create_gateway3032 does not allow DNS rebinding3033 delegates to the istio client3034 responds to the method3035 api_url is redirected3036 does not follow redirects3037 #get_gateway3038 does not allow DNS rebinding3039 delegates to the istio client3040 responds to the method3041 api_url is redirected3042 does not follow redirects3043 #update_gateway3044 does not allow DNS rebinding3045 delegates to the istio client3046 responds to the method3047 api_url is redirected3048 does not follow redirects3049 networking API group3050 #create_network_policy3051 does not allow DNS rebinding3052 delegates to the networking client3053 responds to the method3054 api_url is redirected3055 does not follow redirects3056 #get_network_policies3057 does not allow DNS rebinding3058 delegates to the networking client3059 responds to the method3060 api_url is redirected3061 does not follow redirects3062 #get_network_policy3063 does not allow DNS rebinding3064 delegates to the networking client3065 responds to the method3066 api_url is redirected3067 does not follow redirects3068 #update_network_policy3069 does not allow DNS rebinding3070 delegates to the networking client3071 responds to the method3072 api_url is redirected3073 does not follow redirects3074 #delete_network_policy3075 does not allow DNS rebinding3076 delegates to the networking client3077 responds to the method3078 api_url is redirected3079 does not follow redirects3080 cilium API group3081 #create_cilium_network_policy3082 does not allow DNS rebinding3083 delegates to the cilium client3084 responds to the method3085 api_url is redirected3086 does not follow redirects3087 #get_cilium_network_policies3088 does not allow DNS rebinding3089 delegates to the cilium client3090 responds to the method3091 api_url is redirected3092 does not follow redirects3093 #get_cilium_network_policy3094 does not allow DNS rebinding3095 delegates to the cilium client3096 responds to the method3097 api_url is redirected3098 does not follow redirects3099 #update_cilium_network_policy3100 does not allow DNS rebinding3101 delegates to the cilium client3102 responds to the method3103 api_url is redirected3104 does not follow redirects3105 #delete_cilium_network_policy3106 does not allow DNS rebinding3107 delegates to the cilium client3108 responds to the method3109 api_url is redirected3110 does not follow redirects3111 non-entity methods3112 does not proxy for non-entity methods3113 throws an error3114 #get_pod_log3115 is delegated to the core client3116 #watch_pod_log3117 is delegated to the core client3118 #create_or_update_cluster_role_binding3119 behaves like create_or_update method using put3120 calls the update method3121 #create_or_update_role_binding3122 behaves like create_or_update method using put3123 calls the update method3124 #create_or_update_service_account3125 behaves like create_or_update method3126 resource exists3127 calls the update method3128 resource does not exist3129 calls the create method3130 #create_or_update_secret3131 behaves like create_or_update method3132 resource exists3133 calls the update method3134 resource does not exist3135 calls the create method3136 methods that do not exist on any client3137 throws an error3138 returns false for respond_to3139Clusters::Platforms::Kubernetes3140 is expected to belong to cluster required: false3141 is expected to be a kind of Gitlab::Kubernetes3142 is expected to respond to #ca_pem3143 is expected to validate that :namespace is not ‹"gitlab-managed-apps"›3144 is expected to validate that :api_url cannot be empty/falsy3145 is expected to validate that :token cannot be empty/falsy3146 is expected to delegate #enabled? to the #cluster object3147 is expected to delegate #provided_by_user? to the #cluster object3148 is expected to nullify if blank :namespace3149 behaves like having unique enum values3150 has unique values in "authorization_type"3151 before_validation3152 when namespace includes upper case3153 converts to lower case3154 validation3155 when validates namespace3156 when namespace is nil3157 is expected to be truthy3158 when namespace is longer than 633159 is expected to be falsey3160 when namespace includes invalid character3161 is expected to be falsey3162 when namespace is vaild3163 is expected to be truthy3164 for group cluster3165 is expected to be falsey3166 when validates api_url3167 when api_url is invalid url3168 is expected to be falsey3169 when api_url is nil3170 is expected to be falsey3171 when api_url is valid url3172 is expected to be truthy3173 when api_url is localhost3174 is expected to be falsey3175 Application settings allows local requests3176 is expected to be truthy3177 when validates token3178 when token is nil3179 is expected to be falsey3180 ca_cert3181 with a valid certificate3182 is expected to be truthy3183 with an invalid certificate3184 is expected to be falsey3185 but the certificate is not being updated3186 is expected to be truthy3187 with no certificate3188 is expected to be truthy3189 when using reserved namespaces3190 when no namespace is manually assigned3191 is expected to be valid3192 when no reserved namespace is assigned3193 is expected to be valid3194 when reserved namespace is assigned3195 is expected not to be valid3196 #kubeclient3197 is expected to be an instance of Gitlab::Kubernetes::KubeClient3198 ca_pem is a single certificate3199 adds it to cert_store3200 ca_pem is a chain3201 fixture_path: "spec/fixtures/clusters/root_certificate.pem"3202 includes chain of certificates3203 fixture_path: "spec/fixtures/clusters/intermediate_certificate.pem"3204 includes chain of certificates3205 fixture_path: "spec/fixtures/clusters/leaf_certificate.pem"3206 includes chain of certificates3207 #rbac?3208 is expected to be truthy3209 #predefined_variables3210 is expected to include {:key => "KUBE_URL", :value => "https://kubernetes.example.com", :public => true}3211 platform has a CA certificate3212 is expected to include {:key => "KUBE_CA_PEM", :value => "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAOutg3Kf2y5dMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTcxMDI5MTgxOTU3WhcNMTgxMDI5MTgxOTU3WjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\nCgKCAgEAvQysroM3TLxaavadSPnFIltrYnxCnU4PvCR8971HMWXsq7Z4ShU4BbbE\n8yp7oUFjulSwW6DhdIvnQb8ihLKictLmrA0isQqrD/iNpKZ6/lI4DGWw4QzrvMnW\nV4yy2QZNpg9tzQHd4+xkeeIoG23RijDU/sPd5dqxF+rPHBfCVInmYvSzLvMhneNj\nBt6gV02gU9e9hsnMatsDvEbvWKp7wcbPot0nWrfZulx2QAWyXy+zG9mJQUds6yc0\n4agAeT9JEb/xtRgR/kS0aUHSGnfSnhZiEn17s0PhTmbu7qSHgzgB+7oJrC9jPoUh\nS2Wo3n0xykAjHrA8wC/Ddw3L38S41VQ58GEfNchistPswyMmXo/Oenv9P3s/kCOI\nfndiksFNdqVo51y9Vjngj589hpOseFDyKmWPIEQZ9kxW/crjP6RZWWLHgz26KtxZ\nuJaoYL8VBbYfrk/bucw0Ma2GEOp8rTsBE7SvgejXZa78q+381Kzc/utW6VwSXqzY\nxeIitft0rXi17SZ+XoiTkIXtHn0ZwMtOXNDBADTpFmKa6wVACQilvcpOYD8gUHyH\npB+EDRdST3M4Fiq1MBAVhk8Lj3tHSJ/1ymeF1PWSu57AnJlzerzq2fcfPotNNd37\nZPNkPh0kxPLwxbAyrHflzx9qVVdI1irY9055mNSnhzlec4qJ9cECAwEAAaOBpzCB\npDAdBgNVHQ4EFgQUnVa5dYPoIG/3+qXml0bX8+N16GwwdQYDVR0jBG4wbIAUnVa5\ndYPoIG/3+qXml0bX8+N16GyhSaRHMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpT\nb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDr\nrYNyn9suXTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4ICAQAUg4cyxXi1\nVR8ejTpaAruRyJ1pEG9Kc3kiIRXODy60z3hJXnx9LkScPkWGiuL5XacfZ2rMd4bw\noVXIyi8U1UHWfAH8EZdrFKkU92jCiL5soHUONxLAvQEJ/FTR/qijrpzLCxXBdVQE\nxFEDWUu6rxLFyjEwzwnRTLgpjR606fdb7qXHkuAMvZ/ezJj8j97hok3Odpn4lr2H\n6hMTpK7HmDBX+kmdJJ+yBrm9hG1Pzpl7QU0dkxZ+qJNFjYMLnziiTwkv0c5ZaA9E\nNykZUcOv3Sjb6spu1A/E2BSq4WTjkIjrogFlfimE1vmUmObTRJOqUB0Vky1kHEwN\npg7QqIJQmof1EAIaSM/YpUWXyumBwGLDUEud1JUz05In9Q4IZjEwZSJwbQW4fUia\nA93m9rk3Lw3xsFcaUdPMFIXk0rPoF1IgmV/oqb0gK95lOWRLbN+AV8qpKPpcKXOc\nTkIdFE47ZisEDhIdF6wC1izEMLeMEsPAO7/Y6MY4nRxsinSe95lRaw+yQpzx+mvJ\nQ7n1kiHI9Pd5M3+CiQda0d/GO1o5ORJnUGJRvr9HKuNmE7Lif0As/N0AlywjzE7A\n6Z8AEiWyRV1ffshu1k2UKmzvZuZeGGKRtrIjbJIRAtpRVtVZZGzhq5/sojCLoJ+u\ntexqFBUo/4mFRZa4pDItUdyOlDy2/LO/ag==\n-----END CERTIFICATE-----", :public => true}3213 is expected to include {:key => "KUBE_CA_PEM_FILE", :value => "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAOutg3Kf2y5dMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTcxMDI5MTgxOTU3WhcNMTgxMDI5MTgxOTU3WjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\nCgKCAgEAvQysroM3TLxaavadSPnFIltrYnxCnU4PvCR8971HMWXsq7Z4ShU4BbbE\n8yp7oUFjulSwW6DhdIvnQb8ihLKictLmrA0isQqrD/iNpKZ6/lI4DGWw4QzrvMnW\nV4yy2QZNpg9tzQHd4+xkeeIoG23RijDU/sPd5dqxF+rPHBfCVInmYvSzLvMhneNj\nBt6gV02gU9e9hsnMatsDvEbvWKp7wcbPot0nWrfZulx2QAWyXy+zG9mJQUds6yc0\n4agAeT9JEb/xtRgR/kS0aUHSGnfSnhZiEn17s0PhTmbu7qSHgzgB+7oJrC9jPoUh\nS2Wo3n0xykAjHrA8wC/Ddw3L38S41VQ58GEfNchistPswyMmXo/Oenv9P3s/kCOI\nfndiksFNdqVo51y9Vjngj589hpOseFDyKmWPIEQZ9kxW/crjP6RZWWLHgz26KtxZ\nuJaoYL8VBbYfrk/bucw0Ma2GEOp8rTsBE7SvgejXZa78q+381Kzc/utW6VwSXqzY\nxeIitft0rXi17SZ+XoiTkIXtHn0ZwMtOXNDBADTpFmKa6wVACQilvcpOYD8gUHyH\npB+EDRdST3M4Fiq1MBAVhk8Lj3tHSJ/1ymeF1PWSu57AnJlzerzq2fcfPotNNd37\nZPNkPh0kxPLwxbAyrHflzx9qVVdI1irY9055mNSnhzlec4qJ9cECAwEAAaOBpzCB\npDAdBgNVHQ4EFgQUnVa5dYPoIG/3+qXml0bX8+N16GwwdQYDVR0jBG4wbIAUnVa5\ndYPoIG/3+qXml0bX8+N16GyhSaRHMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpT\nb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDr\nrYNyn9suXTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4ICAQAUg4cyxXi1\nVR8ejTpaAruRyJ1pEG9Kc3kiIRXODy60z3hJXnx9LkScPkWGiuL5XacfZ2rMd4bw\noVXIyi8U1UHWfAH8EZdrFKkU92jCiL5soHUONxLAvQEJ/FTR/qijrpzLCxXBdVQE\nxFEDWUu6rxLFyjEwzwnRTLgpjR606fdb7qXHkuAMvZ/ezJj8j97hok3Odpn4lr2H\n6hMTpK7HmDBX+kmdJJ+yBrm9hG1Pzpl7QU0dkxZ+qJNFjYMLnziiTwkv0c5ZaA9E\nNykZUcOv3Sjb6spu1A/E2BSq4WTjkIjrogFlfimE1vmUmObTRJOqUB0Vky1kHEwN\npg7QqIJQmof1EAIaSM/YpUWXyumBwGLDUEud1JUz05In9Q4IZjEwZSJwbQW4fUia\nA93m9rk3Lw3xsFcaUdPMFIXk0rPoF1IgmV/oqb0gK95lOWRLbN+AV8qpKPpcKXOc\nTkIdFE47ZisEDhIdF6wC1izEMLeMEsPAO7/Y6MY4nRxsinSe95lRaw+yQpzx+mvJ\nQ7n1kiHI9Pd5M3+CiQda0d/GO1o5ORJnUGJRvr9HKuNmE7Lif0As/N0AlywjzE7A\n6Z8AEiWyRV1ffshu1k2UKmzvZuZeGGKRtrIjbJIRAtpRVtVZZGzhq5/sojCLoJ+u\ntexqFBUo/4mFRZa4pDItUdyOlDy2/LO/ag==\n-----END CERTIFICATE-----", :public => true, :file => true}3214 cluster is managed by project3215 is expected to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}3216 is expected to include {:key => "KUBE_NAMESPACE", :value => "kubernetes-namespace"}3217 is expected to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}3218 kubernetes namespace exists3219 is expected to include {:key => :fake_key, :value => "fake_value"}3220 kubernetes namespace does not exist3221 is expected not to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}3222 is expected not to include {:key => "KUBE_NAMESPACE", :value => "kubernetes-namespace"}3223 is expected not to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}3224 cluster is unmanaged3225 is expected to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}3226 is expected to include {:key => "KUBE_NAMESPACE", :value => "kubernetes-namespace"}3227 is expected to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}3228 custom namespace is provided3229 is expected to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}3230 is expected to include {:key => "KUBE_NAMESPACE", :value => "custom-namespace"}3231 is expected to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}3232 cluster variables3233 is expected to include {:key => :fake_key, :value => "fake_value"}3234 #terminals3235 with invalid pods3236 returns no terminals3237 with valid pods3238 returns terminals3239 uses max session time from settings3240 #calculate_reactive_cache_for3241 when kubernetes responds with valid deployments3242 on a project level cluster3243 is expected to include {:pods => [{"metadata" => {"name" => "kube-pod", "generateName" => "generated-name-with-suffix", "creationTimestamp" => "2016-11-25T19:55:19Z", "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"containers" => [{"name" => "container-0"}, {"name" => "container-0-1"}]}, "status" => {"phase" => "Running"}}], :deployments => [{"metadata" => {"name" => "kube-deployment", "generation" => 4, "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"replicas" => 3}, "status" => {"observedGeneration" => 4}}], :ingresses => [{"metadata" => {"name" => "production-auto-deploy", "labels" => {"app" => "production", "app.kubernetes.io/managed-by" => "Helm", "chart" => "auto-deploy-app-2.0.0-beta.2", "heritage" => "Helm", "release" => "production"}, "annotations" => {"kubernetes.io/ingress.class" => "nginx", "kubernetes.io/tls-acme" => "true", "meta.helm.sh/release-name" => "production", "meta.helm.sh/release-namespace" => "awesome-app-1-production"}}}]}3244 on a group level cluster3245 is expected to include {:pods => [{"metadata" => {"name" => "kube-pod", "generateName" => "generated-name-with-suffix", "creationTimestamp" => "2016-11-25T19:55:19Z", "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"containers" => [{"name" => "container-0"}, {"name" => "container-0-1"}]}, "status" => {"phase" => "Running"}}], :deployments => [{"metadata" => {"name" => "kube-deployment", "generation" => 4, "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"replicas" => 3}, "status" => {"observedGeneration" => 4}}], :ingresses => [{"metadata" => {"name" => "production-auto-deploy", "labels" => {"app" => "production", "app.kubernetes.io/managed-by" => "Helm", "chart" => "auto-deploy-app-2.0.0-beta.2", "heritage" => "Helm", "release" => "production"}, "annotations" => {"kubernetes.io/ingress.class" => "nginx", "kubernetes.io/tls-acme" => "true", "meta.helm.sh/release-name" => "production", "meta.helm.sh/release-namespace" => "awesome-app-1-production"}}}]}3246 on an instance level cluster3247 is expected to include {:pods => [{"metadata" => {"name" => "kube-pod", "generateName" => "generated-name-with-suffix", "creationTimestamp" => "2016-11-25T19:55:19Z", "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"containers" => [{"name" => "container-0"}, {"name" => "container-0-1"}]}, "status" => {"phase" => "Running"}}], :deployments => [{"metadata" => {"name" => "kube-deployment", "generation" => 4, "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"replicas" => 3}, "status" => {"observedGeneration" => 4}}], :ingresses => [{"metadata" => {"name" => "production-auto-deploy", "labels" => {"app" => "production", "app.kubernetes.io/managed-by" => "Helm", "chart" => "auto-deploy-app-2.0.0-beta.2", "heritage" => "Helm", "release" => "production"}, "annotations" => {"kubernetes.io/ingress.class" => "nginx", "kubernetes.io/tls-acme" => "true", "meta.helm.sh/release-name" => "production", "meta.helm.sh/release-namespace" => "awesome-app-1-production"}}}]}3248 when the kubernetes integration is disabled3249 is expected to be nil3250 when there are ignored K8s connections errors3251 Gitlab::UrlBlocker::BlockedUrlError3252 does not raise error3253 returns empty array for the K8s component keys3254 logs the error3255 Kubeclient::HttpError3256 does not raise error3257 returns empty array for the K8s component keys3258 logs the error3259 Errno::ECONNREFUSED3260 does not raise error3261 returns empty array for the K8s component keys3262 logs the error3263 URI::InvalidURIError3264 does not raise error3265 returns empty array for the K8s component keys3266 logs the error3267 Errno::EHOSTUNREACH3268 does not raise error3269 returns empty array for the K8s component keys3270 logs the error3271 OpenSSL::X509::StoreError3272 does not raise error3273 returns empty array for the K8s component keys3274 logs the error3275 OpenSSL::SSL::SSLError3276 does not raise error3277 returns empty array for the K8s component keys3278 logs the error3279 when kubernetes responds with 500s3280WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/models/clusters/platforms/kubernetes_spec.rb:497:in `block (4 levels) in <top (required)>'.3281 does not raise kubeclient http error3282 when kubernetes responds with 404s3283 is expected to eq {:deployments=>[], :ingresses=>[], :pods=>[]}3284 #rollout_status3285 legacy deployments based on app label3286 only legacy deployments3287 contains nothing3288 deployment with no pods3289 returns a valid status with matching deployments3290 new deployment based on annotations3291 contains only matching deployments3292 with no deployments but there are pods3293 returns an empty array3294 with valid deployments3295 creates a matching RolloutStatus3296 with canary ingress3297 has canary ingress3298 with empty list of deployments3299 creates a matching RolloutStatus3300 when the pod track does not match the deployment track3301 does not return the pod3302 when the pod track is not stable3303 the pod is not stable3304 when the pod track is stable3305 the pod is stable3306 when the pod track is not provided3307 the pod is stable3308 when the number of matching pods does not match the number of replicas3309 returns a pending pod for each missing replica3310 when pending pods are returned for missing replicas3311 returns the correct track for the pending pods3312 when two deployments with the same track are missing instances3313 returns the correct number of pending pods3314 with multiple matching deployments3315 returns each pod once3316 when cache keys are defaulted3317 does not raise error3318 #ingresses3319 when there is an ingress in the namespace3320 returns an ingress3321 when there are no ingresss in the namespace3322 returns nothing3323 #patch_ingress3324 when there is an ingress in the namespace3325 returns an ingress3326 when there are no ingresss in the namespace3327 raises an error3328PipelineSerializer3329 #represent3330 when used without pagination3331 created a not paginated serializer3332 when a single object is being serialized3333 serializers the pipeline object3334 when multiple objects are being serialized3335 serializers the array of pipelines3336 when used with pagination3337 created a paginated serializer3338 when resource is not paginatable3339 when a single pipeline object is being serialized3340 raises error3341 when resource is paginatable relation3342 when a single pipeline object is present in relation3343 serializes pipeline relation3344 when a multiple pipeline objects are being serialized3345 serializes appropriate number of objects3346 appends relevant headers3347 when there are pipelines for merge requests3348 includes merge requests information3349 preloads related merge requests3350 number of queries when preloaded3351 with the same ref3352 verifies number of queries3353 with different refs3354 verifies number of queries3355 with triggered pipelines3356 verifies number of queries3357 with build environments3358 executes one query to fetch all related environments3359 with scheduled and manual builds3360 sends at most one metadata query for each type of build3361 #represent_status3362 when represents only status3363 serializes only status3364Ci::BuildPolicy3365 #rules3366 when user does not have access to the project3367 when public builds are enabled3368 does not include ability to read build3369 when public builds are disabled3370 does not include ability to read build3371 when anonymous user has access to the project3372 when public builds are enabled3373 includes ability to read build3374 when public builds are disabled3375 does not include ability to read build3376 when team member has access to the project3377 team member is a guest3378 when public builds are enabled3379 includes ability to read build3380 when public builds are disabled3381 does not include ability to read build3382 team member is a reporter3383 when public builds are enabled3384 includes ability to read build3385 when public builds are disabled3386 does not include ability to read build3387 when maintainer is allowed to push to pipeline branch3388 enables update_build if user is maintainer3389 rules for protected ref3390 when no one can push or merge to the branch3391 does not include ability to update build3392 when developers can push to the branch3393 includes ability to update build3394 when no one can create the tag3395 does not include ability to update build3396 when no one can create the tag but it is not a tag3397 includes ability to update build3398 rules for erase build3399 when a developer erases a build3400 when developers can push to the branch3401 when the build was created by the developer3402 when the build was created for a protected ref3403 is expected to be disallowed :erase_build3404 when the build was created for an unprotected ref3405 is expected to be allowed :erase_build3406 when the build was created by the other3407 is expected to be disallowed :erase_build3408 when no one can push or merge to the branch3409 is expected to be disallowed :erase_build3410 when a maintainer erases a build3411 when maintainers can push to the branch3412 when the build was created by the maintainer3413 is expected to be allowed :erase_build3414 when the build was created by the other3415 is expected to be allowed :erase_build3416 when no one can push or merge to the branch3417 is expected to be disallowed :erase_build3418 when an admin erases a build3419 when the build was created for a protected branch3420 is expected to be allowed :erase_build3421 when the build was created for a protected tag3422 is expected to be allowed :erase_build3423 when the build was created for an unprotected ref3424 is expected to be allowed :erase_build3425 manage a web ide terminal3426 when create_web_ide_terminal access enabled3427 with admin3428 when admin mode enabled3429 is expected to be allowed :create_build_service_proxy3430 when admin mode disabled3431 is expected not to be allowed :create_build_service_proxy3432 when build is not from a webide pipeline3433 is expected not to be allowed :create_build_service_proxy3434 when build has no runner terminal3435 when admin mode enabled3436 is expected to be allowed :update_web_ide_terminal3437 is expected not to be allowed :create_build_service_proxy3438 when admin mode disabled3439 is expected not to be allowed :update_web_ide_terminal3440 is expected not to be allowed :create_build_service_proxy3441 feature flag "build_service_proxy" is disabled3442 is expected not to be allowed :create_build_service_proxy3443 with owner3444 behaves like allowed build owner access3445 is expected not to be allowed :create_build_service_proxy3446 when user is the owner of the job3447 is expected to be allowed :create_build_service_proxy3448 with maintainer3449 behaves like allowed build owner access3450 is expected not to be allowed :create_build_service_proxy3451 when user is the owner of the job3452 is expected to be allowed :create_build_service_proxy3453 with developer3454 behaves like forbidden access3455 is expected not to be allowed :create_build_service_proxy3456 when user is the owner of the job3457 is expected not to be allowed :create_build_service_proxy3458 with reporter3459 behaves like forbidden access3460 is expected not to be allowed :create_build_service_proxy3461 when user is the owner of the job3462 is expected not to be allowed :create_build_service_proxy3463 with guest3464 behaves like forbidden access3465 is expected not to be allowed :create_build_service_proxy3466 when user is the owner of the job3467 is expected not to be allowed :create_build_service_proxy3468 with non member3469 behaves like forbidden access3470 is expected not to be allowed :create_build_service_proxy3471 when user is the owner of the job3472 is expected not to be allowed :create_build_service_proxy3473Gitlab::Git::Blob3474 initialize3475 handles nil data3476 records blob size3477 when untruncated3478 attempts to record gitlab_blob_truncated_false3479 when truncated3480 attempts to record gitlab_blob_truncated_true3481 .find with Gitaly enabled3482 behaves like .find3483 nil path3484 is expected to eq nil3485 utf-8 branch3486 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"3487 blank path3488 is expected to eq nil3489 file in subdir3490 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"3491 is expected to eq "popen.rb"3492 is expected to eq "files/ruby/popen.rb"3493 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3494 is expected to eq "require 'fi"3495 is expected to eq 6693496 is expected to eq "100644"3497 file in root3498 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"3499 is expected to eq ".gitignore"3500 is expected to eq ".gitignore"3501 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3502 is expected to eq "*.rbc\n*.sas"3503 is expected to eq 2413504 is expected to eq "100644"3505 is expected not to be binary in repo3506 file in root with leading slash3507 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"3508 is expected to eq ".gitignore"3509 is expected to eq ".gitignore"3510 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3511 is expected to eq "*.rbc\n*.sas"3512 is expected to eq 2413513 is expected to eq "100644"3514 non-exist file3515 is expected to be nil3516 six submodule3517 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"3518 is expected to eq ""3519 does not get messed up by load_all_data!3520 does not mark the blob as binary3521 large file3522 is expected to eq 1118033523 is expected to eq 10003524 check that this test is sane3525 can load all data3526 marks the blob as binary3527 .find with Rugged enabled3528 calls out to the Rugged implementation3529 behaves like .find3530 nil path3531 is expected to eq nil3532 utf-8 branch3533 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"3534 blank path3535 is expected to eq nil3536 file in subdir3537 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"3538 is expected to eq "popen.rb"3539 is expected to eq "files/ruby/popen.rb"3540 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3541 is expected to eq "require 'fi"3542 is expected to eq 6693543 is expected to eq "100644"3544 file in root3545 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"3546 is expected to eq ".gitignore"3547 is expected to eq ".gitignore"3548 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3549 is expected to eq "*.rbc\n*.sas"3550 is expected to eq 2413551 is expected to eq "100644"3552 is expected not to be binary in repo3553 file in root with leading slash3554 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"3555 is expected to eq ".gitignore"3556 is expected to eq ".gitignore"3557 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3558 is expected to eq "*.rbc\n*.sas"3559 is expected to eq 2413560 is expected to eq "100644"3561 non-exist file3562 is expected to be nil3563 six submodule3564 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"3565 is expected to eq ""3566 does not get messed up by load_all_data!3567 does not mark the blob as binary3568 large file3569 is expected to eq 1118033570 is expected to eq 10003571 check that this test is sane3572 can load all data3573 marks the blob as binary3574 .raw3575 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"3576 is expected to eq "require 'fi"3577 is expected to eq 6693578 is expected to be falsey3579 is expected to be nil3580 large file3581 limits the size of a large file3582 when sha references a tree3583 returns nil3584 .batch3585 is expected to eq 23586 first blob3587 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"3588 is expected to eq "popen.rb"3589 is expected to eq "files/ruby/popen.rb"3590 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3591 is expected to eq "require 'fi"3592 is expected to eq 6693593 is expected to eq "100644"3594 second blob3595 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"3596 is expected to eq ""3597 does not mark the blob as binary3598 limiting3599 positive3600 is expected to eq 103601 zero3602 only loads the metadata3603 negative3604 ignores MAX_DATA_DISPLAY_SIZE3605 when large number of blobs requested3606 fetches the blobs in batches3607 .batch_metadata3608 returns an empty data attribute3609 .batch_lfs_pointers3610 returns a list of Gitlab::Git::Blob3611 accepts blob IDs as a lazy enumerator3612 handles empty list of IDs gracefully3613 silently ignores tree objects3614 silently ignores non lfs objects3615 avoids loading large blobs into memory3616 encoding3617 file with russian text3618 has the correct blob attributes3619 file with Japanese text3620 has the correct blob attributes3621 file with ISO-8859 text3622 has the correct blob attributes3623 mode3624 file regular3625 is expected to eq "regex.rb"3626 is expected to eq "files/ruby/regex.rb"3627 is expected to eq 12003628 is expected to eq "100644"3629 file binary3630 is expected to eq "ls"3631 is expected to eq "files/executables/ls"3632 is expected to eq 1100803633 is expected to eq "100755"3634 file symlink to regular3635 is expected to eq "ruby-style-guide.md"3636 is expected to eq "files/links/ruby-style-guide.md"3637 is expected to eq 313638 is expected to eq "120000"3639 file symlink to binary3640 is expected to eq "touch"3641 is expected to eq "files/links/touch"3642 is expected to eq 203643 is expected to eq "120000"3644 lfs_pointers3645 file a valid lfs pointer3646 is expected to eq true3647 is expected to eq "4206f951d2691c78aac4c0ce9f2b23580b2c92cdcc4336e1028742c0274938e0"3648 is expected to eq 195483649 is expected to eq "f4d76af13003d1106be7ac8c5a2a3d37ddf32c2a"3650 is expected to eq "image.jpg"3651 is expected to eq "files/lfs/image.jpg"3652 is expected to eq 1303653 is expected to eq "100644"3654 file an invalid lfs pointer3655 with correct version header but incorrect size and oid3656 is expected to eq false3657 is expected to eq nil3658 is expected to eq nil3659 is expected to eq "f8a898db217a5a85ed8b3d25b34c1df1d1094c46"3660 is expected to eq "archive-invalid.tar"3661 is expected to eq "files/lfs/archive-invalid.tar"3662 is expected to eq 433663 is expected to eq "100644"3664 with correct version header and size but incorrect size and oid3665 is expected to eq false3666 is expected to eq nil3667 is expected to eq 15750783668 is expected to eq "5ae35296e1f95c1ef9feda1241477ed29a448572"3669 is expected to eq "picture-invalid.png"3670 is expected to eq "files/lfs/picture-invalid.png"3671 is expected to eq 573672 is expected to eq "100644"3673 with correct version header and size but invalid size and oid3674 is expected to eq false3675 is expected to eq nil3676 is expected to eq nil3677 is expected to eq "d831981bd876732b85a1bcc6cc01210c9f36248f"3678 is expected to eq "file-invalid.zip"3679 is expected to eq "files/lfs/file-invalid.zip"3680 is expected to eq 603681 is expected to eq "100644"3682 #load_all_data!3683 loads missing data3684 with a fully loaded blob3685 doesn't perform any loading3686 #truncated?3687 when blob.size is nil3688 returns false3689 when blob.data is missing3690 returns false3691 when the blob is truncated3692 returns true3693 when the blob is untruncated3694 returns false3695 metrics3696 defines :gitlab_blob_truncated_true counter3697 defines :gitlab_blob_truncated_false counter3698 defines :gitlab_blob_size histogram3699 #lines3700 when the encoding cannot be detected3701 successfully splits the data3702Boards::Issues::MoveService3703 #execute3704 when parent is a project3705 behaves like issues move service3706 when moving an issue between lists3707 delegates the label changes to Issues::UpdateService3708 removes the label from the list it came from and adds the label of the list it goes to3709 behaves like updating timestamps3710 updates updated_at3711 when moving to closed3712 delegates the close proceedings to Issues::CloseService3713 removes all list-labels from boards and close the issue3714 behaves like updating timestamps3715 updates updated_at3716 when moving to backlog3717 keeps labels and milestone3718 behaves like updating timestamps3719 updates updated_at3720 when moving from closed3721 delegates the re-open proceedings to Issues::ReopenService3722 adds the label of the list it goes to and reopen the issue3723 behaves like updating timestamps3724 updates updated_at3725 when moving to same list3726 returns nil3727 keeps issues labels3728 keeps issues assignees3729 sorts issues3730 does not update updated_at3731 when parent is a group3732 behaves like issues move service3733 when moving an issue between lists3734 delegates the label changes to Issues::UpdateService3735 removes the label from the list it came from and adds the label of the list it goes to3736 behaves like updating timestamps3737 updates updated_at3738 when moving to closed3739 delegates the close proceedings to Issues::CloseService3740 removes all list-labels from boards and close the issue3741 behaves like updating timestamps3742 updates updated_at3743 when moving to backlog3744 keeps labels and milestone3745 behaves like updating timestamps3746 updates updated_at3747 when moving from closed3748 delegates the re-open proceedings to Issues::ReopenService3749 adds the label of the list it goes to and reopen the issue3750 behaves like updating timestamps3751 updates updated_at3752 when moving to same list3753 returns nil3754 keeps issues labels3755 keeps issues assignees3756 sorts issues3757 does not update updated_at3758 #execute_multiple3759 returns the expected result if list of issues is empty3760 moving multiple issues3761 moves multiple issues from one list to another3762 moving a single issue3763 moves one issue3764 moving issues visually after an existing issue3765 moves one issue3766 moving issues visually before an existing issue3767 moves one issue3768Groups::GroupMembersHelper3769 .group_member_select_options3770 returns an options hash3771 #group_members_app_data3772 returns expected json3773 group members3774 behaves like members.json3775 returns `members` property that matches json schema3776 sets `member_path` property3777 with user status set3778 behaves like members.json3779 returns `members` property that matches json schema3780 sets `member_path` property3781 invited group members3782 behaves like members.json3783 returns `members` property that matches json schema3784 sets `member_path` property3785 access requests3786 behaves like members.json3787 returns `members` property that matches json schema3788 sets `member_path` property3789 group links3790 sets `group.members` property that matches json schema3791 sets `member_path` property3792 inherited3793 include_relations: [:inherited, :direct], result: lazy { [group_group_link, sub_group_group_link].map(&:id) }3794 returns correct group links3795 include_relations: [:inherited], result: lazy { [group_group_link].map(&:id) }3796 returns correct group links3797 include_relations: [:direct], result: lazy { [sub_group_group_link].map(&:id) }3798 returns correct group links3799 when group_member_inherited_group disabled3800 include_relations: [:inherited, :direct], result: lazy { [sub_group_group_link.id] }3801 always returns direct member links3802 include_relations: [:inherited], result: lazy { [sub_group_group_link.id] }3803 always returns direct member links3804 include_relations: [:direct], result: lazy { [sub_group_group_link.id] }3805 always returns direct member links3806 when pagination is not available3807 sets `pagination` attribute to expected json3808 when pagination is available3809 sets `pagination` attribute to expected json3810JobArtifactUploader3811 behaves like builds correct paths3812 #store_dir3813 behaves like matches the method pattern3814 is expected to match /\h{2}\/\h{2}\/\h{64}\/\d{4}_\d{1,2}_\d{1,2}\/\d+\/\d+\z/3815 #cache_dir3816 behaves like matches the method pattern3817 is expected to match /artifacts\/tmp\/cache/3818 #work_dir3819 behaves like matches the method pattern3820 is expected to match /artifacts\/tmp\/work/3821 #upload_path3822 behaves like matches the method pattern3823 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3824 #relative_path3825 is relative (PENDING: Path not set, skipping.)3826 .absolute_path3827 behaves like matches the method pattern3828 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3829 .base_dir3830 behaves like matches the method pattern3831 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3832 path traversal exploits3833 throws an exception3834 object store is REMOTE3835 behaves like builds correct paths3836 #store_dir3837 behaves like matches the method pattern3838 is expected to match /\h{2}\/\h{2}\/\h{64}\/\d{4}_\d{1,2}_\d{1,2}\/\d+\/\d+\z/3839 #cache_dir3840 behaves like matches the method pattern3841 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3842 #work_dir3843 behaves like matches the method pattern3844 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3845 #upload_path3846 behaves like matches the method pattern3847 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3848 #relative_path3849 is relative (PENDING: Path not set, skipping.)3850 .absolute_path3851 behaves like matches the method pattern3852 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3853 .base_dir3854 behaves like matches the method pattern3855 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3856 path traversal exploits3857 throws an exception3858 file is stored in valid local_path3859 is expected to start with "/builds/gitlab-org/gitlab/tmp/tests/artifacts/"3860 is expected to include "/2022_04_28/"3861 is expected to include "/782/459/"3862 is expected to end with "ci_build_artifacts.zip"3863 #dynamic_segment3864 when a job artifact is stored in legacy_path3865 behaves like Read file from legacy path3866 store_path returns the legacy path3867 has exactly the same content3868 when the artifact file is stored in hashed_path3869 behaves like Read file from hashed path3870 store_path returns hashed path3871 has exactly the same content3872 when file_location column is empty3873 behaves like Read file from hashed path3874 store_path returns hashed path3875 has exactly the same content3876 #migrate!3877 does not set Content-Type3878 behaves like migrates3879 returns corresponding file type3880 does nothing when migrating to the current store3881 migrate to the specified store3882 removes the original file after the migration3883 can access to the original file during migration3884 when migrate! is not occupied by another process3885 executes migrate!3886 executes use_file3887 when migrate! is occupied by another process3888 does not execute migrate!3889 does not execute use_file3890 migration is unsuccessful3891 when the store is not supported3892 does not update the object_store3893 does not delete the original file3894 upon a fog failure3895 does not update the object_store3896 does not delete the original file3897 upon a database failure3898 does not update the object_store3899 does not delete the original file3900 behaves like migrates3901 returns corresponding file type3902 does nothing when migrating to the current store3903 migrate to the specified store3904 removes the original file after the migration3905 can access to the original file during migration3906 when migrate! is not occupied by another process3907 executes migrate!3908 executes use_file3909 when migrate! is occupied by another process3910 does not execute migrate!3911 does not execute use_file3912 migration is unsuccessful3913 when the store is not supported3914 does not update the object_store3915 does not delete the original file3916 upon a fog failure3917 does not update the object_store3918 does not delete the original file3919 upon a database failure3920 does not update the object_store3921 does not delete the original file3922Gitlab::Gfm::ReferenceRewriter3923 #rewrite3924 multiple issues and merge requests referenced3925 plain text description3926 is expected to include "old-project#1"3927 is expected to include "old-project#2"3928 is expected to include "old-project!1"3929 description with ignored elements3930 is expected to include "old-project#1"3931 is expected not to include "old-project#2"3932 is expected not to include "old-project!1"3933 rewrite ambigous references3934 url3935 is expected to include "http://gitlab.com/#1"3936 code3937 is expected to eq "old-project#1, but not `[#1]`"3938 code reverse3939 is expected to eq "not `#1`, but old-project#1"3940 code in random order3941 is expected to eq "old-project#1, `#1`, old-project#1, `#1`"3942 description with project labels3943 label referenced by id3944 is expected to eq "old-project#1 and old-project~123"3945 label referenced by text3946 is expected to eq "old-project#1 and old-project~123"3947 description with group labels3948 label referenced by id3949 is expected to eq "group212/old-project#1 and group212/old-project~321"3950 label referenced by text3951 is expected to eq "group213/old-project#1 and group213/old-project~321"3952 when description contains a local reference3953 is expected to eq "See old-project#1"3954 when description contains a cross reference3955 is expected to eq "See namespace649/project655!1"3956 with a commit3957 reference to an absolute URL to a commit3958 is expected to eq "http://localhost/group211/old-project/-/commit/b83d6e391c22777fca1ed3012fce84f633d7fed0"3959 reference to a commit3960 is expected to eq "old-project@b83d6e391c22777fca1ed3012fce84f633d7fed0"3961 reference contains project milestone3962 is expected to eq "milestone: old-project%\"9.0\""3963 when referring to group milestone3964 is expected to eq "milestone %\"10.0\""3965 when referring to a group3966 is expected to eq "group @group211"3967 when referring to a user3968 is expected to eq "user @user808"3969 when referable has a nil reference3970 raises an error that should be fixed3971API::Helpers3972 #current_user3973 handles sticking when a user could be found3974 does not handle sticking if no user could be found3975 returns the user if one could be found3976 #find_project3977 when ID is used as an argument3978 behaves like project finder3979 when project exists3980 returns requested project3981 returns nil3982 when project id is not provided3983 returns nil3984 when PATH is used as an argument3985 behaves like project finder3986 when project exists3987 returns requested project3988 returns nil3989 when project id is not provided3990 returns nil3991 with an invalid PATH3992 does not hit the database3993 behaves like project finder3994 when project exists3995 returns requested project3996 returns nil3997 when project id is not provided3998 returns nil3999 when project is pending delete4000 does not return the project pending delete4001 when project is hidden4002 does not return the hidden project4003 #find_project!4004 when user is authenticated4005 public project4006 returns requested project4007 private project4008 behaves like private project without access4009 returns not found4010 when user is not authenticated4011 public project4012 returns requested project4013 private project4014 behaves like private project without access4015 returns not found4016 support for IDs and paths as argument4017 when ID is used as an argument4018 behaves like project finder4019 when project exists4020 returns requested project4021 returns nil4022 when PATH is used as an argument4023 behaves like project finder4024 when project exists4025 returns requested project4026 returns nil4027 with an invalid PATH4028 does not hit the database4029 behaves like project finder4030 when project exists4031 returns requested project4032 returns nil4033 #find_group!4034 when user is authenticated4035 public group4036 returns requested group4037 private group4038 behaves like private group without access4039 returns not found4040 when user is not authenticated4041 public group4042 returns requested group4043 private group4044 behaves like private group without access4045 returns not found4046 support for IDs and paths as arguments4047 when ID is used as an argument4048 behaves like group finder4049 when group exists4050 returns requested group4051 returns nil4052 when PATH is used as an argument4053 behaves like group finder4054 when group exists4055 returns requested group4056 returns nil4057 #find_group_by_full_path!4058 when user is authenticated4059 public group4060 returns requested group4061 private group4062 behaves like private group without access4063 returns not found4064 with access4065 returns requested group with access4066 when user is not authenticated4067 public group4068 returns requested group4069 private group4070 behaves like private group without access4071 returns not found4072 #find_namespace4073 when ID is used as an argument4074 behaves like namespace finder4075 when namespace exists4076 returns requested namespace4077 when namespace doesn't exists4078 returns nil4079 when PATH is used as an argument4080 behaves like namespace finder4081 when namespace exists4082 returns requested namespace4083 when namespace doesn't exists4084 returns nil4085 #find_namespace!4086 behaves like user namespace finder4087 when namespace is group4088 when user has access to group4089 returns requested namespace4090 when user doesn't have access to group4091 raises not found error4092 when namespace is user's personal namespace4093 when user owns the namespace4094 returns requested namespace4095 when user doesn't own the namespace4096 raises not found error4097 #authorized_project_scope?4098 job_token_authentication: false, route_setting: false, feature_flag: false, same_job_project: false, expected_result: true4099 returns the expected result4100 job_token_authentication: false, route_setting: false, feature_flag: false, same_job_project: true, expected_result: true4101 returns the expected result4102 job_token_authentication: false, route_setting: false, feature_flag: true, same_job_project: false, expected_result: true4103 returns the expected result4104 job_token_authentication: false, route_setting: false, feature_flag: true, same_job_project: true, expected_result: true4105 returns the expected result4106 job_token_authentication: false, route_setting: true, feature_flag: false, same_job_project: false, expected_result: true4107 returns the expected result4108 job_token_authentication: false, route_setting: true, feature_flag: false, same_job_project: true, expected_result: true4109 returns the expected result4110 job_token_authentication: false, route_setting: true, feature_flag: true, same_job_project: false, expected_result: true4111 returns the expected result4112 job_token_authentication: false, route_setting: true, feature_flag: true, same_job_project: true, expected_result: true4113 returns the expected result4114 job_token_authentication: true, route_setting: false, feature_flag: false, same_job_project: false, expected_result: true4115 returns the expected result4116 job_token_authentication: true, route_setting: false, feature_flag: false, same_job_project: true, expected_result: true4117 returns the expected result4118 job_token_authentication: true, route_setting: false, feature_flag: true, same_job_project: false, expected_result: true4119 returns the expected result4120 job_token_authentication: true, route_setting: false, feature_flag: true, same_job_project: true, expected_result: true4121 returns the expected result4122 job_token_authentication: true, route_setting: true, feature_flag: false, same_job_project: false, expected_result: false4123 returns the expected result4124 job_token_authentication: true, route_setting: true, feature_flag: false, same_job_project: true, expected_result: false4125 returns the expected result4126 job_token_authentication: true, route_setting: true, feature_flag: true, same_job_project: false, expected_result: false4127 returns the expected result4128 job_token_authentication: true, route_setting: true, feature_flag: true, same_job_project: true, expected_result: true4129 returns the expected result4130 #send_git_blob4131 sets Gitlab::Workhorse::DETECT_HEADER header4132 content disposition4133 when blob name is null4134 returns only the disposition4135 when blob name is not null4136 returns disposition with the blob name4137 #increment_unique_values4138 tracks redis hll event4139 logs an exception for unknown event4140 does not track event for nil values4141 #order_options_with_tie_breaker4142 with non-id order given4143 with ascending order4144 adds id based ordering with same direction as primary order4145 with descending order4146 adds id based ordering with same direction as primary order4147 with non-id order but no direction given4148 adds ID ASC order4149 with id order given4150 does not add an additional order4151 #destroy_conditionally!4152 when unmodified check passes4153 destroys given project4154 when unmodified check fails4155 does not destroy given project4156 #check_unmodified_since!4157 when last modified is later than header value4158 renders error4159 when last modified is earlier than header value4160 does not render error4161 when last modified is equal to header value4162 does not render error4163 when there is no header value present4164 does not render error4165 when header value is not a valid time value4166 does not render error4167 #present_disk_file!4168 with X-Sendfile supported4169 sends the file using X-Sendfile4170 without X-Sendfile supported4171 sends the file4172 #order_by_similarity?4173 params: {}, allow_unauthorized: false, current_user_set: false, expected: false4174 returns the expected result4175 params: {}, allow_unauthorized: true, current_user_set: false, expected: false4176 returns the expected result4177 params: {}, allow_unauthorized: false, current_user_set: true, expected: false4178 returns the expected result4179 params: {}, allow_unauthorized: true, current_user_set: true, expected: false4180 returns the expected result4181 params: {:order_by=>"similarity"}, allow_unauthorized: false, current_user_set: false, expected: false4182 returns the expected result4183 params: {:order_by=>"similarity"}, allow_unauthorized: true, current_user_set: false, expected: false4184 returns the expected result4185 params: {:order_by=>"similarity"}, allow_unauthorized: true, current_user_set: true, expected: false4186 returns the expected result4187 params: {:order_by=>"similarity"}, allow_unauthorized: false, current_user_set: true, expected: false4188 returns the expected result4189 params: {:search=>"test"}, allow_unauthorized: false, current_user_set: false, expected: false4190 returns the expected result4191 params: {:search=>"test"}, allow_unauthorized: true, current_user_set: false, expected: false4192 returns the expected result4193 params: {:search=>"test"}, allow_unauthorized: true, current_user_set: true, expected: false4194 returns the expected result4195 params: {:search=>"test"}, allow_unauthorized: false, current_user_set: true, expected: false4196 returns the expected result4197 params: {:order_by=>"similarity", :search=>"test"}, allow_unauthorized: false, current_user_set: false, expected: false4198 returns the expected result4199 params: {:order_by=>"similarity", :search=>"test"}, allow_unauthorized: true, current_user_set: false, expected: true4200 returns the expected result4201 params: {:order_by=>"similarity", :search=>"test"}, allow_unauthorized: true, current_user_set: true, expected: true4202 returns the expected result4203 params: {:order_by=>"similarity", :search=>"test"}, allow_unauthorized: false, current_user_set: true, expected: true4204 returns the expected result4205ReleaseHighlights::Validator4206 #valid?4207 with a valid file4208 passes entries to entry validator and returns true4209 with invalid file4210 returns false and has errors4211 .validate_all!4212 with valid files4213 is expected to equal true4214 with an invalid file4215 is expected to equal false4216 .error_message4217 with a valid file4218 is expected to be empty4219 with an invalid file4220 returns a nice error message4221 when validating all files4222 they should have no errors4223Integrations::Teamcity4224 accessors4225 is expected to respond to #enable_ssl_verification4226 is expected to respond to #enable_ssl_verification?4227 #initialize_properties4228 enables the setting by default4229 does not enable the setting if the record is already persisted4230 does not enable the setting if a custom value was set4231 #fields4232 inserts the checkbox field after the first URL field, or at the end4233 #enable_ssl_verification4234 returns true for a known hostname4235 returns true for new records4236 returns false for an unknown hostname4237 returns false for a HTTP URL4238 returns false for an invalid URL4239 returns the persisted value if present4240 Validations4241 when integration is active4242 is expected to validate that :build_type cannot be empty/falsy4243 is expected to validate that :teamcity_url cannot be empty/falsy4244 behaves like issue tracker integration URL attribute4245 is expected to allow :teamcity_url to be ‹"https://example.com"›4246 is expected not to allow :teamcity_url to be ‹"example.com"›4247 is expected not to allow :teamcity_url to be ‹"ftp://example.com"›4248 is expected not to allow :teamcity_url to be ‹"herp-and-derp"›4249 #username4250 does not validate the presence of username if password is nil4251 validates the presence of username if password is present4252 #password4253 does not validate the presence of password if username is nil4254 validates the presence of password if username is present4255 when integration is inactive4256 is expected not to validate that :build_type cannot be empty/falsy4257 is expected not to validate that :teamcity_url cannot be empty/falsy4258 is expected not to validate that :username cannot be empty/falsy4259 is expected not to validate that :password cannot be empty/falsy4260 Callbacks4261 before_validation :reset_password4262 saves password if new url is set together with password when no password was previously set4263 when a password was previously set4264 resets password if url changed4265 does not reset password if username changed4266 does not reset password if new url is set together with password, even if it's the same password4267 #build_page4268 returns the contents of the reactive cache4269 #commit_status4270 returns the contents of the reactive cache4271 #calculate_reactive_cache4272 build_page4273 returns a specific URL when status is 5004274 returns a build URL when teamcity_url has no trailing slash4275 returns the teamcity_url when teamcity is unreachable4276 teamcity_url has trailing slash4277 returns a build URL4278 commit_status4279 sets commit status to :error when status is 5004280 sets commit status to "pending" when status is 4044281 sets commit status to "success" when build status contains SUCCESS4282 sets commit status to "failed" when build status contains FAILURE4283 sets commit status to "pending" when build status contains Pending4284 sets commit status to :error when build status is unknown4285 sets commit status to :error when teamcity is unreachable4286 #execute4287 returns nil when event is not supported4288 when push4289 handles push request correctly4290 returns nil when ref is blank4291 returns nil when there is no content4292 returns nil when a merge request is opened for the same ref4293 when merge_request4294 handles merge request correctly4295 returns nil when merge request is not opened4296 returns nil unless merge request is marked as unchecked4297Releases::GroupReleasesFinder4298 when parent is a group4299 without subgroups4300 behaves like preload4301 preloads associations4302 when preload is false4303 does not preload associations4304 behaves like when the user is not part of the group4305 returns no releases4306 when the user is a project guest on one sibling project4307 does not return any releases4308 when the user is a guest on the group4309 sorts by release date and id4310 with subgroups4311 with a single-level subgroup4312 behaves like when the user is not part of the group4313 returns no releases4314 when the user a project guest in the subgroup project4315 does not return any releases4316 when the user is a guest on the group4317 returns all releases4318 with a multi-level subgroup4319 behaves like when the user is not part of the group4320 returns no releases4321 when the user a project guest in the subgroup and subsubgroup project4322 does not return any releases4323 when the user a project guest in the subsubgroup project4324 does not return any releases4325 performance testing4326 behaves like avoids N+1 queries4327 with subgroups4328 subgroups avoids N+1 queries4329Gitlab::Ci::Build::Rules::Rule::Clause::Exists4330 #satisfied_by?4331 when context is Build::Context::Build4332 behaves like an exists rule with a context4333 behaves like a glob matching rule4334 exact top-level match4335 is expected to eq true4336 exact top-level no match4337 is expected to eq false4338 pattern top-level match4339 is expected to eq true4340 pattern top-level no match4341 is expected to eq false4342 exact nested match4343 is expected to eq true4344 exact nested no match4345 is expected to eq false4346 pattern nested match4347 is expected to eq true4348 pattern nested no match4349 is expected to eq false4350 ext top-level match4351 is expected to eq true4352 ext nested no match4353 is expected to eq false4354 ext slash no match4355 is expected to eq false4356 after pattern comparision limit is reached4357 is expected to be truthy4358 when context is Build::Context::Global4359 behaves like an exists rule with a context4360 behaves like a glob matching rule4361 exact top-level match4362 is expected to eq true4363 exact top-level no match4364 is expected to eq false4365 pattern top-level match4366 is expected to eq true4367 pattern top-level no match4368 is expected to eq false4369 exact nested match4370 is expected to eq true4371 exact nested no match4372 is expected to eq false4373 pattern nested match4374 is expected to eq true4375 pattern nested no match4376 is expected to eq false4377 ext top-level match4378 is expected to eq true4379 ext nested no match4380 is expected to eq false4381 ext slash no match4382 is expected to eq false4383 after pattern comparision limit is reached4384 is expected to be truthy4385 when context is Config::External::Context4386 behaves like an exists rule with a context4387 behaves like a glob matching rule4388 exact top-level match4389 is expected to eq true4390 exact top-level no match4391 is expected to eq false4392 pattern top-level match4393 is expected to eq true4394 pattern top-level no match4395 is expected to eq false4396 exact nested match4397 is expected to eq true4398 exact nested no match4399 is expected to eq false4400 pattern nested match4401 is expected to eq true4402 pattern nested no match4403 is expected to eq false4404 ext top-level match4405 is expected to eq true4406 ext nested no match4407 is expected to eq false4408 ext slash no match4409 is expected to eq false4410 after pattern comparision limit is reached4411 is expected to be truthy4412Integrations::HasDataFields4413 when data are stored in data_fields4414 behaves like data fields4415 #arg4416 returns an argument correctly4417 {arg}_changed?4418 returns false when the property has not been assigned a new value4419 returns true when the property has been assigned a different value4420 returns true when the property has been assigned a different value twice4421 returns false when the property has been re-assigned the same value4422 {arg}_touched?4423 returns false when the property has not been assigned a new value4424 returns true when the property has been assigned a different value4425 returns true when the property has been assigned a different value twice4426 returns true when the property has been re-assigned the same value4427 returns false when the property has been re-assigned the same value4428 data_fields_present?4429 returns true from the issue tracker service4430 {arg}_was?4431 returns nil4432 when service and data_fields are not persisted4433 data_fields_present?4434 returns true4435 when data are stored in properties4436 behaves like data fields4437 #arg4438 returns an argument correctly4439 {arg}_changed?4440 returns false when the property has not been assigned a new value4441 returns true when the property has been assigned a different value4442 returns true when the property has been assigned a different value twice4443 returns false when the property has been re-assigned the same value4444 {arg}_touched?4445 returns false when the property has not been assigned a new value4446 returns true when the property has been assigned a different value4447 returns true when the property has been assigned a different value twice4448 returns true when the property has been re-assigned the same value4449 returns false when the property has been re-assigned the same value4450 data_fields_present?4451 returns true from the issue tracker service4452 {arg}_was?4453 returns nil when the property has not been assigned a new value4454 returns initial value when the property has been assigned a different value4455 returns initial value when the property has been re-assigned the same value4456 when data are stored in both properties and data_fields4457 behaves like data fields4458 #arg4459 returns an argument correctly4460 {arg}_changed?4461 returns false when the property has not been assigned a new value4462 returns true when the property has been assigned a different value4463 returns true when the property has been assigned a different value twice4464 returns false when the property has been re-assigned the same value4465 {arg}_touched?4466 returns false when the property has not been assigned a new value4467 returns true when the property has been assigned a different value4468 returns true when the property has been assigned a different value twice4469 returns true when the property has been re-assigned the same value4470 returns false when the property has been re-assigned the same value4471 data_fields_present?4472 returns true from the issue tracker service4473 {arg}_was?4474 returns nil4475Gitlab::Database::BackgroundMigration::BatchedMigrationRunner4476 #run_migration_job4477 when the migration has no previous jobs4478 when the migration has batches to process4479 runs the job for the first batch4480 optimizes the migration after executing the job4481 when the batch maximum exceeds the migration maximum4482 clamps the batch maximum to the migration maximum4483 when the migration has no batches to process4484 behaves like it has completed the migration4485 does not create and run a migration job4486 marks the migration as finished4487 when the migration should stop4488 changes the status to failure4489 when the migration has previous jobs4490 when the migration has no batches remaining4491 behaves like it has completed the migration4492 does not create and run a migration job4493 marks the migration as finished4494 when the migration has batches to process4495 runs the migration job for the next batch4496 when the batch minimum exceeds the migration maximum4497 behaves like it has completed the migration4498 does not create and run a migration job4499 marks the migration as finished4500 when migration has failed jobs4501 retries the failed job4502 when failed job has reached the maximum number of attempts4503 marks the migration as failed4504 when migration has stuck jobs4505 retries the stuck job4506 when migration has possible stuck jobs4507 keeps the migration active4508 when the migration has batches to process and failed jobs4509 runs next batch then retries the failed job4510 #run_entire_migration4511 when not in a development or test environment4512 raises an error4513 when the given migration is not active4514 does not create and run migration jobs4515 when the given migration is active4516 runs all jobs inline until finishing the migration4517 #finalize4518 when the migration is not yet completed4519-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4520 -> 0.0012s4521-- create_table(:_test_batched_migrations_test_table, {:id=>false})4522 -> 0.0033s4523-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")4524 -> 0.0014s4525-- execute("SELECT * FROM _test_batched_migrations_test_table WHERE some_id_convert_to_bigint IS NULL")4526 -> 0.0011s4527-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4528 -> 0.0018s4529 completes the migration4530 when migration fails to complete4531-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4532 -> 0.0010s4533-- create_table(:_test_batched_migrations_test_table, {:id=>false})4534 -> 0.0025s4535-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")4536 -> 0.0012s4537-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4538 -> 0.0019s4539 raises an error4540 when the migration is already finished4541-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4542 -> 0.0010s4543-- create_table(:_test_batched_migrations_test_table, {:id=>false})4544 -> 0.0025s4545-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")4546 -> 0.0011s4547-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4548 -> 0.0015s4549 is a no-op4550 when the migration does not exist4551-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4552 -> 0.0009s4553-- create_table(:_test_batched_migrations_test_table, {:id=>false})4554 -> 0.0025s4555-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")4556 -> 0.0011s4557-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})4558 -> 0.0016s4559 is a no-op4560 .finalize4561 when the connection is passed4562 initializes the object with the given connection4563Gitlab::Email::Handler::CreateMergeRequestHandler4564 behaves like reply_processing_shared_examples4565 when the user could not be found4566 raises a UserNotFoundError4567 when the user is not authorized to the project4568 raises a ProjectNotFound4569 when email key4570 matches the new format4571 matches the legacy format4572 doesn't match either format4573 as a non-developer4574 raises UserNotAuthorizedError if the user is not a member4575 as a developer4576 when everything is fine4577 behaves like a new merge request4578 creates a new merge request4579 creates a new merge request with legacy email address4580 behaves like a new merge request4581 creates a new merge request4582 something is wrong4583 when the merge request could not be saved4584 raises an InvalidMergeRequestError4585 when we can't find the incoming_email_token4586 raises an UserNotFoundError4587 when the subject is blank4588 raises an InvalidMergeRequestError4589 when the message body is blank4590 creates a new merge request with description set from the last commit4591 when the email contains patch attachments4592 creates the source branch and applies the patches4593 creates the merge request4594 does not mention the patches in the created merge request4595 when the patch could not be applied4596 raises an error4597 when specifying the target branch using quick actions4598 creates the merge request with the correct target branch4599 based the merge request of the target_branch4600 #patch_attachments4601 orders attachments ending in `.patch` by name4602NamespacesHelper4603 #namespaces_as_json4604 returns the user's groups4605 returns the user's namespace4606 #namespaces_options4607 returns only allowed namespaces for user4608 avoids duplicate groups when extra_group is used4609 selects the new group by default4610 falls back to current user selection4611 returns only groups if groups_only option is true4612 when admin mode is enabled4613 returns groups without being a member for admin4614 when admin mode is disabled4615 returns only allowed namespaces for admin4616 when admin mode is disabled4617 selects existing group4618 when nested groups are available4619 includes groups nested in groups the user can administer4620 orders the groups correctly4621 #cascading_namespace_settings_popover_data4622 when locked by an application setting4623 returns expected hash4624 when locked by an ancestor namespace4625 returns expected hash4626 #cascading_namespace_setting_locked?4627 when `group` argument is `nil`4628 returns `false`4629 when `*_locked?` method does not exist4630 returns `false`4631 when `*_locked?` method does exist4632 calls corresponding `*_locked?` method4633 #pipeline_usage_quota_app_data4634 returns a hash with necessary data for the frontend4635Members::ApproveAccessRequestService4636 when an access requester is found4637 when current user is nil4638 and :ldap option is not given4639 behaves like a service raising Gitlab::Access::AccessDeniedError4640 raises Gitlab::Access::AccessDeniedError4641 behaves like a service raising Gitlab::Access::AccessDeniedError4642 raises Gitlab::Access::AccessDeniedError4643 and :skip_authorization option is false4644 behaves like a service raising Gitlab::Access::AccessDeniedError4645 raises Gitlab::Access::AccessDeniedError4646 behaves like a service raising Gitlab::Access::AccessDeniedError4647 raises Gitlab::Access::AccessDeniedError4648 and :skip_authorization option is true4649 behaves like a service approving an access request4650 succeeds4651 returns a <Source>Member4652 with a custom access level4653 returns a ProjectMember with the custom access level4654 behaves like a service approving an access request4655 succeeds4656 returns a <Source>Member4657 with a custom access level4658 returns a ProjectMember with the custom access level4659 when current user cannot approve access request to the project4660 behaves like a service raising Gitlab::Access::AccessDeniedError4661 raises Gitlab::Access::AccessDeniedError4662 behaves like a service raising Gitlab::Access::AccessDeniedError4663 raises Gitlab::Access::AccessDeniedError4664 when current user can approve access request to the project4665 behaves like a service approving an access request4666 succeeds4667 returns a <Source>Member4668 with a custom access level4669 returns a ProjectMember with the custom access level4670 behaves like a service approving an access request4671 succeeds4672 returns a <Source>Member4673 with a custom access level4674 returns a ProjectMember with the custom access level4675Trigger4676 Trigger::Base4677 #invoke!4678 when required methods aren't defined4679 raises a NotImplementedError4680 when required methods are defined4681 waits for downstream pipeline4682 when env variable `FOO_BAR_BRANCH` does not exist4683 triggers the pipeline on the correct project and branch4684 when env variable `FOO_BAR_BRANCH` exists4685 triggers the pipeline on the correct project and branch4686 with post_comment: true4687 posts a comment4688 with downstream_job_name: "foo"4689 fetches the downstream job4690 #variables4691 includes simple forwarded variables4692 #base_variables4693 when CI_COMMIT_TAG is set4694 sets GITLAB_REF_SLUG to CI_COMMIT_REF_NAME4695 when CI_COMMIT_TAG is nil4696 sets GITLAB_REF_SLUG to CI_COMMIT_REF_SLUG4697 when TRIGGERED_USER is set4698 sets TRIGGERED_USER to triggered_user4699 when TRIGGERED_USER is not set4700 sets TRIGGERED_USER to GITLAB_USER_NAME4701 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set4702 sets TOP_UPSTREAM_SOURCE_SHA to ci_merge_request_source_branch_sha4703 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set as empty4704 sets TOP_UPSTREAM_SOURCE_SHA to CI_COMMIT_SHA4705 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is not set4706 sets TOP_UPSTREAM_SOURCE_SHA to CI_COMMIT_SHA4707 #version_file_variables4708 version_file: "GITALY_SERVER_VERSION", version: "1"4709 when set in ENV4710 includes the version from ENV4711 when set in a file4712 includes the version from the file4713 version_file: "GITLAB_ELASTICSEARCH_INDEXER_VERSION", version: "2"4714 when set in ENV4715 includes the version from ENV4716 when set in a file4717 includes the version from the file4718 version_file: "GITLAB_KAS_VERSION", version: "3"4719 when set in ENV4720 includes the version from ENV4721 when set in a file4722 includes the version from the file4723 version_file: "GITLAB_PAGES_VERSION", version: "4"4724 when set in ENV4725 includes the version from ENV4726 when set in a file4727 includes the version from the file4728 version_file: "GITLAB_SHELL_VERSION", version: "5"4729 when set in ENV4730 includes the version from ENV4731 when set in a file4732 includes the version from the file4733 version_file: "GITLAB_WORKHORSE_VERSION", version: "6"4734 when set in ENV4735 includes the version from ENV4736 when set in a file4737 includes the version from the file4738 Trigger::Omnibus4739 #variables4740 invokes the trigger with expected variables4741 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set4742 sets GITLAB_VERSION & IMAGE_TAG to ci_merge_request_source_branch_sha4743 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set as empty4744 sets GITLAB_VERSION & IMAGE_TAG to CI_COMMIT_SHA4745 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is not set4746 sets GITLAB_VERSION & IMAGE_TAG to CI_COMMIT_SHA4747 when Trigger.security? is true4748 sets SECURITY_SOURCES to true4749 when Trigger.security? is false4750 sets SECURITY_SOURCES to false4751 when Trigger.ee? is true4752 sets ee to true4753 when Trigger.ee? is false4754 sets ee to false4755 when QA_BRANCH is set4756 sets QA_BRANCH to qa_branch4757 .access_token4758 when OMNIBUS_GITLAB_PROJECT_ACCESS_TOKEN is set4759 returns the omnibus-specific access token4760 when OMNIBUS_GITLAB_PROJECT_ACCESS_TOKEN is not set4761 returns the default access token4762 #invoke!4763 #downstream_project_path4764 when OMNIBUS_PROJECT_PATH is set4765 triggers the pipeline on the correct project4766 #ref4767 when OMNIBUS_BRANCH is set4768 triggers the pipeline on the correct ref4769 when CI_COMMIT_REF_NAME is a stable branch4770 triggers the pipeline on the correct ref4771 Trigger::CNG4772 #variables4773 does not include redundant variables4774 invokes the trigger with expected variables4775 TRIGGER_BRANCH4776 when CNG_BRANCH is not set4777 sets TRIGGER_BRANCH to master4778 when CNG_BRANCH is set4779 sets TRIGGER_BRANCH to cng_branch4780 when CI_COMMIT_REF_NAME is a stable branch4781 sets TRIGGER_BRANCH to the corresponding stable branch4782 GITLAB_VERSION4783 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set4784 sets GITLAB_VERSION to CI_MERGE_REQUEST_SOURCE_BRANCH_SHA4785 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set as empty4786 sets GITLAB_VERSION to CI_COMMIT_SHA4787 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is not set4788 sets GITLAB_VERSION to CI_COMMIT_SHA4789 GITLAB_TAG4790 when CI_COMMIT_TAG is set4791 sets GITLAB_TAG to true4792 when CI_COMMIT_TAG is nil4793 sets GITLAB_TAG to nil4794 GITLAB_ASSETS_TAG4795 when CI_COMMIT_TAG is set4796 sets GITLAB_ASSETS_TAG to CI_COMMIT_REF_NAME4797 when CI_COMMIT_TAG and CI_MERGE_REQUEST_SOURCE_BRANCH_SHA are nil4798 sets GITLAB_ASSETS_TAG to CI_COMMIT_SHA4799 CE_PIPELINE4800 when Trigger.ee? is true4801 sets CE_PIPELINE to nil4802 when Trigger.ee? is false4803 sets CE_PIPELINE to true4804 EE_PIPELINE4805 when Trigger.ee? is true4806 sets EE_PIPELINE to true4807 when Trigger.ee? is false4808 sets EE_PIPELINE to nil4809 #version_param_value4810 raw_version: "1.2.3", expected_version: "v1.2.3"4811 when set in ENV4812 includes the version from ENV4813 raw_version: "1.2.3-rc1", expected_version: "v1.2.3-rc1"4814 when set in ENV4815 includes the version from ENV4816 raw_version: "1.2.3-ee", expected_version: "v1.2.3-ee"4817 when set in ENV4818 includes the version from ENV4819 raw_version: "1.2.3-rc1-ee", expected_version: "v1.2.3-rc1-ee"4820 when set in ENV4821 includes the version from ENV4822 Trigger::Docs4823 #variables4824 BRANCH_CE4825 when CI_PROJECT_PATH is gitlab-org/gitlab-foss4826 sets BRANCH_CE to CI_COMMIT_REF_NAME4827 BRANCH_EE4828 when CI_PROJECT_PATH is gitlab-org/gitlab4829 sets BRANCH_EE to CI_COMMIT_REF_NAME4830 BRANCH_RUNNER4831 when CI_PROJECT_PATH is gitlab-org/gitlab-runner4832 sets BRANCH_RUNNER to CI_COMMIT_REF_NAME4833 BRANCH_OMNIBUS4834 when CI_PROJECT_PATH is gitlab-org/omnibus-gitlab4835 sets BRANCH_OMNIBUS to CI_COMMIT_REF_NAME4836 BRANCH_CHARTS4837 when CI_PROJECT_PATH is gitlab-org/charts/gitlab4838 sets BRANCH_CHARTS to CI_COMMIT_REF_NAME4839 REVIEW_SLUG4840 when CI_MERGE_REQUEST_IID is set4841 sets REVIEW_SLUG4842 when CI_MERGE_REQUEST_IID is not set4843 sets REVIEW_SLUG4844 .access_token4845 when DOCS_PROJECT_API_TOKEN is set4846 returns the docs-specific access token4847 when DOCS_PROJECT_API_TOKEN is not set4848 returns the default access token4849 #invoke!4850 #downstream_project_path4851 when DOCS_PROJECT_PATH is set4852 triggers the pipeline on the correct project4853 #ref4854 when DOCS_BRANCH is set4855 triggers the pipeline on the correct ref4856 Trigger::DatabaseTesting4857 #variables4858 invokes the trigger with expected variables4859 GITLAB_COMMIT_SHA4860 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set4861 sets GITLAB_COMMIT_SHA to ci_merge_request_source_branch_sha4862 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is set as empty4863 sets GITLAB_COMMIT_SHA to CI_COMMIT_SHA4864 when CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is not set4865 sets GITLAB_COMMIT_SHA to CI_COMMIT_SHA4866 #invoke!4867 invokes the trigger with expected variables4868 #downstream_project_path4869 when GITLABCOM_DATABASE_TESTING_PROJECT_PATH is set4870 triggers the pipeline on the correct project4871 #ref4872 when GITLABCOM_DATABASE_TESTING_TRIGGER_REF is set4873 triggers the pipeline on the correct ref4874 when no MR notes with the identifier exist yet4875 posts a new note4876Gitlab::ImportExport::Project::ObjectBuilder4877 request store is not active4878 ignore cache initialize4879 request store is active4880 initialize cache in memory4881 cache object when first time find the object4882 read from cache when object has been cached4883 labels4884 finds the existing group label4885 finds the existing group label in root ancestor4886 creates a new label4887 milestones4888 finds the existing group milestone4889 finds the existing group milestone in root ancestor4890 creates a new milestone4891 with clashing iid4892 creates milestone and claims iid for the new milestone4893 merge_request4894 finds the existing merge_request4895 creates a new merge_request4896 merge request diff commit users4897 finds the existing user4898 creates a new user4899 merge request diff commits4900 when the "committer" object is present4901 uses this object as the committer4902 when the "committer" object is missing4903 creates one from the committer name and Email4904 when the "commit_author" object is present4905 uses this object as the author4906 when the "commit_author" object is missing4907 creates one from the author name and Email4908 #find_or_create_diff_commit_user4909 caches the results4910 when the user already exists4911 returns the existing user4912 when the user does not exist4913 creates the user4914MergeRequests::RebaseService4915 #execute4916 behaves like sequence of failure and success4917 properly clears the error message4918 when unexpected error occurs4919 saves a generic error message4920 returns an error4921 logs the error4922 with a pre-receive failure4923 saves a specific message4924 returns an error4925 with git command failure4926 saves a generic error message4927 returns an error4928 valid params4929 clears rebase_jid4930 behaves like a service that can execute a successful rebase4931 rebases source branch4932 records the new SHA on the merge request4933 logs correct author and committer4934 when skip_ci flag is set4935 behaves like a service that can execute a successful rebase4936 rebases source branch4937 records the new SHA on the merge request4938 logs correct author and committer4939 fork4940 successful fork rebase4941 rebases source branch4942layouts/nav/sidebar/_group4943 behaves like has nav sidebar4944 has collapsed nav sidebar on mobile4945 behaves like sidebar includes snowplow attributes4946 is expected to have visible css ".nav-sidebar[data-track-action=\"render\"][data-track-label=\"groups_side_navigation\"][data-track-property=\"groups_side_navigation\"]"4947 Group context menu4948 has a link to the group path4949 Group information4950 has a link to the group activity path4951 has a link to the group labels path4952 has a link to the members page4953 Issues4954 has a default link to the issue list path4955 has a link to the issue list page4956 has a link to the boards page4957 has a link to the milestones page4958 Merge Requests4959 has a link to the merge request list path4960 shows pill with the number of merge requests4961 CI/CD4962 has a default link to the runners list path4963 has a link to the runners list page4964 Kubernetes menu4965 has a link to the group cluster list path4966 Packages & Registries4967 has a link to the package registry page4968 has a link to the container registry page4969 has a link to the dependency proxy page4970 Settings4971 default link points to edit group page4972 has a link to the General settings page4973 has a link to the Integrations settings page4974 has a link to the group Projects settings page4975 has a link to the Repository settings page4976 has a link to the CI/CD settings page4977 has a link to the Applications settings page4978 has a link to the Package & Registries settings page4979Projects::AutocompleteService4980 #issues4981 confidential issues4982 does not list project confidential issues for guests4983 does not list project confidential issues for non project members4984 does not list project confidential issues for project members with guest role4985 lists project confidential issues for author4986 lists project confidential issues for assignee4987 lists project confidential issues for project members4988 when admin mode is enabled4989 lists all project issues for admin4990 when admin mode is disabled4991 does not list project confidential issues for admin4992 #milestones4993 includes project and group milestones and sorts them correctly4994 does not include closed milestones4995 does not include milestones from other projects in the group4996 with nested groups4997 includes project milestones and all acestors milestones4998 #contacts4999 returns contact data correctly5000 #labels_as_hash5001 returns labels from project and ancestor groups5002 some labels are already assigned5003 marks already assigned as set5004Gitlab::Ci::Config::Entry::Retry5005 #value5006 when retry value is a numeric5007 is returned as a hash with max key5008 when retry value is a hash5009 and `when` is a string5010 returns when wrapped in an array5011 and `when` is an array5012 returns when as it was passed5013 validation5014 when retry value is correct5015 when it is a numeric5016 is valid5017 when it is a hash5018 with max5019 is valid5020 with string when5021 is valid5022 with string when always5023 is valid5024 with array when5025 is valid5026 with when from documentation `always`5027 is valid5028 with when from documentation `unknown_failure`5029 is valid5030 with when from documentation `script_failure`5031 is valid5032 with when from documentation `api_failure`5033 is valid5034 with when from documentation `stuck_or_timeout_failure`5035 is valid5036 with when from documentation `runner_system_failure`5037 is valid5038 with when from documentation `runner_unsupported`5039 is valid5040 with when from documentation `stale_schedule`5041 is valid5042 with when from documentation `job_execution_timeout`5043 is valid5044 with when from documentation `archived_failure`5045 is valid5046 with when from documentation `unmet_prerequisites`5047 is valid5048 with when from documentation `scheduler_failure`5049 is valid5050 with when from documentation `data_integrity_failure`5051 is valid5052 with when from CommitStatus.failure_reasons `unknown_failure`5053 is valid5054 with when from CommitStatus.failure_reasons `script_failure`5055 is valid5056 with when from CommitStatus.failure_reasons `api_failure`5057 is valid5058 with when from CommitStatus.failure_reasons `stuck_or_timeout_failure`5059 is valid5060 with when from CommitStatus.failure_reasons `runner_system_failure`5061 is valid5062 with when from CommitStatus.failure_reasons `missing_dependency_failure`5063 is valid5064 with when from CommitStatus.failure_reasons `runner_unsupported`5065 is valid5066 with when from CommitStatus.failure_reasons `stale_schedule`5067 is valid5068 with when from CommitStatus.failure_reasons `job_execution_timeout`5069 is valid5070 with when from CommitStatus.failure_reasons `archived_failure`5071 is valid5072 with when from CommitStatus.failure_reasons `unmet_prerequisites`5073 is valid5074 with when from CommitStatus.failure_reasons `scheduler_failure`5075 is valid5076 with when from CommitStatus.failure_reasons `data_integrity_failure`5077 is valid5078 with when from CommitStatus.failure_reasons `forward_deployment_failure`5079 is valid5080 with when from CommitStatus.failure_reasons `user_blocked`5081 is valid5082 with when from CommitStatus.failure_reasons `project_deleted`5083 is valid5084 with when from CommitStatus.failure_reasons `ci_quota_exceeded`5085 is valid5086 with when from CommitStatus.failure_reasons `pipeline_loop_detected`5087 is valid5088 with when from CommitStatus.failure_reasons `no_matching_runner`5089 is valid5090 with when from CommitStatus.failure_reasons `trace_size_exceeded`5091 is valid5092 with when from CommitStatus.failure_reasons `builds_disabled`5093 is valid5094 with when from CommitStatus.failure_reasons `environment_creation_failure`5095 is valid5096 with when from CommitStatus.failure_reasons `deployment_rejected`5097 is valid5098 with when from CommitStatus.failure_reasons `insufficient_bridge_permissions`5099 is valid5100 with when from CommitStatus.failure_reasons `downstream_bridge_project_not_found`5101 is valid5102 with when from CommitStatus.failure_reasons `invalid_bridge_trigger`5103 is valid5104 with when from CommitStatus.failure_reasons `bridge_pipeline_is_child_pipeline`5105 is valid5106 with when from CommitStatus.failure_reasons `downstream_pipeline_creation_failed`5107 is valid5108 with when from CommitStatus.failure_reasons `secrets_provider_not_found`5109 is valid5110 with when from CommitStatus.failure_reasons `reached_max_descendant_pipelines_depth`5111 is valid5112 with when from CommitStatus.failure_reasons `protected_environment_failure`5113 is valid5114 with when from CommitStatus.failure_reasons `upstream_bridge_project_not_found`5115 is valid5116 with when from CommitStatus.failure_reasons `insufficient_upstream_permissions`5117 is valid5118 when retry value is not correct5119 when it is not a numeric nor an array5120 returns error about invalid type5121 when it is a numeric5122 when it is lower than zero5123 returns error about value too low5124 when it is not an integer5125 returns error about wrong value5126 when the value is too high5127 returns error about value too high5128 when it is a hash5129 with unknown keys5130 returns error about the unknown key5131 with max lower than zero5132 returns error about value too low5133 with max not an integer5134 returns error about wrong value5135 iwth max too high5136 returns error about value too high5137 with when in wrong format5138 returns error about the wrong format5139 with an unknown when string5140 returns error about the wrong format5141 with an unknown failure reason in a when array5142 returns error about the wrong format5143Projects::DetectRepositoryLanguagesService5144 #execute5145 without previous detection5146 inserts new programming languages in the database5147 inserts the repository langauges5148 updates detected_repository_languages flag5149 with a previous detection5150 updates the repository languages5151 doesn't touch detected_repository_languages flag5152 when no repository exists5153 has no languages5154Gitlab::Ci::Trace::Stream5155 delegates5156 is expected to delegate #close to the #stream object5157 is expected to delegate #tell to the #stream object5158 is expected to delegate #seek to the #stream object5159 is expected to delegate #size to the #stream object5160 is expected to delegate #path to the #stream object5161 is expected to delegate #truncate to the #stream object5162 is expected to delegate #valid? to the #stream object as #present?5163 #limit5164 when stream is StringIO5165 behaves like limits5166 if size is larger we start from beginning5167 if size is smaller we start from the end5168 when the trace contains ANSI sequence and Unicode5169 forwards to the next linefeed, case 15170 forwards to the next linefeed, case 25171 reads in binary, output as Encoding.default_external5172 when stream is ChunkedIO5173 behaves like limits5174 if size is larger we start from beginning5175 if size is smaller we start from the end5176 when the trace contains ANSI sequence and Unicode5177 forwards to the next linefeed, case 15178 forwards to the next linefeed, case 25179 reads in binary, output as Encoding.default_external5180 #append5181 when stream is Tempfile5182 behaves like appends5183 truncates and appends content5184 appends in binary mode5185 when stream is ChunkedIO5186 behaves like appends5187 truncates and appends content5188 appends in binary mode5189 metrics5190 increments trace streamed operation5191 increments trace bytes counter5192 #set5193 when stream is StringIO5194 behaves like sets5195 overwrite content5196 when stream is ChunkedIO5197 behaves like sets5198 overwrite content5199 #raw5200 when stream is File5201 behaves like sets5202 returns all contents if last_lines is not specified5203 limit max lines5204 returns last few lines5205 returns everything if trying to get too many lines5206 when stream is ChunkedIO5207 behaves like sets5208 returns all contents if last_lines is not specified5209 limit max lines5210 returns last few lines5211 returns everything if trying to get too many lines5212 #html5213 when stream is StringIO5214 behaves like htmls5215 returns html5216 returns html for last line only5217 when stream is ChunkedIO5218 behaves like htmls5219 returns html5220 returns html for last line only5221 #extract_coverage5222 when stream is StringIO5223 behaves like extract_coverages5224 valid content & regex5225 is expected to eq "98.29"5226 valid content & bad regex5227 is expected to be nil5228 no coverage content & regex5229 is expected to be nil5230 multiple results in content & regex5231 returns the last matched coverage5232 when BUFFER_SIZE is smaller than stream.size5233 is expected to eq "98.29"5234 when regex is multi-byte char5235 is expected to eq "95.0"5236 when BUFFER_SIZE is equal to stream.size5237 is expected to eq "98.29"5238 using a regex capture5239 is expected to eq "65"5240 malicious regexp5241 takes under a second5242 multi-line data with rooted regexp5243 is expected to eq "65"5244 long line5245 is expected to eq "100"5246 many lines5247 is expected to eq "100"5248 empty regex5249 skips processing5250 nil regex5251 skips processing5252 when stream is ChunkedIO5253 behaves like extract_coverages5254 valid content & regex5255 is expected to eq "98.29"5256 valid content & bad regex5257 is expected to be nil5258 no coverage content & regex5259 is expected to be nil5260 multiple results in content & regex5261 returns the last matched coverage5262 when BUFFER_SIZE is smaller than stream.size5263 is expected to eq "98.29"5264 when regex is multi-byte char5265 is expected to eq "95.0"5266 when BUFFER_SIZE is equal to stream.size5267 is expected to eq "98.29"5268 using a regex capture5269 is expected to eq "65"5270 malicious regexp5271 takes under a second5272 multi-line data with rooted regexp5273 is expected to eq "65"5274 long line5275 is expected to eq "100"5276 many lines5277 is expected to eq "100"5278 empty regex5279 skips processing5280 nil regex5281 skips processing5282MembersFinder#execute5283 returns members for project and parent groups5284 returns owners and maintainers5285 returns active users and excludes invited users5286 does not return members of parent group with minimal access5287 includes only non-invite members if user do not have amdin permissions on project5288 includes invited members if user have admin permissions on project5289 includes nested group members if asked5290 returns only members of project if asked5291 returns only inherited members of project if asked5292 returns only inherited members of a personal project5293 returns the members.access_level when the user is invited5294 returns the highest access_level for the user5295 returns searched members if requested5296 returns members sorted by id_desc5297 when :invited_groups is passed5298 behaves like with invited_groups param5299 includes all the invited_groups members including members inherited from ancestor groups5300 includes all the invited_groups members5301 excludes group_members not visible to the user5302 when the user is a member of invited group and ancestor groups5303 returns the highest access_level for the user limited by project_group_link.group_access5304Gitlab::Diff::LinesUnfolder5305 position requires a middle expansion and new match lines5306 old_line is an invalid number5307 fails gracefully5308 blob lines5309 returns the extracted blob lines correctly5310 diff lines5311 return merge of blob lines with diff lines correctly5312 merged lines have correct line codes5313 position requires a middle expansion and no top match line5314 blob lines5315 returns the extracted blob lines correctly5316 diff lines5317 return merge of blob lines with diff lines correctly5318 merged lines have correct line codes5319 position requires a middle expansion and no bottom match line5320 blob lines5321 returns the extracted blob lines correctly5322 diff lines5323 return merge of blob lines with diff lines correctly5324 merged lines have correct line codes5325 position requires a short top expansion5326 blob lines5327 returns the extracted blob lines correctly5328 diff lines5329 return merge of blob lines with diff lines correctly5330 merged lines have correct line codes5331 position sits between two match lines (no expasion needed)5332 diff lines5333 returns nil5334 position requires bottom expansion and new match lines5335 blob lines5336 returns the extracted blob lines correctly5337 diff lines5338 return merge of blob lines with diff lines correctly5339 merged lines have correct line codes5340 position requires bottom expansion and no new match line5341 blob lines5342 returns the extracted blob lines correctly5343 diff lines5344 return merge of blob lines with diff lines correctly5345 merged lines have correct line codes5346 positioned on an image5347 diff file is not text5348 returns nil5349 diff file is text5350 returns nil5351Ci::ResourceGroup5352 behaves like cleanup by a loose foreign key5353 cleans up (delete or nullify) the model5354 validation5355 valids when key includes allowed character5356 invalids when key includes invalid character5357 #ensure_resource5358 creates one resource when resource group is created5359 #assign_resource_to5360 retains resource for the processable5361 when there are no free resources5362 fails to retain resource5363 when the build has already retained a resource5364 fails to retain resource5365 #release_resource_from5366 when the build has already retained a resource5367 releases resource from the build5368 when the build has already released a resource5369 fails to release resource5370 #upcoming_processables5371 when process mode is unordered5372 returns correct jobs in an indeterministic order5373 when process mode is oldest_first5374 returns correct jobs in a specific order5375 when process mode is newest_first5376 returns correct jobs in a specific order5377 when process mode is unknown5378 returns empty5379Gitlab::Database::LoadBalancing::LoadBalancer5380 #initialize5381 ignores the hosts when load balancing is disabled5382 sets the name of the connection that is used5383 #read5384 yields a connection for a read5385 ensures that query cache is enabled5386 does not enable query cache when outside Rails executor context5387 marks hosts that are offline5388 retries a query in the event of a serialization failure5389 retries every host at most 3 times when a query conflict is raised5390 uses the primary if no secondaries are available5391 uses the primary when load balancing is disabled5392 only primary is configured5393 does not retry a query on connection error if only the primary is configured5394 #read_write5395 yields a connection for a write5396 uses a retry with exponential backoffs5397 #host5398 returns the secondary host to use5399 stores the host in a thread-local variable5400 does not create conflicts with other load balancers when caching hosts5401 #release_host5402 releases the host and its connection5403 #release_primary_connection5404 releases the connection to the primary5405 #primary_write_location5406 returns a String in the right format5407 raises an error if the write location could not be retrieved5408 #retry_with_backoff5409 returns the value returned by the block5410 re-raises errors not related to database connections5411 retries the block when a connection error is raised5412 re-raises the connection error if the retries did not succeed5413 skips retries when only the primary is used5414 #connection_error?5415 returns true for a connection error5416 returns false for a missing database error5417 returns true for a wrapped connection error5418 returns true for a wrapped connection error from a view5419 returns true for deeply wrapped/nested errors5420 returns true for an invalid encoding error5421 returns false for errors not related to database connections5422 returns false for ActiveRecord errors without a cause5423 #serialization_failure?5424 returns for a serialization error5425 returns true for a wrapped error5426 #select_up_to_date_host5427 when none of the replicas are caught up5428 returns false and does not update the host thread-local variable5429 when any of the replicas is caught up5430 returns true and sets host thread-local variable5431 #create_replica_connection_pool5432 creates a new connection pool with specific pool size and name5433 allows setting of a custom hostname and port5434 does not modify connection class pool5435 #disconnect!5436 calls disconnect on all hosts with a timeout5437 #get_write_location5438 returns a string5439 returns nil if there are no results5440 primary connection re-use5441 #read5442 returns ci replica connection5443 when GITLAB_LOAD_BALANCING_REUSE_PRIMARY_ci=main5444 returns ci replica connection5445 #read_write5446 returns Ci::ApplicationRecord connection5447 when GITLAB_LOAD_BALANCING_REUSE_PRIMARY_ci=main5448 returns ActiveRecord::Base connection5449 #wal_diff5450 returns the diff between two write locations5451SystemNotes::DesignManagementService5452 #design_version_added5453 with one kind of event5454 makes just one note5455 adds a new system note5456 with a mixture of events5457 makes one note for each kind of event5458 adds a system note for each kind of event5459 icons5460 action: :creation5461 has a valid action5462 action: :modification5463 has a valid action5464 action: :deletion5465 has a valid action5466 it succeeds5467 action: :creation, icon: "designs_added", human_description: "added"5468 has the correct data5469 action: :modification, icon: "designs_modified", human_description: "updated"5470 has the correct data5471 action: :deletion, icon: "designs_removed", human_description: "removed"5472 has the correct data5473 #design_discussion_added5474 adds a new system note5475 has the correct note text5476 behaves like a system note5477 has the correct attributes5478ProjectSnippet5479 Associations5480 is expected to belong to project required: false5481 Validation5482 is expected to validate that :project cannot be empty/falsy5483 is expected to validate that :secret is ‹false›5484 #embeddable?5485 only returns true when both project and snippet are public5486 only returns true when both project and snippet are public5487 only returns true when both project and snippet are public5488 only returns true when both project and snippet are public5489 only returns true when both project and snippet are public5490 only returns true when both project and snippet are public5491 only returns true when both project and snippet are public5492 only returns true when both project and snippet are public5493 only returns true when both project and snippet are public5494 behaves like model with repository5495 container class includes HasRepository5496 #commits_by5497 retrieves several commits from the repository by oid5498 #web_url5499 when given the only_path option5500 when only_path is false5501 returns the full web URL for this repo5502 when only_path is true5503 returns the relative web URL for this repo5504 when only_path is nil5505 returns the full web URL for this repo5506 when not given the only_path option5507 returns the full web URL for this repo5508 #url_to_repo5509 returns the SSH URL to the repository5510 #ssh_url_to_repo5511 returns the SSH URL to the repository5512 #http_url_to_repo5513 returns the HTTP URL to the repository5514 #repository5515 returns valid repo5516 uses the same container5517 #storage5518 returns valid storage5519 #full_path5520 returns valid full_path5521 #lfs_enabled?5522 returns the expected value5523 #empty_repo?5524 when the repo does not exist5525 returns true5526 when the repo exists5527 returns the empty state of the repository5528 #valid_repo?5529 is expected to equal false5530 is expected to equal true5531 #repository_exists?5532 is expected to equal false5533 is expected to equal true5534 #repo_exists?5535 is expected to equal false5536 is expected to equal true5537 #root_ref5538 is expected to equal true5539 is expected to equal false5540 is expected to equal false5541 Respond to5542 is expected to respond to #base_dir5543 is expected to respond to #disk_path5544 is expected to respond to #gitlab_shell5545 #change_head5546 delegates #change_head to repository5547 #after_repository_change_head5548 calls #reload_default_branch5549Gitlab::Git::Diff5550 .new5551 using a Hash5552 with a small diff5553 initializes the diff5554 does not prune the diff5555 using a diff that is too large5556 prunes the diff5557 using a GitalyClient::Diff5558 with a small diff5559 initializes the diff5560 does not prune the diff5561 using a diff that is too large5562 prunes the diff5563 logs the event5564 using a collapsable diff that is too large5565 prunes the diff as a large diff instead of as a collapsed diff5566 when the patch passed is not UTF-8-encoded5567 encodes diff patch to UTF-85568 using a Gitaly::CommitDelta5569 initializes the diff5570 is not too large5571 has an empty diff5572 is not a binary5573 when diff contains invalid characters5574 when replace_invalid_utf8_chars is true5575WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/lib/gitlab/git/diff_spec.rb:180:in `block (5 levels) in <top (required)>'.5576WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/lib/gitlab/git/diff_spec.rb:181:in `block (5 levels) in <top (required)>'.5577WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/lib/gitlab/git/diff_spec.rb:182:in `block (5 levels) in <top (required)>'.5578 will convert invalid characters and not cause an encoding error5579 when the diff is binary5580 will not try to replace characters5581 when convert_diff_to_utf8_with_replacement_symbol feature flag is disabled5582 will not try to convert invalid characters5583 when replace_invalid_utf8_chars is false5584 will not try to convert invalid characters5585 straight diffs5586 has the correct size5587 diff5588 is an instance of Diff5589 has the correct new_path5590 has the correct diff5591 .between5592 is expected to be a kind of Gitlab::Git::DiffCollection5593 #size5594 is expected to eq 15595 diff5596 is expected to be a kind of Gitlab::Git::Diff5597 #new_path5598 is expected to eq "files/ruby/feature.rb"5599 #diff5600 is expected to include "+class Feature"5601 .filter_diff_options5602 without default options5603 filters invalid options5604 with default options5605 filters invalid options5606 merges with default options5607 overrides default options5608 #json_safe_diff5609 fake binary message when it detects binary5610 leave non-binary diffs as-is5611 #submodule?5612 is expected to eq false5613 is expected to eq true5614 #line_count5615 returns the correct number of lines5616 #diff_bytesize5617 returns the size of the diff in bytes5618 #too_large?5619 returns true for a diff that is too large5620 returns false for a diff that is small enough5621 returns true for a diff that was explicitly marked as being too large5622 #collapsed?5623 returns false by default even on quite big diff5624 returns false by default for a diff that is small enough5625 returns true for a diff that was explicitly marked as being collapsed5626 #collapsed?5627 returns true for a diff that is quite large5628 returns false for a diff that is small enough5629 #collapse!5630 prunes the diff5631BulkImports::Entity5632 associations5633 is expected to belong to bulk_import required: true5634 is expected to belong to parent required: false5635 is expected to belong to group required: false5636 is expected to belong to project required: false5637 validations5638 is expected to validate that :source_type cannot be empty/falsy5639 is expected to validate that :source_full_path cannot be empty/falsy5640 is expected to validate that :destination_name cannot be empty/falsy5641 is expected to define :source_type as an enum, backed by an integer, with possible values ‹[:group_entity, :project_entity]›5642 when associated with a group and project5643 is invalid5644 when not associated with a group or project5645 is valid5646 when associated with a group and no project5647 is valid as a group_entity5648 is valid when destination_namespace is empty5649 is invalid as a project_entity5650 when associated with a project and no group5651 is valid5652 is invalid when destination_namespace is nil5653 is invalid as a project_entity5654 when the parent is a group import5655 is valid5656 when the parent is a project import5657 is invalid5658 validate destination namespace of a group_entity5659 is invalid if destination namespace is the source namespace5660 is invalid if destination namespace is a descendant of the source5661 #encoded_source_full_path5662 encodes entity source full path5663 scopes5664 .by_user_id5665 returns entities associated with specified user5666 .all_human_statuses5667 returns all human readable entity statuses5668 #pipelines5669 when entity is group5670 returns group pipelines5671 when entity is project5672 returns project pipelines5673 #create_pipeline_trackers!5674 when entity is group5675 creates trackers for group entity5676 when entity is project5677 creates trackers for project entity5678 #pipeline_exists?5679 returns true when the given pipeline name exists in the pipelines list5680 returns false when the given pipeline name exists in the pipelines list5681 #pluralized_name5682 when entity is group5683 returns groups5684 when entity is project5685 returns projects5686 #export_relations_url_path5687 when entity is group5688 returns group export relations url5689 when entity is project5690 returns project export relations url5691 #relation_download_url_path5692 returns export relations url with download query string5693 #entity_type5694 returns entity type5695 #project?5696 returns true if project entity5697 #group?5698 returns true if group entity5699 #base_resource_url_path5700 returns base entity url path5701 #wiki_url_path5702 returns entity wiki url path5703 #update_service5704 returns correct update service class5705Gitlab::Ci::Badge::Release::Template5706 #key_text5707 defaults to latest release5708 returns custom key text5709 #value_text5710 when a release exists5711 returns the tag of the release5712 no releases exist5713 returns string that latest release is none5714 #key_width5715 returns the default key width5716 returns custom key width5717 #value_width5718 has a fixed value width5719 #key_color5720 always has the same color5721 #value_color5722 when release exists5723 is blue5724 when release does not exist5725 is red5726Gitlab::Cache::Ci::ProjectPipelineStatus5727 .load_for_project5728 loads the status5729 loading in batches5730 .load_in_batch_for_projects5731 loads pipeline_status on projects5732 loads 10 projects without hitting Gitaly call limit5733 .update_for_pipeline5734 refreshes the cache if nescessary5735 #has_status?5736 is false when the status wasn't loaded yet5737 is true when all status information was loaded5738 #load_status5739 loads the status from the cache when there is one5740 loads the status from the project commit when there is no cache5741 stores the status in the cache when it loading it from the project5742 sets the state to loaded5743 only loads the status once5744 handles Gitaly unavailable exceptions gracefully5745 handles Gitaly timeout exceptions gracefully5746 gitaly call counts5747 not cached5748 makes a Gitaly call5749 cached5750 makes no Gitaly calls5751 #load_from_project5752 reads the status from the pipeline for the commit5753 doesn't fail for an empty project5754 #store_in_cache5755 sets the object in caching5756 #store_in_cache_if_needed5757 stores the state in the cache when the sha is the HEAD of the project5758 doesn't store the status in redis_cache when the sha is not the head of the project5759 deletes the cache if the repository doesn't have a head commit5760 with a status in caching5761 #load_from_cache5762 reads the status from redis_cache5763 when status is empty string5764 reads the status as nil5765 #has_cache?5766 knows the status is cached5767 #delete_from_cache5768 deletes values from redis_cache5769Gitlab::Json5770 .parse5771 legacy_mode is disabled by default5772 parses an object5773 parses an array5774 parses a string5775 parses a true bool5776 parses a false bool5777 legacy_mode is enabled5778 parses an object5779 parses an array5780 raises an error on a string5781 raises an error on a true bool5782 raises an error on a false bool5783 feature flag is disabled5784 parses an object5785 parses an array5786 parses a string5787 parses a true bool5788 parses a false bool5789 .parse!5790 legacy_mode is disabled by default5791 parses an object5792 parses an array5793 parses a string5794 parses a true bool5795 parses a false bool5796 legacy_mode is enabled5797 parses an object5798 parses an array5799 raises an error on a string5800 raises an error on a true bool5801 raises an error on a false bool5802 feature flag is disabled5803 parses an object5804 parses an array5805 parses a string5806 parses a true bool5807 parses a false bool5808 .dump5809 dumps an object5810 dumps an array5811 dumps a string5812 dumps a true bool5813 dumps a false bool5814 .generate5815 generates JSON5816 allows you to customise the output5817 .pretty_generate5818 generates pretty JSON5819 allows you to customise the output5820 the feature table is missing5821 skips legacy mode handling5822 the database is missing5823 still parses json5824 still generates json5825 Gitlab::Json::GrapeFormatter5826 generates JSON5827 uses Gitlab::Json5828 precompiled JSON5829 renders the string directly5830 calls #to_s on the object5831 doesn't run the JSON formatter5832 Gitlab::Json::PrecompiledJson5833 #to_s5834 obj is a string5835 returns a string5836 obj is an array5837 returns a string5838 obj is an array of un-stringables5839 raises an error5840 obj is something else5841 raises an error5842 Gitlab::Json::LimitedEncoder5843 when object size is acceptable5844 returns json string5845 when object is too big5846 raises LimitExceeded error5847 when object contains ASCII-8BIT encoding5848 does not raise encoding error5849Gitlab::Ci::Reports::TestSuiteSummary5850 #name5851 when test suite summary has several build report results5852 returns the suite name5853 #build_ids5854 when test suite summary has several build report results5855 returns the build ids5856 #total_time5857 when test suite summary has several build report results5858 returns the total time5859 #success_count5860 when test suite summary has several build report results5861 returns the total success5862 #failed_count5863 when test suite summary has several build report results5864 returns the total failed5865 #error_count5866 when test suite summary has several build report results5867 returns the total errored5868 #skipped_count5869 when test suite summary has several build report results5870 returns the total skipped5871 #total_count5872 when test suite summary has several build report results5873 returns the total count5874 #suite_error5875 when there are no build report results with suite errors5876 is expected to be nil5877 when there are build report results with suite errors5878 includes the first suite error from the collection of build report results5879 #to_h5880 when test suite summary has several build report results5881 returns the total as a hash5882Gitlab::Ci::Lint5883 #validate5884 when user has permissions to write the ref5885 when using default static mode5886 does not catch advanced logical errors5887 uses YamlProcessor5888 behaves like content with errors and warnings5889 when content has errors5890 returns a result with errors5891 when content has warnings5892 returns a result with warnings5893 when content has more warnings than max limit5894 returns a result with warnings5895 when content has errors and warnings5896 returns a result with errors and warnings5897 behaves like content is valid5898 returns a valid result5899 includes extra attributes5900 behaves like sets merged yaml5901 sets merged_config5902 when using dry run mode5903 runs advanced logical validations5904 uses Ci::CreatePipelineService5905 behaves like content with errors and warnings5906 when content has errors5907 returns a result with errors5908 when content has warnings5909 returns a result with warnings5910 when content has more warnings than max limit5911 returns a result with warnings5912 when content has errors and warnings5913 returns a result with errors and warnings5914 behaves like content is valid5915 returns a valid result5916 does not include extra attributes5917 when using a ref other than the default branch5918 includes only jobs that are excluded on the default branch5919 behaves like sets merged yaml5920 sets merged_config5921 when user does not have permissions to write the ref5922 when using default static mode5923 behaves like content is valid5924 returns a valid result5925 when using dry run mode5926 does not allow validation5927 pipeline logger5928 when the duration is under the threshold5929 does not create a log entry5930 when the durations exceeds the threshold5931 creates a log entry5932 when the feature flag is disabled5933 does not create a log entry5934 when project is not provided5935 creates a log entry without project_id5936Banzai::Filter::SanitizationFilter5937 behaves like default allowlist5938 sanitizes tags that are not allowed5939 sanitizes tag attributes5940 sanitizes javascript in attributes5941 sanitizes mixed-cased javascript in attributes5942 allows whitelisted HTML tags from the user5943 sanitizes `class` attribute on any element5944 sanitizes `id` attribute on any element5945 custom allowlist5946 customizes the allowlist only once5947 customizes the allowlist only once for different instances5948 sanitizes `class` attribute from all elements5949 sanitizes `class` attribute from non-highlight spans5950 allows `text-align` property in `style` attribute on table elements5951 disallows other properties in `style` attribute on table elements5952 disallows `text-align` property in `style` attribute on other elements5953 allows `span` elements5954 allows `abbr` elements5955 disallows the `name` attribute globally, allows on `a`5956 allows `summary` elements5957 allows `details` elements5958 allows `rel=license` in links5959 allows `data-math-style` attribute on `code` and `pre` elements5960 allows the `data-sourcepos` attribute globally5961 behaves like XSS prevention5962 disallows protocol-based JS injection: simple, no spaces5963 disallows protocol-based JS injection: simple, spaces before5964 disallows protocol-based JS injection: simple, spaces after5965 disallows protocol-based JS injection: simple, spaces before and after5966 disallows protocol-based JS injection: preceding colon5967 disallows protocol-based JS injection: UTF-8 encoding5968 disallows protocol-based JS injection: long UTF-8 encoding5969 disallows protocol-based JS injection: long UTF-8 encoding without semicolons5970 disallows protocol-based JS injection: hex encoding5971 disallows protocol-based JS injection: long hex encoding5972 disallows protocol-based JS injection: hex encoding without semicolons5973 disallows protocol-based JS injection: null char5974 disallows protocol-based JS injection: invalid URL char5975 disallows protocol-based JS injection: Unicode5976 disallows protocol-based JS injection: spaces and entities5977 disallows protocol whitespace5978 disallows data links5979 disallows vbscript links5980 behaves like sanitize link5981 removes `rel` attribute from `a` elements5982 disallows invalid URIs5983 allows non-standard anchor schemes5984 allows relative links5985 footnotes5986 allows correct footnote id property on links5987 allows correct footnote id property on li element5988 removes invalid id for footnote links5989 removes invalid id for footnote li5990NoteEntity5991 behaves like note entity5992 basic note5993 exposes correct elements5994 does not expose elements for specific notes cases5995 exposes author correctly5996 does not expose web_url for author5997 exposes permission fields on current_user5998 :can_resolve_discussion5999 discussion is resolvable6000 user can resolve6001 is true6002 user cannot resolve6003 is false6004 discussion is not resolvable6005 is false6006 :outdated_line_change_path6007 when note shows outdated changes6008 returns correct outdated_line_change_namespace_project_note_path6009 when note does not show outdated changes6010 does not expose outdated_line_change_path6011 when note was edited6012 exposes last_edited_at and last_edited_by elements6013 when note is a system note6014 exposes system_note_icon_name element6015Discussions::ResolveService6016 #execute6017 doesn't resolve discussions the user can't resolve6018 resolves the discussion6019 tracks thread resolve usage data6020 executes the notification service6021 schedules an auto-merge6022 adds a system note to the discussion6023 can resolve multiple discussions at once6024 raises an argument error if discussions do not belong to the same noteable6025 with a project that requires all discussion to be resolved6026 does not schedule an auto-merge6027 schedules an auto-merge6028 when discussion is not for a merge request6029 does not execute the notification service6030 does not track thread resolve usage data6031 does not schedule an auto-merge6032 when resolving a discussion6033 in a design6034 when user resolving discussion has open todos6035 marks user todos for given discussion as done6036 in a merge request6037 does not mark user todo as done6038Gitlab::GithubImport::Client6039 #parallel?6040 returns true when the client is running in parallel mode6041 returns false when the client is running in sequential mode6042 #user6043 returns the details for the given username6044 #pull_request_reviews6045 returns the pull request reviews6046 #repository6047 returns the details of a repository6048 #pull_request6049 returns the details of a pull_request6050 #labels6051 returns the labels6052 #milestones6053 returns the milestones6054 #releases6055 returns the releases6056 #each_page6057 without a block6058 returns an Enumerator6059 the returned Enumerator returns Page objects6060 with a block6061 yields every retrieved page to the supplied block6062 starts at the given page6063 #with_rate_limit6064 yields the supplied block when enough requests remain6065 waits before yielding if not enough requests remain6066 waits and retries the operation if all requests were consumed in the supplied block6067 increments the request count counter6068 ignores rate limiting when disabled6069 when Faraday error received from octokit6070 when rate_limiting_enabled is true6071 retries on error and succeeds6072 retries and does not succeed6073 when rate_limiting_enabled is false6074 retries on error and succeeds6075 retries and does not succeed6076 #requests_remaining?6077 when default requests limit is set6078 returns true if enough requests remain6079 returns false if not enough requests remain6080 when search requests limit is set6081 returns true if enough requests remain6082 returns false if not enough requests remain6083 #raise_or_wait_for_rate_limit6084 raises RateLimitError when running in parallel mode6085 sleeps when running in sequential mode6086 increments the rate limit counter6087 #remaining_requests6088 returns the number of remaining requests6089 #requests_limit6090 returns requests limit6091 #rate_limit_resets_in6092 returns the number of seconds after which the rate limit is reset6093 #api_endpoint6094 without a custom endpoint configured in Omniauth6095 returns the default API endpoint6096 with a custom endpoint configured in Omniauth6097 returns the custom endpoint6098 #web_endpoint6099 without a custom endpoint configured in Omniauth6100 returns the default web endpoint6101 with a custom endpoint configured in Omniauth6102 returns the custom endpoint6103 #custom_api_endpoint6104 without a custom endpoint6105 returns nil6106 with a custom endpoint6107 returns the API endpoint6108 #default_api_endpoint6109 returns the default API endpoint6110 #verify_ssl6111 without a custom configuration6112 returns true6113 with a custom configuration6114 returns the configured value6115 #github_omniauth_provider6116 without a configured provider6117 returns an empty Hash6118 with a configured provider6119 returns the provider details as a Hash6120 #rate_limiting_enabled?6121 returns true when using GitHub.com6122 returns false for GitHub enterprise installations6123 search6124 #search_repos_by_name6125 searches for repositories based on name6126 when Faraday error received from octokit6127 retries on error and succeeds6128 retries and does not succeed6129 #search_query6130 returns base search query6131 when include_collaborations is true6132 returns search query including users6133 when include_orgs is true6134 returns search query including users6135groups/edit.html.haml6136 "Share with group lock" setting6137 for a root group6138 behaves like "Share with group lock" setting6139 has the correct label, help text, and checkbox options6140 for a subgroup6141 when the root_group has "Share with group lock" disabled6142 when the subgroup has "Share with group lock" disabled6143 as the root_owner6144 behaves like "Share with group lock" setting6145 has the correct label, help text, and checkbox options6146 as the sub_owner6147 behaves like "Share with group lock" setting6148 has the correct label, help text, and checkbox options6149 when the subgroup has "Share with group lock" enabled6150 as the root_owner6151 behaves like "Share with group lock" setting6152 has the correct label, help text, and checkbox options6153 as the sub_owner6154 behaves like "Share with group lock" setting6155 has the correct label, help text, and checkbox options6156 when the root_group has "Share with group lock" enabled6157 when the subgroup has "Share with group lock" disabled (parent overridden)6158 as the root_owner6159 behaves like "Share with group lock" setting6160 has the correct label, help text, and checkbox options6161 as the sub_owner6162 behaves like "Share with group lock" setting6163 has the correct label, help text, and checkbox options6164 when the subgroup has "Share with group lock" enabled (same as parent)6165 as the root_owner6166 behaves like "Share with group lock" setting6167 has the correct label, help text, and checkbox options6168 as the sub_owner6169 behaves like "Share with group lock" setting6170 has the correct label, help text, and checkbox options6171 ip_restriction6172 prompt user about registration features6173 with service ping disabled6174 renders a placeholder input with registration features message6175 with service ping enabled6176 does not render a placeholder input with registration features message6177Banzai::Filter::References::FeatureFlagReferenceFilter6178 requires project context6179 ignores valid references contained inside 'pre' element6180 ignores valid references contained inside 'code' element6181 ignores valid references contained inside 'a' element6182 ignores valid references contained inside 'style' element6183 with internal reference6184 links to a valid reference6185 links with adjacent text6186 ignores invalid feature flag IIDs6187 includes a title attribute6188 escapes the title attribute6189 includes default classes6190 includes a data-project attribute6191 includes a data-feature-flag attribute6192 supports an :only_path context6193 with cross-project / cross-namespace complete reference6194 links to a valid reference6195 produces a valid text in a link6196 produces a valid text6197 ignores invalid feature flag IIDs on the referenced project6198 with cross-project / same-namespace complete reference6199 links to a valid reference6200 produces a valid text in a link6201 produces a valid text6202 ignores invalid feature flag IIDs on the referenced project6203 with cross-project shorthand reference6204 links to a valid reference6205 produces a valid text in a link6206 produces a valid text6207 ignores invalid feature flag IDs on the referenced project6208 with cross-project URL reference6209 links to a valid reference6210 links with adjacent text6211 ignores invalid feature flag IIDs on the referenced project6212 with group context6213 links to a valid reference6214 ignores internal references6215MergeRequestCleanupRefsWorker6216 #perform_work6217 when next cleanup schedule is found6218 marks the cleanup schedule as completed on success6219 when service fails6220 marks the cleanup schedule as unstarted and track the failure6221 and cleanup schedule has already failed 3 times6222 marks the cleanup schedule as failed and track the failure6223 when merge_request_refs_cleanup flag is disabled6224 does nothing6225 when there is no next cleanup schedule found6226 does nothing6227 #remaining_work_count6228 returns number of scheduled and unstarted cleanup schedule records6229 when count exceeds max_running_jobs6230 gets capped at max_running_jobs6231 #max_running_jobs6232 returns the value of MAX_RUNNING_JOBS6233Gitlab::Database::DynamicModelHelpers6234 #define_batchable_model6235 is an ActiveRecord model6236 includes EachBatch6237 has the correct table name6238 has the inheritance type column disable6239 #each_batch6240 when no transaction is open6241 iterates table in batches6242 when transaction is open6243 raises an error6244 #each_batch_range6245 when no transaction is open6246 iterates table in batch ranges6247 yields only one batch if bigger than the table size6248 makes it possible to apply a scope6249 when transaction is open6250 raises an error6251Gitlab::Ci::Config::Entry::Environment6252 when configuration is a string6253 #string?6254 is string configuration6255 #hash?6256 is not hash configuration6257 #valid?6258 is valid6259 #value6260 returns valid hash6261 #name6262 returns environment name6263 #url6264 returns environment url6265 when configuration is a hash6266 #string?6267 is not string configuration6268 #hash?6269 is hash configuration6270 #valid?6271 is valid6272 #value6273 returns valid hash6274 #name6275 returns environment name6276 #url6277 returns environment url6278 when valid action is used6279 is valid6280 when prepare action is used6281 is valid6282 when wrong action type is used6283 #valid?6284 is not valid6285 #errors6286 contains error about wrong action type6287 when invalid action is used6288 #valid?6289 is not valid6290 #errors6291 contains error about invalid action6292 when on_stop is used6293 is valid6294 when invalid on_stop is used6295 #valid?6296 is not valid6297 #errors6298 contains error about invalid action6299 when wrong url type is used6300 #valid?6301 is not valid6302 #errors6303 contains error about wrong url type6304 when variables are used for environment6305 #valid?6306 is valid6307 when auto_stop_in is specified6308 when auto_stop_in is correct format6309 becomes valid6310 when auto_stop_in is invalid format6311 becomes invalid6312 when configuration is invalid6313 when configuration is an array6314 #valid?6315 is not valid6316 #errors6317 contains error about invalid type6318 when environment name is not present6319 #valid?6320 is not valid6321 #errors?6322 contains error about missing environment name6323 kubernetes6324 is a string6325 is expected not to be valid6326 is a hash6327 is expected to be valid6328 is nil6329 is expected to be valid6330 deployment_tier6331 is a string6332 is expected to be valid6333 is a hash6334 is expected not to be valid6335 is nil6336 is expected to be valid6337 is unknown value6338 is invalid and adds an error6339Resolvers::ContainerRepositoriesResolver6340 #resolve6341 with authorized user6342 when the object is a project6343 behaves like returning container repositories6344 is expected to contain exactly #<ContainerRepository id: 1, project_id: 1173, name: "test_image_1", created_at: "2022-04-28 09:43:35...ipped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>6345 with a named search6346 is expected to contain exactly #<ContainerRepository id: 2, project_id: 1173, name: "Foobar", created_at: "2022-04-28 09:43:35.32734...ipped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>6347 with a sort argument6348 created_desc6349 is expected to eq [#<ContainerRepository id: 4, project_id: 1174, name: "foo", created_at: "2022-04-28 08:43:35.8456371...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6350 updated_asc6351 is expected to eq [#<ContainerRepository id: 4, project_id: 1174, name: "foo", created_at: "2022-04-28 08:43:35.8456371...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6352 name_desc6353 is expected to eq [#<ContainerRepository id: 4, project_id: 1174, name: "foo", created_at: "2022-04-28 08:43:35.8456371...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6354 created_asc6355 is expected to eq [#<ContainerRepository id: 3, project_id: 1174, name: "bar", created_at: "2022-04-27 09:43:35.8412133...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6356 updated_desc6357 is expected to eq [#<ContainerRepository id: 3, project_id: 1174, name: "bar", created_at: "2022-04-27 09:43:35.8412133...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6358 name_asc6359 is expected to eq [#<ContainerRepository id: 3, project_id: 1174, name: "bar", created_at: "2022-04-27 09:43:35.8412133...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6360 when the object is a group6361 behaves like returning container repositories6362 is expected to contain exactly #<ContainerRepository id: 1, project_id: 1173, name: "test_image_1", created_at: "2022-04-28 09:43:35...ipped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>6363 with a named search6364 is expected to contain exactly #<ContainerRepository id: 5, project_id: 1173, name: "Foobar", created_at: "2022-04-28 09:43:37.46131...ipped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>6365 with a sort argument6366 created_desc6367 is expected to eq [#<ContainerRepository id: 7, project_id: 1175, name: "foo", created_at: "2022-04-28 08:43:38.1798279...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6368 updated_asc6369 is expected to eq [#<ContainerRepository id: 7, project_id: 1175, name: "foo", created_at: "2022-04-28 08:43:38.1798279...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6370 name_desc6371 is expected to eq [#<ContainerRepository id: 7, project_id: 1175, name: "foo", created_at: "2022-04-28 08:43:38.1798279...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6372 created_asc6373 is expected to eq [#<ContainerRepository id: 6, project_id: 1175, name: "bar", created_at: "2022-04-27 09:43:38.1722147...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6374 updated_desc6375 is expected to eq [#<ContainerRepository id: 6, project_id: 1175, name: "bar", created_at: "2022-04-27 09:43:38.1722147...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6376 name_asc6377 is expected to eq [#<ContainerRepository id: 6, project_id: 1175, name: "bar", created_at: "2022-04-27 09:43:38.1722147...pped_reason: nil, migration_state: "default", migration_aborted_in_state: nil, migration_plan: nil>]6378 when the object is an invalid type6379 is expected to raise Exception with "invalid subject_type"6380 with unauthorized user6381 is expected to equal nil6382Gitlab::Ci::Reports::TestSuiteComparer6383 #new_failures6384 when head suite has a newly failed test case which does not exist in base6385 returns the failed test case6386 when head suite still has a failed test case which failed in base6387 does not return the failed test case6388 when head suite has a success test case which failed in base6389 does not return the failed test case6390 #existing_failures6391 when head suite has a newly failed test case which does not exist in base6392 returns the failed test case6393 when head suite still has a failed test case which failed in base6394 does not return the failed test case6395 when head suite has a success test case which failed in base6396 does not return the failed test case6397 #resolved_failures6398 when head suite has a newly failed test case which does not exist in base6399 returns the failed test case6400 returns the correct resolved count6401 when head suite still has a failed test case which failed in base6402 does not return the failed test case6403 returns the correct resolved count6404 when head suite has a success test case which failed in base6405 does not return the resolved test case6406 returns the correct resolved count6407 #new_errors6408 when head suite has a new error test case which does not exist in base6409 returns the error test case6410 when head suite still has an error test case which errored in base6411 does not return the error test case6412 when head suite has a success test case which errored in base6413 does not return the error test case6414 #existing_errors6415 when head suite has a new error test case which does not exist in base6416 does not return the error test case6417 when head suite still has an error test case which errored in base6418 returns the error test case6419 when head suite has a success test case which errored in base6420 does not return the error test case6421 #resolved_errors6422 when head suite has a new error test case which does not exist in base6423 does not return the error test case6424 returns the correct resolved count6425 when head suite still has an error test case which errored in base6426 does not return the error test case6427 returns the correct resolved count6428 when head suite has a success test case which errored in base6429 returns the resolved test case6430 returns the correct resolved count6431 #total_count6432 returns the total test counts in head suite6433 #failed_count6434 when there are a new failure and an existing failure6435 returns the correct count6436 when there is a new failure6437 returns the correct count6438 when there is an existing failure6439 returns the correct count6440 #total_status6441 when all test cases in head suite are success6442 returns the total status in head suite6443 when there is a failed test case in head suite6444 returns the total status in head suite as failed6445 when there is an error test case in head suite6446 returns the total status in head suite as failed6447 #limited_tests6448 limits amount of tests returned6449 prefers new over existing and resolved6450 returns 2 of each new category, and 1 of each resolved and existing6451 does not affect the overall count6452 prefers existing over resolved6453 returns 2 of each existing category, and 1 of each resolved6454 does not affect the overall count6455 limits amount of resolved6456 returns 2 of each resolved category6457 does not affect the overall count6458Gitlab::Ci::Build::Rules::Rule::Clause::Changes6459 #satisfied_by?6460 behaves like a glob matching rule6461 exact top-level match6462 is expected to eq true6463 exact top-level no match6464 is expected to eq false6465 pattern top-level match6466 is expected to eq true6467 pattern top-level no match6468 is expected to eq false6469 exact nested match6470 is expected to eq true6471 exact nested no match6472 is expected to eq false6473 pattern nested match6474 is expected to eq true6475 pattern nested no match6476 is expected to eq false6477 ext top-level match6478 is expected to eq true6479 ext nested no match6480 is expected to eq false6481 ext slash no match6482 is expected to eq false6483 when pipeline is nil6484 is expected to be truthy6485 when using variable expansion6486 when context is nil6487 is expected to be falsey6488 when modified paths are nil6489 is expected to be truthy6490 when context has the specified variables6491 is expected to be truthy6492 when variable expansion does not match6493 is expected to be truthy6494Gitlab::Chat::Command6495 #try_create_pipeline6496 returns nil when the command is not valid6497 tries to create the pipeline when a command is valid6498 #create_pipeline6499 creates the pipeline6500 creates the chat data for the pipeline6501 stores the chat name ID in the chat data6502 stores the response URL in the chat data6503 creates the environment variables for the pipeline6504Mutations::DesignManagement::Delete6505 #resolve6506 when the feature is not available6507 behaves like resource not available6508 behaves like failures6509 raises Gitlab::Graphql::Errors::ResourceNotAvailable6510 when the feature is available6511 when the user is not allowed to delete designs6512 behaves like resource not available6513 behaves like failures6514 raises Gitlab::Graphql::Errors::ResourceNotAvailable6515 deleting an already deleted file6516 fails with an argument error6517 when deleting all the designs6518 returns a new version, and no errors6519 runs no more than 29 queries6520 the current designs6521 is empty6522 when deleting a design6523 returns the expected response6524 the current designs6525 does contain designs b and c6526Packages::Debian::GroupComponentFile6527 behaves like Debian Component File6528 relationships6529 with stubbed uploader6530 is expected to belong to component class_name => Packages::Debian::GroupComponent required: false inverse_of => files6531 with packages file_type6532 is expected to belong to architecture class_name => Packages::Debian::GroupArchitecture required: false inverse_of => files6533 with :sources file_type6534 is expected to belong to architecture class_name => Packages::Debian::GroupArchitecture inverse_of => files optional: true6535 validations6536 #component6537 is expected to validate that :component cannot be empty/falsy6538 #architecture6539 with packages file_type6540 is expected to validate that :architecture cannot be empty/falsy6541 with :sources file_type6542 is expected to validate that :architecture is empty/falsy6543 #file_type6544 is expected to validate that :file_type cannot be empty/falsy6545 is expected to allow :file_type to be ‹:packages›6546 #compression_type6547 is expected not to validate that :compression_type cannot be empty/falsy6548 is expected to allow :compression_type to be ‹nil›6549 is expected to allow :compression_type to be ‹:gz›6550 #file6551 the uploader api6552 is expected to respond to #store_dir6553 is expected to respond to #cache_dir6554 is expected to respond to #work_dir6555 #file_store6556 is expected to validate that :file_store cannot be empty/falsy6557 #file_md56558 is expected to validate that :file_md5 cannot be empty/falsy6559 #file_sha2566560 is expected to validate that :file_sha256 cannot be empty/falsy6561 scopes6562 .with_container6563 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 7, created_at: "2022-04-28 09:44:05.055343295 +0000", upda..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6564 .with_codename_or_suite6565 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 7, created_at: "2022-04-28 09:44:05.055343295 +0000", upda..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6566 .with_component_name6567 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 3, created_at: "2022-04-28 09:44:05.029560189 +0000", upda..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6568 .with_file_type6569 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 8, created_at: "2022-04-28 09:44:05.061999000 +0000", upda...1, file: "Sources", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6570 .with_architecture6571 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 2, created_at: "2022-04-28 09:44:05.022696819 +0000", upda..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6572 .with_architecture_name6573 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 2, created_at: "2022-04-28 09:44:05.022696819 +0000", upda..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6574 .with_compression_type6575 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 4, created_at: "2022-04-28 09:44:05.036302838 +0000", upda..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6576 .with_file_sha2566577 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 6, created_at: "2022-04-28 09:44:05.049132826 +0000", upda...ion_type: nil, file_store: 1, file: "Packages", file_md5: "12345abcde", file_sha256: "other_sha256">6578 .updated_before6579 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 10, created_at: "2022-04-28 09:44:06.057241311 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad"> and #<Packages::Debian::GroupComponentFile id: 11, created_at: "2022-04-28 09:44:06.064152321 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6580 callbacks6581 updates metadata columns6582 #relative_path6583 with a Packages file_type6584 is expected to eq "group-component-1/binary-group-arch-1/Packages"6585 with a Source file_type6586 is expected to eq "group-component-1/source/Sources"6587 with a DI Packages file_type6588 is expected to eq "group-component-1/debian-installer/binary-group-arch-1/Packages"6589 with an xz compression_type6590 is expected to eq "group-component-1/binary-group-arch-1/Packages.xz"6591Mutations::Ci::Runner::Delete6592 is expected to require graphql authorizations :delete_runner6593 #resolve6594 when the user cannot admin the runner6595 generates an error6596 with more than one associated project6597 raises an error6598 with invalid params6599 raises an error6600 when required arguments are missing6601 raises an error6602 when user can delete owned runner6603 with one associated project6604 deletes runner6605 with more than one associated project6606 with user as admin6607 deletes runner6608 with user as project maintainer6609 raises error6610 when admin can delete runner6611 deletes runner6612Banzai::Filter::References::ReferenceCache6613 #load_references_per_parent6614 loads references grouped per parent paths6615 when rendered_html is memoized6616 reuses memoized rendered HTML when available6617 when result is not available6618 is expected not to raise Exception6619 #load_parent_per_reference6620 returns a Hash containing projects grouped per parent paths6621 #load_records_per_parent6622 returns a Hash containing projects grouped per parent paths6623 #initialize_reference_cache6624 does not have an N+1 query problem with cross projects6625 #find_for_paths6626 with RequestStore disabled6627 returns a list of Projects for a list of paths6628 return an empty array for paths that do not exist6629 with RequestStore enabled6630 returns a list of Projects for a list of paths6631 when no project with that path exists6632 returns no value6633 adds the ref to the project refs cache6634 #current_parent_path6635 returns the path of the current parent6636 #current_project_namespace_path6637 returns the path of the current project namespace6638 #full_project_path6639 returns current parent path when no ref specified6640 returns combined namespace and project ref6641 returns uses default namespace and project ref when namespace nil6642 #full_group_path6643 returns current parent path when no group ref specified6644 returns group ref6645lograge6646 for API requests6647 logs to api_json log6648 limits param size6649 for Controller requests6650 logs to production_json log6651 logs cpu_s on supported platform6652 does not log cpu_s on unsupported platform6653 limits param size6654 when logging memory allocations6655 logs memory usage metrics6656 with a log subscriber6657 with an exception6658 adds exception data to log6659 with an ActiveRecord::StatementInvalid6660 adds the SQL query to the log6661 with etag_route6662 adds etag_route to log6663 with access token in url6664 strips location from sensitive information6665 leaves non-sensitive information from location6666 with db payload6667 when RequestStore is enabled6668 includes db counters6669 when RequestStore is disabled6670 does not include db counters6671 with db payload6672 when RequestStore is enabled6673 includes db counters for load balancing6674 when RequestStore is disabled6675 does not include db counters for load balancing6676Snippets::UpdateStatisticsService6677 #execute6678 with PersonalSnippet6679 behaves like updates statistics6680 returns a successful response6681 expires statistics cache6682 schedules a namespace storage statistics update6683 when snippet statistics does not exist6684 creates snippet statistics6685 when snippet statistics exists6686 updates snippet statistics6687 when snippet does not have a repository6688 returns an error response6689 with ProjectSnippet6690 updates projects statistics "snippets_size"6691 behaves like updates statistics6692 returns a successful response6693 expires statistics cache6694 schedules a namespace storage statistics update6695 when snippet statistics does not exist6696 creates snippet statistics6697 when snippet statistics exists6698 updates snippet statistics6699 when snippet does not have a repository6700 returns an error response6701Clusters::AgentsFinder6702 #execute6703 is expected to contain exactly #<Clusters::Agent id: 15, created_at: "2022-04-28 09:44:22.210655776 +0000", updated_at: "2022-04-28 09:44:22.210655776 +0000", project_id: 1229, name: "agent-15", created_by_user_id: 2443>6704 user does not have permission6705 is expected to be empty6706 filtering by name6707 name does not match6708 is expected to be empty6709 name does match6710 is expected to contain exactly #<Clusters::Agent id: 21, created_at: "2022-04-28 09:44:26.150775504 +0000", updated_at: "2022-04-28 09:44:26.150775504 +0000", project_id: 1235, name: "agent-21", created_by_user_id: 2458>6711Ci::RefDeleteUnlockArtifactsWorker6712 #perform6713 is labeled as idempotent6714 performs multiple times sequentially without raising an exception6715 unlocks the artifacts from older pipelines6716 when project exists6717 when user exists6718 when ci ref exists for project6719 calls the service6720 when a locked pipeline with persisted artifacts exists6721 with ci_update_unlocked_job_artifacts disabled6722 logs the correct extra metadata6723 with ci_update_unlocked_job_artifacts enabled6724 logs the correct extra metadata6725 when ci ref does not exist for the given project6726 does not call the service6727 when same ref path exists for a different project6728 calls the service with the correct ref_id6729 when user does not exist6730 does not call service6731 when project does not exist6732 does not call service6733Gitlab::LfsToken6734 #token6735 when the actor is a user6736 returns the correct username6737 returns the correct token type6738 behaves like a valid LFS token6739 returns a computed token6740 when the actor is a key6741 returns the correct username6742 returns the correct token type6743 behaves like a valid LFS token6744 returns a computed token6745 when the actor is a deploy key6746 returns the correct username6747 returns the correct token type6748 behaves like a valid LFS token6749 returns a computed token6750 when the actor is invalid6751 raises an exception6752 #token_valid?6753 where the token is invalid6754 because it's junk6755 returns false6756 because it's been fiddled with6757 returns false6758 because it was generated with a different secret6759 returns false6760 because it's expired6761 returns false6762 where the token is valid6763 returns true6764 when the actor is a regular user6765 when the user is blocked6766 returns false6767 when the user password is expired6768 returns false6769 when the actor is an ldap user6770 when the user is blocked6771 returns false6772 when the user password is expired6773 returns true6774 #deploy_key_pushable?6775 when actor is not a DeployKey6776 returns false6777 when actor is a DeployKey6778 but the DeployKey cannot push to the project6779 returns false6780 and the DeployKey can push to the project6781 returns true6782 #type6783 when actor is not a User6784 returns :lfs_deploy_token type6785 when actor is a User6786 returns :lfs_token type6787 #authentication_payload6788 returns a Hash designed for gitlab-shell6789Gitlab::Checks::ChangesAccess6790 #validate!6791 without failed checks6792 doesn't raise an error6793 calls lfs checks6794 when time limit was reached6795 raises a TimeoutError6796 #commits6797 calls #new_commits6798 when changes contain empty revisions6799 behaves like returns only commits with non empty revisions6800 is expected to contain exactly #<InstanceDouble(Commit) (anonymous)>6801 without oldrev6802 behaves like returns only commits with non empty revisions6803 is expected to contain exactly #<InstanceDouble(Commit) (anonymous)>6804 #commits_for6805 with no commits6806 behaves like a listing of new commits6807 returns expected commits6808 with unrelated commits6809 behaves like a listing of new commits6810 returns expected commits6811 with single related commit6812 behaves like a listing of new commits6813 returns expected commits6814 with single related and unrelated commit6815 behaves like a listing of new commits6816 returns expected commits6817 with multiple related commits6818 behaves like a listing of new commits6819 returns expected commits6820 with merge commits6821 behaves like a listing of new commits6822 returns expected commits6823 with criss-cross merges6824 behaves like a listing of new commits6825 returns expected commits6826 with over-push6827 behaves like a listing of new commits6828 returns expected commits6829 #single_change_accesses6830 with no changes6831 behaves like #single_change_access6832 returns an array of SingleChangeAccess6833 with a single change and no new commits6834 behaves like #single_change_access6835 returns an array of SingleChangeAccess6836 with a single change and new commits6837 behaves like #single_change_access6838 returns an array of SingleChangeAccess6839 with multiple changes6840 behaves like #single_change_access6841 returns an array of SingleChangeAccess6842Gitlab::SidekiqLogging::StructuredLogger6843 #call6844 with SIDEKIQ_LOG_ARGUMENTS enabled6845 logs start and end of job6846 logs real job wrapped by active job worker6847 logs an exception in job6848 logs the root cause of an Sidekiq::JobRetry::Skip exception in the job6849 logs the root cause of an Sidekiq::JobRetry::Handled exception in the job6850 keeps Sidekiq::JobRetry::Handled exception if the cause does not exist6851 does not modify the job6852 does not modify the wrapped job6853 with SIDEKIQ_LOG_ARGUMENTS disabled6854 logs start and end of job without args6855 logs without created_at and enqueued_at fields6856 with latency6857 logs with scheduling latency6858 with enqueue latency6859 logs with scheduling latency6860 with Gitaly, Rugged, and Redis calls6861 logs with Gitaly and Rugged timing data6862 when the job performs database queries6863 when load balancing is enabled6864 logs the database time6865 prevents database time from leaking to the next job6866 when the job uses load balancing capabilities6867 logs the database chosen6868 when there is extra metadata set for the done log6869 logs it in the done log6870 when instrumentation data is not loaded6871 does not raise exception6872 when the job payload is compressed6873 logs it in the done log6874 #add_time_keys!6875 update payload correctly6876Clusters::Applications::UpgradeService6877 #execute6878 when there are no errors6879 make the application updating6880 schedule async installation status check6881 when kubernetes cluster communication fails6882 logs into kubernetes.log and Sentry6883 make the application errored6884 a non kubernetes error happens6885 logs into kubernetes.log and Sentry6886 make the application errored6887Ci::HasVariable6888 is expected to validate that :key cannot be empty/falsy6889 is expected to validate that the length of :key is at most 2556890 is expected to allow :key to be ‹"foo"›6891 is expected not to allow :key to be ‹"foo bar"›6892 is expected not to allow :key to be ‹"foo/bar"›6893 scopes6894 .by_key6895 is expected to contain exactly #<Ci::Variable id: 51, key: [FILTERED], value: nil, encrypted_value: "0MOdXRfoF4P6P8Ee0n4G0g==\n", en...project_id: 1250, protected: false, environment_scope: "*", masked: false, variable_type: "env_var">6896 #key=6897 when the new key is nil6898 strips leading and trailing whitespaces6899 when the new key has leadind and trailing whitespaces6900 strips leading and trailing whitespaces6901 #value6902 stores the encrypted value6903 stores an iv for value6904 stores a salt for value6905 fails to decrypt if iv is incorrect6906 #to_runner_variable6907 returns a hash for the runner6908 with RequestStore enabled6909 decrypts once6910 does not cache similar keys6911 does not cache unpersisted values6912IncidentManagement::Incidents::CreateService6913 #execute6914 when incident has title and description6915 responds with success6916 creates an incident issue6917 created issue has correct attributes6918 behaves like incident issue6919 has incident as issue type6920 with default severity6921 sets the correct severity level to "unknown"6922 with severity6923 severity: "critical", incident_severity: "critical"6924 sets the correct severity level6925 severity: "high", incident_severity: "high"6926 sets the correct severity level6927 severity: "medium", incident_severity: "medium"6928 sets the correct severity level6929 severity: "low", incident_severity: "low"6930 sets the correct severity level6931 severity: "unknown", incident_severity: "unknown"6932 sets the correct severity level6933 when incident has no title6934 does not create an issue6935 responds with errors6936 result payload contains an Issue object6937 with alert6938 associates the alert with the incident6939 the alert prevents the issue from saving6940 responds with errors6941Gitlab::FileFinder6942 #find6943 does not cause N+1 query6944 behaves like file finder6945 finds by path6946 finds by content6947 with inclusive filters6948 filters by filename6949 filters by path6950 filters by extension6951 with exclusive filters6952 filters by filename6953 filters by path6954 filters by extension6955 with white space in the path6956 filters by path correctly6957DependencyProxy::Manifest6958 behaves like ttl_expirable6959 behaves like having unique enum values6960 has unique values in "status"6961 validations6962 is expected to validate that :status cannot be empty/falsy6963 .read_before6964 returns items with created at older than the supplied number of days6965 .active6966 returns only active items6967 #read6968 updates read_at6969 behaves like destructible6970 .next_pending_destruction6971 returns the oldest item pending destruction based on updated_at6972 returns the oldest item pending destruction based on created_at6973 behaves like updates namespace statistics6974 when creating6975 schedules a statistic refresh6976 when updating6977 when the statistic attribute has not changed6978 does not schedule a statistic refresh6979 when the statistic attribute has changed6980 schedules a statistic refresh6981 when deleting6982 schedules a statistic refresh6983 relationships6984 is expected to belong to group required: false6985 validations6986 is expected to validate that :group cannot be empty/falsy6987 is expected to validate that :file cannot be empty/falsy6988 is expected to validate that :file_name cannot be empty/falsy6989 is expected to validate that :digest cannot be empty/falsy6990 scopes6991 order_id_desc6992 file is being stored6993 when existing object has local store6994 behaves like mounted file in local store6995 is stored locally6996 when direct upload is enabled6997 behaves like mounted file in object store6998 is stored remotely6999 .find_by_file_name_or_digest7000 no manifest exists7001 is expected to be nil7002 manifest exists and matches file_name7003 is expected to eq #<DependencyProxy::Manifest id: 18, created_at: "2022-04-28 09:44:58.443788112 +0000", updated_at: "2...b3...", content_type: [FILTERED], status: "default", read_at: "2022-04-28 09:15:34.900235259 +0000">7004 manifest exists and matches digest7005 is expected to eq #<DependencyProxy::Manifest id: 19, created_at: "2022-04-28 09:44:58.539157640 +0000", updated_at: "2...b3...", content_type: [FILTERED], status: "default", read_at: "2022-04-28 09:15:34.900235259 +0000">7006UserInteractedProject7007 is expected to validate that :project_id cannot be empty/falsy7008 is expected to validate that :user_id cannot be empty/falsy7009 .track7010 sets project accordingly7011 sets user accordingly7012 only creates a record once per user/project7013 for all actions (event types)7014 creates a record7015 for all actions (event types)7016 creates a record7017 for all actions (event types)7018 creates a record7019 for all actions (event types)7020 creates a record7021 for all actions (event types)7022 creates a record7023 for all actions (event types)7024 creates a record7025 for all actions (event types)7026 creates a record7027 for all actions (event types)7028 creates a record7029 for all actions (event types)7030 creates a record7031 for all actions (event types)7032 creates a record7033 for all actions (event types)7034 creates a record7035 for all actions (event types)7036 creates a record7037 with an event without a project7038 ignores the event7039Sidebars::Groups::Menus::SettingsMenu7040 #render?7041 when user cannot admin group7042 returns false7043 Menu items7044 General menu7045 behaves like access rights checks7046 is expected not to be nil7047 when the user does not have access7048 is expected to be nil7049 Integrations menu7050 behaves like access rights checks7051 is expected not to be nil7052 when the user does not have access7053 is expected to be nil7054 Projects menu7055 behaves like access rights checks7056 is expected not to be nil7057 when the user does not have access7058 is expected to be nil7059 Access Tokens7060 behaves like access rights checks7061 is expected not to be nil7062 when the user does not have access7063 is expected to be nil7064 Repository menu7065 behaves like access rights checks7066 is expected not to be nil7067 when the user does not have access7068 is expected to be nil7069 CI/CD menu7070 behaves like access rights checks7071 is expected not to be nil7072 when the user does not have access7073 is expected to be nil7074 Applications menu7075 behaves like access rights checks7076 is expected not to be nil7077 when the user does not have access7078 is expected to be nil7079 Packages & Registries7080 when packages feature is disabled7081 is expected to be nil7082 when packages feature is enabled7083 behaves like access rights checks7084 is expected not to be nil7085 when the user does not have access7086 is expected to be nil7087Gitlab::Database::Count7088 .approximate_counts7089 fallbacks7090 gets results from first strategy7091 gets more results from second strategy if some counts are missing7092 does not get more results as soon as all counts are present7093 default strategies7094 with a read-only database7095 only uses the ExactCountStrategy7096 with a read-write database7097 uses the available strategies7098Gitlab::TaskHelpers7099 #checkout_or_clone_version7100 checkout the version and reset to it7101 accepts clone_opts7102 target_dir doesn't exist7103 clones the repo7104 target_dir exists7105 doesn't clone the repository7106 #clone_repo7107 clones the repo in the target dir7108 accepts clone_opts7109 #checkout_version7110 clones the repo in the target dir7111 #run_command7112 runs command and return the output7113 returns empty string when command doesnt exist7114 #run_command!7115 runs command and return the output7116 returns and exception when command exit with non zero code7117 #get_version7118 version: "1.1.1", result: "v1.1.1"7119 is expected to eq "v1.1.1"7120 version: "master", result: "master"7121 is expected to eq "master"7122 version: "12.4.0-rc7", result: "v12.4.0-rc7"7123 is expected to eq "v12.4.0-rc7"7124 version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", result: "594c3ea3e0e5540e5915bd1c49713a0381459dd6"7125 is expected to eq "594c3ea3e0e5540e5915bd1c49713a0381459dd6"7126Gitlab::Kubernetes::Helm::V2::PatchCommand7127 behaves like helm command generator7128 #generate_script7129 returns appropriate command7130 when rbac is true7131 behaves like helm command generator7132 #generate_script7133 returns appropriate command7134 when there is no version7135 is expected to raise ArgumentError with "version is required"7136 #pod_name7137 is expected to eq "install-app-name"7138 behaves like helm command7139 HELM_VERSION7140 is expected to match /\d+\.\d+\.\d+/7141 #env7142 is expected to be a kind of Hash7143 #rbac?7144 rbac is enabled7145 is expected to be truthy7146 rbac is not enabled7147 is expected to be falsey7148 #pod_resource7149 rbac is enabled7150 is expected to be an instance of Kubeclient::Resource7151 generates a pod that uses the tiller serviceAccountName7152 rbac is not enabled7153 is expected to be an instance of Kubeclient::Resource7154 generates a pod that uses the default serviceAccountName7155 #config_map_resource7156 returns a KubeClient resource with config map content for the application7157 #service_account_resource7158 rbac is enabled7159 generates a Kubeclient resource for the tiller ServiceAccount7160 rbac is not enabled7161 generates nothing7162 #cluster_role_binding_resource7163 rbac is enabled7164 generates a Kubeclient resource for the ClusterRoleBinding for tiller7165 binds the account in #service_account_resource7166 rbac is not enabled7167 generates nothing7168InstanceConfiguration7169 without cache7170 #settings7171 #ssh_algorithms_hashes7172 does not return anything if file does not exist7173 does not return anything if file is empty7174 returns the md5 and sha256 if file valid and exists7175 includes all algorithms7176 does not include disabled algorithm7177 #host7178 returns current instance host7179 #gitlab_pages7180 returns Settings.pages7181 returns the GitLab's pages host ip address7182 returns the ip address as nil if the domain is invalid7183 returns the ip address of the domain7184 #size_limits7185 returns size limits from application settings7186 returns nil if receive_max_input_size not set7187 returns nil if set to 0 (unlimited)7188 #package_file_size_limits7189 returns package file size limits7190 #rate_limits7191 returns rate limits from application settings7192 with cache7193 caches settings content7194 cached settings7195 expires after EXPIRATION_TIME7196Gitlab::Email::Handler::UnsubscribeHandler7197 when email key7198 matches the new format7199 matches the legacy format7200 doesn't match either format7201 when notification concerns a commit7202 handler does not raise an error7203 user is unsubscribed7204 leaves user unsubscribed7205 user is subscribed7206 unsubscribes user from notable7207 when using old style unsubscribe link7208 unsubscribes user from notable7209 when the noteable could not be found7210 raises a NoteableNotFoundError7211 when no sent notification for the mail key could be found7212 raises a SentNotificationNotFoundError7213Ci::PrometheusMetrics::ObserveHistogramsService7214 with empty data7215 does not raise errors7216 observes metrics successfully7217 increments the metrics7218 returns an empty body and status code7219 with unknown histograms7220 raises ActiveRecord::RecordNotFound error7221Gitlab::Usage::ServicePing::InstrumentedPayload7222 when building service ping with values7223 builds the service ping payload for the metrics key_paths7224 when building service ping with instrumentations7225 builds the service ping payload for the metrics key_paths7226 when missing instrumentation class7227 returns empty hash7228projects/merge_requests/edit.html.haml7229 when a merge request without fork7230 shows editable fields7231 when a merge request with an existing source project is closed7232 shows editable fields7233Types::BaseEnum7234 adds a formatted `deprecated_reason` to the subject7235 appends to the description if given7236 does not append to the description if it is absent7237 adds information about the replacement if provided7238 supports named reasons: renamed7239 supports named reasons: alpha7240 .from_rails_enum7241 contructs the correct values7242 .declarative_enum7243 #graphql_name7244 when the use_name is `true`7245 changes the graphql_name7246 when the use_name is `false`7247 does not change the graphql_name7248 #description7249 when the use_description is `true`7250 changes the description7251 when the use_description is `false`7252 does not change the description7253 #values7254 sets the values defined by the declarative enum7255 .enum7256 adds all enum values to #enum7257 is a HashWithIndefferentAccess7258 validations7259 raises an informative error if `deprecation_reason` is used7260 raises an error if a required property is missing7261 raises an error if milestone is not a String7262Packages::Conan::SearchService7263 #execute7264 with wildcard7265 makes a wildcard query7266 with only wildcard7267 returns empty7268 with no wildcard7269 makes a search using the beginning of the recipe7270 with full recipe match7271 makes an exact search7272 with malicious query7273 returns empty7274Integrations::CreateExternalCrossReferenceWorker7275 has the `until_executed` deduplicate strategy7276 behaves like an idempotent worker7277 is labeled as idempotent7278 performs multiple times sequentially without raising an exception7279 can run multiple times with the same arguments7280 mentionable_type: "Commit", mentionable_id: lazy { commit.id }7281 creates a cross reference7282 mentionable_type: "Issue", mentionable_id: lazy { issue.id }7283 creates a cross reference7284 mentionable_type: "MergeRequest", mentionable_id: lazy { merge_request.id }7285 creates a cross reference7286 mentionable_type: "Note", mentionable_id: lazy { note.id }7287 creates a cross reference7288 mentionable_type: "Snippet", mentionable_id: lazy { snippet.id }7289 creates a cross reference7290 error handling7291 project_id does not exist7292 behaves like does not create a cross reference7293 does not create a cross reference7294 author_id does not exist7295 behaves like does not create a cross reference7296 does not create a cross reference7297 mentionable_id does not exist7298 behaves like does not create a cross reference7299 does not create a cross reference7300 mentionable_type is not a Mentionable7301 behaves like does not create a cross reference7302 does not create a cross reference7303 mentionable_type is not a defined constant7304 behaves like does not create a cross reference7305 does not create a cross reference7306 mentionable is a Commit and mentionable_id does not exist7307 behaves like does not create a cross reference7308 does not create a cross reference7309HangoutsChat::Sender Gitlab::HTTP override7310 HangoutsChat::Sender::HTTP#post7311 calls Gitlab::HTTP.post with default protection settings7312 behaves like a request using Gitlab::UrlBlocker7313 when local requests are not allowed7314 allows an external request with http7315 allows an external request with https7316 raises error when it is a request that resolves to a local address7317 raises error when it is a request that resolves to a localhost address7318 raises error when it is a request to local address7319 raises error when it is a request to localhost address7320 when port different from URL scheme is used7321 allows the request7322 raises error when it is a request to local address7323 raises error when it is a request to localhost address7324 when DNS rebinding protection is disabled7325 allows the request7326 when http(s) proxy environment variable is set7327 allows the request7328 when local requests are allowed7329 allows an external request7330 allows an external request that resolves to a local address7331 allows an external request that resolves to a localhost address7332 allows a local address request7333 allows a localhost address request7334Gitlab::FogbugzImport::Importer7335 imports bugs7336 imports opened bugs7337 imports closed bugs7338 verify url7339 when host is localhost7340 does not allow localhost requests7341 when host is on local network7342 does not allow localhost requests7343 when host is ftp protocol7344 only accept http and https requests7345IssueCollection7346 #collection7347 returns the issues in the same order as the input Array7348 #updatable_by_user7349 using an admin user7350 returns all issues7351 using a user that has no access to the project7352 returns no issues when the user is not an assignee or author7353 returns the issues the user is assigned to7354 returns the issues for which the user is the author7355 using a user that has reporter access to the project7356 returns the issues of the project7357 using a user that is an owner of a project7358 returns the issues of the project7359 #visible_to7360 is an alias for updatable_by_user7361Gitlab::MarkerRange7362 is expected to eq 1..107363 behaves like a Range7364 #mode7365 is expected to be nil7366 when mode is provided7367 is expected to eq :deletion7368 #to_range7369 is expected to eq 1..107370 when mode is provided7371 is omitted during transformation7372 .from_range7373 converts Range to MarkerRange object7374 keeps correct range7375 when range excludes end7376 keeps correct range7377 when range is already a MarkerRange7378 is expected to equal 1, 2, 3, 4, 5, 6, 7, 8, 9, and 107379 #==7380 is expected to be truthy7381 when marker ranges have different modes7382 is expected to be falsey7383 when marker ranges have different ranges7384 is expected to be falsey7385 when marker ranges is a simple range7386 is expected to be falsey7387API::Entities::Project7388 .service_desk_address7389 when a user can admin issues7390 is present7391 when a user can not admin project7392 is empty7393 .shared_with_groups7394 when the current user does not have access to the group7395 is empty7396 when the current user has access to the group7397 contains information about the shared group7398Database::BatchedBackgroundMigration::CiDatabaseWorker7399 behaves like it runs batched background migration jobs7400 defining the job attributes7401 defines the data_consistency as always7402 defines the feature_category as database7403 defines the idempotency as true7404 .tracking_database7405 does not raise an error7406 overrides the method to return the tracking database7407 .lease_key7408 does not raise an error7409 returns the lease key7410 .enabled?7411 does not raise an error7412 returns true7413 #perform7414 when the base model does not exist7415 does nothing (PENDING: because the base model for ci exists)7416 logs a message indicating execution is skipped (PENDING: because the base model for ci exists)7417 when the base model does exist7418 when the feature flag is disabled7419 does nothing7420 when the feature flag is enabled7421 when no active migrations exist7422 does nothing7423 when active migrations exist7424 always cleans up the exclusive lease7425 receives the correct connection7426 when the reloaded migration is no longer active7427 does not run the migration7428 when the interval has not elapsed7429 does not run the migration7430 when the reloaded migration is still active and the interval has elapsed7431 runs the migration7432 when the calculated timeout is less than the minimum allowed7433 sets the lease timeout to the minimum value7434Gitlab::APIAuthentication::Builder7435 #build7436 behaves like builds the correct result7437 with 1 token type(s) and 1 sent through(s)7438 works when passed together7439 works when token types are passed separately7440 works when sent throughs are passed separately7441 works when token types and sent throughs are passed separately7442 behaves like builds the correct result7443 with 1 token type(s) and 2 sent through(s)7444 works when passed together7445 works when token types are passed separately7446 works when sent throughs are passed separately7447 works when token types and sent throughs are passed separately7448 behaves like builds the correct result7449 with 2 token type(s) and 1 sent through(s)7450 works when passed together7451 works when token types are passed separately7452 works when sent throughs are passed separately7453 works when token types and sent throughs are passed separately7454 behaves like builds the correct result7455 with 2 token type(s) and 2 sent through(s)7456 works when passed together7457 works when token types are passed separately7458 works when sent throughs are passed separately7459 works when token types and sent throughs are passed separately7460 with a complex auth strategy7461 builds the correct result7462Ci::DestroyPipelineService7463 user is owner7464 destroys the pipeline7465 clears the cache7466 does not log an audit event7467 when the pipeline has jobs7468 destroys associated jobs7469 destroys associated stages7470 when job has artifacts7471 destroys associated artifacts7472 inserts deleted objects for object storage files7473 when job has trace chunks7474 destroys associated trace chunks7475 removes data from object store7476 when pipeline is in cancelable state7477 cancels the pipeline7478 user is not owner7479 raises an exception7480Gitlab::Ci::Config::Entry::Product::Parallel7481 with invalid config7482 when it is not a numeric value7483 behaves like invalid config7484 #valid?7485 is expected not to be valid7486 #errors7487 returns error about invalid type7488 when it is lower than two7489 behaves like invalid config7490 #valid?7491 is expected not to be valid7492 #errors7493 returns error about invalid type7494 when it is bigger than 507495 behaves like invalid config7496 #valid?7497 is expected not to be valid7498 #errors7499 returns error about invalid type7500 when it is not an integer7501 behaves like invalid config7502 #valid?7503 is expected not to be valid7504 #errors7505 returns error about invalid type7506 with empty hash config7507 behaves like invalid config7508 #valid?7509 is expected not to be valid7510 #errors7511 returns error about invalid type7512 with numeric config7513 when job is specified7514 #valid?7515 is expected to be valid7516 #value7517 returns job needs configuration7518 when :numeric is not allowed7519 behaves like invalid config7520 #valid?7521 is expected not to be valid7522 #errors7523 returns error about invalid type7524 with matrix builds config7525 when matrix is specified7526 #valid?7527 is expected to be valid7528 #value7529 returns job needs configuration7530 when :matrix is not allowed7531 behaves like invalid config7532 #valid?7533 is expected not to be valid7534 #errors7535 returns error about invalid type7536Gitlab::HookData::GroupBuilder7537 #build7538 data7539 on create7540 is expected to eq "group_create"7541 behaves like includes the required attributes7542 includes the required attributes7543 behaves like does not include old path attributes7544 does not include old path attributes7545 on destroy7546 is expected to eq "group_destroy"7547 behaves like includes the required attributes7548 includes the required attributes7549 behaves like does not include old path attributes7550 does not include old path attributes7551 on rename7552 is expected to eq "group_rename"7553 includes old path details7554 behaves like includes the required attributes7555 includes the required attributes7556Gitlab::Conflict::FileCollection7557 #files7558 returns an array of Conflict::Files7559 #cache7560 specifies a custom namespace with the merge request commit ids7561 #can_be_resolved_in_ui?7562 returns true if conflicts for this collection can be resolved in the UI7563 returns false if conflicts for this collection can't be resolved in the UI7564 caches the result7565 #default_commit_message7566 matches the format of the git CLI commit message7567Packages::UpdatePackageFileService7568 #execute7569 with object storage disabled7570 behaves like updating package file with valid parameters7571 with both parameters set7572 updates the package file accordingly7573 with only file_name set7574 updates the package file accordingly7575 with only package_id set7576 updates the package file accordingly7577 behaves like not updating package with invalid parameters7578 with blank parameters7579 raise an argument error7580 with non persisted package file7581 raise an argument error7582 with object storage enabled7583 behaves like updating package file with valid parameters7584 with both parameters set7585 updates the package file accordingly7586 with only file_name set7587 updates the package file accordingly7588 with only package_id set7589 updates the package file accordingly7590 behaves like not updating package with invalid parameters7591 with blank parameters7592 raise an argument error7593 with non persisted package file7594 raise an argument error7595Environments::AutoStopWorker7596 stops the environment7597 executes the stop action7598 when user does not have a permission to play the stop action7599 raises an error7600 when the environment has already been stopped7601 does not execute the stop action7602 when there are no deployments and associted stop actions7603 stops the environment7604 when there are no corresponding environment record7605 ignores the invalid record7606Packages::Debian::GroupArchitecture7607 behaves like Debian Distribution Architecture7608 relationships7609 is expected to belong to distribution class_name => Packages::Debian::GroupDistribution required: false inverse_of => architectures7610 is expected to have many files class_name => Packages::Debian::GroupComponentFile inverse_of => architecture7611 validations7612 #distribution7613 is expected to validate that :distribution cannot be empty/falsy7614 #name7615 is expected to validate that :name cannot be empty/falsy7616 is expected to allow :name to be ‹"amd64"›7617 is expected to allow :name to be ‹"kfreebsd-i386"›7618 is expected not to allow :name to be ‹"-a"›7619 is expected not to allow :name to be ‹"AMD64"›7620 scopes7621 .ordered_by_name7622 is expected to contain exactly #<Packages::Debian::GroupArchitecture id: 5, created_at: "2022-04-28 09:46:05.489671000 +0000", updated_at: "2022-04-28 09:46:05.489671000 +0000", distribution_id: 3, name: "name1"> and #<Packages::Debian::GroupArchitecture id: 6, created_at: "2022-04-28 09:46:05.494295901 +0000", updated_at: "2022-04-28 09:46:05.494295901 +0000", distribution_id: 3, name: "name2">7623 .with_distribution7624 is expected to contain exactly #<Packages::Debian::GroupArchitecture id: 5, created_at: "2022-04-28 09:46:05.489671000 +0000", updated_at: "2022-04-28 09:46:05.489671000 +0000", distribution_id: 3, name: "name1"> and #<Packages::Debian::GroupArchitecture id: 6, created_at: "2022-04-28 09:46:05.494295901 +0000", updated_at: "2022-04-28 09:46:05.494295901 +0000", distribution_id: 3, name: "name2">7625 .with_name7626 is expected to contain exactly #<Packages::Debian::GroupArchitecture id: 5, created_at: "2022-04-28 09:46:05.489671000 +0000", updated_at: "2022-04-28 09:46:05.489671000 +0000", distribution_id: 3, name: "name1"> and #<Packages::Debian::GroupArchitecture id: 7, created_at: "2022-04-28 09:46:05.565708742 +0000", updated_at: "2022-04-28 09:46:05.565708742 +0000", distribution_id: 4, name: "name1">7627Gitlab::Experiment::Rollout::Feature7628 #enabled?7629 is enabled when all criteria are met7630 isn't enabled if the feature definition doesn't exist7631 isn't enabled if we're not in dev or dotcom environments7632 isn't enabled if the feature flag state is :off7633 isn't enabled if the gitlab_experiment feature flag is false7634 #execute_assignment7635 uses the default value as specified in the yaml7636 returns an assigned name7637 #flipper_id7638 returns the expected flipper id if the experiment doesn't provide one7639 lets the experiment provide a flipper id so it can override the default7640ManualInverseAssociation7641 .manual_inverse_association7642 when the relation exists7643 loads the relation7644 does not perform extra queries after loading7645 allows reloading the relation7646 when the relation does not return a value7647 does not try to set an inverse7648Gitlab::UsageDataNonSqlMetrics7649 #add_metric7650 computes the metric value for given metric7651 .count7652 returns default value for count7653 .distinct_count7654 returns default value for distinct count7655 .estimate_batch_distinct_count7656 returns default value for estimate_batch_distinct_count7657 .sum7658 returns default value for sum7659 .histogram7660 returns default value for histogram7661 min/max methods7662 model: User(id: integer, email: string, encrypted_password: string, reset_password_token: string, reset_password_sent_at: datetime, remember_created_at: datetime, sign_in_count: integer, current_sign_in_at: datetime, last_sign_in_at: datetime, current_sign_in_ip: string, last_sign_in_ip: string, created_at: datetime, updated_at: datetime, name: string, admin: boolean, projects_limit: integer, skype: string, linkedin: string, twitter: string, failed_attempts: integer, locked_at: datetime, username: string, can_create_group: boolean, can_create_team: boolean, state: string, color_scheme_id: integer, password_expires_at: datetime, created_by_id: integer, last_credential_check_at: datetime, avatar: string, confirmation_token: string, confirmed_at: datetime, confirmation_sent_at: datetime, unconfirmed_email: string, hide_no_ssh_key: boolean, website_url: string, admin_email_unsubscribed_at: datetime, notification_email: string, hide_no_password: boolean, password_automatically_set: boolean, location: string, encrypted_otp_secret: string, encrypted_otp_secret_iv: string, encrypted_otp_secret_salt: string, otp_required_for_login: boolean, otp_backup_codes: text, public_email: string, dashboard: integer, project_view: integer, consumed_timestep: integer, layout: integer, hide_project_limit: boolean, note: text, unlock_token: string, otp_grace_period_started_at: datetime, external: boolean, incoming_email_token: string, organization: string, auditor: boolean, require_two_factor_authentication_from_group: boolean, two_factor_grace_period: integer, last_activity_on: date, notified_of_own_activity: boolean, preferred_language: string, email_opted_in: boolean, email_opted_in_ip: string, email_opted_in_source_id: integer, email_opted_in_at: datetime, theme_id: integer, accepted_term_id: integer, feed_token: string, private_profile: boolean, roadmap_layout: integer, include_private_contributions: boolean, commit_email: string, group_view: integer, managing_group_id: integer, first_name: string, last_name: string, static_object_token: string, role: integer, user_type: integer, static_object_token_encrypted: text, otp_secret_expires_at: datetime_with_timezone, otp_secret: ), result: nil7663 returns nil7664 model: Issue(id: integer, title: string, author_id: integer, project_id: integer, created_at: datetime, updated_at: datetime, description: text, milestone_id: integer, iid: integer, updated_by_id: integer, weight: integer, confidential: boolean, due_date: date, moved_to_id: integer, lock_version: integer, title_html: text, description_html: text, time_estimate: integer, relative_position: integer, service_desk_reply_to: string, cached_markdown_version: integer, last_edited_at: datetime, last_edited_by_id: integer, discussion_locked: boolean, closed_at: datetime_with_timezone, closed_by_id: integer, state_id: integer, duplicated_to_id: integer, promoted_to_epic_id: integer, health_status: integer, external_key: string, sprint_id: integer, issue_type: integer, blocking_issues_count: integer, upvotes_count: integer, work_item_type_id: integer), result: nil7665 returns nil7666 model: Deployment(id: integer, iid: integer, project_id: integer, environment_id: integer, ref: string, tag: boolean, sha: string, user_id: integer, deployable_type: string, created_at: datetime, updated_at: datetime, on_stop: string, status: integer, finished_at: datetime_with_timezone, cluster_id: integer, deployable_id: integer, archived: boolean), result: nil7667 returns nil7668 model: Project(id: integer, name: string, path: string, description: text, created_at: datetime, updated_at: datetime, creator_id: integer, namespace_id: integer, last_activity_at: datetime, import_url: string, visibility_level: integer, archived: boolean, avatar: string, merge_requests_template: text, star_count: integer, merge_requests_rebase_enabled: boolean, import_type: string, import_source: string, approvals_before_merge: integer, reset_approvals_on_push: boolean, merge_requests_ff_only_enabled: boolean, issues_template: text, mirror: boolean, mirror_user_id: integer, shared_runners_enabled: boolean, runners_token: string, build_allow_git_fetch: boolean, build_timeout: integer, mirror_trigger_builds: boolean, pending_delete: boolean, public_builds: boolean, last_repository_check_failed: boolean, last_repository_check_at: datetime, only_allow_merge_if_pipeline_succeeds: boolean, has_external_issue_tracker: boolean, repository_storage: string, repository_read_only: boolean, request_access_enabled: boolean, has_external_wiki: boolean, ci_config_path: string, lfs_enabled: boolean, description_html: text, only_allow_merge_if_all_discussions_are_resolved: boolean, repository_size_limit: integer, printing_merge_request_link_enabled: boolean, auto_cancel_pending_pipelines: integer, service_desk_enabled: boolean, cached_markdown_version: integer, delete_error: text, last_repository_updated_at: datetime, disable_overriding_approvers_per_merge_request: boolean, storage_version: integer, resolve_outdated_diff_discussions: boolean, remote_mirror_available_overridden: boolean, only_mirror_protected_branches: boolean, pull_mirror_available_overridden: boolean, jobs_cache_index: integer, external_authorization_classification_label: string, mirror_overwrites_diverged_branches: boolean, pages_https_only: boolean, external_webhook_token: string, packages_enabled: boolean, merge_requests_author_approval: boolean, pool_repository_id: integer, runners_token_encrypted: string, bfg_object_map: string, detected_repository_languages: boolean, merge_requests_disable_committers_approval: boolean, require_password_to_approve: boolean, emails_disabled: boolean, max_pages_size: integer, max_artifacts_size: integer, remove_source_branch_after_merge: boolean, marked_for_deletion_at: date, marked_for_deletion_by_user_id: integer, autoclose_referenced_issues: boolean, suggestion_commit_message: string, project_namespace_id: integer, hidden: boolean), result: nil7669 returns nil7670Gitlab::Cache::Helpers7671 #render_cached7672 single object7673 behaves like object cache helper7674 is expected to be a kind of Gitlab::Json::PrecompiledJson7675 uses the presenter7676 is valid JSON7677 fetches from the cache7678 when a cache context is supplied7679 uses the context to augment the cache key7680 when expires_in is supplied7681 sets the expiry when accessing the cache7682 collection of objects7683 behaves like collection cache helper7684 is expected to be a kind of Gitlab::Json::PrecompiledJson7685 uses the presenter7686 is valid JSON7687 fetches from the cache7688 when a cache context is supplied7689 uses the context to augment the cache key7690 expires_in is supplied7691 sets the expiry when accessing the cache7692Gitlab::Database::LoadBalancing::ServiceDiscovery7693 #initialize7694 :record_type7695 with a supported type7696 is expected to eq 337697 with an unsupported type7698 raises an argument error7699 #start7700 starts service discovery in a new thread7701 #perform_service_discovery7702 without any failures7703 runs once7704 with failures7705 retries service discovery when under the retry limit7706 does not retry service discovery after exceeding the limit7707 reports exceptions to Sentry7708 #refresh_if_necessary7709 when a refresh is necessary7710 refreshes the load balancer hosts7711 when a refresh is not necessary7712 does not refresh the load balancer hosts7713 #replace_hosts7714 replaces the hosts of the load balancer7715 disconnects the old connections7716 #addresses_from_dns7717 with an A record7718 returns a TTL and ordered list of IP addresses7719 with an SRV record7720 returns a TTL and ordered list of hosts7721 when the resolver returns an empty response7722 raises EmptyDnsResponse7723 #new_wait_time_for7724 returns the DNS TTL if greater than the default interval7725 returns the default interval if greater than the DNS TTL7726 returns the default interval if no resources are given7727 #addresses_from_load_balancer7728 returns the ordered host names of the load balancer7729Gitlab::GithubImport::Importer::RepositoryImporter7730 #import_wiki?7731 returns true if the wiki should be imported7732 returns false if the GitHub wiki is disabled7733 returns false if the wiki has already been imported7734 #execute7735 imports the repository and wiki7736 does not import the repository if it already exists7737 does not import the wiki if it is disabled7738 does not import the wiki if the repository could not be imported7739 #import_repository7740 imports the repository7741 #import_wiki_repository7742 imports the wiki repository7743 when it raises a Gitlab::Git::CommandError7744 when the error is not a "repository not exported"7745 creates the wiki and re-raise the exception7746 when the error is a "repository not exported"7747 returns true7748 #update_clone_time7749 sets the timestamp for when the cloning process finished7750Gitlab::Database::Migrations::BatchedBackgroundMigrationHelpers7751 #queue_batched_background_migration7752 creates the database record for the migration7753 when such migration already exists7754 does not create duplicate migration7755 when the job interval is lower than the minimum7756 sets the job interval to the minimum value7757 when additional arguments are passed to the method7758 saves the arguments on the database record7759 when the max_value is not given7760 when records exist in the database7761 creates the record with the current max value7762 creates the record with an active status7763 when the database is empty7764 sets the max value to the min value7765 creates the record with a finished status7766Gitlab::Ci::Matching::BuildMatcher7767 .new7768 when attributes are missing7769 is expected to raise KeyError7770 with attributes7771 is expected to eq true7772 is expected to eq ["tag1", "tag2"]7773 is expected to eq [1, 2, 3]7774 is expected to eq :my_project7775 #protected?7776 when protected is set to true7777 is expected to be truthy7778 when protected is set to false7779 is expected to be falsey7780 #has_tags?7781 when tags are present7782 is expected to be truthy7783 when tags are empty7784 is expected to be falsey7785Ci::EnsureStageService#execute7786 when build has a stage assigned7787 does not create a new stage7788 when build does not have a stage assigned7789 creates a new stage7790 when build is invalid7791 does not create a new stage7792 when new stage can not be created because of an exception7793 retries up to two times7794ProjectCacheWorker7795 #perform7796 with a non-existing project7797 does nothing7798 with an existing project without a repository7799 updates statistics but does not refresh the method cashes7800 with an existing project7801 refreshes the method caches7802 with statistics disabled7803 does not update the project statistics7804 with statistics7805 updates the project statistics7806 with plain readme7807 refreshes the method caches7808 #update_statistics7809 when a lease could not be obtained7810 does not update the project statistics7811 when a lease could be obtained7812 updates the project statistics twice7813 behaves like an idempotent worker7814 is labeled as idempotent7815 performs multiple times sequentially without raising an exception7816 calls Projects::UpdateStatisticsService service twice7817Gitlab::SidekiqLogging::JSONFormatter7818 with a Hash7819 properly formats timestamps into ISO 8601 form7820 removes jobstr from the hash7821 does not modify the input hash7822 job arguments7823 properly flattens arguments to a String7824 when the arguments are bigger than the maximum allowed7825 keeps args from the front until they exceed the limit7826 when the job has non-integer arguments7827 only allows permitted non-integer arguments through7828 when the job has a non-integer value for retry7829 retry_in_job: 3, retry_in_logs: 37830 logs as the correct integer7831 retry_in_job: true, retry_in_logs: 257832 logs as the correct integer7833 retry_in_job: false, retry_in_logs: 07834 logs as the correct integer7835 retry_in_job: nil, retry_in_logs: 07836 logs as the correct integer7837 retry_in_job: "string", retry_in_logs: -17838 logs as the correct integer7839 with a String7840 accepts strings with no changes7841Gitlab::Ci::Reports::ReportsComparer7842 #initialize7843 sets getter for the report comparer7844 return base report7845 return head report7846 #status7847 returns not implemented error7848 when success? is true7849 returns status success7850 when success? is false7851 returns status failed7852 when base_report is nil7853 returns status not_found7854 when head_report is nil7855 returns status not_found7856 #success?7857 returns not implemented error7858 #existing_errors7859 returns not implemented error7860 #resolved_errors7861 returns not implemented error7862 #errors_count7863 returns not implemented error7864 #resolved_count7865 returns not implemented error7866 #total_count7867 returns not implemented error7868 #not_found?7869 when base report is nil7870 is expected to be truthy7871 when base report exists7872 is expected to be falsey7873Mutations::CustomEmoji::Destroy7874 field tests7875 is expected to have graphql arguments :id7876 is expected to have graphql field :custom_emoji7877 #resolve7878 when the user7879 has no permissions7880 behaves like does not delete custom emoji7881 raises exception7882 when the user is developer and not the owner of custom emoji7883 behaves like does not delete custom emoji7884 raises exception7885 when user7886 is maintainer7887 behaves like deletes custom emoji7888 returns deleted custom emoji7889 is owner7890 behaves like deletes custom emoji7891 returns deleted custom emoji7892 is developer and creator of the emoji7893 behaves like deletes custom emoji7894 returns deleted custom emoji7895Bitbucket::Representation::Repo7896 #has_wiki?7897 is expected to be falsey7898 is expected to be truthy7899 #name7900 is expected to eq "test"7901 #valid?7902 is expected to be falsey7903 is expected to be truthy7904 #full_name7905 is expected to eq "test_full"7906 #description7907 is expected to eq "desc"7908 #issues_enabled?7909 is expected to be falsey7910 is expected to be truthy7911 #owner_and_slug7912 is expected to eq ["ben", "test"]7913 #owner7914 is expected to eq "ben"7915 #slug7916 is expected to eq "test"7917 #clone_url7918 builds url7919Gitlab::Ci::Pipeline::Chain::Sequence7920 when one of steps breaks the chain7921 does not process the second step7922 returns a pipeline object7923 when all chains are executed correctly7924 iterates through entire sequence7925 returns a pipeline object7926 adds sequence duration to duration histogram7927 adds step sequence duration to duration histogram7928 records pipeline size by pipeline source in a histogram7929 records active jobs by pipeline plan in a histogram7930Gitlab::Ci::Pipeline::Chain::Validate::Repository7931 when ref and sha exists7932 does not break the chain7933 does not append pipeline errors7934 when ref does not exist7935 breaks the chain7936 adds an error about missing ref7937 when origin ref is a merge request ref7938 does not break the chain7939 does not append pipeline errors7940 when ref is ambiguous7941 breaks the chain7942 adds an error about missing ref7943 when does not have existing SHA set7944 breaks the chain7945 adds an error about missing SHA7946Ci::JobTokenScope::RemoveProjectService7947 #execute7948 behaves like editable job token scope7949 when job token scope is disabled for the given project7950 behaves like returns error7951 returns an error response7952 when user does not have permissions to edit the job token scope7953 behaves like returns error7954 returns an error response7955 when user has permissions to edit the job token scope7956 when target project is not provided7957 behaves like returns error7958 returns an error response7959 when target project is provided7960 when user does not have permissions to read the target project7961 behaves like returns error7962 returns an error response7963 when user has permissions on source and target project7964 removes the project from the scope7965 when target project is same as the source project7966 behaves like returns error7967 returns an error response7968Deployments::LinkMergeRequestWorker7969 #perform7970 links merge requests to the deployment7971 does not link merge requests when the deployment is not found7972 idempotent7973 is labeled as idempotent7974 performs multiple times sequentially without raising an exception7975 links merge requests to deployment7976gitlab:packages namespace rake task7977 migrate7978 object storage disabled7979 doesn't migrate files7980 object storage enabled7981 migrates local file to object storage7982Terraform.latest.gitlab-ci.yml7983 the created pipeline7984 on master branch7985 creates init, validate and build jobs7986 outside the master branch7987 does not creates a deploy and a test job7988Ci::PipelineArtifacts::CreateQualityReportWorker7989 #perform7990 when pipeline exists7991 calls pipeline codequality report service7992 behaves like an idempotent worker7993 is labeled as idempotent7994 performs multiple times sequentially without raising an exception7995 does not create another pipeline artifact if already has one7996 when pipeline does not exist7997 does not call pipeline codequality report service7998AuditEventSaveType7999 #should_save_database? and #should_save_stream?8000 query_method: :should_save_stream?, query_param: :stream, result: true8001 returns corresponding results according to the query_method and query_param8002 query_method: :should_save_stream?, query_param: :database_and_stream, result: true8003 returns corresponding results according to the query_method and query_param8004 query_method: :should_save_database?, query_param: :database, result: true8005 returns corresponding results according to the query_method and query_param8006 query_method: :should_save_database?, query_param: :database_and_stream, result: true8007 returns corresponding results according to the query_method and query_param8008 query_method: :should_save_stream?, query_param: :database, result: false8009 returns corresponding results according to the query_method and query_param8010 query_method: :should_save_stream?, query_param: nil, result: false8011 returns corresponding results according to the query_method and query_param8012 query_method: :should_save_database?, query_param: :stream, result: false8013 returns corresponding results according to the query_method and query_param8014 query_method: :should_save_database?, query_param: nil, result: false8015 returns corresponding results according to the query_method and query_param8016Tags::DestroyService8017 #execute8018 removes the tag8019 calls the RefDeleteUnlockArtifactsWorker8020 when there is an associated release on the tag8021 destroys the release8022Gitlab::Utils::DelegatorOverride8023 .delegator_target8024 sets the delegator target to the validator8025 when the class does not inherit SimpleDelegator8026 raises an error8027 .delegator_override8028 adds the method name to the allowlist8029 .delegator_override_with8030 adds the method names of the module to the allowlist8031 .verify!8032 does not raise an error when an override is in allowlist8033 raises an error when there is an override8034Mutations::Ci::JobTokenScope::AddProject8035 #resolve8036 when user is not logged in8037 raises error8038 when user is logged in8039 when user does not have permissions to admin project8040 raises error8041 when user has permissions to admin project and read target project8042 adds target project to the job token scope8043 when the service returns an error8044 returns an error response8045ErrorTrackingIssueLinkWorker8046 #perform8047 creates a link between an issue and a Sentry issue in Sentry8048 when issue is unavailable8049 behaves like makes no external API requests8050 takes no action8051 when project does not have error tracking configured8052 behaves like makes no external API requests8053 takes no action8054 when the issue is not linked to a Sentry issue in GitLab8055 behaves like makes no external API requests8056 takes no action8057 when Sentry disabled the GitLab integration8058 behaves like attempts to create a link via plugin8059 takes no action8060 when Sentry the GitLab integration is for another project8061 behaves like attempts to create a link via plugin8062 takes no action8063 when Sentry repos request errors8064 falls back to creating a link via plugin8065Banzai::Filter::ColorFilter8066 inserts color chip for supported color format #1238067 inserts color chip for supported color format #12348068 inserts color chip for supported color format #1234568069 inserts color chip for supported color format #123456788070 inserts color chip for supported color format rgb(0,0,0)8071 inserts color chip for supported color format RGB(0, 0, 0)8072 inserts color chip for supported color format rgba(0,0,0,1)8073 inserts color chip for supported color format RGBA(0,0,0,0.7)8074 inserts color chip for supported color format hsl(270,30%,50%)8075 inserts color chip for supported color format HSLA(270, 30%, 50%, .7)8076 ignores valid color code without backticks(code tags)8077 ignores valid color code with prepended space8078 ignores valid color code with appended space8079 ignores valid color code surrounded by spaces8080 ignores invalid color code8081Gitlab::Unicode8082 (?-mix:\p{Bidi Control})8083 bidi_string: "", match: true8084 matches only the bidi characters8085 bidi_string: "", match: true8086 matches only the bidi characters8087 bidi_string: "", match: true8088 matches only the bidi characters8089 bidi_string: "", match: true8090 matches only the bidi characters8091 bidi_string: "", match: true8092 matches only the bidi characters8093 bidi_string: "", match: true8094 matches only the bidi characters8095 bidi_string: "", match: true8096 matches only the bidi characters8097 bidi_string: "", match: true8098 matches only the bidi characters8099 bidi_string: "", match: true8100 matches only the bidi characters8101 bidi_string: "foobar", match: true8102 matches only the bidi characters8103 bidi_string: "", match: false8104 matches only the bidi characters8105 bidi_string: "foo", match: false8106 matches only the bidi characters8107 bidi_string: "✓", match: false8108 matches only the bidi characters8109DesignManagement::CopyDesignCollection::QueueService8110 returns an error if user does not have permission8111 when user has permission8112 returns an error if design collection copy_state is not queuable8113 sets the design collection copy state8114 queues a DesignManagement::CopyDesignCollectionWorker8115 returns success8116Autocomplete::GroupFinder8117 #execute8118 with a project8119 returns nil8120 without a group ID8121 returns nil8122 with an empty String as the group ID8123 returns nil8124 without a project and with a group ID8125 raises ActiveRecord::RecordNotFound if the group does not exist8126 raises ActiveRecord::RecordNotFound if the user can not read the group8127 raises ActiveRecord::RecordNotFound if an anonymous user can not read the group8128 returns the group if it exists and is readable8129RuboCop::Cop::Migration::AddReference8130 when outside of a migration8131 does not register any offenses8132 when in a migration8133 when the table existed before8134 registers an offense when using add_reference8135 registers an offense when using add_reference with index enabled8136 registers an offense if only a different table was created8137 when creating the table at the same time8138 registers an offense when using add_reference without index8139 registers an offense when using add_reference index disabled8140 does not register an offense when using add_reference with index enabled8141 does not register an offense when the index is unique8142Ci::ExternalPullRequests::CreatePipelineService8143 #execute8144 when pull request is open8145 when source sha is the head of the source branch8146 enqueues Ci::ExternalPullRequests::CreatePipelineWorker8147 when source sha is not the head of the source branch (force push upon rebase)8148 does nothing8149 when pull request is not opened8150 does nothing8151Gitlab::LegacyGithubImport::CommentFormatter8152 #attributes8153 when do not reference a portion of the diff8154 returns formatted attributes8155 when on a portion of the diff8156 returns formatted attributes8157 when author is a GitLab user8158 returns GitLab user id associated with GitHub id as author_id8159 returns GitLab user id associated with GitHub email as author_id8160 returns note without created at tag line8161AlertManagement::AlertPresenter8162 #issue_description8163 with an empty payload8164 is expected to eq "**Start time:** 28 April 2022, 9:46AM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace1394/project1393/-/alert_management/2/details\n"8165 with optional alert attributes8166 is expected to eq "**Start time:** 28 April 2022, 9:46AM (UTC) \n**Severity:** critical \n**full_query:** `metric > 1... et. \n**GitLab alert:** http://localhost/namespace1394/project1393/-/alert_management/3/details\n"8167 with incident markdown8168 is expected to eq "**Start time:** 28 April 2022, 9:46AM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace1394/project1393/-/alert_management/2/details\n\n\n---\n\n**`markdown example`**"8169 with metrics_dashboard_url8170 is expected to eq "**Start time:** 28 April 2022, 9:46AM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace1394/project1393/-/alert_management/2/details\n\n[](https://gitlab.com/metrics)"8171 #start_time8172 formats the start time of the alert8173 #details_url8174 returns the details URL8175 #details8176 renders the payload as inline hash8177Security::CiConfiguration::SastIacCreateService8178 #execute8179 user does not belong to project8180 returns an error status8181 does not track a snowplow event8182 user belongs to project8183 does track the snowplow event8184 raises exception if the user does not have permission to create a new branch8185 when exception is raised8186 when branch was created8187 tries to rm branch8188 when branch was not created8189 does not try to rm branch8190 with no parameters8191 returns the path to create a new merge request8192 when the project has a non-default ci config file8193 does track the snowplow event8194X509CertificateRevokeWorker8195 #perform8196 with a revoked certificate8197 is labeled as idempotent8198 performs multiple times sequentially without raising an exception8199 executes the revoke service8200 executes the revoke service8201PagesDomainVerificationCronWorker8202 #perform8203 does nothing if the database is read-only8204 enqueues a PagesDomainVerificationWorker for domains needing verification8205 behaves like a pages cronjob scheduling jobs with context8206 schedules the renewal with a context8207 with RequestStore enabled8208 does not cause extra queries for multiple domains8209Gitlab::MailRoom::Authenticator8210 #verify_api_request8211 verify a valid token8212 returns the decoded payload8213 verify an invalid token8214 returns false8215 verify a valid token but wrong mailbox type8216 returns false8217 verify a valid token but wrong issuer8218 returns false8219 verify a valid token but expired8220 returns false8221 verify a valid token but wrong header field8222 returns false8223 verify headers for a disabled mailbox type8224 returns false8225 verify headers for a non-existing mailbox type8226 returns false8227 #secret8228 the secret is valid8229 returns the memorized secret from a file8230 the secret file is not configured8231 raises a SecretConfigurationError exception8232 the secret file not found8233 raises a SecretConfigurationError exception8234Gitlab::GithubImport::ObjectCounter8235 validates the operation being incremented8236 increments the counter and saves the key to be listed in the summary later8237 does not increment the counter if the given value is <= 08238 expires etag cache of relevant realtime change endpoints on increment8239GoogleCloud::CreateServiceAccountsService8240 #execute8241 creates unprotected vars8242 creates protected vars8243Aws::Role8244 is expected to belong to user required: false8245 is expected to validate that the length of :role_external_id is between 1 and 648246 custom validations8247 :role_arn8248 length is zero8249 is expected to be falsey8250 length is longer than 20488251 is expected to be falsey8252 ARN is valid8253 is expected to be truthy8254 ARN is nil8255 is expected to be truthy8256 callbacks8257 #ensure_role_external_id!8258 for a new record8259 calls #ensure_role_external_id!8260 for an existing record8261 does not call #ensure_role_external_id!8262 #ensure_role_external_id!8263 role_external_id is blank8264 generates an external ID and assigns it to the record8265 role_external_id is already set8266 does not change the existing external id8267Gitlab::Ci::Status::Canceled8268 #text8269 is expected to eq "canceled"8270 #label8271 is expected to eq "canceled"8272 #icon8273 is expected to eq "status_canceled"8274 #favicon8275 is expected to eq "favicon_status_canceled"8276 #group8277 is expected to eq "canceled"8278 #details_path8279 is expected to be nil8280MigrateExternalDiffsWorker8281 #perform8282 migrates the listed diff8283 does nothing if the diff is missing8284Gitlab::Database::PartitioningMigrationHelpers::BackfillPartitionedTable#perform8285 when the destination table exists8286WARNING: Active Record does not support composite primary key.8287_test_partitioning_backfills_part has composite primary key. Composite primary key is ignored.8288 copies data into the destination table idempotently8289 breaks the assigned batch into smaller batches8290 pauses after copying each sub-batch8291 marks each job record as succeeded after processing8292 returns the number of job records marked as succeeded8293 when the job is run within an explicit transaction block8294 raises an error before copying data8295 when the destination table does not exist8296 exits without attempting to copy data8297 logs a warning message that the job was skipped8298WikiPageVersionHelper8299 #wiki_page_version_author_url8300 when user exists8301 returns the link to the user profile8302 when user does not exist8303 returns the mailto link8304 #wiki_page_version_author_avatar8305 returns the user avatar8306 #wiki_page_version_author_header8307 when user exists8308 renders commit header with user info8309 when user does not exist8310 renders commit header with info from commit8311 when user info has XSS8312 sets the right href and escapes HTML chars8313Gitlab::Database::Partitioning::ReplaceTable#perform8314 replaces the current table, archiving the old8315 transfers the primary key sequence to the replacement table8316 renames the primary key constraints to match the new table names8317 when the table has partitions8318 renames the partitions to match the new table name8319 renames the primary key constraints to match the new partition names8320Banzai::FilterArray8321 #insert_after8322 inserts an element after a provided element8323 inserts an element at the end when the provided element does not exist8324 #insert_before8325 inserts an element before a provided element8326 inserts an element at the beginning when the provided element does not exist8327RuboCop::Cop::Migration::AddConcurrentForeignKey8328 when outside of a migration8329 does not register any offenses8330 when in a migration8331 registers an offense when using add_foreign_key8332 does not register an offense when a `NOT VALID` foreign key is added8333 does not register an offense when `add_foreign_key` is within `with_lock_retries`8334Webauthn::RegisterService8335 #execute8336 returns a registration if challenge matches8337 returns an error if challenge does not match8338BulkImports::ExportRequestWorker8339 #perform8340 when entity is group8341 is labeled as idempotent8342 performs multiple times sequentially without raising an exception8343 requests relations export8344 when network error is raised8345 logs export failure and marks entity as failed8346 when entity is project8347 is labeled as idempotent8348 performs multiple times sequentially without raising an exception8349 requests relations export8350 when network error is raised8351 logs export failure and marks entity as failed8352Releases::EvidencePipelineFinder#execute8353 when the tag is passed8354 returns the evidence pipeline8355 when the ref is passed8356 returns the evidence pipeline8357 empty params8358 returns nil8359 params[:evidence_pipeline] is present8360 returns the passed evidence pipeline8361Feature::Gitaly8362 .enabled?8363 when the flag is set globally8364 when the gate is closed8365 returns false8366 when the flag defaults to on8367 returns true8368 when the flag is enabled for a particular project8369 returns true for that project8370 returns false for any other project8371 returns false when no project is passed8372 .server_feature_flags8373 returns a hash of flags starting with the prefix, with dashes instead of underscores8374 when a project is passed8375 returns the value for the flag on the given project8376 when table does not exist8377 returns an empty Hash8378Gitlab::Database::Migrations::Observers::QueryStatistics8379 #before8380 with pgss available8381 resets pg_stat_statements8382 without pgss available8383 executes nothing8384 #record8385 with pgss available8386 fetches data from pg_stat_statements and stores on the observation8387 without pgss available8388 executes nothing8389Gitlab::Jira::Dvcs8390 .encode_slash8391 replaces slash character8392 ignores path without slash8393 .decode_slash8394 replaces slash character8395 ignores path without slash8396 .encode_project_name8397 root group8398 returns project path8399 nested group8400 returns encoded project full path8401 .restore_full_path8402 project name is an encoded full path8403 returns decoded project path8404 project name is not an encoded full path8405 assumes project belongs to root namespace and returns full project path based on passed in namespace8406Resolvers::PaginatedTreeResolver8407 is expected to have nullable GraphQL type TreeConnection8408 #resolve8409 resolves to a collection with a tree object8410 with recursive option8411 resolve to a recursive tree8412 with limited max_page_size8413 resolves to a pagination collection with a tree object8414 when repository does not exist8415 returns nil8416 Cursor pagination8417 returns all tree entries during cursor pagination8418 when cursor is invalid8419 generates an error8420Repositories::TreeFinder8421 #execute8422 returns an array8423 includes 20 items by default8424 accepts a gitaly_pagination argument8425 commit doesn't exist8426 raises an error8427 pagination_params8428 has the per_page number of items8429 doesn't include any of the first page records8430 #total8431 is expected to be a kind of Integer8432 only calculates the total once8433 #commit_exists?8434 ref exists8435 is expected to equal true8436 ref is missing8437 is expected to equal false8438ContainerRepositoryEntity8439 exposes required informations8440 when project is not preset in the request8441 uses project from the object8442 when user can manage repositories8443 exposes destroy_path8444 when user cannot manage repositories8445 does not expose destroy_path8446environments routing8447 routing environment folders8448 when using JSON format8449 correctly matches environment name and JSON format8450 when using HTML format8451 correctly matches environment name and HTML format8452 when using implicit format8453 correctly matches environment name8454admin mode on tasks8455 with a regular user8456 matches the expected admin mode8457 with an admin8458 matches the expected admin mode8459Gitlab::Ci::Config::Entry::Reports::CoverageReport8460 validations8461 when it is valid8462 is expected to be valid8463 is expected to eq {:coverage_format=>"cobertura", :path=>"cobertura-coverage.xml"}8464 with unsupported coverage format8465 is expected not to be valid8466 is expected to include /format must be one of supported formats/8467 without coverage format8468 is expected not to be valid8469 is expected to include /format can't be blank/8470 without path8471 is expected not to be valid8472 is expected to include /path can't be blank/8473 with invalid path8474 is expected not to be valid8475 is expected to include /path should be a string/8476 with unknown keys8477 is expected not to be valid8478 is expected to include /contains unknown keys/8479API::Entities::WikiPage8480 returns the proper encoding for the wiki page content8481 returns the raw wiki page content8482 when render_html param is passed8483 when it is true8484 returns the wiki page content rendered8485 includes the wiki page version in the render context8486 when page is an Ascii document8487 renders the page without errors8488 when it is false8489 returns the raw wiki page content8490Gitlab::Security::ScanConfiguration8491 #available?8492 with a core scanner8493 type: :sast8494 is expected to be truthy8495 type: :sast_iac8496 is expected to be truthy8497 type: :secret_detection8498 is expected to be truthy8499 with custom scanner8500 is expected to be falsey8501 #configured?8502 is expected to be falsey8503 #configuration_path8504 is expected to be nil8505 #meta_info_path8506 is expected to be nil8507 #can_enable_by_merge_request?8508 with a core scanner8509 type: :sast8510 is expected to be truthy8511 type: :sast_iac8512 is expected to be truthy8513 type: :secret_detection8514 is expected to be truthy8515 with a custom scanner8516 is expected to be falsey8517Ci::PipelineSchedulesFinder8518 #execute8519 when the scope is nil8520 selects all pipeline schedules8521 when the scope is active8522 selects only active pipelines8523 when the scope is inactve8524 selects only inactive pipelines8525Gitlab::HTTPConnectionAdapter8526 #connection8527 with use_read_total_timeout option8528 sets up the connection using the Gitlab::NetHttpAdapter8529 when local requests are allowed8530 sets up the connection8531 when local requests are not allowed8532 sets up the connection8533 when it is a request to local network8534 raises error8535 when local request allowed8536 sets up the connection8537 when it is a request to local address8538 raises error8539 when local request allowed8540 sets up the connection8541 when port different from URL scheme is used8542 sets up the addr_port accordingly8543 when DNS rebinding protection is disabled8544 sets up the connection8545 when http(s) environment variable is set8546 sets up the connection8547ErrorTracking::ErrorsFinder8548 #execute8549 is expected to contain exactly #<ErrorTracking::Error id: 1, project_id: 1429, name: "ActionView::MissingTemplate", description: [FI...52 +0000", updated_at: "2022-04-28 09:47:22.224604052 +0000", events_count: 0, status: "unresolved">, #<ErrorTracking::Error id: 2, project_id: 1429, name: "ActionView::MissingTemplate", description: [FI...6741 +0000", updated_at: "2022-04-28 09:47:22.231106741 +0000", events_count: 0, status: "resolved">, and #<ErrorTracking::Error id: 3, project_id: 1429, name: "ActionView::MissingTemplate", description: [FI...71 +0000", updated_at: "2022-04-28 09:47:22.235436271 +0000", events_count: 0, status: "unresolved">8550 with status parameter8551 is expected to contain exactly #<ErrorTracking::Error id: 2, project_id: 1429, name: "ActionView::MissingTemplate", description: [FI...6741 +0000", updated_at: "2022-04-28 09:47:22.231106741 +0000", events_count: 0, status: "resolved">8552 with sort parameter8553 is expected to eq [#<ErrorTracking::Error id: 1, project_id: 1429, name: "ActionView::MissingTemplate", description: [F...1 +0000", updated_at: "2022-04-28 09:47:22.235436271 +0000", events_count: 0, status: "unresolved">]8554 pagination8555 is expected to contain exactly #<ErrorTracking::Error id: 1, project_id: 1429, name: "ActionView::MissingTemplate", description: [FI...52 +0000", updated_at: "2022-04-28 09:47:22.224604052 +0000", events_count: 0, status: "unresolved">8556 is expected to be truthy8557 returns next page by cursor8558Gitlab::Pages::Settings8559 #path8560 is expected to eq "the path"8561 when running under a web server outside of test mode8562 logs a DiskAccessDenied error8563 when local_store settings does not exist yet8564 is expected to eq "the path"8565 when local store exists but legacy storage is disabled8566 logs a DiskAccessDenied error8567Clusters::AgentPolicy8568 rules8569 when developer8570 is expected to be disallowed :admin_cluster8571 when maintainer8572 is expected to be allowed :admin_cluster8573Gitlab::JiraImport::Stage::ImportNotesWorker8574 modules8575 behaves like include import workers modules8576 is expected to includes the ApplicationWorker module8577 is expected to includes the Gitlab::JiraImport::QueueOptions module8578 is expected to includes the Gitlab::JiraImport::ImportWorker module8579 #perform8580 when import did not start8581 behaves like cannot do Jira import8582 does not advance to next stage8583 behaves like does not advance to next stage8584 does not advance to next stage8585 when import started8586 behaves like advance to next stage8587 advances to finish stage8588Gitlab::Graphql::CallsGitaly::FieldExtension8589 when the field calls gitaly8590 when the field has a constant complexity8591 allows the call8592 when the field declares that it calls gitaly8593 allows the call8594 when the field does not have these arguments8595 notices, and raises, mentioning the field8596 when it does not call gitaly8597 does not raise8598 when some field calls gitaly while we were waiting8599 is acceptable if all are accounted for8600 is unacceptable if some of the calls are unaccounted for8601Ci::PipelineConfig8602 is expected to belong to pipeline required: false8603 is expected to validate that :pipeline cannot be empty/falsy8604 is expected to validate that :content cannot be empty/falsy8605Users::Calloutable8606 Associations8607 is expected to belong to user required: false8608 validations8609 is expected to validate that :user cannot be empty/falsy8610 #dismissed_after?8611 returns whether a callout dismissed after specified date8612Types::AwardEmojis::AwardEmojiType8613 is expected to eq "AwardEmoji"8614 is expected to require graphql authorizations :read_emoji8615 is expected to have graphql fields :description, :unicode_version, :emoji, :name, :unicode, and :user8616Gitlab::View::Presenter::Factory8617 #initialize8618 without optional parameters8619 takes a subject and optional params8620 with optional parameters8621 takes a subject and optional params8622 #fabricate!8623 detects the presenter based on the given subject8624 uses the presenter_class if given on #initialize8625Gitlab::Changelog::Release8626 #to_markdown8627 when there are no entries8628 includes a notice about the lack of entries8629 when all data is present8630 includes all data8631 when no merge request is present8632 doesn't include a merge request link8633 when the author is not a contributor8634 doesn't include the author8635 when the author should always be credited8636 includes the author8637 when a category has no entries8638 isn't included in the output8639 when template parser raises an error8640 raises a Changelog error8641 #header_start_position8642 returns a regular expression for finding the start of a release section8643Evidences::MilestoneEntity8644 exposes the expected fields8645 when there are issues linked to this milestone8646 exposes these issues8647 when the release has no milestone8648 exposes an empty array for milestones8649Gitlab::Ci::Build::Prerequisite::Factory8650 .for_build8651 prerequisite is unmet8652 is expected to eq [#<InstanceDouble(Gitlab::Ci::Build::Prerequisite::KubernetesNamespace) (anonymous)>]8653 prerequisite is met8654 is expected to be empty8655Gitlab::Diff::InlineDiffMarker8656 #mark8657 when the rich text is html safe8658 marks the range8659 when the text is not html safe8660 marks the range8661Approval8662 presence validation8663 is expected to validate that :merge_request_id cannot be empty/falsy8664 is expected to validate that :user_id cannot be empty/falsy8665 uniqueness validation8666 is expected to validate that :user_id is case-sensitively unique within the scope of :merge_request_id8667Resolvers::RecentBoardsResolver8668 #resolve8669 when there is no parent8670 returns none if parent is nil8671 when project boards8672 behaves like group and project recent boards resolver8673 calls ::Boards::VisitsFinder8674 avoids N+1 queries8675 returns most recent visited boards8676 returns a set number of boards8677 when group boards8678 behaves like group and project recent boards resolver8679 calls ::Boards::VisitsFinder8680 avoids N+1 queries8681 returns most recent visited boards8682 returns a set number of boards8683Gitlab::Pagination::Keyset::InOperatorOptimization::OrderByColumnData8684 #arel_column8685 delegates to column_expression8686 #column_for_projection8687 returns the expression with AS using the original column name8688 #projection8689 returns the expression with AS using the specified column lias8690IntegrationPolicy8691 when the integration is a prometheus_integration8692 rules8693 is expected to be disallowed :admin_project8694 when maintainer8695 is expected to be allowed :admin_project8696Tooling::Danger::Datateam8697 data team danger8698 with structure.sql changes and no Data Warehouse::Impact Check label8699 aggregate_failures8700 with structure.sql changes and Data Warehouse::Impact Check label8701 aggregate_failures8702 with user model changes8703 aggregate_failures8704 with perfomance indicator changes and no Data Warehouse::Impact Check label8705 aggregate_failures8706 with perfomance indicator changes and Data Warehouse::Impact Check label8707 aggregate_failures8708 with metric file changes and no performance indicator changes8709 aggregate_failures8710 with metric file changes and no performance indicator changes and other label8711 aggregate_failures8712 with performance indicator changes and other label8713 aggregate_failures8714 with performance indicator changes, Data Warehouse::Impact Check and other label8715 aggregate_failures8716 with performance indicator changes and other labels8717 aggregate_failures8718ClusterProvisionWorker8719 #perform8720 when provider type is gcp8721 provision a cluster8722 when provider type is aws8723 provision a cluster8724 when provider type is user8725 does not provision a cluster8726 when cluster does not exist8727 does not provision a cluster8728Backup::FileBackupError8729 with lfs file8730 behaves like includes backup path8731 is expected to respond to #app_files_dir8732 is expected to respond to #backup_tarball8733 expects exception message to include file backup path location8734 expects exception message to include file being back-up8735 with uploads file8736 behaves like includes backup path8737 is expected to respond to #app_files_dir8738 is expected to respond to #backup_tarball8739 expects exception message to include file backup path location8740 expects exception message to include file being back-up8741Resolvers::WorkItemResolver8742 #resolve8743 when the user can read the work item8744 is expected to eq #<WorkItem id:398 namespace1459/project1459#1>8745 when the user can not read the work item8746 raises a resource not available error8747 when the work_items feature flag is disabled8748 is expected to be nil8749Gitlab::CrossProjectAccess8750 #add_check8751 keeps track of the properties to check8752 builds the check correctly8753 merges the checks of a parent class into existing checks of a subclass8754 merges the existing checks of a superclass into the checks of a subclass8755 #find_check8756 returns a check when it was defined for a superclass8757 caches the result for a subclass8758 returns the checks for the closest class if there are more checks available8759Discussions::UnresolveService8760 #execute8761 unresolves the discussion8762 counts the unresolve event8763groups/milestones/index.html.haml8764 behaves like milestone empty states8765 with no milestones8766 shows empty state8767 does not show tabs or searchbar8768 with no open milestones8769 shows tabs and searchbar8770 shows empty state8771 with no closed milestones8772 shows tabs and searchbar8773 shows empty state on closed milestones8774AwardEmojiPresenter8775 #description8776 is expected to eq "thumbs up sign"8777 #unicode8778 is expected to eq "1f44d"8779 #unicode_version8780 is expected to eq "6.0"8781 #emoji8782 is expected to eq "👍"8783 when presenting an award emoji with an invalid name8784 returns nil for all properties8785Ci::Pipelines::HookService8786 #execute_hooks8787 HOOK_NAME8788 is expected to eq :pipeline_hooks8789 with pipeline hooks enabled8790 calls pipeline.project.execute_hooks and pipeline.project.execute_integrations8791 with pipeline hooks and integrations disabled8792 does not call pipeline.project.execute_hooks and pipeline.project.execute_integrations8793ExpirePipelineCacheWorker8794 #perform8795 executes the service8796 doesn't do anything if the pipeline not exist8797 with https://gitlab.com/gitlab-org/gitlab/-/issues/325291 resolved (PENDING: No reason given)8798 behaves like worker with data consistency8799 .get_data_consistency_feature_flag_enabled?8800 returns true8801 .get_data_consistency8802 returns correct data consistency8803Gitlab::Template::MetricsDashboardTemplate8804 .all8805 combines the globals and rest8806 #content8807 loads the full file8808 behaves like file template shared examples8809 .all8810 strips the .metrics-dashboard.yml suffix8811 ensures that the template name is used exactly once8812 .by_category8813 returns sorted results8814 .find8815 returns nil if the file does not exist8816 returns the corresponding object of a valid file8817 #<=>8818 sorts lexicographically8819trusted_proxies8820 with default config8821 preserves private IPs8822 filters out localhost8823 filters out bad values8824 with private IP ranges added8825 filters out private and local IPs8826 with proxy IP added8827 filters out proxy IP8828 handles invalid ip addresses8829Gitlab::GrapeLogging::Loggers::ExceptionLogger8830 .parameters8831 when no exception is available8832 returns an empty hash8833 with a response8834 with a String response8835 logs the response body8836 with an Array response8837 casts all elements to strings8838 with a Rack BodyProxy response8839 logs the response body8840 unauthorized error8841 does not log an api_error field8842 HTTP success8843 does not log an api_error field8844 when an exception is available8845 returns the correct fields8846 with backtrace8847 includes the backtrace8848Gitlab::GithubImport::ParallelImporter8849 .async?8850 returns true8851 .track_start_import8852 tracks the start of import8853 #execute8854 schedules the importing of the repository8855 sets the JID in Redis8856RuboCop::Cop::Gitlab::DelegatePredicateMethods8857 registers offense for single predicate method with allow_nil:true8858 registers offense for multiple predicate methods with allow_nil:true8859 registers no offense for non-predicate method with allow_nil:true8860 registers no offense with predicate method with allow_nil:false8861 registers no offense with predicate method without allow_nil8862Gitlab::Auth::KeyStatusChecker8863 #show_console_message?8864 for an expired key8865 is expected to eq true8866 for a key expiring in the next 7 days8867 is expected to eq true8868 for a key expiring after the next 7 days8869 is expected to eq false8870 for a key that never expires8871 is expected to eq false8872 #console_message8873 for an expired key8874 is expected to eq "INFO: Your SSH key has expired. Please generate a new key."8875 for a key expiring in the next 7 days8876 is expected to eq "INFO: Your SSH key is expiring soon. Please generate a new key."8877 for a key expiring after the next 7 days8878 is expected to be nil8879 for a key that never expires8880 is expected to be nil8881UpdateExternalPullRequestsWorker8882 #perform8883 when ref is a branch8884 runs CreatePipelineService for each pull request matching the source branch and repository8885 when ref is not a branch8886 does nothing8887Gitlab::Kubernetes::Ingress8888 #canary?8889 with canary ingress parameters8890 is expected to be truthy8891 with stable ingress parameters8892 is expected to be falsey8893 #canary_weight8894 with canary ingress parameters8895 is expected to eq 508896 with stable ingress parameters8897 is expected to be nil8898 #name8899 is expected to eq "production-auto-deploy"8900Prometheus::PidProvider8901 .worker_id8902 when running in Sidekiq server mode8903 in a clustered setup8904 is expected to eq "sidekiq_123"8905 in a single process setup8906 is expected to eq "sidekiq"8907 when running in Puma mode8908 when cluster worker id is specified in process name8909 is expected to eq "puma_1"8910 when no worker id is specified in process name8911 is expected to eq "puma_master"8912 when running in unknown mode8913 is expected to eq "process_477"8914Gitlab::Pagination::GitalyKeysetPager8915 .paginate8916 with branch_list_keyset_pagination feature off8917 without keyset pagination option8918 behaves like offset pagination8919 uses offset pagination8920 with keyset pagination option8921 behaves like offset pagination8922 uses offset pagination8923 with branch_list_keyset_pagination feature on8924 without keyset pagination option8925 when first page is requested8926 keyset pagination is used with offset headers8927 when second page is requested8928 behaves like offset pagination8929 uses offset pagination8930 with keyset pagination option8931 when next page could be available8932 uses keyset pagination and adds link headers8933 when the current page is the last page8934 uses keyset pagination without link headers8935TokenAuthenticatableStrategies::Base8936 #token_fields8937 includes the token field8938 with expires_at option8939 includes the token_expires_at field8940 .fabricate8941 when digest stragegy is specified8942 fabricates digest strategy object8943 when encrypted strategy is specified8944 fabricates encrypted strategy object8945 when no strategy is specified8946 fabricates insecure strategy object8947 when incompatible options are provided8948 raises an error8949BulkImports::Groups::Graphql::GetProjectsQuery8950 has a valid query8951 with invalid variables8952 raises an error8953 #data_path8954 returns data path8955 #page_info_path8956 returns pagination information path8957Gitlab::Usage::Metrics::KeyPathProcessor8958 #unflatten_default_path8959 key_path: "uuid", value: nil, expected_hash: {:uuid=>nil}8960 is expected to eq {:uuid=>nil}8961 key_path: "uuid", value: "1111", expected_hash: {:uuid=>"1111"}8962 is expected to eq {:uuid=>"1111"}8963 key_path: "counts.issues", value: nil, expected_hash: {:counts=>{:issues=>nil}}8964 is expected to eq {:counts=>{:issues=>nil}}8965 key_path: "counts.issues", value: 100, expected_hash: {:counts=>{:issues=>100}}8966 is expected to eq {:counts=>{:issues=>100}}8967 key_path: "usage_activity_by_stage.verify.ci_builds", value: 100, expected_hash: {:usage_activity_by_stage=>{:verify=>{:ci_builds=>100}}}8968 is expected to eq {:usage_activity_by_stage=>{:verify=>{:ci_builds=>100}}}8969Gitlab::EmptySearchResults8970 #objects8971 returns an empty array8972 #formatted_count8973 returns a zero8974 #highlight_map8975 returns an empty hash8976 #aggregations8977 returns an empty array8978Gitlab::Ci::Config::Entry::Inherit::Variables8979 validations8980 config: true, valid: true8981 is expected to eq true8982 config: false, valid: true8983 is expected to eq true8984 config: ["A"], valid: true8985 is expected to eq true8986 config: ["A", "B"], valid: true8987 is expected to eq true8988 config: [:image], valid: true8989 is expected to eq true8990 config: [true], valid: false8991 is expected to eq false8992 config: "string", valid: false8993 is expected to eq false8994API::Validations::Validators::FilePath8995 when allowlist is not set8996 behaves like file validation8997 valid file path8998 does not raise a validation error8999 invalid file path9000 raise a validation error9001 behaves like file validation9002 valid file path9003 does not raise a validation error9004 invalid file path9005 raise a validation error9006 when allowlist is set9007 when file path is included in the allowlist9008 does not raise a validation error9009 when file path is not included in the allowlist9010 raises a validation error9011Gitlab::Auth::Saml::OriginValidator9012 #store_origin9013 stores the SAML request ID9014 #gitlab_initiated?9015 returns false if InResponseTo is not present9016 returns false if InResponseTo does not match stored value9017 returns true if InResponseTo matches stored value9018Gitlab::UsageDataCounters::RedisCounter9019 .increment9020 when usage_ping is disabled9021 counter is not increased9022 when usage_ping is enabled9023 counter is increased9024 .increment_by9025 when usage_ping is disabled9026 counter is not increased9027 when usage_ping is enabled9028 counter is increased9029Gitlab::Metrics::ElasticsearchRackMiddleware9030 #call9031 calls the app9032 records elasticsearch metrics9033 records elasticsearch metrics if an error is raised9034 when there are no elasticsearch requests9035 does not record any metrics9036Webauthn::AuthenticateService9037 #execute9038 returns true if the response is valid and a matching stored credential is present9039 returns false if the response is valid but no matching stored credential is present9040Gitlab::Analytics::CycleAnalytics::Median9041 retruns nil when no results9042Skipping ./spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb[1:2] 'Gitlab::Analytics::CycleAnalytics::Median returns median duration seconds as float' because it's flaky.9043 returns median duration seconds as float (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)9044Gitlab::Analytics::CycleAnalytics::StageEvents::StageEvent9045 is expected to respond to #name9046 is expected to respond to #identifier9047 is expected to respond to #object_type9048 is expected to respond to #timestamp_projection9049 is expected to respond to #apply_query_customization9050RuboCop::Cop::Database::EstablishConnection9051 flags the use of ActiveRecord::Base.establish_connection9052 flags the use of ActiveRecord::Base.establish_connection with arguments9053 flags the use of SomeModel.establish_connection9054PropagateIntegrationWorker9055 #perform9056 calls the propagate service with the integration9057ShaValidator9058 with empty value9059 does not add any error if value is empty9060 with valid sha9061 does not add any error9062 with invalid sha9063 adds error to the record9064Snippets::UpdateRepositoryStorageWorker9065 behaves like an update storage move worker9066 #perform9067 without repository storage move9068 calls the update repository storage service9069 with repository storage move9070 calls the update repository storage service9071BulkImports::Projects::Pipelines::ExternalPullRequestsPipeline9072 #run9073 imports external pull request9074 when status is closed9075 imports closed external pull request9076 when from fork9077 does not create external pull request9078SmimeSignatureSettings9079 .parse9080 sets correct default values to disabled9081 when providing custom values9082 sets correct default values to disabled9083 enables smime with default key and cert9084 enables smime with custom key and cert9085Gitlab::Auth::Otp::Strategies::FortiAuthenticator9086 successful validation9087 returns success9088 unsuccessful validation9089 returns error9090 unexpected error9091 returns error9092RuboCop::Cop::GroupPublicOrVisibleToUser9093 flags the use of Group.public_or_visible_to_user with a constant receiver9094 does not flag the use of public_or_visible_to_user with a constant that is not Group9095 does not flag the use of Group.public_or_visible_to_user with a send receiver9096ProjectMirrorEntity9097 exposes project-specific elements9098Gitlab::SidekiqMiddleware::Monitor9099 #call9100 calls Gitlab::SidekiqDaemon::Monitor9101 passthroughs the return value9102 when cancel happens9103 skips the job9104 puts job in DeadSet9105Types::Notes::NoteType9106 exposes the expected fields9107 is expected to expose permissions using Types::PermissionTypes::Note9108 is expected to require graphql authorizations :read_note9109RuboCop::Cop::RSpec::HTTPartyBasicAuth9110 when passing `basic_auth: { user: ... }`9111 registers an offense and corrects9112 when passing `basic_auth: { username: ... }`9113 does not register an offense9114Types::ErrorTracking::SentryErrorCollectionType9115 is expected to eq "SentryErrorCollection"9116 is expected to require graphql authorizations :read_sentry_issue9117 exposes the expected fields9118 errors field9119 returns errors9120Gitlab::GithubImport::ImportPullRequestReviewWorker9121 is expected to includes the Gitlab::GithubImport::ObjectImporter module9122 #representation_class9123 is expected to eq Gitlab::GithubImport::Representation::PullRequestReview9124 #importer_class9125 is expected to eq Gitlab::GithubImport::Importer::PullRequestReviewImporter9126Gitlab::ChangesList9127 when changes is a valid string9128 splits elements by newline character9129 behaves like a list9130SystemCheck::IncomingEmailCheck9131 #multi_check9132 when incoming e-mail is disabled9133Reply by email is disabled in config/gitlab.yml9134 does not run any checks9135 when incoming e-mail is enabled for IMAP9136 runs IMAP and mailroom checks9137 when incoming e-mail is enabled for Microsoft Graph9138 runs mailroom checks9139SystemCheck::App::HashedStorageEnabledCheck9140 #check?9141 fails when hashed storage is disabled9142 succeeds when hashed storage is enabled9143Google::Apis::Core::HttpCommand9144 with a successful response9145 returns the response body if block not present9146 calls block if present9147 retries with max elapsed_time and retries9148RuboCop::Cop::Migration::WithLockRetriesWithChange9149 when in migration9150 registers an offense when `with_lock_retries` is used inside a `change` method9151 registers no offense when `with_lock_retries` is used inside an `up` method9152 when outside of migration9153 registers no offense9154BitbucketServer::Collection9155 #current_page9156 returns 19157 #prev_page9158 returns nil9159 #next_page9160 returns 29161Gitlab::Database::PostgresqlAdapter::DumpSchemaVersionsMixin9162 calls SchemaMigrations touch_all and skips original implementation9163 does not call touch_all in production9164Prometheus::CleanupMultiprocDirService9165 #execute9166 when `multiprocess_files_dir` is defined9167 removes old metrics9168 when `multiprocess_files_dir` is not defined9169 does not remove any files9170Types::DesignManagement::DesignVersionEventEnum9171 is expected to eq "DesignVersionEvent"9172 exposes the correct event states9173Types::ReleaseAssetLinkType9174 is expected to require graphql authorizations :read_release9175 has the expected fields9176Types::IssueTypeEnum9177 is expected to eq "IssueType"9178 exposes all the existing issue type values except for task9179Rails asset host initializer9180 uses no asset host by default9181 with cdn_host defined in gitlab.yml9182 returns https://gitlab.example.com9183Types::DesignManagement::VersionType9184 is expected to require graphql authorizations :read_design9185 has the expected fields9186Gitlab::Usage::Metrics::Instrumentations::ActiveUserCountMetric9187 behaves like a correct instrumented metric value9188 has correct value9189Types::ContainerExpirationPolicyKeepEnum9190 behaves like exposing container expiration policy option9191 exposes all options9192 uses all possible options from model9193API::Validations::Validators::ArrayNoneAny9194 valid parameters9195 does not raise a validation error9196 invalid parameters9197 raises a validation error9198Types::MergeRequestReviewStateEnum9199 the correct enum members9200Gitlab::Utils::DelegatorOverride::Error9201 #to_s9202 is expected to eq "Delegator#foo is overriding Target#foo. delegator_location: /path/to/delegator target_location: /path/to/target"9203Banzai::Filter::HtmlEntityFilter9204 converts common entities to their HTML-escaped equivalents9205GitlabPerformanceBarStatsWorker9206 #perform9207 fetches list of request ids and processes them9208Evidences::ReleaseSerializer9209 represents an Evidence::ReleaseEntity entity9210Gitlab::Metrics::Dashboard::Validator::CustomFormats9211 #format_handlers9212 add_to_metric_id_cache9213 adds data to metric id cache9214Types::DeploymentTierEnum9215 includes a value for each supported environment tier9216DetailedStatusEntity9217 #as_json9218 contains status details9219Types::Packages::PackageFileType9220 includes package file fields9221Knapsack report was generated. Preview:9222{9223 "spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb": 341.83226147799996,9224 "spec/lib/gitlab/metrics/subscribers/active_record_spec.rb": 61.577475412999775,9225 "spec/services/todos/destroy/entity_leave_service_spec.rb": 166.20958133099975,9226 "spec/services/web_hooks/log_execution_service_spec.rb": 101.32887493599992,9227 "spec/lib/gitlab/kubernetes/kube_client_spec.rb": 35.71626216000004,9228 "spec/models/clusters/platforms/kubernetes_spec.rb": 72.50745862800068,9229 "spec/serializers/pipeline_serializer_spec.rb": 66.80371448599999,9230 "spec/policies/ci/build_policy_spec.rb": 49.428565057000014,9231 "spec/lib/gitlab/git/blob_spec.rb": 39.3403315759997,9232 "spec/services/boards/issues/move_service_spec.rb": 44.74433092899926,9233 "spec/helpers/groups/group_members_helper_spec.rb": 47.02804541400019,9234 "spec/uploaders/job_artifact_uploader_spec.rb": 30.60459317599998,9235 "spec/lib/gitlab/gfm/reference_rewriter_spec.rb": 36.66546450199985,9236 "spec/lib/api/helpers_spec.rb": 21.321439773000748,9237 "spec/lib/release_highlights/validator_spec.rb": 37.40668914000071,9238 "spec/models/integrations/teamcity_spec.rb": 28.499907497000095,9239 "spec/finders/releases/group_releases_finder_spec.rb": 31.427613505999943,9240 "spec/lib/gitlab/ci/build/rules/rule/clause/exists_spec.rb": 25.246015746000012,9241 "spec/models/concerns/integrations/has_data_fields_spec.rb": 22.730868796999857,9242 "spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb": 27.39959777600052,9243 "spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb": 24.95474393999939,9244 "spec/helpers/namespaces_helper_spec.rb": 24.553189263000604,9245 "spec/services/members/approve_access_request_service_spec.rb": 23.31188229200052,9246 "spec/scripts/trigger-build_spec.rb": 15.005417049999778,9247 "spec/lib/gitlab/import_export/project/object_builder_spec.rb": 19.96437000700007,9248 "spec/services/merge_requests/rebase_service_spec.rb": 17.706119590000526,9249 "spec/views/layouts/nav/sidebar/_group.html.haml_spec.rb": 11.50045432800016,9250 "spec/services/projects/autocomplete_service_spec.rb": 15.83030219199918,9251 "spec/lib/gitlab/ci/config/entry/retry_spec.rb": 2.6505726030000005,9252 "spec/services/projects/detect_repository_languages_service_spec.rb": 21.03690297799949,9253 "spec/lib/gitlab/ci/trace/stream_spec.rb": 3.084703749000255,9254 "spec/finders/members_finder_spec.rb": 12.899940143999629,9255 "spec/lib/gitlab/diff/lines_unfolder_spec.rb": 8.638925782000115,9256 "spec/models/ci/resource_group_spec.rb": 9.415675554999325,9257 "spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb": 4.381371237999701,9258 "spec/services/system_notes/design_management_service_spec.rb": 11.509704687000522,9259 "spec/models/project_snippet_spec.rb": 6.495194606000041,9260 "spec/lib/gitlab/git/diff_spec.rb": 3.5493842810001297,9261 "spec/models/bulk_imports/entity_spec.rb": 5.062117822999426,9262 "spec/lib/gitlab/ci/badge/release/template_spec.rb": 8.041891486000168,9263 "spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb": 5.801450102000672,9264 "spec/lib/gitlab/json_spec.rb": 1.8216974249999112,9265 "spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb": 7.02428048100046,9266 "spec/lib/gitlab/ci/lint_spec.rb": 5.435362998000528,9267 "spec/lib/banzai/filter/sanitization_filter_spec.rb": 1.3010127600000487,9268 "spec/serializers/note_entity_spec.rb": 8.501531789000182,9269 "spec/services/discussions/resolve_service_spec.rb": 6.553657579999708,9270 "spec/lib/gitlab/github_import/client_spec.rb": 2.291098267000052,9271 "spec/views/groups/edit.html.haml_spec.rb": 8.816764989999683,9272 "spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb": 3.78067122199991,9273 "spec/workers/merge_request_cleanup_refs_worker_spec.rb": 8.6157897639996,9274 "spec/lib/gitlab/database/dynamic_model_helpers_spec.rb": 4.102025862999653,9275 "spec/lib/gitlab/ci/config/entry/environment_spec.rb": 1.7279448760000378,9276 "spec/graphql/resolvers/container_repositories_resolver_spec.rb": 5.547847013999672,9277 "spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb": 1.764408311999432,9278 "spec/lib/gitlab/ci/build/rules/rule/clause/changes_spec.rb": 5.545440763999977,9279 "spec/lib/gitlab/chat/command_spec.rb": 9.107770842999344,9280 "spec/graphql/mutations/design_management/delete_spec.rb": 8.032267669000248,9281 "spec/models/packages/debian/group_component_file_spec.rb": 1.7275936060004824,9282 "spec/graphql/mutations/ci/runner/delete_spec.rb": 5.008847915999468,9283 "spec/lib/banzai/filter/references/reference_cache_spec.rb": 1.9503256360003434,9284 "spec/initializers/lograge_spec.rb": 2.9553390299997773,9285 "spec/services/snippets/update_statistics_service_spec.rb": 5.3198340159997315,9286 "spec/finders/clusters/agents_finder_spec.rb": 5.262025232999804,9287 "spec/workers/ci/ref_delete_unlock_artifacts_worker_spec.rb": 4.209239104000517,9288 "spec/lib/gitlab/lfs_token_spec.rb": 2.6083857240000725,9289 "spec/lib/gitlab/checks/changes_access_spec.rb": 3.3752049089998764,9290 "spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb": 1.1442332870001337,9291 "spec/services/clusters/applications/upgrade_service_spec.rb": 6.5757293289998415,9292 "spec/models/concerns/ci/has_variable_spec.rb": 2.4435151649995532,9293 "spec/services/incident_management/incidents/create_service_spec.rb": 5.1086445820001245,9294 "spec/lib/gitlab/file_finder_spec.rb": 4.3312182999998186,9295 "spec/models/dependency_proxy/manifest_spec.rb": 1.9884877209997285,9296 "spec/models/user_interacted_project_spec.rb": 0.8474733150005704,9297 "spec/lib/sidebars/groups/menus/settings_menu_spec.rb": 1.0793781550000858,9298 "spec/lib/gitlab/database/count_spec.rb": 5.290347729000132,9299 "spec/tasks/gitlab/task_helpers_spec.rb": 2.375440613000137,9300 "spec/lib/gitlab/kubernetes/helm/v2/patch_command_spec.rb": 0.549094291000074,9301 "spec/models/instance_configuration_spec.rb": 2.214681143999769,9302 "spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb": 5.581678032999662,9303 "spec/services/ci/prometheus_metrics/observe_histograms_service_spec.rb": 2.799484641000163,9304 "spec/lib/gitlab/usage/service_ping/instrumented_payload_spec.rb": 2.1508947510001235,9305 "spec/views/projects/merge_requests/edit.html.haml_spec.rb": 3.985879381999439,9306 "spec/graphql/types/base_enum_spec.rb": 0.5255813039993882,9307 "spec/services/packages/conan/search_service_spec.rb": 5.424949813000239,9308 "spec/workers/integrations/create_external_cross_reference_worker_spec.rb": 1.7248391349994563,9309 "spec/initializers/hangouts_chat_http_override_spec.rb": 1.6721295309998823,9310 "spec/lib/gitlab/fogbugz_import/importer_spec.rb": 3.9493971769998097,9311 "spec/models/issue_collection_spec.rb": 4.344268517999808,9312 "spec/lib/gitlab/marker_range_spec.rb": 0.46358713200061175,9313 "spec/lib/api/entities/project_spec.rb": 3.355199771000116,9314 "spec/workers/database/batched_background_migration/ci_database_worker_spec.rb": 0.9374177730005613,9315 "spec/lib/gitlab/api_authentication/builder_spec.rb": 0.6967739330002587,9316 "spec/services/ci/destroy_pipeline_service_spec.rb": 2.910676685999533,9317 "spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb": 0.8983092080006827,9318 "spec/lib/gitlab/hook_data/group_builder_spec.rb": 0.6133176130006177,9319 "spec/lib/gitlab/conflict/file_collection_spec.rb": 4.437031835999733,9320 "spec/services/packages/update_package_file_service_spec.rb": 4.297418223000022,9321 "spec/workers/environments/auto_stop_worker_spec.rb": 3.4432467200003884,9322 "spec/models/packages/debian/group_architecture_spec.rb": 0.9187006160000237,9323 "spec/lib/gitlab/experiment/rollout/feature_spec.rb": 0.5141792249996797,9324 "spec/models/concerns/manual_inverse_association_spec.rb": 3.5645790860007764,9325 "spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb": 0.4416574839997338,9326 "spec/lib/gitlab/cache/helpers_spec.rb": 3.1865210829992066,9327 "spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb": 0.5033826369999588,9328 "spec/lib/gitlab/github_import/importer/repository_importer_spec.rb": 0.38018679300057556,9329 "spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb": 3.0040004160000535,9330 "spec/lib/gitlab/ci/matching/build_matcher_spec.rb": 0.37724815199999284,9331 "spec/services/ci/ensure_stage_service_spec.rb": 2.3195494310002687,9332 "spec/workers/project_cache_worker_spec.rb": 1.598152380999636,9333 "spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb": 0.5018063870002152,9334 "spec/lib/gitlab/ci/reports/reports_comparer_spec.rb": 0.41305106899926614,9335 "spec/graphql/mutations/custom_emoji/destroy_spec.rb": 1.5274997099995744,9336 "spec/lib/bitbucket/representation/repo_spec.rb": 0.43520549600089,9337 "spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb": 0.7700476530008018,9338 "spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb": 2.340232267999454,9339 "spec/services/ci/job_token_scope/remove_project_service_spec.rb": 1.2567735540005742,9340 "spec/workers/deployments/link_merge_request_worker_spec.rb": 2.41471497800012,9341 "spec/tasks/gitlab/packages/migrate_rake_spec.rb": 2.453082514000016,9342 "spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb": 1.9367248989992731,9343 "spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb": 1.350346470999284,9344 "spec/services/concerns/audit_event_save_type_spec.rb": 0.334616117999758,9345 "spec/services/tags/destroy_service_spec.rb": 1.9931890009993367,9346 "spec/lib/gitlab/utils/delegator_override_spec.rb": 1.227148877000218,9347 "spec/graphql/mutations/ci/job_token_scope/add_project_spec.rb": 1.338834492999922,9348 "spec/workers/error_tracking_issue_link_worker_spec.rb": 0.7775473629999397,9349 "spec/lib/banzai/filter/color_filter_spec.rb": 0.4054432490002,9350 "spec/lib/gitlab/unicode_spec.rb": 0.4729872110001452,9351 "spec/services/design_management/copy_design_collection/queue_service_spec.rb": 1.175332083000285,9352 "spec/finders/autocomplete/group_finder_spec.rb": 1.3179239649998635,9353 "spec/rubocop/cop/migration/add_reference_spec.rb": 0.4830723400000352,9354 "spec/services/ci/external_pull_requests/create_pipeline_service_spec.rb": 1.3247066950007138,9355 "spec/lib/gitlab/legacy_github_import/comment_formatter_spec.rb": 2.660992566999994,9356 "spec/presenters/alert_management/alert_presenter_spec.rb": 0.6591886280002655,9357 "spec/services/security/ci_configuration/sast_iac_create_service_spec.rb": 1.9421199270000216,9358 "spec/workers/x509_certificate_revoke_worker_spec.rb": 0.5752956189999168,9359 "spec/workers/pages_domain_verification_cron_worker_spec.rb": 2.3711968129991874,9360 "spec/lib/gitlab/mail_room/authenticator_spec.rb": 0.49559466800019436,9361 "spec/lib/gitlab/github_import/object_counter_spec.rb": 0.5574004209993291,9362 "spec/services/google_cloud/create_service_accounts_service_spec.rb": 1.065586166000685,9363 "spec/models/aws/role_spec.rb": 0.4750955409999733,9364 "spec/lib/gitlab/ci/status/canceled_spec.rb": 0.2103031339993322,9365 "spec/workers/migrate_external_diffs_worker_spec.rb": 1.3452625919999264,9366 "spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb": 0.9008499780002239,9367 "spec/helpers/wiki_page_version_helper_spec.rb": 0.914594814999873,9368 "spec/lib/gitlab/database/partitioning/replace_table_spec.rb": 0.4874561990000075,9369 "spec/lib/banzai/filter_array_spec.rb": 0.21329884299939295,9370 "spec/rubocop/cop/migration/add_concurrent_foreign_key_spec.rb": 0.20526223399974697,9371 "spec/services/webauthn/register_service_spec.rb": 0.6575348780006607,9372 "spec/workers/bulk_imports/export_request_worker_spec.rb": 0.9452273419992707,9373 "spec/finders/releases/evidence_pipeline_finder_spec.rb": 2.0078243090001706,9374 "spec/lib/feature/gitaly_spec.rb": 0.7637993050002478,9375 "spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb": 0.22041806200013525,9376 "spec/lib/gitlab/jira/dvcs_spec.rb": 1.721976795000046,9377 "spec/graphql/resolvers/paginated_tree_resolver_spec.rb": 0.6648587769996084,9378 "spec/finders/repositories/tree_finder_spec.rb": 1.028210322000632,9379 "spec/serializers/container_repository_entity_spec.rb": 0.9495743220004442,9380 "spec/routing/environments_spec.rb": 1.5796517119997588,9381 "spec/tasks/admin_mode_spec.rb": 2.1821886770003402,9382 "spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb": 0.5975500760005161,9383 "spec/lib/api/entities/wiki_page_spec.rb": 1.3906725870001537,9384 "spec/lib/gitlab/security/scan_configuration_spec.rb": 0.6529635680008141,9385 "spec/finders/ci/pipeline_schedules_finder_spec.rb": 1.598400951000258,9386 "spec/lib/gitlab/http_connection_adapter_spec.rb": 1.5649284339997394,9387 "spec/finders/error_tracking/errors_finder_spec.rb": 1.1950572209998427,9388 "spec/lib/gitlab/pages/settings_spec.rb": 0.19166741600020032,9389 "spec/policies/clusters/agent_policy_spec.rb": 1.4756758260000424,9390 "spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb": 0.8507538629992268,9391 "spec/lib/gitlab/graphql/calls_gitaly/field_extension_spec.rb": 0.22318766300031712,9392 "spec/models/ci/pipeline_config_spec.rb": 0.16063331999976072,9393 "spec/models/users/calloutable_spec.rb": 0.43538790499951574,9394 "spec/graphql/types/award_emojis/award_emoji_type_spec.rb": 0.13463265300015337,9395 "spec/lib/gitlab/view/presenter/factory_spec.rb": 0.14726854200034722,9396 "spec/lib/gitlab/changelog/release_spec.rb": 0.9118278060004741,9397 "spec/serializers/evidences/milestone_entity_spec.rb": 1.3501553010000862,9398 "spec/lib/gitlab/ci/build/prerequisite/factory_spec.rb": 1.0684095469996464,9399 "spec/lib/gitlab/diff/inline_diff_marker_spec.rb": 0.14198162199954822,9400 "spec/models/approval_spec.rb": 1.0278150220001407,9401 "spec/graphql/resolvers/recent_boards_resolver_spec.rb": 1.0836321739998311,9402 "spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_column_data_spec.rb": 0.1430017719994794,9403 "spec/policies/integration_policy_spec.rb": 1.2476187339998432,9404 "spec/tooling/danger/datateam_spec.rb": 0.4837300690005577,9405 "spec/workers/cluster_provision_worker_spec.rb": 0.9080207770002744,9406 "spec/lib/backup/file_backup_error_spec.rb": 0.8835853999999017,9407 "spec/graphql/resolvers/work_item_resolver_spec.rb": 0.978397357999711,9408 "spec/lib/gitlab/cross_project_access_spec.rb": 0.3082734909994542,9409 "spec/services/discussions/unresolve_service_spec.rb": 1.226668437000626,9410 "spec/views/groups/milestones/index.html.haml_spec.rb": 0.602230714000143,9411 "spec/presenters/award_emoji_presenter_spec.rb": 0.4355498760005503,9412 "spec/services/ci/pipelines/hook_service_spec.rb": 0.8181736480000836,9413 "spec/workers/expire_pipeline_cache_worker_spec.rb": 0.7975674600002094,9414 "spec/lib/gitlab/template/metrics_dashboard_template_spec.rb": 0.2582923780000783,9415 "spec/initializers/trusted_proxies_spec.rb": 0.30207231199983653,9416 "spec/lib/gitlab/grape_logging/loggers/exception_logger_spec.rb": 0.41354016900004353,9417 "spec/lib/gitlab/github_import/parallel_importer_spec.rb": 1.120322750000014,9418 "spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb": 0.2114660540000841,9419 "spec/lib/gitlab/auth/key_status_checker_spec.rb": 0.5319528529998934,9420 "spec/workers/update_external_pull_requests_worker_spec.rb": 0.6569651279996833,9421 "spec/lib/gitlab/kubernetes/ingress_spec.rb": 0.3222512199999983,9422 "spec/lib/prometheus/pid_provider_spec.rb": 0.2727401259999169,9423 "spec/lib/gitlab/pagination/gitaly_keyset_pager_spec.rb": 0.5924936860001253,9424 "spec/models/concerns/token_authenticatable_strategies/base_spec.rb": 0.24651913900015643,9425 "spec/lib/bulk_imports/groups/graphql/get_projects_query_spec.rb": 0.3323656279999341,9426 "spec/lib/gitlab/usage/metrics/key_path_processor_spec.rb": 0.25206936900030996,9427 "spec/lib/gitlab/empty_search_results_spec.rb": 0.2151516530002482,9428 "spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb": 0.3659606840001288,9429 "spec/lib/api/validations/validators/file_path_spec.rb": 0.36234883399993123,9430 "spec/lib/gitlab/auth/saml/origin_validator_spec.rb": 0.18063384700053575,9431 "spec/lib/gitlab/usage_data_counters/redis_counter_spec.rb": 0.20338109399926907,9432 "spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb": 0.22109527300017362,9433 "spec/services/webauthn/authenticate_service_spec.rb": 0.3672255840001526,9434 "spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb": 0.4400059350000447,9435 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/stage_event_spec.rb": 0.4730328510004256,9436 "spec/rubocop/cop/database/establish_connection_spec.rb": 0.18599608699969394,9437 "spec/workers/propagate_integration_worker_spec.rb": 0.6188552030007486,9438 "spec/validators/sha_validator_spec.rb": 0.2928928540004563,9439 "spec/workers/snippets/update_repository_storage_worker_spec.rb": 0.5064595670000926,9440 "spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb": 0.656252458000381,9441 "spec/config/smime_signature_settings_spec.rb": 0.3129246210000929,9442 "spec/lib/gitlab/auth/otp/strategies/forti_authenticator_spec.rb": 0.5829380670002138,9443 "spec/rubocop/cop/group_public_or_visible_to_user_spec.rb": 0.26146736800001236,9444 "spec/serializers/project_mirror_entity_spec.rb": 0.6677358060005645,9445 "spec/lib/gitlab/sidekiq_middleware/monitor_spec.rb": 0.14591166199988947,9446 "spec/graphql/types/notes/note_type_spec.rb": 0.12591953399987688,9447 "spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb": 0.1419679119999273,9448 "spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb": 0.21920702199986408,9449 "spec/workers/gitlab/github_import/import_pull_request_review_worker_spec.rb": 0.2265293919999749,9450 "spec/lib/gitlab/changes_list_spec.rb": 0.15090922099989257,9451 "spec/lib/system_check/incoming_email_check_spec.rb": 0.2781347350000942,9452 "spec/lib/system_check/app/hashed_storage_enabled_check_spec.rb": 0.18055620700033614,9453 "spec/initializers/google_api_client_spec.rb": 0.3057093219995295,9454 "spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb": 0.1787045080000098,9455 "spec/lib/bitbucket_server/collection_spec.rb": 0.39177057100005186,9456 "spec/lib/gitlab/database/postgresql_adapter/dump_schema_versions_mixin_spec.rb": 0.21884953299922927,9457 "spec/lib/prometheus/cleanup_multiproc_dir_service_spec.rb": 0.1727926679996017,9458 "spec/graphql/types/design_management/design_version_event_enum_spec.rb": 0.15849494000030973,9459 "spec/graphql/types/release_asset_link_type_spec.rb": 0.18703899699994508,9460 "spec/graphql/types/issue_type_enum_spec.rb": 0.1518050710001262,9461 "spec/initializers/rails_asset_host_spec.rb": 0.1547720609996759,9462 "spec/graphql/types/design_management/version_type_spec.rb": 0.15084502199988492,9463 "spec/lib/gitlab/usage/metrics/instrumentations/active_user_count_metric_spec.rb": 0.2799877840006957,9464 "spec/graphql/types/container_expiration_policy_keep_enum_spec.rb": 0.1565347509995263,9465 "spec/lib/api/validations/validators/array_none_any_spec.rb": 0.24826466900049127,9466 "spec/graphql/types/merge_request_review_state_enum_spec.rb": 0.0982742779997352,9467 "spec/lib/gitlab/utils/delegator_override/error_spec.rb": 0.08728498900018167,9468 "spec/lib/banzai/filter/html_entity_filter_spec.rb": 0.20445233400005236,9469 "spec/workers/gitlab_performance_bar_stats_worker_spec.rb": 0.11113660699993488,9470 "spec/serializers/evidences/release_serializer_spec.rb": 0.09657796800001961,9471 "spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb": 0.09917757800030813,9472 "spec/graphql/types/deployment_tier_enum_spec.rb": 0.08993000899954495,9473 "spec/serializers/detailed_status_entity_spec.rb": 0.06912121099958313,9474 "spec/graphql/types/packages/package_file_type_spec.rb": 0.078664540000318089475}9476Knapsack global time execution for tests: 31m 07s9477Pending: (Failures listed here are expected and do not affect your suite's status)9478 1) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_counter_keys single database has expected keys9479 # Skipping because multiple databases are set up9480 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:549481 2) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_counter_keys single database does not have ci keys9482 # Skipping because multiple databases are set up9483 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:759484 3) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_duration_keys single database has expected keys9485 # Skipping because multiple databases are set up9486 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:1139487 4) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_duration_keys single database does not have ci keys9488 # Skipping because multiple databases are set up9489 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:1229490 5) JobArtifactUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 9491 # No pattern provided, skipping.9492 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89493 6) JobArtifactUploader behaves like builds correct paths #relative_path is relative9494 # Path not set, skipping.9495 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409496 7) JobArtifactUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 9497 # No pattern provided, skipping.9498 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89499 8) JobArtifactUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 9500 # No pattern provided, skipping.9501 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89502 9) JobArtifactUploader object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 9503 # No pattern provided, skipping.9504 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89505 10) JobArtifactUploader object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 9506 # No pattern provided, skipping.9507 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89508 11) JobArtifactUploader object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 9509 # No pattern provided, skipping.9510 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89511 12) JobArtifactUploader object store is REMOTE behaves like builds correct paths #relative_path is relative9512 # Path not set, skipping.9513 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409514 13) JobArtifactUploader object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 9515 # No pattern provided, skipping.9516 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89517 14) JobArtifactUploader object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 9518 # No pattern provided, skipping.9519 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89520 15) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does not exist does nothing9521 # because the base model for ci exists9522 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:629523 16) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does not exist logs a message indicating execution is skipped9524 # because the base model for ci exists9525 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:699526 17) ExpirePipelineCacheWorker#perform with https://gitlab.com/gitlab-org/gitlab/-/issues/325291 resolved9527 # No reason given9528 # ./spec/workers/expire_pipeline_cache_worker_spec.rb:289529 18) Gitlab::Analytics::CycleAnalytics::Median returns median duration seconds as float9530 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example9531 # ./spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb:299532Finished in 31 minutes 11 seconds (files took 1 minute 31.4 seconds to load)95334253 examples, 0 failures, 18 pending9534RSpec exited with 0.9535No examples to retry, congrats!9537Not uploading cache ruby-gems-bullseye-9-protected due to policy9538Not uploading cache gitaly-ruby-gems-bullseye-9-protected due to policy9540Uploading artifacts...9541coverage/: found 5 matching files and directories 9542crystalball/: found 2 matching files and directories 9543WARNING: deprecations/: no matching files 9544knapsack/: found 3 matching files and directories 9545rspec/: found 9 matching files and directories 9546WARNING: tmp/capybara/: no matching files 9547log/*.log: found 18 matching files and directories 9548WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2388875792/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com9549WARNING: Retrying... context=artifacts-uploader error=request redirected9550Uploading artifacts as "archive" to coordinator... 201 Created id=2388875792 responseStatus=201 Created token=CzRSWL4i9551Uploading artifacts...9552rspec/junit_rspec.xml: found 1 matching files and directories 9553WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2388875792/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com9554WARNING: Retrying... context=artifacts-uploader error=request redirected9555Uploading artifacts as "junit" to coordinator... 201 Created id=2388875792 responseStatus=201 Created token=CzRSWL4i9557Job succeeded