rspec unit pg12 18/28
Passed Started
by
@stanhu

Stan Hu
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on blue-2.private.runners-manager.gitlab.com/gitlab.com/gitlab-org QvBVRoXM3 feature flags: FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:c5abf812eff57d99cd4ae9b4d688261207b59905c5d0ca50c5e57f75669dbf10 for postgres:12 with digest postgres@sha256:2349a41c1211fd2e8e64bcb888d34382c33600e83be13c5f7322d449ea407210 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:83c577984741ab5b2e78640e0524852998d539ea3961e6d56680f336371f5c83 for redis:6.0-alpine with digest redis@sha256:459e91c5fe54134da1601ef85a4d9bc40c953862737fdfbe8f3c2b2a3eb6b20b ...13Waiting for services to be up and running (timeout 30 seconds)...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.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...18Running on runner-qvbvroxm-project-278964-concurrent-0 via runner-qvbvroxm-private-1668125432-c0b313e3...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: 134695, done. 25remote: Counting objects: 100% (134695/134695), done. 26remote: Compressing objects: 100% (87197/87197), done. 27remote: Total 134695 (delta 60835), reused 93449 (delta 42513), pack-reused 0 28Receiving objects: 100% (134695/134695), 116.52 MiB | 34.41 MiB/s, done.29Resolving deltas: 100% (60835/60835), done.31 * [new ref] refs/pipelines/691761438 -> refs/pipelines/69176143832 * [new branch] master -> origin/master33Checking out 0a62f4a6 as master...34Skipping Git submodules setup35$ git remote set-url origin "${CI_REPOSITORY_URL}"37Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...38cache.zip is up to date 39Successfully extracted cache40Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...41cache.zip is up to date 42Successfully extracted cache44Downloading artifacts for compile-test-assets (3307837569)...45Downloading artifacts from coordinator... ok id=3307837569 responseStatus=200 OK token=Apb6Sjqu46Downloading artifacts for detect-tests (3307837577)...47Downloading artifacts from coordinator... ok id=3307837577 responseStatus=200 OK token=Apb6Sjqu48Downloading artifacts for retrieve-tests-metadata (3307837579)...49Downloading artifacts from coordinator... ok id=3307837579 responseStatus=200 OK token=Apb6Sjqu50Downloading artifacts for setup-test-env (3307837573)...51Downloading artifacts from coordinator... ok id=3307837573 responseStatus=200 OK token=Apb6Sjqu53Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...54$ echo $FOSS_ONLY55$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb56$ export GOPATH=$CI_PROJECT_DIR/.go57$ mkdir -p $GOPATH58$ source scripts/utils.sh59$ source scripts/prepare_build.sh688Using decomposed database config (config/database.yml.decomposed-postgresql)689$ setup_db_user_only690CREATE ROLE691GRANT692==> 'setup_db_user_only' succeeded in 0 seconds.693$ bundle exec rake db:drop db:create db:schema:load db:migrate694Dropped database 'gitlabhq_test'695Dropped database 'gitlabhq_test_ci'696Dropped database 'gitlabhq_geo_test'697Created database 'gitlabhq_test'698Created database 'gitlabhq_test_ci'699Created database 'gitlabhq_geo_test'700==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 30 seconds.701$ setup_db_praefect702SELECT pg_catalog.set_config('search_path', '', false);703CREATE DATABASE praefect_test ENCODING 'UTF8';704==> 'setup_db_praefect' succeeded in 0 seconds.705$ source ./scripts/rspec_helpers.sh706$ run_timed_command "gem install knapsack --no-document"707$ gem install knapsack --no-document708Successfully installed knapsack-4.0.07091 gem installed710==> 'gem install knapsack --no-document' succeeded in 0 seconds.711$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"825$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"826SKIP_FLAKY_TESTS_AUTOMATICALLY: true827RETRY_FAILED_TESTS_IN_NEW_PROCESS: true828KNAPSACK_GENERATE_REPORT: true829FLAKY_RSPEC_GENERATE_REPORT: true830KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,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,components}{,/**/}*_spec.rb831KNAPSACK_LOG_LEVEL: debug832KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12_18_28_report.json833FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json834FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12_18_28_report.json835NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12_18_28_report.json836SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12_18_28_report.txt837RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12_18_28_report.txt838CRYSTALBALL: 839Knapsack node specs:840spec/models/ci/pipeline_spec.rb841spec/lib/gitlab/metrics/subscribers/active_record_spec.rb842spec/models/clusters/cluster_spec.rb843spec/lib/gitlab/diff/file_spec.rb844spec/lib/gitlab/database/load_balancing_spec.rb845spec/serializers/group_child_entity_spec.rb846spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb847spec/tasks/gitlab/db/lock_writes_rake_spec.rb848spec/helpers/search_helper_spec.rb849spec/policies/note_policy_spec.rb850spec/services/ci/retry_pipeline_service_spec.rb851spec/lib/gitlab/gpg/commit_spec.rb852spec/services/projects/cleanup_service_spec.rb853spec/models/alert_management/alert_spec.rb854spec/lib/gitlab/background_migration/update_timelogs_project_id_spec.rb855spec/services/merge_requests/rebase_service_spec.rb856spec/services/design_management/copy_design_collection/copy_service_spec.rb857spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb858spec/lib/gitlab/hashed_storage/migrator_spec.rb859spec/lib/gitlab/background_migration/steal_migrate_merge_request_diff_commit_users_spec.rb860spec/services/git/tag_hooks_service_spec.rb861spec/models/concerns/subscribable_spec.rb862spec/models/label_spec.rb863spec/finders/serverless_domain_finder_spec.rb864spec/models/namespace_setting_spec.rb865spec/services/merge_requests/conflicts/resolve_service_spec.rb866spec/lib/gitlab/gfm/uploads_rewriter_spec.rb867spec/graphql/mutations/merge_requests/create_spec.rb868spec/lib/service_ping/build_payload_spec.rb869spec/lib/gitlab/ci/config/entry/retry_spec.rb870spec/lib/gitlab/background_migration/backfill_work_item_type_id_for_issues_spec.rb871spec/models/import_export_upload_spec.rb872spec/lib/gitlab/chat/command_spec.rb873spec/lib/gitlab/ci/config/entry/bridge_spec.rb874spec/services/projects/update_pages_service_spec.rb875spec/models/ci/pending_build_spec.rb876spec/lib/gitlab/data_builder/pipeline_spec.rb877spec/lib/gitlab/git/object_pool_spec.rb878spec/services/todos/destroy/unauthorized_features_service_spec.rb879spec/lib/gitlab/background_migration/remove_self_managed_wiki_notes_spec.rb880spec/lib/gitlab/redis/cache_spec.rb881spec/models/analytics/cycle_analytics/aggregation_spec.rb882spec/models/ci/sources/pipeline_spec.rb883spec/lib/uploaded_file_spec.rb884spec/lib/gitlab/database_importers/instance_administrators/create_group_spec.rb885spec/services/groups/import_export/export_service_spec.rb886spec/services/environments/auto_stop_service_spec.rb887spec/models/plan_limits_spec.rb888spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb889spec/finders/joined_groups_finder_spec.rb890spec/models/hooks/project_hook_spec.rb891spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_one_member_no_repo_projects_spec.rb892spec/lib/gitlab/ci/trace/archive_spec.rb893spec/lib/gitlab/ci/config/entry/root_spec.rb894spec/services/packages/maven/metadata/sync_service_spec.rb895spec/services/deployments/update_service_spec.rb896spec/services/ci/build_erase_service_spec.rb897spec/presenters/snippet_presenter_spec.rb898spec/lib/gitlab/pagination_delegate_spec.rb899spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb900spec/services/commits/tag_service_spec.rb901spec/serializers/fork_namespace_entity_spec.rb902spec/lib/gitlab/ci/status/build/play_spec.rb903spec/graphql/types/ci/job_token_scope_type_spec.rb904spec/lib/backup/database_spec.rb905spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb906spec/helpers/invite_members_helper_spec.rb907spec/lib/gitlab/safe_request_store_spec.rb908spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb909spec/lib/gitlab/auth/unique_ips_limiter_spec.rb910spec/services/system_notes/incidents_service_spec.rb911spec/lib/gitlab/graphql/pagination/externally_paginated_array_connection_spec.rb912spec/lib/gitlab/redis/hll_spec.rb913spec/models/packages/tag_spec.rb914spec/lib/gitlab/seeder_spec.rb915spec/lib/gitlab/ci/badge/release/latest_release_spec.rb916spec/workers/repository_cleanup_worker_spec.rb917spec/services/metrics/dashboard/self_monitoring_dashboard_service_spec.rb918spec/models/design_management/repository_spec.rb919spec/lib/gitlab/error_tracking/context_payload_generator_spec.rb920spec/models/ci/running_build_spec.rb921spec/finders/fork_targets_finder_spec.rb922spec/lib/gitlab/ci/pipeline/expression/lexeme/pattern_spec.rb923spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb924spec/services/jira_import/server_users_mapper_service_spec.rb925spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb926spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb927spec/lib/gitlab/global_id_spec.rb928spec/tasks/gitlab/lfs/check_rake_spec.rb929spec/lib/gitlab/usage/metrics/query_spec.rb930spec/lib/gitlab/middleware/speedscope_spec.rb931spec/finders/award_emojis_finder_spec.rb932spec/services/packages/debian/extract_changes_metadata_service_spec.rb933spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb934spec/models/concerns/subquery_spec.rb935spec/finders/boards/visits_finder_spec.rb936spec/workers/bulk_imports/export_request_worker_spec.rb937spec/services/import/gitlab_projects/create_project_service_spec.rb938spec/policies/namespaces/project_namespace_policy_spec.rb939spec/lib/gitlab/dependency_linker/podspec_json_linker_spec.rb940spec/lib/gitlab/kubernetes/helm/v2/delete_command_spec.rb941spec/models/merge_request/diff_commit_user_spec.rb942spec/workers/gitlab/github_import/advance_stage_worker_spec.rb943spec/finders/clusters_finder_spec.rb944spec/lib/gitlab/repository_url_builder_spec.rb945spec/services/groups/auto_devops_service_spec.rb946spec/graphql/resolvers/users/groups_resolver_spec.rb947spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb948spec/views/devise/sessions/new.html.haml_spec.rb949spec/workers/gitlab/github_import/stage/import_notes_worker_spec.rb950spec/services/users/email_verification/validate_token_service_spec.rb951spec/lib/gitlab/diff/position_tracer_spec.rb952spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb953spec/tasks/gitlab/packages/migrate_rake_spec.rb954spec/models/packages/build_info_spec.rb955spec/support_specs/helpers/redis_commands/recorder_spec.rb956spec/lib/gitlab/metrics/dashboard/validator/post_schema_validator_spec.rb957spec/services/google_cloud/service_accounts_service_spec.rb958spec/lib/gitlab/null_request_store_spec.rb959spec/lib/gitlab/database/schema_migrations/context_spec.rb960spec/rubocop/cop/destroy_all_spec.rb961spec/lib/sidebars/groups/menus/group_information_menu_spec.rb962spec/lib/gitlab/exception_log_formatter_spec.rb963spec/views/projects/jobs/_build.html.haml_spec.rb964spec/models/integrations/base_issue_tracker_spec.rb965spec/graphql/mutations/custom_emoji/destroy_spec.rb966spec/rubocop/cop/graphql/enum_values_spec.rb967spec/lib/generators/gitlab/usage_metric_generator_spec.rb968spec/services/customer_relations/contacts/create_service_spec.rb969spec/lib/gitlab/usage/metrics/instrumentations/numbers_metric_spec.rb970spec/lib/gitlab/metrics/dashboard/repo_dashboard_finder_spec.rb971spec/lib/gitlab/import_export/wiki_repo_saver_spec.rb972spec/services/projects/prometheus/metrics/destroy_service_spec.rb973spec/services/issues/after_create_service_spec.rb974spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb975spec/lib/api/base_spec.rb976spec/lib/gitlab/diff/line_mapper_spec.rb977spec/lib/gitlab/exclusive_lease_helpers_spec.rb978spec/models/integrations/assembla_spec.rb979spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb980spec/graphql/types/incident_management/escalation_status_enum_spec.rb981spec/services/import/github/notes/create_service_spec.rb982spec/initializers/google_api_client_spec.rb983spec/workers/bulk_imports/entity_worker_spec.rb984spec/graphql/mutations/branches/create_spec.rb985spec/presenters/packages/pypi/simple_index_presenter_spec.rb986spec/lib/gitlab/diff/inline_diff_markdown_marker_spec.rb987spec/lib/gitlab/ci/reports/test_report_summary_spec.rb988spec/lib/gitlab/phabricator_import/conduit/client_spec.rb989spec/workers/ci/build_finished_worker_spec.rb990spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb991spec/services/customer_relations/organizations/update_service_spec.rb992spec/models/packages/rubygems/metadatum_spec.rb993spec/services/members/invite_member_builder_spec.rb994spec/graphql/types/snippets/blob_action_input_type_spec.rb995spec/graphql/types/release_source_type_spec.rb996spec/lib/banzai/filter/markdown_filter_spec.rb997spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb998spec/graphql/types/ci/config/job_type_spec.rb999spec/graphql/types/kas/agent_configuration_type_spec.rb1000spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb1001spec/components/pajamas/component_spec.rb1002spec/components/pajamas/concerns/checkbox_radio_label_with_help_text_spec.rb1003spec/graphql/types/release_links_type_spec.rb1004spec/workers/terraform/states/destroy_worker_spec.rb1005spec/workers/projects/schedule_refresh_build_artifacts_size_statistics_worker_spec.rb1006spec/helpers/sidebars_helper_spec.rb1007spec/serializers/analytics_summary_serializer_spec.rb1008spec/lib/sidebars/groups/menus/merge_requests_menu_spec.rb1009spec/lib/banzai/commit_renderer_spec.rb1010spec/models/raw_usage_data_spec.rb1011spec/views/admin/identities/index.html.haml_spec.rb1012spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/client_spec.rb1013spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb1014spec/lib/gitlab/request_forgery_protection_spec.rb1015spec/workers/export_csv_worker_spec.rb1016spec/serializers/jira_connect/subscription_entity_spec.rb1017spec/graphql/types/dependency_proxy/group_setting_type_spec.rb1018spec/rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers_spec.rb1019spec/lib/banzai/filter/image_lazy_load_filter_spec.rb1020spec/lib/gitlab/usage/metrics/instrumentations/service_ping_features_metric_spec.rb1021spec/models/concerns/token_authenticatable_strategies/base_spec.rb1022spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb1023spec/lib/marginalia_spec.rb1024spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb1025spec/rubocop/cop/gitlab/keys_first_and_values_first_spec.rb1026spec/lib/banzai/filter/ascii_doc_sanitization_filter_spec.rb1027spec/models/dependency_proxy/group_setting_spec.rb1028spec/lib/api/entities/personal_access_token_spec.rb1029spec/lib/gitlab/auth/activity_spec.rb1030spec/helpers/external_link_helper_spec.rb1031spec/lib/banzai/render_context_spec.rb1032spec/lib/gitlab/auth/otp/strategies/forti_authenticator/manual_otp_spec.rb1033spec/models/concerns/database_reflection_spec.rb1034spec/graphql/types/kas/agent_metadata_type_spec.rb1035spec/models/user_highest_role_spec.rb1036spec/tooling/docs/deprecation_handling_spec.rb1037spec/workers/schedule_migrate_external_diffs_worker_spec.rb1038spec/initializers/session_store_spec.rb1039spec/graphql/types/tree/type_enum_spec.rb1040spec/initializers/asset_proxy_setting_spec.rb1041spec/lib/gitlab/usage_data_counters/search_counter_spec.rb1042spec/graphql/types/container_repository_sort_enum_spec.rb1043spec/lib/sidebars/projects/menus/snippets_menu_spec.rb1044spec/workers/ci/schedule_delete_objects_cron_worker_spec.rb1045spec/rubocop/cop/gitlab/union_spec.rb1046spec/lib/gitlab/usage/metrics/instrumentations/uuid_metric_spec.rb1047spec/graphql/types/alert_management/http_integration_type_spec.rb1048spec/lib/gitlab/fogbugz_import/client_spec.rb1049spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb1050spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb1051spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb1052spec/initializers/sawyer_patch_spec.rb1053spec/experiments/video_tutorials_continuous_onboarding_experiment_spec.rb1054spec/graphql/resolvers/packages_base_resolver_spec.rb1055spec/workers/ci_platform_metrics_update_cron_worker_spec.rb1056spec/graphql/types/packages/package_dependency_link_type_spec.rb1057Filter specs:1058Running specs:1059Running all node tests without filter1060spec/models/ci/pipeline_spec.rb1061spec/lib/gitlab/metrics/subscribers/active_record_spec.rb1062spec/models/clusters/cluster_spec.rb1063spec/lib/gitlab/diff/file_spec.rb1064spec/lib/gitlab/database/load_balancing_spec.rb1065spec/serializers/group_child_entity_spec.rb1066spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb1067spec/tasks/gitlab/db/lock_writes_rake_spec.rb1068spec/helpers/search_helper_spec.rb1069spec/policies/note_policy_spec.rb1070spec/services/ci/retry_pipeline_service_spec.rb1071spec/lib/gitlab/gpg/commit_spec.rb1072spec/services/projects/cleanup_service_spec.rb1073spec/models/alert_management/alert_spec.rb1074spec/lib/gitlab/background_migration/update_timelogs_project_id_spec.rb1075spec/services/merge_requests/rebase_service_spec.rb1076spec/services/design_management/copy_design_collection/copy_service_spec.rb1077spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb1078spec/lib/gitlab/hashed_storage/migrator_spec.rb1079spec/lib/gitlab/background_migration/steal_migrate_merge_request_diff_commit_users_spec.rb1080spec/services/git/tag_hooks_service_spec.rb1081spec/models/concerns/subscribable_spec.rb1082spec/models/label_spec.rb1083spec/finders/serverless_domain_finder_spec.rb1084spec/models/namespace_setting_spec.rb1085spec/services/merge_requests/conflicts/resolve_service_spec.rb1086spec/lib/gitlab/gfm/uploads_rewriter_spec.rb1087spec/graphql/mutations/merge_requests/create_spec.rb1088spec/lib/service_ping/build_payload_spec.rb1089spec/lib/gitlab/ci/config/entry/retry_spec.rb1090spec/lib/gitlab/background_migration/backfill_work_item_type_id_for_issues_spec.rb1091spec/models/import_export_upload_spec.rb1092spec/lib/gitlab/chat/command_spec.rb1093spec/lib/gitlab/ci/config/entry/bridge_spec.rb1094spec/services/projects/update_pages_service_spec.rb1095spec/models/ci/pending_build_spec.rb1096spec/lib/gitlab/data_builder/pipeline_spec.rb1097spec/lib/gitlab/git/object_pool_spec.rb1098spec/services/todos/destroy/unauthorized_features_service_spec.rb1099spec/lib/gitlab/background_migration/remove_self_managed_wiki_notes_spec.rb1100spec/lib/gitlab/redis/cache_spec.rb1101spec/models/analytics/cycle_analytics/aggregation_spec.rb1102spec/models/ci/sources/pipeline_spec.rb1103spec/lib/uploaded_file_spec.rb1104spec/lib/gitlab/database_importers/instance_administrators/create_group_spec.rb1105spec/services/groups/import_export/export_service_spec.rb1106spec/services/environments/auto_stop_service_spec.rb1107spec/models/plan_limits_spec.rb1108spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb1109spec/finders/joined_groups_finder_spec.rb1110spec/models/hooks/project_hook_spec.rb1111spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_one_member_no_repo_projects_spec.rb1112spec/lib/gitlab/ci/trace/archive_spec.rb1113spec/lib/gitlab/ci/config/entry/root_spec.rb1114spec/services/packages/maven/metadata/sync_service_spec.rb1115spec/services/deployments/update_service_spec.rb1116spec/services/ci/build_erase_service_spec.rb1117spec/presenters/snippet_presenter_spec.rb1118spec/lib/gitlab/pagination_delegate_spec.rb1119spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb1120spec/services/commits/tag_service_spec.rb1121spec/serializers/fork_namespace_entity_spec.rb1122spec/lib/gitlab/ci/status/build/play_spec.rb1123spec/graphql/types/ci/job_token_scope_type_spec.rb1124spec/lib/backup/database_spec.rb1125spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb1126spec/helpers/invite_members_helper_spec.rb1127spec/lib/gitlab/safe_request_store_spec.rb1128spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb1129spec/lib/gitlab/auth/unique_ips_limiter_spec.rb1130spec/services/system_notes/incidents_service_spec.rb1131spec/lib/gitlab/graphql/pagination/externally_paginated_array_connection_spec.rb1132spec/lib/gitlab/redis/hll_spec.rb1133spec/models/packages/tag_spec.rb1134spec/lib/gitlab/seeder_spec.rb1135spec/lib/gitlab/ci/badge/release/latest_release_spec.rb1136spec/workers/repository_cleanup_worker_spec.rb1137spec/services/metrics/dashboard/self_monitoring_dashboard_service_spec.rb1138spec/models/design_management/repository_spec.rb1139spec/lib/gitlab/error_tracking/context_payload_generator_spec.rb1140spec/models/ci/running_build_spec.rb1141spec/finders/fork_targets_finder_spec.rb1142spec/lib/gitlab/ci/pipeline/expression/lexeme/pattern_spec.rb1143spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb1144spec/services/jira_import/server_users_mapper_service_spec.rb1145spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb1146spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb1147spec/lib/gitlab/global_id_spec.rb1148spec/tasks/gitlab/lfs/check_rake_spec.rb1149spec/lib/gitlab/usage/metrics/query_spec.rb1150spec/lib/gitlab/middleware/speedscope_spec.rb1151spec/finders/award_emojis_finder_spec.rb1152spec/services/packages/debian/extract_changes_metadata_service_spec.rb1153spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb1154spec/models/concerns/subquery_spec.rbKnapsack report generator started!1155Run options: exclude {:quarantine=>true, :level=>"migration"}1156Test environment set up in 1.572893562 seconds1157Ci::Pipeline1158 paginates 15 pipelines per page1159 is expected to belong to project required: false1160 is expected to belong to user required: false1161 is expected to belong to auto_canceled_by required: false1162 is expected to belong to pipeline_schedule required: false1163 is expected to belong to merge_request required: false1164 is expected to belong to external_pull_request required: false1165 is expected to have many statuses1166 is expected to have many trigger_requests1167 is expected to have many variables1168 is expected to have many builds1169 is expected to have many statuses_order_id_desc1170 is expected to have many bridges1171 is expected to have many job_artifacts through builds1172 is expected to have many build_trace_chunks through builds1173 is expected to have many auto_canceled_pipelines1174 is expected to have many auto_canceled_jobs1175 is expected to have many sourced_pipelines1176 is expected to have many triggered_pipelines1177 is expected to have many pipeline_artifacts1178 is expected to have one chat_data1179 is expected to have one source_pipeline1180 is expected to have one triggered_by_pipeline1181 is expected to have one source_job1182 is expected to have one pipeline_config1183 is expected to have one pipeline_metadata1184 is expected to respond to #git_author_name1185 is expected to respond to #git_author_email1186 is expected to respond to #git_author_full_text1187 is expected to respond to #short_sha1188 is expected to delegate #project_full_path to the #project object as #full_path1189 is expected to delegate #name to the #pipeline_metadata object, allowing #pipeline_metadata to return nil1190 behaves like having unique enum values1191 has unique values in "source"1192 has unique values in "config_source"1193 has unique values in "failure_reason"1194 has unique values in "locked"1195 validations1196 is expected to validate that :sha cannot be empty/falsy1197 is expected to validate that :status cannot be empty/falsy1198 associations1199 has a bidirectional relationship with projects1200 #latest_builds1201 has a one to many relationship with its latest builds1202 #latest_successful_builds1203 has a one to many relationship with its latest successful builds1204 #downloadable_artifacts1205 when artifacts are locked1206 returns downloadable artifacts including locked artifacts1207 when artifacts are unlocked1208 returns only downloadable artifacts not expired1209 state machine transitions1210 from failed to success1211 schedules CoverageReportWorker1212 pipeline age metric1213 when pipeline age histogram is enabled1214 observes pipeline age1215 when pipeline age histogram is disabled1216 observes pipeline age1217 #set_status1218 from_status: :created, to_status: :waiting_for_resource1219 is expected to eq true1220 from_status: :created, to_status: :preparing1221 is expected to eq true1222 from_status: :created, to_status: :pending1223 is expected to eq true1224 from_status: :created, to_status: :running1225 is expected to eq true1226 from_status: :created, to_status: :failed1227 is expected to eq true1228 from_status: :created, to_status: :success1229 is expected to eq true1230 from_status: :created, to_status: :canceled1231 is expected to eq true1232 from_status: :created, to_status: :skipped1233 is expected to eq true1234 from_status: :created, to_status: :manual1235 is expected to eq true1236 from_status: :created, to_status: :scheduled1237 is expected to eq true1238 from_status: :waiting_for_resource, to_status: :waiting_for_resource1239 is expected to eq false1240 from_status: :waiting_for_resource, to_status: :preparing1241 is expected to eq true1242 from_status: :waiting_for_resource, to_status: :pending1243 is expected to eq true1244 from_status: :waiting_for_resource, to_status: :running1245 is expected to eq true1246 from_status: :waiting_for_resource, to_status: :failed1247 is expected to eq true1248 from_status: :waiting_for_resource, to_status: :success1249 is expected to eq true1250 from_status: :waiting_for_resource, to_status: :canceled1251 is expected to eq true1252 from_status: :waiting_for_resource, to_status: :skipped1253 is expected to eq true1254 from_status: :waiting_for_resource, to_status: :manual1255 is expected to eq true1256 from_status: :waiting_for_resource, to_status: :scheduled1257 is expected to eq true1258 from_status: :preparing, to_status: :waiting_for_resource1259 is expected to eq true1260 from_status: :preparing, to_status: :preparing1261 is expected to eq false1262 from_status: :preparing, to_status: :pending1263 is expected to eq true1264 from_status: :preparing, to_status: :running1265 is expected to eq true1266 from_status: :preparing, to_status: :failed1267 is expected to eq true1268 from_status: :preparing, to_status: :success1269 is expected to eq true1270 from_status: :preparing, to_status: :canceled1271 is expected to eq true1272 from_status: :preparing, to_status: :skipped1273 is expected to eq true1274 from_status: :preparing, to_status: :manual1275 is expected to eq true1276 from_status: :preparing, to_status: :scheduled1277 is expected to eq true1278 from_status: :pending, to_status: :waiting_for_resource1279 is expected to eq true1280 from_status: :pending, to_status: :preparing1281 is expected to eq true1282 from_status: :pending, to_status: :pending1283 is expected to eq false1284 from_status: :pending, to_status: :running1285 is expected to eq true1286 from_status: :pending, to_status: :failed1287 is expected to eq true1288 from_status: :pending, to_status: :success1289 is expected to eq true1290 from_status: :pending, to_status: :canceled1291 is expected to eq true1292 from_status: :pending, to_status: :skipped1293 is expected to eq true1294 from_status: :pending, to_status: :manual1295 is expected to eq true1296 from_status: :pending, to_status: :scheduled1297 is expected to eq true1298 from_status: :running, to_status: :waiting_for_resource1299 is expected to eq true1300 from_status: :running, to_status: :preparing1301 is expected to eq true1302 from_status: :running, to_status: :pending1303 is expected to eq true1304 from_status: :running, to_status: :running1305 is expected to eq false1306 from_status: :running, to_status: :failed1307 is expected to eq true1308 from_status: :running, to_status: :success1309 is expected to eq true1310 from_status: :running, to_status: :canceled1311 is expected to eq true1312 from_status: :running, to_status: :skipped1313 is expected to eq true1314 from_status: :running, to_status: :manual1315 is expected to eq true1316 from_status: :running, to_status: :scheduled1317 is expected to eq true1318 from_status: :failed, to_status: :waiting_for_resource1319 is expected to eq true1320 from_status: :failed, to_status: :preparing1321 is expected to eq true1322 from_status: :failed, to_status: :pending1323 is expected to eq true1324 from_status: :failed, to_status: :running1325 is expected to eq true1326 from_status: :failed, to_status: :failed1327 is expected to eq false1328 from_status: :failed, to_status: :success1329 is expected to eq true1330 from_status: :failed, to_status: :canceled1331 is expected to eq true1332 from_status: :failed, to_status: :skipped1333 is expected to eq true1334 from_status: :failed, to_status: :manual1335 is expected to eq true1336 from_status: :failed, to_status: :scheduled1337 is expected to eq true1338 from_status: :success, to_status: :waiting_for_resource1339 is expected to eq true1340 from_status: :success, to_status: :preparing1341 is expected to eq true1342 from_status: :success, to_status: :pending1343 is expected to eq true1344 from_status: :success, to_status: :running1345 is expected to eq true1346 from_status: :success, to_status: :failed1347 is expected to eq true1348 from_status: :success, to_status: :success1349 is expected to eq true1350 from_status: :success, to_status: :canceled1351 is expected to eq true1352 from_status: :success, to_status: :skipped1353 is expected to eq true1354 from_status: :success, to_status: :manual1355 is expected to eq true1356 from_status: :success, to_status: :scheduled1357 is expected to eq true1358 from_status: :canceled, to_status: :waiting_for_resource1359 is expected to eq true1360 from_status: :canceled, to_status: :preparing1361 is expected to eq true1362 from_status: :canceled, to_status: :pending1363 is expected to eq true1364 from_status: :canceled, to_status: :running1365 is expected to eq true1366 from_status: :canceled, to_status: :failed1367 is expected to eq true1368 from_status: :canceled, to_status: :success1369 is expected to eq true1370 from_status: :canceled, to_status: :canceled1371 is expected to eq false1372 from_status: :canceled, to_status: :skipped1373 is expected to eq true1374 from_status: :canceled, to_status: :manual1375 is expected to eq true1376 from_status: :canceled, to_status: :scheduled1377 is expected to eq true1378 from_status: :skipped, to_status: :waiting_for_resource1379 is expected to eq true1380 from_status: :skipped, to_status: :preparing1381 is expected to eq true1382 from_status: :skipped, to_status: :pending1383 is expected to eq true1384 from_status: :skipped, to_status: :running1385 is expected to eq true1386 from_status: :skipped, to_status: :failed1387 is expected to eq true1388 from_status: :skipped, to_status: :success1389 is expected to eq true1390 from_status: :skipped, to_status: :canceled1391 is expected to eq true1392 from_status: :skipped, to_status: :skipped1393 is expected to eq false1394 from_status: :skipped, to_status: :manual1395 is expected to eq true1396 from_status: :skipped, to_status: :scheduled1397 is expected to eq true1398 from_status: :manual, to_status: :waiting_for_resource1399 is expected to eq true1400 from_status: :manual, to_status: :preparing1401 is expected to eq true1402 from_status: :manual, to_status: :pending1403 is expected to eq true1404 from_status: :manual, to_status: :running1405 is expected to eq true1406 from_status: :manual, to_status: :failed1407 is expected to eq true1408 from_status: :manual, to_status: :success1409 is expected to eq true1410 from_status: :manual, to_status: :canceled1411 is expected to eq true1412 from_status: :manual, to_status: :skipped1413 is expected to eq true1414 from_status: :manual, to_status: :manual1415 is expected to eq false1416 from_status: :manual, to_status: :scheduled1417 is expected to eq true1418 from_status: :scheduled, to_status: :waiting_for_resource1419 is expected to eq true1420 from_status: :scheduled, to_status: :preparing1421 is expected to eq true1422 from_status: :scheduled, to_status: :pending1423 is expected to eq true1424 from_status: :scheduled, to_status: :running1425 is expected to eq true1426 from_status: :scheduled, to_status: :failed1427 is expected to eq true1428 from_status: :scheduled, to_status: :success1429 is expected to eq true1430 from_status: :scheduled, to_status: :canceled1431 is expected to eq true1432 from_status: :scheduled, to_status: :skipped1433 is expected to eq true1434 from_status: :scheduled, to_status: :manual1435 is expected to eq true1436 from_status: :scheduled, to_status: :scheduled1437 is expected to eq false1438 .processables1439 has an association with processable CI/CD entities1440 makes it possible to append a new processable1441 .for_iid1442 returns the pipeline1443 .created_after1444 returns the pipeline1445 .created_before_id1446 returns the pipeline1447 .for_sha1448 returns the pipeline1449 when argument is array1450 returns the pipelines1451 when sha is empty1452 does not return anything1453 .where_not_sha1454 returns the pipeline without the specified sha1455 when argument is array1456 returns the pipelines without the specified shas1457 .for_source_sha1458 returns the pipeline1459 when argument is array1460 returns the pipelines1461 when source_sha is empty1462 does not return anything1463 .for_sha_or_source_sha1464 when sha is matched1465 returns the pipeline1466 when source sha is matched1467 returns the pipeline1468 when both sha and source sha are not matched1469 does not return anything1470 .for_branch1471 returns the pipeline1472 with tag pipeline1473 returns nothing1474 .with_pipeline_source1475 contains pipelines created due to specified source1476 .ci_sources1477 contains pipelines having CI only sources1478 filters on expected sources1479 .ci_branch_sources1480 contains pipelines having CI only sources1481 filters on expected sources1482 .outside_pipeline_family1483 only returns pipelines outside pipeline family1484 .before_pipeline1485 only returns older pipelines outside pipeline family1486 .jobs_count_in_alive_pipelines1487 includes all jobs in alive pipelines created in the last 24 hours1488 .builds_count_in_alive_pipelines1489 includes all builds in alive pipelines created in the last 24 hours1490 #merge_request?1491 is expected to be merge request1492 when merge request is already loaded1493 does not reload the record and returns true1494 when merge request is not loaded1495 executes a database query and returns true1496 caches the result1497 when merge request was removed1498 executes a database query and returns false1499 when merge request id is not present1500 is expected not to be merge request1501 #detached_merge_request_pipeline?1502 is expected to be truthy1503 when target sha exists1504 is expected to be falsy1505 #merged_result_pipeline?1506 is expected to be truthy1507 when target sha is empty1508 is expected to be falsy1509 #merge_request_ref?1510 calls MergeRequest#merge_request_ref?1511 #merge_request_event_type1512 when pipeline is merge request pipeline1513 is expected to eq :merged_result1514 when pipeline is detached merge request pipeline1515 is expected to eq :detached1516 #legacy_detached_merge_request_pipeline?1517 is expected to be truthy1518 when pipeline ref is a merge request ref1519 is expected to be falsy1520 when target sha is set1521 is expected to be falsy1522 #matches_sha_or_source_sha?1523 when sha matches1524 is expected to be truthy1525 when source_sha matches1526 is expected to be truthy1527 when both sha and source_sha do not match1528 is expected to be falsy1529 #source_ref1530 returns source ref1531 when the pipeline is a detached merge request pipeline1532 returns source ref1533 #source_ref_slug1534 slugifies with the source ref1535 when the pipeline is a detached merge request pipeline1536 slugifies with the source ref of the merge request1537 .with_reports1538 when pipeline has a test report1539 selects the pipeline1540 when pipeline has a coverage report1541 selects the pipeline1542 when pipeline has an accessibility report1543 selects the pipeline1544 when pipeline has a codequality report1545 selects the pipeline1546 when pipeline has a terraform report1547 selects the pipeline1548 when pipeline does not have metrics reports1549 does not select the pipeline1550 .merge_request_event1551 when there is a merge request pipeline1552 returns merge request pipeline first1553 when there are no merge request pipelines1554 returns empty array1555 modules1556 behaves like AtomicInternalId1557 .has_internal_id1558 Module inclusion1559 is expected to includes the AtomicInternalId module1560 Validation1561 when presence validation is required1562 when creating an object1563 raises an error if the internal id is blank (PENDING: No reason given)1564 when updating an object1565 raises an error if the internal id is blank (PENDING: No reason given)1566 when presence validation is not required1567 when creating an object1568 does not raise an error if the internal id is blank1569 when updating an object1570 does not raise an error if the internal id is blank1571 Creating an instance1572 saves a new instance properly1573 internal id generation1574 calls InternalId.generate_next and sets internal id attribute1575 does not overwrite an existing internal id1576 when the instance has an internal ID set1577 calls InternalId.update_last_value and sets the `last_value` to that of the instance1578 unsetting the instance internal id on rollback1579 when the internal id has been changed1580 when the internal id is automatically set1581 clears it on the instance1582 when the internal id is manually set1583 does not clear it on the instance1584 when the internal id has not been changed1585 preserves the value on the instance1586 supply of internal ids1587 provides a persistent supply of IID values, sensitive to the current state1588 #reset_scope_internal_id_attribute1589 rewinds the allocated IID1590 allocates the same IID1591 #source1592 when creating new pipeline1593 prevents from creating an object1594 when updating existing pipeline1595 object is valid1596 #block1597 changes pipeline status to manual1598 #delay1599 changes pipeline status to schedule1600 #valid_commit_sha1601 commit.sha can not start with 000000001602 commit errors should not be empty1603 #short_sha1604 has 8 items1605 is expected to start with "b83d6e39"1606 #retried1607 returns old builds1608 #coverage1609 with multiple pipelines1610 calculates average when there are two builds with coverage1611 calculates average when there are two builds with coverage and one with nil1612 calculates average when there are two builds with coverage and one is retried1613 when there is one build without coverage1614 calculates average to nil1615 #update_builds_coverage1616 builds with coverage_regex defined1617 updates the coverage value of each build from the trace1618 builds without coverage_regex defined1619 does not update the coverage value of each build from the trace1620 builds with coverage values already present1621 does not update the coverage value of each build from the trace1622 #retryable?1623 no failed builds1624 is not retryable1625 one canceled job1626 is retryable1627 with failed builds1628 is retryable1629 #persisted_variables1630 when pipeline is not persisted yet1631 does not contain some variables1632 when pipeline is persisted1633 does contains persisted variables1634 #predefined_variables1635 includes all predefined variables in a valid order1636 when merge request is present1637 when pipeline for merge request is created1638 exposes merge request pipeline variables1639 exposes diff variables1640 without assignee1641 does not expose assignee variable1642 without milestone1643 does not expose milestone variable1644 without labels1645 does not expose labels variable1646 when pipeline on branch is created1647 when a merge request is created1648 when user has access to project1649 merge request references are returned matching the pipeline1650 when user does not have access to project1651 CI_OPEN_MERGE_REQUESTS is not returned1652 when no a merge request is created1653 CI_OPEN_MERGE_REQUESTS is not returned1654 with merged results1655 exposes merge request pipeline variables1656 exposes diff variables1657 when source is external pull request1658 exposes external pull request pipeline variables1659 variable CI_KUBERNETES_ACTIVE1660 when pipeline.has_kubernetes_active? is true1661 is included with value 'true'1662 when pipeline.has_kubernetes_active? is false1663 is not included1664 variable CI_GITLAB_FIPS_MODE1665 when FIPS flag is enabled1666 is included with value 'true'1667 when FIPS flag is disabled1668 is not included1669 without a commit1670 does not expose commit variables1671 #protected_ref?1672 delegates method to project1673 #legacy_trigger1674 returns first trigger request1675 #auto_canceled?1676 when it is canceled1677 when there is auto_canceled_by1678 is auto canceled1679 when there is no auto_canceled_by1680 is not auto canceled1681 when it is retried and canceled manually1682 is not auto canceled1683 pipeline stages1684 legacy stages1685 #stages_count1686 returns a valid number of stages1687 #stages_names1688 returns a valid names of stages1689 #stages1690 when pipelines is not complete1691 returns stages in valid order1692 when pipeline is complete1693 returns stages in valid order1694 state machine1695 when the pipeline received succeed! event1696 deletes a persistent ref1697 when the pipeline received drop! event1698 deletes a persistent ref1699 when the pipeline received cancel! event1700 deletes a persistent ref1701 when the pipeline received skip! event1702 deletes a persistent ref1703 when the pipeline received block! event1704 deletes a persistent ref1705 when the pipeline received delay! event1706 deletes a persistent ref1707 synching status to Jira1708 when Jira Connect subscription does not exist1709 does not trigger a Jira synch worker1710 when Jira Connect subscription exists1711 when we call pipeline.prepare!1712 triggers a Jira synch worker1713 when we call pipeline.run!1714 triggers a Jira synch worker1715 when we call pipeline.skip!1716 triggers a Jira synch worker1717 when we call pipeline.drop!1718 triggers a Jira synch worker1719 when we call pipeline.succeed!1720 triggers a Jira synch worker1721 when we call pipeline.cancel!1722 triggers a Jira synch worker1723 when we call pipeline.block!1724 triggers a Jira synch worker1725 when we call pipeline.delay!1726 triggers a Jira synch worker1727 #duration1728 when multiple builds are finished1729 matches sum of builds duration1730 when pipeline becomes blocked1731 recalculates pipeline duration1732 #started_at1733 from created1734 updates on transitioning to running1735 from preparing1736 updates on transitioning to running1737 from pending1738 updates on transitioning to running1739 from created1740 does not update on transitioning to success1741 from success1742 does not update on transitioning to running1743 #finished_at1744 updates on transitioning to success1745 does not update on transitioning to running1746 track artifact report1747 when transitioning to completed status1748 performs worker on transition to drop!1749 performs worker on transition to skip!1750 performs worker on transition to succeed!1751 performs worker on transition to cancel!1752 when pipeline retried from failed to success1753 counts only one report1754 merge request metrics1755 when transitioning to running1756 from created1757 schedules metrics workers1758 from preparing1759 schedules metrics workers1760 from pending1761 schedules metrics workers1762 when transitioning to success1763 schedules metrics workers1764 merge on success1765 from created1766 schedules daily build group report results worker1767 from preparing1768 schedules daily build group report results worker1769 from pending1770 schedules daily build group report results worker1771 from running1772 schedules daily build group report results worker1773 pipeline caching1774 executes Ci::ExpirePipelineCacheService1775 #dangling?1776 returns true if pipeline comes from any dangling sources1777 returns true if pipeline comes from any CI sources1778 auto merge1779 when auto merge is enabled1780 when the pipeline received succeed! event1781 performs AutoMergeProcessWorker1782 when the pipeline received drop! event1783 performs AutoMergeProcessWorker1784 when the pipeline received cancel! event1785 performs AutoMergeProcessWorker1786 when the pipeline received skip! event1787 performs AutoMergeProcessWorker1788 when auto merge is not enabled in the merge request1789 performs AutoMergeProcessWorker1790 auto devops pipeline metrics1791 action: :succeed, status: "success"1792 when pipeline receives action 'succeed'1793 is expected to change `auto_devops_pipelines_completed_total(status)` by 11794 when not auto_devops_source?1795 is expected not to change `auto_devops_pipelines_completed_total(status)`1796 action: :drop, status: "failed"1797 when pipeline receives action 'drop'1798 is expected to change `auto_devops_pipelines_completed_total(status)` by 11799 when not auto_devops_source?1800 is expected not to change `auto_devops_pipelines_completed_total(status)`1801 action: :skip, status: "skipped"1802 when pipeline receives action 'skip'1803 is expected to change `auto_devops_pipelines_completed_total(status)` by 11804 when not auto_devops_source?1805 is expected not to change `auto_devops_pipelines_completed_total(status)`1806 action: :cancel, status: "canceled"1807 when pipeline receives action 'cancel'1808 is expected to change `auto_devops_pipelines_completed_total(status)` by 11809 when not auto_devops_source?1810 is expected not to change `auto_devops_pipelines_completed_total(status)`1811 bridge triggered pipeline1812 multi-project pipelines1813 behaves like upstream downstream pipeline1814 when source bridge is dependent on pipeline status1815 schedules the pipeline bridge worker1816 when the downstream pipeline first fails then retries and succeeds1817 makes the upstream pipeline successful1818 when the downstream pipeline first succeeds then retries and fails1819 makes the upstream pipeline failed1820 when the upstream pipeline has another dependent upstream pipeline1821 when the downstream pipeline first fails then retries and succeeds1822 makes upstream pipelines successful1823 when source bridge is not dependent on pipeline status1824 does not schedule the pipeline bridge worker1825 parent-child pipelines1826 behaves like upstream downstream pipeline1827 when source bridge is dependent on pipeline status1828 schedules the pipeline bridge worker1829 when the downstream pipeline first fails then retries and succeeds1830 makes the upstream pipeline successful1831 when the downstream pipeline first succeeds then retries and fails1832 makes the upstream pipeline failed1833 when the upstream pipeline has another dependent upstream pipeline1834 when the downstream pipeline first fails then retries and succeeds1835 makes upstream pipelines successful1836 when source bridge is not dependent on pipeline status1837 does not schedule the pipeline bridge worker1838 #ensure_persistent_ref1839 when the persistent ref does not exist1840 creates a ref1841 when the persistent ref exists1842 does not create a ref1843 #branch?1844 when ref is not a tag1845 return true1846 when pipeline is merge request1847 returns false1848 when ref is a tag1849 return false1850 #git_ref1851 when ref is branch1852 returns branch ref1853 when ref is tag1854 returns branch ref1855 when ref is merge request1856 returns branch ref1857 ref_exists?1858 when repository exists1859 tag: false, ref: "master", result: true1860 correctly detects ref1861 tag: false, ref: "non-existent-branch", result: false1862 correctly detects ref1863 tag: true, ref: "v1.1.0", result: true1864 correctly detects ref1865 tag: true, ref: "non-existent-tag", result: false1866 correctly detects ref1867 when repository does not exist1868 always returns false1869 with non-empty project1870 #lazy_ref_commit1871 returns the latest commit for a ref lazily1872 #latest?1873 with latest sha1874 returns true1875 with a branch name as the ref1876 looks up a commit for a branch1877 with a tag name as a ref1878 looks up a commit for a tag1879 with not latest sha1880 returns false1881 #manual_actions1882 when none defined1883 when action defined1884 returns one action1885 there are multiple of the same name1886 returns latest one1887 #branch_updated?1888 when pipeline has before SHA1889 runs on a branch update push1890 when pipeline does not have before SHA1891 does not run on a branch updating push1892 #modified_paths1893 when old and new revisions are set1894 fetches stats for changes between commits1895 when either old or new revision is missing1896 returns nil1897 when source is merge request1898 returns merge request modified paths1899 when source is an external pull request1900 returns external pull request modified paths1901 #modified_paths_since1902 when no change in the new branch1903 returns an empty array1904 when adding a new file1905 returns the new file path1906 and when updating an existing file1907 returns the new and updated file paths1908 when updating an existing file1909 returns the updated file path1910 #all_worktree_paths1911 returns all file paths cached1912 #top_level_worktree_paths1913 returns top-level file paths cached1914 #has_kubernetes_active?1915 when kubernetes is active1916 when user configured kubernetes from CI/CD > Clusters1917 returns true1918 when kubernetes is not active1919 returns false1920 #has_warnings?1921 build which is allowed to fail fails1922 returns true1923 build which is allowed to fail succeeds1924 returns false1925 build is retried and succeeds1926 returns false1927 bridge which is allowed to fail fails1928 returns true1929 bridge which is allowed to fail is successful1930 returns false1931 #number_of_warnings1932 returns the number of warnings1933 supports eager loading of the number of warnings1934 #needs_processing?1935 processed: nil, result: true1936 is expected to eq true1937 processed: false, result: true1938 is expected to eq true1939 processed: true, result: false1940 is expected to eq false1941 with outdated pipelines1942 .newest_first1943 returns the pipelines from new to old1944 searches limited backlog1945 .latest_status1946 when no ref is specified1947 returns the status of the latest pipeline1948 when ref is specified1949 returns the status of the latest pipeline for the given ref1950 .latest_successful_for_ref1951 returns the latest successful pipeline1952 .latest_running_for_ref1953 returns the latest running pipeline1954 .latest_failed_for_ref1955 returns the latest failed pipeline1956 .latest_successful_for_sha1957 returns the latest successful pipeline1958 .latest_successful_for_refs1959 when refs are specified1960 returns the latest successful pipeline for both refs1961 when no refs are specified1962 returns an empty relation whenno refs are specified1963 .latest_pipeline_per_commit1964 without a ref1965 returns a Hash containing the latest pipeline per commit for all refs1966 only includes the latest pipeline of the given commit SHAs1967 when there are two pipelines for a ref and SHA1968 returns the latest pipeline1969 with a ref1970 only includes the pipelines for the given ref1971 when method is scoped1972 returns the latest pipeline after applying the scope1973 .latest_successful_ids_per_project1974 returns expected pipeline ids1975 .last_finished_for_ref_id1976 returns the expected pipeline1977 .internal_sources1978 is expected to be a kind of Array1979 .bridgeable_statuses1980 is expected to be a kind of Array1981 is expected not to include "created", "waiting_for_resource", "preparing", and "pending"1982 #status1983 on waiting for resource1984 is expected to eq "waiting_for_resource"1985 on prepare1986 is expected to eq "preparing"1987 on queuing1988 is expected to eq "pending"1989 on run1990 is expected to eq "running"1991 on drop1992 is expected to eq "failed"1993 on success1994 is expected to eq "success"1995 on cancel1996 when build is pending1997 is expected to eq "canceled"1998 on failure and build retry1999 is expected to eq "running"2000 #detailed_status2001 when pipeline is created2002 returns detailed status for created pipeline2003 when pipeline is pending2004 returns detailed status for pending pipeline2005 when pipeline is running2006 returns detailed status for running pipeline2007 when pipeline is successful2008 returns detailed status for successful pipeline2009 when pipeline is failed2010 returns detailed status for failed pipeline2011 when pipeline is canceled2012 returns detailed status for canceled pipeline2013 when pipeline is skipped2014 returns detailed status for skipped pipeline2015 when pipeline is blocked2016 returns detailed status for blocked pipeline2017 when pipeline is successful but with warnings2018 retruns detailed status for successful pipeline with warnings2019 #cancelable?2020 when there is a build created2021 is cancelable2022 when there is an external job created2023 is cancelable2024 when there are generic_commit_status jobs for created and success2025 is cancelable2026 when there are generic_commit_status and ci_build jobs for created and success2027 is cancelable2028 when there are ci_build jobs for created and success2029 is cancelable2030 when there are generic_commit_status jobs for created and failed2031 is cancelable2032 when there are generic_commit_status and ci_build jobs for created and failed2033 is cancelable2034 when there are ci_build jobs for created and failed2035 is cancelable2036 when there are generic_commit_status jobs for created and canceled2037 is cancelable2038 when there are generic_commit_status and ci_build jobs for created and canceled2039 is cancelable2040 when there are ci_build jobs for created and canceled2041 is cancelable2042 when there is a build running2043 is cancelable2044 when there is an external job running2045 is cancelable2046 when there are generic_commit_status jobs for running and success2047 is cancelable2048 when there are generic_commit_status and ci_build jobs for running and success2049 is cancelable2050 when there are ci_build jobs for running and success2051 is cancelable2052 when there are generic_commit_status jobs for running and failed2053 is cancelable2054 when there are generic_commit_status and ci_build jobs for running and failed2055 is cancelable2056 when there are ci_build jobs for running and failed2057 is cancelable2058 when there are generic_commit_status jobs for running and canceled2059 is cancelable2060 when there are generic_commit_status and ci_build jobs for running and canceled2061 is cancelable2062 when there are ci_build jobs for running and canceled2063 is cancelable2064 when there is a build pending2065 is cancelable2066 when there is an external job pending2067 is cancelable2068 when there are generic_commit_status jobs for pending and success2069 is cancelable2070 when there are generic_commit_status and ci_build jobs for pending and success2071 is cancelable2072 when there are ci_build jobs for pending and success2073 is cancelable2074 when there are generic_commit_status jobs for pending and failed2075 is cancelable2076 when there are generic_commit_status and ci_build jobs for pending and failed2077 is cancelable2078 when there are ci_build jobs for pending and failed2079 is cancelable2080 when there are generic_commit_status jobs for pending and canceled2081 is cancelable2082 when there are generic_commit_status and ci_build jobs for pending and canceled2083 is cancelable2084 when there are ci_build jobs for pending and canceled2085 is cancelable2086 when there is a build success2087 is not cancelable2088 when there is an external job success2089 is not cancelable2090 when there is a build failed2091 is not cancelable2092 when there is an external job failed2093 is not cancelable2094 when there is a build canceled2095 is not cancelable2096 when there is an external job canceled2097 is not cancelable2098 when there is a manual action present in the pipeline2099 is not cancelable2100 #cancel_running2101 logs the event2102 when there is a running external job and a regular job2103 cancels both jobs2104 when jobs are in different stages2105 cancels both jobs2106 when there are created builds present in the pipeline2107 cancels created builds2108 with bridge jobs2109 bridges are canceled2110 when pipeline is not cancelable2111 does not send cancel signal to cancel self2112 preloading relations2113 preloads relations for each build to avoid N+1 queries2114 behaves like retries2115 when the first try cannot get an exclusive lock2116 retries again and cancels the build2117 when the retries parameter is 02118 raises error2119 when auto canceled2120 sets auto cancel2121 when there are child pipelines2122 when cascade_to_children is true2123 does not cancel uncancelable child pipeline builds2124 when cancelable child pipeline builds2125 cancels child builds2126 cancels bridges2127 with nested child pipelines2128 cancels them2129 when auto canceled2130 sets auto cancel2131 when execute_async is false2132 runs sync2133 cancels children2134 with nested child pipelines2135 cancels them2136 when cascade_to_children is false2137 does not cancel cancelable child pipeline builds2138 does not cancel uncancelable child pipeline builds2139 .cancelable2140 behaves like containing the pipeline2141 when it's running pipeline2142 is expected to contain exactly #<Ci::Pipeline id: 345, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...a: nil, external_pull_request_id: nil, ci_ref_id: 90, locked: "artifacts_locked", partition_id: 100>2143 behaves like containing the pipeline2144 when it's pending pipeline2145 is expected to contain exactly #<Ci::Pipeline id: 346, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...a: nil, external_pull_request_id: nil, ci_ref_id: 91, locked: "artifacts_locked", partition_id: 100>2146 behaves like containing the pipeline2147 when it's waiting_for_resource pipeline2148 is expected to contain exactly #<Ci::Pipeline id: 347, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...a: nil, external_pull_request_id: nil, ci_ref_id: 92, locked: "artifacts_locked", partition_id: 100>2149 behaves like containing the pipeline2150 when it's preparing pipeline2151 is expected to contain exactly #<Ci::Pipeline id: 348, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...a: nil, external_pull_request_id: nil, ci_ref_id: 93, locked: "artifacts_locked", partition_id: 100>2152 behaves like containing the pipeline2153 when it's created pipeline2154 is expected to contain exactly #<Ci::Pipeline id: 349, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...a: nil, external_pull_request_id: nil, ci_ref_id: 94, locked: "artifacts_locked", partition_id: 100>2155 behaves like containing the pipeline2156 when it's scheduled pipeline2157 is expected to contain exactly #<Ci::Pipeline id: 350, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...a: nil, external_pull_request_id: nil, ci_ref_id: 95, locked: "artifacts_locked", partition_id: 100>2158 behaves like containing the pipeline2159 when it's manual pipeline2160 is expected to contain exactly #<Ci::Pipeline id: 351, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...a: nil, external_pull_request_id: nil, ci_ref_id: 96, locked: "artifacts_locked", partition_id: 100>2161 behaves like not containing the pipeline2162 when it's failed pipeline2163 is expected to be empty2164 behaves like not containing the pipeline2165 when it's success pipeline2166 is expected to be empty2167 behaves like not containing the pipeline2168 when it's skipped pipeline2169 is expected to be empty2170 behaves like not containing the pipeline2171 when it's canceled pipeline2172 is expected to be empty2173 #retry_failed2174 when there is a failed build and failed external status2175 retries only build2176 when builds are in different stages2177 retries both builds2178 when there are canceled and failed2179 retries both builds2180 hooks trigerring2181 when pipeline action is enqueue2182 schedules a new PipelineHooksWorker job2183 with blocked users2184 does not schedule a new PipelineHooksWorker job2185 when pipeline action is request_resource2186 schedules a new PipelineHooksWorker job2187 with blocked users2188 does not schedule a new PipelineHooksWorker job2189 when pipeline action is prepare2190 schedules a new PipelineHooksWorker job2191 with blocked users2192 does not schedule a new PipelineHooksWorker job2193 when pipeline action is run2194 schedules a new PipelineHooksWorker job2195 with blocked users2196 does not schedule a new PipelineHooksWorker job2197 when pipeline action is skip2198 schedules a new PipelineHooksWorker job2199 with blocked users2200 does not schedule a new PipelineHooksWorker job2201 when pipeline action is drop2202 schedules a new PipelineHooksWorker job2203 with blocked users2204 does not schedule a new PipelineHooksWorker job2205 when pipeline action is succeed2206 schedules a new PipelineHooksWorker job2207 with blocked users2208 does not schedule a new PipelineHooksWorker job2209 when pipeline action is cancel2210 schedules a new PipelineHooksWorker job2211 with blocked users2212 does not schedule a new PipelineHooksWorker job2213 when pipeline action is block2214 schedules a new PipelineHooksWorker job2215 with blocked users2216 does not schedule a new PipelineHooksWorker job2217 when pipeline action is delay2218 schedules a new PipelineHooksWorker job2219 with blocked users2220 does not schedule a new PipelineHooksWorker job2221 #merge_requests_as_head_pipeline2222 returns merge requests whose `diff_head_sha` matches the pipeline's SHA2223 doesn't return merge requests whose source branch doesn't match the pipeline's ref2224 doesn't return merge requests whose `diff_head_sha` doesn't match the pipeline's SHA2225 #all_merge_requests2226 behaves like a method that returns all merge requests for a given pipeline2227 returns all merge requests having the same source branch and the pipeline sha2228 doesn't return merge requests having the same source branch without the pipeline sha2229 doesn't return merge requests having a different source branch2230 when there is a merge request pipeline2231 returns an associated merge request2232 when there is another merge request pipeline that targets a different branch2233 does not return an associated merge request2234 for a fork2235 behaves like a method that returns all merge requests for a given pipeline2236 returns all merge requests having the same source branch and the pipeline sha2237 doesn't return merge requests having the same source branch without the pipeline sha2238 doesn't return merge requests having a different source branch2239 when there is a merge request pipeline2240 returns an associated merge request2241 when there is another merge request pipeline that targets a different branch2242 does not return an associated merge request2243 #related_merge_requests2244 for a branch pipeline2245 when no merge request is created2246 when another merge requests are created2247 for a merge pipeline2248 when only merge pipeline is created2249 when a merge request is created2250 #open_merge_requests_refs2251 when user is a developer2252 returns open merge requests2253 does not return closed merge requests2254 limits amount of returned merge requests2255 returns only last 4 in a reverse order2256 when user does not have permissions2257 does not return any merge requests2258 #same_family_pipeline_ids2259 when pipeline is not child nor parent2260 returns just the pipeline id2261 when pipeline is child2262 returns parent sibling and self ids2263 when pipeline is parent2264 returns self and child ids2265 when pipeline is a child of a child pipeline2266 returns all family ids2267 when pipeline is a triggered pipeline2268 returns self id2269 #environments_in_self_and_project_descendants2270 when pipeline is not child nor parent2271 returns just the pipeline environment2272 when deployment SHA is not matched2273 does not return environments2274 when an associated environment does not have deployments2275 does not return environments2276 when pipeline is in extended family2277 returns its own environment and from all descendants2278 does not return parent environment2279 does not return sibling environment2280 when each pipeline has multiple environments2281 returns all related environments2282 when pipeline has no environment2283 returns empty2284 #root_ancestor2285 when pipeline is child of child pipeline2286 returns the root ancestor2287 when pipeline is root ancestor2288 returns itself2289 when pipeline is standalone2290 returns itself2291 when pipeline is multi-project downstream pipeline2292 ignores cross project ancestors2293 #upstream_root2294 when pipeline is child of child pipeline2295 returns the root ancestor2296 when pipeline is root ancestor2297 returns itself2298 when pipeline is standalone2299 returns itself2300 when pipeline is multi-project downstream pipeline2301 returns the upstream pipeline2302 #stuck?2303 when pipeline is stuck2304 is stuck2305 when pipeline is not stuck2306 is not stuck2307 #add_error_message2308 adds a new pipeline error message2309 #has_yaml_errors?2310 returns false if yaml_errors is not set2311 when yaml_errors is set2312 returns true if yaml_errors is set2313 notifications when pipeline success or failed2314 with success pipeline2315 enqueues PipelineNotificationWorker2316 behaves like sending a notification2317 sends an email2318 when pipeline is not the latest2319 does not pass ref_status2320 when the user is blocked2321 does not enqueue PipelineNotificationWorker2322 with failed pipeline2323 enqueues PipelineNotificationWorker2324 behaves like sending a notification2325 sends an email2326 when the user is blocked2327 does not enqueue PipelineNotificationWorker2328 with skipped pipeline2329 behaves like not sending any notification2330 does not send any email2331 with cancelled pipeline2332 behaves like not sending any notification2333 does not send any email2334 updates ci_ref when pipeline finished2335 when ci_ref exists2336 updates the ci_ref2337 when ci_ref does not exist2338 does not raise an exception2339 #ensure_ci_ref!2340 when ci_ref does not exist yet2341 creates a new ci_ref and assigns it2342 when ci_ref already exists2343 fetches a new ci_ref and assigns it2344 #self_and_project_descendants_complete?2345 when all pipelines in the hierarchy is complete2346 is expected to equal true2347 when a pipeline in the hierarchy is not complete2348 is expected to equal false2349 #builds_in_self_and_project_descendants2350 when pipeline is standalone2351 returns the list of builds2352 when pipeline is parent of another pipeline2353 returns the list of builds2354 when pipeline is parent of another parent pipeline2355 returns the list of builds2356 #build_with_artifacts_in_self_and_project_descendants2357 returns the build with a given name, having artifacts2358 when same job name is present in both parent and child pipeline2359 returns the job in the parent pipeline2360 #find_job_with_archive_artifacts2361 finds the expected job2362 #latest_builds_with_artifacts2363 returns an Array2364 returns the latest builds with non-expired artifacts2365 does not return builds with expired artifacts2366 memoizes the returned relation2367 #batch_lookup_report_artifact_for_file_type2368 with code quality report artifact2369 returns the code quality artifact2370 #latest_report_builds2371 returns build with test artifacts2372 filters builds by scope2373 only returns not retried builds2374 #latest_report_builds_in_self_and_project_descendants2375 returns builds with reports artifacts from pipelines in the hierarcy2376 filters builds by scope2377 only returns builds that are not retried2378 #has_reports?2379 when pipeline has builds with test reports2380 is expected to be truthy2381 when pipeline does not have builds with test reports2382 is expected to be falsey2383 when retried build has test reports but latest one has none2384 is expected to be falsey2385 #complete_and_has_reports?2386 when pipeline has builds with test reports2387 when pipeline status is running2388 with mr_show_reports_immediately flag enabled2389 is expected to be truthy2390 with mr_show_reports_immediately flag disabled2391 is expected to be falsey2392 when pipeline status is success2393 is expected to be truthy2394 when pipeline does not have builds with test reports2395 is expected to be falsey2396 when retried build has test reports2397 is expected to be falsey2398 #has_coverage_reports?2399 when pipeline has a code coverage artifact2400 is expected to be truthy2401 when pipeline does not have a code coverage artifact2402 is expected to be falsey2403 #has_codequality_mr_diff_report?2404 when pipeline has a codequality mr diff report2405 is expected to be truthy2406 when pipeline does not have a codequality mr diff report2407 is expected to be falsey2408 #can_generate_codequality_reports?2409 when pipeline has builds with codequality reports2410 when pipeline status is running2411 with mr_show_reports_immediately flag enabled2412 is expected to be truthy2413 with mr_show_reports_immediately flag disabled2414 is expected to be falsey2415 when pipeline status is success2416 can generate a codequality report2417 when pipeline does not have builds with codequality reports2418 is expected to be falsey2419 #test_report_summary2420 when pipeline has multiple builds with report results2421 returns test report summary with collected data2422 when pipeline does not have any builds with report results2423 returns empty test report summary2424 #test_reports2425 when pipeline has multiple builds with test reports2426 has a test suite for each job2427 returns test reports with collected data2428 when builds are retried2429 does not take retried builds into account2430 when the pipeline has parallel builds with test reports2431 merges the test suite from parallel builds2432 the pipeline has matrix builds with test reports2433 keeps separate test suites for each matrix build2434 when pipeline does not have any builds with test reports2435 returns empty test reports2436 #accessibility_reports2437 when pipeline has multiple builds with accessibility reports2438 returns accessibility report with collected data2439 when builds are retried2440 returns empty urls for accessibility reports2441 when pipeline does not have any builds with accessibility reports2442 returns empty urls for accessibility reports2443 #codequality_reports2444 when pipeline has multiple builds with codequality reports2445 returns codequality report with collected data2446 when builds are retried2447 returns a codequality reports without degradations2448 when pipeline does not have any builds with codequality reports2449 returns codequality reports without degradations2450 #uses_needs?2451 when the scheduling type is `dag`2452 when the processable is a bridge2453 returns true2454 when the processable is a build2455 returns true2456 when the scheduling type is nil or stage2457 returns false2458 #total_size2459 returns all jobs (including failed and retried)2460 #status2461 when transitioning to failed2462 when pipeline has autodevops as source2463 calls autodevops disable service2464 when pipeline has other source2465 does not call auto devops disable service2466 with failure_reason2467 increments the counter with the failure_reason2468 #default_branch?2469 when pipeline ref is the default branch of the project2470 returns true2471 when pipeline ref is not the default branch of the project2472 returns false2473 fetching a stage by name2474 #stage2475 when stage exists2476 is expected to eq #<Ci::Stage project_id: 1, pipeline_id: 477, created_at: "2022-11-11 00:57:29.895960471 +0000", updat...1 +0000", name: "test", status: "pending", lock_version: 0, position: 1, id: 250, partition_id: 100>2477 when stage does not exist2478 returns nil2479 #full_error_messages2480 when pipeline has errors2481 returns the full error messages2482 when pipeline does not have errors2483 returns empty string2484 #created_successfully?2485 when pipeline is not persisted2486 is expected to be falsey2487 when pipeline is persisted2488 when pipeline has failure reasons2489 is expected to be falsey2490 when pipeline has no failure reasons2491 is expected to be truthy2492 #parent_pipeline2493 when pipeline is triggered by a pipeline from the same project2494 returns the parent pipeline2495 is child2496 when pipeline is triggered by a pipeline from another project2497 returns nil2498 is not child2499 when pipeline is not triggered by a pipeline2500 returns nil2501 is not child2502 #child_pipelines2503 when pipeline triggered other pipelines on same project2504 returns the child pipelines2505 is parent2506 when pipeline triggered other pipelines on another project2507 returns empty array2508 is not parent2509 when pipeline did not trigger any pipelines2510 returns empty array2511 is not parent2512 upstream status interactions2513 when a pipeline has an upstream status2514 when an upstream status is a bridge2515 #bridge_triggered?2516 is a pipeline triggered by a bridge2517 #source_job2518 has a correct source job2519 #source_bridge2520 has a correct bridge source2521 when an upstream status is a build2522 #bridge_triggered?2523 is a pipeline that has not been triggered by a bridge2524 #source_job2525 has a correct source job2526 #source_bridge2527 does not have a bridge source2528 #source_ref_path2529 when pipeline is for a branch2530 is expected to eq "refs/heads/master"2531 when pipeline is for a merge request2532 is expected to eq "refs/heads/master"2533 when pipeline is for a tag2534 is expected to eq "refs/tags/master"2535 #builds_with_coverage2536 returns builds with coverage only2537 returns only latest builds2538 #self_and_upstreams2539 when pipeline is not child nor parent2540 returns just the pipeline itself2541 when pipeline is child2542 returns parent and self2543 when pipeline is parent2544 returns self2545 when pipeline is a child of a child pipeline2546 returns self, parent and ancestor2547 when pipeline is a triggered pipeline from a different project2548 returns upstream and self2549 #self_and_downstreams2550 when pipeline is not child nor parent2551 returns just the pipeline itself2552 when pipeline is child2553 returns self and no ancestors2554 when pipeline is parent2555 returns self and child2556 when pipeline is a grandparent pipeline2557 returns self, child, and grandchild2558 when pipeline is a triggered pipeline from a different project2559 returns self and cross-project downstream2560 #self_and_project_ancestors2561 when pipeline is child2562 returns parent and self2563 when pipeline is a triggered pipeline from a different project2564 returns only self2565 #complete_hierarchy_count2566 with a combination of ancestor, descendant and sibling pipelines2567 counts the whole tree2568 #reset_source_bridge!2569 with downstream pipeline2570 when the user has permissions for the processable2571 when the downstream has strategy: depend2572 marks source bridge as pending2573 with subsequent jobs2574 changes subsequent job statuses to created2575 when the user is not the build user2576 changes subsequent jobs user2577 when the upstream pipeline pipeline has a dependent upstream pipeline2578 marks all source bridges as pending2579 without strategy: depend2580 does not touch source bridge2581 when the upstream pipeline has a dependent upstream pipeline2582 does not touch any source bridge2583 when the user does not have permissions for the processable2584 does not change bridge status2585 with subsequent jobs2586 does not change job statuses2587 test failure history processing2588 performs the service asynchronously when the pipeline is completed2589 #latest_test_report_builds2590 returns pipeline builds with test report artifacts2591 preloads project on each build to avoid N+1 queries2592 #builds_with_failed_tests2593 returns pipeline builds with test report artifacts2594 supports limiting the number of builds to fetch2595 preloads project on each build to avoid N+1 queries2596 #build_matchers2597 returns build matchers2598 with retried builds2599 does not include retried builds2600 #cluster_agent_authorizations2601 retrieves authorization records from the finder and caches the result2602 #has_test_reports?2603 when artifacts are not expired2604 is expected to be truthy2605 when artifacts are expired2606 is expected to be truthy2607 when artifacts are removed2608 is expected to be falsey2609 when the pipeline is still running and with test reports2610 is expected to be truthy2611 behaves like it has loose foreign keys2612 has at least one loose foreign key definition2613 has the deletion trigger present2614 records record deletions2615 cleans up record deletions2616 loose foreign key on ci_pipelines.user_id2617 behaves like cleanup by a loose foreign key2618 cleans up (delete or nullify) the model2619 tags count2620 is expected to eq 02621 is expected to eq 02622 with builds2623 is expected to eq 42624 is expected to eq 32625 loose foreign key on ci_pipelines.merge_request_id2626 behaves like cleanup by a loose foreign key2627 cleans up (delete or nullify) the model2628 loose foreign key on ci_pipelines.project_id2629 behaves like cleanup by a loose foreign key2630 cleans up (delete or nullify) the model2631 #jobs_git_ref2632 when tag is true2633 returns a tag ref2634 when tag is false2635 returns a branch ref2636 when tag is nil2637 returns a branch ref2638 when it is triggered by a merge request2639 returns nil2640 #age_in_minutes2641 when pipeline has not been persisted2642 returns zero2643 when pipeline has been saved2644 returns pipeline age in minutes2645 when pipeline has no created_at2646 returns zero2647 when pipeline has been loaded without all attributes2648 raises an exception2649 partitioning2650 sets partition_id to the current partition value2651 when it is already set2652 does not change the partition_id value2653 without current partition value2654 is expected to validate that :partition_id cannot be empty/falsy2655 does not change the partition_id value2656 #notes=2657 when notes already exist2658 does not create duplicate notes2659 #has_erasable_artifacts?2660 when pipeline is not complete2661 and has erasable artifacts2662 is expected to be falsey2663 when pipeline is complete2664 and has no artifacts2665 is expected to be falsey2666 and has an artifact of type archive2667 is expected to be truthy2668 and has an artifact of type metadata2669 is expected to be truthy2670 and has an artifact of type junit2671 is expected to be truthy2672 and has an artifact of type sast2673 is expected to be truthy2674 and has an artifact of type dependency_scanning2675 is expected to be truthy2676 and has an artifact of type container_scanning2677 is expected to be truthy2678 and has an artifact of type dast2679 is expected to be truthy2680 and has an artifact of type codequality2681 is expected to be truthy2682 and has an artifact of type license_scanning2683 is expected to be truthy2684 and has an artifact of type performance2685 is expected to be truthy2686 and has an artifact of type metrics2687 is expected to be truthy2688 and has an artifact of type metrics_referee2689 is expected to be truthy2690 and has an artifact of type network_referee2691 is expected to be truthy2692 and has an artifact of type lsif2693 is expected to be truthy2694 and has an artifact of type dotenv2695 is expected to be truthy2696 and has an artifact of type cobertura2697 is expected to be truthy2698 and has an artifact of type terraform2699 is expected to be truthy2700 and has an artifact of type accessibility2701 is expected to be truthy2702 and has an artifact of type cluster_applications2703 is expected to be truthy2704 and has an artifact of type secret_detection2705 is expected to be truthy2706 and has an artifact of type requirements2707 is expected to be truthy2708 and has an artifact of type coverage_fuzzing2709 is expected to be truthy2710 and has an artifact of type browser_performance2711 is expected to be truthy2712 and has an artifact of type load_performance2713 is expected to be truthy2714 and has an artifact of type api_fuzzing2715 is expected to be truthy2716 and has an artifact of type cluster_image_scanning2717 is expected to be truthy2718 and has an artifact of type cyclonedx2719 is expected to be truthy2720Gitlab::Metrics::Subscribers::ActiveRecord2721 .load_balancing_metric_counter_keys2722 multiple databases2723 has expected keys2724 single database2725 has expected keys (PENDING: Skipping because multiple databases are set up)2726 does not have ci keys (PENDING: Skipping because multiple databases are set up)2727 .load_balancing_metric_duration_keys2728 multiple databases2729 has expected keys2730 single database2731 has expected keys (PENDING: Skipping because multiple databases are set up)2732 does not have ci keys (PENDING: Skipping because multiple databases are set up)2733 #transaction2734 when both web and background transaction are available2735 captures the metrics for web only2736 when web transaction is available2737 captures the metrics for web only2738 when background transaction is available2739 captures the metrics for web only2740 #sql2741 without Marginalia comments2742 behaves like track generic sql events2743 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false2744 marks the current thread as using the database2745 behaves like record ActiveRecord metrics2746 when both web and background transaction are available2747 captures the metrics for web only2748 behaves like record ActiveRecord metrics in a metrics transaction2749 increments only db counters2750 observes sql_duration metric2751 when web transaction is available2752 behaves like record ActiveRecord metrics in a metrics transaction2753 increments only db counters2754 observes sql_duration metric2755 when background transaction is available2756 behaves like record ActiveRecord metrics in a metrics transaction2757 increments only db counters2758 observes sql_duration metric2759 behaves like store ActiveRecord info in RequestStore2760 prevents db counters from leaking to the next transaction2761 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: false2762 marks the current thread as using the database2763 behaves like record ActiveRecord metrics2764 when both web and background transaction are available2765 captures the metrics for web only2766 behaves like record ActiveRecord metrics in a metrics transaction2767 increments only db counters2768 observes sql_duration metric2769 when web transaction is available2770 behaves like record ActiveRecord metrics in a metrics transaction2771 increments only db counters2772 observes sql_duration metric2773 when background transaction is available2774 behaves like record ActiveRecord metrics in a metrics transaction2775 increments only db counters2776 observes sql_duration metric2777 behaves like store ActiveRecord info in RequestStore2778 prevents db counters from leaking to the next transaction2779 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10 FOR UPDATE", record_query: true, record_write_query: true, record_cached_query: false2780 marks the current thread as using the database2781 behaves like record ActiveRecord metrics2782 when both web and background transaction are available2783 captures the metrics for web only2784 behaves like record ActiveRecord metrics in a metrics transaction2785 increments only db counters2786 observes sql_duration metric2787 when web transaction is available2788 behaves like record ActiveRecord metrics in a metrics transaction2789 increments only db counters2790 observes sql_duration metric2791 when background transaction is available2792 behaves like record ActiveRecord metrics in a metrics transaction2793 increments only db counters2794 observes sql_duration metric2795 behaves like store ActiveRecord info in RequestStore2796 prevents db counters from leaking to the next transaction2797 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: false2798 marks the current thread as using the database2799 behaves like record ActiveRecord metrics2800 when both web and background transaction are available2801 captures the metrics for web only2802 behaves like record ActiveRecord metrics in a metrics transaction2803 increments only db counters2804 observes sql_duration metric2805 when web transaction is available2806 behaves like record ActiveRecord metrics in a metrics transaction2807 increments only db counters2808 observes sql_duration metric2809 when background transaction is available2810 behaves like record ActiveRecord metrics in a metrics transaction2811 increments only db counters2812 observes sql_duration metric2813 behaves like store ActiveRecord info in RequestStore2814 prevents db counters from leaking to the next transaction2815 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false2816 marks the current thread as using the database2817 behaves like record ActiveRecord metrics2818 when both web and background transaction are available2819 captures the metrics for web only2820 behaves like record ActiveRecord metrics in a metrics transaction2821 increments only db counters2822 observes sql_duration metric2823 when web transaction is available2824 behaves like record ActiveRecord metrics in a metrics transaction2825 increments only db counters2826 observes sql_duration metric2827 when background transaction is available2828 behaves like record ActiveRecord metrics in a metrics transaction2829 increments only db counters2830 observes sql_duration metric2831 behaves like store ActiveRecord info in RequestStore2832 prevents db counters from leaking to the next transaction2833 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: false2834 marks the current thread as using the database2835 behaves like record ActiveRecord metrics2836 when both web and background transaction are available2837 captures the metrics for web only2838 behaves like record ActiveRecord metrics in a metrics transaction2839 increments only db counters2840 observes sql_duration metric2841 when web transaction is available2842 behaves like record ActiveRecord metrics in a metrics transaction2843 increments only db counters2844 observes sql_duration metric2845 when background transaction is available2846 behaves like record ActiveRecord metrics in a metrics transaction2847 increments only db counters2848 observes sql_duration metric2849 behaves like store ActiveRecord info in RequestStore2850 prevents db counters from leaking to the next transaction2851 name: "SQL", sql_query: "UPDATE users SET admin = true WHERE id = 10", record_query: true, record_write_query: true, record_cached_query: false2852 marks the current thread as using the database2853 behaves like record ActiveRecord metrics2854 when both web and background transaction are available2855 captures the metrics for web only2856 behaves like record ActiveRecord metrics in a metrics transaction2857 increments only db counters2858 observes sql_duration metric2859 when web transaction is available2860 behaves like record ActiveRecord metrics in a metrics transaction2861 increments only db counters2862 observes sql_duration metric2863 when background transaction is available2864 behaves like record ActiveRecord metrics in a metrics transaction2865 increments only db counters2866 observes sql_duration metric2867 behaves like store ActiveRecord info in RequestStore2868 prevents db counters from leaking to the next transaction2869 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true2870 marks the current thread as using the database2871 behaves like record ActiveRecord metrics2872 when both web and background transaction are available2873 captures the metrics for web only2874 behaves like record ActiveRecord metrics in a metrics transaction2875 increments only db counters2876 observes sql_duration metric2877 when web transaction is available2878 behaves like record ActiveRecord metrics in a metrics transaction2879 increments only db counters2880 observes sql_duration metric2881 when background transaction is available2882 behaves like record ActiveRecord metrics in a metrics transaction2883 increments only db counters2884 observes sql_duration metric2885 behaves like store ActiveRecord info in RequestStore2886 prevents db counters from leaking to the next transaction2887 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: false2888 marks the current thread as using the database2889 behaves like record ActiveRecord metrics2890 when both web and background transaction are available2891 captures the metrics for web only2892 behaves like record ActiveRecord metrics in a metrics transaction2893 increments only db counters2894 observes sql_duration metric2895 when web transaction is available2896 behaves like record ActiveRecord metrics in a metrics transaction2897 increments only db counters2898 observes sql_duration metric2899 when background transaction is available2900 behaves like record ActiveRecord metrics in a metrics transaction2901 increments only db counters2902 observes sql_duration metric2903 behaves like store ActiveRecord info in RequestStore2904 prevents db counters from leaking to the next transaction2905 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false2906 marks the current thread as using the database2907 behaves like record ActiveRecord metrics2908 when both web and background transaction are available2909 captures the metrics for web only2910 behaves like record ActiveRecord metrics in a metrics transaction2911 increments only db counters2912 observes sql_duration metric2913 when web transaction is available2914 behaves like record ActiveRecord metrics in a metrics transaction2915 increments only db counters2916 observes sql_duration metric2917 when background transaction is available2918 behaves like record ActiveRecord metrics in a metrics transaction2919 increments only db counters2920 observes sql_duration metric2921 behaves like store ActiveRecord info in RequestStore2922 prevents db counters from leaking to the next transaction2923 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false2924 marks the current thread as using the database2925 behaves like record ActiveRecord metrics2926 when both web and background transaction are available2927 captures the metrics for web only2928 behaves like record ActiveRecord metrics in a metrics transaction2929 increments only db counters2930 observes sql_duration metric2931 when web transaction is available2932 behaves like record ActiveRecord metrics in a metrics transaction2933 increments only db counters2934 observes sql_duration metric2935 when background transaction is available2936 behaves like record ActiveRecord metrics in a metrics transaction2937 increments only db counters2938 observes sql_duration metric2939 behaves like store ActiveRecord info in RequestStore2940 prevents db counters from leaking to the next transaction2941 with Marginalia comments2942 behaves like track generic sql events2943 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false2944 marks the current thread as using the database2945 behaves like record ActiveRecord metrics2946 when both web and background transaction are available2947 captures the metrics for web only2948 behaves like record ActiveRecord metrics in a metrics transaction2949 increments only db counters2950 observes sql_duration metric2951 when web transaction is available2952 behaves like record ActiveRecord metrics in a metrics transaction2953 increments only db counters2954 observes sql_duration metric2955 when background transaction is available2956 behaves like record ActiveRecord metrics in a metrics transaction2957 increments only db counters2958 observes sql_duration metric2959 behaves like store ActiveRecord info in RequestStore2960 prevents db counters from leaking to the next transaction2961 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: false2962 marks the current thread as using the database2963 behaves like record ActiveRecord metrics2964 when both web and background transaction are available2965 captures the metrics for web only2966 behaves like record ActiveRecord metrics in a metrics transaction2967 increments only db counters2968 observes sql_duration metric2969 when web transaction is available2970 behaves like record ActiveRecord metrics in a metrics transaction2971 increments only db counters2972 observes sql_duration metric2973 when background transaction is available2974 behaves like record ActiveRecord metrics in a metrics transaction2975 increments only db counters2976 observes sql_duration metric2977 behaves like store ActiveRecord info in RequestStore2978 prevents db counters from leaking to the next transaction2979 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10 FOR UPDATE", record_query: true, record_write_query: true, record_cached_query: false2980 marks the current thread as using the database2981 behaves like record ActiveRecord metrics2982 when both web and background transaction are available2983 captures the metrics for web only2984 behaves like record ActiveRecord metrics in a metrics transaction2985 increments only db counters2986 observes sql_duration metric2987 when web transaction is available2988 behaves like record ActiveRecord metrics in a metrics transaction2989 increments only db counters2990 observes sql_duration metric2991 when background transaction is available2992 behaves like record ActiveRecord metrics in a metrics transaction2993 increments only db counters2994 observes sql_duration metric2995 behaves like store ActiveRecord info in RequestStore2996 prevents db counters from leaking to the next transaction2997 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: false2998 marks the current thread as using the database2999 behaves like record ActiveRecord metrics3000 when both web and background transaction are available3001 captures the metrics for web only3002 behaves like record ActiveRecord metrics in a metrics transaction3003 increments only db counters3004 observes sql_duration metric3005 when web transaction is available3006 behaves like record ActiveRecord metrics in a metrics transaction3007 increments only db counters3008 observes sql_duration metric3009 when background transaction is available3010 behaves like record ActiveRecord metrics in a metrics transaction3011 increments only db counters3012 observes sql_duration metric3013 behaves like store ActiveRecord info in RequestStore3014 prevents db counters from leaking to the next transaction3015 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false3016 marks the current thread as using the database3017 behaves like record ActiveRecord metrics3018 when both web and background transaction are available3019 captures the metrics for web only3020 behaves like record ActiveRecord metrics in a metrics transaction3021 increments only db counters3022 observes sql_duration metric3023 when web transaction is available3024 behaves like record ActiveRecord metrics in a metrics transaction3025 increments only db counters3026 observes sql_duration metric3027 when background transaction is available3028 behaves like record ActiveRecord metrics in a metrics transaction3029 increments only db counters3030 observes sql_duration metric3031 behaves like store ActiveRecord info in RequestStore3032 prevents db counters from leaking to the next transaction3033 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: false3034 marks the current thread as using the database3035 behaves like record ActiveRecord metrics3036 when both web and background transaction are available3037 captures the metrics for web only3038 behaves like record ActiveRecord metrics in a metrics transaction3039 increments only db counters3040 observes sql_duration metric3041 when web transaction is available3042 behaves like record ActiveRecord metrics in a metrics transaction3043 increments only db counters3044 observes sql_duration metric3045 when background transaction is available3046 behaves like record ActiveRecord metrics in a metrics transaction3047 increments only db counters3048 observes sql_duration metric3049 behaves like store ActiveRecord info in RequestStore3050 prevents db counters from leaking to the next transaction3051 name: "SQL", sql_query: "UPDATE users SET admin = true WHERE id = 10", record_query: true, record_write_query: true, record_cached_query: false3052 marks the current thread as using the database3053 behaves like record ActiveRecord metrics3054 when both web and background transaction are available3055 captures the metrics for web only3056 behaves like record ActiveRecord metrics in a metrics transaction3057 increments only db counters3058 observes sql_duration metric3059 when web transaction is available3060 behaves like record ActiveRecord metrics in a metrics transaction3061 increments only db counters3062 observes sql_duration metric3063 when background transaction is available3064 behaves like record ActiveRecord metrics in a metrics transaction3065 increments only db counters3066 observes sql_duration metric3067 behaves like store ActiveRecord info in RequestStore3068 prevents db counters from leaking to the next transaction3069 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true3070 marks the current thread as using the database3071 behaves like record ActiveRecord metrics3072 when both web and background transaction are available3073 captures the metrics for web only3074 behaves like record ActiveRecord metrics in a metrics transaction3075 increments only db counters3076 observes sql_duration metric3077 when web transaction is available3078 behaves like record ActiveRecord metrics in a metrics transaction3079 increments only db counters3080 observes sql_duration metric3081 when background transaction is available3082 behaves like record ActiveRecord metrics in a metrics transaction3083 increments only db counters3084 observes sql_duration metric3085 behaves like store ActiveRecord info in RequestStore3086 prevents db counters from leaking to the next transaction3087 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: false3088 marks the current thread as using the database3089 behaves like record ActiveRecord metrics3090 when both web and background transaction are available3091 captures the metrics for web only3092 behaves like record ActiveRecord metrics in a metrics transaction3093 increments only db counters3094 observes sql_duration metric3095 when web transaction is available3096 behaves like record ActiveRecord metrics in a metrics transaction3097 increments only db counters3098 observes sql_duration metric3099 when background transaction is available3100 behaves like record ActiveRecord metrics in a metrics transaction3101 increments only db counters3102 observes sql_duration metric3103 behaves like store ActiveRecord info in RequestStore3104 prevents db counters from leaking to the next transaction3105 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false3106 marks the current thread as using the database3107 behaves like record ActiveRecord metrics3108 when both web and background transaction are available3109 captures the metrics for web only3110 behaves like record ActiveRecord metrics in a metrics transaction3111 increments only db counters3112 observes sql_duration metric3113 when web transaction is available3114 behaves like record ActiveRecord metrics in a metrics transaction3115 increments only db counters3116 observes sql_duration metric3117 when background transaction is available3118 behaves like record ActiveRecord metrics in a metrics transaction3119 increments only db counters3120 observes sql_duration metric3121 behaves like store ActiveRecord info in RequestStore3122 prevents db counters from leaking to the next transaction3123 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false3124 marks the current thread as using the database3125 behaves like record ActiveRecord metrics3126 when both web and background transaction are available3127 captures the metrics for web only3128 behaves like record ActiveRecord metrics in a metrics transaction3129 increments only db counters3130 observes sql_duration metric3131 when web transaction is available3132 behaves like record ActiveRecord metrics in a metrics transaction3133 increments only db counters3134 observes sql_duration metric3135 when background transaction is available3136 behaves like record ActiveRecord metrics in a metrics transaction3137 increments only db counters3138 observes sql_duration metric3139 behaves like store ActiveRecord info in RequestStore3140 prevents db counters from leaking to the next transaction3141 Database Load Balancing enabled3142 without Marginalia comments3143 behaves like track sql events for each role3144 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: false3145 query using a connection to a replica3146 queries connection db role3147 behaves like record ActiveRecord metrics3148 when both web and background transaction are available3149 captures the metrics for web only3150 behaves like record ActiveRecord metrics in a metrics transaction3151 increments only db counters3152 observes sql_duration metric3153 when web transaction is available3154 behaves like record ActiveRecord metrics in a metrics transaction3155 increments only db counters3156 observes sql_duration metric3157 when background transaction is available3158 behaves like record ActiveRecord metrics in a metrics transaction3159 increments only db counters3160 observes sql_duration metric3161 behaves like store ActiveRecord info in RequestStore3162 prevents db counters from leaking to the next transaction3163 query using a connection to a primary3164 queries connection db role3165 behaves like record ActiveRecord metrics3166 when both web and background transaction are available3167 captures the metrics for web only3168 behaves like record ActiveRecord metrics in a metrics transaction3169 increments only db counters3170 observes sql_duration metric3171 when web transaction is available3172 behaves like record ActiveRecord metrics in a metrics transaction3173 increments only db counters3174 observes sql_duration metric3175 when background transaction is available3176 behaves like record ActiveRecord metrics in a metrics transaction3177 increments only db counters3178 observes sql_duration metric3179 behaves like store ActiveRecord info in RequestStore3180 prevents db counters from leaking to the next transaction3181 query using a connection to an unknown source3182 does not record DB role metrics3183 does not store DB roles into into RequestStore3184 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: false3185 query using a connection to a replica3186 queries connection db role3187 behaves like record ActiveRecord metrics3188 when both web and background transaction are available3189 captures the metrics for web only3190 behaves like record ActiveRecord metrics in a metrics transaction3191 increments only db counters3192 observes sql_duration metric3193 when web transaction is available3194 behaves like record ActiveRecord metrics in a metrics transaction3195 increments only db counters3196 observes sql_duration metric3197 when background transaction is available3198 behaves like record ActiveRecord metrics in a metrics transaction3199 increments only db counters3200 observes sql_duration metric3201 behaves like store ActiveRecord info in RequestStore3202 prevents db counters from leaking to the next transaction3203 query using a connection to a primary3204 queries connection db role3205 behaves like record ActiveRecord metrics3206 when both web and background transaction are available3207 captures the metrics for web only3208 behaves like record ActiveRecord metrics in a metrics transaction3209 increments only db counters3210 observes sql_duration metric3211 when web transaction is available3212 behaves like record ActiveRecord metrics in a metrics transaction3213 increments only db counters3214 observes sql_duration metric3215 when background transaction is available3216 behaves like record ActiveRecord metrics in a metrics transaction3217 increments only db counters3218 observes sql_duration metric3219 behaves like store ActiveRecord info in RequestStore3220 prevents db counters from leaking to the next transaction3221 query using a connection to an unknown source3222 does not record DB role metrics3223 does not store DB roles into into RequestStore3224 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: false3225 query using a connection to a replica3226 queries connection db role3227 behaves like record ActiveRecord metrics3228 when both web and background transaction are available3229 captures the metrics for web only3230 behaves like record ActiveRecord metrics in a metrics transaction3231 increments only db counters3232 observes sql_duration metric3233 when web transaction is available3234 behaves like record ActiveRecord metrics in a metrics transaction3235 increments only db counters3236 observes sql_duration metric3237 when background transaction is available3238 behaves like record ActiveRecord metrics in a metrics transaction3239 increments only db counters3240 observes sql_duration metric3241 behaves like store ActiveRecord info in RequestStore3242 prevents db counters from leaking to the next transaction3243 query using a connection to a primary3244 queries connection db role3245 behaves like record ActiveRecord metrics3246 when both web and background transaction are available3247 captures the metrics for web only3248 behaves like record ActiveRecord metrics in a metrics transaction3249 increments only db counters3250 observes sql_duration metric3251 when web transaction is available3252 behaves like record ActiveRecord metrics in a metrics transaction3253 increments only db counters3254 observes sql_duration metric3255 when background transaction is available3256 behaves like record ActiveRecord metrics in a metrics transaction3257 increments only db counters3258 observes sql_duration metric3259 behaves like store ActiveRecord info in RequestStore3260 prevents db counters from leaking to the next transaction3261 query using a connection to an unknown source3262 does not record DB role metrics3263 does not store DB roles into into RequestStore3264 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: false3265 query using a connection to a replica3266 queries connection db role3267 behaves like record ActiveRecord metrics3268 when both web and background transaction are available3269 captures the metrics for web only3270 behaves like record ActiveRecord metrics in a metrics transaction3271 increments only db counters3272 observes sql_duration metric3273 when web transaction is available3274 behaves like record ActiveRecord metrics in a metrics transaction3275 increments only db counters3276 observes sql_duration metric3277 when background transaction is available3278 behaves like record ActiveRecord metrics in a metrics transaction3279 increments only db counters3280 observes sql_duration metric3281 behaves like store ActiveRecord info in RequestStore3282 prevents db counters from leaking to the next transaction3283 query using a connection to a primary3284 queries connection db role3285 behaves like record ActiveRecord metrics3286 when both web and background transaction are available3287 captures the metrics for web only3288 behaves like record ActiveRecord metrics in a metrics transaction3289 increments only db counters3290 observes sql_duration metric3291 when web transaction is available3292 behaves like record ActiveRecord metrics in a metrics transaction3293 increments only db counters3294 observes sql_duration metric3295 when background transaction is available3296 behaves like record ActiveRecord metrics in a metrics transaction3297 increments only db counters3298 observes sql_duration metric3299 behaves like store ActiveRecord info in RequestStore3300 prevents db counters from leaking to the next transaction3301 query using a connection to an unknown source3302 does not record DB role metrics3303 does not store DB roles into into RequestStore3304 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false3305 query using a connection to a replica3306 queries connection db role3307 behaves like record ActiveRecord metrics3308 when both web and background transaction are available3309 captures the metrics for web only3310 behaves like record ActiveRecord metrics in a metrics transaction3311 increments only db counters3312 observes sql_duration metric3313 when web transaction is available3314 behaves like record ActiveRecord metrics in a metrics transaction3315 increments only db counters3316 observes sql_duration metric3317 when background transaction is available3318 behaves like record ActiveRecord metrics in a metrics transaction3319 increments only db counters3320 observes sql_duration metric3321 behaves like store ActiveRecord info in RequestStore3322 prevents db counters from leaking to the next transaction3323 query using a connection to a primary3324 queries connection db role3325 behaves like record ActiveRecord metrics3326 when both web and background transaction are available3327 captures the metrics for web only3328 behaves like record ActiveRecord metrics in a metrics transaction3329 increments only db counters3330 observes sql_duration metric3331 when web transaction is available3332 behaves like record ActiveRecord metrics in a metrics transaction3333 increments only db counters3334 observes sql_duration metric3335 when background transaction is available3336 behaves like record ActiveRecord metrics in a metrics transaction3337 increments only db counters3338 observes sql_duration metric3339 behaves like store ActiveRecord info in RequestStore3340 prevents db counters from leaking to the next transaction3341 query using a connection to an unknown source3342 does not record DB role metrics3343 does not store DB roles into into RequestStore3344 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: false3345 query using a connection to a replica3346 queries connection db role3347 behaves like record ActiveRecord metrics3348 when both web and background transaction are available3349 captures the metrics for web only3350 behaves like record ActiveRecord metrics in a metrics transaction3351 increments only db counters3352 observes sql_duration metric3353 when web transaction is available3354 behaves like record ActiveRecord metrics in a metrics transaction3355 increments only db counters3356 observes sql_duration metric3357 when background transaction is available3358 behaves like record ActiveRecord metrics in a metrics transaction3359 increments only db counters3360 observes sql_duration metric3361 behaves like store ActiveRecord info in RequestStore3362 prevents db counters from leaking to the next transaction3363 query using a connection to a primary3364 queries connection db role3365 behaves like record ActiveRecord metrics3366 when both web and background transaction are available3367 captures the metrics for web only3368 behaves like record ActiveRecord metrics in a metrics transaction3369 increments only db counters3370 observes sql_duration metric3371 when web transaction is available3372 behaves like record ActiveRecord metrics in a metrics transaction3373 increments only db counters3374 observes sql_duration metric3375 when background transaction is available3376 behaves like record ActiveRecord metrics in a metrics transaction3377 increments only db counters3378 observes sql_duration metric3379 behaves like store ActiveRecord info in RequestStore3380 prevents db counters from leaking to the next transaction3381 query using a connection to an unknown source3382 does not record DB role metrics3383 does not store DB roles into into RequestStore3384 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: false3385 query using a connection to a replica3386 queries connection db role3387 behaves like record ActiveRecord metrics3388 when both web and background transaction are available3389 captures the metrics for web only3390 behaves like record ActiveRecord metrics in a metrics transaction3391 increments only db counters3392 observes sql_duration metric3393 when web transaction is available3394 behaves like record ActiveRecord metrics in a metrics transaction3395 increments only db counters3396 observes sql_duration metric3397 when background transaction is available3398 behaves like record ActiveRecord metrics in a metrics transaction3399 increments only db counters3400 observes sql_duration metric3401 behaves like store ActiveRecord info in RequestStore3402 prevents db counters from leaking to the next transaction3403 query using a connection to a primary3404 queries connection db role3405 behaves like record ActiveRecord metrics3406 when both web and background transaction are available3407 captures the metrics for web only3408 behaves like record ActiveRecord metrics in a metrics transaction3409 increments only db counters3410 observes sql_duration metric3411 when web transaction is available3412 behaves like record ActiveRecord metrics in a metrics transaction3413 increments only db counters3414 observes sql_duration metric3415 when background transaction is available3416 behaves like record ActiveRecord metrics in a metrics transaction3417 increments only db counters3418 observes sql_duration metric3419 behaves like store ActiveRecord info in RequestStore3420 prevents db counters from leaking to the next transaction3421 query using a connection to an unknown source3422 does not record DB role metrics3423 does not store DB roles into into RequestStore3424 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: true3425 query using a connection to a replica3426 queries connection db role3427 behaves like record ActiveRecord metrics3428 when both web and background transaction are available3429 captures the metrics for web only3430 behaves like record ActiveRecord metrics in a metrics transaction3431 increments only db counters3432 observes sql_duration metric3433 when web transaction is available3434 behaves like record ActiveRecord metrics in a metrics transaction3435 increments only db counters3436 observes sql_duration metric3437 when background transaction is available3438 behaves like record ActiveRecord metrics in a metrics transaction3439 increments only db counters3440 observes sql_duration metric3441 behaves like store ActiveRecord info in RequestStore3442 prevents db counters from leaking to the next transaction3443 query using a connection to a primary3444 queries connection db role3445 behaves like record ActiveRecord metrics3446 when both web and background transaction are available3447 captures the metrics for web only3448 behaves like record ActiveRecord metrics in a metrics transaction3449 increments only db counters3450 observes sql_duration metric3451 when web transaction is available3452 behaves like record ActiveRecord metrics in a metrics transaction3453 increments only db counters3454 observes sql_duration metric3455 when background transaction is available3456 behaves like record ActiveRecord metrics in a metrics transaction3457 increments only db counters3458 observes sql_duration metric3459 behaves like store ActiveRecord info in RequestStore3460 prevents db counters from leaking to the next transaction3461 query using a connection to an unknown source3462 does not record DB role metrics3463 does not store DB roles into into RequestStore3464 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: true3465 query using a connection to a replica3466 queries connection db role3467 behaves like record ActiveRecord metrics3468 when both web and background transaction are available3469 captures the metrics for web only3470 behaves like record ActiveRecord metrics in a metrics transaction3471 increments only db counters3472 observes sql_duration metric3473 when web transaction is available3474 behaves like record ActiveRecord metrics in a metrics transaction3475 increments only db counters3476 observes sql_duration metric3477 when background transaction is available3478 behaves like record ActiveRecord metrics in a metrics transaction3479 increments only db counters3480 observes sql_duration metric3481 behaves like store ActiveRecord info in RequestStore3482 prevents db counters from leaking to the next transaction3483 query using a connection to a primary3484 queries connection db role3485 behaves like record ActiveRecord metrics3486 when both web and background transaction are available3487 captures the metrics for web only3488 behaves like record ActiveRecord metrics in a metrics transaction3489 increments only db counters3490 observes sql_duration metric3491 when web transaction is available3492 behaves like record ActiveRecord metrics in a metrics transaction3493 increments only db counters3494 observes sql_duration metric3495 when background transaction is available3496 behaves like record ActiveRecord metrics in a metrics transaction3497 increments only db counters3498 observes sql_duration metric3499 behaves like store ActiveRecord info in RequestStore3500 prevents db counters from leaking to the next transaction3501 query using a connection to an unknown source3502 does not record DB role metrics3503 does not store DB roles into into RequestStore3504 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: true3505 query using a connection to a replica3506 queries connection db role3507 behaves like record ActiveRecord metrics3508 when both web and background transaction are available3509 captures the metrics for web only3510 behaves like record ActiveRecord metrics in a metrics transaction3511 increments only db counters3512 observes sql_duration metric3513 when web transaction is available3514 behaves like record ActiveRecord metrics in a metrics transaction3515 increments only db counters3516 observes sql_duration metric3517 when background transaction is available3518 behaves like record ActiveRecord metrics in a metrics transaction3519 increments only db counters3520 observes sql_duration metric3521 behaves like store ActiveRecord info in RequestStore3522 prevents db counters from leaking to the next transaction3523 query using a connection to a primary3524 queries connection db role3525 behaves like record ActiveRecord metrics3526 when both web and background transaction are available3527 captures the metrics for web only3528 behaves like record ActiveRecord metrics in a metrics transaction3529 increments only db counters3530 observes sql_duration metric3531 when web transaction is available3532 behaves like record ActiveRecord metrics in a metrics transaction3533 increments only db counters3534 observes sql_duration metric3535 when background transaction is available3536 behaves like record ActiveRecord metrics in a metrics transaction3537 increments only db counters3538 observes sql_duration metric3539 behaves like store ActiveRecord info in RequestStore3540 prevents db counters from leaking to the next transaction3541 query using a connection to an unknown source3542 does not record DB role metrics3543 does not store DB roles into into RequestStore3544 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: true3545 query using a connection to a replica3546 queries connection db role3547 behaves like record ActiveRecord metrics3548 when both web and background transaction are available3549 captures the metrics for web only3550 behaves like record ActiveRecord metrics in a metrics transaction3551 increments only db counters3552 observes sql_duration metric3553 when web transaction is available3554 behaves like record ActiveRecord metrics in a metrics transaction3555 increments only db counters3556 observes sql_duration metric3557 when background transaction is available3558 behaves like record ActiveRecord metrics in a metrics transaction3559 increments only db counters3560 observes sql_duration metric3561 behaves like store ActiveRecord info in RequestStore3562 prevents db counters from leaking to the next transaction3563 query using a connection to a primary3564 queries connection db role3565 behaves like record ActiveRecord metrics3566 when both web and background transaction are available3567 captures the metrics for web only3568 behaves like record ActiveRecord metrics in a metrics transaction3569 increments only db counters3570 observes sql_duration metric3571 when web transaction is available3572 behaves like record ActiveRecord metrics in a metrics transaction3573 increments only db counters3574 observes sql_duration metric3575 when background transaction is available3576 behaves like record ActiveRecord metrics in a metrics transaction3577 increments only db counters3578 observes sql_duration metric3579 behaves like store ActiveRecord info in RequestStore3580 prevents db counters from leaking to the next transaction3581 query using a connection to an unknown source3582 does not record DB role metrics3583 does not store DB roles into into RequestStore3584 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: false3585 query using a connection to a replica3586 queries connection db role3587 behaves like record ActiveRecord metrics3588 when both web and background transaction are available3589 captures the metrics for web only3590 behaves like record ActiveRecord metrics in a metrics transaction3591 increments only db counters3592 observes sql_duration metric3593 when web transaction is available3594 behaves like record ActiveRecord metrics in a metrics transaction3595 increments only db counters3596 observes sql_duration metric3597 when background transaction is available3598 behaves like record ActiveRecord metrics in a metrics transaction3599 increments only db counters3600 observes sql_duration metric3601 behaves like store ActiveRecord info in RequestStore3602 prevents db counters from leaking to the next transaction3603 query using a connection to a primary3604 queries connection db role3605 behaves like record ActiveRecord metrics3606 when both web and background transaction are available3607 captures the metrics for web only3608 behaves like record ActiveRecord metrics in a metrics transaction3609 increments only db counters3610 observes sql_duration metric3611 when web transaction is available3612 behaves like record ActiveRecord metrics in a metrics transaction3613 increments only db counters3614 observes sql_duration metric3615 when background transaction is available3616 behaves like record ActiveRecord metrics in a metrics transaction3617 increments only db counters3618 observes sql_duration metric3619 behaves like store ActiveRecord info in RequestStore3620 prevents db counters from leaking to the next transaction3621 query using a connection to an unknown source3622 does not record DB role metrics3623 does not store DB roles into into RequestStore3624 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: false3625 query using a connection to a replica3626 queries connection db role3627 behaves like record ActiveRecord metrics3628 when both web and background transaction are available3629 captures the metrics for web only3630 behaves like record ActiveRecord metrics in a metrics transaction3631 increments only db counters3632 observes sql_duration metric3633 when web transaction is available3634 behaves like record ActiveRecord metrics in a metrics transaction3635 increments only db counters3636 observes sql_duration metric3637 when background transaction is available3638 behaves like record ActiveRecord metrics in a metrics transaction3639 increments only db counters3640 observes sql_duration metric3641 behaves like store ActiveRecord info in RequestStore3642 prevents db counters from leaking to the next transaction3643 query using a connection to a primary3644 queries connection db role3645 behaves like record ActiveRecord metrics3646 when both web and background transaction are available3647 captures the metrics for web only3648 behaves like record ActiveRecord metrics in a metrics transaction3649 increments only db counters3650 observes sql_duration metric3651 when web transaction is available3652 behaves like record ActiveRecord metrics in a metrics transaction3653 increments only db counters3654 observes sql_duration metric3655 when background transaction is available3656 behaves like record ActiveRecord metrics in a metrics transaction3657 increments only db counters3658 observes sql_duration metric3659 behaves like store ActiveRecord info in RequestStore3660 prevents db counters from leaking to the next transaction3661 query using a connection to an unknown source3662 does not record DB role metrics3663 does not store DB roles into into RequestStore3664 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false3665 query using a connection to a replica3666 queries connection db role3667 behaves like record ActiveRecord metrics3668 when both web and background transaction are available3669 captures the metrics for web only3670 behaves like record ActiveRecord metrics in a metrics transaction3671 increments only db counters3672 observes sql_duration metric3673 when web transaction is available3674 behaves like record ActiveRecord metrics in a metrics transaction3675 increments only db counters3676 observes sql_duration metric3677 when background transaction is available3678 behaves like record ActiveRecord metrics in a metrics transaction3679 increments only db counters3680 observes sql_duration metric3681 behaves like store ActiveRecord info in RequestStore3682 prevents db counters from leaking to the next transaction3683 query using a connection to a primary3684 queries connection db role3685 behaves like record ActiveRecord metrics3686 when both web and background transaction are available3687 captures the metrics for web only3688 behaves like record ActiveRecord metrics in a metrics transaction3689 increments only db counters3690 observes sql_duration metric3691 when web transaction is available3692 behaves like record ActiveRecord metrics in a metrics transaction3693 increments only db counters3694 observes sql_duration metric3695 when background transaction is available3696 behaves like record ActiveRecord metrics in a metrics transaction3697 increments only db counters3698 observes sql_duration metric3699 behaves like store ActiveRecord info in RequestStore3700 prevents db counters from leaking to the next transaction3701 query using a connection to an unknown source3702 does not record DB role metrics3703 does not store DB roles into into RequestStore3704 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false3705 query using a connection to a replica3706 queries connection db role3707 behaves like record ActiveRecord metrics3708 when both web and background transaction are available3709 captures the metrics for web only3710 behaves like record ActiveRecord metrics in a metrics transaction3711 increments only db counters3712 observes sql_duration metric3713 when web transaction is available3714 behaves like record ActiveRecord metrics in a metrics transaction3715 increments only db counters3716 observes sql_duration metric3717 when background transaction is available3718 behaves like record ActiveRecord metrics in a metrics transaction3719 increments only db counters3720 observes sql_duration metric3721 behaves like store ActiveRecord info in RequestStore3722 prevents db counters from leaking to the next transaction3723 query using a connection to a primary3724 queries connection db role3725 behaves like record ActiveRecord metrics3726 when both web and background transaction are available3727 captures the metrics for web only3728 behaves like record ActiveRecord metrics in a metrics transaction3729 increments only db counters3730 observes sql_duration metric3731 when web transaction is available3732 behaves like record ActiveRecord metrics in a metrics transaction3733 increments only db counters3734 observes sql_duration metric3735 when background transaction is available3736 behaves like record ActiveRecord metrics in a metrics transaction3737 increments only db counters3738 observes sql_duration metric3739 behaves like store ActiveRecord info in RequestStore3740 prevents db counters from leaking to the next transaction3741 query using a connection to an unknown source3742 does not record DB role metrics3743 does not store DB roles into into RequestStore3744 with Marginalia comments3745 behaves like track sql events for each role3746 name: "SQL", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: false, record_wal_query: false3747 query using a connection to a replica3748 queries connection db role3749 behaves like record ActiveRecord metrics3750 when both web and background transaction are available3751 captures the metrics for web only3752 behaves like record ActiveRecord metrics in a metrics transaction3753 increments only db counters3754 observes sql_duration metric3755 when web transaction is available3756 behaves like record ActiveRecord metrics in a metrics transaction3757 increments only db counters3758 observes sql_duration metric3759 when background transaction is available3760 behaves like record ActiveRecord metrics in a metrics transaction3761 increments only db counters3762 observes sql_duration metric3763 behaves like store ActiveRecord info in RequestStore3764 prevents db counters from leaking to the next transaction3765 query using a connection to a primary3766 queries connection db role3767 behaves like record ActiveRecord metrics3768 when both web and background transaction are available3769 captures the metrics for web only3770 behaves like record ActiveRecord metrics in a metrics transaction3771 increments only db counters3772 observes sql_duration metric3773 when web transaction is available3774 behaves like record ActiveRecord metrics in a metrics transaction3775 increments only db counters3776 observes sql_duration metric3777 when background transaction is available3778 behaves like record ActiveRecord metrics in a metrics transaction3779 increments only db counters3780 observes sql_duration metric3781 behaves like store ActiveRecord info in RequestStore3782 prevents db counters from leaking to the next transaction3783 query using a connection to an unknown source3784 does not record DB role metrics3785 does not store DB roles into into RequestStore3786 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: false3787 query using a connection to a replica3788 queries connection db role3789 behaves like record ActiveRecord metrics3790 when both web and background transaction are available3791 captures the metrics for web only3792 behaves like record ActiveRecord metrics in a metrics transaction3793 increments only db counters3794 observes sql_duration metric3795 when web transaction is available3796 behaves like record ActiveRecord metrics in a metrics transaction3797 increments only db counters3798 observes sql_duration metric3799 when background transaction is available3800 behaves like record ActiveRecord metrics in a metrics transaction3801 increments only db counters3802 observes sql_duration metric3803 behaves like store ActiveRecord info in RequestStore3804 prevents db counters from leaking to the next transaction3805 query using a connection to a primary3806 queries connection db role3807 behaves like record ActiveRecord metrics3808 when both web and background transaction are available3809 captures the metrics for web only3810 behaves like record ActiveRecord metrics in a metrics transaction3811 increments only db counters3812 observes sql_duration metric3813 when web transaction is available3814 behaves like record ActiveRecord metrics in a metrics transaction3815 increments only db counters3816 observes sql_duration metric3817 when background transaction is available3818 behaves like record ActiveRecord metrics in a metrics transaction3819 increments only db counters3820 observes sql_duration metric3821 behaves like store ActiveRecord info in RequestStore3822 prevents db counters from leaking to the next transaction3823 query using a connection to an unknown source3824 does not record DB role metrics3825 does not store DB roles into into RequestStore3826 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: false3827 query using a connection to a replica3828 queries connection db role3829 behaves like record ActiveRecord metrics3830 when both web and background transaction are available3831 captures the metrics for web only3832 behaves like record ActiveRecord metrics in a metrics transaction3833 increments only db counters3834 observes sql_duration metric3835 when web transaction is available3836 behaves like record ActiveRecord metrics in a metrics transaction3837 increments only db counters3838 observes sql_duration metric3839 when background transaction is available3840 behaves like record ActiveRecord metrics in a metrics transaction3841 increments only db counters3842 observes sql_duration metric3843 behaves like store ActiveRecord info in RequestStore3844 prevents db counters from leaking to the next transaction3845 query using a connection to a primary3846 queries connection db role3847 behaves like record ActiveRecord metrics3848 when both web and background transaction are available3849 captures the metrics for web only3850 behaves like record ActiveRecord metrics in a metrics transaction3851 increments only db counters3852 observes sql_duration metric3853 when web transaction is available3854 behaves like record ActiveRecord metrics in a metrics transaction3855 increments only db counters3856 observes sql_duration metric3857 when background transaction is available3858 behaves like record ActiveRecord metrics in a metrics transaction3859 increments only db counters3860 observes sql_duration metric3861 behaves like store ActiveRecord info in RequestStore3862 prevents db counters from leaking to the next transaction3863 query using a connection to an unknown source3864 does not record DB role metrics3865 does not store DB roles into into RequestStore3866 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: false3867 query using a connection to a replica3868 queries connection db role3869 behaves like record ActiveRecord metrics3870 when both web and background transaction are available3871 captures the metrics for web only3872 behaves like record ActiveRecord metrics in a metrics transaction3873 increments only db counters3874 observes sql_duration metric3875 when web transaction is available3876 behaves like record ActiveRecord metrics in a metrics transaction3877 increments only db counters3878 observes sql_duration metric3879 when background transaction is available3880 behaves like record ActiveRecord metrics in a metrics transaction3881 increments only db counters3882 observes sql_duration metric3883 behaves like store ActiveRecord info in RequestStore3884 prevents db counters from leaking to the next transaction3885 query using a connection to a primary3886 queries connection db role3887 behaves like record ActiveRecord metrics3888 when both web and background transaction are available3889 captures the metrics for web only3890 behaves like record ActiveRecord metrics in a metrics transaction3891 increments only db counters3892 observes sql_duration metric3893 when web transaction is available3894 behaves like record ActiveRecord metrics in a metrics transaction3895 increments only db counters3896 observes sql_duration metric3897 when background transaction is available3898 behaves like record ActiveRecord metrics in a metrics transaction3899 increments only db counters3900 observes sql_duration metric3901 behaves like store ActiveRecord info in RequestStore3902 prevents db counters from leaking to the next transaction3903 query using a connection to an unknown source3904 does not record DB role metrics3905 does not store DB roles into into RequestStore3906 name: "SQL", sql_query: "DELETE FROM users where id = 10", record_query: true, record_write_query: true, record_cached_query: false, record_wal_query: false3907 query using a connection to a replica3908 queries connection db role3909 behaves like record ActiveRecord metrics3910 when both web and background transaction are available3911 captures the metrics for web only3912 behaves like record ActiveRecord metrics in a metrics transaction3913 increments only db counters3914 observes sql_duration metric3915 when web transaction is available3916 behaves like record ActiveRecord metrics in a metrics transaction3917 increments only db counters3918 observes sql_duration metric3919 when background transaction is available3920 behaves like record ActiveRecord metrics in a metrics transaction3921 increments only db counters3922 observes sql_duration metric3923 behaves like store ActiveRecord info in RequestStore3924 prevents db counters from leaking to the next transaction3925 query using a connection to a primary3926 queries connection db role3927 behaves like record ActiveRecord metrics3928 when both web and background transaction are available3929 captures the metrics for web only3930 behaves like record ActiveRecord metrics in a metrics transaction3931 increments only db counters3932 observes sql_duration metric3933 when web transaction is available3934 behaves like record ActiveRecord metrics in a metrics transaction3935 increments only db counters3936 observes sql_duration metric3937 when background transaction is available3938 behaves like record ActiveRecord metrics in a metrics transaction3939 increments only db counters3940 observes sql_duration metric3941 behaves like store ActiveRecord info in RequestStore3942 prevents db counters from leaking to the next transaction3943 query using a connection to an unknown source3944 does not record DB role metrics3945 does not store DB roles into into RequestStore3946 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: false3947 query using a connection to a replica3948 queries connection db role3949 behaves like record ActiveRecord metrics3950 when both web and background transaction are available3951 captures the metrics for web only3952 behaves like record ActiveRecord metrics in a metrics transaction3953 increments only db counters3954 observes sql_duration metric3955 when web transaction is available3956 behaves like record ActiveRecord metrics in a metrics transaction3957 increments only db counters3958 observes sql_duration metric3959 when background transaction is available3960 behaves like record ActiveRecord metrics in a metrics transaction3961 increments only db counters3962 observes sql_duration metric3963 behaves like store ActiveRecord info in RequestStore3964 prevents db counters from leaking to the next transaction3965 query using a connection to a primary3966 queries connection db role3967 behaves like record ActiveRecord metrics3968 when both web and background transaction are available3969 captures the metrics for web only3970 behaves like record ActiveRecord metrics in a metrics transaction3971 increments only db counters3972 observes sql_duration metric3973 when web transaction is available3974 behaves like record ActiveRecord metrics in a metrics transaction3975 increments only db counters3976 observes sql_duration metric3977 when background transaction is available3978 behaves like record ActiveRecord metrics in a metrics transaction3979 increments only db counters3980 observes sql_duration metric3981 behaves like store ActiveRecord info in RequestStore3982 prevents db counters from leaking to the next transaction3983 query using a connection to an unknown source3984 does not record DB role metrics3985 does not store DB roles into into RequestStore3986 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: false3987 query using a connection to a replica3988 queries connection db role3989 behaves like record ActiveRecord metrics3990 when both web and background transaction are available3991 captures the metrics for web only3992 behaves like record ActiveRecord metrics in a metrics transaction3993 increments only db counters3994 observes sql_duration metric3995 when web transaction is available3996 behaves like record ActiveRecord metrics in a metrics transaction3997 increments only db counters3998 observes sql_duration metric3999 when background transaction is available4000 behaves like record ActiveRecord metrics in a metrics transaction4001 increments only db counters4002 observes sql_duration metric4003 behaves like store ActiveRecord info in RequestStore4004 prevents db counters from leaking to the next transaction4005 query using a connection to a primary4006 queries connection db role4007 behaves like record ActiveRecord metrics4008 when both web and background transaction are available4009 captures the metrics for web only4010 behaves like record ActiveRecord metrics in a metrics transaction4011 increments only db counters4012 observes sql_duration metric4013 when web transaction is available4014 behaves like record ActiveRecord metrics in a metrics transaction4015 increments only db counters4016 observes sql_duration metric4017 when background transaction is available4018 behaves like record ActiveRecord metrics in a metrics transaction4019 increments only db counters4020 observes sql_duration metric4021 behaves like store ActiveRecord info in RequestStore4022 prevents db counters from leaking to the next transaction4023 query using a connection to an unknown source4024 does not record DB role metrics4025 does not store DB roles into into RequestStore4026 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: true4027 query using a connection to a replica4028 queries connection db role4029 behaves like record ActiveRecord metrics4030 when both web and background transaction are available4031 captures the metrics for web only4032 behaves like record ActiveRecord metrics in a metrics transaction4033 increments only db counters4034 observes sql_duration metric4035 when web transaction is available4036 behaves like record ActiveRecord metrics in a metrics transaction4037 increments only db counters4038 observes sql_duration metric4039 when background transaction is available4040 behaves like record ActiveRecord metrics in a metrics transaction4041 increments only db counters4042 observes sql_duration metric4043 behaves like store ActiveRecord info in RequestStore4044 prevents db counters from leaking to the next transaction4045 query using a connection to a primary4046 queries connection db role4047 behaves like record ActiveRecord metrics4048 when both web and background transaction are available4049 captures the metrics for web only4050 behaves like record ActiveRecord metrics in a metrics transaction4051 increments only db counters4052 observes sql_duration metric4053 when web transaction is available4054 behaves like record ActiveRecord metrics in a metrics transaction4055 increments only db counters4056 observes sql_duration metric4057 when background transaction is available4058 behaves like record ActiveRecord metrics in a metrics transaction4059 increments only db counters4060 observes sql_duration metric4061 behaves like store ActiveRecord info in RequestStore4062 prevents db counters from leaking to the next transaction4063 query using a connection to an unknown source4064 does not record DB role metrics4065 does not store DB roles into into RequestStore4066 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: true4067 query using a connection to a replica4068 queries connection db role4069 behaves like record ActiveRecord metrics4070 when both web and background transaction are available4071 captures the metrics for web only4072 behaves like record ActiveRecord metrics in a metrics transaction4073 increments only db counters4074 observes sql_duration metric4075 when web transaction is available4076 behaves like record ActiveRecord metrics in a metrics transaction4077 increments only db counters4078 observes sql_duration metric4079 when background transaction is available4080 behaves like record ActiveRecord metrics in a metrics transaction4081 increments only db counters4082 observes sql_duration metric4083 behaves like store ActiveRecord info in RequestStore4084 prevents db counters from leaking to the next transaction4085 query using a connection to a primary4086 queries connection db role4087 behaves like record ActiveRecord metrics4088 when both web and background transaction are available4089 captures the metrics for web only4090 behaves like record ActiveRecord metrics in a metrics transaction4091 increments only db counters4092 observes sql_duration metric4093 when web transaction is available4094 behaves like record ActiveRecord metrics in a metrics transaction4095 increments only db counters4096 observes sql_duration metric4097 when background transaction is available4098 behaves like record ActiveRecord metrics in a metrics transaction4099 increments only db counters4100 observes sql_duration metric4101 behaves like store ActiveRecord info in RequestStore4102 prevents db counters from leaking to the next transaction4103 query using a connection to an unknown source4104 does not record DB role metrics4105 does not store DB roles into into RequestStore4106 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: true4107 query using a connection to a replica4108 queries connection db role4109 behaves like record ActiveRecord metrics4110 when both web and background transaction are available4111 captures the metrics for web only4112 behaves like record ActiveRecord metrics in a metrics transaction4113 increments only db counters4114 observes sql_duration metric4115 when web transaction is available4116 behaves like record ActiveRecord metrics in a metrics transaction4117 increments only db counters4118 observes sql_duration metric4119 when background transaction is available4120 behaves like record ActiveRecord metrics in a metrics transaction4121 increments only db counters4122 observes sql_duration metric4123 behaves like store ActiveRecord info in RequestStore4124 prevents db counters from leaking to the next transaction4125 query using a connection to a primary4126 queries connection db role4127 behaves like record ActiveRecord metrics4128 when both web and background transaction are available4129 captures the metrics for web only4130 behaves like record ActiveRecord metrics in a metrics transaction4131 increments only db counters4132 observes sql_duration metric4133 when web transaction is available4134 behaves like record ActiveRecord metrics in a metrics transaction4135 increments only db counters4136 observes sql_duration metric4137 when background transaction is available4138 behaves like record ActiveRecord metrics in a metrics transaction4139 increments only db counters4140 observes sql_duration metric4141 behaves like store ActiveRecord info in RequestStore4142 prevents db counters from leaking to the next transaction4143 query using a connection to an unknown source4144 does not record DB role metrics4145 does not store DB roles into into RequestStore4146 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: true4147 query using a connection to a replica4148 queries connection db role4149 behaves like record ActiveRecord metrics4150 when both web and background transaction are available4151 captures the metrics for web only4152 behaves like record ActiveRecord metrics in a metrics transaction4153 increments only db counters4154 observes sql_duration metric4155 when web transaction is available4156 behaves like record ActiveRecord metrics in a metrics transaction4157 increments only db counters4158 observes sql_duration metric4159 when background transaction is available4160 behaves like record ActiveRecord metrics in a metrics transaction4161 increments only db counters4162 observes sql_duration metric4163 behaves like store ActiveRecord info in RequestStore4164 prevents db counters from leaking to the next transaction4165 query using a connection to a primary4166 queries connection db role4167 behaves like record ActiveRecord metrics4168 when both web and background transaction are available4169 captures the metrics for web only4170 behaves like record ActiveRecord metrics in a metrics transaction4171 increments only db counters4172 observes sql_duration metric4173 when web transaction is available4174 behaves like record ActiveRecord metrics in a metrics transaction4175 increments only db counters4176 observes sql_duration metric4177 when background transaction is available4178 behaves like record ActiveRecord metrics in a metrics transaction4179 increments only db counters4180 observes sql_duration metric4181 behaves like store ActiveRecord info in RequestStore4182 prevents db counters from leaking to the next transaction4183 query using a connection to an unknown source4184 does not record DB role metrics4185 does not store DB roles into into RequestStore4186 name: "CACHE", sql_query: "SELECT * FROM users WHERE id = 10", record_query: true, record_write_query: false, record_cached_query: true, record_wal_query: false4187 query using a connection to a replica4188 queries connection db role4189 behaves like record ActiveRecord metrics4190 when both web and background transaction are available4191 captures the metrics for web only4192 behaves like record ActiveRecord metrics in a metrics transaction4193 increments only db counters4194 observes sql_duration metric4195 when web transaction is available4196 behaves like record ActiveRecord metrics in a metrics transaction4197 increments only db counters4198 observes sql_duration metric4199 when background transaction is available4200 behaves like record ActiveRecord metrics in a metrics transaction4201 increments only db counters4202 observes sql_duration metric4203 behaves like store ActiveRecord info in RequestStore4204 prevents db counters from leaking to the next transaction4205 query using a connection to a primary4206 queries connection db role4207 behaves like record ActiveRecord metrics4208 when both web and background transaction are available4209 captures the metrics for web only4210 behaves like record ActiveRecord metrics in a metrics transaction4211 increments only db counters4212 observes sql_duration metric4213 when web transaction is available4214 behaves like record ActiveRecord metrics in a metrics transaction4215 increments only db counters4216 observes sql_duration metric4217 when background transaction is available4218 behaves like record ActiveRecord metrics in a metrics transaction4219 increments only db counters4220 observes sql_duration metric4221 behaves like store ActiveRecord info in RequestStore4222 prevents db counters from leaking to the next transaction4223 query using a connection to an unknown source4224 does not record DB role metrics4225 does not store DB roles into into RequestStore4226 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: false4227 query using a connection to a replica4228 queries connection db role4229 behaves like record ActiveRecord metrics4230 when both web and background transaction are available4231 captures the metrics for web only4232 behaves like record ActiveRecord metrics in a metrics transaction4233 increments only db counters4234 observes sql_duration metric4235 when web transaction is available4236 behaves like record ActiveRecord metrics in a metrics transaction4237 increments only db counters4238 observes sql_duration metric4239 when background transaction is available4240 behaves like record ActiveRecord metrics in a metrics transaction4241 increments only db counters4242 observes sql_duration metric4243 behaves like store ActiveRecord info in RequestStore4244 prevents db counters from leaking to the next transaction4245 query using a connection to a primary4246 queries connection db role4247 behaves like record ActiveRecord metrics4248 when both web and background transaction are available4249 captures the metrics for web only4250 behaves like record ActiveRecord metrics in a metrics transaction4251 increments only db counters4252 observes sql_duration metric4253 when web transaction is available4254 behaves like record ActiveRecord metrics in a metrics transaction4255 increments only db counters4256 observes sql_duration metric4257 when background transaction is available4258 behaves like record ActiveRecord metrics in a metrics transaction4259 increments only db counters4260 observes sql_duration metric4261 behaves like store ActiveRecord info in RequestStore4262 prevents db counters from leaking to the next transaction4263 query using a connection to an unknown source4264 does not record DB role metrics4265 does not store DB roles into into RequestStore4266 name: nil, sql_query: "BEGIN", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false4267 query using a connection to a replica4268 queries connection db role4269 behaves like record ActiveRecord metrics4270 when both web and background transaction are available4271 captures the metrics for web only4272 behaves like record ActiveRecord metrics in a metrics transaction4273 increments only db counters4274 observes sql_duration metric4275 when web transaction is available4276 behaves like record ActiveRecord metrics in a metrics transaction4277 increments only db counters4278 observes sql_duration metric4279 when background transaction is available4280 behaves like record ActiveRecord metrics in a metrics transaction4281 increments only db counters4282 observes sql_duration metric4283 behaves like store ActiveRecord info in RequestStore4284 prevents db counters from leaking to the next transaction4285 query using a connection to a primary4286 queries connection db role4287 behaves like record ActiveRecord metrics4288 when both web and background transaction are available4289 captures the metrics for web only4290 behaves like record ActiveRecord metrics in a metrics transaction4291 increments only db counters4292 observes sql_duration metric4293 when web transaction is available4294 behaves like record ActiveRecord metrics in a metrics transaction4295 increments only db counters4296 observes sql_duration metric4297 when background transaction is available4298 behaves like record ActiveRecord metrics in a metrics transaction4299 increments only db counters4300 observes sql_duration metric4301 behaves like store ActiveRecord info in RequestStore4302 prevents db counters from leaking to the next transaction4303 query using a connection to an unknown source4304 does not record DB role metrics4305 does not store DB roles into into RequestStore4306 name: nil, sql_query: "COMMIT", record_query: false, record_write_query: false, record_cached_query: false, record_wal_query: false4307 query using a connection to a replica4308 queries connection db role4309 behaves like record ActiveRecord metrics4310 when both web and background transaction are available4311 captures the metrics for web only4312 behaves like record ActiveRecord metrics in a metrics transaction4313 increments only db counters4314 observes sql_duration metric4315 when web transaction is available4316 behaves like record ActiveRecord metrics in a metrics transaction4317 increments only db counters4318 observes sql_duration metric4319 when background transaction is available4320 behaves like record ActiveRecord metrics in a metrics transaction4321 increments only db counters4322 observes sql_duration metric4323 behaves like store ActiveRecord info in RequestStore4324 prevents db counters from leaking to the next transaction4325 query using a connection to a primary4326 queries connection db role4327 behaves like record ActiveRecord metrics4328 when both web and background transaction are available4329 captures the metrics for web only4330 behaves like record ActiveRecord metrics in a metrics transaction4331 increments only db counters4332 observes sql_duration metric4333 when web transaction is available4334 behaves like record ActiveRecord metrics in a metrics transaction4335 increments only db counters4336 observes sql_duration metric4337 when background transaction is available4338 behaves like record ActiveRecord metrics in a metrics transaction4339 increments only db counters4340 observes sql_duration metric4341 behaves like store ActiveRecord info in RequestStore4342 prevents db counters from leaking to the next transaction4343 query using a connection to an unknown source4344 does not record DB role metrics4345 does not store DB roles into into RequestStore4346Clusters::Cluster4347 is expected to includes the HasEnvironmentScope module4348 is expected to belong to user required: false4349 is expected to belong to management_project class_name => ::Project required: false4350 is expected to have many cluster_projects4351 is expected to have many projects4352 is expected to have many cluster_groups4353 is expected to have many groups4354 is expected to have many groups_projects4355 is expected to have one provider_gcp4356 is expected to have one provider_aws4357 is expected to have one platform_kubernetes4358 is expected to have one integration_prometheus4359 is expected to have one application_helm4360 is expected to have one application_ingress4361 is expected to have one application_prometheus4362 is expected to have one application_runner4363 is expected to have many kubernetes_namespaces4364 is expected to have one cluster_project4365 is expected to have many deployment_clusters4366 is expected to have many metrics_dashboard_annotations4367 is expected to have many successful_deployments4368 is expected to have many environments through deployments4369 is expected to delegate #status to the #provider object4370 is expected to delegate #status_reason to the #provider object4371 is expected to delegate #on_creation? to the #provider object4372 is expected to delegate #knative_pre_installed? to the #provider object4373 is expected to delegate #platform_kubernetes_active? to the #platform_kubernetes object as #active?4374 is expected to delegate #platform_kubernetes_rbac? to the #platform_kubernetes object as #rbac?4375 is expected to delegate #application_helm_available? to the #application_helm object as #available?4376 is expected to delegate #application_ingress_available? to the #application_ingress object as #available?4377 is expected to delegate #application_knative_available? to the #application_knative object as #available?4378 is expected to delegate #integration_prometheus_available? to the #integration_prometheus object as #available?4379 is expected to delegate #application_ingress_external_ip to the #application_ingress object as #external_ip4380 is expected to delegate #application_ingress_external_hostname to the #application_ingress object as #external_hostname4381 is expected to respond to #project4382 is expected to be namespace per environment4383 has default helm_major_version 34384 behaves like having unique enum values4385 has unique values in "cluster_type"4386 has unique values in "platform_type"4387 has unique values in "provider_type"4388 default values4389 is expected to eq 34390 behaves like it has loose foreign keys4391 has at least one loose foreign key definition4392 has the deletion trigger present4393 records record deletions4394 cleans up record deletions4395 applications have inverse_of: :cluster option4396 does not do a third query when referencing cluster again4397 .enabled4398 is expected to contain exactly #<Clusters::Cluster id: 8, user_id: 48, provider_type: nil, platform_type: nil, created_at: "2022-11-...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4399 .disabled4400 is expected to contain exactly #<Clusters::Cluster id: 10, user_id: 50, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4401 .user_provided4402 is expected to contain exactly #<Clusters::Cluster id: 12, user_id: 52, provider_type: "user", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4403 .gcp_provided4404 is expected to contain exactly #<Clusters::Cluster id: 14, user_id: 54, provider_type: "gcp", platform_type: "kubernetes", created_a...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4405 .gcp_installed4406 is expected to contain exactly #<Clusters::Cluster id: 17, user_id: 57, provider_type: "gcp", platform_type: "kubernetes", created_a...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4407 .aws_provided4408 is expected to contain exactly #<Clusters::Cluster id: 20, user_id: 60, provider_type: "aws", platform_type: "kubernetes", created_a...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4409 .aws_installed4410 is expected to contain exactly #<Clusters::Cluster id: 23, user_id: 63, provider_type: "aws", platform_type: "kubernetes", created_a...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4411 .managed4412 cluster is not managed4413 is expected not to include #<Clusters::Cluster id: 25, user_id: 65, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4414 cluster is managed4415 is expected to include #<Clusters::Cluster id: 26, user_id: 66, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4416 .with_management_project4417 cluster has a management project4418 is expected to include #<Clusters::Cluster id: 27, user_id: 67, provider_type: nil, platform_type: nil, created_at: "2022-11...ue, management_project_id: 43, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4419 cluster does not have a management project4420 is expected not to include #<Clusters::Cluster id: 28, user_id: 69, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4421 .with_integration_prometheus4422 cluster has prometheus application4423 is expected to include #<Clusters::Cluster id: 29, user_id: 70, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4424 cluster does not have prometheus application4425 is expected not to include #<Clusters::Cluster id: 30, user_id: 71, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4426 .distinct_with_deployed_environments4427 cluster has multiple successful deployment with environment4428 is expected to include #<Clusters::Cluster id: 31, user_id: 72, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4429 lists only distinct environments4430 cluster has only failed deployment with environment4431 is expected not to include #<Clusters::Cluster id: 31, user_id: 72, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4432 cluster does not have any deployment4433 is expected not to include #<Clusters::Cluster id: 31, user_id: 72, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4434 .with_project_http_integrations4435 project has alert service data4436 is expected to include #<Clusters::Cluster id: 32, user_id: 76, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4437 project has no alert service data4438 is expected not to include #<Clusters::Cluster id: 33, user_id: 78, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4439 .for_project_namespace4440 is expected to contain exactly #<Clusters::Cluster id: 34, user_id: 80, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4441 .with_name4442 is expected to contain exactly #<Clusters::Cluster id: 36, user_id: 84, provider_type: nil, platform_type: nil, created_at: "2022-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>4443 validations4444 when validates unique_environment_scope4445 for a project cluster4446 when identical environment scope exists in project4447 is expected to be falsey4448 when identical environment scope does not exist in project4449 is expected to be truthy4450 when identical environment scope exists in different project4451 is expected to be truthy4452 for a group cluster4453 when identical environment scope exists in group4454 is expected to be falsey4455 when identical environment scope does not exist in group4456 is expected to be truthy4457 when identical environment scope exists in different group4458 is expected to be truthy4459 for an instance cluster4460 identical environment scope exists4461 is expected to be falsey4462 identical environment scope does not exist4463 is expected to be truthy4464 when validates name4465 when provided by user4466 when name is empty4467 is expected to be falsey4468 when name is nil4469 is expected to be falsey4470 when name is present4471 is expected to be truthy4472 when provided by gcp4473 when name is shorter than 14474 is expected to be falsey4475 when name is longer than 634476 is expected to be falsey4477 when name includes invalid character4478 is expected to be falsey4479 when name is present4480 is expected to be truthy4481 when record is persisted4482 when name is changed4483 is expected to be falsey4484 when name is same4485 is expected to be truthy4486 when validates restrict_modification4487 when creation is on going4488 is expected to be falsey4489 when creation is done4490 is expected to be truthy4491 cluster_type validations4492 validates presence4493 project_type cluster4494 does not allow setting group4495 group_type cluster4496 does not allow setting project4497 instance_type cluster4498 does not allow setting group4499 does not allow setting project4500 domain validation4501 when cluster has domain4502 is expected to be valid4503 when cluster is not a valid hostname4504 adds an error on domain4505 when cluster does not have a domain4506 is expected to be valid4507 unique scope for management_project4508 duplicate scopes for the same management project4509 adds an error on environment_scope4510 helm_major_version can only be 2 or 34511 helm_major_version: 2, expect_valid: true4512 is expected to eq true4513 helm_major_version: 3, expect_valid: true4514 is expected to eq true4515 helm_major_version: 4, expect_valid: false4516 is expected to eq false4517 helm_major_version: -1, expect_valid: false4518 is expected to eq false4519 .ancestor_clusters_for_clusterable4520 when project does not belong to this group4521 returns nothing4522 when group has a configured kubernetes cluster4523 returns the group cluster4524 when group and instance have configured kubernetes clusters4525 returns clusters in order, descending the hierachy4526 when sub-group has configured kubernetes cluster4527 returns clusters in order, descending the hierachy4528 avoids N+1 queries4529 for a group4530 returns clusters in order for a group4531 scope chaining4532 returns nothing4533 #provider4534 when provider is gcp4535 returns a provider4536 when provider is aws4537 returns a provider4538 when provider is user4539 is expected to be nil4540 #platform4541 when platform is kubernetes4542 returns a platform4543 #first_project4544 when cluster belongs to a project4545 is expected to eq #<Project id:68 namespace36/project68>>4546 when cluster does not belong to projects4547 is expected to be nil4548 #group4549 when cluster belongs to a group4550 is expected to eq #<Group id:272 @group23>4551 when cluster does not belong to any group4552 is expected to be nil4553 .with_persisted_applications4554 preloads persisted applications4555 #persisted_applications4556 when all applications are created4557 returns a list of created applications4558 when not all were created4559 returns a list of created applications4560 #applications4561 when none of applications are created4562 returns a list of a new objects4563 when applications are created4564 returns a list of created applications4565 #find_or_build_application4566 rejects classes that are not applications4567 when none of applications are created4568 returns the new application4569 when application is persisted4570 returns the persisted application4571 #allow_user_defined_namespace?4572 project type cluster4573 gitlab managed4574 is expected to be truthy4575 not managed4576 is expected to be truthy4577 group type cluster4578 gitlab managed4579 is expected to be falsey4580 not managed4581 is expected to be truthy4582 instance type cluster4583 gitlab managed4584 is expected to be falsey4585 not managed4586 is expected to be truthy4587 #all_projects4588 cluster_type is project_type4589 returns projects4590 cluster_type is group_type4591 returns group projects4592 cluster_type is instance_type4593 returns all instance's projects4594 #kube_ingress_domain4595 with domain set in cluster4596 is expected to eq "example.com"4597 with no domain on cluster4598 with domain set at instance level4599 is expected to eq "global_domain.com"4600 #kubernetes_namespace_for4601 validates the project id4602 when environment has no last_deployable4603 is expected to eq "project76-76-the-environment-name"4604 when cluster is managed4605 returns the cached namespace if present, ignoring CI config4606 returns the default namespace when no cached namespace, ignoring CI config4607 when cluster is not managed4608 returns the cached namespace if present, regardless of CI config4609 returns the CI YAML namespace when configured4610 returns the default namespace when no namespace is configured4611 #predefined_variables4612 with an instance domain4613 includes KUBE_INGRESS_BASE_DOMAIN4614 with a cluster domain4615 includes KUBE_INGRESS_BASE_DOMAIN4616 with no domain4617 returns an empty array4618 #provided_by_user?4619 with a GCP provider4620 is expected to be falsy4621 with an user provider4622 is expected to be truthy4623 #status_name4624 the cluster has a provider4625 is expected to eq :errored4626 when cluster cleanup is ongoing4627 status_name: :errored, cleanup_status: :cleanup_not_started4628 returns cleanup_ongoing when uninstalling applications4629 status_name: :cleanup_ongoing, cleanup_status: :cleanup_removing_project_namespaces4630 returns cleanup_ongoing when uninstalling applications4631 status_name: :cleanup_ongoing, cleanup_status: :cleanup_removing_service_account4632 returns cleanup_ongoing when uninstalling applications4633 status_name: :cleanup_errored, cleanup_status: :cleanup_errored4634 returns cleanup_ongoing when uninstalling applications4635 there is a cached connection status4636 is expected to eq :connected4637 there is no connection status in the cache4638 is expected to eq :created4639 cleanup_status state_machine4640 #start_cleanup!4641 when cleanup_status is cleanup_not_started4642 behaves like cleanup_status transition4643 transitions cleanup_status correctly4644 schedules a Clusters::Cleanup::*Worker4645 when cleanup_status is errored4646 behaves like cleanup_status transition4647 transitions cleanup_status correctly4648 schedules a Clusters::Cleanup::*Worker4649 #make_cleanup_errored!4650 transitions cleanup_status from cleanup_not_started to cleanup_errored4651 sets error message4652 transitions cleanup_status from cleanup_removing_project_namespaces to cleanup_errored4653 sets error message4654 transitions cleanup_status from cleanup_removing_service_account to cleanup_errored4655 sets error message4656 #continue_cleanup!4657 behaves like cleanup_status transition4658 transitions cleanup_status correctly4659 schedules a Clusters::Cleanup::*Worker4660 #connection_status4661 is expected to be nil4662 with a cached status4663 is expected to eq :connected4664 #connection_error4665 is expected to be nil4666 with a cached status4667 is expected to eq :unknown_error4668 #node_connection_error4669 is expected to be nil4670 with a cached status4671 is expected to eq :unknown_error4672 #metrics_connection_error4673 is expected to be nil4674 with a cached status4675 is expected to eq :unknown_error4676 #nodes4677 is expected to be nil4678 with a cached status4679 is expected to eq [{"metadata"=>{"name"=>"gke-cluster-applications-default-pool-49b7f225-v527"}, "status"=>{"allocatable"=>{"cpu"=>"1930m", "memory"=>"5777164Ki"}, "capacity"=>{"cpu"=>"2", "memory"=>"7657228Ki"}}}]4680 #calculate_reactive_cache4681 cluster is disabled4682 does not populate the cache4683 cluster is enabled4684 connection to the cluster is successful4685 is expected to eq {:connection_status=>:connected, :nodes=>[{"metadata"=>{"name"=>"gke-cluster-applications-default-poo...ity"=>{"cpu"=>"2", "memory"=>"7657228Ki"}}, "usage"=>{"cpu"=>"144208668n", "memory"=>"1789048Ki"}}]}4686 cluster cannot be reached4687 is expected to eq {:connection_error=>:connection_error, :connection_status=>:unreachable}4688 cluster cannot be authenticated to4689 is expected to eq {:connection_error=>:authentication_error, :connection_status=>:authentication_failure}4690 Kubeclient::HttpError4691 is expected to eq {:connection_error=>:http_error, :connection_status=>:authentication_failure}4692 generic timeout4693 is expected to eq {:connection_error=>:http_error, :connection_status=>:unreachable}4694 gateway timeout4695 is expected to eq {:connection_error=>:http_error, :connection_status=>:unreachable}4696 an uncategorised error is raised4697 is expected to eq {:connection_error=>:unknown_error, :connection_status=>:unknown_failure}4698 notifies Sentry4699 #integration_prometheus_available?4700 is expected to be falsey4701 when integration is enabled4702 is expected to be truthy4703 when integration is disabled4704 is expected to be falsey4705 #prometheus_adapter4706 returns nothing4707 has integration_prometheus4708 returns the integration4709 has application_prometheus4710 returns nil4711 also has a integration_prometheus4712 returns the integration4713 #delete_cached_resources!4714 deletes associated namespace records4715 #clusterable4716 project type4717 is expected to eq #<Project id:90 namespace58/project90>>4718 group type4719 is expected to eq #<Group id:532 @group33>4720 instance type4721 is expected to be a kind of Clusters::Instance4722 unknown type4723 raises NotImplementedError4724Gitlab::Diff::File4725 #initialize4726 when file is ipynb4727 creates a rendered diff file4728 #ipynb?4729 is ipynb4730 is true4731 is not ipynb4732 is false4733 #has_renderable?4734 file is ipynb4735 has renderable viewer4736 file is not ipynb4737 does not have renderable viewer4738 does not create a Notebook DiffFile4739 #rendered4740 when not ipynb4741 is nil4742 when ipynb4743 creates a NotebookDiffFile for rendering4744 when collapsed4745 is nil4746 when too large4747 is nil4748 when not modified4749 is nil4750 #diff_lines4751 is expected to eq 304752 is expected to be a kind of Gitlab::Diff::Line4753 #highlighted_diff_lines4754 highlights the diff and memoises the result4755 #diff_lines_for_serializer4756 includes bottom match line if not in the end4757 when called multiple times4758 only adds bottom match line once4759 when deleted4760 does not include bottom match line4761 #unfold_diff_lines4762 when unfold required4763 changes @unfolded to true4764 updates @diff_lines4765 when unfold not required4766 keeps @unfolded false4767 does not update @diff_lines4768 #mode_changed?4769 is expected to be falsey4770 #too_large?4771 returns true for a file that is too large4772 returns false for a file that is small enough4773 #collapsed?4774 returns true for a file that is quite big4775 returns false for a file that is small enough4776 #old_blob and #new_blob4777 returns blob of base commit and the new commit4778 #diffable?4779 when attributes exist4780 returns true for files that do not have attributes4781 returns false for files that have been marked as not being diffable in attributes4782 when the text has binary notice4783 returns false4784 when the content is binary4785 returns true4786 #content_changed?4787 when created4788 returns false4789 when deleted4790 returns false4791 when renamed4792 returns false4793 when content changed4794 when binary4795 when the blobs are different4796 returns true4797 when there are no diff refs4798 returns false4799 when not binary4800 when the blobs are different4801 returns true4802 when there are no diff refs4803 returns true4804 #file_hash4805 returns a hash of file_path4806 #file_identifier_hash4807 returns a hash of file_identifier4808 diff file stats4809 #added_lines4810 when stats argument given4811 returns added lines from stats4812 when stats argument not given4813 returns added lines by parsing raw diff4814 #removed_lines4815 when stats argument given4816 returns removed lines from stats4817 when stats argument not given4818 returns removed lines by parsing raw diff4819 #simple_viewer4820 when the file is collapsed4821 returns a Collapsed viewer4822 when the file is not diffable4823 returns a Not Diffable viewer4824 when the content changed4825 when the file represented by the diff file is binary4826 returns a No Preview viewer4827 when the diff file old and new blob types are different4828 returns a No Preview viewer4829 when the file represented by the diff file is text-based4830 returns a text viewer4831 when created4832 when the file represented by the diff file is binary4833 returns an Added viewer4834 when the diff file old and new blob types are different4835 returns an Added viewer4836 when the file represented by the diff file is text-based4837 returns a text viewer4838 when deleted4839 when the file represented by the diff file is binary4840 returns a Deleted viewer4841 when the diff file old and new blob types are different4842 returns a Deleted viewer4843 when the file represented by the diff file is text-based4844 returns a text viewer4845 when renamed4846 returns a Renamed viewer4847 when mode changed4848 returns a Mode Changed viewer4849 when no other conditions apply4850 returns a No Preview viewer4851 #rich_viewer4852 when the diff file has a matching viewer4853 when the diff file content did not change4854 returns nil4855 when the diff file is not diffable4856 returns nil4857 when the diff file old and new blob types are different4858 returns nil4859 when the diff file has an external storage error4860 returns nil4861 when everything is right4862 returns the viewer4863 when the diff file does not have a matching viewer4864 returns nil4865 #alternate_viewer4866 viewer_class: DiffViewer::Image4867 is expected to be nil4868 viewer_class: DiffViewer::Collapsed4869 is expected to be nil4870 viewer_class: DiffViewer::NotDiffable4871 is expected to be nil4872 viewer_class: DiffViewer::Text4873 is expected to be nil4874 viewer_class: DiffViewer::NoPreview4875 is expected to be nil4876 viewer_class: DiffViewer::Added4877 is expected to be nil4878 viewer_class: DiffViewer::Deleted4879 is expected to be nil4880 viewer_class: DiffViewer::ModeChanged4881 is expected to be nil4882 viewer_class: DiffViewer::ModeChanged4883 is expected to be nil4884 viewer_class: DiffViewer::NoPreview4885 is expected to be nil4886 when viewer is DiffViewer::Renamed4887 when it can be rendered as text4888 is expected to be a kind of DiffViewer::Text4889 when it can be rendered as image4890 is expected to be a kind of DiffViewer::Image4891 when it is something else4892 is expected to be nil4893 #rendered_as_text?4894 when the simple viewer is text-based4895 when ignoring errors4896 when the viewer has render errors4897 returns true4898 when the viewer doesn't have render errors4899 returns true4900 when not ignoring errors4901 when the viewer has render errors4902 returns false4903 when the viewer doesn't have render errors4904 returns true4905 when the simple viewer is binary4906 returns false4907 when neither blob exists4908 #blob4909 returns a concrete nil so it can be used in boolean expressions4910 #binary?4911 returns false4912 #size4913 returns zero4914 #empty?4915 returns true4916 #different_type?4917 returns false4918 #content_changed?4919 returns false4920 when the the encoding of the file is unsupported4921 returns a Not Diffable viewer4922 is expected to eq []4923 is expected to eq []4924 #diff_hunk4925 when first line is a match4926 returns raw diff up to given line index4927 when first line is not a match4928 returns raw diff up to given line index4929 #empty?4930 when empty file is created4931 returns true4932 when empty file is deleted4933 returns true4934 when file with content is truncated4935 returns false4936 when empty file has content added4937 returns false4938 #fully_expanded?4939 when empty file is created4940 returns true4941 when empty file is deleted4942 returns true4943 when short file with last line removed4944 returns true4945 when a single line is added to empty file4946 returns true4947 when single line file is changed4948 returns true4949 when long file is changed4950 when first line is removed4951 returns true4952 when last line is removed4953 returns true4954 when first and last lines are removed4955 returns false4956 when first and last lines are changed4957 returns false4958 when every line are changed4959 returns true4960 when all contents are cleared4961 returns true4962 when file is binary4963 returns true4964Gitlab::Database::LoadBalancing4965 .base_models4966 returns the models to apply load balancing to4967 returns the models as a frozen array4968 .each_load_balancer4969 yields every load balancer to the supplied block4970 returns an Enumerator when no block is given4971 .primary_only?4972 returns true if all load balancers have no replicas4973 returns false if at least one has replicas4974 .release_hosts4975 releases the host of every load balancer4976 .db_role_for_connection4977 when the NullPool is used for connection4978 returns unknown4979 when the load balancing is configured4980 when a proxy connection is used4981 returns :unknown4982 when an invalid connection is used4983 returns :unknown4984 when a null connection is used4985 returns :unknown4986 when a read connection is used4987 returns :replica4988 when a read_write connection is used4989 returns :primary4990 LoadBalancing integration tests4991-- create_table(:_test_load_balancing_test, {:force=>true})4992 -> 0.0049s4993 queries: -> { model.first }, include_transaction: false, expected_results: [:replica]4994 redirects queries to the right roles4995 queries: -> { model.find_by(id: 123) }, include_transaction: false, expected_results: [:replica]4996 redirects queries to the right roles4997 queries: -> { model.where(name: 'hello').to_a }, include_transaction: false, expected_results: [:replica]4998 redirects queries to the right roles4999 queries: -> { model.create!(name: 'test1') }, include_transaction: false, expected_results: [:primary]5000 redirects queries to the right roles5001 queries: -> {5002 instance = model.create!(name: 'test1')5003 instance.update!(name: 'test2')5004 }, include_transaction: false, expected_results: [:primary, :primary]5005 redirects queries to the right roles5006 queries: -> { model.update_all(name: 'test2') }, include_transaction: false, expected_results: [:primary]5007 redirects queries to the right roles5008 queries: -> {5009 instance = model.create!(name: 'test1')5010 instance.destroy!5011 }, include_transaction: false, expected_results: [:primary, :primary]5012 redirects queries to the right roles5013 queries: -> { model.delete_all }, include_transaction: false, expected_results: [:primary]5014 redirects queries to the right roles5015 queries: -> { model.connection.exec_query('SELECT 1').to_a }, include_transaction: false, expected_results: [:primary]5016 redirects queries to the right roles5017 queries: -> {5018 model.first5019 model.create!(name: 'test1')5020 model.first5021 model.find_by(name: 'test1')5022 }, include_transaction: false, expected_results: [:replica, :primary, :primary, :primary]5023 redirects queries to the right roles5024 queries: -> {5025 model.transaction do5026 model.find_by(name: 'test1')5027 model.create!(name: 'test1')5028 instance = model.find_by(name: 'test1')5029 instance.update!(name: 'test2')5030 end5031 model.find_by(name: 'test1')5032 }, include_transaction: true, expected_results: [:primary, :primary, :primary, :primary, :primary, :primary, :primary]5033 redirects queries to the right roles5034 queries: -> {5035 model.transaction do5036 model.transaction do5037 model.create!(name: 'test1')5038 end5039 model.update_all(name: 'test2')5040 end5041 model.find_by(name: 'test1')5042 }, include_transaction: true, expected_results: [:primary, :primary, :primary, :primary, :primary]5043 redirects queries to the right roles5044 queries: -> {5045 model.transaction do5046 model.first5047 model.where(name: 'test1').to_a5048 end5049 }, include_transaction: true, expected_results: [:primary, :primary, :primary, :primary]5050 redirects queries to the right roles5051 queries: -> {5052 ::Gitlab::Database::LoadBalancing::Session.current.use_primary do5053 model.first5054 model.where(name: 'test1').to_a5055 end5056 model.first5057 }, include_transaction: false, expected_results: [:primary, :primary, :replica]5058 redirects queries to the right roles5059 queries: -> {5060 model.first5061 ::Gitlab::Database::LoadBalancing::Session.current.use_primary!5062 model.where(name: 'test1').to_a5063 }, include_transaction: false, expected_results: [:replica, :primary]5064 redirects queries to the right roles5065 queries: -> {5066 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5067 model.where(name: 'test1').to_a5068 end5069 }, include_transaction: false, expected_results: [:replica]5070 redirects queries to the right roles5071 queries: -> {5072 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5073 model.create!(name: 'test1')5074 end5075 }, include_transaction: false, expected_results: [:primary]5076 redirects queries to the right roles5077 queries: -> {5078 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5079 model.connection.exec_query("SELECT 1")5080 end5081 }, include_transaction: false, expected_results: [:primary]5082 redirects queries to the right roles5083 queries: -> {5084 ::Gitlab::Database::LoadBalancing::Session.current.use_primary!5085 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5086 model.where(name: 'test1').to_a5087 end5088 }, include_transaction: false, expected_results: [:replica]5089 redirects queries to the right roles5090 queries: -> {5091 ::Gitlab::Database::LoadBalancing::Session.current.use_primary!5092 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5093 model.create!(name: 'test1')5094 end5095 }, include_transaction: false, expected_results: [:primary]5096 redirects queries to the right roles5097 queries: -> {5098 ::Gitlab::Database::LoadBalancing::Session.current.use_primary!5099 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5100 model.connection.exec_query('SELECT 1')5101 end5102 }, include_transaction: false, expected_results: [:primary]5103 redirects queries to the right roles5104 queries: -> {5105 ::Gitlab::Database::LoadBalancing::Session.current.use_primary do5106 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5107 model.where(name: 'test1').to_a5108 end5109 end5110 }, include_transaction: false, expected_results: [:replica]5111 redirects queries to the right roles5112 queries: -> {5113 ::Gitlab::Database::LoadBalancing::Session.current.write!5114 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5115 model.where(name: 'test1').to_a5116 end5117 }, include_transaction: false, expected_results: [:replica]5118 redirects queries to the right roles5119 queries: -> {5120 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5121 model.first5122 model.where(name: 'test1').to_a5123 end5124 }, include_transaction: false, expected_results: [:replica, :replica]5125 redirects queries to the right roles5126 queries: -> {5127 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5128 model.transaction do5129 model.first5130 model.where(name: 'test1').to_a5131 end5132 end5133 }, include_transaction: false, expected_results: [:replica, :replica]5134 redirects queries to the right roles5135 queries: -> {5136 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5137 model.connection.exec_query("SELECT 1")5138 end5139 }, include_transaction: false, expected_results: [:replica]5140 redirects queries to the right roles5141 queries: -> {5142 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5143 model.transaction do5144 model.connection.exec_query("SET LOCAL statement_timeout = 5000")5145 model.count5146 end5147 end5148 }, include_transaction: true, expected_results: [:replica, :replica, :replica, :replica]5149 redirects queries to the right roles5150 queries: -> {5151 model.create!(name: 'Test1')5152 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5153 model.connection.exec_query("SELECT 1")5154 end5155 }, include_transaction: false, expected_results: [:primary, :primary]5156 redirects queries to the right roles5157 queries: -> {5158 ::Gitlab::Database::LoadBalancing::Session.current.use_primary!5159 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5160 model.connection.exec_query("SELECT 1")5161 end5162 }, include_transaction: false, expected_results: [:primary]5163 redirects queries to the right roles5164 queries: -> {5165 ::Gitlab::Database::LoadBalancing::Session.current.use_primary do5166 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5167 model.connection.exec_query("SELECT 1")5168 end5169 end5170 }, include_transaction: false, expected_results: [:primary]5171 redirects queries to the right roles5172 queries: -> {5173 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5174 ::Gitlab::Database::LoadBalancing::Session.current.use_primary do5175 model.connection.exec_query("SELECT 1")5176 end5177 end5178 }, include_transaction: false, expected_results: [:primary]5179 redirects queries to the right roles5180 queries: -> {5181 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5182 model.connection.exec_query("SELECT 1")5183 model.delete_all5184 model.connection.exec_query("SELECT 1")5185 end5186 }, include_transaction: false, expected_results: [:replica, :primary, :primary]5187 redirects queries to the right roles5188 queries: -> {5189 ::Gitlab::Database::LoadBalancing::Session.current.use_replicas_for_read_queries do5190 ::Gitlab::Database::LoadBalancing::Session.current.fallback_to_replicas_for_ambiguous_queries do5191 model.connection.exec_query('SELECT 1')5192 model.where(name: 'test1').to_a5193 end5194 end5195 }, include_transaction: false, expected_results: [:replica, :replica]5196 redirects queries to the right roles5197 custom connection handling5198 queries: -> {5199 model.connection.clear_cache!5200 model.connection.schema_cache.add('users')5201 model.connection.pool.release_connection5202 }, expected_role: :primary5203 redirects queries to the right roles5204 queries: -> {5205 connection = model.connection5206 connection.select_one('SELECT 1')5207 connection.pool.release_connection5208 }, expected_role: :replica5209 redirects queries to the right roles5210 queries: -> {5211 connection = model.retrieve_connection5212 connection.select_one('SELECT 1')5213 connection.pool.release_connection5214 }, expected_role: :primary5215 redirects queries to the right roles5216 a write inside a transaction inside fallback_to_replicas_for_ambiguous_queries block5217 raises an exception5218-- drop_table(:_test_load_balancing_test, {:force=>true})5219 -> 0.1503s5220GroupChildEntity5221 for a project5222 has the correct type5223 includes the star count5224 has the correct edit path5225 includes the last activity at5226 behaves like group child json5227 renders json5228 includes id5229 includes full_name5230 includes avatar_url5231 includes name5232 includes description5233 includes markdown_description5234 includes visibility5235 includes type5236 includes can_edit5237 includes visibility5238 includes permission5239 includes relative_path5240 for a group5241 has the correct type5242 counts projects and subgroups as children5243 includes children_count5244 includes leave_path5245 includes parent_id5246 includes number_users_with_delimiter5247 includes project_count5248 includes subgroup_count5249 allows an owner to leave when there is another one5250 allows an owner to delete the group5251 allows admin to delete the group5252 disallows a maintainer to delete the group5253 has the correct edit path5254 emoji in description5255 has the correct markdown_description5256 behaves like group child json5257 renders json5258 includes id5259 includes full_name5260 includes avatar_url5261 includes name5262 includes description5263 includes markdown_description5264 includes visibility5265 includes type5266 includes can_edit5267 includes visibility5268 includes permission5269 includes relative_path5270 for a private group5271 user is member of the group5272 includes the counts5273 user is not a member of the group5274 does not include the counts5275 user is only a member of a project in the group5276 does not include the counts5277 for a project with external authorization enabled5278 does not hit the external authorization service5279Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase5280 #remove_last_occurrence5281 removes only the last occurrence of a string5282 #remove_cached_html_for_projects5283 removes description_html from projects5284 removes issue descriptions5285 removes merge request descriptions5286 removes note html5287 removes milestone description5288 #rename_path_for_routable5289 for personal namespaces5290 renames namespaces called the-path5291 renames the route to the namespace5292 renames the route for projects of the namespace5293 returns the old & the new path5294 doesn't rename routes that start with a similar name5295 for groups5296 the-path group -> subgroup -> the-path0 project5297 updates the route of the project correctly5298 for projects5299 renames the project called `the-path`5300 renames the route for the project5301 returns the old & new path5302 #perform_rename5303 for personal namespaces5304 renames the path5305 for groups5306 renames all the routes for the group5307 #move_pages5308 moves the pages directory5309 #move_uploads5310 moves subdirectories in the uploads folder5311 doesn't move uploads when they are stored in object storage5312 #move_folders5313 moves a folder with files5314 #track_rename5315 tracks a rename in redis5316 #reverts_for_type5317 yields for each tracked rename5318 keeps the revert in redis if it failed5319gitlab:db:lock_writes5320 single database5321 when locking writes5322 does not add any triggers to the main schema tables (PENDING: Skipping because multiple databases are set up)5323 will be still able to modify tables that belong to the main two schemas (PENDING: Skipping because multiple databases are set up)5324 multiple databases5325 when locking writes5326 still allows writes on the tables with the correct connections5327 still allows writing to gitlab_shared schema on any connection5328 prevents writes on the main tables on the ci database5329 prevents writes on the ci tables on the main database5330 prevents truncating a ci table on the main database5331 when running in dry_run mode5332 allows writes on the main tables on the ci database5333 allows writes on the ci tables on the main database5334 multiple shared databases5335 does not lock any tables if the ci database is shared with main database5336 when unlocking writes5337 allows writes again on the gitlab_ci tables on the main database5338SearchHelper5339 search_autocomplete_opts5340 with no current user5341 returns nil5342 with a standard user5343 includes Help sections5344 includes default sections5345 does not include admin sections5346 does not allow regular expression in search term5347 includes the user's groups5348 includes nested group5349 includes the user's projects5350 includes the required project attrs5351 includes the required group attrs5352 includes the users recently viewed issues and project with correct order5353 includes the users recently viewed issues with the exact same name5354 includes the users recently viewed merge requests5355 does not include the public group5356 with a current project5357 returns repository related labels based on users abilities5358 when user does not have access to project5359 does not include issues by iid5360 when user has project access5361 includes issues by iid5362 with an admin user5363 includes admin sections5364 search_entries_info5365 raises an error for unrecognized scopes5366 scope: "blobs", label: "code result"5367 uses the correct singular label5368 uses the correct plural label5369 scope: "commits", label: "commit"5370 uses the correct singular label5371 uses the correct plural label5372 scope: "issues", label: "issue"5373 uses the correct singular label5374 uses the correct plural label5375 scope: "merge_requests", label: "merge request"5376 uses the correct singular label5377 uses the correct plural label5378 scope: "milestones", label: "milestone"5379 uses the correct singular label5380 uses the correct plural label5381 scope: "notes", label: "comment"5382 uses the correct singular label5383 uses the correct plural label5384 scope: "projects", label: "project"5385 uses the correct singular label5386 uses the correct plural label5387 scope: "snippet_titles", label: "snippet"5388 uses the correct singular label5389 uses the correct plural label5390 scope: "users", label: "user"5391 uses the correct singular label5392 uses the correct plural label5393 scope: "wiki_blobs", label: "wiki result"5394 uses the correct singular label5395 uses the correct plural label5396 search_entries_empty_message5397 global search5398 returns the formatted entry message5399 group search5400 returns the formatted entry message5401 project search5402 returns the formatted entry message5403 search_filter_input_options5404 project5405 includes id with type5406 includes project-id5407 includes project endpoints5408 includes autocomplete=off flag5409 group5410 does not includes project-id5411 includes group endpoints5412 dashboard5413 does not include group-id and project-id5414 includes dashboard endpoints5415 search_history_storage_prefix5416 project5417 returns project full_path5418 group5419 returns group full_path5420 dashboard5421 returns dashboard5422 search_md_sanitize5423 does not do extra sql queries for partial markdown rendering5424 search_filter_link5425 renders a search filter link for the current scope5426 renders a search filter link for another scope5427 merges in the current search params and given params5428 restricts the params5429 assigns given data attributes on the list container5430 #show_user_search_tab?5431 when project search5432 delegates to project_search_tabs?5433 when group search5434 when current_user can read_users_list5435 is expected to eq true5436 when current_user cannot read_users_list5437 is expected to eq false5438 when global search5439 when current_user can read_users_list5440 is expected to eq true5441 when global_search_user_tab feature flag is disabled5442 is expected to eq false5443 when current_user cannot read_users_list5444 is expected to eq false5445 #repository_ref5446 project_id: 123, ref: "ref-param", expected_ref: "ref-param"5447 returns expected_ref5448 project_id: 123, ref: nil, expected_ref: default_branch5449 returns expected_ref5450 project_id: 123, ref: 111111, expected_ref: "111111"5451 returns expected_ref5452 project_id: nil, ref: "ref-param", expected_ref: default_branch5453 returns expected_ref5454 #highlight_and_truncate_issuable5455 when description is not present5456 does nothing5457 when description present5458 description: "test", expected: "<span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span>"5459 sanitizes, truncates, and highlights the search term5460 description: "<span style=\"color: blue;\">this test should not be blue</span>", expected: "this <span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span> should not be blue"5461 sanitizes, truncates, and highlights the search term5462 description: "<a href=\"#\" onclick=\"alert('XSS')\">Click Me test</a>", expected: "<a href=\"#\">Click Me <span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span></a>"5463 sanitizes, truncates, and highlights the search term5464 description: "<script type=\"text/javascript\">alert('Another XSS');</script> test", expected: " <span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span>"5465 sanitizes, truncates, and highlights the search term5466 description: "Lorem test ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec.", expected: "Lorem <span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span> ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Don..."5467 sanitizes, truncates, and highlights the search term5468 description: "<img src=\"https://random.foo.com/test.png\" width=\"128\" height=\"128\" />some image", expected: "some image"5469 sanitizes, truncates, and highlights the search term5470 description: "<h2 data-sourcepos=\"11:1-11:26\" dir=\"auto\"><a id=\"user-content-additional-information\" class=\"anchor\" href=\"#additional-information\" aria-hidden=\"true\"></a>Additional information test:</h2><textarea data-update-url=\"/freepascal.org/fpc/source/-/issues/6163.json\" dir=\"auto\" data-testid=\"textarea\" class=\"hidden js-task-list-field\"></textarea>", expected: "<a class=\"anchor\" href=\"#additional-information\"></a>Additional information <span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span>:"5471 sanitizes, truncates, and highlights the search term5472 #search_service5473 confidential: "0", expected: false5474 transforms confidentiality param5475 confidential: "1", expected: true5476 transforms confidentiality param5477 confidential: "yes", expected: true5478 transforms confidentiality param5479 confidential: "no", expected: false5480 transforms confidentiality param5481 confidential: true, expected: true5482 transforms confidentiality param5483 confidential: false, expected: false5484 transforms confidentiality param5485 #issuable_state_to_badge_class5486 with merge request5487 returns correct badge based on status5488 with an issue5489 returns correct badge based on status5490 #issuable_state_text5491 with merge request5492 returns correct badge based on status5493 with an issue5494 returns correct badge based on status5495 #search_sort_options5496 returns the correct data5497 #header_search_context5498 no group or project data5499 does not add :group, :group_metadata, or :scope to hash5500 does not add :project, :project_metadata, :code_search, or :ref5501 group data5502 adds the :group, :group_metadata, and :scope correctly to hash5503 does not add :project, :project_metadata, :code_search, or :ref5504 project data5505 adds the :group and :group-metadata from the project correctly to hash5506 adds the :project and :project-metadata correctly to hash5507 with scope5508 adds :scope and false :code_search to hash5509 without scope5510 adds code_search true to hash and not :scope5511 ref data5512 when user can? download project data5513 adds the :ref correctly to hash5514 when user cannot download project data5515 does not add the :ref to hash5516 snippet5517 when searching from snippets5518 adds :for_snippets true correctly to hash5519 when not searching from snippets5520 adds :for_snippets nil correctly to hash5521 .search_navigation5522 projects5523 global_project: nil, condition: true5524 data item condition is set correctly5525 global_project: project, condition: false5526 data item condition is set correctly5527 code5528 feature_flag_tab_enabled: false, show_elasticsearch_tabs: false, project_search_tabs: false, condition: false5529 data item condition is set correctly5530 feature_flag_tab_enabled: true, show_elasticsearch_tabs: true, project_search_tabs: true, condition: true5531 data item condition is set correctly5532 feature_flag_tab_enabled: true, show_elasticsearch_tabs: false, project_search_tabs: false, condition: false5533 data item condition is set correctly5534 feature_flag_tab_enabled: false, show_elasticsearch_tabs: true, project_search_tabs: false, condition: false5535 data item condition is set correctly5536 feature_flag_tab_enabled: false, show_elasticsearch_tabs: false, project_search_tabs: true, condition: true5537 data item condition is set correctly5538 feature_flag_tab_enabled: true, show_elasticsearch_tabs: false, project_search_tabs: true, condition: true5539 data item condition is set correctly5540 issues5541 feature_flag_tab_enabled: false, project_search_tabs: false, condition: false5542 data item condition is set correctly5543 feature_flag_tab_enabled: true, project_search_tabs: true, condition: true5544 data item condition is set correctly5545 feature_flag_tab_enabled: true, project_search_tabs: false, condition: true5546 data item condition is set correctly5547 feature_flag_tab_enabled: false, project_search_tabs: true, condition: true5548 data item condition is set correctly5549 merge requests5550 feature_flag_tab_enabled: false, project_search_tabs: false, condition: false5551 data item condition is set correctly5552 feature_flag_tab_enabled: true, project_search_tabs: true, condition: true5553 data item condition is set correctly5554 feature_flag_tab_enabled: true, project_search_tabs: false, condition: true5555 data item condition is set correctly5556 feature_flag_tab_enabled: false, project_search_tabs: true, condition: true5557 data item condition is set correctly5558 wiki5559 project_search_tabs: false, show_elasticsearch_tabs: false, condition: false5560 data item condition is set correctly5561 project_search_tabs: true, show_elasticsearch_tabs: true, condition: true5562 data item condition is set correctly5563 project_search_tabs: true, show_elasticsearch_tabs: false, condition: true5564 data item condition is set correctly5565 project_search_tabs: false, show_elasticsearch_tabs: true, condition: true5566 data item condition is set correctly5567 commits5568 feature_flag_tab_enabled: false, show_elasticsearch_tabs: false, project_search_tabs: false, condition: false5569 data item condition is set correctly5570 feature_flag_tab_enabled: true, show_elasticsearch_tabs: true, project_search_tabs: true, condition: true5571 data item condition is set correctly5572 feature_flag_tab_enabled: true, show_elasticsearch_tabs: false, project_search_tabs: false, condition: false5573 data item condition is set correctly5574 feature_flag_tab_enabled: false, show_elasticsearch_tabs: true, project_search_tabs: true, condition: true5575 data item condition is set correctly5576 comments5577 show_elasticsearch_tabs: true, project_search_tabs: true, condition: true5578 data item condition is set correctly5579 show_elasticsearch_tabs: false, project_search_tabs: false, condition: false5580 data item condition is set correctly5581 show_elasticsearch_tabs: true, project_search_tabs: false, condition: true5582 data item condition is set correctly5583 show_elasticsearch_tabs: false, project_search_tabs: true, condition: true5584 data item condition is set correctly5585 milestones5586 global_project: project, project_search_tabs: true, condition: true5587 data item condition is set correctly5588 global_project: nil, project_search_tabs: false, condition: true5589 data item condition is set correctly5590 global_project: project, project_search_tabs: false, condition: false5591 data item condition is set correctly5592 global_project: nil, project_search_tabs: true, condition: true5593 data item condition is set correctly5594 users5595 show_user_search_tab: true, condition: true5596 data item condition is set correctly5597 show_user_search_tab: false, condition: false5598 data item condition is set correctly5599 snippet_titles5600 global_project: project, global_show_snippets: true, condition: false5601 data item condition is set correctly5602 global_project: nil, global_show_snippets: false, condition: false5603 data item condition is set correctly5604 global_project: project, global_show_snippets: false, condition: false5605 data item condition is set correctly5606 global_project: nil, global_show_snippets: true, condition: true5607 data item condition is set correctly5608 .search_navigation_json5609 with data5610 data: {:projects=>{:label=>"Projects", :condition=>true}, :blobs=>{:label=>"Code", :condition=>false}}, matcher: -> { include("projects") }5611 renders data correctly5612 data: {:projects=>{:label=>"Projects", :condition=>false}, :blobs=>{:label=>"Code", :condition=>false}}, matcher: -> { eq("{}") }5613 renders data correctly5614 data: {:projects=>{:label=>"Projects", :condition=>true}, :blobs=>{:label=>"Code", :condition=>true}, :epics=>{:label=>"Epics", :condition=>true}}, matcher: -> { include("projects", "blobs", "epics") }5615 renders data correctly5616 .search_navigation_json with .search_navigation5617 test search navigation item order for CE all options enabled5618 .search_filter_link_json5619 data5620 scope: "projects", label: "Projects", data: {:qa_selector=>"projects_tab"}, search: nil, active_scope: "projects"5621 converts correctly5622 scope: "snippet_titles", label: "Titles and Descriptions", data: nil, search: {:snippets=>"test"}, active_scope: "code"5623 converts correctly5624 scope: "projects", label: "Projects", data: {:qa_selector=>"projects_tab"}, search: nil, active_scope: "issue"5625 converts correctly5626 scope: "snippet_titles", label: "Titles and Descriptions", data: nil, search: {:snippets=>"test"}, active_scope: "snippet_titles"5627 converts correctly5628 show_elasticsearch_tabs5629 is expected to eq false5630 show_epics5631 is expected to eq false5632NotePolicy5633 #rules5634 when the noteable is a deleted commit5635 allows to read5636 when the noteable is a commit5637 when the project is private5638 behaves like a discussion with a private noteable5639 when the note author can no longer see the noteable5640 behaves like user cannot read or act on the note5641 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5642 when the note author can still see the noteable5643 can edit the note5644 when the project is public5645 when repository access level is private5646 behaves like a discussion with a private noteable5647 when the note author can no longer see the noteable5648 behaves like user cannot read or act on the note5649 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5650 when the note author can still see the noteable5651 can edit the note5652 when the noteable is a Design5653 can read, award emoji and reposition the note5654 when project is private5655 behaves like user cannot read or act on the note5656 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5657 when the noteable is a personal snippet5658 behaves like a note on a public noteable5659 can only read and award emoji on the note5660 when user is the author of the personal snippet5661 can edit note5662 when it is private5663 behaves like user cannot read or act on the note5664 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5665 when the project is public5666 when user is not the author of the note5667 behaves like a note on a public noteable5668 can only read and award emoji on the note5669 when the note author is not a project member5670 can edit a note5671 when the noteable is a project snippet5672 can edit note5673 when it is private5674 behaves like a discussion with a private noteable5675 when the note author can no longer see the noteable5676 behaves like user cannot read or act on the note5677 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5678 when the note author can still see the noteable5679 can edit the note5680 when a discussion is confidential5681 behaves like a discussion with a private noteable5682 when the note author can no longer see the noteable5683 behaves like user cannot read or act on the note5684 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5685 when the note author can still see the noteable5686 can edit the note5687 when a discussion is locked5688 when the note author is a project member5689 can edit a note5690 when the note author is not a project member5691 can not edit a note5692 can read a note5693 for discussions5694 allows the author to manage the discussion5695 when the user does not have access to the noteable5696 behaves like a discussion with a private noteable5697 when the note author can no longer see the noteable5698 behaves like user cannot read or act on the note5699 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5700 when the note author can still see the noteable5701 can edit the note5702 when it is a system note5703 when noteable is a public issue5704 when user is project member5705 behaves like user can read the note5706 allows the user to read the note5707 behaves like user can act on the note5708 allows the user to read the note5709 when user is not project member5710 behaves like user can read the note5711 allows the user to read the note5712 when user is anonymous5713 behaves like user can read the note5714 allows the user to read the note5715 when it is a system note referencing a confidential issue5716 when user is project member5717 behaves like user can read the note5718 allows the user to read the note5719 behaves like user can act on the note5720 allows the user to read the note5721 when user is not project member5722 behaves like user cannot read or act on the note5723 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5724 when user is anonymous5725 behaves like user cannot read or act on the note5726 is expected to be disallowed :admin_note, :reposition_note, :resolve_note, :read_note, and :award_emoji5727 with confidential notes5728 for issues5729 disallows noteable assignees to read all notes5730 behaves like confidential notes permissions5731 does not allow non members to read confidential notes and replies5732 does not allow guests to read confidential notes and replies5733 allows reporter to read all notes but not resolve and admin them5734 allows developer to read and resolve all notes5735 allows maintainers to read all notes and admin them5736 disallows noteable author to read and resolve all notes5737 when admin mode is enabled5738 allows admins to read all notes and admin them5739 when admin mode is disabled5740 does not allow non members to read confidential notes and replies5741Ci::RetryPipelineService#execute5742 when user has full ability to modify pipeline5743 closes all todos about failed jobs for pipeline5744 reprocesses the pipeline5745 when there are already retried jobs present5746 does not retry jobs that has already been retried5747 when there are failed builds in the last stage5748 enqueues all builds in the last stage5749 when there are failed or canceled builds in the first stage5750 retries builds failed builds and marks subsequent for processing5751 changes ownership of subsequent builds5752 when there is failed build present which was run on failure5753 retries builds only in the first stage5754 creates a new job for report job in this case5755 when there is a failed test in a DAG5756 retries the test5757 when there is a failed DAG test without needs5758 retries the test5759 when the last stage was skipped5760 retries builds only in the first stage5761 when pipeline contains manual actions5762 when there are optional manual actions only5763 when there is a canceled manual action in first stage5764 retries failed builds and marks subsequent for processing5765 changes ownership of subsequent builds5766 when pipeline has blocking manual actions defined5767 when pipeline retry should enqueue builds5768 retries failed builds5769 when pipeline retry should block pipeline immediately5770 reprocesses blocking manual action and blocks pipeline5771 when there is a skipped manual action in last stage5772 retries canceled job and reprocesses manual actions5773 when there is a created manual action in the last stage5774 retries canceled job and does not update the manual action5775 when there is a created manual action in the first stage5776 retries canceled job and processes the manual action5777 when there is a failed manual action5778 processes the manual action5779 when pipeline has processables with nil scheduling_type5780 populates scheduling_type of processables5781 when the pipeline is a downstream pipeline and the bridge is depended5782 without permission5783 does nothing to the bridge5784 with permission5785 marks source bridge as pending5786 when there are skipped jobs in later stages5787 retries failed jobs and processes skipped jobs5788 when user is not allowed to retry build5789 returns an error5790 when user is not allowed to retry pipeline5791 returns an error5792 when user is not allowed to trigger manual action5793 when there is a failed manual action present5794 returns an error5795 when there is a failed manual action in later stage5796 returns an error5797 when maintainer is allowed to push to forked project5798 allows to retry failed pipeline5799Gitlab::Gpg::Commit5800 #signature5801 unsigned commit5802 returns nil5803 invalid signature5804 returns nil5805 known key5806 user matches the key uid5807 user email matches the email committer5808 returns a valid signature5809 behaves like returns the cached signature on second call5810 returns the cached signature on second call5811 read-only mode5812 does not create a cached signature5813 valid key signed using recent version of Gnupg5814 returns a valid signature5815 valid key signed using older version of Gnupg5816 returns a valid signature5817 commit with multiple signatures5818 returns an invalid signatures error5819 commit signed with a subkey5820 returns a valid signature5821 behaves like returns the cached signature on second call5822 returns the cached signature on second call5823 gpg key email does not match the committer_email but is the same user when the committer_email belongs to the user as a confirmed secondary email5824 returns an invalid signature5825 behaves like returns the cached signature on second call5826 returns the cached signature on second call5827 gpg key email does not match the committer_email when the committer_email belongs to the user as a unconfirmed secondary email5828 returns an invalid signature5829 behaves like returns the cached signature on second call5830 returns the cached signature on second call5831 user email does not match the committer email5832 returns an invalid signature5833 behaves like returns the cached signature on second call5834 returns the cached signature on second call5835 user does not match the key uid5836 returns an invalid signature5837 behaves like returns the cached signature on second call5838 returns the cached signature on second call5839 unknown key5840 returns an invalid signature5841 behaves like returns the cached signature on second call5842 returns the cached signature on second call5843 multiple commits with signatures5844 does an aggregated sql request instead of 2 separate ones5845 #update_signature!5846 updates signature record5847Projects::CleanupService5848 .enqueue5849 makes the repository read-only5850 sets the bfg_object_map of the project5851 enqueues a RepositoryCleanupWorker5852 returns success5853 returns an error if making the repository read-only fails5854 returns an error if updating the project fails5855 .cleanup_after5856 sets the repository read-write5857 removes the BFG object map5858 #execute5859 runs the apply_bfg_object_map_stream gitaly RPC5860 runs garbage collection on the repository5861 clears the repository cache5862 removes the object map file5863 makes the repository read-write again5864 raises an error if no object map can be found5865 with a tainted merge request diff5866 removes the tainted commit from the database5867 ignores non-commit responses from Gitaly5868 with a tainted diff note5869 removes the tainted commit from the database5870 removes the highlight cache from redis5871 ignores non-commit responses from Gitaly5872AlertManagement::Alert5873 associations5874 is expected to belong to project required: false5875 is expected to belong to issue optional: true5876 is expected to belong to prometheus_alert optional: true5877 is expected to belong to environment optional: true5878 is expected to have many assignees through alert_assignees5879 is expected to have many notes5880 is expected to have many ordered_notes5881 is expected to have many user_mentions5882 validations5883 is expected to validate that :title cannot be empty/falsy5884 is expected to validate that :events cannot be empty/falsy5885 is expected to validate that :severity cannot be empty/falsy5886 is expected to validate that :status cannot be empty/falsy5887 is expected to validate that :started_at cannot be empty/falsy5888 is expected to validate that the length of :title is at most 2005889 is expected to validate that the length of :description is at most 10005890 is expected to validate that the length of :service is at most 1005891 is expected to validate that the length of :monitoring_tool is at most 1005892 fingerprint5893 adding an alert with the same fingerprint5894 same project, various states5895 existing_status_event: :resolve, new_status: :triggered, valid: true5896 is expected to be valid5897 existing_status_event: :resolve, new_status: :acknowledged, valid: true5898 is expected to be valid5899 existing_status_event: :resolve, new_status: :ignored, valid: true5900 is expected to be valid5901 existing_status_event: :resolve, new_status: :resolved, valid: true5902 is expected to be valid5903 existing_status_event: :trigger, new_status: :triggered, valid: false5904 is expected to be invalid5905 existing_status_event: :trigger, new_status: :acknowledged, valid: false5906 is expected to be invalid5907 existing_status_event: :trigger, new_status: :ignored, valid: false5908 is expected to be invalid5909 existing_status_event: :trigger, new_status: :resolved, valid: true5910 is expected to be valid5911 existing_status_event: :acknowledge, new_status: :triggered, valid: false5912 is expected to be invalid5913 existing_status_event: :acknowledge, new_status: :acknowledged, valid: false5914 is expected to be invalid5915 existing_status_event: :acknowledge, new_status: :ignored, valid: false5916 is expected to be invalid5917 existing_status_event: :acknowledge, new_status: :resolved, valid: true5918 is expected to be valid5919 existing_status_event: :ignore, new_status: :triggered, valid: false5920 is expected to be invalid5921 existing_status_event: :ignore, new_status: :acknowledged, valid: false5922 is expected to be invalid5923 existing_status_event: :ignore, new_status: :ignored, valid: false5924 is expected to be invalid5925 existing_status_event: :ignore, new_status: :resolved, valid: true5926 is expected to be valid5927 different project5928 is expected to be valid5929 hosts5930 over 255 total chars5931 is expected not to be valid5932 under 255 chars5933 is expected to be valid5934 nested array5935 is expected not to be valid5936 enums5937 is expected to define :severity as an enum backed by an integer with values ‹{critical: 0, high: 1, medium: 2, low: 3, info: 4, unknown: 5}›5938 scopes5939 .for_iid5940 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>5941 .for_fingerprint5942 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>5943 .for_environment5944 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>5945 .for_assignee_username5946 when matching assignee_username5947 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>5948 when unknown assignee_username5949 is expected to be empty5950 with empty assignee_username5951 is expected to be empty5952 .order_severity_with_open_prometheus_alert5953 is expected to eq [#<AlertManagement::Alert id:8 namespace325/project364^alert#2>, #<AlertManagement::Alert id:9 namespace325/project364^alert#3>]5954 .counts_by_project_id5955 is expected to eq {347=>2, 348=>2}5956 .not_resolved5957 is expected to contain exactly #<AlertManagement::Alert id:2 namespace322/project361^alert#2>, #<AlertManagement::Alert id:1 namespace322/project361^alert#1>, and #<AlertManagement::Alert id:4 namespace323/project362^alert#2>5958 behaves like a model including Escalatable5959 validations5960 is expected to validate that :status cannot be empty/falsy5961 when status is triggered5962 when resolved_at is blank5963 is expected to be valid5964 when resolved_at is present5965 is expected to be invalid5966 when status is acknowledged5967 when resolved_at is blank5968 is expected to be valid5969 when resolved_at is present5970 is expected to be invalid5971 when status is resolved5972 when resolved_at is blank5973 is expected to be invalid5974 when resolved_at is present5975 is expected to be valid5976 when status is ignored5977 when resolved_at is blank5978 is expected to be valid5979 when resolved_at is present5980 is expected to be invalid5981 scopes5982 .order_status5983 descending5984 is expected to eq [#<AlertManagement::Alert id:10 namespace326/project365^alert#1>, #<AlertManagement::Alert id:11 name...2 namespace328/project367^alert#1>, #<AlertManagement::Alert id:13 namespace329/project368^alert#1>]5985 ascending5986 is expected to eq [#<AlertManagement::Alert id:13 namespace329/project368^alert#1>, #<AlertManagement::Alert id:12 name...1 namespace327/project366^alert#1>, #<AlertManagement::Alert id:10 namespace326/project365^alert#1>]5987 .open5988 is expected to contain exactly #<AlertManagement::Alert id:11 namespace327/project366^alert#1> and #<AlertManagement::Alert id:10 namespace326/project365^alert#1>5989 .status_value5990 status: :triggered, status_value: 05991 returns status value by its name5992 status: :acknowledged, status_value: 15993 returns status value by its name5994 status: :resolved, status_value: 25995 returns status value by its name5996 status: :ignored, status_value: 35997 returns status value by its name5998 status: :unknown, status_value: nil5999 returns status value by its name6000 .status_name6001 raw_status: 0, status: :triggered6002 returns status name by its values6003 raw_status: 1, status: :acknowledged6004 returns status name by its values6005 raw_status: 2, status: :resolved6006 returns status name by its values6007 raw_status: 3, status: :ignored6008 returns status name by its values6009 raw_status: -1, status: nil6010 returns status name by its values6011 .open_status?6012 status: :triggered, is_open_status: true6013 returns true when the status is open status6014 status: :acknowledged, is_open_status: true6015 returns true when the status is open status6016 status: :resolved, is_open_status: false6017 returns true when the status is open status6018 status: :ignored, is_open_status: false6019 returns true when the status is open status6020 status: nil, is_open_status: false6021 returns true when the status is open status6022 #trigger6023 when escalatable is in triggered state6024 does not change the escalatable status6025 when escalatable is not in triggered state6026 changes the escalatable status to triggered6027 resets resolved at6028 #acknowledge6029 changes the escalatable status to acknowledged6030 resets ended at6031 #resolve6032 when escalatable is already resolved6033 does not change the escalatable status6034 when escalatable is not resolved6035 changes escalatable status to "resolved"6036 #ignore6037 changes the escalatable status to ignored6038 resets ended at6039 #status_event_for6040 for_status: :triggered, event: :trigger6041 returns event by status name6042 for_status: "triggered", event: :trigger6043 returns event by status name6044 for_status: :acknowledged, event: :acknowledge6045 returns event by status name6046 for_status: "acknowledged", event: :acknowledge6047 returns event by status name6048 for_status: :resolved, event: :resolve6049 returns event by status name6050 for_status: "resolved", event: :resolve6051 returns event by status name6052 for_status: :ignored, event: :ignore6053 returns event by status name6054 for_status: "ignored", event: :ignore6055 returns event by status name6056 for_status: :unknown, event: nil6057 returns event by status name6058 for_status: nil, event: nil6059 returns event by status name6060 for_status: "", event: nil6061 returns event by status name6062 for_status: 1, event: nil6063 returns event by status name6064 #open?6065 returns true when the status is open status6066 .counts_by_status6067 is expected to eq {:acknowledged=>1, :ignored=>1, :resolved=>1, :triggered=>1}6068 .find_unresolved_alert6069 is expected to eq #<AlertManagement::Alert id:16 namespace322/project361^alert#4>6070 .last_prometheus_alert_by_project_id6071 returns the latest alert for each project6072 .search6073 does not contain search string6074 is expected to be empty6075 title includes query6076 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>6077 description includes query6078 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>6079 service includes query6080 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>6081 monitoring tool includes query6082 is expected to contain exactly #<AlertManagement::Alert id:1 namespace322/project361^alert#1>6083 .reference_pattern6084 is expected to match "gitlab-org/gitlab^alert#123"6085 .link_reference_pattern6086 is expected to match "http://localhost/namespace322/project361/-/alert_management/1/details"6087 is expected not to match "http://localhost/gitlab-org/gitlab/alert_management/123"6088 is expected not to match "http://localhost/gitlab-org/gitlab/issues/123"6089 is expected not to match "gitlab-org/gitlab/-/alert_management/123"6090 .reference_valid?6091 ref: "123456", result: true6092 is expected to eq true6093 ref: "1", result: true6094 is expected to eq true6095 ref: "-1", result: false6096 is expected to eq false6097 ref: nil, result: false6098 is expected to eq false6099 ref: "123456891012345678901234567890", result: false6100 is expected to eq false6101 #to_reference6102 is expected to eq "^alert#1"6103 #register_new_event!6104 increments the events count by 16105 #resolved_at6106 is expected to eq 2022-11-11 01:06:27.421041000 +00006107 #resolved_at=6108 sets ended_at6109MergeRequests::RebaseService6110 #execute6111 behaves like sequence of failure and success6112 properly clears the error message6113 when unexpected error occurs6114 saves a generic error message6115 returns an error6116 logs the error6117 with a pre-receive failure6118 saves a specific message6119 returns an error6120 with git command failure6121 saves a generic error message6122 returns an error6123 valid params6124 clears rebase_jid6125 behaves like a service that can execute a successful rebase6126 rebases source branch6127 records the new SHA on the merge request6128 logs correct author and committer6129 when skip_ci flag is set6130 behaves like a service that can execute a successful rebase6131 rebases source branch6132 records the new SHA on the merge request6133 logs correct author and committer6134 fork6135 successful fork rebase6136 rebases source branch6137DesignManagement::CopyDesignCollection::CopyService6138 returns an error response6139 when user has permission to read the design collection6140 returns an error response6141 when the user also has permission to admin the target issue6142 returns an error response6143 when the target design collection has been queued6144 returns an error response6145 when design collection has designs6146 returns a success response6147 creates a design repository for the target project6148 copies the designs correctly6149 copies the design versions correctly6150 copies the design actions correctly6151 copies design notes correctly6152 links the LfsObjects6153 copies the Git repository data6154 creates a default branch if none previously existed6155 does not create default branch when one exists6156 leaves the design collection in the correct copy state6157 when target issue already has designs6158 returns an error response6159 when target project already has designs6160 sets IIDs for new designs above existing ones6161 does not allow for IID collisions6162 when the target project already has a design repository6163 returns a success response6164 rollback6165 returns an error response6166 rollsback all PostgreSQL data created6167 does not alter master branch6168 sets the design collection copy state6169 Alert if schema changes6170 is expected to contain exactly "id", "project_id", "issue_id", "filename", "relative_position", and "iid"6171 is expected to contain exactly "id", "design_id", "version_id", "event", and "image_v432x230"6172 is expected to contain exactly "id", "sha", "issue_id", "created_at", and "author_id"6173Gitlab::UsageDataCounters::IssueActivityUniqueCounter6174 can return the count of actions per user deduplicated6175 for Issue title edit actions6176 behaves like daily tracked issuable snowplow and service ping events with project6177 behaves like a daily tracked issuable snowplow and service ping events for given event params6178 is expected to eq 26179 does not track edit actions if author is not present6180 emits snowplow event6181 with route_hll_to_snowplow_phase2 disabled6182 does not emit snowplow event6183 for Issue description edit actions6184 behaves like daily tracked issuable snowplow and service ping events with project6185 behaves like a daily tracked issuable snowplow and service ping events for given event params6186 is expected to eq 26187 does not track edit actions if author is not present6188 emits snowplow event6189 with route_hll_to_snowplow_phase2 disabled6190 does not emit snowplow event6191 for Issue assignee edit actions6192 behaves like daily tracked issuable snowplow and service ping events with project6193 behaves like a daily tracked issuable snowplow and service ping events for given event params6194 is expected to eq 26195 does not track edit actions if author is not present6196 emits snowplow event6197 with route_hll_to_snowplow_phase2 disabled6198 does not emit snowplow event6199 for Issue make confidential actions6200 behaves like daily tracked issuable snowplow and service ping events with project6201 behaves like a daily tracked issuable snowplow and service ping events for given event params6202 is expected to eq 26203 does not track edit actions if author is not present6204 emits snowplow event6205 with route_hll_to_snowplow_phase2 disabled6206 does not emit snowplow event6207 for Issue make visible actions6208 behaves like daily tracked issuable snowplow and service ping events with project6209 behaves like a daily tracked issuable snowplow and service ping events for given event params6210 is expected to eq 26211 does not track edit actions if author is not present6212 emits snowplow event6213 with route_hll_to_snowplow_phase2 disabled6214 does not emit snowplow event6215 for Issue created actions6216 behaves like daily tracked issuable snowplow and service ping events with project6217 behaves like a daily tracked issuable snowplow and service ping events for given event params6218 is expected to eq 26219 does not track edit actions if author is not present6220 emits snowplow event6221 with route_hll_to_snowplow_phase2 disabled6222 does not emit snowplow event6223 for Issue closed actions6224 behaves like daily tracked issuable snowplow and service ping events with project6225 behaves like a daily tracked issuable snowplow and service ping events for given event params6226 is expected to eq 26227 does not track edit actions if author is not present6228 emits snowplow event6229 with route_hll_to_snowplow_phase2 disabled6230 does not emit snowplow event6231 for Issue reopened actions6232 behaves like daily tracked issuable snowplow and service ping events with project6233 behaves like a daily tracked issuable snowplow and service ping events for given event params6234 is expected to eq 26235 does not track edit actions if author is not present6236 emits snowplow event6237 with route_hll_to_snowplow_phase2 disabled6238 does not emit snowplow event6239 for Issue label changed actions6240 behaves like daily tracked issuable snowplow and service ping events with project6241 behaves like a daily tracked issuable snowplow and service ping events for given event params6242 is expected to eq 26243 does not track edit actions if author is not present6244 emits snowplow event6245 with route_hll_to_snowplow_phase2 disabled6246 does not emit snowplow event6247 for Issue label milestone actions6248 behaves like daily tracked issuable snowplow and service ping events with project6249 behaves like a daily tracked issuable snowplow and service ping events for given event params6250 is expected to eq 26251 does not track edit actions if author is not present6252 emits snowplow event6253 with route_hll_to_snowplow_phase2 disabled6254 does not emit snowplow event6255 for Issue cross-referenced actions6256 behaves like daily tracked issuable snowplow and service ping events with project6257 behaves like a daily tracked issuable snowplow and service ping events for given event params6258 is expected to eq 26259 does not track edit actions if author is not present6260 emits snowplow event6261 with route_hll_to_snowplow_phase2 disabled6262 does not emit snowplow event6263 for Issue moved actions6264 behaves like daily tracked issuable snowplow and service ping events with project6265 behaves like a daily tracked issuable snowplow and service ping events for given event params6266 is expected to eq 26267 does not track edit actions if author is not present6268 emits snowplow event6269 with route_hll_to_snowplow_phase2 disabled6270 does not emit snowplow event6271 for Issue cloned actions6272 behaves like daily tracked issuable snowplow and service ping events with project6273 behaves like a daily tracked issuable snowplow and service ping events for given event params6274 is expected to eq 26275 does not track edit actions if author is not present6276 emits snowplow event6277 with route_hll_to_snowplow_phase2 disabled6278 does not emit snowplow event6279 for Issue relate actions6280 behaves like daily tracked issuable snowplow and service ping events with project6281 behaves like a daily tracked issuable snowplow and service ping events for given event params6282 is expected to eq 26283 does not track edit actions if author is not present6284 emits snowplow event6285 with route_hll_to_snowplow_phase2 disabled6286 does not emit snowplow event6287 for Issue unrelate actions6288 behaves like daily tracked issuable snowplow and service ping events with project6289 behaves like a daily tracked issuable snowplow and service ping events for given event params6290 is expected to eq 26291 does not track edit actions if author is not present6292 emits snowplow event6293 with route_hll_to_snowplow_phase2 disabled6294 does not emit snowplow event6295 for Issue marked as duplicate actions6296 behaves like daily tracked issuable snowplow and service ping events with project6297 behaves like a daily tracked issuable snowplow and service ping events for given event params6298 is expected to eq 26299 does not track edit actions if author is not present6300 emits snowplow event6301 with route_hll_to_snowplow_phase2 disabled6302 does not emit snowplow event6303 for Issue locked actions6304 behaves like daily tracked issuable snowplow and service ping events with project6305 behaves like a daily tracked issuable snowplow and service ping events for given event params6306 is expected to eq 26307 does not track edit actions if author is not present6308 emits snowplow event6309 with route_hll_to_snowplow_phase2 disabled6310 does not emit snowplow event6311 for Issue unlocked actions6312 behaves like daily tracked issuable snowplow and service ping events with project6313 behaves like a daily tracked issuable snowplow and service ping events for given event params6314 is expected to eq 26315 does not track edit actions if author is not present6316 emits snowplow event6317 with route_hll_to_snowplow_phase2 disabled6318 does not emit snowplow event6319 for Issue designs added actions6320 behaves like daily tracked issuable snowplow and service ping events with project6321 behaves like a daily tracked issuable snowplow and service ping events for given event params6322 is expected to eq 26323 does not track edit actions if author is not present6324 emits snowplow event6325 with route_hll_to_snowplow_phase2 disabled6326 does not emit snowplow event6327 for Issue designs modified actions6328 behaves like daily tracked issuable snowplow and service ping events with project6329 behaves like a daily tracked issuable snowplow and service ping events for given event params6330 is expected to eq 26331 does not track edit actions if author is not present6332 emits snowplow event6333 with route_hll_to_snowplow_phase2 disabled6334 does not emit snowplow event6335 for Issue designs removed actions6336 behaves like daily tracked issuable snowplow and service ping events with project6337 behaves like a daily tracked issuable snowplow and service ping events for given event params6338 is expected to eq 26339 does not track edit actions if author is not present6340 emits snowplow event6341 with route_hll_to_snowplow_phase2 disabled6342 does not emit snowplow event6343 for Issue due date changed actions6344 behaves like daily tracked issuable snowplow and service ping events with project6345 behaves like a daily tracked issuable snowplow and service ping events for given event params6346 is expected to eq 26347 does not track edit actions if author is not present6348 emits snowplow event6349 with route_hll_to_snowplow_phase2 disabled6350 does not emit snowplow event6351 for Issue time estimate changed actions6352 behaves like daily tracked issuable snowplow and service ping events with project6353 behaves like a daily tracked issuable snowplow and service ping events for given event params6354 is expected to eq 26355 does not track edit actions if author is not present6356 emits snowplow event6357 with route_hll_to_snowplow_phase2 disabled6358 does not emit snowplow event6359 for Issue time spent changed actions6360 behaves like daily tracked issuable snowplow and service ping events with project6361 behaves like a daily tracked issuable snowplow and service ping events for given event params6362 is expected to eq 26363 does not track edit actions if author is not present6364 emits snowplow event6365 with route_hll_to_snowplow_phase2 disabled6366 does not emit snowplow event6367 for Issue comment added actions6368 behaves like daily tracked issuable snowplow and service ping events with project6369 behaves like a daily tracked issuable snowplow and service ping events for given event params6370 is expected to eq 26371 does not track edit actions if author is not present6372 emits snowplow event6373 with route_hll_to_snowplow_phase2 disabled6374 does not emit snowplow event6375 for Issue comment edited actions6376 behaves like daily tracked issuable snowplow and service ping events with project6377 behaves like a daily tracked issuable snowplow and service ping events for given event params6378 is expected to eq 26379 does not track edit actions if author is not present6380 emits snowplow event6381 with route_hll_to_snowplow_phase2 disabled6382 does not emit snowplow event6383 for Issue comment removed actions6384 behaves like daily tracked issuable snowplow and service ping events with project6385 behaves like a daily tracked issuable snowplow and service ping events for given event params6386 is expected to eq 26387 does not track edit actions if author is not present6388 emits snowplow event6389 with route_hll_to_snowplow_phase2 disabled6390 does not emit snowplow event6391Gitlab::HashedStorage::Migrator6392 #bulk_schedule_migration6393 schedules job to HashedStorage::MigratorWorker6394 #bulk_schedule_rollback6395 schedules job to HashedStorage::RollbackerWorker6396 #bulk_migrate6397 enqueue jobs to HashedStorage::ProjectMigrateWorker6398 rescues and log exceptions6399 delegates each project in specified range to #migrate6400 has all projects migrated and set as writable6401 #bulk_rollback6402 enqueue jobs to HashedStorage::ProjectRollbackWorker6403 rescues and log exceptions6404 delegates each project in specified range to #rollback6405 has all projects rolledback and set as writable6406 #migrate6407 enqueues project migration job6408 rescues and log exceptions6409 migrates project storage6410 has migrated project set as writable6411 when project is already on hashed storage6412 doesnt enqueue any migration job6413 returns false6414 #rollback6415 enqueues project rollback job6416 rescues and log exceptions6417 rolls-back project storage6418 has rolled-back project set as writable6419 when project is already on legacy storage6420 doesnt enqueue any rollback job6421 returns false6422 migration_pending?6423 returns true when there are MigratorWorker jobs scheduled6424 returns true when there are ProjectMigrateWorker jobs scheduled6425 returns false when queues are empty6426 rollback_pending?6427 returns true when there are RollbackerWorker jobs scheduled6428 returns true when there are jobs scheduled6429 returns false when queues are empty6430 abort_rollback!6431 removes any rollback related scheduled job6432Git::TagHooksService6433 System hooks6434 executes system hooks6435 Webhooks6436 executes hooks on the project6437 Pipelines6438 creates a new pipeline6439 Push data6440 annotated tag6441 has expected push data attributes6442 with repository data6443 has expected repository attributes6444 with commits6445 is expected to be a kind of Array6446 has 1 element6447 the commit6448 is expected to include {:timestamp => "2014-02-27T11:01:38+02:00"}6449 has expected commit attributes6450 with an author6451 has expected author attributes6452 lightweight tag6453 has expected push data attributes6454 with repository data6455 has expected repository attributes6456 with commits6457 is expected to be a kind of Array6458 has 1 element6459 the commit6460 is expected to include {:timestamp => "2014-02-27T11:01:38+02:00"}6461 has expected commit attributes6462 with an author6463 has expected author attributes6464Subscribable Subscribable6465 #subscribed?6466 behaves like returns expected values6467 without user6468 returns false6469 without project6470 returns false when no subscription exists6471 returns true when a subscription exists and subscribed is true6472 returns false when a subscription exists and subscribed is false6473 with project6474 returns false when no subscription exists6475 returns true when a subscription exists and subscribed is true6476 returns false when a subscription exists and subscribed is false6477 #subscribers6478 returns [] when no subcribers exists6479 returns the subscribed users6480 #toggle_subscription6481 without project6482 toggles the current subscription state for the given user6483 with project6484 toggles the current subscription state for the given user6485 #subscribe6486 without project6487 subscribes the given user6488 with project6489 subscribes the given user6490 #unsubscribe6491 without project6492 unsubscribes the given current user6493 with project6494 unsubscribes the given current user6495 #set_subscription6496 without project6497 behaves like setting subscriptions6498 when desired_state is set to true6499 when a user is subscribed to the resource6500 keeps the user subscribed6501 when a user is not subscribed to the resource6502 subscribes the user to the resource6503 when desired_state is set to false6504 when a user is subscribed to the resource6505 unsubscribes the user from the resource6506 when a user is not subscribed to the resource6507 keeps the user unsubscribed6508 with project6509 behaves like setting subscriptions6510 when desired_state is set to true6511 when a user is subscribed to the resource6512 keeps the user subscribed6513 when a user is not subscribed to the resource6514 subscribes the user to the resource6515 when desired_state is set to false6516 when a user is subscribed to the resource6517 unsubscribes the user from the resource6518 when a user is not subscribed to the resource6519 keeps the user unsubscribed6520 #lazy_subscription6521 executes only one SQL query6522Label6523 modules6524 is expected to includes the Referable module6525 is expected to includes the Subscribable module6526 associations6527 is expected to have many issues through label_links source => target6528 is expected to have many label_links dependent => destroy6529 is expected to have many lists dependent => destroy6530 is expected to have many priorities class_name => LabelPriority6531 validation6532 is expected to validate that :title is case-sensitively unique within the scope of :group_id and :project_id6533 validates color code6534 validates title6535 scopes6536 .on_board6537 returns only the board labels6538 #color6539 strips color6540 uses default color if color is missing6541 #text_color6542 uses default color if color is missing6543 #title6544 sanitizes title6545 strips title6546 #description6547 sanitizes description6548 accepts an empty string6549 priorization6550 #prioritize!6551 when label is not prioritized6552 creates a label priority6553 sets label priority6554 when label is prioritized6555 does not create a label priority6556 updates label priority6557 #unprioritize!6558 removes label priority6559 #priority6560 when label is not prioritized6561 returns nil6562 when label is prioritized6563 returns label priority6564 .search6565 returns labels with a partially matching title6566 returns labels with a partially matching description6567 returns nothing6568 .subscribed_by6569 returns subscribed labels6570 returns nothing6571 .top_labels_by_target6572 returns distinct labels, ordered by usage in the given target relation6573 excludes labels that are not assigned to any records in the given target relation6574 .optionally_subscribed_by6575 returns subscribed labels6576 returns all labels if user_id is nil6577 #templates6578 with invalid template labels6579 returns only valid template labels6580ServerlessDomainFinder6581 #serverless?6582 with a valid URI6583 is expected to be truthy6584 with an invalid URI6585 is expected to be falsy6586 #serverless_domain_cluster_uuid6587 with a valid URI6588 is expected to eq "abcdef12345678"6589 with an invalid URI6590 is expected to be nil6591 #execute6592 with a valid URI6593 has the correct function_name6594 has the correct serverless_domain_cluster6595 has the correct environment6596 with an invalid URI6597 is expected to be nil6598NamespaceSetting6599 is expected to define :jobs_to_be_done as an enum backed by an integer with values ‹[:basics, :move_repository, :code_storage, :exploring, :ci, :other]›, suffix: true6600 is expected to define :enabled_git_access_protocol as an enum backed by an integer with values ‹[:all, :ssh, :http]›, suffix: true6601 behaves like sanitizable6602 includes Sanitizable6603 #default_branch_name6604 when input includes javascript tags6605 gets sanitized6606 #default_branch_name validation6607 when input contains pre-escaped html entities6608 is not valid6609 Associations6610 is expected to belong to namespace required: false6611 validations6612 #default_branch_name_content6613 when not set6614 behaves like doesn't return an error6615 doesn't return an error6616 when set6617 behaves like doesn't return an error6618 doesn't return an error6619 when an empty string6620 behaves like doesn't return an error6621 doesn't return an error6622 #allow_mfa_for_group6623 group is top-level group6624 is valid6625 group is a subgroup6626 is invalid6627 #allow_resource_access_token_creation_for_group6628 group is top-level group6629 is valid6630 group is a subgroup6631 is invalid when resource access token creation is not enabled6632 is valid when resource access tokens are enabled6633 #prevent_sharing_groups_outside_hierarchy6634 when this namespace is a root ancestor6635 returns the actual stored value6636 when this namespace is a descendant6637 returns the value stored for the parent settings6638 #show_diff_preview_in_email?6639 when not a subgroup6640 does not query the db when there is no parent group6641 when :show_diff_preview_in_email is false6642 returns false6643 when :show_diff_preview_in_email is true6644 returns true6645 when a group has parent groups6646 when a parent group has disabled diff previews6647 returns false6648 when all parent groups have enabled diff previews6649 returns true6650 #delayed_project_removal6651 behaves like a cascading namespace setting boolean attribute6652 #delayed_project_removal6653 when there is no parent6654 and the value is not nil6655 returns the local value6656 and the value is nil6657 returns the application settings value6658 when parent does not lock the attribute6659 and value is not nil6660 returns local setting when present6661 returns the parent value when local value is nil6662 returns the correct dirty value6663 does not return the application setting value when parent value is false6664 and the value is nil6665 cascades to the application settings value6666 when multiple ancestors set a value6667 returns the closest ancestor value6668 when parent locks the attribute6669 returns the parent value6670 does not allow the local value to be saved6671 when the application settings locks the attribute6672 returns the application setting value6673 does not allow the local value to be saved6674 when parent locked the attribute then the application settings locks it6675 returns the application setting value6676 #delayed_project_removal?6677 aliases the method when the attribute is a boolean6678 #delayed_project_removal=6679 does not save the value locally when it matches the cascaded value6680 #delayed_project_removal_locked?6681 when attribute is locked by self6682 is not locked by default6683 is locked when including self6684 when parent does not lock the attribute6685 behaves like not locked6686 is not locked by an ancestor6687 is not locked by application setting6688 does not return a locked namespace6689 when parent locks the attribute6690 is locked by an ancestor6691 is not locked by application setting6692 returns a locked namespace settings object6693 when not locked by application settings6694 behaves like not locked6695 is not locked by an ancestor6696 is not locked by application setting6697 does not return a locked namespace6698 when locked by application settings6699 is not locked by an ancestor6700 is locked by application setting6701 does not return a locked namespace6702 #lock_delayed_project_removal=6703 when parent locks the attribute6704 does not allow the attribute to be saved6705 when parent does not lock the attribute6706 allows the lock to be set when the attribute is not nil6707 does not allow the lock to be saved when the attribute is nil6708 copies the cascaded value when locking the attribute if the local value is nil6709 when application settings locks the attribute6710 does not allow the attribute to be saved6711 when application_settings does not lock the attribute6712 allows the attribute to be saved6713 after update callback6714 clears descendant locks6715MergeRequests::Conflicts::ResolveService6716 #execute6717 with section params6718 when the source and target project are the same6719 creates a commit with the message6720 creates a commit with the correct parents6721 when some files have trailing newlines6722 preserves trailing newlines from our side of the conflicts6723 when the source project is a fork and does not contain the HEAD of the target branch6724 creates a commit with the message6725 creates a commit with the correct parents6726 with content and sections params6727 creates a commit with the message6728 creates a commit with the correct parents6729 sets the content to the content given6730 when a resolution section is missing6731 raises a ResolutionError error6732 when the content of a file is unchanged6733 raises a ResolutionError error6734 when a file is missing6735 raises a ResolutionError error6736Gitlab::Gfm::UploadsRewriter6737 text contains links to uploads6738 does not rewrite plain links as embedded6739 does not casue a timeout on pathological text6740 file are stored locally6741 #rewrite6742 rewrites content6743 copies files6744 does not remove old files6745 generates a new secret for each file6746 skips nil files do6747 files are stored remotely6748 #rewrite6749 rewrites content6750 copies files6751 does not remove old files6752 generates a new secret for each file6753 skips nil files do6754 #needs_rewrite?6755 is expected to eq true6756Mutations::MergeRequests::Create6757 #resolve6758 when user is not a project member6759 behaves like resource not available6760 raises an error6761 when user is a direct project member6762 and user is a guest6763 behaves like resource not available6764 raises an error6765 and user is a developer6766 creates a new merge request6767 returns a new merge request6768 when optional description field is set6769 returns a new merge request with a description6770 when optional labels field is set6771 returns a new merge request with labels6772 when service cannot create a merge request6773 does not create a new merge request6774 returns errors6775 when user is an inherited member from the group6776 when project is public with private merge requests6777 and user is a guest6778 behaves like resource not available6779 raises an error6780 when project is private6781 and user is a guest6782 behaves like resource not available6783 raises an error6784ServicePing::BuildPayload6785 #execute6786 behaves like complete service ping payload6787 behaves like service ping payload with all expected metrics6788 is expected to have usage metric "topology"6789Gitlab::Ci::Config::Entry::Retry6790 #value6791 when retry value is a numeric6792 is returned as a hash with max key6793 when retry value is a hash6794 and `when` is a string6795 returns when wrapped in an array6796 and `when` is an array6797 returns when as it was passed6798 validation6799 when retry value is correct6800 when it is a numeric6801 is valid6802 when it is a hash6803 with max6804 is valid6805 with string when6806 is valid6807 with string when always6808 is valid6809 with array when6810 is valid6811 with when from documentation `always`6812 is valid6813 with when from documentation `unknown_failure`6814 is valid6815 with when from documentation `script_failure`6816 is valid6817 with when from documentation `api_failure`6818 is valid6819 with when from documentation `stuck_or_timeout_failure`6820 is valid6821 with when from documentation `runner_system_failure`6822 is valid6823 with when from documentation `runner_unsupported`6824 is valid6825 with when from documentation `stale_schedule`6826 is valid6827 with when from documentation `job_execution_timeout`6828 is valid6829 with when from documentation `archived_failure`6830 is valid6831 with when from documentation `unmet_prerequisites`6832 is valid6833 with when from documentation `scheduler_failure`6834 is valid6835 with when from documentation `data_integrity_failure`6836 is valid6837 with when from CommitStatus.failure_reasons `unknown_failure`6838 is valid6839 with when from CommitStatus.failure_reasons `script_failure`6840 is valid6841 with when from CommitStatus.failure_reasons `api_failure`6842 is valid6843 with when from CommitStatus.failure_reasons `stuck_or_timeout_failure`6844 is valid6845 with when from CommitStatus.failure_reasons `runner_system_failure`6846 is valid6847 with when from CommitStatus.failure_reasons `missing_dependency_failure`6848 is valid6849 with when from CommitStatus.failure_reasons `runner_unsupported`6850 is valid6851 with when from CommitStatus.failure_reasons `stale_schedule`6852 is valid6853 with when from CommitStatus.failure_reasons `job_execution_timeout`6854 is valid6855 with when from CommitStatus.failure_reasons `archived_failure`6856 is valid6857 with when from CommitStatus.failure_reasons `unmet_prerequisites`6858 is valid6859 with when from CommitStatus.failure_reasons `scheduler_failure`6860 is valid6861 with when from CommitStatus.failure_reasons `data_integrity_failure`6862 is valid6863 with when from CommitStatus.failure_reasons `forward_deployment_failure`6864 is valid6865 with when from CommitStatus.failure_reasons `user_blocked`6866 is valid6867 with when from CommitStatus.failure_reasons `project_deleted`6868 is valid6869 with when from CommitStatus.failure_reasons `ci_quota_exceeded`6870 is valid6871 with when from CommitStatus.failure_reasons `pipeline_loop_detected`6872 is valid6873 with when from CommitStatus.failure_reasons `no_matching_runner`6874 is valid6875 with when from CommitStatus.failure_reasons `trace_size_exceeded`6876 is valid6877 with when from CommitStatus.failure_reasons `builds_disabled`6878 is valid6879 with when from CommitStatus.failure_reasons `environment_creation_failure`6880 is valid6881 with when from CommitStatus.failure_reasons `deployment_rejected`6882 is valid6883 with when from CommitStatus.failure_reasons `failed_outdated_deployment_job`6884 is valid6885 with when from CommitStatus.failure_reasons `protected_environment_failure`6886 is valid6887 with when from CommitStatus.failure_reasons `insufficient_bridge_permissions`6888 is valid6889 with when from CommitStatus.failure_reasons `downstream_bridge_project_not_found`6890 is valid6891 with when from CommitStatus.failure_reasons `invalid_bridge_trigger`6892 is valid6893 with when from CommitStatus.failure_reasons `upstream_bridge_project_not_found`6894 is valid6895 with when from CommitStatus.failure_reasons `insufficient_upstream_permissions`6896 is valid6897 with when from CommitStatus.failure_reasons `bridge_pipeline_is_child_pipeline`6898 is valid6899 with when from CommitStatus.failure_reasons `downstream_pipeline_creation_failed`6900 is valid6901 with when from CommitStatus.failure_reasons `secrets_provider_not_found`6902 is valid6903 with when from CommitStatus.failure_reasons `reached_max_descendant_pipelines_depth`6904 is valid6905 with when from CommitStatus.failure_reasons `ip_restriction_failure`6906 is valid6907 with when from CommitStatus.failure_reasons `reached_max_pipeline_hierarchy_size`6908 is valid6909 when retry value is not correct6910 when it is not a numeric nor an array6911 returns error about invalid type6912 when it is a numeric6913 when it is lower than zero6914 returns error about value too low6915 when it is not an integer6916 returns error about wrong value6917 when the value is too high6918 returns error about value too high6919 when it is a hash6920 with unknown keys6921 returns error about the unknown key6922 with max lower than zero6923 returns error about value too low6924 with max not an integer6925 returns error about wrong value6926 iwth max too high6927 returns error about value too high6928 with when in wrong format6929 returns error about the wrong format6930 with an unknown when string6931 returns error about the wrong format6932 with an unknown failure reason in a when array6933 returns error about the wrong format6934ImportExportUpload6935 import6936 behaves like stores the Import/Export file6937 stores the import file6938 export6939 behaves like stores the Import/Export file6940 stores the import file6941 scopes6942 .with_export_file6943 returns uploads with export file6944 .updated_before6945 returns uploads for a specified date6946 ActiveRecord callbacks6947 export file is stored in after_commit callback6948 import file is stored in after_save callback6949 export file6950 #export_file_exists? returns false6951 #export_archive_exists? returns false6952 with export6953 #export_file_exists? returns true6954 #export_archive_exists? returns false6955 when object file does not exist6956 #export_file_exists? returns true6957 #export_archive_exists? returns false6958 when checking object existence raises a error6959 #export_file_exists? returns true6960 #export_archive_exists? returns false6961Gitlab::Chat::Command6962 #try_create_pipeline6963 returns nil when the command is not valid6964 tries to create the pipeline when a command is valid6965 #create_pipeline6966 creates the pipeline6967 creates the chat data for the pipeline6968 stores the chat name ID in the chat data6969 stores the response URL in the chat data6970 creates the environment variables for the pipeline6971Gitlab::Ci::Config::Entry::Bridge6972 behaves like with inheritable CI config6973 does prepend an Inheritable mixin6974 all inheritable entries are covered6975 all entries do have inherit flag6976 for non-inheritable entries6977 entry_key: :stage6978 inheritable_class does not define entry6979 entry_key: :only6980 inheritable_class does not define entry6981 entry_key: :except6982 inheritable_class does not define entry6983 entry_key: :rules6984 inheritable_class does not define entry6985 entry_key: :variables6986 inheritable_class does not define entry6987 entry_key: :inherit6988 inheritable_class does not define entry6989 entry_key: :trigger6990 inheritable_class does not define entry6991 entry_key: :needs6992 inheritable_class does not define entry6993 entry_key: :parallel6994 inheritable_class does not define entry6995 .matching?6996 when config is not a hash6997 is expected to be falsey6998 when config is a regular job6999 is expected to be falsey7000 with rules7001 is expected to be falsey7002 when config is a bridge job7003 is expected to be truthy7004 with rules7005 is expected to be truthy7006 when config is a hidden job7007 is expected to be falsey7008 .new7009 when trigger config is a non-empty string7010 #valid?7011 is expected to be valid7012 #value7013 is returns a bridge job configuration7014 when bridge trigger is a hash7015 #valid?7016 is expected to be valid7017 #value7018 is returns a bridge job configuration hash7019 when bridge configuration contains trigger, when, extends, stage, only, except, and variables7020 is expected to be valid7021 when bridge configuration uses rules7022 is expected to be valid7023 when bridge configuration uses rules with job:when7024 is expected to be valid7025 when bridge configuration uses rules with only7026 is expected not to be valid7027 when bridge configuration uses rules with except7028 is expected not to be valid7029 when bridge has only job needs7030 #valid?7031 is expected not to be valid7032 when bridge config contains unknown keys7033 #valid?7034 is expected not to be valid7035 #errors7036 is returns an error about unknown config key7037 when bridge config contains build-specific attributes7038 #valid?7039 is expected not to be valid7040 #errors7041 returns an error message7042 when bridge config contains exit_codes7043 #valid?7044 is expected not to be valid7045 #errors7046 returns an error message7047 when bridge config contains parallel7048 when parallel config is a number7049 #valid?7050 is expected not to be valid7051 #errors7052 returns an error message7053 when parallel config is a matrix7054 #valid?7055 is expected to be valid7056 #value7057 is returns a bridge job configuration7058 when bridge trigger contains forward7059 #valid?7060 is expected to be valid7061 #value7062 returns a bridge job configuration hash7063 #manual_action?7064 when job is a manual action7065 is expected to be manual action7066 when job is not a manual action7067 is expected not to be manual action7068 #ignored?7069 when job is a manual action7070 when it is not specified if job is allowed to fail7071 is expected to be ignored7072 when job is allowed to fail7073 is expected to be ignored7074 when job is not allowed to fail7075 is expected not to be ignored7076 when job is not a manual action7077 when it is not specified if job is allowed to fail7078 is expected not to be ignored7079 when job is allowed to fail7080 is expected to be ignored7081 when job is not allowed to fail7082 is expected not to be ignored7083 #when7084 when bridge is a manual action7085 is expected to eq "manual"7086 when bridge has no `when` attribute7087 is expected to be nil7088 when the `when` keyword is not a string7089 when it is an array7090 returns error7091 when it is a boolean7092 returns error7093Projects::UpdatePagesService7094 fails if no artifacts7095 fails for invalid archive7096 when a deploy stage already exists7097 assigns the deploy stage7098 when a deploy stage does not exists7099 assigns the deploy stage7100 for new artifacts7101 for a valid job7102 doesn't delete artifacts after deploying7103 succeeds7104 publishes a PageDeployedEvent event with project id and namespace id7105 creates pages_deployment and saves it in the metadata7106 does not fail if pages_metadata is absent7107 limits pages size7108 limits pages file count7109 fails when uploaded deployment size is wrong7110 when there is an old pages deployment7111 schedules a destruction of older deployments7112 removes older deployments7113 when archive does not have pages directory7114 returns an error7115 when timeout happens by DNS error7116 raises an error7117 when missing artifacts metadata7118 does not raise an error as failed job7119 with background jobs running7120 succeeds7121 when sha on branch was updated before deployment was uploaded7122 succeeds7123 when old deployment present7124 succeeds7125 when newer deployment present7126 fails with outdated reference message7127 when artifacts archive does not have sha2567128 fails with exception raised7129 maximum pages artifacts size7130 when maximum pages size is set to zero7131 behaves like pages size limit is7132 when size is below the limit7133 updates pages correctly7134 when size is above the limit7135 limits the maximum size of gitlab pages7136 when size is limited on the instance level7137 behaves like pages size limit is7138 when size is below the limit7139 updates pages correctly7140 when size is above the limit7141 limits the maximum size of gitlab pages7142 when retrying the job7143 marks older pages:deploy jobs retried7144Ci::PendingBuild7145 associations7146 is expected to belong to project required: false7147 is expected to belong to build required: false7148 is expected to belong to namespace required: false7149 scopes7150 .with_instance_runners7151 when pending builds cannot be picked up by runner7152 returns an empty collection of pending builds7153 when pending builds can be picked up by runner7154 returns matching pending builds7155 .for_tags7156 when tag_ids match pending builds7157 returns matching pending builds7158 when tag_ids does not match pending builds7159 returns matching pending builds without tags7160 when tag_ids is not provided7161 with a nil value7162 returns matching pending builds without tags7163 with an empty array7164 returns matching pending builds without tags7165 .upsert_from_build!7166 another pending entry does not exist7167 creates a new pending entry7168 when another queuing entry exists for given build7169 returns a build id as a result7170 when project does not have shared runners enabled7171 sets instance_runners_enabled to false7172 when project has shared runner7173 sets instance_runners_enabled to true7174 when project is about to be deleted7175 sets instance_runners_enabled to false7176 when builds are disabled7177 sets instance_runners_enabled to false7178 when build has tags7179 sets tag_ids7180 when a build project is nested in a subgroup7181 when build can be picked by a group runner7182 denormalizes namespace traversal ids7183 when build can not be picked by a group runner7184 creates an empty namespace traversal ids array7185 behaves like cleanup by a loose foreign key7186 cleans up (delete or nullify) the model7187 behaves like cleanup by a loose foreign key7188 cleans up (delete or nullify) the model7189Gitlab::DataBuilder::Pipeline7190 .build7191 has correct attributes7192 build with runner7193 has runner attributes7194 pipeline without variables7195 has empty variables hash7196 pipeline with variables7197 is expected to be a kind of Array7198 is expected to contain exactly {:key=>"TRIGGER_KEY_1", :value=>"TRIGGER_VALUE_1"}7199 when pipeline is a detached merge request pipeline7200 returns a source ref7201 returns merge request7202 when pipeline has retried builds7203 does not contain retried builds in payload7204 contains retried builds if requested7205 build with environment7206 has environment attributes7207 when the pipeline has an upstream7208 in same project7209 behaves like source pipeline attributes7210 has source pipeline attributes7211 in different project7212 is expected not to eq 5877213 behaves like source pipeline attributes7214 has source pipeline attributes7215 avoids N+1 database queries7216 with multiple builds7217 with multiple retried builds7218 .build failed7219 has failure_reason7220Gitlab::Git::ObjectPool7221 #storage7222 equals the pool repository's shard name7223 #create7224 when the pool doesn't exist yet7225 creates the pool7226 when the pool already exists7227 raises an FailedPrecondition7228 #exists?7229 when the object pool doesn't exist7230 returns false7231 when the object pool exists7232 returns true7233 #link7234 when linked for the first time7235 sets a remote7236 when the remote is already set7237 doesn't raise an error7238 #fetch7239 when the object pool repository exists7240 without changes7241 does not raise an error7242 with new commit in source repository7243 fetches objects from the source repository7244Todos::Destroy::UnauthorizedFeaturesService7245 when user_id is provided7246 when all features have same visibility as the project7247 removes only user issue todos7248 when issues are visible only to project members but the user is a member7249 does not remove any todos7250 when issues are visible only to project members7251 removes only user issue todos7252 when mrs, builds and repository are visible only to project members7253 removes only user mr and commit todos7254 when mrs are visible only to project members7255 removes only user merge request todo7256 when mrs and issues are visible only to project members7257 removes only user merge request and issue todos7258 when user_id is not provided7259 when all features have same visibility as the project7260 does not remove any todos7261 when issues are visible only to project members7262 removes only non members issue todos7263 when mrs, builds and repository are visible only to project members7264 removes only non members mr and commit todos7265 when mrs are visible only to project members7266 removes only non members merge request todos7267 when mrs and issues are visible only to project members7268 removes only non members merge request and issue todos7269Gitlab::Redis::Cache7270 .config_file_name7271 when there is no config file anywhere7272 is expected to be nil7273 but resque.yml exists7274 is expected to eq "/tmp/redis_shared_examples20221111-468-1coxgsm/config/resque.yml"7275 returns a path that exists7276 and there is a global env override7277 is expected to eq "global override"7278 and there is an instance specific config file7279 is expected to eq "/tmp/redis_shared_examples20221111-468-hef48c/config/redis.cache.yml"7280 returns a path that exists7281 and there is a specific env override7282 is expected to eq "instance specific override"7283 .store7284 with old format7285 behaves like redis store7286 instantiates Redis::Store7287 with the namespace7288 uses specified namespace7289 with new format7290 behaves like redis store7291 instantiates Redis::Store7292 with the namespace7293 uses specified namespace7294 .params7295 withstands mutation7296 when url contains unix socket reference7297 with old format7298 returns path key instead7299 with new format7300 returns path key instead7301 when url is host based7302 with old format7303 returns hash with host, port, db, and password7304 with new format7305 rails_env: "development", host: "development-host"7306 returns hash with host, port, db, and password7307 rails_env: "test", host: "test-host"7308 returns hash with host, port, db, and password7309 rails_env: "production", host: "production-host"7310 returns hash with host, port, db, and password7311 .url7312 withstands mutation7313 when yml file with env variable7314 reads redis url from env variable7315 .version7316 returns a version7317 ._raw_config7318 is frozen7319 returns false when the file does not exist7320 returns false when the filename can't be determined7321 .with7322 when running on single-threaded runtime7323 instantiates a connection pool with size 57324 when running on multi-threaded runtime7325 instantiates a connection pool with a size based on the concurrency of the worker7326 when there is no config at all7327 can run an empty block7328 #db7329 with old format7330 returns the correct db7331 with new format7332 returns the correct db7333 #sentinels7334 when sentinels are defined7335 rails_env: "development", hosts: ["development-replica1", "development-replica2"]7336 returns an array of hashes with host and port keys7337 rails_env: "test", hosts: ["test-replica1", "test-replica2"]7338 returns an array of hashes with host and port keys7339 rails_env: "production", hosts: ["production-replica1", "production-replica2"]7340 returns an array of hashes with host and port keys7341 when sentinels are not defined7342 returns nil7343 #sentinels?7344 when sentinels are defined7345 returns true7346 when sentinels are not defined7347 returns false7348 #raw_config_hash7349 returns old-style single url config in a hash7350 #fetch_config7351 returns false when no config file is present7352 returns false when config file is present but has invalid YAML7353 has a value for the legacy default URL7354 #raw_config_hash7355 has a legacy default URL7356 .active_support_config7357 has a default ttl of 8 hours7358 allows configuring the TTL through an env variable7359Analytics::CycleAnalytics::Aggregation7360 associations7361 is expected to belong to group required: true7362 validations7363 is expected not to validate that :group cannot be empty/falsy7364 is expected not to validate that :enabled cannot be empty/falsy7365 validates the array length of incremental_runtimes_in_seconds7366 validates the array length of incremental_processed_records7367 validates the array length of full_runtimes_in_seconds7368 validates the array length of full_processed_records7369 attribute updater methods7370 #cursor_for7371 returns empty cursors7372 when cursor is not empty7373 returns the cursor values7374 #consistency_check_cursor_for7375 returns empty cursor7376 returns the cursor value for IssueStageEvent7377 returns the cursor value for MergeRequestStageEvent7378 #refresh_last_run7379 updates the run_at column7380 #reset_full_run_cursors7381 resets all full run cursors to nil7382 #set_cursor7383 sets the cursor values for the given mode7384 #set_stats7385 appends stats to the runtime and processed_records attributes7386 #safe_create_for_group7387 creates the aggregation record7388 when non top-level group is given7389 creates the aggregation record for the top-level group7390 when the record is already present7391 does nothing7392 #load_batch7393 loads records in priority order7394 when loading batch for last_consistency_check_updated_at7395 loads records in priority order7396 #estimated_next_run_at7397 when aggregation was not yet executed for the given group7398 is expected to eq nil7399 when aggregation was already run7400 returns the duration between the previous run timestamp and the earliest last_incremental_run_at7401 when the aggregation has persisted previous runtimes7402 adds the runtime to the estimation7403 when no records are present in the DB7404 returns nil7405 when only one aggregation record present7406 returns the minutes until the next aggregation7407Ci::Sources::Pipeline7408 is expected to belong to project required: false7409 is expected to belong to pipeline required: false7410 is expected to belong to source_project class_name => ::Project required: false7411 is expected to belong to source_job required: false7412 is expected to belong to source_bridge required: false7413 is expected to belong to source_pipeline required: false7414 is expected to validate that :project cannot be empty/falsy7415 is expected to validate that :pipeline cannot be empty/falsy7416 is expected to validate that :source_project cannot be empty/falsy7417 is expected to validate that :source_job cannot be empty/falsy7418 is expected to validate that :source_pipeline cannot be empty/falsy7419 loose foreign key on ci_sources_pipelines.source_project_id7420 behaves like cleanup by a loose foreign key7421 cleans up (delete or nullify) the model7422 loose foreign key on ci_sources_pipelines.project_id7423 behaves like cleanup by a loose foreign key7424 cleans up (delete or nullify) the model7425UploadedFile7426 from_params functions7427 .from_params7428 when valid file is specified7429 only local path is specified7430 is expected not to be nil7431 generates filename from path7432 all parameters are specified7433 with a filepath7434 behaves like using the file path7435 is expected not to be nil7436 sets properly the attributes7437 handles a blank path7438 with a remote id7439 behaves like using the remote id7440 is expected not to be nil7441 sets properly the attributes7442 with a path and a remote id7443 behaves like using the remote id7444 is expected not to be nil7445 sets properly the attributes7446 when no params are specified7447 does not return an object7448 when verifying allowed paths7449 when file is stored in system temporary folder7450 is expected not to be nil7451 when file is stored in user provided upload path7452 is expected not to be nil7453 when file is stored outside of user provided upload path7454 raises an error7455 .initialize7456 when no size is provided7457 determine size from local path7458 raises an exception if is a remote file7459 when size is a number7460 is overridden by the size of the local file7461 is respected if is a remote file7462 when size is a string7463 is converted to a number7464 raises an exception if does not represent a number7465 when upload_duration is not provided7466 sets upload_duration to zero7467 when upload_duration is provided7468 and upload_duration is a number7469 sets the upload_duration7470 and upload_duration is a string7471 and represents a number7472 converts upload_duration to a number7473 and does not represent a number7474 sets upload_duration to zero7475 #sanitize_filename7476 is expected to eq "spaced_name"7477 is expected to eq "_____"7478 is expected to eq "_.."7479 is expected to eq "unnamed"7480Gitlab::DatabaseImporters::InstanceAdministrators::CreateGroup7481 #execute7482 without application_settings7483 returns error7484 without admin users7485 returns error7486 with application settings and admin users7487 returns correct keys7488 tracks successful install7489 creates group7490 adds all admins as maintainers7491 saves the group id7492 returns error when saving group ID fails7493 when group already exists7494 returns success7495 when group cannot be created7496 returns error7497 when user cannot be added to group7498 returns error7499Groups::ImportExport::ExportService7500 #async_execute7501 when the job can be successfully scheduled7502 enqueues an export job7503 returns truthy7504 when the job cannot be scheduled7505 returns falsey7506 #execute7507 saves the version7508 saves the models using ndjson tree saver7509 saves the models using legacy tree saver7510 compresses and removes tmp files7511 notifies the user7512 when saver succeeds7513 saves the group in the file system7514 when user does not have admin_group permission7515 fails7516 logs the error7517 tracks the error7518 when export fails7519 when file saver fails7520 removes the remaining exported data7521 notifies the user about failed group export7522 when file compression fails7523 removes the remaining exported data7524 notifies logger7525 when there is an existing export file7526/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil7527 removes it7528Environments::AutoStopService7529 #execute7530 stops environments and play stop jobs7531 schedules stop processes in bulk7532 when the other sidekiq worker has already been running7533 does not execute stop_in_batch7534 when loop reached timeout7535 returns false and does not continue the process7536 when loop reached loop limit7537 stops only one available environment7538PlanLimits7539 #exceeded?7540 when given limit subject is an integer7541 behaves like comparing limits7542 when limit for given name results to a disabled value7543 is expected to eq false7544 when limit for given name results to a non-disabled value7545 and given count is smaller than limit7546 is expected to eq false7547 and given count is equal to the limit7548 is expected to eq true7549 and given count is greater than the limit7550 is expected to eq true7551 when given limit subject is an ActiveRecord::Relation7552 behaves like comparing limits7553 when limit for given name results to a disabled value7554 is expected to eq false7555 when limit for given name results to a non-disabled value7556 and given count is smaller than limit7557 is expected to eq false7558 and given count is equal to the limit7559 is expected to eq true7560 and given count is greater than the limit7561 is expected to eq true7562 when given limit subject is something else7563 raises an error7564 #limit_for7565 when given limit name does not exist7566 raises an error7567 when given limit name is disabled7568 is expected to eq nil7569 and alternate_limit is a non-zero integer7570 is expected to eq 17571 and alternate_limit is zero7572 is expected to eq nil7573 and alternate_limit is a proc that returns non-zero integer7574 is expected to eq 17575 and alternate_limit is a proc that returns zero7576 is expected to eq nil7577 and alternate_limit is a proc that returns nil7578 is expected to eq nil7579 when given limit name is enabled7580 and alternate_limit is a non-zero integer that is bigger than the plan limit7581 is expected to eq 27582 and alternate_limit is a non-zero integer that is smaller than the plan limit7583 is expected to eq 17584 and alternate_limit is zero7585 is expected to eq 27586 and alternate_limit is a proc that returns non-zero integer that is bigger than the plan limit7587 is expected to eq 27588 and alternate_limit is a proc that returns non-zero integer that is smaller than the plan limit7589 is expected to eq 17590 and alternate_limit is a proc that returns zero7591 is expected to eq 27592 and alternate_limit is a proc that returns nil7593 is expected to eq 27594 validates default values7595 has positive values for enabled limits7596 has zero values for disabled limits7597Verify/Load-Performance-Testing.gitlab-ci.yml7598 the created pipeline7599 has no errors7600 on master7601 behaves like load_performance job on tag or branch7602 by default7603 on another branch7604 behaves like load_performance job on tag or branch7605 by default7606 on tag7607 behaves like load_performance job on tag or branch7608 by default7609 on merge request7610 has no jobs7611JoinedGroupsFinder7612 #execute7613 without a user7614 only shows public groups from profile owner7615 with a user7616 when the profile visitor is in the private group7617 only shows groups where both users are authorized to see7618 if profile visitor is in one of the private group projects7619 shows group7620 external users7621 if not a member7622 does not show internal groups7623 if authorized7624 shows internal groups if authorized7625ProjectHook7626 associations7627 is expected to belong to project required: false7628 validations7629 is expected to validate that :project cannot be empty/falsy7630 behaves like includes Limitable concern7631 #exceeds_limits?7632 without plan limits configured7633 is expected to eq false7634 without plan limits configured7635 is expected to eq false7636 with an existing model7637 is expected to eq true7638 validations7639 is expected to be a kind of Limitable7640 without plan limits configured7641 can create new models7642 with plan limits configured7643 can create new models7644 with an existing model7645 cannot create new models exceeding the plan limits7646 .for_projects7647 finds related project hooks7648 .push_hooks7649 returns hooks for push events only7650 .tag_push_hooks7651 returns hooks for tag push events only7652 #parent7653 returns the associated project7654 #application_context7655 includes the type and project7656 #update_last_failure7657 is a method of this class7658 when the hook is executable7659 does not update the state7660 when the hook is failed7661 there is no prior value7662 updates the state7663 there is a prior value, from before now7664 updates the state7665 there is a prior value, from after now7666 does not update the state7667Gitlab::Ci::Trace::Archive7668 with transactional fixtures7669 #execute7670 computes and assigns checksum7671 validating artifact checksum7672 when the object store is disabled7673 behaves like skips validations7674 behaves like valid7675 does not count as invalid7676 behaves like local checksum only7677 generates only local checksum7678 with FIPS enabled7679 does not generate md5 checksums7680 behaves like valid7681 does not count as invalid7682 with background_upload enabled7683 behaves like skips validations7684 behaves like valid7685 does not count as invalid7686 behaves like local checksum only7687 generates only local checksum7688 with FIPS enabled7689 does not generate md5 checksums7690 behaves like valid7691 does not count as invalid7692 with direct_upload enabled7693 checksums match7694 behaves like valid7695 does not count as invalid7696 when the checksum does not match7697 counts as invalid7698 with FIPS enabled7699 does not generate md5 checksums7700 behaves like valid7701 does not count as invalid7702 with FIPS enabled7703 does not generate md5 checksums7704 behaves like valid7705 does not count as invalid7706 without transactional fixtures7707 #execute!7708 does not upload the trace inside a database transaction7709Gitlab::Ci::Config::Entry::Root7710 .nodes7711 returns a hash7712 when filtering all the entry/node names7713 contains the expected node names7714 when configuration is valid7715 when top-level entries are defined7716 #compose!7717 creates nodes hash7718 creates node object for each entry7719 creates node object using valid class7720 sets correct description for nodes7721 sets correct variables value7722 #leaf?7723 is not leaf7724 when composed7725 #errors7726 has no errors7727 #stages_value7728 when stages key defined7729 returns array of stages7730 #jobs_value7731 returns jobs configuration7732 when a mix of top-level and default entries is used7733 when composed7734 #errors7735 has no errors7736 #jobs_value7737 returns jobs configuration7738 when most of entires not defined7739 #nodes7740 instantizes all nodes7741 contains unspecified nodes7742 #variables_value7743 returns root value for variables7744 #stages_value7745 returns an array of root stages7746 #cache_value7747 returns correct cache definition7748 when variables resembles script-type job7749 #variables_value7750 returns root value for variables7751 #jobs_value7752 returns one job7753 when entries are specified but not defined7754 #variables_value7755 undefined entry returns a root value7756 when variables have "expand" data7757 returns correct value7758 when configuration is not valid7759 when before script is a number7760 #valid?7761 is not valid7762 #errors7763 reports errors from child nodes7764 when job does not have commands7765 #errors7766 reports errors about missing script or trigger7767 when a variable has an invalid data key7768 #errors7769 reports errors about the invalid variable7770 when value is not a hash7771 #valid?7772 is not valid7773 #errors7774 returns error about invalid type7775 #specified?7776 is concrete entry that is defined7777 #[]7778 when entry exists7779 returns correct entry7780 when entry does not exist7781 always return unspecified node7782Packages::Maven::Metadata::SyncService7783 #execute7784 permissions7785 role: :anonymous, expected_result: :rejected7786 behaves like returning an error service response7787 returns an error service response7788 role: :developer, expected_result: :rejected7789 behaves like returning an error service response7790 returns an error service response7791 role: :maintainer, expected_result: :accepted7792 behaves like returning a success service response7793 returns a success service response7794 with a maintainer7795 with a jar package7796 with no changes7797 behaves like returning a success service response7798 returns a success service response7799 with changes7800 behaves like returning a success service response7801 returns a success service response7802 with empty versions7803 behaves like returning a success service response7804 returns a success service response7805 with a too big maven metadata file for versions7806 behaves like returning an error service response7807 returns an error service response7808 an error from the create versions xml service7809 behaves like returning an error service response7810 returns an error service response7811 an error from the append package file service7812 behaves like returning an error service response7813 returns an error service response7814 without a package name7815 behaves like returning an error service response7816 returns an error service response7817 without a versionless package for version7818 behaves like returning a success service response7819 returns a success service response7820 without a metadata package file for versions7821 behaves like returning a success service response7822 returns a success service response7823 without a project7824 behaves like returning an error service response7825 returns an error service response7826 with a maven plugin package7827 with no changes7828 behaves like returning a success service response7829 returns a success service response7830 with changes in the versions xml7831 behaves like returning a success service response7832 returns a success service response7833 with changes in the plugin xml7834 behaves like returning a success service response7835 returns a success service response7836 with empty versions7837 behaves like returning a success service response7838 returns a success service response7839 with a too big maven metadata file for plugins7840 behaves like returning an error service response7841 returns an error service response7842 an error from the create versions xml service7843 behaves like returning an error service response7844 returns an error service response7845 an error from the append package file service7846 behaves like returning an error service response7847 returns an error service response7848 without a versionless package for plugins7849 behaves like returning a success service response7850 returns a success service response7851 without a versionless package for versions7852 behaves like returning a success service response7853 returns a success service response7854 without a metadata package file for plugins7855 behaves like returning a success service response7856 returns a success service response7857Deployments::UpdateService7858 #execute7859 can update the status to running7860 can update the status to success7861 can update the status to failed7862 can update the status to canceled7863 does not change the state if the status is invalid7864 links merge requests when changing the status to success7865Ci::BuildEraseService7866 # order random7867 #execute7868 when build is erasable7869 is successful7870 erases artifacts7871 erases trace7872 records erasure detail7873 when project is undergoing statistics refresh7874 logs a warning7875 when build is not erasable7876 is not successful7877 does not erase artifacts7878 does not erase trace7879SnippetPresenter7880 #web_url7881 with PersonalSnippet7882 returns snippet web url7883 with ProjectSnippet7884 returns snippet web url7885 #raw_url7886 with PersonalSnippet7887 returns snippet web url7888 with ProjectSnippet7889 returns snippet web url7890 #can_read_snippet?7891 with PersonalSnippet7892 checks read_snippet7893 with ProjectSnippet7894 checks read_snippet7895 #can_update_snippet?7896 with PersonalSnippet7897 checks update_snippet7898 with ProjectSnippet7899 checks update_snippet7900 #can_admin_snippet?7901 with PersonalSnippet7902 checks admin_snippet7903 with ProjectSnippet7904 checks admin_snippet7905 #can_report_as_spam7906 returns false if the user cannot submit the snippet as spam7907 returns true if the user can submit the snippet as spam7908 #blob7909 when snippet does not have a repository7910 returns SnippetBlob7911 when snippet has a repository7912 returns repository first blob7913Gitlab::PaginationDelegate7914 # order random7915 with limits and defaults7916 has a maximum limit per page7917 has a default per page7918 has a maximum page7919 when there is no data7920 shows the correct total count7921 shows the correct total pages7922 shows the correct next page7923 shows the correct previous page7924 shows the correct current page7925 shows the correct limit value7926 shows the correct first page7927 shows the correct last page7928 shows the correct offset7929 with data7930 shows the correct total count7931 shows the correct total pages7932 shows the correct next page7933 shows the correct previous page7934 shows the correct current page7935 shows the correct limit value7936 shows the correct first page7937 shows the correct last page7938 shows the correct offset7939 for last page7940 shows the correct total count7941 shows the correct total pages7942 shows the correct next page7943 shows the correct previous page7944 shows the correct current page7945 shows the correct limit value7946 shows the correct first page7947 shows the correct last page7948 shows the correct offset7949Gitlab::ImportExport::Project::Sample::RelationFactory7950 issue object7951 correctly updated due date7952 milestone object7953 correctly updated due date7954 correctly updated start date7955 milestone object7956 correctly updated due date7957 correctly updated start date7958 hook object7959 does not calculate the closest date to average7960Commits::TagService7961 #execute7962 valid params7963 when tagging succeeds7964 returns a hash with the :success status and created tag7965 adds a system note7966 when tagging fails7967 behaves like tag failure7968 returns a hash with the :error status7969 does not add a system note7970 invalid params7971 behaves like tag failure7972 returns a hash with the :error status7973 does not add a system note7974ForkNamespaceEntity7975 renders json7976 includes id7977 includes name7978 includes description7979 includes markdown_description7980 includes visibility7981 includes full_name7982 includes created_at7983 includes updated_at7984 includes avatar_url7985 exposes path for forking project to the namespace7986 exposes forked_project_path when fork exists in namespace7987 exposes relative path to the namespace7988 exposes human readable permission level7989Gitlab::Ci::Status::Build::Play7990 #label7991 has a label that says it is a manual action7992 #status_tooltip7993 does not override status status_tooltip7994 #badge_tooltip7995 does not override status badge_tooltip7996 #has_action?7997 when user is allowed to update build7998 when user is allowed to trigger protected action7999 is expected to have action8000 when user can not push to the branch8001 is expected not to have action8002 when user is not allowed to update build8003 is expected not to have action8004 #action_path8005 is expected to include "795/play"8006 #action_icon8007 is expected to eq "play"8008 #action_title8009 is expected to eq "Play"8010 #action_button_title8011 is expected to eq "Trigger this manual action"8012 .matches?8013 when build is playable8014 when build stops an environment8015 does not match8016 when build does not stop an environment8017 is a correct match8018 when build is not playable8019 does not match8020Types::Ci::JobTokenScopeType8021 is expected to eq "CiJobTokenScopeType"8022 has the correct fields8023 query8024 with access to scope8025 when multiple projects in the allow list8026 when linked projects are readable8027 returns readable projects in scope8028 when linked project is not readable8029 returns readable projects in scope8030 when job token scope is disabled8031 does not return an error8032 returns readable projects in scope8033Backup::Database8034 #restore8035 when not forced803618037 warns the user and waits8038 has a pre restore warning8039 with an empty .gz file804018041 returns successfully8042 with a corrupted .gz file8043gzip: stdin: not in gzip format804418045 raises a backup error8046 when the restore command prints errors8047must be owner of extension pg_trgm8048WARNING: no privileges could be revoked for public8049This is a test error8050 filters out noise from errors and has a post restore warning8051 with PostgreSQL settings defined in the environment8052{"PG_VERSION"=>"12", "PGUSER"=>"postgres", "PGHOST"=>"test.example.com", "PGPASSWORD"=>"donotchange"}8053 overrides default config values8054 when the source file is missing8055 main database raises an error about missing source file8056 ci database tolerates missing source file8057Gitlab::Ci::Pipeline::Chain::Sequence8058 when one of steps breaks the chain8059 does not process the second step8060 returns a pipeline object8061 when all chains are executed correctly8062 iterates through entire sequence8063 returns a pipeline object8064 adds sequence duration to duration histogram8065 adds step sequence duration to duration histogram8066 records pipeline size by pipeline source in a histogram8067 active jobs by pipeline plan histogram8068 counts all the active jobs8069InviteMembersHelper8070 #common_invite_group_modal_data8071 has expected common attributes8072 when sharing with groups outside the hierarchy is disabled8073 provides the correct attributes8074 when sharing with groups outside the hierarchy is enabled8075 does not return filter attributes8076 #common_invite_modal_dataset8077 has expected common attributes8078 tasks_to_be_done8079 inviting members for tasks8080 open_modal_param_present?: true, logged_in?: true, expected?: true8081 when the source is a project8082 behaves like including the tasks to be done attributes8083 includes the tasks to be done attributes when expected8084 when the source is a group8085 behaves like including the tasks to be done attributes8086 includes the tasks to be done attributes when expected8087 open_modal_param_present?: true, logged_in?: false, expected?: false8088 when the source is a project8089 behaves like including the tasks to be done attributes8090 includes the tasks to be done attributes when expected8091 when the source is a group8092 behaves like including the tasks to be done attributes8093 includes the tasks to be done attributes when expected8094 open_modal_param_present?: false, logged_in?: true, expected?: false8095 when the source is a project8096 behaves like including the tasks to be done attributes8097 includes the tasks to be done attributes when expected8098 when the source is a group8099 behaves like including the tasks to be done attributes8100 includes the tasks to be done attributes when expected8101 open_modal_param_present?: false, logged_in?: false, expected?: false8102 when the source is a project8103 behaves like including the tasks to be done attributes8104 includes the tasks to be done attributes when expected8105 when the source is a group8106 behaves like including the tasks to be done attributes8107 includes the tasks to be done attributes when expected8108 the invite_for_help_continuous_onboarding experiment8109 invite_for_help_continuous_onboarding?: true, logged_in?: true, expected?: true8110 when the source is a project8111 behaves like including the tasks to be done attributes8112 includes the tasks to be done attributes when expected8113 when the source is a group8114 behaves like including the tasks to be done attributes8115 includes the tasks to be done attributes when expected8116 invite_for_help_continuous_onboarding?: true, logged_in?: false, expected?: false8117 when the source is a project8118 behaves like including the tasks to be done attributes8119 includes the tasks to be done attributes when expected8120 when the source is a group8121 behaves like including the tasks to be done attributes8122 includes the tasks to be done attributes when expected8123 invite_for_help_continuous_onboarding?: false, logged_in?: true, expected?: false8124 when the source is a project8125 behaves like including the tasks to be done attributes8126 includes the tasks to be done attributes when expected8127 when the source is a group8128 behaves like including the tasks to be done attributes8129 includes the tasks to be done attributes when expected8130 invite_for_help_continuous_onboarding?: false, logged_in?: false, expected?: false8131 when the source is a project8132 behaves like including the tasks to be done attributes8133 includes the tasks to be done attributes when expected8134 when the source is a group8135 behaves like including the tasks to be done attributes8136 includes the tasks to be done attributes when expected8137 with project8138 #can_invite_members_for_project?8139 when the user can_admin_project_member8140 returns true8141 when the user can not manage project members8142 returns false8143Gitlab::SafeRequestStore8144 .store8145 when RequestStore is active8146 uses RequestStore8147 when RequestStore is NOT active8148 does not use RequestStore8149 .begin!8150 when RequestStore is active8151 uses RequestStore8152 when RequestStore is NOT active8153 uses RequestStore8154 .clear!8155 when RequestStore is active8156 uses RequestStore8157 when RequestStore is NOT active8158 uses RequestStore8159 .end!8160 when RequestStore is active8161 uses RequestStore8162 when RequestStore is NOT active8163 uses RequestStore8164 .write8165 when RequestStore is active8166 uses RequestStore8167 does not pass the options hash to the underlying store implementation8168 when RequestStore is NOT active8169 does not use RequestStore8170 does not pass the options hash to the underlying store implementation8171 .[]=8172 when RequestStore is active8173 uses RequestStore8174 when RequestStore is NOT active8175 does not use RequestStore8176 .read8177 when RequestStore is active8178 uses RequestStore8179 when RequestStore is NOT active8180 does not use RequestStore8181 .[]8182 when RequestStore is active8183 uses RequestStore8184 when RequestStore is NOT active8185 does not use RequestStore8186 .exist?8187 when RequestStore is active8188 uses RequestStore8189 when RequestStore is NOT active8190 does not use RequestStore8191 .fetch8192 when RequestStore is active8193 uses RequestStore8194 when RequestStore is NOT active8195 does not use RequestStore8196 .delete8197 when RequestStore is active8198 uses RequestStore8199 when given a block and the key exists8200 does not execute the block8201 when given a block and the key does not exist8202 yields the key and returns the block result8203 when RequestStore is NOT active8204 does not use RequestStore8205 when given a block8206 yields the key and returns the block result8207Resolvers::DesignManagement::VersionInCollectionResolver8208 #resolve8209 Neither id nor sha is passed as parameters8210 generates an appropriate error8211 we pass an id8212 is expected to eq #<DesignManagement::Version id: 59, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 105, created_at: "2022-11-11 01:12:07.667484466 +0000", author_id: 1439>8213 we pass a sha8214 is expected to eq #<DesignManagement::Version id: 59, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 105, created_at: "2022-11-11 01:12:07.667484466 +0000", author_id: 1439>8215 we pass an inconsistent mixture of sha and version id8216 is expected to be nil8217Gitlab::Auth::UniqueIpsLimiter8218 #count_unique_ips8219 resets count after specified time window8220 non unique IPs8221 properly counts them8222 unique IPs8223 properly counts them8224 #limit_user!8225 allows user authenticating from the same ip8226 blocks user authenticating from two distinct ips8227 allow 2 unique ips8228 blocks user trying to login from third ip8229SystemNotes::IncidentsService8230 #add_timeline_event8231 posts the correct text to the system note8232 behaves like a system note8233 has the correct attributes8234 #edit_timeline_event8235 behaves like a system note8236 has the correct attributes8237 when only timeline event's occurred_at was changed8238 posts the correct text to the system note8239 when only timeline event's note was changed8240 posts the correct text to the system note8241 when both timeline events occurred_at and note was changed8242 posts the correct text to the system note8243 when was changed reason is unknown8244 posts the correct text to the system note8245 #delete_timeline_event8246 posts the correct text to the system note8247 behaves like a system note8248 has the correct attributes8249Gitlab::Graphql::Pagination::ExternallyPaginatedArrayConnection8250 behaves like a connection with collection methods8251 responds to to_a8252 responds to size8253 responds to map8254 responds to include?8255 responds to empty?8256 behaves like a redactable connection8257 no redactor set8258 contains the unwanted item8259 does not redact more than once8260 redactor is set8261 does not contain the unwanted item8262 does not redact more than once8263 #nodes8264 behaves like connection with paged nodes8265 returns the collection limited to max page size8266 is a loaded memoized array8267 when `first` is passed8268 returns only the first elements8269 when `last` is passed8270 returns only the last elements8271 when after or before is specified, they are ignored8272 behaves like connection with paged nodes8273 returns the collection limited to max page size8274 is a loaded memoized array8275 when `first` is passed8276 returns only the first elements8277 when `last` is passed8278 returns only the last elements8279 behaves like connection with paged nodes8280 returns the collection limited to max page size8281 is a loaded memoized array8282 when `first` is passed8283 returns only the first elements8284 when `last` is passed8285 returns only the last elements8286 #start_cursor8287 returns the prev cursor8288 when there is none8289 returns nil8290 #end_cursor8291 returns the next cursor8292 when there is none8293 returns nil8294 #has_next_page8295 returns true when there is a end cursor8296 there is no end cursor8297 returns false8298 #has_previous_page8299 returns true when there is a start cursor8300 there is no start cursor8301 returns false8302Gitlab::Redis::HLL8303 .add8304 when checking key format8305 for invalid keys8306 metric_key: "test", value: 18307 raise an error when using an invalid key format8308 metric_key: "test-{metric", value: 18309 raise an error when using an invalid key format8310 metric_key: "test-{metric}}", value: 18311 raise an error when using an invalid key format8312 for valid keys8313 metric_key: "test-{metric}", value: 18314 doesn't raise error when having correct format8315 metric_key: "test-{metric}-1", value: 18316 doesn't raise error when having correct format8317 metric_key: "test:{metric}-1", value: 18318 doesn't raise error when having correct format8319 metric_key: "2020-216-{project_action}", value: 18320 doesn't raise error when having correct format8321 metric_key: "i_{analytics}_dev_ops_score-2020-32", value: 18322 doesn't raise error when having correct format8323 when adding entries8324 supports single value8325 supports multiple values8326 .count8327 has 3 distinct users for weeks 32, 33, 348328 has 3 distinct users for weeks 32, 338329 has 2 distinct users for weeks 33, 348330 has one distinct user for week 338331 has 4 distinct users when one different user has an action on week 348332Packages::Tag8333 relationships8334 is expected to belong to package required: false inverse_of => tags8335 validations8336 is expected to validate that :package cannot be empty/falsy8337 is expected to validate that :name cannot be empty/falsy8338 .for_packages8339 is expected to contain exactly #<Packages::Tag id: 3, package_id: 10, name: "tag-3", created_at: "2022-11-11 01:12:17.631564342 +0000", updated_at: "2022-11-11 01:12:17.631564342 +0000">, #<Packages::Tag id: 4, package_id: 11, name: "tag-4", created_at: "2022-11-11 01:12:17.644062802 +0000", updated_at: "2022-11-11 01:12:17.644062802 +0000">, and #<Packages::Tag id: 5, package_id: 12, name: "tag-5", created_at: "2022-11-11 01:12:17.656186861 +0000", updated_at: "2022-11-11 01:12:17.656186861 +0000">8340 with too many tags8341 is expected to contain exactly #<Packages::Tag id: 7, package_id: 14, name: "tag-7", created_at: "2022-11-11 01:12:18.049564524 +0000", updated_at: "2022-11-11 01:12:18.049564524 +0000"> and #<Packages::Tag id: 8, package_id: 15, name: "tag-8", created_at: "2022-11-11 01:12:18.063340573 +0000", updated_at: "2022-11-11 01:12:18.063340573 +0000">8342 .with_name8343 is expected to contain exactly #<Packages::Tag id: 9, package_id: 16, name: "tag1", created_at: "2022-11-11 01:12:18.368164299 +0000", updated_at: "2022-11-11 01:12:18.368164299 +0000">8344 with nil name8345 is expected to eq []8346 with multiple names8347 is expected to contain exactly #<Packages::Tag id: 9, package_id: 16, name: "tag1", created_at: "2022-11-11 01:12:18.368164299 +0000", updated_at: "2022-11-11 01:12:18.368164299 +0000"> and #<Packages::Tag id: 11, package_id: 16, name: "tag3", created_at: "2022-11-11 01:12:18.373933869 +0000", updated_at: "2022-11-11 01:12:18.373933869 +0000">8348Gitlab::Seeder8349 Namespace8350OK8351 has not_mass_generated scope8352OK8353 includes NamespaceSeed module8354 .quiet8355OK8356 disables database logging8357OK8358 disables mail deliveries8359OK8360 disables new note notifications8361 .log_message8362 prepends timestamp to the logged message8363Gitlab::Ci::Badge::Release::LatestRelease8364 #entity8365 describes latest release8366 #tag8367 returns latest release tag for the project ordered using release_at8368 #metadata8369 returns correct metadata8370 #template8371 returns correct template8372RepositoryCleanupWorker8373 #perform8374 executes the cleanup service and sends a success notification8375 raises an error if the project cannot be found8376 raises an error if the user cannot be found8377 #sidekiq_retries_exhausted8378 does not send a failure notification for a RecordNotFound error8379 sends a failure notification8380 cleans up the attempt8381Metrics::Dashboard::SelfMonitoringDashboardService8382 #raw_dashboard8383 behaves like #raw_dashboard raises error if dashboard loading fails8384 when yaml is too large8385 raises error8386 when yaml loader returns error8387 raises error8388 when yaml is not a hash8389 returns nil8390 #get_dashboard8391 behaves like valid dashboard service response8392 behaves like valid dashboard service response for schema8393 returns a json representation of the dashboard8394 behaves like raises error for users with insufficient permissions8395 when the user does not have sufficient access8396 behaves like misconfigured dashboard service response8397 returns an appropriate message and status code8398 when the user is anonymous8399 behaves like misconfigured dashboard service response8400 returns an appropriate message and status code8401 behaves like caches the unprocessed dashboard for subsequent calls8402 is expected to receive load_raw!(*(any args)) 1 time8403 behaves like refreshes cache when dashboard_version is changed8404 is expected to receive read(#<Pathname:/builds/gitlab-org/gitlab/config/prometheus/self_monitoring_default.yml>) 2 times8405 behaves like updates gitlab_metrics_dashboard_processing_time_ms metric8406 prometheus8407 behaves like dashboard_version contains SHA256 hash of dashboard file content8408 is expected to eq "0f7ade2022e09f1a1da8e883cc95d84b9557e1e0e9b015c51eb964296aa73098"8409 .all_dashboard_paths8410 returns the dashboard attributes8411 .valid_params?8412 with environment8413 is expected to be truthy8414 with dashboard_path8415 is expected to be truthy8416 with a different dashboard selected8417 is expected to be falsey8418 missing environment and dashboard_path8419 is expected to be falsey8420DesignManagement::Repository8421 #info_attributes8422 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}8423 #attributes_at8424 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}8425 #gitattribute8426 returns a gitattribute when path has gitattributes8427 returns nil when path has no gitattributes8428 #copy_gitattributes8429 always returns regardless of whether given a valid or invalid ref8430 #attributes8431 confirms that all files are LFS enabled8432Gitlab::ErrorTracking::ContextPayloadGenerator8433 user metadata8434 appends user metadata to the payload8435 tags metadata8436 when the GITLAB_SENTRY_EXTRA_TAGS env is not set8437 does not log into AppLogger8438 does not send any extra tags8439 when the GITLAB_SENTRY_EXTRA_TAGS env is a JSON hash8440 includes those tags in all events8441 does not log into AppLogger8442 when the GITLAB_SENTRY_EXTRA_TAGS env is not a JSON hash8443 env_var: "{:foo=>\"bar\", :baz=>\"quux\"}", error: "JSON::ParserError"8444 logs into AppLogger8445 does not include any extra tags8446 env_var: "[]", error: "NoMethodError"8447 logs into AppLogger8448 does not include any extra tags8449 env_var: "[[\"foo\",\"bar\"]]", error: "NoMethodError"8450 logs into AppLogger8451 does not include any extra tags8452 env_var: "[\"foo\",\"bar\"]", error: "NoMethodError"8453 logs into AppLogger8454 does not include any extra tags8455 env_var: "\"string\"", error: "NoMethodError"8456 logs into AppLogger8457 does not include any extra tags8458 extra metadata8459 appends extra metadata to the payload8460 appends exception embedded extra metadata to the payload8461 filters sensitive extra info8462Ci::RunningBuild8463 .upsert_shared_runner_build!8464 another pending entry does not exist8465 creates a new pending entry8466 when another queuing entry exists for given build8467 returns a build id as a result8468 when build has been picked by a specific runner8469 raises an error8470 when build has not been picked by a runner yet8471 raises an error8472 behaves like cleanup by a loose foreign key8473 cleans up (delete or nullify) the model8474ForkTargetsFinder8475 #execute8476 behaves like returns namespaces and groups8477 returns all user manageable namespaces8478 returns only groups when only_groups option is passed8479 returns groups relation when only_groups option is passed8480 when search is provided8481 filters the targets by the param8482 when searchable_fork_targets feature flag is disabled8483 behaves like returns namespaces and groups8484 returns all user manageable namespaces8485 returns only groups when only_groups option is passed8486 returns groups relation when only_groups option is passed8487 when search is provided8488 ignores the param and returns all user manageable namespaces8489Gitlab::Ci::Pipeline::Expression::Lexeme::Pattern8490 #initialize8491 when the value is a valid regular expression8492 initializes the pattern8493 when the value is a valid regular expression with escaped slashes8494 initializes the pattern8495 when the value is not a valid regular expression8496 raises an error8497 .build8498 creates a new instance of the token8499 raises an error if pattern is invalid8500 .build_and_evaluate8501 when the value is a valid regular expression8502 returns the value as a Gitlab::UntrustedRegexp8503 when the value is a Gitlab::UntrustedRegexp8504 returns the value itself8505 when the value is not a valid regular expression8506 returns the value itself8507 .type8508 is a value lexeme8509 .scan8510 correctly identifies a pattern token8511 does not allow to use an empty pattern8512 support single flag8513 support multiple flags8514 ignores unsupported flags8515 is an eager scanner for regexp boundaries8516 does not match on escaped regexp boundaries8517 recognizes \ as an escape character for /8518 does not recognize \ as an escape character for $8519 #evaluate8520 returns a regular expression8521 raises error if evaluated regexp is not valid8522Metrics::Dashboard::ClusterMetricsEmbedService8523 .valid_params?8524 is expected to be truthy8525 returns false with missing param8526 returns false with missing param8527 returns false with missing param8528 returns false with missing param8529 returns false with missing param8530 missing all params8531 is expected to be falsy8532 #get_dashboard8533 returns one panel8534 returns panel by title and y_label8535 behaves like valid embedded dashboard service response8536 behaves like valid dashboard service response for schema8537 returns a json representation of the dashboard8538 behaves like caches the unprocessed dashboard for subsequent calls8539 is expected to receive load_raw!(*(any args)) 1 time8540JiraImport::ServerUsersMapperService8541 #execute8542 behaves like mapping jira users8543 jira_users is nil8544 returns an empty array8545 when jira_users is present8546 returns users mapped to Gitlab8547 runs only 4 queries8548Gitlab::Ci::Config::Entry::AllowFailure8549 validations8550 when entry config value is valid8551 with boolean values8552 behaves like valid entry8553 #value8554 returns key value8555 #valid?8556 is valid8557 behaves like valid entry8558 #value8559 returns key value8560 #valid?8561 is valid8562 with hash values8563 behaves like valid entry8564 #value8565 returns key value8566 #valid?8567 is valid8568 behaves like valid entry8569 #value8570 returns key value8571 #valid?8572 is valid8573 when entry value is not valid8574 when it has a wrong type8575 behaves like invalid entry8576 #valid?8577 is expected not to be valid8578 is expected to include "allow failure config should be a hash or a boolean value"8579 with string exit codes8580 behaves like invalid entry8581 #valid?8582 is expected not to be valid8583 is expected to include "allow failure exit codes should be an array of integers or an integer"8584 with array of strings as exit codes8585 behaves like invalid entry8586 #valid?8587 is expected not to be valid8588 is expected to include "allow failure exit codes should be an array of integers or an integer"8589 when it has an extra keys8590 behaves like invalid entry8591 #valid?8592 is expected not to be valid8593 is expected to include "allow failure config contains unknown keys: extra"8594Gitlab::Ci::Pipeline::Seed::Processable::ResourceGroup8595 #to_resource8596 when resource group key is specified8597 returns a resource group object8598 when environment has an invalid URL8599 returns nothing8600 when there is a resource group already8601 does not create a new resource group8602 when resource group key is nil8603 returns nothing8604Gitlab::GlobalId8605 .build8606 returns a standard GlobalId if only object is passed8607 returns a GlobalId from params8608 returns a GlobalId from object and `id` param8609 returns a GlobalId from object and `model_name` param8610 returns an error if model_name and id are not able to be determined8611 .as_global_id8612 is the identify function on GlobalID instances8613 wraps URI::GID in GlobalID8614 cannot coerce Integers without a model name8615 can coerce Integers with a model name8616 rejects any other value8617gitlab:lfs rake tasks8618 check8619 outputs the integrity check for each batch8620 errors out about missing files on the file system8621 errors out about invalid checksum8622Gitlab::Usage::Metrics::Query8623 .count8624 returns the raw SQL8625 does not mix a nil column with keyword arguments8626 removes order from passed relation8627 returns valid raw SQL for join relations8628 returns valid raw SQL for join relations with joined columns8629 .distinct_count8630 returns the raw SQL8631 does not mix a nil column with keyword arguments8632 removes order from passed relation8633 returns valid raw SQL for join relations8634 returns valid raw SQL for join relations with joined columns8635 .sum8636 returns the raw SQL8637 .average8638 returns the raw SQL8639 estimate_batch_distinct_count8640 returns the raw SQL8641 .histogram8642 returns the histogram sql8643 other8644 raise ArgumentError error8645Gitlab::Middleware::Speedscope8646 #call8647 when flamegraph is not requested8648 behaves like returns original response8649 returns original response8650 when flamegraph requested8651 when user is not allowed8652 behaves like returns original response8653 returns original response8654 when user is allowed8655 returns a flamegraph8656 when the stackprof_mode parameter is set and valid8657 runs StackProf in the mode specified in the stackprof_mode parameter8658 when the stackprof_mode parameter is not set8659 runs StackProf in wall mode8660 when the stackprof_mode parameter is invalid8661 runs StackProf in wall mode8662 when the stackprof_mode parameter is set to object mode8663 runs StackProf with an interval of 1008664 when the stackprof_mode parameter is not set to object mode8665 runs StackProf with an interval of 10_1008666AwardEmojisFinder8667 param validation8668 raises an error if `name` is invalid8669 does not raise an error if `name` is numeric8670 raises an error if `awarded_by` is invalid8671 #execute8672 scopes to the awardable8673 filters by emoji name8674 filters by user8675Packages::Debian::ExtractChangesMetadataService8676 #execute8677 with FIPS mode enabled8678 raises an error8679 with valid package file8680 extract metadata8681 with invalid package file8682 raise ArgumentError8683 with invalid metadata8684 without Files field8685 raise ArgumentError8686 without Checksums-Sha1 field8687 raise ArgumentError8688 without Checksums-Sha256 field8689 raise ArgumentError8690 with file in Checksums-Sha1 but not in Files8691 raise ArgumentError8692 with different size in Checksums-Sha18693 raise ArgumentError8694 with file in Checksums-Sha256 but not in Files8695 raise ArgumentError8696 with different size in Checksums-Sha2568697 raise ArgumentError8698 with file in Files but not in Checksums-Sha18699 raise ArgumentError8700 with file in Files but not in Checksums-Sha2568701 raise ArgumentError8702 with invalid MD58703 raise ArgumentError8704 with invalid SHA18705 raise ArgumentError8706 with invalid SHA2568707 raise ArgumentError8708 with missing package file8709 raise ArgumentError8710Banzai::Filter::InlineGrafanaMetricsFilter8711 behaves like a metrics embed filter8712 when the document has an external link8713 leaves regular non-metrics links unchanged8714 when the document contains an embeddable link8715 leaves the original link unchanged8716 appends a metrics charts placeholder8717 in a paragraph8718 appends a metrics charts placeholder after the enclosing paragraph8719 when grafana is not configured8720 leaves the markdown unchanged8721 when "panelId" parameter is missing8722 behaves like a metrics embed filter8723 when the document has an external link8724 leaves regular non-metrics links unchanged8725 when the document contains an embeddable link8726 leaves the original link unchanged8727 appends a metrics charts placeholder8728 in a paragraph8729 appends a metrics charts placeholder after the enclosing paragraph8730 when time window parameters are missing8731 sets the window to the last 8 hrs8732 when "to" parameter is missing8733 sets "to" to 8 hrs after "from"8734 when "from" parameter is missing8735 sets "from" to 8 hrs before "to"8736 when no parameters are provided8737 inserts a placeholder8738Subquery8739 # order random8740 when relation is not loaded8741 behaves like subquery as relation8742 is expected to be a kind of ActiveRecord::Relation8743 is expected to make queries8744 when array size exceeds max_limit8745 behaves like subquery as relation8746 is expected to be a kind of ActiveRecord::Relation8747 is expected to make queries8748 when relation is loaded8749 behaves like subquery as array values8750 is expected to contain exactly 723, 724, and 7258751 is expected not to make queries8752 when array size exceeds max_limit8753 behaves like subquery as relation8754 is expected to be a kind of ActiveRecord::Relation8755 is expected to make queries8756 with a select8757 behaves like subquery as array values8758 is expected to contain exactly 723, 724, and 7258759 is expected not to make queries8760 and querying with an unloaded column8761 is expected to raise ActiveModel::MissingAttributeError8762Boards::VisitsFinder8763 #latest8764 when a project board8765 returns nil when there is no user8766 queries for most recent visit8767 queries for last N visits8768 when a group board8769 returns nil when there is no user8770 queries for most recent visit8771 queries for last N visits8772BulkImports::ExportRequestWorker8773 #perform8774 when entity is group8775 behaves like requests relations export for api resource8776 behaves like an idempotent worker8777 is labeled as idempotent8778 performs multiple times sequentially without raising an exception8779 requests relations export & schedules entity worker8780 when network error is raised8781 when error is retriable8782 logs retry request and reenqueues8783 when error is not retriable8784 logs export failure and marks entity as failed8785 when source id is nil8786 updates entity source id & requests export using source id8787 when something goes wrong during source id fetch8788 logs the error & requests relations export using full path url8789 when entity is project8790 behaves like requests relations export for api resource8791 behaves like an idempotent worker8792 is labeled as idempotent8793 performs multiple times sequentially without raising an exception8794 requests relations export & schedules entity worker8795 when network error is raised8796 when error is retriable8797 logs retry request and reenqueues8798 when error is not retriable8799 logs export failure and marks entity as failed8800 when source id is nil8801 updates entity source id & requests export using source id8802 when something goes wrong during source id fetch8803 logs the error & requests relations export using full path url8804Import::GitlabProjects::CreateProjectService8805 validation8806 is expected to be valid8807 validates presence of path8808 validates presence of name8809 is invalid if the strategy is invalid8810 #execute8811 creates a project successfully8812 when the project creation raises an error8813 fails to create a project8814 when the validation fail8815 fails to create a project8816 when the project contains multilple errors8817 fails to create a project8818 when the strategy adds project parameters8819 merges the strategy project parameters8820Namespaces::ProjectNamespacePolicy8821 behaves like checks timelog categories permissions8822 with no user8823 is expected to be disallowed :read_timelog_category8824 with a regular user8825 is expected to be disallowed :read_timelog_category8826 with a reporter user8827 when timelog_categories is enabled8828 is expected to be allowed :read_timelog_category8829 when timelog_categories is disabled8830 is expected to be disallowed :read_timelog_category8831Gitlab::DependencyLinker::PodspecJsonLinker8832 .support?8833 supports *.podspec.json8834 does not support other files8835 #link8836 links the gem name8837 links the license8838 links the homepage8839 links the source URL8840 links dependencies8841 does not link subspec names8842Gitlab::Kubernetes::Helm::V2::DeleteCommand8843 behaves like helm command generator8844 #generate_script8845 returns appropriate command8846 #pod_name8847 is expected to eq "uninstall-app-name"8848 behaves like helm command8849 HELM_VERSION8850 is expected to match /\d+\.\d+\.\d+/8851 #env8852 is expected to be a kind of Hash8853 #rbac?8854 rbac is enabled8855 is expected to be truthy8856 rbac is not enabled8857 is expected to be falsey8858 #pod_resource8859 rbac is enabled8860 is expected to be an instance of Kubeclient::Resource8861 generates a pod that uses the tiller serviceAccountName8862 rbac is not enabled8863 is expected to be an instance of Kubeclient::Resource8864 generates a pod that uses the default serviceAccountName8865 #config_map_resource8866 returns a KubeClient resource with config map content for the application8867 #service_account_resource8868 rbac is enabled8869 generates a Kubeclient resource for the tiller ServiceAccount8870 rbac is not enabled8871 generates nothing8872 #cluster_role_binding_resource8873 rbac is enabled8874 generates a Kubeclient resource for the ClusterRoleBinding for tiller8875 binds the account in #service_account_resource8876 rbac is not enabled8877 generates nothing8878 #delete_command8879 deletes the release8880MergeRequest::DiffCommitUser8881 validations8882 requires that names are less than 512 characters long8883 requires that Emails are less than 512 characters long8884 requires either a name or Email8885 allows setting of just a name8886 allows setting of just an Email8887 allows setting of both a name and Email8888 .prepare8889 trims a value to at most 512 characters8890 returns nil if the value is an empty string8891 .find_or_create8892 creates a new row if none exist8893 returns an existing row if one exists8894 handles concurrent inserts8895 .bulk_find_or_create8896 bulk creates missing rows and reuses existing rows8897 does not insert any data when all users exist8898 handles concurrently inserted rows8899Gitlab::GithubImport::AdvanceStageWorker8900 #perform8901 when the project no longer exists8902 does not perform any work8903 when there are remaining jobs8904 reschedules itself8905 when there are no remaining jobs8906 schedules the next stage8907 raises KeyError when the stage name is invalid8908 #wait_for_jobs8909 waits for jobs to complete and returns a new pair of keys to wait for8910 #find_import_state8911 returns a ProjectImportState8912 returns nil if the project import is not running8913ClustersFinder8914 #execute8915 when scope is all8916 is expected to contain exactly #<Clusters::Cluster id: 365, user_id: 1566, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3> and #<Clusters::Cluster id: 368, user_id: 1569, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>8917 when scope is active8918 is expected to contain exactly #<Clusters::Cluster id: 371, user_id: 1573, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>8919 when scope is inactive8920 is expected to contain exactly #<Clusters::Cluster id: 374, user_id: 1577, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>8921Gitlab::RepositoryUrlBuilder8922 .build8923 factory: :project, path_generator: ->(project) { project.full_path }8924 when passing SSH protocol8925 returns the SSH URL to the repository8926 when passing HTTP protocol8927 returns the HTTP URL to the repo without a username8928 includes the custom HTTP clone root if set8929 when passing an unsupported protocol8930 raises an exception8931 factory: :project_snippet, path_generator: ->(snippet) { "#{snippet.project.full_path}/snippets/#{snippet.id}" }8932 when passing SSH protocol8933 returns the SSH URL to the repository8934 when passing HTTP protocol8935 returns the HTTP URL to the repo without a username8936 includes the custom HTTP clone root if set8937 when passing an unsupported protocol8938 raises an exception8939 factory: :project_wiki, path_generator: ->(wiki) { "#{wiki.container.full_path}.wiki" }8940 when passing SSH protocol8941 returns the SSH URL to the repository8942 when passing HTTP protocol8943 returns the HTTP URL to the repo without a username8944 includes the custom HTTP clone root if set8945 when passing an unsupported protocol8946 raises an exception8947 factory: :personal_snippet, path_generator: ->(snippet) { "snippets/#{snippet.id}" }8948 when passing SSH protocol8949 returns the SSH URL to the repository8950 when passing HTTP protocol8951 returns the HTTP URL to the repo without a username8952 includes the custom HTTP clone root if set8953 when passing an unsupported protocol8954 raises an exception8955Groups::AutoDevopsService#execute8956 when user does not have enough privileges8957 raises exception8958 when user has enough privileges8959 updates group auto devops enabled accordingly8960 when group has projects8961 reflects changes on projects8962 when group has subgroups8963 reflects changes on subgroups8964 when subgroups have projects8965 reflects changes on projects8966Resolvers::Users::GroupsResolver8967 #resolve8968 when resolver object is current user8969 is expected to match [#<Group id:2578 @a-public-maintainer>, #<Group id:2579 @a-public-owner>, #<Group id:2576 @b-private-maintainer>, #<Group id:2577 @c-public-developer>, #<Group id:2575 @public-guest>]8970 when permission is :create_projects8971 is expected to match [#<Group id:2578 @a-public-maintainer>, #<Group id:2579 @a-public-owner>, #<Group id:2576 @b-private-maintainer>, #<Group id:2577 @c-public-developer>]8972 when permission is :transfer_projects8973 is expected to match [#<Group id:2578 @a-public-maintainer>, #<Group id:2579 @a-public-owner>, #<Group id:2576 @b-private-maintainer>]8974 when search is provided8975 is expected to match [#<Group id:2578 @a-public-maintainer>, #<Group id:2576 @b-private-maintainer>]8976 when resolver object is different from current user8977 is expected to be nil8978 when current_user is admin8979 is expected to match [#<Group id:2578 @a-public-maintainer>, #<Group id:2579 @a-public-owner>, #<Group id:2576 @b-private-maintainer>, #<Group id:2577 @c-public-developer>, #<Group id:2575 @public-guest>]8980gitlab:generate_sample_prometheus_data rake task8981 creates the file correctly8982devise/sessions/new8983 marketing text8984 when flash is anything it renders marketing text8985 when flash notice is devise confirmed message it hides marketing text8986 ldap8987 is shown when enabled8988 is not shown when LDAP sign in is disabled8989 Google Tag Manager8990 when Google Tag Manager is enabled8991 is expected to match /www.googletagmanager.com/8992 when Google Tag Manager is disabled8993 is expected not to match /www.googletagmanager.com/8994 ldap8995 is shown when enabled8996 is not shown when LDAP sign in is disabled8997 Google Tag Manager8998 when Google Tag Manager is enabled8999 is expected to match /www.googletagmanager.com/9000 when Google Tag Manager is disabled9001 is expected not to match /www.googletagmanager.com/9002Gitlab::GithubImport::Stage::ImportNotesWorker9003 #import9004 imports all the notes9005 #importers9006 when settings single_endpoint_notes_import is enabled9007 includes single endpoint mr and issue notes importers9008 when settings single_endpoint_notes_import is disabled9009 includes default notes importer9010Users::EmailVerification::ValidateTokenService9011 #execute9012 with a valid attribute9013 attr: :unlock_token9014 when successful9015 returns a success status9016 when rate limited9017 returns a failure status9018 when expired9019 returns a failure status9020 when invalid9021 returns a failure status9022 when encrypted token was not set and a blank token is provided9023 returns a failure status9024 attr: :confirmation_token9025 when successful9026 returns a success status9027 when rate limited9028 returns a failure status9029 when expired9030 returns a failure status9031 when invalid9032 returns a failure status9033 when encrypted token was not set and a blank token is provided9034 returns a failure status9035 with an invalid attribute9036 raises an error9037Gitlab::Diff::PositionTracer9038 #trace9039 position is on text9040 calls LineStrategy#trace9041 position is not on text9042 calls ImageStrategy#trace9043 diffs methods9044 #ac_diffs9045 returns the diffs between the base of old and new diff9046 #bd_diffs9047 returns the diffs between the HEAD of old and new diff9048 #cd_diffs9049 returns the diffs in the new diff9050Gitlab::Analytics::CycleAnalytics::StageEvents::IssueDeployedToProduction9051 behaves like value stream analytics event9052 is expected to be a kind of String9053 is expected to be a kind of Symbol9054 is expected to include ApplicationRecord(abstract)9055 is expected to respond to #timestamp_projection9056 is expected to respond to #html_description9057 is expected to be a kind of Array9058 #apply_query_customization9059 expects an ActiveRecord::Relation object as argument and returns a modified version of it9060 #hash_code9061 returns a hash that uniquely identifies an event9062 does not differ when the same object is built with the same params9063 behaves like LEFT JOIN-able value stream analytics event9064 can use the event as LEFT JOIN9065 when looking at the record with data9066 contains the timestamp expression9067 when looking at the record without data9068 returns nil for the timestamp expression9069gitlab:packages namespace rake task9070 migrate9071 object storage disabled9072 doesn't migrate files9073 object storage enabled9074 migrates local file to object storage9075Packages::BuildInfo9076 relationships9077 is expected to belong to package required: false9078 is expected to belong to pipeline required: false9079 with some build infos9080 .pluck_pipeline_ids9081 is expected to eq [720, 721, 722]9082 .without_empty_pipelines9083 is expected to contain exactly #<Packages::BuildInfo id: 1, package_id: 20, pipeline_id: 720>, #<Packages::BuildInfo id: 2, package_id: 20, pipeline_id: 721>, and #<Packages::BuildInfo id: 3, package_id: 20, pipeline_id: 722>9084 .order_by_pipeline_id asc9085 is expected to eq [#<Packages::BuildInfo id: 1, package_id: 20, pipeline_id: 720>, #<Packages::BuildInfo id: 2, package_id: 20, pipeline_id: 721>, #<Packages::BuildInfo id: 3, package_id: 20, pipeline_id: 722>]9086 .order_by_pipeline_id desc9087 is expected to eq [#<Packages::BuildInfo id: 3, package_id: 20, pipeline_id: 722>, #<Packages::BuildInfo id: 2, package_id: 20, pipeline_id: 721>, #<Packages::BuildInfo id: 1, package_id: 20, pipeline_id: 720>]9088 .with_pipeline_id_less_than9089 is expected to contain exactly #<Packages::BuildInfo id: 1, package_id: 20, pipeline_id: 720>9090 .with_pipeline_id_greater_than9091 is expected to contain exactly #<Packages::BuildInfo id: 3, package_id: 20, pipeline_id: 722>9092RedisCommands::Recorder9093 #initialize9094 with a block9095 records Redis commands9096 without block9097 only initializes the recorder9098 #record9099 records Redis commands9100 does not record commands before the call9101 refreshes recording after reinitialization9102 Pattern recording9103 records only matching keys9104 #by_command9105 returns only matching commands9106 #count9107 returns the number of recorded commands9108Gitlab::Metrics::Dashboard::Validator::PostSchemaValidator9109 #validate9110 with no project and dashboard_path provided9111 unique local metric_ids9112 returns empty array9113 duplicate local metrics_ids9114 returns error9115 with project and dashboard_path9116 with unique metric identifiers9117 returns empty array9118 duplicate metric identifiers in database9119 with different dashboard_path9120 returns error9121 with same dashboard_path9122 returns empty array9123GoogleCloud::ServiceAccountsService9124 find_for_project9125 when a project does not have GCP service account vars9126 returns an empty list9127 when a project has GCP service account ci vars9128 returns a list of service accounts9129 add_for_project9130 saves GCP creds as project CI vars9131 replaces previously stored CI vars with new CI vars9132 underlying project CI vars must be protected as per value9133Gitlab::NullRequestStore9134 #store9135 returns an empty hash9136 #active?9137 returns falsey9138 #read9139 returns nil9140 #[]9141 returns nil9142 #write9143 returns the same value9144 #[]=9145 returns the same value9146 #exist?9147 returns falsey9148 #fetch9149 returns the block result9150 #delete9151 when a block is given9152 yields the key to the block9153 returns the block result9154 when a block is not given9155 returns nil9156Gitlab::Database::SchemaMigrations::Context9157 #schema_directory9158 returns db/schema_migrations9159 CI database9160 returns a directory path that is database specific9161 multiple databases9162 when `schema_migrations_path` is configured as string9163 returns a configured directory path that9164 when `schema_migrations_path` is configured as symbol9165 returns a configured directory path that9166 #versions_to_create9167 migrated versions is the same as migration file versions9168 returns migrated versions9169 migrated versions is subset of migration file versions9170 returns migrated versions9171 migrated versions is superset of migration file versions9172 returns file versions9173 migrated versions has slightly different versions to migration file versions9174 returns the common set9175RuboCop::Cop::DestroyAll9176 # order random9177 flags the use of destroy_all with a send receiver9178 flags the use of destroy_all when passing arguments9179 flags the use of destroy_all with a local variable receiver9180 does not flag the use of delete_all9181 flags the use of destroy_all with a constant receiver9182Sidebars::Groups::Menus::GroupInformationMenu9183 #title9184 when group is a root group9185 is expected to eq "Group information"9186 when group is a child group9187 is expected to eq "Subgroup information"9188 #sprite_icon9189 when group is a root group9190 is expected to eq "group"9191 when group is a child group9192 is expected to eq "subgroup"9193 Menu Items9194 Activity9195 is expected not to be nil9196 behaves like menu access rights9197 is expected not to be nil9198 when the user does not have access9199 is expected to be nil9200 Labels9201 behaves like menu access rights9202 is expected not to be nil9203 when the user does not have access9204 is expected to be nil9205 Members9206 behaves like menu access rights9207 is expected not to be nil9208 when the user does not have access9209 is expected to be nil9210Gitlab::ExceptionLogFormatter9211 .format!9212 adds exception data to log9213 cleans the exception message9214 when exception is ActiveRecord::StatementInvalid9215 adds the normalized SQL query to payload9216 when the ActiveRecord::StatementInvalid is wrapped in another exception9217 adds the normalized SQL query to payload9218 when the ActiveRecord::StatementInvalid is a bad query9219 adds the query as-is to payload9220projects/ci/jobs/_build9221 won't include a column with a link to its pipeline by default9222 can include a column with a link to its pipeline9223Integrations::BaseIssueTracker9224 Validations9225 only one issue tracker per project9226 when integration is changed manually by user9227 executes the validation9228 when integration is changed internally9229 does not execute the validation9230 #activate_disabled_reason9231 when there is an existing issue tracker integration9232 is expected to eq {:trackers=>[#<Integrations::CustomIssueTracker id: 11, project_id: 769, created_at: "2022-11-11 01:1...xC8\x93\x83>\xC2\xB7", encrypted_properties_iv: "Hi\xA6`\xC9_\xA8\x8FR\xB9\xF0i", properties: nil>]}9233 when there is no existing issue tracker integration9234 is expected to equal nil9235Mutations::CustomEmoji::Destroy9236 field tests9237 is expected to have graphql arguments :id9238 is expected to have graphql field :custom_emoji9239 #resolve9240 when the user9241 has no permissions9242 behaves like does not delete custom emoji9243 raises exception9244 when the user is developer and not the owner of custom emoji9245 behaves like does not delete custom emoji9246 raises exception9247 when user9248 is maintainer9249 behaves like deletes custom emoji9250 returns deleted custom emoji9251 is owner9252 behaves like deletes custom emoji9253 returns deleted custom emoji9254 is developer and creator of the emoji9255 behaves like deletes custom emoji9256 returns deleted custom emoji9257RuboCop::Cop::Graphql::EnumValues9258 # order random9259 adds an offense when enum value is not uppercase9260 when values are set dynamically9261 adds an offense when enum value is set without `:upcase`9262 adds no offense when enum value is deprecated9263 adds no offense when enum value is uppercased literally9264 adds no offense when enum value is calling upcased9265Gitlab::UsageMetricGenerator9266 Creating metric instrumentation files9267 creates CE metric instrumentation files using the template9268 with EE flag true9269 creates EE metric instrumentation files using the template9270 for database type9271 creates the metric instrumentation file using the template9272 for numbers type9273 creates the metric instrumentation file using the template9274 with type option missing9275 raises an ArgumentError9276 with type option value not included in approved superclasses9277 raises an ArgumentError9278 without operation for database metric9279 raises an ArgumentError9280 with wrong operation for database metric9281 raises an ArgumentError9282 without operation for numbers metric9283 raises an ArgumentError9284 with wrong operation for numbers metric9285 raises an ArgumentError9286CustomerRelations::Contacts::CreateService9287 #execute9288 when user does not have permission9289 returns an error9290 when user has permission9291 creates a contact9292 returns an error when the contact is not persisted9293 returns an error when the organization_id is invalid9294 returns an error when the organization belongs to a different group9295Gitlab::Usage::Metrics::Instrumentations::NumbersMetric9296 #value9297 calculates a correct result9298 with availability defined9299 responds to #available? properly9300 with availability not defined9301 responds to #available? properly9302 with unimplemented operation method used9303 raises an error9304Gitlab::Metrics::Dashboard::RepoDashboardFinder9305 .list_dashboards9306 deletes dashboard cache entries9307 returns empty array when there are no dashboards9308 when there are project dashboards available9309 returns the dashboard list9310 .read_dashboard9311 raises error when dashboard does not exist9312 when there are project dashboards available9313 reads dashboard9314Gitlab::ImportExport::WikiRepoSaver9315 bundle a wiki Git repo9316 bundles the repo successfully9317 when the repo is empty9318 bundles the repo successfully9319Projects::Prometheus::Metrics::DestroyService9320 destroys metric9321Issues::AfterCreateService9322 #execute9323 creates a pending todo for new assignee9324 deletes milestone issues count cache9325 with a regular issue9326 behaves like does not track incident management event9327 does not track the event9328 with an incident issue9329 behaves like an incident management tracked event9330 .track_event9331 tracks the event using redis9332Gitlab::ImportExport::SnippetRepoSaver9333 bundle a project Git repo9334 with project snippet9335 bundles the repo successfully9336 when snippet does not have a repository9337 returns true9338 does not create any file9339API::Base9340 declare feature categories at handler level for all routes9341 sets feature category for a particular route9342 sets request urgency for a particular route9343 declare feature categories at route level9344 sets feature category for a particular route9345 sets request urgency for a particular route9346 declare feature categories at both handler level and route level9347 sets feature category for a particular route9348 sets target duration for a particular route9349Gitlab::Diff::LineMapper9350 #old_to_new9351 with a diff file9352 returns the new line number for the old line number9353 without a diff file9354 returns the same line number9355 #new_to_old9356 with a diff file9357 returns the old line number for the new line number9358 without a diff file9359 returns the same line number9360Gitlab::ExclusiveLeaseHelpers9361 #in_lock9362 when unique key is not set9363 raises an error9364 when the lease is not obtained yet9365 calls the given block9366 calls the given block continuously9367 cancels the exclusive lease after the block9368 when the lease is obtained already9369 retries to obtain a lease and raises an error9370 when ttl is specified9371 receives the specified argument9372 when retry count is specified9373 retries for the specified times9374 when lease is granted after retry9375 yields block with true9376 when we specify no retries9377 never sleeps9378 when sleep second is specified9379 receives the specified argument9380 when sleep second is specified as a lambda9381 receives the specified argument9382Integrations::Assembla9383 behaves like Integrations::ResetSecretFields9384 #exposing_secrets_fields9385 returns an array of strings9386 #reset_secret_fields?9387 returns false if no exposing field has changed9388 returns true if any exposing field has changed9389 validation callback9390 when an exposing field has changed9391 clears all secret fields9392 when a secret field has been updated9393 does not clear this secret field9394 when a secret field has been updated with the same value9395 does not clear this secret field9396 when no exposing field has changed9397 does not clear any secret fields9398 Execute9399 calls Assembla API9400RequireVerificationForNamespaceCreationExperiment9401 #candidate?9402 when experiment subject is candidate9403 returns true9404 when experiment subject is control9405 returns false9406 exclusions9407 when user is new9408 is not excluded9409 when user is NOT new9410 is excluded9411Types::IncidentManagement::EscalationStatusEnum9412 is expected to eq "IssueEscalationStatus"9413 statuses9414 status_name: "TRIGGERED", status_value: :triggered9415 exposes a status with the correct value9416 status_name: "ACKNOWLEDGED", status_value: :acknowledged9417 exposes a status with the correct value9418 status_name: "RESOLVED", status_value: :resolved9419 exposes a status with the correct value9420 status_name: "IGNORED", status_value: :ignored9421 exposes a status with the correct value9422 status_name: "INVALID", status_value: nil9423 exposes a status with the correct value9424Import::Github::Notes::CreateService9425 does not support quick actions9426Google::Apis::Core::HttpCommand9427 with a successful response9428 returns the response body if block not present9429 calls block if present9430 retries with max elapsed_time and retries9431BulkImports::EntityWorker9432 updates pipeline trackers to enqueued state when selected9433 is labeled as idempotent9434 performs multiple times sequentially without raising an exception9435 enqueues the first stage pipelines work9436 logs and tracks the raised exceptions9437 in first stage9438 do not enqueue a new pipeline job if the current stage still running9439 enqueues the next stage pipelines when the current stage is finished9440Mutations::Branches::Create9441 #resolve9442 raises an error if the resource is not accessible to the user9443 when the user can create a branch9444 when service successfully creates a new branch9445 returns a new branch9446 when service fails to create a new branch9447 is expected to be nil9448 is expected to eq ["Branch already exists"]9449Packages::Pypi::SimpleIndexPresenter9450 #body9451 for project9452 behaves like pypi package presenter9453 version: ">=2.7", expected_version: ">=2.7"9454 contains links for all packages9455 version: "\"><script>alert(1)</script>", expected_version: ""><script>alert(1)</script>"9456 contains links for all packages9457 version: ">=2.7, !=3.0", expected_version: ">=2.7, !=3.0"9458 contains links for all packages9459 for group9460 behaves like pypi package presenter9461 version: ">=2.7", expected_version: ">=2.7"9462 contains links for all packages9463 version: "\"><script>alert(1)</script>", expected_version: ""><script>alert(1)</script>"9464 contains links for all packages9465 version: ">=2.7, !=3.0", expected_version: ">=2.7, !=3.0"9466 contains links for all packages9467 with package files pending destruction9468 is expected not to include "package_pending_destruction"9469Gitlab::Diff::InlineDiffMarkdownMarker9470 #mark9471 does not escape html etities and marks the range9472Gitlab::Ci::Reports::TestReportSummary9473 #total9474 when test report summary has several build report results9475 returns all the total count in a hash9476 #test_suites9477 when test report summary has several build report results9478 returns test suites grouped by name9479Gitlab::PhabricatorImport::Conduit::Client9480 #get9481 performs and parses a request9482 wraps request errors in an `ApiError`9483 raises response error9484Ci::BuildFinishedWorker9485 #perform9486 when build exists9487 calculates coverage and calls hooks9488 when build is failed9489 adds a todo9490 when a build can be auto-retried9491 does not add a todo9492 when build has a chat9493 schedules a ChatNotification job9494 when build does not exist9495 does not raise exception9496Gitlab::UsageDataCounters::MergeRequestCounter9497 behaves like a redis usage counter9498 .count(create)9499 increments the Merge Request create counter by 19500 .read(create)9501 returns the total number of create events9502 behaves like a redis usage counter with totals9503 totals9504 can report all totals9505 unknown events9506 cannot increment9507 cannot read9508CustomerRelations::Organizations::UpdateService9509 #execute9510 when the user has no permission9511 returns an error9512 when user has permission9513 when name is changed9514 updates the organization9515 when activating9516 updates the contact9517 when deactivating9518 updates the organization9519 when the organization is invalid9520 returns an error9521Packages::Rubygems::Metadatum9522 relationships9523 is expected to belong to package required: false9524 validations9525 is expected to validate that :package cannot be empty/falsy9526 #rubygems_package_type9527 will not allow a package with a different package_type9528Members::InviteMemberBuilder9529 #execute9530 when user record found by email9531 returns member from existing members hash9532 builds a new member9533 when no existing users found by the email9534 finds existing member9535 builds a new member9536Types::Snippets::BlobActionInputType9537 is expected to eq "SnippetBlobActionInputType"9538 has the correct arguments9539 sets the type of action argument to BlobActionEnum9540Types::ReleaseSourceType9541 is expected to require graphql authorizations :download_code9542 has the expected fields9543Banzai::Filter::MarkdownFilter9544 markdown engine from context9545 defaults to CommonMark9546 uses CommonMark9547 code block9548 using CommonMark9549 adds language to lang attribute when specified9550 does not add language to lang attribute when not specified9551 works with utf8 chars in language9552 works with additional language parameters9553 source line position9554 using CommonMark9555 defaults to add data-sourcepos9556 disables data-sourcepos9557 footnotes in tables9558 processes footnotes in table cells9559Gitlab::Ci::Build::Policy::Kubernetes9560 when kubernetes service is active9561 when user configured kubernetes from CI/CD > Clusters9562 is satisfied by a kubernetes pipeline9563 when kubernetes service is inactive9564 is not satisfied by a pipeline without kubernetes available9565 when kubernetes policy is invalid9566 raises an error9567Types::Ci::Config::JobType9568 is expected to eq "CiConfigJob"9569 exposes the expected fields9570Types::Kas::AgentConfigurationType9571 is expected to eq "AgentConfiguration"9572 is expected to eq "Configuration details for an Agent"9573 is expected to have graphql fields :agent_name9574Gitlab::Ci::Reports::TestReportsComparer9575 #suite_comparers9576 when head and base reports include two test suites9577 returns test suite comparers with specified values9578 #total_status9579 when all tests cases are success in head suites9580 returns the total status9581 when there is a failed test case in head suites9582 returns the total status in head suite9583 when there is an error test case in head suites9584 returns the total status in head suite9585 #total_count9586 returns the total test counts in head suites9587 #resolved_count9588 when there is a resolved failure test case in head suites9589 returns the correct count9590 when there is a resolved error test case in head suites9591 returns the correct count9592 when there are no resolved test cases in head suites9593 returns the correct count9594 #failed_count9595 when there is a failed test case in head suites9596 returns the correct count9597 when there are no failed test cases in head suites9598 returns the correct count9599 #error_count9600 when there is an error test case in head suites9601 returns the correct count9602 when there are no error test cases in head suites9603 returns the correct count9604Pajamas::Component9605 #filter_attribute9606 returns default value when no value is given9607 returns default value when invalid value is given9608 returns given value when it is part of allowed list9609 #format_options9610 merges CSS classes and additional options9611Pajamas::Concerns::CheckboxRadioLabelWithHelpText9612 #render_label_with_help_text9613 calls `#format_options` with correct arguments9614 when `help_text` argument is passed9615 calls `form.label` with `label` and `help_text` arguments used in the block9616 when `help_text` argument is not passed9617 calls `form.label` with `label` argument used in the block9618 #render_label_tag_with_help_text9619 calls `#format_options` with correct arguments9620 when `help_text` argument is passed9621 calls `label_tag` with `label` and `help_text` arguments used in the block9622 when `help_text` argument is not passed9623 calls `label_tag` with `label` argument used in the block9624Types::ReleaseLinksType9625 is expected to require graphql authorizations :read_release9626 has the expected fields9627 individual field authorization9628 openedMergeRequestsUrl9629 has valid authorization9630 mergedMergeRequestsUrl9631 has valid authorization9632 closedMergeRequestsUrl9633 has valid authorization9634 openedIssuesUrl9635 has valid authorization9636 closedIssuesUrl9637 has valid authorization9638 editUrl9639 has valid authorization9640Terraform::States::DestroyWorker9641 #perform9642 calls the deletion service9643 state no longer exists9644 completes without error9645Projects::ScheduleRefreshBuildArtifactsSizeStatisticsWorker9646 #perform9647 is labeled as idempotent9648 performs multiple times sequentially without raising an exception9649 schedules Projects::RefreshBuildArtifactsSizeStatisticsWorker to be performed with capacity9650SidebarsHelper9651 #sidebar_tracking_attributes_by_object9652 when object is a project9653 returns tracking attrs for project9654 when object is a group9655 returns tracking attrs for group9656 when object is a user9657 returns tracking attrs for user9658 when object is something else9659 returns no attributes9660AnalyticsSummarySerializer9661 generates payload for single object9662 contains important elements of AnalyticsStage9663 does not include unit9664 when representing with unit9665 contains unit9666Sidebars::Groups::Menus::MergeRequestsMenu9667 #render?9668 when user can read merge requests9669 returns true9670 when user cannot read merge requests9671 returns false9672 behaves like pill_count formatted results9673 returns all digits for count value under 10009674 returns truncated digits for count value over 10009675 returns truncated digits for count value over 100009676 returns truncated digits for count value over 1000009677Banzai::CommitRenderer9678 .render9679 renders a commit description and title9680RawUsageData9681 scopes9682 .for_current_reporting_cycle9683 returns nil where no records match filter criteria9684 with records matching filtering criteria9685 return records within reporting cycle time range ordered by creation time9686 validations9687 is expected to validate that :payload cannot be empty/falsy9688 is expected to validate that :recorded_at cannot be empty/falsy9689 uniqueness validation9690 is expected to validate that :recorded_at is case-sensitively unique9691 #update_version_metadata!9692 updates sent_at9693 updates version_usage_data_id_value9694admin/identities/index.html.haml9695 without identities9696 shows table headers9697 shows information text9698 with LDAP identities9699 shows exactly 5 columns9700 shows identity without provider ID or group9701 shows edit and delete identity buttons9702Gitlab::SidekiqMiddleware::DuplicateJobs::Client9703 with until_executing strategy9704 behaves like client duplicate job9705 #call9706 adds a correct duplicate tag to the jobs9707 without scheduled deduplication9708 does not mark a job that's scheduled in the future as a duplicate9709 with scheduled deduplication9710 adds a correct duplicate tag to the jobs9711 with until_executed strategy9712 behaves like client duplicate job9713 #call9714 adds a correct duplicate tag to the jobs9715 without scheduled deduplication9716 does not mark a job that's scheduled in the future as a duplicate9717 with scheduled deduplication9718 adds a correct duplicate tag to the jobs9719Gitlab::Ci::Build::Rules::Rule::Clause9720 .fabricate9721 when type is valid9722 type: "changes", result: Gitlab::Ci::Build::Rules::Rule::Clause::Changes9723 is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::Changes9724 type: "exists", result: Gitlab::Ci::Build::Rules::Rule::Clause::Exists9725 is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::Exists9726 type: "if", result: Gitlab::Ci::Build::Rules::Rule::Clause::If9727 is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::If9728 when type is invalid9729 is expected to be nil9730 when type is 'variables'9731 is expected to be nil9732Gitlab::RequestForgeryProtection9733 logs to /dev/null9734 .call9735 when the request method is GET9736 does not raise an exception9737 when the request method is POST9738 when the CSRF token is valid9739 does not raise an exception9740 when the CSRF token is invalid9741 raises an ActionController::InvalidAuthenticityToken exception9742 .verified?9743 does not modify the env9744 when the request method is GET9745 returns true9746 when the request method is POST9747 when the CSRF token is valid9748 returns true9749 when the CSRF token is invalid9750 returns false9751ExportCsvWorker9752 delegates call to IssuableExportCsvWorker9753JiraConnect::SubscriptionEntity9754 contains all necessary elements of the subscription9755Types::DependencyProxy::GroupSettingType9756 includes dependency proxy blob fields9757 is expected to require graphql authorizations :admin_dependency_proxy9758 is expected to eq "DependencyProxySetting"9759 is expected to eq "Group-level Dependency Proxy settings"9760RuboCop::Cop::AvoidKeywordArgumentsInSidekiqWorkers9761 # order random9762 does not flag a violation for keyword arguments usage in non-perform method signatures9763 does not flag a violation for standard optional arguments usage in perform method signature9764 flags violation for keyword arguments usage in perform method signature9765 does not flag a violation for optional keyword arguments usage in non-perform method signatures9766 flags violation for optional keyword arguments usage in perform method signature9767Banzai::Filter::ImageLazyLoadFilter9768 adds a class attribute9769 appends to the current class attribute9770 adds a async decoding attribute9771 transforms the image src to a data-src9772 works with external images9773Gitlab::Usage::Metrics::Instrumentations::ServicePingFeaturesMetric9774 usage_ping_features_enabled: true, expected_value: true9775 behaves like a correct instrumented metric value9776 has correct value9777 usage_ping_features_enabled: false, expected_value: false9778 behaves like a correct instrumented metric value9779 has correct value9780TokenAuthenticatableStrategies::Base9781 #token_fields9782 includes the token field9783 with expires_at option9784 includes the token_expires_at field9785 .fabricate9786 when digest stragegy is specified9787 fabricates digest strategy object9788 when encrypted strategy is specified9789 fabricates encrypted strategy object9790 when no strategy is specified9791 fabricates insecure strategy object9792 when incompatible options are provided9793 raises an error9794RuboCop::Cop::RubyInterpolationInTranslation9795 # order random9796 adds the correct offense when using interpolation in a string9797 detects when using a ruby interpolation in the first argument of a pluralized string9798 does not add an offense for a regular messages9799 detects when using a ruby interpolation in the second argument of a pluralized string9800 detects when using interpolation in a namespaced translation9801Marginalia spec9802 For rails web requests9803 generates a query that includes the component and value9804 when using CI database9805 generates a query that includes the component and value9806 for Sidekiq worker jobs9807 generates a query that includes the component and value9808 for ActionMailer delivery jobs9809 generates a query that includes the component and value9810Gitlab::LegacyGithubImport::LabelFormatter9811 #attributes9812 returns formatted attributes9813 #create!9814 when label does not exist9815 creates a new label9816 when label exists9817 does not create a new label9818RuboCop::Cop::Gitlab::KeysFirstAndValuesFirst9819 # order random9820 behaves like inspect use of keys or values first9821 .keys.first9822 flags and autocorrects9823 does not flag unrelated code9824 behaves like inspect use of keys or values first9825 .values.first9826 flags and autocorrects9827 does not flag unrelated code9828Banzai::Filter::AsciiDocSanitizationFilter9829 preserves footnotes refs9830 preserves footnotes defs9831 preserves user-content- prefixed ids on anchors9832 preserves user-content- prefixed ids on div (blocks)9833 preserves section anchor ids9834 removes non prefixed ids9835DependencyProxy::GroupSetting9836 relationships9837 is expected to belong to group required: false9838 default values9839 is expected to be enabled9840 is expected not to be enabled9841 validations9842 is expected to validate that :group cannot be empty/falsy9843API::Entities::PersonalAccessToken9844 #as_json9845 returns token data9846Gitlab::Auth::Activity9847 .each_counter9848 has all static counters defined9849 has all static incrementers defined9850 has all counters starting with `user_`9851 yields counter method, name and description9852ExternalLinkHelper9853 returns external link with icon9854 allows options when creating external link with icon9855 sanitizes and returns external link with icon9856Banzai::RenderContext9857 #project_for_node9858 returns the default project if no associated project was found9859 returns the associated project if one was associated explicitly9860 returns the project associated with a DocumentFragment when using a node9861Gitlab::Auth::Otp::Strategies::FortiAuthenticator::ManualOtp9862 successful validation9863 returns success9864 unsuccessful validation9865 returns error9866 unexpected error9867 returns error9868DatabaseReflection9869 .reflect9870 returns a Reflection instance9871 memoizes the result9872Types::Kas::AgentMetadataType9873 is expected to eq "AgentMetadata"9874 is expected to eq "Information about a connected Agent"9875 is expected to have graphql fields :version, :commit, :pod_namespace, and :pod_name9876UserHighestRole9877 associations9878 is expected to belong to user required: true9879 validations9880 is expected to validate that :highest_access_level is either ‹nil›, ‹10›, ‹20›, ‹30›, ‹40›, or ‹50›9881 scopes9882 .with_highest_access_level9883 only returns entry for developer access level9884Docs::DeprecationHandling9885 sorts entries and milestones9886ScheduleMigrateExternalDiffsWorker9887 #perform9888 triggers a scan for diffs to migrate9889 will not run if the lease is already taken9890Session initializer for GitLab9891 config#session_store9892 initialized as a redis_store with a proper servers configuration9893Types::Tree::TypeEnum9894 is expected to eq "EntryType"9895 exposes all tree entry types9896Asset proxy settings initialization9897 #asset_proxy9898 defaults to disabled9899Gitlab::UsageDataCounters::SearchCounter9900 all_searches counter9901 behaves like usage counter with totals9902 increments counter and returns total count9903 navbar_searches counter9904 behaves like usage counter with totals9905 increments counter and returns total count9906 .fetch_supported_event9907 is expected to eq "all_searches"9908Types::ContainerRepositorySortEnum9909 is expected to eq "ContainerRepositorySort"9910 exposes all the existing issue sort values9911 behaves like common sort values9912 exposes all the existing common sort values9913Sidebars::Projects::Menus::SnippetsMenu9914 #render?9915 when user cannot access snippets9916 returns false9917 when user can access snippets9918 returns true9919Ci::ScheduleDeleteObjectsCronWorker9920 #perform9921 enqueues DeleteObjectsWorker jobs9922RuboCop::Cop::Gitlab::Union9923 # order random9924 flags the use of Gitlab::SQL::Union.new9925Gitlab::Usage::Metrics::Instrumentations::UuidMetric9926 behaves like a correct instrumented metric value9927 has correct value9928Types::AlertManagement::HttpIntegrationType9929 is expected to eq "AlertManagementHttpIntegration"9930 is expected to require graphql authorizations :admin_operations9931Gitlab::FogbugzImport::Client9932 retrieves user_map with one user9933 retrieves user_map with two users9934Gitlab::Middleware::WebhookRecursionDetection9935 #call9936 when the recursion detection header is present9937 sets the request UUID from the header9938 when recursion headers are not present9939 works without errors9940Gitlab::Metrics::Exporter::GcRequestMiddleware9941 #call9942 runs a major GC after the next middleware is called9943Gitlab::Kubernetes::Kubeconfig::Entry::User9944 #to_h9945 is expected to eq {:name=>"name", :user=>{:token=>"token"}}9946sawyer_patch9947 # order random9948 raises error when acessing Sawyer Resource dynamic methods9949 raises error when acessing a method that expects an argument9950VideoTutorialsContinuousOnboardingExperiment9951 defines a control and candidate9952Resolvers::PackagesBaseResolver9953 #resolve9954 throws an error9955CiPlatformMetricsUpdateCronWorker9956 #perform9957 inserts new platform metrics9958Types::Packages::PackageDependencyLinkType9959 includes package file fields9960Knapsack report was generated. Preview:9961{9962 "spec/models/ci/pipeline_spec.rb": 149.86550410900009,9963 "spec/lib/gitlab/metrics/subscribers/active_record_spec.rb": 31.773646028000258,9964 "spec/models/clusters/cluster_spec.rb": 72.29651919100024,9965 "spec/lib/gitlab/diff/file_spec.rb": 87.8934682009999,9966 "spec/lib/gitlab/database/load_balancing_spec.rb": 66.31636073299978,9967 "spec/serializers/group_child_entity_spec.rb": 24.93381293399989,9968 "spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb": 47.37838761000012,9969 "spec/tasks/gitlab/db/lock_writes_rake_spec.rb": 50.046445882999706,9970 "spec/helpers/search_helper_spec.rb": 29.870198223999978,9971 "spec/policies/note_policy_spec.rb": 32.350001408000026,9972 "spec/services/ci/retry_pipeline_service_spec.rb": 27.285486571000092,9973 "spec/lib/gitlab/gpg/commit_spec.rb": 35.90227760400012,9974 "spec/services/projects/cleanup_service_spec.rb": 13.940637379999771,9975 "spec/models/alert_management/alert_spec.rb": 10.275735951000115,9976 "spec/services/merge_requests/rebase_service_spec.rb": 21.93096362999995,9977 "spec/services/design_management/copy_design_collection/copy_service_spec.rb": 20.935635763999926,9978 "spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb": 4.371064548000049,9979 "spec/lib/gitlab/hashed_storage/migrator_spec.rb": 11.984392095000203,9980 "spec/services/git/tag_hooks_service_spec.rb": 15.511680851000165,9981 "spec/models/concerns/subscribable_spec.rb": 13.129389955000079,9982 "spec/models/label_spec.rb": 10.922541871999783,9983 "spec/finders/serverless_domain_finder_spec.rb": 13.64244563300008,9984 "spec/models/namespace_setting_spec.rb": 5.833650435999971,9985 "spec/services/merge_requests/conflicts/resolve_service_spec.rb": 13.100761256000169,9986 "spec/lib/gitlab/gfm/uploads_rewriter_spec.rb": 10.741843219000202,9987 "spec/graphql/mutations/merge_requests/create_spec.rb": 6.261347686000136,9988 "spec/lib/service_ping/build_payload_spec.rb": 15.040377631999945,9989 "spec/lib/gitlab/ci/config/entry/retry_spec.rb": 2.710216090999893,9990 "spec/models/import_export_upload_spec.rb": 7.421551574999739,9991 "spec/lib/gitlab/chat/command_spec.rb": 9.55990445200041,9992 "spec/lib/gitlab/ci/config/entry/bridge_spec.rb": 2.589440317000026,9993 "spec/services/projects/update_pages_service_spec.rb": 8.888207590999627,9994 "spec/models/ci/pending_build_spec.rb": 8.535336415999609,9995 "spec/lib/gitlab/data_builder/pipeline_spec.rb": 6.098740793000161,9996 "spec/lib/gitlab/git/object_pool_spec.rb": 8.153971033000289,9997 "spec/services/todos/destroy/unauthorized_features_service_spec.rb": 8.187412996999683,9998 "spec/lib/gitlab/redis/cache_spec.rb": 1.7076841339999191,9999 "spec/models/analytics/cycle_analytics/aggregation_spec.rb": 2.8280886840002495,10000 "spec/models/ci/sources/pipeline_spec.rb": 5.2109179180001775,10001 "spec/lib/uploaded_file_spec.rb": 1.0747367420003684,10002 "spec/lib/gitlab/database_importers/instance_administrators/create_group_spec.rb": 4.938946249999844,10003 "spec/services/groups/import_export/export_service_spec.rb": 7.978137333999712,10004 "spec/services/environments/auto_stop_service_spec.rb": 6.567903646000104,10005 "spec/models/plan_limits_spec.rb": 3.6772235359999286,10006 "spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb": 5.962638873999822,10007 "spec/finders/joined_groups_finder_spec.rb": 6.112246837999919,10008 "spec/models/hooks/project_hook_spec.rb": 3.651716417999978,10009 "spec/lib/gitlab/ci/trace/archive_spec.rb": 3.932362294000086,10010 "spec/lib/gitlab/ci/config/entry/root_spec.rb": 1.1957190170001013,10011 "spec/services/packages/maven/metadata/sync_service_spec.rb": 4.440267912000309,10012 "spec/services/deployments/update_service_spec.rb": 5.892707137999878,10013 "spec/services/ci/build_erase_service_spec.rb": 4.3944386339999255,10014 "spec/presenters/snippet_presenter_spec.rb": 2.5331949970000096,10015 "spec/lib/gitlab/pagination_delegate_spec.rb": 1.0103569249999964,10016 "spec/lib/gitlab/import_export/project/sample/relation_factory_spec.rb": 5.038353424999968,10017 "spec/services/commits/tag_service_spec.rb": 5.90765596600022,10018 "spec/serializers/fork_namespace_entity_spec.rb": 3.860135087999879,10019 "spec/lib/gitlab/ci/status/build/play_spec.rb": 3.1706754389997513,10020 "spec/graphql/types/ci/job_token_scope_type_spec.rb": 4.404137634000108,10021 "spec/lib/backup/database_spec.rb": 4.802891006000209,10022 "spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb": 1.367905698999948,10023 "spec/helpers/invite_members_helper_spec.rb": 1.8689757369998006,10024 "spec/lib/gitlab/safe_request_store_spec.rb": 0.8719879010000113,10025 "spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb": 1.6158875080000143,10026 "spec/lib/gitlab/auth/unique_ips_limiter_spec.rb": 3.6520854570003394,10027 "spec/services/system_notes/incidents_service_spec.rb": 1.586745248999705,10028 "spec/lib/gitlab/graphql/pagination/externally_paginated_array_connection_spec.rb": 1.0522857330001898,10029 "spec/lib/gitlab/redis/hll_spec.rb": 0.5308369670001412,10030 "spec/models/packages/tag_spec.rb": 3.869915466999828,10031 "spec/lib/gitlab/seeder_spec.rb": 0.8769680410000547,10032 "spec/lib/gitlab/ci/badge/release/latest_release_spec.rb": 4.609786044999964,10033 "spec/workers/repository_cleanup_worker_spec.rb": 3.071269053999913,10034 "spec/services/metrics/dashboard/self_monitoring_dashboard_service_spec.rb": 2.4183931219999977,10035 "spec/models/design_management/repository_spec.rb": 2.6968907899999977,10036 "spec/lib/gitlab/error_tracking/context_payload_generator_spec.rb": 0.8208151430003454,10037 "spec/models/ci/running_build_spec.rb": 3.0311241849999533,10038 "spec/finders/fork_targets_finder_spec.rb": 2.4695156799998585,10039 "spec/lib/gitlab/ci/pipeline/expression/lexeme/pattern_spec.rb": 0.9611349169999812,10040 "spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb": 1.8030201999999917,10041 "spec/services/jira_import/server_users_mapper_service_spec.rb": 2.854767092000202,10042 "spec/lib/gitlab/ci/config/entry/allow_failure_spec.rb": 0.8634866819998024,10043 "spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb": 1.6523887359999208,10044 "spec/lib/gitlab/global_id_spec.rb": 0.8869846009997673,10045 "spec/tasks/gitlab/lfs/check_rake_spec.rb": 1.8583503370000471,10046 "spec/lib/gitlab/usage/metrics/query_spec.rb": 0.6577742199997374,10047 "spec/lib/gitlab/middleware/speedscope_spec.rb": 1.522460572,10048 "spec/finders/award_emojis_finder_spec.rb": 1.7185357829998793,10049 "spec/services/packages/debian/extract_changes_metadata_service_spec.rb": 1.1984460170001512,10050 "spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb": 0.8832874199997605,10051 "spec/models/concerns/subquery_spec.rb": 1.3793633780001073,10052 "spec/finders/boards/visits_finder_spec.rb": 2.2516407800003435,10053 "spec/workers/bulk_imports/export_request_worker_spec.rb": 1.707212163999884,10054 "spec/services/import/gitlab_projects/create_project_service_spec.rb": 1.599418789000083,10055 "spec/policies/namespaces/project_namespace_policy_spec.rb": 1.8876425160001418,10056 "spec/lib/gitlab/dependency_linker/podspec_json_linker_spec.rb": 0.7051774480000859,10057 "spec/lib/gitlab/kubernetes/helm/v2/delete_command_spec.rb": 0.6779184400002123,10058 "spec/models/merge_request/diff_commit_user_spec.rb": 0.6163329529999828,10059 "spec/workers/gitlab/github_import/advance_stage_worker_spec.rb": 1.9052093149998655,10060 "spec/finders/clusters_finder_spec.rb": 2.8168312539996805,10061 "spec/lib/gitlab/repository_url_builder_spec.rb": 1.1592433579999124,10062 "spec/services/groups/auto_devops_service_spec.rb": 1.9466695529999924,10063 "spec/graphql/resolvers/users/groups_resolver_spec.rb": 1.3624985989999914,10064 "spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb": 2.214477062000242,10065 "spec/views/devise/sessions/new.html.haml_spec.rb": 1.1122860300001776,10066 "spec/workers/gitlab/github_import/stage/import_notes_worker_spec.rb": 1.2336123349996342,10067 "spec/services/users/email_verification/validate_token_service_spec.rb": 0.8575786619999235,10068 "spec/lib/gitlab/diff/position_tracer_spec.rb": 3.218516086999898,10069 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb": 1.899956765999832,10070 "spec/tasks/gitlab/packages/migrate_rake_spec.rb": 2.390005964000011,10071 "spec/models/packages/build_info_spec.rb": 1.927211253999758,10072 "spec/support_specs/helpers/redis_commands/recorder_spec.rb": 0.38900456200008193,10073 "spec/lib/gitlab/metrics/dashboard/validator/post_schema_validator_spec.rb": 1.540754291000212,10074 "spec/services/google_cloud/service_accounts_service_spec.rb": 1.3082299410002634,10075 "spec/lib/gitlab/null_request_store_spec.rb": 0.6647018499998012,10076 "spec/lib/gitlab/database/schema_migrations/context_spec.rb": 0.6389462209999692,10077 "spec/rubocop/cop/destroy_all_spec.rb": 0.5723554149999472,10078 "spec/lib/sidebars/groups/menus/group_information_menu_spec.rb": 1.168187018000026,10079 "spec/lib/gitlab/exception_log_formatter_spec.rb": 0.6866256389998853,10080 "spec/views/projects/jobs/_build.html.haml_spec.rb": 2.083120687000246,10081 "spec/models/integrations/base_issue_tracker_spec.rb": 1.2955587110000124,10082 "spec/graphql/mutations/custom_emoji/destroy_spec.rb": 1.2591210440000395,10083 "spec/rubocop/cop/graphql/enum_values_spec.rb": 0.2820721670000239,10084 "spec/lib/generators/gitlab/usage_metric_generator_spec.rb": 0.678575109999656,10085 "spec/services/customer_relations/contacts/create_service_spec.rb": 0.9354929480000465,10086 "spec/lib/gitlab/usage/metrics/instrumentations/numbers_metric_spec.rb": 1.5297522119999485,10087 "spec/lib/gitlab/metrics/dashboard/repo_dashboard_finder_spec.rb": 1.234483994999664,10088 "spec/lib/gitlab/import_export/wiki_repo_saver_spec.rb": 1.4598891850000655,10089 "spec/services/projects/prometheus/metrics/destroy_service_spec.rb": 0.6594462309999471,10090 "spec/services/issues/after_create_service_spec.rb": 0.9558438470003239,10091 "spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb": 0.9038929799999096,10092 "spec/lib/api/base_spec.rb": 0.35775508400001854,10093 "spec/lib/gitlab/diff/line_mapper_spec.rb": 1.7259089129997847,10094 "spec/lib/gitlab/exclusive_lease_helpers_spec.rb": 1.4563236750000215,10095 "spec/models/integrations/assembla_spec.rb": 1.2901381219999166,10096 "spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb": 0.8093110540003181,10097 "spec/graphql/types/incident_management/escalation_status_enum_spec.rb": 0.36732925400019667,10098 "spec/services/import/github/notes/create_service_spec.rb": 1.536856200999864,10099 "spec/initializers/google_api_client_spec.rb": 0.37344422399974064,10100 "spec/workers/bulk_imports/entity_worker_spec.rb": 0.6491172020000704,10101 "spec/graphql/mutations/branches/create_spec.rb": 1.370610649000355,10102 "spec/presenters/packages/pypi/simple_index_presenter_spec.rb": 0.9414163769997685,10103 "spec/lib/gitlab/diff/inline_diff_markdown_marker_spec.rb": 0.2347183390002101,10104 "spec/lib/gitlab/ci/reports/test_report_summary_spec.rb": 1.3940549379999538,10105 "spec/lib/gitlab/phabricator_import/conduit/client_spec.rb": 0.3077360659999613,10106 "spec/workers/ci/build_finished_worker_spec.rb": 1.0637670129999606,10107 "spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb": 0.28739293699982227,10108 "spec/services/customer_relations/organizations/update_service_spec.rb": 0.8065250839999862,10109 "spec/models/packages/rubygems/metadatum_spec.rb": 0.44984402000000046,10110 "spec/services/members/invite_member_builder_spec.rb": 1.0280470840002636,10111 "spec/graphql/types/snippets/blob_action_input_type_spec.rb": 0.2341010400000414,10112 "spec/graphql/types/release_source_type_spec.rb": 0.4284530410000116,10113 "spec/lib/banzai/filter/markdown_filter_spec.rb": 0.39734212299981664,10114 "spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb": 1.1923628770000505,10115 "spec/graphql/types/ci/config/job_type_spec.rb": 0.20351671000025817,10116 "spec/graphql/types/kas/agent_configuration_type_spec.rb": 0.22778736000009303,10117 "spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb": 0.6270210830002725,10118 "spec/components/pajamas/component_spec.rb": 0.5551064149999547,10119 "spec/components/pajamas/concerns/checkbox_radio_label_with_help_text_spec.rb": 0.46060723900018274,10120 "spec/graphql/types/release_links_type_spec.rb": 0.5025113980000242,10121 "spec/workers/terraform/states/destroy_worker_spec.rb": 0.9124975189997713,10122 "spec/workers/projects/schedule_refresh_build_artifacts_size_statistics_worker_spec.rb": 0.6768790299997818,10123 "spec/helpers/sidebars_helper_spec.rb": 0.7634730559998388,10124 "spec/serializers/analytics_summary_serializer_spec.rb": 1.0205574739998156,10125 "spec/lib/sidebars/groups/menus/merge_requests_menu_spec.rb": 0.6279472819996954,10126 "spec/lib/banzai/commit_renderer_spec.rb": 1.2019285769997623,10127 "spec/models/raw_usage_data_spec.rb": 0.477335979000145,10128 "spec/views/admin/identities/index.html.haml_spec.rb": 0.7690646949999973,10129 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/client_spec.rb": 0.4155722919999789,10130 "spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb": 0.2826488970003993,10131 "spec/lib/gitlab/request_forgery_protection_spec.rb": 0.4173824810000042,10132 "spec/workers/export_csv_worker_spec.rb": 0.7100889889998143,10133 "spec/serializers/jira_connect/subscription_entity_spec.rb": 0.3281888350002191,10134 "spec/graphql/types/dependency_proxy/group_setting_type_spec.rb": 0.32924010499982614,10135 "spec/rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers_spec.rb": 0.38788281299957816,10136 "spec/lib/banzai/filter/image_lazy_load_filter_spec.rb": 0.3449410349999198,10137 "spec/lib/gitlab/usage/metrics/instrumentations/service_ping_features_metric_spec.rb": 0.19440743099994506,10138 "spec/models/concerns/token_authenticatable_strategies/base_spec.rb": 0.4167781109999851,10139 "spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb": 0.45190013999990697,10140 "spec/lib/marginalia_spec.rb": 0.29785060599988356,10141 "spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb": 0.791760764999708,10142 "spec/rubocop/cop/gitlab/keys_first_and_values_first_spec.rb": 0.3553688339998189,10143 "spec/lib/banzai/filter/ascii_doc_sanitization_filter_spec.rb": 0.46532670899978257,10144 "spec/models/dependency_proxy/group_setting_spec.rb": 0.5163773369999944,10145 "spec/lib/api/entities/personal_access_token_spec.rb": 0.32167552600003546,10146 "spec/lib/gitlab/auth/activity_spec.rb": 0.3335946650004189,10147 "spec/helpers/external_link_helper_spec.rb": 0.39066559299999426,10148 "spec/lib/banzai/render_context_spec.rb": 0.20821962000036365,10149 "spec/lib/gitlab/auth/otp/strategies/forti_authenticator/manual_otp_spec.rb": 0.5492281059996458,10150 "spec/models/concerns/database_reflection_spec.rb": 0.2760906480002632,10151 "spec/graphql/types/kas/agent_metadata_type_spec.rb": 0.25671223900008044,10152 "spec/models/user_highest_role_spec.rb": 0.7865670349997345,10153 "spec/tooling/docs/deprecation_handling_spec.rb": 0.3347215949997917,10154 "spec/workers/schedule_migrate_external_diffs_worker_spec.rb": 0.19697142100039855,10155 "spec/initializers/session_store_spec.rb": 0.3170756959998471,10156 "spec/graphql/types/tree/type_enum_spec.rb": 0.34876656400001593,10157 "spec/initializers/asset_proxy_setting_spec.rb": 0.3493258749999768,10158 "spec/lib/gitlab/usage_data_counters/search_counter_spec.rb": 0.41750929099998757,10159 "spec/graphql/types/container_repository_sort_enum_spec.rb": 0.38111003299991353,10160 "spec/lib/sidebars/projects/menus/snippets_menu_spec.rb": 0.45337428999982876,10161 "spec/workers/ci/schedule_delete_objects_cron_worker_spec.rb": 0.24619151899969438,10162 "spec/rubocop/cop/gitlab/union_spec.rb": 0.17708717200002866,10163 "spec/lib/gitlab/usage/metrics/instrumentations/uuid_metric_spec.rb": 0.20126678099995843,10164 "spec/graphql/types/alert_management/http_integration_type_spec.rb": 0.2745674580000923,10165 "spec/lib/gitlab/fogbugz_import/client_spec.rb": 0.42214189100013755,10166 "spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb": 0.48762130800014347,10167 "spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb": 0.2232925799999066,10168 "spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb": 0.17029479299981176,10169 "spec/initializers/sawyer_patch_spec.rb": 0.49827596900013305,10170 "spec/experiments/video_tutorials_continuous_onboarding_experiment_spec.rb": 0.15807586700020693,10171 "spec/graphql/resolvers/packages_base_resolver_spec.rb": 0.5770878140001514,10172 "spec/workers/ci_platform_metrics_update_cron_worker_spec.rb": 0.31047411500003363,10173 "spec/graphql/types/packages/package_dependency_link_type_spec.rb": 0.3650610610002331710175Knapsack global time execution for tests: 19m 18s10176Pending: (Failures listed here are expected and do not affect your suite's status)10177 1) Ci::Pipeline modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is required when creating an object raises an error if the internal id is blank10178 # No reason given10179 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:2210180 2) Ci::Pipeline modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is required when updating an object raises an error if the internal id is blank10181 # No reason given10182 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:2810183 3) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_counter_keys single database has expected keys10184 # Skipping because multiple databases are set up10185 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:5410186 4) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_counter_keys single database does not have ci keys10187 # Skipping because multiple databases are set up10188 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:7510189 5) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_duration_keys single database has expected keys10190 # Skipping because multiple databases are set up10191 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:11310192 6) Gitlab::Metrics::Subscribers::ActiveRecord.load_balancing_metric_duration_keys single database does not have ci keys10193 # Skipping because multiple databases are set up10194 # ./spec/lib/gitlab/metrics/subscribers/active_record_spec.rb:12210195 7) gitlab:db:lock_writes single database when locking writes does not add any triggers to the main schema tables10196 # Skipping because multiple databases are set up10197 # ./spec/tasks/gitlab/db/lock_writes_rake_spec.rb:2810198 8) gitlab:db:lock_writes single database when locking writes will be still able to modify tables that belong to the main two schemas10199 # Skipping because multiple databases are set up10200 # ./spec/tasks/gitlab/db/lock_writes_rake_spec.rb:3610201Finished in 19 minutes 23 seconds (files took 38.63 seconds to load)102024223 examples, 0 failures, 8 pending10203Randomized with seed 5631210204[TEST PROF INFO] Time spent in factories: 09:21.548 (48.05% of total time)10205RSpec exited with 0.10206No examples to retry, congrats!10208Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy10209Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy10211Uploading artifacts...10212coverage/: found 5 matching files and directories 10213crystalball/: found 2 matching files and directories 10214WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 10215knapsack/: found 3 matching files and directories 10216rspec/: found 9 matching files and directories 10217WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 10218log/*.log: found 21 matching files and directories 10219WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837743/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com10220WARNING: Retrying... context=artifacts-uploader error=request redirected10221Uploading artifacts as "archive" to coordinator... 201 Created id=3307837743 responseStatus=201 Created token=Apb6Sjqu10222Uploading artifacts...10223rspec/junit_rspec.xml: found 1 matching files and directories 10224WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837743/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com10225WARNING: Retrying... context=artifacts-uploader error=request redirected10226Uploading artifacts as "junit" to coordinator... 201 Created id=3307837743 responseStatus=201 Created token=Apb6Sjqu10228Job succeeded