There was an error fetching the job.
rspec unit pg13-as-if-foss single-db-ci-connection 9/28
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 15.9.0~beta.115.g598a7c91 (598a7c91)2 on green-2.shared-gitlab-org.runners-manager.gitlab.com/default 8zCxmpPt, system ID: s_130a96ce9e653 feature flags: FF_NETWORK_PER_BUILD:true, 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-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:13 ...8Pulling docker image postgres:13 ...9Using docker image sha256:dd421ca1f7f13d81c5c145d77d97d8d84cd0e6f1e045936ee506ce0f50ee397a for postgres:13 with digest postgres@sha256:00f455399f30cc3f2fe4185476601438b7a4959c74653665582d7c313a783d51 ...10Starting service redis:6.2-alpine ...11Pulling docker image redis:6.2-alpine ...12Using docker image sha256:3616f0c0705d2a35d30dde109daf3cbe58ae7284121aafa6f5cfa987db98d1a8 for redis:6.2-alpine with digest redis@sha256:edddbcad5a41d58df2f142d68439922f1860ea902903d016257337c3342f30fc ...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-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:7a1b51158a1ee23b080b514ce6ebbf52ac51585877198fb52709e5cd01805a77 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13@sha256:412d55913d43377094427ced549cb422ed2f2c7223e6a605d0d3e0151cb892b0 ...18Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1680167273-43706f08...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: 135903, done. 25remote: Counting objects: 100% (135903/135903), done. 26remote: Compressing objects: 100% (88560/88560), done. 27remote: Total 135903 (delta 58315), reused 94618 (delta 42152), pack-reused 0 28Receiving objects: 100% (135903/135903), 121.35 MiB | 33.44 MiB/s, done.29Resolving deltas: 100% (58315/58315), done.31 * [new ref] refs/pipelines/822866544 -> refs/pipelines/82286654432Checking out 523abdde as detached HEAD (ref is refs/merge-requests/116270/merge)...33Skipping Git submodules setup34$ git remote set-url origin "${CI_REPOSITORY_URL}"36Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...37Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-3.0-16...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-3.0-16 41Successfully extracted cache43Downloading artifacts for compile-test-assets as-if-foss (4031138200)...44Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138200 responseStatus=200 OK token=64_8-yAQ45Downloading artifacts for detect-tests (4031138213)...46Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138213 responseStatus=200 OK token=64_8-yAQ47Downloading artifacts for retrieve-tests-metadata (4031138217)...48Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138217 responseStatus=200 OK token=64_8-yAQ49Downloading artifacts for setup-test-env (4031138204)...50Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138204 responseStatus=200 OK token=64_8-yAQ52Using docker image sha256:7a1b51158a1ee23b080b514ce6ebbf52ac51585877198fb52709e5cd01805a77 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13@sha256:412d55913d43377094427ced549cb422ed2f2c7223e6a605d0d3e0151cb892b0 ...53$ echo $FOSS_ONLY54155$ [ "$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.sh710Using decomposed database config (config/database.yml.postgresql)711Enabling ci connection (database_tasks: false) in config/database.yml712Geo DB won't be set up.713$ setup_db_user_only714CREATE ROLE715GRANT716==> 'setup_db_user_only' succeeded in 0 seconds.717$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes718Dropped database 'gitlabhq_test'719Created database 'gitlabhq_test'720==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 41 seconds.721$ setup_db_praefect722SELECT pg_catalog.set_config('search_path', '', false);723CREATE DATABASE praefect_test ENCODING 'UTF8';724==> 'setup_db_praefect' succeeded in 0 seconds.725$ source ./scripts/rspec_helpers.sh726$ run_timed_command "gem install knapsack --no-document"727$ gem install knapsack --no-document728Successfully installed knapsack-4.0.07291 gem installed730==> 'gem install knapsack --no-document' succeeded in 0 seconds.731$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"835$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"836SKIP_FLAKY_TESTS_AUTOMATICALLY: false837RETRY_FAILED_TESTS_IN_NEW_PROCESS: true838KNAPSACK_GENERATE_REPORT: 839FLAKY_RSPEC_GENERATE_REPORT: 840KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,contracts,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.rb841KNAPSACK_LOG_LEVEL: debug842KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13-as-if-foss_single-db-ci-connection_9_28_report.json843FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json844FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13-as-if-foss_single-db-ci-connection_9_28_report.json845NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13-as-if-foss_single-db-ci-connection_9_28_report.json846SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg13-as-if-foss_single-db-ci-connection_9_28_report.txt847CRYSTALBALL: 848Knapsack node specs:849spec/services/merge_requests/update_service_spec.rb850spec/rubocop/cop/rspec/invalid_feature_category_spec.rb851spec/services/groups/destroy_service_spec.rb852spec/services/boards/lists/move_service_spec.rb853spec/models/operations/feature_flags/strategy_spec.rb854spec/helpers/search_helper_spec.rb855spec/services/ci/unlock_artifacts_service_spec.rb856spec/services/draft_notes/publish_service_spec.rb857spec/models/members/project_member_spec.rb858spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb859spec/uploaders/attachment_uploader_spec.rb860spec/lib/gitlab/redis/db_load_balancing_spec.rb861spec/lib/gitlab/import_export/members_mapper_spec.rb862spec/services/work_items/update_service_spec.rb863spec/helpers/todos_helper_spec.rb864spec/models/concerns/counter_attribute_spec.rb865spec/services/work_items/parent_links/create_service_spec.rb866spec/lib/banzai/reference_parser/base_parser_spec.rb867spec/lib/gitlab/background_migration/destroy_invalid_members_spec.rb868spec/lib/gitlab/database/batch_average_counter_spec.rb869spec/lib/gitlab/version_info_spec.rb870spec/lib/gitlab/background_migration/migrate_links_for_vulnerability_findings_spec.rb871spec/lib/gitlab/import_export/project/sample/relation_tree_restorer_spec.rb872spec/services/labels/promote_service_spec.rb873spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb874spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb875spec/lib/gitlab/ci/runner_upgrade_check_spec.rb876spec/finders/members_finder_spec.rb877spec/views/projects/_home_panel.html.haml_spec.rb878spec/workers/merge_request_cleanup_refs_worker_spec.rb879spec/presenters/clusters/cluster_presenter_spec.rb880spec/views/projects/commit/branches.html.haml_spec.rb881spec/services/clusters/agents/refresh_authorization_service_spec.rb882spec/models/integrations/base_chat_notification_spec.rb883spec/models/ci/group_spec.rb884spec/lib/banzai/filter/references/design_reference_filter_spec.rb885spec/lib/gitlab/auth/current_user_mode_spec.rb886spec/lib/gitlab/checks/tag_check_spec.rb887spec/finders/merge_requests/oldest_per_commit_finder_spec.rb888spec/serializers/commit_entity_spec.rb889spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb890spec/bin/feature_flag_spec.rb891spec/models/ci/persistent_ref_spec.rb892spec/lib/gitlab/import_export/project/import_task_spec.rb893spec/lib/bulk_imports/projects/pipelines/repository_bundle_pipeline_spec.rb894spec/services/clusters/destroy_service_spec.rb895spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb896spec/services/groups/update_shared_runners_service_spec.rb897spec/rubocop/cop/graphql/old_types_spec.rb898spec/models/personal_snippet_spec.rb899spec/policies/work_item_policy_spec.rb900spec/finders/clusters/agent_authorizations_finder_spec.rb901spec/lib/gitlab/audit/auditor_spec.rb902spec/presenters/issue_presenter_spec.rb903spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb904spec/services/clusters/agent_tokens/create_service_spec.rb905spec/lib/gitlab/checks/changes_access_spec.rb906spec/workers/packages/cleanup/execute_policy_worker_spec.rb907spec/lib/gitlab/ci/config/entry/policy_spec.rb908spec/lib/grafana/client_spec.rb909spec/lib/banzai/filter/inline_metrics_filter_spec.rb910spec/lib/gitlab/visibility_level_checker_spec.rb911spec/services/boards/lists/list_service_spec.rb912spec/graphql/types/terraform/state_version_type_spec.rb913spec/models/time_tracking/timelog_category_spec.rb914spec/presenters/packages/detail/package_presenter_spec.rb915spec/graphql/types/todo_type_spec.rb916spec/lib/gitlab/mail_room/mail_room_spec.rb917spec/models/x509_certificate_spec.rb918spec/models/wiki_page/slug_spec.rb919spec/services/projects/move_deploy_keys_projects_service_spec.rb920spec/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher_spec.rb921spec/lib/bitbucket/representation/repo_spec.rb922spec/models/concerns/manual_inverse_association_spec.rb923spec/lib/gitlab/database/async_constraints/postgres_async_constraint_validation_spec.rb924spec/models/analytics/cycle_analytics/value_stream_spec.rb925spec/models/incident_management/timeline_event_tag_spec.rb926spec/lib/gitlab/database/async_constraints/migration_helpers_spec.rb927spec/workers/deployments/link_merge_request_worker_spec.rb928spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb929spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb930spec/services/projects/group_links/destroy_service_spec.rb931spec/services/packages/mark_package_files_for_destruction_service_spec.rb932spec/lib/gitlab/local_and_remote_storage_migration/artifact_migrater_spec.rb933spec/lib/gitlab/import_export/after_export_strategies/web_upload_strategy_spec.rb934spec/rubocop/cop/database/multiple_databases_spec.rb935spec/tasks/gitlab/artifacts/check_rake_spec.rb936spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb937spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb938spec/lib/atlassian/jira_connect/serializers/pull_request_entity_spec.rb939spec/graphql/resolvers/crm/organizations_resolver_spec.rb940spec/graphql/resolvers/project_jobs_resolver_spec.rb941spec/lib/gitlab/access/branch_protection_spec.rb942spec/lib/gitlab/slash_commands/presenters/deploy_spec.rb943spec/lib/error_tracking/sentry_client/event_spec.rb944spec/graphql/mutations/issues/set_locked_spec.rb945spec/lib/gitlab/config/loader/yaml_spec.rb946spec/lib/gitlab/memory/watchdog_spec.rb947spec/tasks/migrate/schema_check_rake_spec.rb948spec/finders/milestones_finder_spec.rb949spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb950spec/services/packages/pypi/create_package_service_spec.rb951spec/services/import_csv/base_service_spec.rb952spec/lib/gitlab/usage_data_counters/code_review_events_spec.rb953spec/finders/ci/job_artifacts_finder_spec.rb954spec/tooling/rspec_flaky/config_spec.rb955spec/workers/clusters/applications/activate_integration_worker_spec.rb956spec/validators/json_schema_validator_spec.rb957spec/lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations_spec.rb958spec/models/concerns/protected_ref_access_spec.rb959spec/validators/ip_address_validator_spec.rb960spec/services/resource_events/change_milestone_service_spec.rb961spec/lib/gitlab/ci/status/success_warning_spec.rb962spec/policies/alert_management/alert_policy_spec.rb963spec/services/pages_domains/update_service_spec.rb964spec/lib/gitlab/memory/watchdog/configuration_spec.rb965spec/models/u2f_registration_spec.rb966spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb967spec/graphql/resolvers/user_discussions_count_resolver_spec.rb968spec/graphql/mutations/todos/mark_done_spec.rb969spec/lib/banzai/filter/inline_cluster_metrics_filter_spec.rb970spec/services/projects/repository_languages_service_spec.rb971spec/services/packages/update_tags_service_spec.rb972spec/workers/snippets/schedule_bulk_repository_shard_moves_worker_spec.rb973spec/services/clusters/agents/filter_authorizations_service_spec.rb974spec/services/incident_management/timeline_event_tags/create_service_spec.rb975spec/tooling/lib/tooling/mappings/js_to_system_specs_mappings_spec.rb976spec/services/pages_domains/retry_acme_order_service_spec.rb977spec/helpers/breadcrumbs_helper_spec.rb978spec/graphql/types/ci/pipeline_schedule_variable_type_spec.rb979spec/models/import_failure_spec.rb980spec/lib/gitlab/usage_data_counters/note_counter_spec.rb981spec/lib/bitbucket_server/representation/activity_spec.rb982spec/services/dependency_proxy/find_cached_manifest_service_spec.rb983spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb984spec/serializers/cluster_serializer_spec.rb985spec/lib/api/validations/validators/absence_spec.rb986spec/workers/merge_requests/delete_source_branch_worker_spec.rb987spec/lib/gitlab/database/background_migration/batch_optimizer_spec.rb988spec/workers/authorized_project_update/project_recalculate_worker_spec.rb989spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb990spec/workers/jira_connect/send_uninstalled_hook_worker_spec.rb991spec/workers/flush_counter_increments_worker_spec.rb992spec/workers/loose_foreign_keys/cleanup_worker_spec.rb993spec/models/error_tracking/client_key_spec.rb994spec/workers/design_management/copy_design_collection_worker_spec.rb995spec/lib/gitlab/middleware/handle_ip_spoof_attack_error_spec.rb996spec/lib/gitlab/ci/config/entry/inherit/default_spec.rb997spec/services/clusters/integrations/create_service_spec.rb998spec/workers/packages/composer/cache_update_worker_spec.rb999spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb1000spec/lib/gitlab/chat_name_token_spec.rb1001spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb1002spec/serializers/ci/downloadable_artifact_serializer_spec.rb1003spec/lib/gitlab/template/finders/repo_template_finders_spec.rb1004spec/models/design_management/design_action_spec.rb1005spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb1006spec/services/merge_requests/create_approval_event_service_spec.rb1007spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb1008spec/lib/banzai/pipeline/post_process_pipeline_spec.rb1009spec/workers/mail_scheduler/issue_due_worker_spec.rb1010spec/models/concerns/optionally_search_spec.rb1011spec/services/users/saved_replies/update_service_spec.rb1012spec/graphql/mutations/achievements/delete_spec.rb1013spec/lib/gitlab/wiki_file_finder_spec.rb1014spec/services/bulk_imports/uploads_export_service_spec.rb1015spec/rubocop/cop/ignored_columns_spec.rb1016spec/lib/gitlab/utils/deep_size_spec.rb1017spec/workers/pages_worker_spec.rb1018spec/rubocop/cop/active_record_association_reload_spec.rb1019spec/services/ci/runners/reconcile_existing_runner_versions_service_spec.rb1020spec/lib/gitlab/avatar_cache_spec.rb1021spec/lib/bulk_imports/pipeline/extracted_data_spec.rb1022spec/lib/gitlab/usage/metrics/instrumentations/count_ml_candidates_metric_spec.rb1023spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb1024spec/graphql/resolvers/error_tracking/sentry_error_collection_resolver_spec.rb1025spec/graphql/resolvers/concerns/resolves_project_spec.rb1026spec/models/external_issue_spec.rb1027spec/rubocop/cop/avoid_becomes_spec.rb1028spec/services/ci/queue/pending_builds_strategy_spec.rb1029spec/serializers/impersonation_access_token_serializer_spec.rb1030spec/lib/gitlab/github_import/representation/diff_notes/discussion_id_spec.rb1031spec/lib/gitlab/auth/saml/auth_hash_spec.rb1032spec/graphql/types/duration_type_spec.rb1033spec/lib/gitlab/github_import/sequential_importer_spec.rb1034spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb1035spec/serializers/project_serializer_spec.rb1036spec/lib/gitlab/auth/atlassian/auth_hash_spec.rb1037spec/lib/gitlab/config/entry/composable_array_spec.rb1038spec/initializers/net_http_response_patch_spec.rb1039spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb1040spec/db/production/create_work_item_hierarchy_restrictions_spec.rb1041spec/lib/gitlab/ci/reports/security/flag_spec.rb1042spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb1043spec/lib/gitlab/usage_data_counters/redis_counter_spec.rb1044spec/workers/gitlab/github_import/stage/import_pull_requests_worker_spec.rb1045spec/workers/gitlab/github_import/stage/finish_import_worker_spec.rb1046spec/lib/gitlab/ci/interpolation/config_spec.rb1047spec/lib/gitlab/import/database_helpers_spec.rb1048spec/graphql/types/project_member_type_spec.rb1049spec/lib/gitlab/metrics/memory_spec.rb1050spec/lib/gitlab/graphql/tracers/logger_tracer_spec.rb1051spec/workers/repository_check/clear_worker_spec.rb1052spec/helpers/ci/triggers_helper_spec.rb1053spec/rubocop/cop/rspec/missing_feature_category_spec.rb1054spec/graphql/types/alert_management/integration_type_spec.rb1055spec/lib/gitlab/github_import/importer/events/base_importer_spec.rb1056spec/graphql/types/deployment_type_spec.rb1057spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb1058spec/initializers/memory_watchdog_spec.rb1059spec/lib/kramdown/kramdown_spec.rb1060spec/rubocop/cop/project_path_helper_spec.rb1061spec/lib/api/entities/ci/job_artifact_file_spec.rb1062spec/graphql/types/ci/config/job_type_spec.rb1063spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb1064spec/lib/gitlab/insecure_key_fingerprint_spec.rb1065spec/graphql/types/dependency_proxy/blob_type_spec.rb1066spec/graphql/types/work_items/widgets/notifications_update_input_type_spec.rb1067spec/rubocop/cop/gemspec/avoid_executing_git_spec.rb1068spec/rubocop/cop/database/rescue_statement_timeout_spec.rb1069spec/graphql/types/branch_rules/branch_protection_type_spec.rb1070spec/models/group/crm_settings_spec.rb1071spec/initializers/rails_asset_host_spec.rb1072spec/views/groups/settings/_remove.html.haml_spec.rb1073spec/lib/sidebars/uncategorized_menu_spec.rb1074spec/helpers/ci/variables_helper_spec.rb1075spec/spam/concerns/has_spam_action_response_fields_spec.rb1076spec/lib/gitlab/ci/reports/sbom/source_spec.rb1077spec/lib/gitlab/memory/watchdog/handlers/puma_handler_spec.rb1078spec/lib/gitlab/graphql/query_analyzers/ast/logger_analyzer_spec.rb1079spec/workers/namespaces/in_product_marketing_emails_worker_spec.rb1080Filter specs:1081Running specs:1082Running all node tests without filter1083spec/services/merge_requests/update_service_spec.rb1084spec/rubocop/cop/rspec/invalid_feature_category_spec.rb1085spec/services/groups/destroy_service_spec.rb1086spec/services/boards/lists/move_service_spec.rb1087spec/models/operations/feature_flags/strategy_spec.rb1088spec/helpers/search_helper_spec.rb1089spec/services/ci/unlock_artifacts_service_spec.rb1090spec/services/draft_notes/publish_service_spec.rb1091spec/models/members/project_member_spec.rb1092spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb1093spec/uploaders/attachment_uploader_spec.rb1094spec/lib/gitlab/redis/db_load_balancing_spec.rb1095spec/lib/gitlab/import_export/members_mapper_spec.rb1096spec/services/work_items/update_service_spec.rb1097spec/helpers/todos_helper_spec.rb1098spec/models/concerns/counter_attribute_spec.rb1099spec/services/work_items/parent_links/create_service_spec.rb1100spec/lib/banzai/reference_parser/base_parser_spec.rb1101spec/lib/gitlab/background_migration/destroy_invalid_members_spec.rb1102spec/lib/gitlab/database/batch_average_counter_spec.rb1103spec/lib/gitlab/version_info_spec.rb1104spec/lib/gitlab/background_migration/migrate_links_for_vulnerability_findings_spec.rb1105spec/lib/gitlab/import_export/project/sample/relation_tree_restorer_spec.rb1106spec/services/labels/promote_service_spec.rb1107spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb1108spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb1109spec/lib/gitlab/ci/runner_upgrade_check_spec.rb1110spec/finders/members_finder_spec.rb1111spec/views/projects/_home_panel.html.haml_spec.rb1112spec/workers/merge_request_cleanup_refs_worker_spec.rb1113spec/presenters/clusters/cluster_presenter_spec.rb1114spec/views/projects/commit/branches.html.haml_spec.rb1115spec/services/clusters/agents/refresh_authorization_service_spec.rb1116spec/models/integrations/base_chat_notification_spec.rb1117spec/models/ci/group_spec.rb1118spec/lib/banzai/filter/references/design_reference_filter_spec.rb1119spec/lib/gitlab/auth/current_user_mode_spec.rb1120spec/lib/gitlab/checks/tag_check_spec.rb1121spec/finders/merge_requests/oldest_per_commit_finder_spec.rb1122spec/serializers/commit_entity_spec.rb1123spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb1124spec/bin/feature_flag_spec.rb1125spec/models/ci/persistent_ref_spec.rb1126spec/lib/gitlab/import_export/project/import_task_spec.rb1127spec/lib/bulk_imports/projects/pipelines/repository_bundle_pipeline_spec.rb1128spec/services/clusters/destroy_service_spec.rb1129spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb1130spec/services/groups/update_shared_runners_service_spec.rb1131spec/rubocop/cop/graphql/old_types_spec.rb1132spec/models/personal_snippet_spec.rb1133spec/policies/work_item_policy_spec.rb1134spec/finders/clusters/agent_authorizations_finder_spec.rb1135spec/lib/gitlab/audit/auditor_spec.rb1136spec/presenters/issue_presenter_spec.rb1137spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb1138spec/services/clusters/agent_tokens/create_service_spec.rb1139spec/lib/gitlab/checks/changes_access_spec.rb1140spec/workers/packages/cleanup/execute_policy_worker_spec.rb1141spec/lib/gitlab/ci/config/entry/policy_spec.rb1142spec/lib/grafana/client_spec.rb1143spec/lib/banzai/filter/inline_metrics_filter_spec.rb1144spec/lib/gitlab/visibility_level_checker_spec.rb1145spec/services/boards/lists/list_service_spec.rb1146spec/graphql/types/terraform/state_version_type_spec.rb1147spec/models/time_tracking/timelog_category_spec.rb1148spec/presenters/packages/detail/package_presenter_spec.rb1149spec/graphql/types/todo_type_spec.rb1150spec/lib/gitlab/mail_room/mail_room_spec.rb1151spec/models/x509_certificate_spec.rb1152spec/models/wiki_page/slug_spec.rb1153spec/services/projects/move_deploy_keys_projects_service_spec.rb1154spec/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher_spec.rb1155spec/lib/bitbucket/representation/repo_spec.rb1156spec/models/concerns/manual_inverse_association_spec.rb1157spec/lib/gitlab/database/async_constraints/postgres_async_constraint_validation_spec.rb1158spec/models/analytics/cycle_analytics/value_stream_spec.rb1159spec/models/incident_management/timeline_event_tag_spec.rb1160spec/lib/gitlab/database/async_constraints/migration_helpers_spec.rb1161spec/workers/deployments/link_merge_request_worker_spec.rb1162spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb1163spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb1164spec/services/projects/group_links/destroy_service_spec.rb1165spec/services/packages/mark_package_files_for_destruction_service_spec.rb1166spec/lib/gitlab/local_and_remote_storage_migration/artifact_migrater_spec.rb1167spec/lib/gitlab/import_export/after_export_strategies/web_upload_strategy_spec.rb1168spec/rubocop/cop/database/multiple_databases_spec.rb1169spec/tasks/gitlab/artifacts/check_rake_spec.rb1170spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb1171spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb1172spec/lib/atlassian/jira_connect/serializers/pull_request_entity_spec.rb1173spec/graphql/resolvers/crm/organizations_resolver_spec.rb1174spec/graphql/resolvers/project_jobs_resolver_spec.rb1175spec/lib/gitlab/access/branch_protection_spec.rb1176spec/lib/gitlab/slash_commands/presenters/deploy_spec.rb1177spec/lib/error_tracking/sentry_client/event_spec.rb1178spec/graphql/mutations/issues/set_locked_spec.rb1179spec/lib/gitlab/config/loader/yaml_spec.rb1180spec/lib/gitlab/memory/watchdog_spec.rb1181spec/tasks/migrate/schema_check_rake_spec.rb1182spec/finders/milestones_finder_spec.rb1183spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb1184spec/services/packages/pypi/create_package_service_spec.rb1185spec/services/import_csv/base_service_spec.rb1186spec/lib/gitlab/usage_data_counters/code_review_events_spec.rb1187spec/finders/ci/job_artifacts_finder_spec.rb1188spec/tooling/rspec_flaky/config_spec.rb1189spec/workers/clusters/applications/activate_integration_worker_spec.rb1190spec/validators/json_schema_validator_spec.rb1191spec/lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations_spec.rb1192spec/models/concerns/protected_ref_access_spec.rb1193spec/validators/ip_address_validator_spec.rb1194spec/services/resource_events/change_milestone_service_spec.rb1195spec/lib/gitlab/ci/status/success_warning_spec.rb1196spec/policies/alert_management/alert_policy_spec.rb1197spec/services/pages_domains/update_service_spec.rb1198spec/lib/gitlab/memory/watchdog/configuration_spec.rb1199spec/models/u2f_registration_spec.rb1200spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb1201spec/graphql/resolvers/user_discussions_count_resolver_spec.rb1202spec/graphql/mutations/todos/mark_done_spec.rb1203spec/lib/banzai/filter/inline_cluster_metrics_filter_spec.rb1204spec/services/projects/repository_languages_service_spec.rb1205spec/services/packages/update_tags_service_spec.rb1206spec/workers/snippets/schedule_bulk_repository_shard_moves_worker_spec.rb1207spec/services/clusters/agents/filter_authorizations_service_spec.rb1208spec/services/incident_management/timeline_event_tags/create_service_spec.rb1209spec/tooling/lib/tooling/mappings/js_to_system_specs_mappings_spec.rb1210spec/services/pages_domains/retry_acme_order_service_spec.rb1211spec/helpers/breadcrumbs_helper_spec.rb1212spec/graphql/types/ci/pipeline_schedule_variable_type_spec.rb1213spec/models/import_failure_spec.rb1214spec/lib/gitlab/usage_data_counters/note_counter_spec.rb1215spec/lib/bitbucket_server/representation/activity_spec.rb1216spec/services/dependency_proxy/find_cached_manifest_service_spec.rb1217spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb1218spec/serializers/cluster_serializer_spec.rb1219spec/lib/api/validations/validators/absence_spec.rb1220spec/workers/merge_requests/delete_source_branch_worker_spec.rb1221spec/lib/gitlab/database/background_migration/batch_optimizer_spec.rb1222spec/workers/authorized_project_update/project_recalculate_worker_spec.rb1223spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb1224spec/workers/jira_connect/send_uninstalled_hook_worker_spec.rb1225spec/workers/flush_counter_increments_worker_spec.rb1226spec/workers/loose_foreign_keys/cleanup_worker_spec.rb1227spec/models/error_tracking/client_key_spec.rb1228spec/workers/design_management/copy_design_collection_worker_spec.rb1229spec/lib/gitlab/middleware/handle_ip_spoof_attack_error_spec.rb1230spec/lib/gitlab/ci/config/entry/inherit/default_spec.rb1231spec/services/clusters/integrations/create_service_spec.rb1232spec/workers/packages/composer/cache_update_worker_spec.rb1233spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb1234spec/lib/gitlab/chat_name_token_spec.rb1235spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb1236spec/serializers/ci/downloadable_artifact_serializer_spec.rb1237spec/lib/gitlab/template/finders/repo_template_finders_spec.rb1238spec/models/design_management/design_action_spec.rb1239spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb1240spec/services/merge_requests/create_approval_event_service_spec.rb1241spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb1242spec/lib/banzai/pipeline/post_process_pipeline_spec.rb1243spec/workers/mail_scheduler/issue_due_worker_spec.rb1244spec/models/concerns/optionally_search_spec.rb1245spec/services/users/saved_replies/update_service_spec.rb1246spec/graphql/mutations/achievements/delete_spec.rb1247spec/lib/gitlab/wiki_file_finder_spec.rb1248spec/services/bulk_imports/uploads_export_service_spec.rb1249spec/rubocop/cop/ignored_columns_spec.rb1250spec/lib/gitlab/utils/deep_size_spec.rb1251spec/workers/pages_worker_spec.rb1252spec/rubocop/cop/active_record_association_reload_spec.rb1253spec/services/ci/runners/reconcile_existing_runner_versions_service_spec.rb1254spec/lib/gitlab/avatar_cache_spec.rb1255spec/lib/bulk_imports/pipeline/extracted_data_spec.rb1256spec/lib/gitlab/usage/metrics/instrumentations/count_ml_candidates_metric_spec.rb1257spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb1258spec/graphql/resolvers/error_tracking/sentry_error_collection_resolver_spec.rb1259spec/graphql/resolvers/concerns/resolves_project_spec.rb1260spec/models/external_issue_spec.rb1261spec/rubocop/cop/avoid_becomes_spec.rb1262spec/services/ci/queue/pending_builds_strategy_spec.rb1263spec/serializers/impersonation_access_token_serializer_spec.rb1264spec/lib/gitlab/github_import/representation/diff_notes/discussion_id_spec.rb1265spec/lib/gitlab/auth/saml/auth_hash_spec.rb1266spec/graphql/types/duration_type_spec.rb1267spec/lib/gitlab/github_import/sequential_importer_spec.rb1268spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb1269spec/serializers/project_serializer_spec.rb1270spec/lib/gitlab/auth/atlassian/auth_hash_spec.rb1271spec/lib/gitlab/config/entry/composable_array_spec.rb1272spec/initializers/net_http_response_patch_spec.rb1273spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb1274spec/db/production/create_work_item_hierarchy_restrictions_spec.rb1275spec/lib/gitlab/ci/reports/security/flag_spec.rb1276spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb1277spec/lib/gitlab/usage_data_counters/redis_counter_spec.rb1278spec/workers/gitlab/github_import/stage/import_pull_requests_worker_spec.rb1279spec/workers/gitlab/github_import/stage/finish_import_worker_spec.rb1280spec/lib/gitlab/ci/interpolation/config_spec.rb1281spec/lib/gitlab/import/database_helpers_spec.rb1282spec/graphql/types/project_member_type_spec.rb1283spec/lib/gitlab/metrics/memory_spec.rb1284spec/lib/gitlab/graphql/tracers/logger_tracer_spec.rb1285spec/workers/repository_check/clear_worker_spec.rb1286spec/helpers/ci/triggers_helper_spec.rb1287spec/rubocop/cop/rspec/missing_feature_category_spec.rb1288spec/graphql/types/alert_management/integration_type_spec.rb1289spec/lib/gitlab/github_import/importer/events/base_importer_spec.rb1290spec/graphql/types/deployment_type_spec.rb1291spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb1292spec/initializers/memory_watchdog_spec.rb1293spec/lib/kramdown/kramdown_spec.rb1294spec/rubocop/cop/project_path_helper_spec.rb1295spec/lib/api/entities/ci/job_artifact_file_spec.rb1296spec/graphql/types/ci/config/job_type_spec.rb1297spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb1298spec/lib/gitlab/insecure_key_fingerprint_spec.rb1299spec/graphql/types/dependency_proxy/blob_type_spec.rb1300spec/graphql/types/work_items/widgets/notifications_update_input_type_spec.rb1301spec/rubocop/cop/gemspec/avoid_executing_git_spec.rb1302spec/rubocop/cop/database/rescue_statement_timeout_spec.rb1303spec/graphql/types/branch_rules/branch_protection_type_spec.rb1304spec/models/group/crm_settings_spec.rb1305spec/initializers/rails_asset_host_spec.rb1306spec/views/groups/settings/_remove.html.haml_spec.rb1307spec/lib/sidebars/uncategorized_menu_spec.rb1308spec/helpers/ci/variables_helper_spec.rb1309spec/spam/concerns/has_spam_action_response_fields_spec.rb1310spec/lib/gitlab/ci/reports/sbom/source_spec.rb1311spec/lib/gitlab/memory/watchdog/handlers/puma_handler_spec.rb1312spec/lib/gitlab/graphql/query_analyzers/ast/logger_analyzer_spec.rb1313spec/workers/namespaces/in_product_marketing_emails_worker_spec.rb1314Running all node tests without filter1315Running all node tests without filter1316Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration --default-path spec -- spec/services/merge_requests/update_service_spec.rb spec/rubocop/cop/rspec/invalid_feature_category_spec.rb spec/services/groups/destroy_service_spec.rb spec/services/boards/lists/move_service_spec.rb spec/models/operations/feature_flags/strategy_spec.rb spec/helpers/search_helper_spec.rb spec/services/ci/unlock_artifacts_service_spec.rb spec/services/draft_notes/publish_service_spec.rb spec/models/members/project_member_spec.rb spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb spec/uploaders/attachment_uploader_spec.rb spec/lib/gitlab/redis/db_load_balancing_spec.rb spec/lib/gitlab/import_export/members_mapper_spec.rb spec/services/work_items/update_service_spec.rb spec/helpers/todos_helper_spec.rb spec/models/concerns/counter_attribute_spec.rb spec/services/work_items/parent_links/create_service_spec.rb spec/lib/banzai/reference_parser/base_parser_spec.rb spec/lib/gitlab/background_migration/destroy_invalid_members_spec.rb spec/lib/gitlab/database/batch_average_counter_spec.rb spec/lib/gitlab/version_info_spec.rb spec/lib/gitlab/background_migration/migrate_links_for_vulnerability_findings_spec.rb spec/lib/gitlab/import_export/project/sample/relation_tree_restorer_spec.rb spec/services/labels/promote_service_spec.rb spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb spec/lib/gitlab/ci/runner_upgrade_check_spec.rb spec/finders/members_finder_spec.rb spec/views/projects/_home_panel.html.haml_spec.rb spec/workers/merge_request_cleanup_refs_worker_spec.rb spec/presenters/clusters/cluster_presenter_spec.rb spec/views/projects/commit/branches.html.haml_spec.rb spec/services/clusters/agents/refresh_authorization_service_spec.rb spec/models/integrations/base_chat_notification_spec.rb spec/models/ci/group_spec.rb spec/lib/banzai/filter/references/design_reference_filter_spec.rb spec/lib/gitlab/auth/current_user_mode_spec.rb spec/lib/gitlab/checks/tag_check_spec.rb spec/finders/merge_requests/oldest_per_commit_finder_spec.rb spec/serializers/commit_entity_spec.rb spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb spec/bin/feature_flag_spec.rb spec/models/ci/persistent_ref_spec.rb spec/lib/gitlab/import_export/project/import_task_spec.rb spec/lib/bulk_imports/projects/pipelines/repository_bundle_pipeline_spec.rb spec/services/clusters/destroy_service_spec.rb spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb spec/services/groups/update_shared_runners_service_spec.rb spec/rubocop/cop/graphql/old_types_spec.rb spec/models/personal_snippet_spec.rb spec/policies/work_item_policy_spec.rb spec/finders/clusters/agent_authorizations_finder_spec.rb spec/lib/gitlab/audit/auditor_spec.rb spec/presenters/issue_presenter_spec.rb spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb spec/services/clusters/agent_tokens/create_service_spec.rb spec/lib/gitlab/checks/changes_access_spec.rb spec/workers/packages/cleanup/execute_policy_worker_spec.rb spec/lib/gitlab/ci/config/entry/policy_spec.rb spec/lib/grafana/client_spec.rb spec/lib/banzai/filter/inline_metrics_filter_spec.rb spec/lib/gitlab/visibility_level_checker_spec.rb spec/services/boards/lists/list_service_spec.rb spec/graphql/types/terraform/state_version_type_spec.rb spec/models/time_tracking/timelog_category_spec.rb spec/presenters/packages/detail/package_presenter_spec.rb spec/graphql/types/todo_type_spec.rb spec/lib/gitlab/mail_room/mail_room_spec.rb spec/models/x509_certificate_spec.rb spec/models/wiki_page/slug_spec.rb spec/services/projects/move_deploy_keys_projects_service_spec.rb spec/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher_spec.rb spec/lib/bitbucket/representation/repo_spec.rb spec/models/concerns/manual_inverse_association_spec.rb spec/lib/gitlab/database/async_constraints/postgres_async_constraint_validation_spec.rb spec/models/analytics/cycle_analytics/value_stream_spec.rb spec/models/incident_management/timeline_event_tag_spec.rb spec/lib/gitlab/database/async_constraints/migration_helpers_spec.rb spec/workers/deployments/link_merge_request_worker_spec.rb spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb spec/services/projects/group_links/destroy_service_spec.rb spec/services/packages/mark_package_files_for_destruction_service_spec.rb spec/lib/gitlab/local_and_remote_storage_migration/artifact_migrater_spec.rb spec/lib/gitlab/import_export/after_export_strategies/web_upload_strategy_spec.rb spec/rubocop/cop/database/multiple_databases_spec.rb spec/tasks/gitlab/artifacts/check_rake_spec.rb spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb spec/lib/atlassian/jira_connect/serializers/pull_request_entity_spec.rb spec/graphql/resolvers/crm/organizations_resolver_spec.rb spec/graphql/resolvers/project_jobs_resolver_spec.rb spec/lib/gitlab/access/branch_protection_spec.rb spec/lib/gitlab/slash_commands/presenters/deploy_spec.rb spec/lib/error_tracking/sentry_client/event_spec.rb spec/graphql/mutations/issues/set_locked_spec.rb spec/lib/gitlab/config/loader/yaml_spec.rb spec/lib/gitlab/memory/watchdog_spec.rb spec/tasks/migrate/schema_check_rake_spec.rb spec/finders/milestones_finder_spec.rb spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb spec/services/packages/pypi/create_package_service_spec.rb spec/services/import_csv/base_service_spec.rb spec/lib/gitlab/usage_data_counters/code_review_events_spec.rb spec/finders/ci/job_artifacts_finder_spec.rb spec/tooling/rspec_flaky/config_spec.rb spec/workers/clusters/applications/activate_integration_worker_spec.rb spec/validators/json_schema_validator_spec.rb spec/lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations_spec.rb spec/models/concerns/protected_ref_access_spec.rb spec/validators/ip_address_validator_spec.rb spec/services/resource_events/change_milestone_service_spec.rb spec/lib/gitlab/ci/status/success_warning_spec.rb spec/policies/alert_management/alert_policy_spec.rb spec/services/pages_domains/update_service_spec.rb spec/lib/gitlab/memory/watchdog/configuration_spec.rb spec/models/u2f_registration_spec.rb spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb spec/graphql/resolvers/user_discussions_count_resolver_spec.rb spec/graphql/mutations/todos/mark_done_spec.rb spec/lib/banzai/filter/inline_cluster_metrics_filter_spec.rb spec/services/projects/repository_languages_service_spec.rb spec/services/packages/update_tags_service_spec.rb spec/workers/snippets/schedule_bulk_repository_shard_moves_worker_spec.rb spec/services/clusters/agents/filter_authorizations_service_spec.rb spec/services/incident_management/timeline_event_tags/create_service_spec.rb spec/tooling/lib/tooling/mappings/js_to_system_specs_mappings_spec.rb spec/services/pages_domains/retry_acme_order_service_spec.rb spec/helpers/breadcrumbs_helper_spec.rb spec/graphql/types/ci/pipeline_schedule_variable_type_spec.rb spec/models/import_failure_spec.rb spec/lib/gitlab/usage_data_counters/note_counter_spec.rb spec/lib/bitbucket_server/representation/activity_spec.rb spec/services/dependency_proxy/find_cached_manifest_service_spec.rb spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb spec/serializers/cluster_serializer_spec.rb spec/lib/api/validations/validators/absence_spec.rb spec/workers/merge_requests/delete_source_branch_worker_spec.rb spec/lib/gitlab/database/background_migration/batch_optimizer_spec.rb spec/workers/authorized_project_update/project_recalculate_worker_spec.rb spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb spec/workers/jira_connect/send_uninstalled_hook_worker_spec.rb spec/workers/flush_counter_increments_worker_spec.rb spec/workers/loose_foreign_keys/cleanup_worker_spec.rb spec/models/error_tracking/client_key_spec.rb spec/workers/design_management/copy_design_collection_worker_spec.rb spec/lib/gitlab/middleware/handle_ip_spoof_attack_error_spec.rb spec/lib/gitlab/ci/config/entry/inherit/default_spec.rb spec/services/clusters/integrations/create_service_spec.rb spec/workers/packages/composer/cache_update_worker_spec.rb spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb spec/lib/gitlab/chat_name_token_spec.rb spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb spec/serializers/ci/downloadable_artifact_serializer_spec.rb spec/lib/gitlab/template/finders/repo_template_finders_spec.rb spec/models/design_management/design_action_spec.rb spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb spec/services/merge_requests/create_approval_event_service_spec.rb spec/services/resource_events/synthetic_state_notes_builder_service_spec.rb spec/lib/banzai/pipeline/post_process_pipeline_spec.rb spec/workers/mail_scheduler/issue_due_worker_spec.rb spec/models/concerns/optionally_search_spec.rb spec/services/users/saved_replies/update_service_spec.rb spec/graphql/mutations/achievements/delete_spec.rb spec/lib/gitlab/wiki_file_finder_spec.rb spec/services/bulk_imports/uploads_export_service_spec.rb spec/rubocop/cop/ignored_columns_spec.rb spec/lib/gitlab/utils/deep_size_spec.rb spec/workers/pages_worker_spec.rb spec/rubocop/cop/active_record_association_reload_spec.rb spec/services/ci/runners/reconcile_existing_runner_versions_service_spec.rb spec/lib/gitlab/avatar_cache_spec.rb spec/lib/bulk_imports/pipeline/extracted_data_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_ml_candidates_metric_spec.rb spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb spec/graphql/resolvers/error_tracking/sentry_error_collection_resolver_spec.rb spec/graphql/resolvers/concerns/resolves_project_spec.rb spec/models/external_issue_spec.rb spec/rubocop/cop/avoid_becomes_spec.rb spec/services/ci/queue/pending_builds_strategy_spec.rb spec/serializers/impersonation_access_token_serializer_spec.rb spec/lib/gitlab/github_import/representation/diff_notes/discussion_id_spec.rb spec/lib/gitlab/auth/saml/auth_hash_spec.rb spec/graphql/types/duration_type_spec.rb spec/lib/gitlab/github_import/sequential_importer_spec.rb spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb spec/serializers/project_serializer_spec.rb spec/lib/gitlab/auth/atlassian/auth_hash_spec.rb spec/lib/gitlab/config/entry/composable_array_spec.rb spec/initializers/net_http_response_patch_spec.rb spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb spec/db/production/create_work_item_hierarchy_restrictions_spec.rb spec/lib/gitlab/ci/reports/security/flag_spec.rb spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb spec/lib/gitlab/usage_data_counters/redis_counter_spec.rb spec/workers/gitlab/github_import/stage/import_pull_requests_worker_spec.rb spec/workers/gitlab/github_import/stage/finish_import_worker_spec.rb spec/lib/gitlab/ci/interpolation/config_spec.rb spec/lib/gitlab/import/database_helpers_spec.rb spec/graphql/types/project_member_type_spec.rb spec/lib/gitlab/metrics/memory_spec.rb spec/lib/gitlab/graphql/tracers/logger_tracer_spec.rb spec/workers/repository_check/clear_worker_spec.rb spec/helpers/ci/triggers_helper_spec.rb spec/rubocop/cop/rspec/missing_feature_category_spec.rb spec/graphql/types/alert_management/integration_type_spec.rb spec/lib/gitlab/github_import/importer/events/base_importer_spec.rb spec/graphql/types/deployment_type_spec.rb spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb spec/initializers/memory_watchdog_spec.rb spec/lib/kramdown/kramdown_spec.rb spec/rubocop/cop/project_path_helper_spec.rb spec/lib/api/entities/ci/job_artifact_file_spec.rb spec/graphql/types/ci/config/job_type_spec.rb spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb spec/lib/gitlab/insecure_key_fingerprint_spec.rb spec/graphql/types/dependency_proxy/blob_type_spec.rb spec/graphql/types/work_items/widgets/notifications_update_input_type_spec.rb spec/rubocop/cop/gemspec/avoid_executing_git_spec.rb spec/rubocop/cop/database/rescue_statement_timeout_spec.rb spec/graphql/types/branch_rules/branch_protection_type_spec.rb spec/models/group/crm_settings_spec.rb spec/initializers/rails_asset_host_spec.rb spec/views/groups/settings/_remove.html.haml_spec.rb spec/lib/sidebars/uncategorized_menu_spec.rb spec/helpers/ci/variables_helper_spec.rb spec/spam/concerns/has_spam_action_response_fields_spec.rb spec/lib/gitlab/ci/reports/sbom/source_spec.rb spec/lib/gitlab/memory/watchdog/handlers/puma_handler_spec.rb spec/lib/gitlab/graphql/query_analyzers/ast/logger_analyzer_spec.rb spec/workers/namespaces/in_product_marketing_emails_worker_spec.rbRun options: exclude {:quarantine=>true, :level=>"background_migration"}1317Test environment set up in 0.832434993 seconds1318MergeRequests::UpdateService1319 execute1320 behaves like issuable update service updating last_edited_at values1321 when updating the title of the issuable1322 does not update last_edited values1323 when updating the description of the issuable1324 updates last_edited values1325 valid params1326 matches base expectations1327 executes hooks with update action1328 creates a resource label event1329 creates system note about title change1330 creates system note about description change1331 creates system note about branch change1332 creates system note about discussion lock1333 usage counters1334 update as expected1335 tracks Draft marking1336 tracks Draft un-marking1337 tracks time estimate and spend time changes1338 tracks milestone change1339 track labels change1340 when MR is locked1341 when locked again1342 does not track discussion locking1343 when unlocked1344 tracks dicussion unlocking1345 when MR is unlocked1346 when unlocked again1347 does not track discussion unlocking1348 when locked1349 tracks dicussion locking1350 reviewers1351 when reviewers changed1352 tracks reviewers changed event1353 when reviewers did not change1354 does not track reviewers changed event1355 updating milestone1356 with milestone_id param1357 sets milestone1358 milestone counters cache reset1359 deletes milestone counters1360 deletes milestone counters when the milestone is removed1361 deletes milestone counters when the milestone was not set1362 with reviewers1363 creates system note about merge_request review request1364 updates the tracking1365 when current user cannot admin issues in the project1366 filters out params that cannot be set without the :admin_merge_request permission1367 updating milestone1368 when milestone_id param1369 behaves like does not update milestone1370 sets milestone1371 when milestone param1372 behaves like does not update milestone1373 sets milestone1374 when not including source branch removal options1375 maintains the original options1376 behaves like reviewer_ids filter1377 filter_reviewer1378 without reviewer_ids1379 contains no reviewer_ids1380 with reviewer_ids1381 when the current user can admin the merge_request1382 with a reviewer who can read the merge_request1383 contains reviewers who can read the merge_request1384 when the current_user cannot admin the merge_request1385 contains no reviewers1386 with an existing reviewer1387 removes reviewers1388 after_save callback to store_mentions1389 when mentionable attributes change1390 saves mentions1391 when mentionable attributes do not change1392 does not call store_mentions1393 when save fails1394 does not call store_mentions1395 merge1396 behaves like correct merge behavior1397 without pipeline1398 merges the MR1399 with finished pipeline1400 merges the MR1401 with active pipeline1402 is expected to receive execute(#<MergeRequest id:44 group41/project46!1>) 1 time1403 with a non-authorised user1404 does not merge the MR1405 MR can not be merged when note sha != MR sha1406 is expected to eq "opened"1407 todos1408 when the title change1409 calls MergeRequest::ResolveTodosService#async_execute1410 does not create any new todos1411 when the description change1412 calls MergeRequest::ResolveTodosService#async_execute1413 creates only 1 new todo1414 triggers GraphQL description updated subscription1415 when decription is not changed1416 does not trigger GraphQL description updated subscription1417 when is reassigned1418 calls MergeRequest::ResolveTodosService#async_execute1419 when reviewers gets changed1420 calls MergeRequest::ResolveTodosService#async_execute1421 creates a pending todo for new review request1422 sends email reviewer change notifications to old and new reviewers1423 updates open merge request counter for reviewers1424 behaves like triggers GraphQL subscription mergeRequestReviewersUpdated1425 is expected to receive merge_request_reviewers_updated(#<MergeRequest id:58 group55/project60!1>) 1 time1426 when reviewers did not change1427 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated1428 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times1429 when the milestone is removed1430 sends notifications for subscribers of changed milestone1431 when the milestone is changed1432 calls MergeRequests::ResolveTodosService#async_execute1433 sends notifications for subscribers of changed milestone1434 when the labels change1435 calls MergeRequests::ResolveTodosService#async_execute1436 updates updated_at1437 when the assignee changes1438 updates open merge request counter for assignees when merge request is reassigned1439 when the target branch changes1440 calls MergeRequests::ResolveTodosService#async_execute1441 does not try to mark as unchecked if it's already unchecked1442 behaves like creates a new pipeline1443 creates a new pipeline1444 when auto merge is enabled and target branch changed1445 calls MergeRequests::ResolveTodosService#async_execute1446 behaves like creates a new pipeline1447 creates a new pipeline1448 when the draft status is changed1449 removing draft status1450 sends notifications for subscribers1451 triggers GraphQL subscription mergeRequestMergeStatusUpdated1452 when removing through wip_event param1453 removes Draft from the title1454 adding draft status1455 does not send notifications1456 triggers GraphQL subscription mergeRequestMergeStatusUpdated1457 when adding through wip_event param1458 adds Draft to the title1459 when the merge request is relabeled1460 sends notifications for subscribers of newly added labels1461 when issue has the `label` label1462 does not send notifications for existing labels1463 does not send notifications for removed labels1464 updating mentions1465 when mentioning a different user1466 in title1467 emails only the newly-mentioned user1468 in description1469 emails only the newly-mentioned user1470 when mentioning a user and a group with access to1471 when group is public1472 behaves like updating attribute with allowed mentions1473 emails group members1474 behaves like updating attribute with allowed mentions1475 emails group members1476 behaves like updating attribute with existing group mention1477 creates todos for only newly mentioned users1478 behaves like updating attribute with existing group mention1479 creates todos for only newly mentioned users1480 when the group is private1481 behaves like updating attribute with allowed mentions1482 emails group members1483 behaves like updating attribute with allowed mentions1484 emails group members1485 behaves like updating attribute with existing group mention1486 creates todos for only newly mentioned users1487 behaves like updating attribute with existing group mention1488 creates todos for only newly mentioned users1489 when mentioning a user and a group without access to1490 when the group is private1491 behaves like updating attribute with not allowed mentions1492 emails mentioned user1493 behaves like updating attribute with not allowed mentions1494 emails mentioned user1495 when MergeRequest has tasks1496 is expected to eq true1497 behaves like updating a single task1498 usage counters1499 update as expected1500 when a task is marked as completed1501 creates system note about task status change1502 when a task is marked as incomplete1503 creates system note about task status change1504 when the task position has been modified1505 raises an exception1506 when the content changes but not task line number1507 creates system note about task status change1508 when tasks are marked as completed1509 creates system note about task status change1510 when tasks are marked as incomplete1511 creates system note about task status change1512 while saving references to issues that the updated merge request closes1513 creates a `MergeRequestsClosingIssues` record for each issue1514 removes `MergeRequestsClosingIssues` records when issues are not closed anymore1515 updating asssignee_ids1516 does not update assignee when assignee_id is invalid1517 unassigns assignee when user id is 01518 saves assignee when user id is valid1519 does not update assignee_id when user cannot read issue1520 :use_specialized_service1521 when true1522 passes the update action to ::MergeRequests::UpdateAssigneesService1523 when false or nil1524 does not pass the update action to ::MergeRequests::UpdateAssigneesService when false1525 does not pass the update action to ::MergeRequests::UpdateAssigneesService when nil1526 when issuable feature is private1527 does not update with unauthorized assignee when project is Internal1528 does not update with unauthorized assignee when project is Public1529 when adding time spent1530 :use_specialized_service1531 when true1532 passes the update action to ::MergeRequests::AddSpentTimeService1533 when false or nil1534 does not pass the update action to ::MergeRequests::UpdateAssigneesService when false1535 does not pass the update action to ::MergeRequests::UpdateAssigneesService when nil1536 behaves like issuable update service1537 changing state1538 to reopened1539 executes hooks1540 to closed1541 executes hooks1542 setting `allow_collaboration`1543 does not allow a maintainer of the target project to set `allow_collaboration`1544 is allowed by a user that can push to the source and can update the merge request1545 updating `force_remove_source_branch`1546 cannot be done by members of the target project when they don't have access1547 can be done by members of the target project if they can push to the source project1548 updating `target_branch`1549 updates to master1550 updates to master because of branch deletion1551 behaves like creates a new pipeline1552 creates a new pipeline1553 behaves like issuable record that supports quick actions1554 with labels in command only1555 attaches labels to issuable1556 with labels in params and command1557 attaches all labels to issuable1558 with assignee and milestone in command only1559 assigns and sets milestone to issuable1560 labels are updated1561 behaves like keeps issuable labels sorted after update1562 when label is changed1563 keeps the labels sorted by title ASC1564 behaves like broadcasting issuable labels updates1565 when label is added1566 triggers the GraphQL subscription1567 when label is removed1568 triggers the GraphQL subscription1569 when label is unchanged1570 does not trigger the GraphQL subscription1571RuboCop::Cop::RSpec::InvalidFeatureCategory1572 # order random1573 does not flag use of invalid categories in non-example code1574 flags invalid feature category for non-symbols1575 with custom categories1576 behaves like feature category validation1577 flags invalid feature category in top level example group1578 flags invalid feature category in nested context1579 flags invalid feature category in examples1580 does not flag if feature category is valid1581 suggests an alternative1582 behaves like feature category validation1583 flags invalid feature category in top level example group1584 flags invalid feature category in nested context1585 flags invalid feature category in examples1586 does not flag if feature category is valid1587 suggests an alternative1588 #external_dependency_checksum1589 returns a SHA256 digest used by RuboCop to invalid cache1590 with categories defined in config/feature_categories.yml1591 valid_category: "advanced_deployments"1592 behaves like feature category validation1593 flags invalid feature category in top level example group1594 flags invalid feature category in nested context1595 flags invalid feature category in examples1596 does not flag if feature category is valid1597 suggests an alternative1598 valid_category: "advisory_database"1599 behaves like feature category validation1600 flags invalid feature category in top level example group1601 flags invalid feature category in nested context1602 flags invalid feature category in examples1603 does not flag if feature category is valid1604 suggests an alternative1605 valid_category: "api"1606 behaves like feature category validation1607 flags invalid feature category in top level example group1608 flags invalid feature category in nested context1609 flags invalid feature category in examples1610 does not flag if feature category is valid1611 suggests an alternative1612 valid_category: "api_security"1613 behaves like feature category validation1614 flags invalid feature category in top level example group1615 flags invalid feature category in nested context1616 flags invalid feature category in examples1617 does not flag if feature category is valid1618 suggests an alternative1619 valid_category: "application_instrumentation"1620 behaves like feature category validation1621 flags invalid feature category in top level example group1622 flags invalid feature category in nested context1623 flags invalid feature category in examples1624 does not flag if feature category is valid1625 suggests an alternative1626 valid_category: "application_performance"1627 behaves like feature category validation1628 flags invalid feature category in top level example group1629 flags invalid feature category in nested context1630 flags invalid feature category in examples1631 does not flag if feature category is valid1632 suggests an alternative1633 valid_category: "attack_emulation"1634 behaves like feature category validation1635 flags invalid feature category in top level example group1636 flags invalid feature category in nested context1637 flags invalid feature category in examples1638 does not flag if feature category is valid1639 suggests an alternative1640 valid_category: "audit_events"1641 behaves like feature category validation1642 flags invalid feature category in top level example group1643 flags invalid feature category in nested context1644 flags invalid feature category in examples1645 does not flag if feature category is valid1646 suggests an alternative1647 valid_category: "auto_devops"1648 behaves like feature category validation1649 flags invalid feature category in top level example group1650 flags invalid feature category in nested context1651 flags invalid feature category in examples1652 does not flag if feature category is valid1653 suggests an alternative1654 valid_category: "backup_restore"1655 behaves like feature category validation1656 flags invalid feature category in top level example group1657 flags invalid feature category in nested context1658 flags invalid feature category in examples1659 does not flag if feature category is valid1660 suggests an alternative1661 valid_category: "billing_and_payments"1662 behaves like feature category validation1663 flags invalid feature category in top level example group1664 flags invalid feature category in nested context1665 flags invalid feature category in examples1666 does not flag if feature category is valid1667 suggests an alternative1668 valid_category: "build"1669 behaves like feature category validation1670 flags invalid feature category in top level example group1671 flags invalid feature category in nested context1672 flags invalid feature category in examples1673 does not flag if feature category is valid1674 suggests an alternative1675 valid_category: "build_artifacts"1676 behaves like feature category validation1677 flags invalid feature category in top level example group1678 flags invalid feature category in nested context1679 flags invalid feature category in examples1680 does not flag if feature category is valid1681 suggests an alternative1682 valid_category: "capacity_planning"1683 behaves like feature category validation1684 flags invalid feature category in top level example group1685 flags invalid feature category in nested context1686 flags invalid feature category in examples1687 does not flag if feature category is valid1688 suggests an alternative1689 valid_category: "cloud_native_installation"1690 behaves like feature category validation1691 flags invalid feature category in top level example group1692 flags invalid feature category in nested context1693 flags invalid feature category in examples1694 does not flag if feature category is valid1695 suggests an alternative1696 valid_category: "cluster_cost_management"1697 behaves like feature category validation1698 flags invalid feature category in top level example group1699 flags invalid feature category in nested context1700 flags invalid feature category in examples1701 does not flag if feature category is valid1702 suggests an alternative1703 valid_category: "code_quality"1704 behaves like feature category validation1705 flags invalid feature category in top level example group1706 flags invalid feature category in nested context1707 flags invalid feature category in examples1708 does not flag if feature category is valid1709 suggests an alternative1710 valid_category: "code_review_workflow"1711 behaves like feature category validation1712 flags invalid feature category in top level example group1713 flags invalid feature category in nested context1714 flags invalid feature category in examples1715 does not flag if feature category is valid1716 suggests an alternative1717 valid_category: "code_search"1718 behaves like feature category validation1719 flags invalid feature category in top level example group1720 flags invalid feature category in nested context1721 flags invalid feature category in examples1722 does not flag if feature category is valid1723 suggests an alternative1724 valid_category: "code_suggestions"1725 behaves like feature category validation1726 flags invalid feature category in top level example group1727 flags invalid feature category in nested context1728 flags invalid feature category in examples1729 does not flag if feature category is valid1730 suggests an alternative1731 valid_category: "code_testing"1732 behaves like feature category validation1733 flags invalid feature category in top level example group1734 flags invalid feature category in nested context1735 flags invalid feature category in examples1736 does not flag if feature category is valid1737 suggests an alternative1738 valid_category: "commerce_integrations"1739 behaves like feature category validation1740 flags invalid feature category in top level example group1741 flags invalid feature category in nested context1742 flags invalid feature category in examples1743 does not flag if feature category is valid1744 suggests an alternative1745 valid_category: "compliance_management"1746 behaves like feature category validation1747 flags invalid feature category in top level example group1748 flags invalid feature category in nested context1749 flags invalid feature category in examples1750 does not flag if feature category is valid1751 suggests an alternative1752 valid_category: "container_registry"1753 behaves like feature category validation1754 flags invalid feature category in top level example group1755 flags invalid feature category in nested context1756 flags invalid feature category in examples1757 does not flag if feature category is valid1758 suggests an alternative1759 valid_category: "container_scanning"1760 behaves like feature category validation1761 flags invalid feature category in top level example group1762 flags invalid feature category in nested context1763 flags invalid feature category in examples1764 does not flag if feature category is valid1765 suggests an alternative1766 valid_category: "continuous_delivery"1767 behaves like feature category validation1768 flags invalid feature category in top level example group1769 flags invalid feature category in nested context1770 flags invalid feature category in examples1771 does not flag if feature category is valid1772 suggests an alternative1773 valid_category: "continuous_integration"1774 behaves like feature category validation1775 flags invalid feature category in top level example group1776 flags invalid feature category in nested context1777 flags invalid feature category in examples1778 does not flag if feature category is valid1779 suggests an alternative1780 valid_category: "continuous_verification"1781 behaves like feature category validation1782 flags invalid feature category in top level example group1783 flags invalid feature category in nested context1784 flags invalid feature category in examples1785 does not flag if feature category is valid1786 suggests an alternative1787 valid_category: "customersdot_application"1788 behaves like feature category validation1789 flags invalid feature category in top level example group1790 flags invalid feature category in nested context1791 flags invalid feature category in examples1792 does not flag if feature category is valid1793 suggests an alternative1794 valid_category: "database"1795 behaves like feature category validation1796 flags invalid feature category in top level example group1797 flags invalid feature category in nested context1798 flags invalid feature category in examples1799 does not flag if feature category is valid1800 suggests an alternative1801 valid_category: "dataops"1802 behaves like feature category validation1803 flags invalid feature category in top level example group1804 flags invalid feature category in nested context1805 flags invalid feature category in examples1806 does not flag if feature category is valid1807 suggests an alternative1808 valid_category: "dedicated"1809 behaves like feature category validation1810 flags invalid feature category in top level example group1811 flags invalid feature category in nested context1812 flags invalid feature category in examples1813 does not flag if feature category is valid1814 suggests an alternative1815 valid_category: "delivery"1816 behaves like feature category validation1817 flags invalid feature category in top level example group1818 flags invalid feature category in nested context1819 flags invalid feature category in examples1820 does not flag if feature category is valid1821 suggests an alternative1822 valid_category: "dependency_firewall"1823 behaves like feature category validation1824 flags invalid feature category in top level example group1825 flags invalid feature category in nested context1826 flags invalid feature category in examples1827 does not flag if feature category is valid1828 suggests an alternative1829 valid_category: "dependency_management"1830 behaves like feature category validation1831 flags invalid feature category in top level example group1832 flags invalid feature category in nested context1833 flags invalid feature category in examples1834 does not flag if feature category is valid1835 suggests an alternative1836 valid_category: "dependency_proxy"1837 behaves like feature category validation1838 flags invalid feature category in top level example group1839 flags invalid feature category in nested context1840 flags invalid feature category in examples1841 does not flag if feature category is valid1842 suggests an alternative1843 valid_category: "dependency_scanning"1844 behaves like feature category validation1845 flags invalid feature category in top level example group1846 flags invalid feature category in nested context1847 flags invalid feature category in examples1848 does not flag if feature category is valid1849 suggests an alternative1850 valid_category: "deployment_management"1851 behaves like feature category validation1852 flags invalid feature category in top level example group1853 flags invalid feature category in nested context1854 flags invalid feature category in examples1855 does not flag if feature category is valid1856 suggests an alternative1857 valid_category: "design_management"1858 behaves like feature category validation1859 flags invalid feature category in top level example group1860 flags invalid feature category in nested context1861 flags invalid feature category in examples1862 does not flag if feature category is valid1863 suggests an alternative1864 valid_category: "design_system"1865 behaves like feature category validation1866 flags invalid feature category in top level example group1867 flags invalid feature category in nested context1868 flags invalid feature category in examples1869 does not flag if feature category is valid1870 suggests an alternative1871 valid_category: "devops_reports"1872 behaves like feature category validation1873 flags invalid feature category in top level example group1874 flags invalid feature category in nested context1875 flags invalid feature category in examples1876 does not flag if feature category is valid1877 suggests an alternative1878 valid_category: "disaster_recovery"1879 behaves like feature category validation1880 flags invalid feature category in top level example group1881 flags invalid feature category in nested context1882 flags invalid feature category in examples1883 does not flag if feature category is valid1884 suggests an alternative1885 valid_category: "dora_metrics"1886 behaves like feature category validation1887 flags invalid feature category in top level example group1888 flags invalid feature category in nested context1889 flags invalid feature category in examples1890 does not flag if feature category is valid1891 suggests an alternative1892 valid_category: "dynamic_application_security_testing"1893 behaves like feature category validation1894 flags invalid feature category in top level example group1895 flags invalid feature category in nested context1896 flags invalid feature category in examples1897 does not flag if feature category is valid1898 suggests an alternative1899 valid_category: "environment_management"1900 behaves like feature category validation1901 flags invalid feature category in top level example group1902 flags invalid feature category in nested context1903 flags invalid feature category in examples1904 does not flag if feature category is valid1905 suggests an alternative1906 valid_category: "error_budgets"1907 behaves like feature category validation1908 flags invalid feature category in top level example group1909 flags invalid feature category in nested context1910 flags invalid feature category in examples1911 does not flag if feature category is valid1912 suggests an alternative1913 valid_category: "error_tracking"1914 behaves like feature category validation1915 flags invalid feature category in top level example group1916 flags invalid feature category in nested context1917 flags invalid feature category in examples1918 does not flag if feature category is valid1919 suggests an alternative1920 valid_category: "experimentation_activation"1921 behaves like feature category validation1922 flags invalid feature category in top level example group1923 flags invalid feature category in nested context1924 flags invalid feature category in examples1925 does not flag if feature category is valid1926 suggests an alternative1927 valid_category: "experimentation_adoption"1928 behaves like feature category validation1929 flags invalid feature category in top level example group1930 flags invalid feature category in nested context1931 flags invalid feature category in examples1932 does not flag if feature category is valid1933 suggests an alternative1934 valid_category: "experimentation_conversion"1935 behaves like feature category validation1936 flags invalid feature category in top level example group1937 flags invalid feature category in nested context1938 flags invalid feature category in examples1939 does not flag if feature category is valid1940 suggests an alternative1941 valid_category: "experimentation_expansion"1942 behaves like feature category validation1943 flags invalid feature category in top level example group1944 flags invalid feature category in nested context1945 flags invalid feature category in examples1946 does not flag if feature category is valid1947 suggests an alternative1948 valid_category: "feature_flags"1949 behaves like feature category validation1950 flags invalid feature category in top level example group1951 flags invalid feature category in nested context1952 flags invalid feature category in examples1953 does not flag if feature category is valid1954 suggests an alternative1955 valid_category: "five_minute_production_app"1956 behaves like feature category validation1957 flags invalid feature category in top level example group1958 flags invalid feature category in nested context1959 flags invalid feature category in examples1960 does not flag if feature category is valid1961 suggests an alternative1962 valid_category: "fulfillment_admin_tooling"1963 behaves like feature category validation1964 flags invalid feature category in top level example group1965 flags invalid feature category in nested context1966 flags invalid feature category in examples1967 does not flag if feature category is valid1968 suggests an alternative1969 valid_category: "fulfillment_infrastructure"1970 behaves like feature category validation1971 flags invalid feature category in top level example group1972 flags invalid feature category in nested context1973 flags invalid feature category in examples1974 does not flag if feature category is valid1975 suggests an alternative1976 valid_category: "fuzz_testing"1977 behaves like feature category validation1978 flags invalid feature category in top level example group1979 flags invalid feature category in nested context1980 flags invalid feature category in examples1981 does not flag if feature category is valid1982 suggests an alternative1983 valid_category: "geo_replication"1984 behaves like feature category validation1985 flags invalid feature category in top level example group1986 flags invalid feature category in nested context1987 flags invalid feature category in examples1988 does not flag if feature category is valid1989 suggests an alternative1990 valid_category: "gitaly"1991 behaves like feature category validation1992 flags invalid feature category in top level example group1993 flags invalid feature category in nested context1994 flags invalid feature category in examples1995 does not flag if feature category is valid1996 suggests an alternative1997 valid_category: "gitlab_cli"1998 behaves like feature category validation1999 flags invalid feature category in top level example group2000 flags invalid feature category in nested context2001 flags invalid feature category in examples2002 does not flag if feature category is valid2003 suggests an alternative2004 valid_category: "gitlab_docs"2005 behaves like feature category validation2006 flags invalid feature category in top level example group2007 flags invalid feature category in nested context2008 flags invalid feature category in examples2009 does not flag if feature category is valid2010 suggests an alternative2011 valid_category: "global_search"2012 behaves like feature category validation2013 flags invalid feature category in top level example group2014 flags invalid feature category in nested context2015 flags invalid feature category in examples2016 does not flag if feature category is valid2017 suggests an alternative2018 valid_category: "helm_chart_registry"2019 behaves like feature category validation2020 flags invalid feature category in top level example group2021 flags invalid feature category in nested context2022 flags invalid feature category in examples2023 does not flag if feature category is valid2024 suggests an alternative2025 valid_category: "importers"2026 behaves like feature category validation2027 flags invalid feature category in top level example group2028 flags invalid feature category in nested context2029 flags invalid feature category in examples2030 does not flag if feature category is valid2031 suggests an alternative2032 valid_category: "incident_management"2033 behaves like feature category validation2034 flags invalid feature category in top level example group2035 flags invalid feature category in nested context2036 flags invalid feature category in examples2037 does not flag if feature category is valid2038 suggests an alternative2039 valid_category: "infrastructure_as_code"2040 behaves like feature category validation2041 flags invalid feature category in top level example group2042 flags invalid feature category in nested context2043 flags invalid feature category in examples2044 does not flag if feature category is valid2045 suggests an alternative2046 valid_category: "infrastructure_cost_data"2047 behaves like feature category validation2048 flags invalid feature category in top level example group2049 flags invalid feature category in nested context2050 flags invalid feature category in examples2051 does not flag if feature category is valid2052 suggests an alternative2053 valid_category: "insider_threat"2054 behaves like feature category validation2055 flags invalid feature category in top level example group2056 flags invalid feature category in nested context2057 flags invalid feature category in examples2058 does not flag if feature category is valid2059 suggests an alternative2060 valid_category: "instance_resiliency"2061 behaves like feature category validation2062 flags invalid feature category in top level example group2063 flags invalid feature category in nested context2064 flags invalid feature category in examples2065 does not flag if feature category is valid2066 suggests an alternative2067 valid_category: "integrations"2068 behaves like feature category validation2069 flags invalid feature category in top level example group2070 flags invalid feature category in nested context2071 flags invalid feature category in examples2072 does not flag if feature category is valid2073 suggests an alternative2074 valid_category: "intel_code_security"2075 behaves like feature category validation2076 flags invalid feature category in top level example group2077 flags invalid feature category in nested context2078 flags invalid feature category in examples2079 does not flag if feature category is valid2080 suggests an alternative2081 valid_category: "interactive_application_security_testing"2082 behaves like feature category validation2083 flags invalid feature category in top level example group2084 flags invalid feature category in nested context2085 flags invalid feature category in examples2086 does not flag if feature category is valid2087 suggests an alternative2088 valid_category: "internationalization"2089 behaves like feature category validation2090 flags invalid feature category in top level example group2091 flags invalid feature category in nested context2092 flags invalid feature category in examples2093 does not flag if feature category is valid2094 suggests an alternative2095 valid_category: "kubernetes_management"2096 behaves like feature category validation2097 flags invalid feature category in top level example group2098 flags invalid feature category in nested context2099 flags invalid feature category in examples2100 does not flag if feature category is valid2101 suggests an alternative2102 valid_category: "license_compliance"2103 behaves like feature category validation2104 flags invalid feature category in top level example group2105 flags invalid feature category in nested context2106 flags invalid feature category in examples2107 does not flag if feature category is valid2108 suggests an alternative2109 valid_category: "logging"2110 behaves like feature category validation2111 flags invalid feature category in top level example group2112 flags invalid feature category in nested context2113 flags invalid feature category in examples2114 does not flag if feature category is valid2115 suggests an alternative2116 valid_category: "merge_trains"2117 behaves like feature category validation2118 flags invalid feature category in top level example group2119 flags invalid feature category in nested context2120 flags invalid feature category in examples2121 does not flag if feature category is valid2122 suggests an alternative2123 valid_category: "metrics"2124 behaves like feature category validation2125 flags invalid feature category in top level example group2126 flags invalid feature category in nested context2127 flags invalid feature category in examples2128 does not flag if feature category is valid2129 suggests an alternative2130 valid_category: "mlops"2131 behaves like feature category validation2132 flags invalid feature category in top level example group2133 flags invalid feature category in nested context2134 flags invalid feature category in examples2135 does not flag if feature category is valid2136 suggests an alternative2137 valid_category: "mobile_devops"2138 behaves like feature category validation2139 flags invalid feature category in top level example group2140 flags invalid feature category in nested context2141 flags invalid feature category in examples2142 does not flag if feature category is valid2143 suggests an alternative2144 valid_category: "navigation"2145 behaves like feature category validation2146 flags invalid feature category in top level example group2147 flags invalid feature category in nested context2148 flags invalid feature category in examples2149 does not flag if feature category is valid2150 suggests an alternative2151 valid_category: "no_code_automation"2152 behaves like feature category validation2153 flags invalid feature category in top level example group2154 flags invalid feature category in nested context2155 flags invalid feature category in examples2156 does not flag if feature category is valid2157 suggests an alternative2158 valid_category: "omnibus_package"2159 behaves like feature category validation2160 flags invalid feature category in top level example group2161 flags invalid feature category in nested context2162 flags invalid feature category in examples2163 does not flag if feature category is valid2164 suggests an alternative2165 valid_category: "on_call_schedule_management"2166 behaves like feature category validation2167 flags invalid feature category in top level example group2168 flags invalid feature category in nested context2169 flags invalid feature category in examples2170 does not flag if feature category is valid2171 suggests an alternative2172 valid_category: "onboarding"2173 behaves like feature category validation2174 flags invalid feature category in top level example group2175 flags invalid feature category in nested context2176 flags invalid feature category in examples2177 does not flag if feature category is valid2178 suggests an alternative2179 valid_category: "package_registry"2180 behaves like feature category validation2181 flags invalid feature category in top level example group2182 flags invalid feature category in nested context2183 flags invalid feature category in examples2184 does not flag if feature category is valid2185 suggests an alternative2186 valid_category: "pages"2187 behaves like feature category validation2188 flags invalid feature category in top level example group2189 flags invalid feature category in nested context2190 flags invalid feature category in examples2191 does not flag if feature category is valid2192 suggests an alternative2193 valid_category: "pipeline_composition"2194 behaves like feature category validation2195 flags invalid feature category in top level example group2196 flags invalid feature category in nested context2197 flags invalid feature category in examples2198 does not flag if feature category is valid2199 suggests an alternative2200 valid_category: "planning_analytics"2201 behaves like feature category validation2202 flags invalid feature category in top level example group2203 flags invalid feature category in nested context2204 flags invalid feature category in examples2205 does not flag if feature category is valid2206 suggests an alternative2207 valid_category: "pods"2208 behaves like feature category validation2209 flags invalid feature category in top level example group2210 flags invalid feature category in nested context2211 flags invalid feature category in examples2212 does not flag if feature category is valid2213 suggests an alternative2214 valid_category: "portfolio_management"2215 behaves like feature category validation2216 flags invalid feature category in top level example group2217 flags invalid feature category in nested context2218 flags invalid feature category in examples2219 does not flag if feature category is valid2220 suggests an alternative2221 valid_category: "product_analytics"2222 behaves like feature category validation2223 flags invalid feature category in top level example group2224 flags invalid feature category in nested context2225 flags invalid feature category in examples2226 does not flag if feature category is valid2227 suggests an alternative2228 valid_category: "projects"2229 behaves like feature category validation2230 flags invalid feature category in top level example group2231 flags invalid feature category in nested context2232 flags invalid feature category in examples2233 does not flag if feature category is valid2234 suggests an alternative2235 valid_category: "pubsec_services"2236 behaves like feature category validation2237 flags invalid feature category in top level example group2238 flags invalid feature category in nested context2239 flags invalid feature category in examples2240 does not flag if feature category is valid2241 suggests an alternative2242 valid_category: "purchase"2243 behaves like feature category validation2244 flags invalid feature category in top level example group2245 flags invalid feature category in nested context2246 flags invalid feature category in examples2247 does not flag if feature category is valid2248 suggests an alternative2249 valid_category: "quality_management"2250 behaves like feature category validation2251 flags invalid feature category in top level example group2252 flags invalid feature category in nested context2253 flags invalid feature category in examples2254 does not flag if feature category is valid2255 suggests an alternative2256 valid_category: "rate_limiting"2257 behaves like feature category validation2258 flags invalid feature category in top level example group2259 flags invalid feature category in nested context2260 flags invalid feature category in examples2261 does not flag if feature category is valid2262 suggests an alternative2263 valid_category: "redis"2264 behaves like feature category validation2265 flags invalid feature category in top level example group2266 flags invalid feature category in nested context2267 flags invalid feature category in examples2268 does not flag if feature category is valid2269 suggests an alternative2270 valid_category: "release_evidence"2271 behaves like feature category validation2272 flags invalid feature category in top level example group2273 flags invalid feature category in nested context2274 flags invalid feature category in examples2275 does not flag if feature category is valid2276 suggests an alternative2277 valid_category: "release_orchestration"2278 behaves like feature category validation2279 flags invalid feature category in top level example group2280 flags invalid feature category in nested context2281 flags invalid feature category in examples2282 does not flag if feature category is valid2283 suggests an alternative2284 valid_category: "remote_development"2285 behaves like feature category validation2286 flags invalid feature category in top level example group2287 flags invalid feature category in nested context2288 flags invalid feature category in examples2289 does not flag if feature category is valid2290 suggests an alternative2291 valid_category: "requirements_management"2292 behaves like feature category validation2293 flags invalid feature category in top level example group2294 flags invalid feature category in nested context2295 flags invalid feature category in examples2296 does not flag if feature category is valid2297 suggests an alternative2298 valid_category: "review_apps"2299 behaves like feature category validation2300 flags invalid feature category in top level example group2301 flags invalid feature category in nested context2302 flags invalid feature category in examples2303 does not flag if feature category is valid2304 suggests an alternative2305 valid_category: "runbooks"2306 behaves like feature category validation2307 flags invalid feature category in top level example group2308 flags invalid feature category in nested context2309 flags invalid feature category in examples2310 does not flag if feature category is valid2311 suggests an alternative2312 valid_category: "runner"2313 behaves like feature category validation2314 flags invalid feature category in top level example group2315 flags invalid feature category in nested context2316 flags invalid feature category in examples2317 does not flag if feature category is valid2318 suggests an alternative2319 valid_category: "runner_fleet"2320 behaves like feature category validation2321 flags invalid feature category in top level example group2322 flags invalid feature category in nested context2323 flags invalid feature category in examples2324 does not flag if feature category is valid2325 suggests an alternative2326 valid_category: "runner_saas"2327 behaves like feature category validation2328 flags invalid feature category in top level example group2329 flags invalid feature category in nested context2330 flags invalid feature category in examples2331 does not flag if feature category is valid2332 suggests an alternative2333 valid_category: "saas_provisioning"2334 behaves like feature category validation2335 flags invalid feature category in top level example group2336 flags invalid feature category in nested context2337 flags invalid feature category in examples2338 does not flag if feature category is valid2339 suggests an alternative2340 valid_category: "sbom"2341 behaves like feature category validation2342 flags invalid feature category in top level example group2343 flags invalid feature category in nested context2344 flags invalid feature category in examples2345 does not flag if feature category is valid2346 suggests an alternative2347 valid_category: "scalability"2348 behaves like feature category validation2349 flags invalid feature category in top level example group2350 flags invalid feature category in nested context2351 flags invalid feature category in examples2352 does not flag if feature category is valid2353 suggests an alternative2354 valid_category: "secret_detection"2355 behaves like feature category validation2356 flags invalid feature category in top level example group2357 flags invalid feature category in nested context2358 flags invalid feature category in examples2359 does not flag if feature category is valid2360 suggests an alternative2361 valid_category: "secrets_management"2362 behaves like feature category validation2363 flags invalid feature category in top level example group2364 flags invalid feature category in nested context2365 flags invalid feature category in examples2366 does not flag if feature category is valid2367 suggests an alternative2368 valid_category: "security_benchmarking"2369 behaves like feature category validation2370 flags invalid feature category in top level example group2371 flags invalid feature category in nested context2372 flags invalid feature category in examples2373 does not flag if feature category is valid2374 suggests an alternative2375 valid_category: "security_policy_management"2376 behaves like feature category validation2377 flags invalid feature category in top level example group2378 flags invalid feature category in nested context2379 flags invalid feature category in examples2380 does not flag if feature category is valid2381 suggests an alternative2382 valid_category: "service_desk"2383 behaves like feature category validation2384 flags invalid feature category in top level example group2385 flags invalid feature category in nested context2386 flags invalid feature category in examples2387 does not flag if feature category is valid2388 suggests an alternative2389 valid_category: "service_ping"2390 behaves like feature category validation2391 flags invalid feature category in top level example group2392 flags invalid feature category in nested context2393 flags invalid feature category in examples2394 does not flag if feature category is valid2395 suggests an alternative2396 valid_category: "sm_provisioning"2397 behaves like feature category validation2398 flags invalid feature category in top level example group2399 flags invalid feature category in nested context2400 flags invalid feature category in examples2401 does not flag if feature category is valid2402 suggests an alternative2403 valid_category: "source_code_management"2404 behaves like feature category validation2405 flags invalid feature category in top level example group2406 flags invalid feature category in nested context2407 flags invalid feature category in examples2408 does not flag if feature category is valid2409 suggests an alternative2410 valid_category: "static_application_security_testing"2411 behaves like feature category validation2412 flags invalid feature category in top level example group2413 flags invalid feature category in nested context2414 flags invalid feature category in examples2415 does not flag if feature category is valid2416 suggests an alternative2417 valid_category: "subgroups"2418 behaves like feature category validation2419 flags invalid feature category in top level example group2420 flags invalid feature category in nested context2421 flags invalid feature category in examples2422 does not flag if feature category is valid2423 suggests an alternative2424 valid_category: "subscription_cost_management"2425 behaves like feature category validation2426 flags invalid feature category in top level example group2427 flags invalid feature category in nested context2428 flags invalid feature category in examples2429 does not flag if feature category is valid2430 suggests an alternative2431 valid_category: "subscription_management"2432 behaves like feature category validation2433 flags invalid feature category in top level example group2434 flags invalid feature category in nested context2435 flags invalid feature category in examples2436 does not flag if feature category is valid2437 suggests an alternative2438 valid_category: "system_access"2439 behaves like feature category validation2440 flags invalid feature category in top level example group2441 flags invalid feature category in nested context2442 flags invalid feature category in examples2443 does not flag if feature category is valid2444 suggests an alternative2445 valid_category: "team_planning"2446 behaves like feature category validation2447 flags invalid feature category in top level example group2448 flags invalid feature category in nested context2449 flags invalid feature category in examples2450 does not flag if feature category is valid2451 suggests an alternative2452 valid_category: "tracing"2453 behaves like feature category validation2454 flags invalid feature category in top level example group2455 flags invalid feature category in nested context2456 flags invalid feature category in examples2457 does not flag if feature category is valid2458 suggests an alternative2459 valid_category: "user_management"2460 behaves like feature category validation2461 flags invalid feature category in top level example group2462 flags invalid feature category in nested context2463 flags invalid feature category in examples2464 does not flag if feature category is valid2465 suggests an alternative2466 valid_category: "user_profile"2467 behaves like feature category validation2468 flags invalid feature category in top level example group2469 flags invalid feature category in nested context2470 flags invalid feature category in examples2471 does not flag if feature category is valid2472 suggests an alternative2473 valid_category: "value_stream_management"2474 behaves like feature category validation2475 flags invalid feature category in top level example group2476 flags invalid feature category in nested context2477 flags invalid feature category in examples2478 does not flag if feature category is valid2479 suggests an alternative2480 valid_category: "vulnerability_management"2481 behaves like feature category validation2482 flags invalid feature category in top level example group2483 flags invalid feature category in nested context2484 flags invalid feature category in examples2485 does not flag if feature category is valid2486 suggests an alternative2487 valid_category: "web_ide"2488 behaves like feature category validation2489 flags invalid feature category in top level example group2490 flags invalid feature category in nested context2491 flags invalid feature category in examples2492 does not flag if feature category is valid2493 suggests an alternative2494 valid_category: "webhooks"2495 behaves like feature category validation2496 flags invalid feature category in top level example group2497 flags invalid feature category in nested context2498 flags invalid feature category in examples2499 does not flag if feature category is valid2500 suggests an alternative2501 valid_category: "wiki"2502 behaves like feature category validation2503 flags invalid feature category in top level example group2504 flags invalid feature category in nested context2505 flags invalid feature category in examples2506 does not flag if feature category is valid2507 suggests an alternative2508 valid_category: "workflow_automation"2509 behaves like feature category validation2510 flags invalid feature category in top level example group2511 flags invalid feature category in nested context2512 flags invalid feature category in examples2513 does not flag if feature category is valid2514 suggests an alternative2515Groups::DestroyService2516 asynchronous delete2517 behaves like group destruction2518 database records2519 is expected not to include #<Group id:1091 @group130>2520 is expected not to include #<Group id:1098 @group132/group133>2521 is expected not to include #<Project id:142 group134/project142>>2522 is expected not to include #<NotificationSetting id: 913, user_id: 833, source_id: 1109, source_type: "Namespace", level: "globa...: nil, moved_project: true, change_reviewer_merge_request: nil, merge_when_pipeline_succeeds: false>2523 bot tokens2524 initiates group bot removal2525 mattermost team2526 destroys the team too2527 file system2528 Sidekiq inline2529 verifies that paths have been deleted2530 event store2531 publishes a GroupDeletedEvent2532 Sidekiq fake2533 verifies original paths and projects still exist2534 synchronous delete2535 behaves like group destruction2536 database records2537 is expected not to include #<Group id:1146 @group148>2538 is expected not to include #<Group id:1153 @group150/group151>2539 is expected not to include #<Project id:151 group152/project151>>2540 is expected not to include #<NotificationSetting id: 941, user_id: 861, source_id: 1164, source_type: "Namespace", level: "globa...: nil, moved_project: true, change_reviewer_merge_request: nil, merge_when_pipeline_succeeds: false>2541 bot tokens2542 initiates group bot removal2543 mattermost team2544 destroys the team too2545 file system2546 Sidekiq inline2547 verifies that paths have been deleted2548 event store2549 publishes a GroupDeletedEvent2550 projects in pending_delete2551 behaves like group destruction2552 database records2553 is expected not to include #<Group id:1195 @group164>2554 is expected not to include #<Group id:1202 @group166/group167>2555 is expected not to include #<Project id:159 group168/project159>>2556 is expected not to include #<NotificationSetting id: 966, user_id: 886, source_id: 1213, source_type: "Namespace", level: "globa...: nil, moved_project: true, change_reviewer_merge_request: nil, merge_when_pipeline_succeeds: false>2557 bot tokens2558 initiates group bot removal2559 mattermost team2560 destroys the team too2561 file system2562 Sidekiq inline2563 verifies that paths have been deleted2564 event store2565 publishes a GroupDeletedEvent2566 repository removal status is taken into account2567 raises exception2568 when group owner is blocked2569 returns a more descriptive error message2570 repository removal2571 legacy storage2572 removes repository2573 hashed storage2574 removes repository2575 authorization updates2576 for solo groups2577 group is deleted2578 updates project authorization2579 does not make use of a specific service to update project_authorizations records2580 for shared groups within different hierarchies2581 when a project is shared with a group2582 and the shared group is deleted2583 updates project authorizations so group2 users no longer have access2584 calls the service to update project authorizations only with necessary user ids2585 and the group is shared with another group2586 updates project authorizations so group2 and group3 users no longer have access2587 calls the service to update project authorizations only with necessary user ids2588 when a group is shared with a group2589 and the shared group is deleted2590 updates project authorizations since the project has been deleted with the group2591 does not call the service to update project authorizations2592 the shared_with group is deleted2593 updates project authorizations so users of both groups lose access2594 calls the service to update project authorizations only with necessary user ids2595 for shared groups in the same group hierarchy2596 the shared group is deleted2597 updates project authorization2598 does not make use of a specific service to update project authorizations2599 the shared_with group is deleted2600 updates project authorization2601 makes use of a specific service to update project authorizations2602Boards::Lists::MoveService2603 #execute2604 when board parent is a project2605 behaves like lists move service2606 with complete position sequence2607 behaves like correct movement behavior2608 keeps position of lists when list type is closed2609 when list type is set to label2610 does not reorder lists when new position is nil2611 does not reorder lists when new position is equal to old position2612 does not reorder lists when new position is negative2613 does not reorder lists when new position is bigger then last position2614 moves the list to the first position when new position is equal to first position2615 moves the list to the last position when new position is equal to last position2616 moves the list to the correct position when new position is greater than old position (third list)2617 moves the list to the correct position when new position is lower than old position (second list)2618 with corrupted position sequence2619 behaves like correct movement behavior2620 keeps position of lists when list type is closed2621 when list type is set to label2622 does not reorder lists when new position is nil2623 does not reorder lists when new position is equal to old position2624 does not reorder lists when new position is negative2625 does not reorder lists when new position is bigger then last position2626 moves the list to the first position when new position is equal to first position2627 moves the list to the last position when new position is equal to last position2628 moves the list to the correct position when new position is greater than old position (third list)2629 moves the list to the correct position when new position is lower than old position (second list)2630 when board parent is a group2631 behaves like lists move service2632 with complete position sequence2633 behaves like correct movement behavior2634 keeps position of lists when list type is closed2635 when list type is set to label2636 does not reorder lists when new position is nil2637 does not reorder lists when new position is equal to old position2638 does not reorder lists when new position is negative2639 does not reorder lists when new position is bigger then last position2640 moves the list to the first position when new position is equal to first position2641 moves the list to the last position when new position is equal to last position2642 moves the list to the correct position when new position is greater than old position (third list)2643 moves the list to the correct position when new position is lower than old position (second list)2644 with corrupted position sequence2645 behaves like correct movement behavior2646 keeps position of lists when list type is closed2647 when list type is set to label2648 does not reorder lists when new position is nil2649 does not reorder lists when new position is equal to old position2650 does not reorder lists when new position is negative2651 does not reorder lists when new position is bigger then last position2652 moves the list to the first position when new position is equal to first position2653 moves the list to the last position when new position is equal to last position2654 moves the list to the correct position when new position is greater than old position (third list)2655 moves the list to the correct position when new position is lower than old position (second list)2656Operations::FeatureFlags::Strategy2657 validations2658 is expected to validate that :name is either ‹"default"›, ‹"gradualRolloutUserId"›, ‹"flexibleRollout"›, ‹"userWithId"›, or ‹"gitlabUserList"›, producing a custom validation error on failure2659 parameters2660 when the strategy name is invalid2661 invalid_name: nil2662 skips parameters validation2663 invalid_name: {}2664 skips parameters validation2665 invalid_name: []2666 skips parameters validation2667 invalid_name: "nothing"2668 skips parameters validation2669 invalid_name: 32670 skips parameters validation2671 when the strategy name is gradualRolloutUserId2672 allows the parameters in any order2673 invalid_parameters: nil2674 must have valid parameters for the strategy2675 invalid_parameters: {}2676 must have valid parameters for the strategy2677 invalid_parameters: {:percentage=>"40", :groupId=>"mygroup", :userIds=>"4"}2678 must have valid parameters for the strategy2679 invalid_parameters: {:percentage=>"40"}2680 must have valid parameters for the strategy2681 invalid_parameters: {:percentage=>"40", :groupId=>"mygroup", :extra=>nil}2682 must have valid parameters for the strategy2683 invalid_parameters: {:groupId=>"mygroup"}2684 must have valid parameters for the strategy2685 percentage2686 invalid_value: 502687 must be a string value between 0 and 100 inclusive and without a percentage sign2688 invalid_value: 40.02689 must be a string value between 0 and 100 inclusive and without a percentage sign2690 invalid_value: {:key=>"value"}2691 must be a string value between 0 and 100 inclusive and without a percentage sign2692 invalid_value: "garbage"2693 must be a string value between 0 and 100 inclusive and without a percentage sign2694 invalid_value: "101"2695 must be a string value between 0 and 100 inclusive and without a percentage sign2696 invalid_value: "-1"2697 must be a string value between 0 and 100 inclusive and without a percentage sign2698 invalid_value: "-10"2699 must be a string value between 0 and 100 inclusive and without a percentage sign2700 invalid_value: "1000"2701 must be a string value between 0 and 100 inclusive and without a percentage sign2702 invalid_value: "10.0"2703 must be a string value between 0 and 100 inclusive and without a percentage sign2704 invalid_value: "5%"2705 must be a string value between 0 and 100 inclusive and without a percentage sign2706 invalid_value: "25%"2707 must be a string value between 0 and 100 inclusive and without a percentage sign2708 invalid_value: "100hi"2709 must be a string value between 0 and 100 inclusive and without a percentage sign2710 invalid_value: "e100"2711 must be a string value between 0 and 100 inclusive and without a percentage sign2712 invalid_value: "30m"2713 must be a string value between 0 and 100 inclusive and without a percentage sign2714 invalid_value: " "2715 must be a string value between 0 and 100 inclusive and without a percentage sign2716 invalid_value: "\r\n"2717 must be a string value between 0 and 100 inclusive and without a percentage sign2718 invalid_value: "\n"2719 must be a string value between 0 and 100 inclusive and without a percentage sign2720 invalid_value: "\t"2721 must be a string value between 0 and 100 inclusive and without a percentage sign2722 invalid_value: "\n10"2723 must be a string value between 0 and 100 inclusive and without a percentage sign2724 invalid_value: "20\n"2725 must be a string value between 0 and 100 inclusive and without a percentage sign2726 invalid_value: "\n100"2727 must be a string value between 0 and 100 inclusive and without a percentage sign2728 invalid_value: "100\n"2729 must be a string value between 0 and 100 inclusive and without a percentage sign2730 invalid_value: "\n "2731 must be a string value between 0 and 100 inclusive and without a percentage sign2732 invalid_value: nil2733 must be a string value between 0 and 100 inclusive and without a percentage sign2734 valid_value: "0"2735 must be a string value between 0 and 100 inclusive and without a percentage sign2736 valid_value: "1"2737 must be a string value between 0 and 100 inclusive and without a percentage sign2738 valid_value: "10"2739 must be a string value between 0 and 100 inclusive and without a percentage sign2740 valid_value: "38"2741 must be a string value between 0 and 100 inclusive and without a percentage sign2742 valid_value: "100"2743 must be a string value between 0 and 100 inclusive and without a percentage sign2744 valid_value: "93"2745 must be a string value between 0 and 100 inclusive and without a percentage sign2746 groupId2747 invalid_value: nil2748 must be a string value of up to 32 lowercase characters2749 invalid_value: 42750 must be a string value of up to 32 lowercase characters2751 invalid_value: 50.02752 must be a string value of up to 32 lowercase characters2753 invalid_value: {}2754 must be a string value of up to 32 lowercase characters2755 invalid_value: "spaces bad"2756 must be a string value of up to 32 lowercase characters2757 invalid_value: "bad$"2758 must be a string value of up to 32 lowercase characters2759 invalid_value: "%bad"2760 must be a string value of up to 32 lowercase characters2761 invalid_value: "<bad"2762 must be a string value of up to 32 lowercase characters2763 invalid_value: "bad>"2764 must be a string value of up to 32 lowercase characters2765 invalid_value: "!bad"2766 must be a string value of up to 32 lowercase characters2767 invalid_value: ".bad"2768 must be a string value of up to 32 lowercase characters2769 invalid_value: "Bad"2770 must be a string value of up to 32 lowercase characters2771 invalid_value: "bad1"2772 must be a string value of up to 32 lowercase characters2773 invalid_value: ""2774 must be a string value of up to 32 lowercase characters2775 invalid_value: " "2776 must be a string value of up to 32 lowercase characters2777 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"2778 must be a string value of up to 32 lowercase characters2779 invalid_value: "ba_d"2780 must be a string value of up to 32 lowercase characters2781 invalid_value: "ba\nd"2782 must be a string value of up to 32 lowercase characters2783 valid_value: "somegroup"2784 must be a string value of up to 32 lowercase characters2785 valid_value: "anothergroup"2786 must be a string value of up to 32 lowercase characters2787 valid_value: "okay"2788 must be a string value of up to 32 lowercase characters2789 valid_value: "g"2790 must be a string value of up to 32 lowercase characters2791 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"2792 must be a string value of up to 32 lowercase characters2793 when the strategy name is flexibleRollout2794 allows the parameters in the order rollout, stickiness, groupId2795 allows the parameters in the order rollout, groupId, stickiness2796 allows the parameters in the order stickiness, rollout, groupId2797 allows the parameters in the order stickiness, groupId, rollout2798 allows the parameters in the order groupId, rollout, stickiness2799 allows the parameters in the order groupId, stickiness, rollout2800 invalid_parameters: nil2801 must have valid parameters for the strategy2802 invalid_parameters: {}2803 must have valid parameters for the strategy2804 invalid_parameters: {:rollout=>"40"}2805 must have valid parameters for the strategy2806 invalid_parameters: {:groupId=>"mygroup"}2807 must have valid parameters for the strategy2808 invalid_parameters: {:stickiness=>"default"}2809 must have valid parameters for the strategy2810 invalid_parameters: {:rollout=>"40", :groupId=>"mygroup"}2811 must have valid parameters for the strategy2812 invalid_parameters: {:rollout=>"40", :stickiness=>"default"}2813 must have valid parameters for the strategy2814 invalid_parameters: {:groupId=>"mygroup", :stickiness=>"default"}2815 must have valid parameters for the strategy2816 invalid_parameters: {:rollout=>"40", :groupId=>"mygroup", :stickiness=>"default", :userIds=>"4"}2817 must have valid parameters for the strategy2818 invalid_parameters: {:rollout=>"40", :groupId=>"mygroup", :stickiness=>"default", :extra=>nil}2819 must have valid parameters for the strategy2820 rollout2821 invalid_value: 502822 must be a string value between 0 and 100 inclusive and without a percentage sign2823 invalid_value: 40.02824 must be a string value between 0 and 100 inclusive and without a percentage sign2825 invalid_value: {:key=>"value"}2826 must be a string value between 0 and 100 inclusive and without a percentage sign2827 invalid_value: "garbage"2828 must be a string value between 0 and 100 inclusive and without a percentage sign2829 invalid_value: "101"2830 must be a string value between 0 and 100 inclusive and without a percentage sign2831 invalid_value: "-1"2832 must be a string value between 0 and 100 inclusive and without a percentage sign2833 invalid_value: " "2834 must be a string value between 0 and 100 inclusive and without a percentage sign2835 invalid_value: "-10"2836 must be a string value between 0 and 100 inclusive and without a percentage sign2837 invalid_value: "1000"2838 must be a string value between 0 and 100 inclusive and without a percentage sign2839 invalid_value: "10.0"2840 must be a string value between 0 and 100 inclusive and without a percentage sign2841 invalid_value: "5%"2842 must be a string value between 0 and 100 inclusive and without a percentage sign2843 invalid_value: "25%"2844 must be a string value between 0 and 100 inclusive and without a percentage sign2845 invalid_value: "100hi"2846 must be a string value between 0 and 100 inclusive and without a percentage sign2847 invalid_value: "e100"2848 must be a string value between 0 and 100 inclusive and without a percentage sign2849 invalid_value: "30m"2850 must be a string value between 0 and 100 inclusive and without a percentage sign2851 invalid_value: "\r\n"2852 must be a string value between 0 and 100 inclusive and without a percentage sign2853 invalid_value: "\n"2854 must be a string value between 0 and 100 inclusive and without a percentage sign2855 invalid_value: "\t"2856 must be a string value between 0 and 100 inclusive and without a percentage sign2857 invalid_value: "\n10"2858 must be a string value between 0 and 100 inclusive and without a percentage sign2859 invalid_value: "20\n"2860 must be a string value between 0 and 100 inclusive and without a percentage sign2861 invalid_value: "\n100"2862 must be a string value between 0 and 100 inclusive and without a percentage sign2863 invalid_value: "100\n"2864 must be a string value between 0 and 100 inclusive and without a percentage sign2865 invalid_value: "\n "2866 must be a string value between 0 and 100 inclusive and without a percentage sign2867 invalid_value: nil2868 must be a string value between 0 and 100 inclusive and without a percentage sign2869 valid_value: "0"2870 must be a string value between 0 and 100 inclusive and without a percentage sign2871 valid_value: "1"2872 must be a string value between 0 and 100 inclusive and without a percentage sign2873 valid_value: "10"2874 must be a string value between 0 and 100 inclusive and without a percentage sign2875 valid_value: "38"2876 must be a string value between 0 and 100 inclusive and without a percentage sign2877 valid_value: "100"2878 must be a string value between 0 and 100 inclusive and without a percentage sign2879 valid_value: "93"2880 must be a string value between 0 and 100 inclusive and without a percentage sign2881 groupId2882 invalid_value: nil2883 must be a string value of up to 32 lowercase characters2884 invalid_value: 42885 must be a string value of up to 32 lowercase characters2886 invalid_value: 50.02887 must be a string value of up to 32 lowercase characters2888 invalid_value: {}2889 must be a string value of up to 32 lowercase characters2890 invalid_value: "spaces bad"2891 must be a string value of up to 32 lowercase characters2892 invalid_value: "bad$"2893 must be a string value of up to 32 lowercase characters2894 invalid_value: "%bad"2895 must be a string value of up to 32 lowercase characters2896 invalid_value: "<bad"2897 must be a string value of up to 32 lowercase characters2898 invalid_value: "bad>"2899 must be a string value of up to 32 lowercase characters2900 invalid_value: "!bad"2901 must be a string value of up to 32 lowercase characters2902 invalid_value: ".bad"2903 must be a string value of up to 32 lowercase characters2904 invalid_value: "Bad"2905 must be a string value of up to 32 lowercase characters2906 invalid_value: "bad1"2907 must be a string value of up to 32 lowercase characters2908 invalid_value: ""2909 must be a string value of up to 32 lowercase characters2910 invalid_value: " "2911 must be a string value of up to 32 lowercase characters2912 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"2913 must be a string value of up to 32 lowercase characters2914 invalid_value: "ba_d"2915 must be a string value of up to 32 lowercase characters2916 invalid_value: "ba\nd"2917 must be a string value of up to 32 lowercase characters2918 valid_value: "somegroup"2919 must be a string value of up to 32 lowercase characters2920 valid_value: "anothergroup"2921 must be a string value of up to 32 lowercase characters2922 valid_value: "okay"2923 must be a string value of up to 32 lowercase characters2924 valid_value: "g"2925 must be a string value of up to 32 lowercase characters2926 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"2927 must be a string value of up to 32 lowercase characters2928 stickiness2929 invalid_value: nil2930 must be a string representing a supported stickiness setting2931 invalid_value: " "2932 must be a string representing a supported stickiness setting2933 invalid_value: "DEFAULT"2934 must be a string representing a supported stickiness setting2935 invalid_value: "DEFAULT\n"2936 must be a string representing a supported stickiness setting2937 invalid_value: "UserId"2938 must be a string representing a supported stickiness setting2939 invalid_value: "USER"2940 must be a string representing a supported stickiness setting2941 invalid_value: "USERID "2942 must be a string representing a supported stickiness setting2943 valid_value: "default"2944 must be a string representing a supported stickiness setting2945 valid_value: "userId"2946 must be a string representing a supported stickiness setting2947 valid_value: "sessionId"2948 must be a string representing a supported stickiness setting2949 valid_value: "random"2950 must be a string representing a supported stickiness setting2951 when the strategy name is userWithId2952 invalid_parameters: nil2953 must have valid parameters for the strategy2954 invalid_parameters: {:userIds=>"sam", :percentage=>"40"}2955 must have valid parameters for the strategy2956 invalid_parameters: {:userIds=>"sam", :some=>"param"}2957 must have valid parameters for the strategy2958 invalid_parameters: {:percentage=>"40"}2959 must have valid parameters for the strategy2960 invalid_parameters: {}2961 must have valid parameters for the strategy2962 userIds2963 valid_value: ""2964 is valid with a string of comma separated values2965 valid_value: "sam"2966 is valid with a string of comma separated values2967 valid_value: "1"2968 is valid with a string of comma separated values2969 valid_value: "a"2970 is valid with a string of comma separated values2971 valid_value: "uuid-of-some-kind"2972 is valid with a string of comma separated values2973 valid_value: "sam,fred,tom,jane,joe,mike"2974 is valid with a string of comma separated values2975 valid_value: "gitlab@example.com"2976 is valid with a string of comma separated values2977 valid_value: "123,4"2978 is valid with a string of comma separated values2979 valid_value: "UPPER,Case,charActeRS"2980 is valid with a string of comma separated values2981 valid_value: "0"2982 is valid with a string of comma separated values2983 valid_value: "$valid$email#2345\#$%..{}+=-)?\\/@example.com"2984 is valid with a string of comma separated values2985 valid_value: "spaces allowed"2986 is valid with a string of comma separated values2987 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"2988 is valid with a string of comma separated values2989 valid_value: "a,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,ccc"2990 is valid with a string of comma separated values2991 valid_value: "many spaces"2992 is valid with a string of comma separated values2993 invalid_value: 12994 is invalid2995 invalid_value: 2.52996 is invalid2997 invalid_value: {}2998 is invalid2999 invalid_value: []3000 is invalid3001 invalid_value: nil3002 is invalid3003 invalid_value: "123\n456"3004 is invalid3005 invalid_value: "1,2,3,12\t3"3006 is invalid3007 invalid_value: "\n"3008 is invalid3009 invalid_value: "\n\r"3010 is invalid3011 invalid_value: "joe\r,sam"3012 is invalid3013 invalid_value: "1,2,2"3014 is invalid3015 invalid_value: "1,,2"3016 is invalid3017 invalid_value: "1,2,,,,"3018 is invalid3019 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"3020 is invalid3021 invalid_value: "1, ,2"3022 is invalid3023 invalid_value: "tim, ,7"3024 is invalid3025 invalid_value: " "3026 is invalid3027 invalid_value: " "3028 is invalid3029 invalid_value: " ,1"3030 is invalid3031 invalid_value: "1, "3032 is invalid3033 invalid_value: " leading,1"3034 is invalid3035 invalid_value: "1,trailing "3036 is invalid3037 invalid_value: "1, both ,2"3038 is invalid3039 when the strategy name is default3040 must be empty3041 invalid_value: {:groupId=>"hi", :percentage=>"7"}3042 must be empty3043 invalid_value: ""3044 must be empty3045 invalid_value: "nothing"3046 must be empty3047 invalid_value: 73048 must be empty3049 invalid_value: nil3050 must be empty3051 invalid_value: []3052 must be empty3053 invalid_value: 2.53054 must be empty3055 when the strategy name is gitlabUserList3056 is valid3057 invalid_value: {:groupId=>"default", :percentage=>"7"}3058 is invalid3059 invalid_value: ""3060 is invalid3061 invalid_value: "nothing"3062 is invalid3063 invalid_value: 73064 is invalid3065 invalid_value: nil3066 is invalid3067 invalid_value: []3068 is invalid3069 invalid_value: 2.53070 is invalid3071 invalid_value: {:userIds=>"user1"}3072 is invalid3073 associations3074 when name is gitlabUserList3075 is valid when associated with a user list3076 is invalid without a user list3077 is invalid when associated with a user list from another project3078 when name is default3079 is invalid when associated with a user list3080 is valid without a user list3081 when name is userWithId3082 is invalid when associated with a user list3083 is valid without a user list3084 when name is gradualRolloutUserId3085 is invalid when associated with a user list3086 is valid without a user list3087 when name is flexibleRollout3088 is invalid when associated with a user list3089 is valid without a user list3090SearchHelper3091 search_autocomplete_opts3092 with no current user3093 returns nil3094 with a standard user3095 includes Help sections3096 includes default sections3097 does not include admin sections3098 does not allow regular expression in search term3099 includes the user's groups3100 includes nested group3101 includes the user's projects3102 includes the required project attrs3103 includes the required group attrs3104 includes the users recently viewed issues and project with correct order3105 includes the users recently viewed issues with the exact same name3106 includes the users recently viewed merge requests3107 does not include the public group3108 for users3109 makes a call to SearchService3110 returns users matching the term3111 when current_user cannot read_users_list3112 returns an empty array3113 with limiting3114 only returns the first 5 users3115 with a current project3116 returns repository related labels based on users abilities3117 when user does not have access to project3118 does not include issues by iid3119 when user has project access3120 includes issues by iid3121 with an admin user3122 when admin mode setting is disabled3123 includes admin sections3124 when admin mode setting is enabled3125 when in admin mode3126 includes admin sections3127 when not in admin mode3128 does not include admin sections3129 projects_autocomplete3130 when the user does not have access to projects3131 does not return any results3132 when the user has access to one project3133 returns the project3134 when a project namespace matches the search term but the project does not3135 returns all projects matching the term3136 search_entries_info3137 raises an error for unrecognized scopes3138 scope: "blobs", label: "code result"3139 uses the correct singular label3140 uses the correct plural label3141 scope: "commits", label: "commit"3142 uses the correct singular label3143 uses the correct plural label3144 scope: "issues", label: "issue"3145 uses the correct singular label3146 uses the correct plural label3147 scope: "merge_requests", label: "merge request"3148 uses the correct singular label3149 uses the correct plural label3150 scope: "milestones", label: "milestone"3151 uses the correct singular label3152 uses the correct plural label3153 scope: "notes", label: "comment"3154 uses the correct singular label3155 uses the correct plural label3156 scope: "projects", label: "project"3157 uses the correct singular label3158 uses the correct plural label3159 scope: "snippet_titles", label: "snippet"3160 uses the correct singular label3161 uses the correct plural label3162 scope: "users", label: "user"3163 uses the correct singular label3164 uses the correct plural label3165 scope: "wiki_blobs", label: "wiki result"3166 uses the correct singular label3167 uses the correct plural label3168 search_entries_empty_message3169 global search3170 returns the formatted entry message3171 group search3172 returns the formatted entry message3173 project search3174 returns the formatted entry message3175 search_filter_input_options3176 project3177 includes id with type3178 includes project-id3179 includes project endpoints3180 includes autocomplete=off flag3181 group3182 does not includes project-id3183 includes group endpoints3184 dashboard3185 does not include group-id and project-id3186 includes dashboard endpoints3187 search_history_storage_prefix3188 project3189 returns project full_path3190 group3191 returns group full_path3192 dashboard3193 returns dashboard3194 search_md_sanitize3195 does not do extra sql queries for partial markdown rendering3196 search_filter_link3197 renders a search filter link for the current scope3198 renders a search filter link for another scope3199 merges in the current search params and given params3200 restricts the params3201 assigns given data attributes on the list container3202 #show_user_search_tab?3203 when project search3204 delegates to project_search_tabs?3205 when group search3206 when current_user can read_users_list3207 is expected to eq true3208 when current_user cannot read_users_list3209 is expected to eq false3210 when global search3211 when current_user can read_users_list3212 is expected to eq true3213 when global_search_user_tab feature flag is disabled3214 is expected to eq false3215 when current_user cannot read_users_list3216 is expected to eq false3217 #repository_ref3218 project_id: 123, ref: "ref-param", expected_ref: "ref-param"3219 returns expected_ref3220 project_id: 123, ref: nil, expected_ref: default_branch3221 returns expected_ref3222 project_id: 123, ref: 111111, expected_ref: "111111"3223 returns expected_ref3224 project_id: nil, ref: "ref-param", expected_ref: default_branch3225 returns expected_ref3226 #highlight_and_truncate_issuable3227 when description is not present3228 does nothing3229 when description present3230 description: "test", expected: "<span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span>"3231 sanitizes, truncates, and highlights the search term3232 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"3233 sanitizes, truncates, and highlights the search term3234 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>"3235 sanitizes, truncates, and highlights the search term3236 description: "<script type=\"text/javascript\">alert('Another XSS');</script> test", expected: " <span class=\"gl-text-gray-900 gl-font-weight-bold\">test</span>"3237 sanitizes, truncates, and highlights the search term3238 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..."3239 sanitizes, truncates, and highlights the search term3240 description: "<img src=\"https://random.foo.com/test.png\" width=\"128\" height=\"128\" />some image", expected: "some image"3241 sanitizes, truncates, and highlights the search term3242 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>:"3243 sanitizes, truncates, and highlights the search term3244 #search_service3245 confidential: "0", expected: false3246 transforms confidentiality param3247 confidential: "1", expected: true3248 transforms confidentiality param3249 confidential: "yes", expected: true3250 transforms confidentiality param3251 confidential: "no", expected: false3252 transforms confidentiality param3253 confidential: true, expected: true3254 transforms confidentiality param3255 confidential: false, expected: false3256 transforms confidentiality param3257 #issuable_state_to_badge_class3258 with merge request3259 returns correct badge based on status3260 with an issue3261 returns correct badge based on status3262 #issuable_state_text3263 with merge request3264 returns correct badge based on status3265 with an issue3266 returns correct badge based on status3267 #search_sort_options3268 returns the correct data3269 #header_search_context3270 no group or project data3271 does not add :group, :group_metadata, or :scope to hash3272 does not add :project, :project_metadata, :code_search, or :ref3273 group data3274 adds the :group, :group_metadata, and :scope correctly to hash3275 does not add :project, :project_metadata, :code_search, or :ref3276 project data3277 adds the :group and :group-metadata from the project correctly to hash3278 adds the :project and :project-metadata correctly to hash3279 feature issues is not available3280 adds the :project and :project-metadata correctly to hash3281 with scope3282 adds :scope and false :code_search to hash3283 without scope3284 adds code_search true to hash and not :scope3285 ref data3286 when user can? download project data3287 adds the :ref correctly to hash3288 when user cannot download project data3289 does not add the :ref to hash3290 snippet3291 when searching from snippets3292 adds :for_snippets true correctly to hash3293 when not searching from snippets3294 adds :for_snippets nil correctly to hash3295 .search_navigation3296 projects3297 global_project: nil, condition: true3298 data item condition is set correctly3299 global_project: project, condition: false3300 data item condition is set correctly3301 code3302 feature_flag_tab_enabled: false, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: false, condition: false3303 data item condition is set correctly3304 feature_flag_tab_enabled: true, show_elasticsearch_tabs: true, global_project: nil, project_search_tabs: true, condition: true3305 data item condition is set correctly3306 feature_flag_tab_enabled: true, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: false, condition: false3307 data item condition is set correctly3308 feature_flag_tab_enabled: false, show_elasticsearch_tabs: true, global_project: nil, project_search_tabs: false, condition: false3309 data item condition is set correctly3310 feature_flag_tab_enabled: false, show_elasticsearch_tabs: false, global_project: project, project_search_tabs: true, condition: true3311 data item condition is set correctly3312 feature_flag_tab_enabled: true, show_elasticsearch_tabs: false, global_project: project, project_search_tabs: false, condition: false3313 data item condition is set correctly3314 issues3315 project_search_tabs: false, global_search_issues_tab: false, condition: false3316 data item condition is set correctly3317 project_search_tabs: false, global_search_issues_tab: true, condition: true3318 data item condition is set correctly3319 project_search_tabs: true, global_search_issues_tab: false, condition: true3320 data item condition is set correctly3321 project_search_tabs: true, global_search_issues_tab: true, condition: true3322 data item condition is set correctly3323 merge requests3324 project_search_tabs: false, feature_flag_tab_enabled: false, condition: false3325 data item condition is set correctly3326 project_search_tabs: true, feature_flag_tab_enabled: false, condition: true3327 data item condition is set correctly3328 project_search_tabs: false, feature_flag_tab_enabled: true, condition: true3329 data item condition is set correctly3330 project_search_tabs: true, feature_flag_tab_enabled: true, condition: true3331 data item condition is set correctly3332 wiki3333 global_search_wiki_tab: false, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: true, condition: true3334 data item condition is set correctly3335 global_search_wiki_tab: false, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: false, condition: false3336 data item condition is set correctly3337 global_search_wiki_tab: false, show_elasticsearch_tabs: true, global_project: nil, project_search_tabs: false, condition: false3338 data item condition is set correctly3339 global_search_wiki_tab: true, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: false, condition: false3340 data item condition is set correctly3341 global_search_wiki_tab: true, show_elasticsearch_tabs: true, global_project: project, project_search_tabs: false, condition: false3342 data item condition is set correctly3343 commits3344 global_search_commits_tab: false, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: true, condition: true3345 data item condition is set correctly3346 global_search_commits_tab: false, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: false, condition: false3347 data item condition is set correctly3348 global_search_commits_tab: false, show_elasticsearch_tabs: true, global_project: nil, project_search_tabs: false, condition: false3349 data item condition is set correctly3350 global_search_commits_tab: true, show_elasticsearch_tabs: false, global_project: nil, project_search_tabs: false, condition: false3351 data item condition is set correctly3352 global_search_commits_tab: true, show_elasticsearch_tabs: true, global_project: project, project_search_tabs: false, condition: false3353 data item condition is set correctly3354 global_search_commits_tab: true, show_elasticsearch_tabs: true, global_project: nil, project_search_tabs: false, condition: true3355 data item condition is set correctly3356 comments3357 project_search_tabs: true, show_elasticsearch_tabs: true, condition: true3358 data item condition is set correctly3359 project_search_tabs: false, show_elasticsearch_tabs: false, condition: false3360 data item condition is set correctly3361 project_search_tabs: false, show_elasticsearch_tabs: true, condition: true3362 data item condition is set correctly3363 project_search_tabs: true, show_elasticsearch_tabs: false, condition: true3364 data item condition is set correctly3365 milestones3366 global_project: project, project_search_tabs: true, condition: true3367 data item condition is set correctly3368 global_project: nil, project_search_tabs: false, condition: true3369 data item condition is set correctly3370 global_project: project, project_search_tabs: false, condition: false3371 data item condition is set correctly3372 global_project: nil, project_search_tabs: true, condition: true3373 data item condition is set correctly3374 users3375 show_user_search_tab: true, condition: true3376 data item condition is set correctly3377 show_user_search_tab: false, condition: false3378 data item condition is set correctly3379 snippet_titles3380 global_project: project, global_show_snippets: true, condition: false3381 data item condition is set correctly3382 global_project: nil, global_show_snippets: false, condition: false3383 data item condition is set correctly3384 global_project: project, global_show_snippets: false, condition: false3385 data item condition is set correctly3386 global_project: nil, global_show_snippets: true, condition: true3387 data item condition is set correctly3388 .search_navigation_json3389 with data3390 data: {:projects=>{:label=>"Projects", :condition=>true}, :blobs=>{:label=>"Code", :condition=>false}}, matcher: -> { include("projects") }3391 renders data correctly3392 data: {:projects=>{:label=>"Projects", :condition=>false}, :blobs=>{:label=>"Code", :condition=>false}}, matcher: -> { eq("{}") }3393 renders data correctly3394 data: {:projects=>{:label=>"Projects", :condition=>true}, :blobs=>{:label=>"Code", :condition=>true}, :epics=>{:label=>"Epics", :condition=>true}}, matcher: -> { include("projects", "blobs", "epics") }3395 renders data correctly3396 .search_navigation_json with .search_navigation3397 test search navigation item order for CE all options enabled3398 .search_filter_link_json3399 data3400 scope: "projects", label: "Projects", data: {:qa_selector=>"projects_tab"}, search: nil, active_scope: "projects"3401 converts correctly3402 scope: "snippet_titles", label: "Titles and Descriptions", data: nil, search: {:snippets=>"test"}, active_scope: "code"3403 converts correctly3404 scope: "projects", label: "Projects", data: {:qa_selector=>"projects_tab"}, search: nil, active_scope: "issue"3405 converts correctly3406 scope: "snippet_titles", label: "Titles and Descriptions", data: nil, search: {:snippets=>"test"}, active_scope: "snippet_titles"3407 converts correctly3408 show_elasticsearch_tabs3409 is expected to eq false3410 show_epics3411 is expected to eq false3412Ci::UnlockArtifactsService3413 tag: false3414 #execute3415 when running on a ref before a pipeline3416 unlocks artifacts from older pipelines3417 does not unlock artifacts for tag or branch with same name as ref3418 does not unlock artifacts from newer pipelines3419 does not lock artifacts from old unlocked pipelines3420 does not unlock artifacts from the same pipeline3421 does not unlock artifacts for other refs3422 does not unlock artifacts for child pipeline3423 unlocks job artifact records3424 unlocks pipeline artifact records3425 when running on just the ref3426 unlocks artifacts from older pipelines3427 unlocks artifacts from newer pipelines3428 unlocks artifacts from the same pipeline3429 does not unlock artifacts for tag or branch with same name as ref3430 does not lock artifacts from old unlocked pipelines3431 does not unlock artifacts for other refs3432 unlocks job artifact records3433 unlocks pipeline artifact records3434 #unlock_pipelines_query3435 when running on a ref before a pipeline3436 produces the expected SQL string3437 when running on just the ref3438 produces the expected SQL string3439 #unlock_job_artifacts_query3440 when given a single pipeline ID3441 produces the expected SQL string3442 when given multiple pipeline IDs3443 produces the expected SQL string3444 tag: true3445 #execute3446 when running on a ref before a pipeline3447 unlocks artifacts from older pipelines3448 does not unlock artifacts for tag or branch with same name as ref3449 does not unlock artifacts from newer pipelines3450 does not lock artifacts from old unlocked pipelines3451 does not unlock artifacts from the same pipeline3452 does not unlock artifacts for other refs3453 does not unlock artifacts for child pipeline3454 unlocks job artifact records3455 unlocks pipeline artifact records3456 when running on just the ref3457 unlocks artifacts from older pipelines3458 unlocks artifacts from newer pipelines3459 unlocks artifacts from the same pipeline3460 does not unlock artifacts for tag or branch with same name as ref3461 does not lock artifacts from old unlocked pipelines3462 does not unlock artifacts for other refs3463 unlocks job artifact records3464 unlocks pipeline artifact records3465 #unlock_pipelines_query3466 when running on a ref before a pipeline3467 produces the expected SQL string3468 when running on just the ref3469 produces the expected SQL string3470 #unlock_job_artifacts_query3471 when given a single pipeline ID3472 produces the expected SQL string3473 when given multiple pipeline IDs3474 produces the expected SQL string3475DraftNotes::PublishService3476 only publishes the draft notes belonging to the current user3477 single draft note3478 publishes3479 does not skip notification3480 does not track the publish event3481 commit_id is set3482 creates note from draft with commit_id3483 multiple draft notes3484 returns success3485 publishes all draft notes for a user in a merge request3486 sends batch notification3487 tracks the publish event3488 when review fails to create3489 does not publish any draft note3490 does not track the publish event3491 returns an error3492 behaves like does not trigger GraphQL subscription mergeRequestMergeStatusUpdated3493 is expected not to receive merge_request_merge_status_updated(*(any args)) 0 times3494 behaves like triggers GraphQL subscription mergeRequestMergeStatusUpdated3495 is expected to receive merge_request_merge_status_updated(#<MergeRequest id:146 namespace404/project456!1>) 1 time3496 capturing diff notes positions and keeping around commits3497 creates diff_note_positions for diff notes3498 keeps around the commits of each published note3499 does not requests a lot from Gitaly3500 commit_id is set3501 creates note from draft with commit_id3502 draft notes with suggestions3503 creates a suggestion with correct content3504 when the diff is changed3505 creates a suggestion based on the latest diff content and positions3506 with quick actions3507 performs quick actions3508 does not create a note if it only contains quick actions3509 with drafts that resolve threads3510 resolves the thread3511 sends notifications if all threads are resolved3512 user cannot create notes3513 returns an error3514ProjectMember3515 associations3516 is expected to belong to project required: false3517 validations3518 is expected to allow :source_type to be ‹"Project"›3519 is expected not to allow :source_type to be ‹"Group"›3520 is expected to validate that :access_level is either ‹10›, ‹20›, ‹30›, or ‹40›3521 default values3522 is expected to eq "Project"3523 delegations3524 is expected to delegate #namespace_id to the #project object3525 .access_level_roles3526 returns Gitlab::Access.options3527 #permissible_access_level_roles3528 when member can manage owners3529 returns Gitlab::Access.options_with_owner3530 when member cannot manage owners3531 returns Gitlab::Access.options3532 #real_source_type3533 is expected to eq "Project"3534 #destroy3535 creates an expired event when left due to expiry3536 creates a left event when left due to leave3537 for an orphaned member3538 does not raise an error3539 #holder_of_the_personal_namespace?3540 personal_namespace_holder?: false, expected: false3541 returns expected3542 personal_namespace_holder?: true, expected: true3543 returns expected3544 .import_team3545 is expected to be truthy3546 project 2 should get user 1 as developer. user_2 should not be changed3547 is expected to include #<User id:1366 @user1008>3548 is expected to include #<User id:1371 @user1011>3549 is expected to be truthy3550 is expected to be truthy3551 project 1 should not be changed3552 is expected to include #<User id:1382 @user1016>3553 is expected not to include #<User id:1387 @user1019>3554 .add_members_to_projects3555 adds the given users to the given projects3556 .truncate_teams3557 is expected to be empty3558 is expected to be empty3559 behaves like members notifications3560 #after_create3561 sends email to user3562 #after_update3563 calls NotificationService.update_project_member3564 does not send an email when the access level has not changed3565 #after_commit3566 on creation of a member requesting access3567 calls NotificationService.new_access_request3568 #accept_request3569 calls NotificationService.new_project_member3570 #accept_invite!3571 calls NotificationService.accept_project_invite3572 #decline_invite!3573 calls NotificationService.decline_project_invite3574 access levels3575 with parent group3576 behaves like inherited access level as a member of entity3577 with root parent_entity developer member3578 is allowed to be a maintainer of the entity3579 is not allowed to be a reporter of the entity3580 is allowed to change to be a developer of the entity3581 is not allowed to change to be a guest of the entity3582 shows an error if the member can't be updated3583 allows changing the level from a non existing member3584 with parent group and a subgroup3585 behaves like inherited access level as a member of entity3586 with root parent_entity developer member3587 is allowed to be a maintainer of the entity3588 is not allowed to be a reporter of the entity3589 is allowed to change to be a developer of the entity3590 is not allowed to change to be a guest of the entity3591 shows an error if the member can't be updated3592 allows changing the level from a non existing member3593 refreshing project_authorizations3594 when the source project of the project member is destroyed3595 refreshes the authorization of user to the project in the group3596 refreshes the authorization without calling AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker3597 when the user of the project member is destroyed3598 refreshes the authorization of user to the project in the group3599 refreshes the authorization without calling `AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker`3600 when importing3601 does not refresh3602 authorization refresh on addition/updation/deletion3603 on create3604 changes access level3605 behaves like calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline to recalculate authorizations3606 calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline3607 behaves like calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations3608 calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker3609 on update3610 changes access level3611 behaves like calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline to recalculate authorizations3612 calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline3613 behaves like calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations3614 calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker3615 on destroy3616 changes access level3617 behaves like calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline to recalculate authorizations3618 calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline3619 behaves like calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations3620 calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker3621 #set_member_namespace_id3622 on create3623 sets the member_namespace_id3624Gitlab::Database::BackgroundMigration::BatchedMigrationRunner3625 #run_migration_job3626 when the migration has no previous jobs3627 when the migration has batches to process3628 runs the job for the first batch3629 migration health3630 puts migration on hold on stop signal3631 optimizes migration on normal signal3632 optimizes migration on no signal3633 optimizes migration on unknown signal3634 when the batch maximum exceeds the migration maximum3635 clamps the batch maximum to the migration maximum3636 when the migration has no batches to process3637 behaves like it has completed the migration3638 does not create and run a migration job3639 marks the migration as finished3640 when the migration should stop3641 changes the status to failure3642 when the migration has previous jobs3643 when the migration has no batches remaining3644 behaves like it has completed the migration3645 does not create and run a migration job3646 marks the migration as finished3647 when the migration has batches to process3648 runs the migration job for the next batch3649 when the batch minimum exceeds the migration maximum3650 behaves like it has completed the migration3651 does not create and run a migration job3652 marks the migration as finished3653 when migration has failed jobs3654 retries the failed job3655 when failed job has reached the maximum number of attempts3656 marks the migration as failed3657 when migration has stuck jobs3658 retries the stuck job3659 when migration has possible stuck jobs3660 keeps the migration active3661 when the migration has batches to process and failed jobs3662 runs next batch then retries the failed job3663 #run_entire_migration3664 when not in a development or test environment3665 raises an error3666 when the given migration is not active3667 does not create and run migration jobs3668 when the given migration is active3669 runs all jobs inline until finishing the migration3670 #finalize3671 when the migration is not yet completed3672-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3673 -> 0.0016s3674-- create_table(:_test_batched_migrations_test_table, {:id=>false})3675 -> 0.0040s3676-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")3677 -> 0.0016s3678-- execute("SELECT * FROM _test_batched_migrations_test_table WHERE some_id_convert_to_bigint IS NULL")3679 -> 0.0017s3680-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3681 -> 0.0024s3682 completes the migration3683 when migration fails to complete3684-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3685 -> 0.0013s3686-- create_table(:_test_batched_migrations_test_table, {:id=>false})3687 -> 0.0036s3688-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")3689 -> 0.0015s3690-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3691 -> 0.0023s3692 raises an error3693 when the migration is already finished3694-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3695 -> 0.0018s3696-- create_table(:_test_batched_migrations_test_table, {:id=>false})3697 -> 0.0036s3698-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")3699 -> 0.0021s3700-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3701 -> 0.0025s3702 is a no-op3703 when the migration does not exist3704-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3705 -> 0.0018s3706-- create_table(:_test_batched_migrations_test_table, {:id=>false})3707 -> 0.0041s3708-- execute("INSERT INTO _test_batched_migrations_test_table VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, NULL), (6, NULL), (7, NULL), (8, NULL)")3709 -> 0.0022s3710-- drop_table(:_test_batched_migrations_test_table, {:if_exists=>true})3711 -> 0.0036s3712 is a no-op3713 .finalize3714 when the connection is passed3715 initializes the object with the given connection3716AttachmentUploader3717 behaves like builds correct paths3718 #store_dir3719 behaves like matches the method pattern3720 is expected to match /uploads\/-\/system\/note\/attachment\//3721 #cache_dir3722 behaves like matches the method pattern3723 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3724 #work_dir3725 behaves like matches the method pattern3726 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3727 #upload_path3728 behaves like matches the method pattern3729 is expected to match /uploads\/-\/system\/note\/attachment\//3730 #relative_path3731 is relative3732 .absolute_path3733 behaves like matches the method pattern3734 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/note\/attachment\//3735 .base_dir3736 behaves like matches the method pattern3737 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3738 path traversal exploits3739 throws an exception3740 object_store is REMOTE3741 behaves like builds correct paths3742 #store_dir3743 behaves like matches the method pattern3744 is expected to match /note\/attachment\//3745 #cache_dir3746 behaves like matches the method pattern3747 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3748 #work_dir3749 behaves like matches the method pattern3750 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3751 #upload_path3752 behaves like matches the method pattern3753 is expected to match /note\/attachment\//3754 #relative_path3755 is relative3756 .absolute_path3757 behaves like matches the method pattern3758 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3759 .base_dir3760 behaves like matches the method pattern3761 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3762 path traversal exploits3763 throws an exception3764 #migrate!3765 behaves like migrates3766 returns corresponding file type3767 does nothing when migrating to the current store3768 migrate to the specified store3769 removes the original file after the migration3770 can access to the original file during migration3771 when migrate! is not occupied by another process3772 executes migrate!3773 executes use_file3774 when migrate! is occupied by another process3775 does not execute migrate!3776 does not execute use_file3777 migration is unsuccessful3778 when the store is not supported3779 does not update the object_store3780 does not delete the original file3781 upon a fog failure3782 does not update the object_store3783 does not delete the original file3784 upon a database failure3785 does not update the object_store3786 does not delete the original file3787 behaves like migrates3788 returns corresponding file type3789 does nothing when migrating to the current store3790 migrate to the specified store3791 removes the original file after the migration3792 can access to the original file during migration3793 when migrate! is not occupied by another process3794 executes migrate!3795 executes use_file3796 when migrate! is occupied by another process3797 does not execute migrate!3798 does not execute use_file3799 migration is unsuccessful3800 when the store is not supported3801 does not update the object_store3802 does not delete the original file3803 upon a fog failure3804 does not update the object_store3805 does not delete the original file3806 upon a database failure3807 does not update the object_store3808 does not delete the original file3809Gitlab::Redis::DbLoadBalancing3810 # order random3811 #fetch_config3812 raises an exception when the config file contains invalid yaml3813 has a value for the legacy default URL3814 when redis.yml exists3815 uses config/redis.yml3816 when no config file exsits3817 returns nil3818 but resque.yml exists3819 returns the config from resque.yml3820 .with3821 when running on single-threaded runtime3822 instantiates a connection pool with size 53823 when running on multi-threaded runtime3824 instantiates a connection pool with a size based on the concurrency of the worker3825 when there is no config at all3826 can run an empty block3827 #sentinels3828 when sentinels are defined3829 rails_env: "development", hosts: ["development-replica1", "development-replica2"]3830 returns an array of hashes with host and port keys3831 rails_env: "test", hosts: ["test-replica1", "test-replica2"]3832 returns an array of hashes with host and port keys3833 rails_env: "production", hosts: ["production-replica1", "production-replica2"]3834 returns an array of hashes with host and port keys3835 when sentinels are not defined3836 returns nil3837 when cluster is defined3838 returns nil3839 #raw_config_hash3840 returns old-style single url config in a hash3841 returns cluster config without url key in a hash3842 .store3843 with old format3844 behaves like redis store3845 instantiates Redis::Store3846 with the namespace3847 uses specified namespace3848 with new format3849 behaves like redis store3850 instantiates Redis::Store3851 with the namespace3852 uses specified namespace3853 .config_file_name3854 when there is no config file anywhere3855 is expected to be nil3856 and there is a global env override3857 is expected to eq "global override"3858 and there is an instance specific config file3859 is expected to eq "/tmp/d20230330-359-u6dvss/config/redis.db_load_balancing.yml"3860 returns a path that exists3861 and there is a specific env override3862 is expected to eq "instance specific override"3863 #raw_config_hash3864 has a legacy default URL3865 .config_file_name3866 and there is a global env override3867 is expected to eq "global override"3868 and SharedState has a different config file3869 is expected to eq "fallback config file"3870 #fetch_config3871 when redis.yml exists3872 when the fallback has a redis.yml entry3873 is expected to eq {"fallback redis.yml"=>123}3874 and an instance config file exists3875 is expected to eq {"instance specific file"=>456}3876 and the instance has a redis.yml entry3877 is expected to eq {"instance redis.yml"=>789}3878 when no redis config file exsits3879 returns nil3880 when resque.yml exists3881 returns the config from resque.yml3882 .url3883 withstands mutation3884 when yml file with env variable3885 reads redis url from env variable3886 #pool3887 instantiates an instance of MultiStore3888 behaves like multi store feature flags3889 with feature flag :use_primary_and_secondary_stores_for_db_load_balancing is enabled3890 multi store is enabled3891 with feature flag :use_primary_and_secondary_stores_for_db_load_balancing is disabled3892 multi store is disabled3893 with feature flag :use_primary_store_as_default_for_db_load_balancing is enabled3894 primary store is enabled3895 with feature flag :use_primary_store_as_default_for_db_load_balancing is disabled3896 primary store is disabled3897 #db3898 with old format3899 returns the correct db3900 with new format3901 returns the correct db3902 with cluster-mode3903 returns the correct db3904 #sentinels?3905 when sentinels are defined3906 returns true3907 when sentinels are not defined3908 is expected to eq nil3909 when cluster is defined3910 returns false3911 behaves like redis_shared_examples3912 .config_file_name3913 when there is no config file anywhere3914 is expected to be nil3915 and there is a global env override3916 is expected to eq "global override"3917 and there is an instance specific config file3918 is expected to eq "/tmp/d20230330-359-6bywb7/config/redis.db_load_balancing.yml"3919 returns a path that exists3920 and there is a specific env override3921 is expected to eq "instance specific override"3922 .store3923 with old format3924 behaves like redis store3925 instantiates Redis::Store3926 with the namespace3927 uses specified namespace3928 with new format3929 behaves like redis store3930 instantiates Redis::Store3931 with the namespace3932 uses specified namespace3933 .params3934 withstands mutation3935 when url contains unix socket reference3936 with old format3937 returns path key instead3938 with new format3939 returns path key instead3940 when url is host based3941 with old format3942 returns hash with host, port, db, and password3943 with new format3944 rails_env: "development", host: "development-host"3945 returns hash with host, port, db, and password3946 rails_env: "test", host: "test-host"3947 returns hash with host, port, db, and password3948 rails_env: "production", host: "production-host"3949 returns hash with host, port, db, and password3950 with redis cluster format3951 rails_env: "development", host: "development-master"3952 returns hash with cluster and password3953 rails_env: "test", host: "test-master"3954 returns hash with cluster and password3955 rails_env: "production", host: "production-master"3956 returns hash with cluster and password3957 .url3958 withstands mutation3959 when yml file with env variable3960 reads redis url from env variable3961 .version3962 returns a version3963 .with3964 when running on single-threaded runtime3965 instantiates a connection pool with size 53966 when running on multi-threaded runtime3967 instantiates a connection pool with a size based on the concurrency of the worker3968 when there is no config at all3969 can run an empty block3970 #db3971 with old format3972 returns the correct db3973 with new format3974 returns the correct db3975 with cluster-mode3976 returns the correct db3977 #sentinels3978 when sentinels are defined3979 rails_env: "development", hosts: ["development-replica1", "development-replica2"]3980 returns an array of hashes with host and port keys3981 rails_env: "test", hosts: ["test-replica1", "test-replica2"]3982 returns an array of hashes with host and port keys3983 rails_env: "production", hosts: ["production-replica1", "production-replica2"]3984 returns an array of hashes with host and port keys3985 when sentinels are not defined3986 returns nil3987 when cluster is defined3988 returns nil3989 #sentinels?3990 when sentinels are defined3991 returns true3992 when sentinels are not defined3993 is expected to eq nil3994 when cluster is defined3995 returns false3996 #raw_config_hash3997 returns old-style single url config in a hash3998 returns cluster config without url key in a hash3999 #fetch_config4000 raises an exception when the config file contains invalid yaml4001 has a value for the legacy default URL4002 when redis.yml exists4003 uses config/redis.yml4004 when no config file exsits4005 returns nil4006 but resque.yml exists4007 returns the config from resque.yml4008 .version4009 returns a version4010 .params4011 withstands mutation4012 when url contains unix socket reference4013 with old format4014 returns path key instead4015 with new format4016 returns path key instead4017 when url is host based4018 with old format4019 returns hash with host, port, db, and password4020 with new format4021 rails_env: "development", host: "development-host"4022 returns hash with host, port, db, and password4023 rails_env: "test", host: "test-host"4024 returns hash with host, port, db, and password4025 rails_env: "production", host: "production-host"4026 returns hash with host, port, db, and password4027 with redis cluster format4028 rails_env: "development", host: "development-master"4029 returns hash with cluster and password4030 rails_env: "test", host: "test-master"4031 returns hash with cluster and password4032 rails_env: "production", host: "production-master"4033 returns hash with cluster and password4034Gitlab::ImportExport::MembersMapper4035 map members4036 when importable is Project4037 includes the exported user ID in the map4038 maps a member4039 defaults to importer member if it does not exist4040 has invited members with no user4041 maps created_by_id to user on new instance4042 replaced user_id with user_id from new instance4043 adds users to project members4044 maps an owner as a maintainer4045 logging4046 logs member addition4047 when exporter member is invalid4048 logs member addition failure4049 user is not an admin4050 does not map a member4051 defaults to importer member if it does not exist4052 chooses the one with an email4053 maps the member that has a matching email4054 when user has email exported4055 maps a member4056 importer same as group member4057 maps the project member4058 maps the project member if it already exists4059 importing group members4060 maps the importer4061 maps the group member4062 when importer mapping fails4063 includes importer specific error message4064 when importer is not an admin4065 and the imported project is part of a group4066 behaves like it fetches the access level from parent group4067 and resolves it correctly4068 behaves like it fetches the access level from parent group4069 and resolves it correctly4070 behaves like it fetches the access level from parent group4071 and resolves it correctly4072 and the imported group is part of another group4073 behaves like it fetches the access level from parent group4074 and resolves it correctly4075 behaves like it fetches the access level from parent group4076 and resolves it correctly4077 behaves like it fetches the access level from parent group4078 and resolves it correctly4079 when importable is Group4080 includes the exported user ID in the map4081 maps a member4082 defaults to importer member if it does not exist4083 has invited members with no user4084 maps created_by_id to user on new instance4085 replaced user_id with user_id from new instance4086 does not lower owner access level4087 logging4088 logs member addition4089 when exporter member is invalid4090 logs member addition failure4091 user is not an admin4092 does not map a member4093 defaults to importer member if it does not exist4094 chooses the one with an email4095 maps the member that has a matching email4096 when user has email exported4097 maps a member4098WorkItems::UpdateService4099 #execute4100 when title is changed4101 triggers issuable_title_updated graphql subscription4102 behaves like issue_edit snowplow tracking4103 behaves like Snowplow event tracking with RedisHLL context4104 behaves like Snowplow event tracking4105 is emitted4106 when title is not changed4107 does not trigger issuable_title_updated graphql subscription4108 does not emit Snowplow event4109 when dates are changed4110 tracks users updating work item dates4111 when decription is changed4112 triggers GraphQL description updated subscription4113 when decription is not changed4114 does not trigger GraphQL description updated subscription4115 when updating state_event4116 when state_event is close4117 closes the work item4118 when state_event is reopen4119 reopens the work item4120 behaves like work item widgetable service4121 executes callbacks for expected widgets4122 when updating widgets4123 when widget service is not present4124 ignores widget param4125 when the widget does not support update callback4126 ignores widget param4127 for the description widget4128 updates the description of the work item4129 with mentions4130 when description contains a user mention4131 behaves like creates the todo and sends email4132 creates a todo and sends email4133 when title contains a user mention4134 behaves like creates the todo and sends email4135 creates a todo and sends email4136 when work item validation fails4137 returns validation errors4138 does not execute after-update widgets4139 for start and due date widget4140 when due_date is updated4141 behaves like update service that triggers graphql dates updated subscription4142 triggers graphql subscription issueableDatesUpdated4143 when start_date is updated4144 behaves like update service that triggers graphql dates updated subscription4145 triggers graphql subscription issueableDatesUpdated4146 when no date param is updated4147 does not trigger date updated subscription4148 for the hierarchy widget4149 updates the children of the work item4150 when child type is invalid4151 returns error status4152 does not update work item attributes4153 when work item validation fails4154 returns validation errors4155 does not execute after-update widgets4156 for milestone widget4157 when milestone is updated4158 triggers 'issuableMilestoneUpdated'4159 when milestone remains unchanged4160 does not trigger 'issuableMilestoneUpdated'4161 label updates4162 when labels are changed4163 tracks users updating work item labels4164 behaves like broadcasting issuable labels updates4165 when label is added4166 triggers the GraphQL subscription4167 when label is removed4168 triggers the GraphQL subscription4169 when label is unchanged4170 does not trigger the GraphQL subscription4171 when labels are not changed4172 when labels param is not provided4173 behaves like work item update that does not track label updates4174 does not track users updating work item labels4175 when labels param is provided but labels remain unchanged4176 behaves like work item update that does not track label updates4177 does not track users updating work item labels4178 when labels param is provided invalid values4179 behaves like work item update that does not track label updates4180 does not track users updating work item labels4181TodosHelper4182 #todos_count_format4183 shows fuzzy count for 100 or more items4184 shows exact count for 99 or fewer items4185 #todo_target_name4186 when given a design4187 references the filename of the design4188 #todo_target_title4189 when the target does not exist4190 returns an empty string4191 when given a design todo4192 returns an empty string4193 when given a non-design todo4194 returns the title4195 #todo_target_path4196 when given a design4197 responds with an appropriate path4198 when given an alert4199 responds with an appropriate path4200 when given a task4201 responds with an appropriate path using iid4202 when given an issue with a note anchor4203 responds with an appropriate path4204 when a user requests access to group4205 responds with access requests tab4206 when a user requests access to project4207 responds with access requests tab4208 #todo_target_aria_label4209 when given a design todo4210 is expected to eq "Design #1[homescreen-1.jpg]"4211 when given an alert todo4212 is expected to eq "Alert ^alert#1001"4213 when given a task todo4214 is expected to eq "Task #3"4215 when given an issue todo4216 is expected to eq "Issue #1"4217 when given a merge request todo4218 is expected to eq "Merge Request !1"4219 #todo_types_options4220 includes a match for a design todo4221 #todo_target_state_pill4222 merge request todo4223 behaves like no state pill4224 is expected to eq nil4225 closed MR4226 behaves like a rendered state pill4227 returns expected html4228 merged MR4229 behaves like a rendered state pill4230 returns expected html4231 issue todo4232 behaves like no state pill4233 is expected to eq nil4234 closed issue4235 behaves like a rendered state pill4236 returns expected html4237 alert todo4238 behaves like no state pill4239 is expected to eq nil4240 resolved alert4241 behaves like a rendered state pill4242 returns expected html4243 #no_todos_messages4244 when getting todos messsages4245 return these sentences4246 #todo_author_display?4247 action: 3, result: false4248 is expected to eq false4249 action: 6, result: false4250 is expected to eq false4251 action: 1, result: true4252 is expected to eq true4253 #todos_filter_params4254 state: "done", result: "done"4255 is expected to eq "done"4256 state: "pending", result: "pending"4257 is expected to eq "pending"4258 state: "", result: nil4259 is expected to eq nil4260 #todo_action_name4261 action: 1, self_added?: false, expected_action_name: "assigned you"4262 is expected to eq "assigned you"4263 action: 1, self_added?: true, expected_action_name: "assigned"4264 is expected to eq "assigned"4265 action: 9, self_added?: true, expected_action_name: "requested a review"4266 is expected to eq "requested a review"4267 action: 2, self_added?: true, expected_action_name: "mentioned yourself"4268 is expected to eq "mentioned yourself"4269 action: 2, self_added?: false, expected_action_name: "mentioned you"4270 is expected to eq "mentioned you"4271 action: 7, self_added?: true, expected_action_name: "mentioned yourself"4272 is expected to eq "mentioned yourself"4273 action: 7, self_added?: false, expected_action_name: "mentioned you"4274 is expected to eq "mentioned you"4275 action: 3, self_added?: true, expected_action_name: "The pipeline failed"4276 is expected to eq "The pipeline failed"4277 action: 4, self_added?: true, expected_action_name: "added a to-do item"4278 is expected to eq "added a to-do item"4279 action: 5, self_added?: true, expected_action_name: "set yourself as an approver"4280 is expected to eq "set yourself as an approver"4281 action: 5, self_added?: false, expected_action_name: "set you as an approver"4282 is expected to eq "set you as an approver"4283 action: 6, self_added?: true, expected_action_name: "Could not merge"4284 is expected to eq "Could not merge"4285 action: 8, self_added?: true, expected_action_name: "Removed from Merge Train"4286 is expected to eq "Removed from Merge Train"4287 member access requested4288 when target is group4289 returns group access message4290 when target is project4291 returns project access message4292 #todo_due_date4293 due date is today4294 is expected to match "Due today"4295 due date is not today4296 is expected to match "Due Mar 31, 2023"4297 #todo_parent_path4298 when todo resource parent is a group4299 is expected to eq "Group 1"4300 when todo resource parent is not a group4301 returns project title with namespace4302CounterAttribute4303 behaves like CounterAttribute4304 defines a method to store counters4305 build_artifacts_size4306 #increment_counter4307 when attribute is a counter attribute4308 amount: 104309 increments the counter in Redis and logs it4310 does not increment the counter for the record4311 schedules a worker to flush counter increments asynchronously4312 amount: -34313 increments the counter in Redis and logs it4314 does not increment the counter for the record4315 schedules a worker to flush counter increments asynchronously4316 #increment_amount4317 increases the egress in cache4318 #current_counter4319 increases the amount in cache4320 when increment amount is 04321 does nothing4322 #bulk_increment_counter4323 when attribute is a counter attribute4324 increments the counter in Redis and logs each increment4325 does not increment the counter for the record4326 schedules a worker to flush counter increments asynchronously4327 when feature flag split_log_bulk_increment_counter is disabled4328 logs a single total increment4329 commit_count4330 #increment_counter4331 when attribute is a counter attribute4332 amount: 104333 increments the counter in Redis and logs it4334 does not increment the counter for the record4335 schedules a worker to flush counter increments asynchronously4336 amount: -34337 increments the counter in Redis and logs it4338 does not increment the counter for the record4339 schedules a worker to flush counter increments asynchronously4340 #increment_amount4341 increases the egress in cache4342 #current_counter4343 increases the amount in cache4344 when increment amount is 04345 does nothing4346 #bulk_increment_counter4347 when attribute is a counter attribute4348 increments the counter in Redis and logs each increment4349 does not increment the counter for the record4350 schedules a worker to flush counter increments asynchronously4351 when feature flag split_log_bulk_increment_counter is disabled4352 logs a single total increment4353 packages_size4354 #increment_counter4355 when attribute is a counter attribute4356 amount: 104357 increments the counter in Redis and logs it4358 does not increment the counter for the record4359 schedules a worker to flush counter increments asynchronously4360 amount: -34361 increments the counter in Redis and logs it4362 does not increment the counter for the record4363 schedules a worker to flush counter increments asynchronously4364 #increment_amount4365 increases the egress in cache4366 #current_counter4367 increases the amount in cache4368 when increment amount is 04369 does nothing4370 #bulk_increment_counter4371 when attribute is a counter attribute4372 increments the counter in Redis and logs each increment4373 does not increment the counter for the record4374 schedules a worker to flush counter increments asynchronously4375 when feature flag split_log_bulk_increment_counter is disabled4376 logs a single total increment4377 #update_counters_with_lease4378 updates counters of the record4379 behaves like obtaining lease to update database4380 when it is unable to obtain lock4381 logs a warning4382 when feature flag counter_attribute_db_lease_for_update is disabled4383 does not attempt to get a lock4384 when the execution raises error4385 reraises error4386 #counter_attribute_enabled?4387 is true when counter attribute is defined4388 is false when counter attribute is not defined4389 with a conditional counter attribute4390 where the condition evaluates to true4391 is expected to eq true4392 where the condition evaluates to false4393 is expected to eq false4394 #initiate_refresh!4395 when counter attribute is enabled4396 initiates refresh on the BufferedCounter4397 when counter attribute is not enabled4398 raises error4399 #finalize_refresh4400 when counter attribute is enabled4401 initiates refresh on the BufferedCounter4402 when counter attribute is not enabled4403 raises error4404 #counter4405 returns the counter for the respective attribute4406 returns the appropriate counter for the attribute4407 raises error for unknown attribute4408 with a conditional counter attribute4409 enabled: true, expected_counter_class: Gitlab::Counters::BufferedCounter4410 returns the appropriate counter based on the condition4411 enabled: false, expected_counter_class: Gitlab::Counters::LegacyCounter4412 returns the appropriate counter based on the condition4413WorkItems::ParentLinks::CreateService4414 #execute4415 when the reference list is empty4416 behaves like returns not found error4417 returns error4418 no relationship is created4419 when work item not found4420 behaves like returns not found error4421 returns error4422 no relationship is created4423 when user has no permission to link work items4424 behaves like returns not found error4425 returns error4426 no relationship is created4427 child and parent are the same work item4428 no relationship is created4429 when adjacent is already in place4430 adjacent_position: -100, expected_order: lazy { [adjacent, current_item] }4431 sets relative positions4432 adjacent_position: 0, expected_order: lazy { [adjacent, current_item] }4433 sets relative positions4434 adjacent_position: 100, expected_order: lazy { [adjacent, current_item] }4435 sets relative positions4436 when there are tasks to relate4437 creates relationships4438 returns success status and created links4439 creates notes4440 when task is already assigned4441 creates links only for non related tasks4442 when there are invalid children4443 creates links only for valid children4444 returns error status4445 creates notes for valid links4446 when parent type is invalid4447 returns error status4448 when max depth is reached4449 returns error status4450 when params include invalid ids4451 creates links only for valid IDs4452 when user is a guest4453 behaves like returns not found error4454 returns error4455 no relationship is created4456 when user is a guest assigned to the work item4457 behaves like returns not found error4458 returns error4459 no relationship is created4460Banzai::ReferenceParser::BaseParser4461 .reference_class4462 when the method is not defined4463 build the reference class4464 when the method is redefined4465 uses specified reference class4466 .reference_type=4467 sets the reference type4468 #project_for_node4469 returns the Project for a node4470 #nodes_visible_to_user4471 when the link has a data-project attribute4472 includes the link if can_read_reference? returns true4473 excludes the link if can_read_reference? returns false4474 when the link does not have a data-project attribute4475 returns the nodes4476 #nodes_user_can_reference4477 returns the nodes4478 #referenced_by4479 when references_relation is implemented4480 and ids_only is set to false4481 returns a collection of objects4482 and ids_only is set to true4483 returns a collection of id values without performing a db query4484 and the html fragment does not contain any attributes4485 returns an empty array4486 when references_relation is not implemented4487 raises NotImplementedError4488 #references_relation4489 raises NotImplementedError4490 #gather_attributes_per_project4491 returns a Hash containing attribute values per project4492 #grouped_objects_for_nodes4493 returns a Hash grouping objects per node4494 returns an empty Hash when entry does not exist in the database4495 #unique_attribute_values4496 returns an Array of unique values4497 #process4498 gathers the references for every node matching the reference type4499 #gather_references4500 returns referenceable and visible objects, alongside all and visible nodes4501 is always empty if the input is empty4502 #can?4503 delegates the permissions check to the Ability class4504 #find_projects_for_hash_keys4505 returns a list of Projects4506 #collection_objects_for_ids4507 with RequestStore disabled4508 queries the collection directly4509 with RequestStore enabled4510 queries the collection on the first call4511 does not query previously queried objects4512 casts String based IDs to Fixnums before querying objects4513 queries any additional objects after the first call4514 caches objects on a per collection class basis4515 will not overflow the stack4516 #collection_cache_key4517 returns the cache key for a Class4518 returns the cache key for an ActiveRecord::Relation4519Gitlab::Database::BatchAverageCounter4520 # order random4521 #count4522 returns correct average of weights4523 does no raise an exception if transaction is not open4524 when transaction is open4525 raises an error4526 when batch size is small4527 returns correct average of weights4528 when column passed is an Arel attribute4529 returns correct average of weights4530 when column has total count of zero4531 returns the fallback value4532 when one batch has nil weights (no average)4533 calculates average of weights with no errors4534 when batch fetch query is cancelled4535 when all retries fail4536 logs failing query4537Gitlab::VersionInfo4538 >4539 is expected to be > 1.1.04540 is expected to be > 1.0.14541 is expected to be > 1.0.04542 is expected to be > 1.0.04543 is expected to be > 1.0.1-b14544 is expected to be > 1.0.1-rc14545 is expected to be > 1.0.1-rc14546 is expected to be > 1.0.1-rc24547 is expected to be > 1.0.04548 is expected to be > 0.1.04549 is expected to be > 1.0.1-rc24550 is expected to be > 1.1.0-beta14551 is expected to be > 0.0.14552 >=4553 is expected to be >= 2.0.04554 is expected to be >= 1.1.04555 is expected to be >= 1.0.1-rc14556 <4557 is expected to be < 0.1.04558 is expected to be < 1.0.04559 is expected to be < 1.0.14560 is expected to be < 1.1.04561 is expected to be < 1.0.1-rc24562 is expected to be < 1.0.14563 is expected to be < 1.0.1-rc24564 is expected to be < 1.0.14565 is expected to be < 2.0.04566 is expected to be < 13.10.1~beta.1575.gf6ea93894567 is expected to be < 13.10.1~beta.1575.gf6ea93904568 <=4569 is expected to be <= 0.0.14570 is expected to be <= 0.1.04571 is expected to be <= 1.0.1-rc14572 is expected to be <= 1.0.1-rc24573 is expected to be <= 1.1.04574 ==4575 is expected to eq #<Gitlab::VersionInfo:0x00007f2e656fe308 @major=0, @minor=0, @patch=1, @suffix_s="", @suffix=[]>4576 is expected to eq #<Gitlab::VersionInfo:0x00007f2e65a79960 @major=0, @minor=1, @patch=0, @suffix_s="", @suffix=[]>4577 is expected to eq #<Gitlab::VersionInfo:0x00007f2e65da4fb8 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4578 is expected to eq #<Gitlab::VersionInfo:0x00007f2e66084c10 @major=1, @minor=0, @patch=1, @suffix_s="-rc1", @suffix=["pre", "rc", 1]>4579 !=4580 is expected not to eq #<Gitlab::VersionInfo:0x00007f2e663de3e8 @major=0, @minor=1, @patch=0, @suffix_s="">4581 is expected not to eq #<Gitlab::VersionInfo:0x00007f2e666dfb28 @major=1, @minor=0, @patch=1, @suffix_s="-rc2", @suffix=["pre", "rc", 2]>4582 .unknown4583 is expected not to equal #<Gitlab::VersionInfo:0x00007f2e66a2f5d0 @major=0, @minor=0, @patch=1, @suffix_s="">4584 is expected not to equal #<Gitlab::VersionInfo:0x00007f2e66d958f0 @major=0, @minor=0, @patch=0, @suffix_s="">4585 is expected to raise ArgumentError4586 is expected to raise ArgumentError4587 .parse4588 is expected to eq #<Gitlab::VersionInfo:0x00007f2e677ff070 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4589 is expected to eq #<Gitlab::VersionInfo:0x00007f2e67b7d670 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4590 is expected to eq #<Gitlab::VersionInfo:0x00007f2e67eb8a38 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4591 is expected to eq #<Gitlab::VersionInfo:0x00007f2eadf43bb0 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4592 is expected to eq #<Gitlab::VersionInfo:0x00007f2ea8d75518 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4593 is expected to eq #<Gitlab::VersionInfo:0x00007f2ea1ceaf00 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4594 is expected to eq #<Gitlab::VersionInfo:0x00007f2e9ab91f48 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4595 is expected not to be valid4596 is expected not to be valid4597 is expected not to be valid4598 with parse_suffix: true4599 versions are returned in a correct order4600 .to_s4601 is expected to eq "1.0.0"4602 is expected to eq "1.0.1-rc1"4603 is expected to eq "Unknown"4604 .to_json4605 is expected to eq "{\"major\":1,\"minor\":0,\"patch\":1}"4606 is expected to eq "{\"major\":1,\"minor\":0,\"patch\":1}"4607 is expected to eq "{\"major\":0,\"minor\":0,\"patch\":0}"4608 .hash4609 is expected to eq 9681125685131006934610 is expected to eq 9681125685131006934611 is expected to eq 22693687112851070384612 is expected to eq 37168704840113330364613 .eql?4614 is expected to be truthy4615 is expected to be truthy4616 is expected to be truthy4617 is expected to be falsey4618 is expected to be falsey4619 is expected to be falsey4620 is expected to be falsey4621 is expected to be truthy4622 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e7a4f3e90 @major=1, @minor=0, @patch=0, @suffix_s="">, #<Gitlab::Vers...fix_s="">, #<Gitlab::VersionInfo:0x00007f2e7a4f3e18 @major=1, @minor=0, @patch=1, @suffix_s="-rc1">]4623 .same_minor_version?4624 is expected to be falsey4625 is expected to be truthy4626 is expected to be truthy4627 is expected to be truthy4628 is expected to be falsey4629 is expected to be falsey4630 .without_patch4631 is expected to eq #<Gitlab::VersionInfo:0x00007f2e7d8b91f8 @major=0, @minor=1, @patch=0, @suffix_s="", @suffix=[]>4632 is expected to eq #<Gitlab::VersionInfo:0x00007f2e7ddfac70 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4633 is expected to eq #<Gitlab::VersionInfo:0x00007f2e7e33eda8 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4634 is expected to eq #<Gitlab::VersionInfo:0x00007f2e60e03888 @major=1, @minor=0, @patch=0, @suffix_s="", @suffix=[]>4635 MAX_VERSION_LENGTH4636 is expected to eq 1284637Gitlab::ImportExport::Project::Sample::RelationTreeRestorer4638 initializes relation_factory with date_calculator as parameter4639 when relation tree restorer is initialized4640 initializes date calculator with due dates4641 using ndjson reader4642 behaves like import project successfully4643 restores project tree4644 imported project4645 has the project attributes and relations4646 has issues with correctly updated due dates4647 has milestones with correctly updated due dates4648Labels::PromoteService4649 #execute4650 without a group4651 fails on project without group4652 with a group4653 fails on group label4654 when there is an existing identical group label4655 uses the existing group label4656 does not create a new group label clone4657 behaves like promoting a project label to a group label4658 is truthy on success4659 removes all project labels with that title within the group4660 keeps users' subscriptions4661 recreates priorities4662 does not touch project out of promoted group4663 does not touch out of group priority4664 relinks issue with the promoted label4665 does not remove untouched labels from issue4666 does not relink untouched label in issue4667 relinks issues with merged labels4668 does not relink issues from other group4669 updates merge request4670 updates board lists4671 relinks all relations4672 when there is no existing identical group label4673 recreates the label as a group label4674 copies title, description and color to cloned group label4675 behaves like promoting a project label to a group label4676 is truthy on success4677 removes all project labels with that title within the group4678 keeps users' subscriptions4679 recreates priorities4680 does not touch project out of promoted group4681 does not touch out of group priority4682 relinks issue with the promoted label4683 does not remove untouched labels from issue4684 does not relink untouched label in issue4685 relinks issues with merged labels4686 does not relink issues from other group4687 updates merge request4688 updates board lists4689 relinks all relations4690Clusters::Kubernetes::CreateOrUpdateNamespaceService#execute4691 group clusters4692 when kubernetes namespace is not persisted4693 behaves like successful creation of kubernetes namespace4694 creates a Clusters::KubernetesNamespace4695 creates project service account and namespace4696 configures kubernetes token4697 without environment4698 creates project service account and namespace4699 project clusters4700 when kubernetes namespace is not persisted4701 behaves like successful creation of kubernetes namespace4702 creates a Clusters::KubernetesNamespace4703 creates project service account and namespace4704 configures kubernetes token4705 without environment4706 creates project service account and namespace4707 when there is a Kubernetes Namespace associated4708 does not create any Clusters::KubernetesNamespace4709 creates project service account4710 updates Clusters::KubernetesNamespace4711Gitlab::Gpg::InvalidGpgSignatureUpdater4712 #run4713 gpg signature did have an associated gpg key which was removed later4714 assigns the gpg key to the signature when the missing gpg key is added4715 does not assign the gpg key when an unrelated gpg key is added4716 gpg signature did not have an associated gpg key4717 updates the signature to being valid when the missing gpg key is added4718 keeps the signature at being invalid when an unrelated gpg key is added4719 gpg signature did have an associated unverified gpg key4720 updates the signature to being valid when the user updates the email address4721 keeps the signature at being invalid when the changed email address is still unrelated4722 gpg signature did not have an associated gpg subkey4723 updates the signature to being valid when the missing gpg key is added4724Gitlab::Ci::RunnerUpgradeCheck4725 #check_runner_upgrade_suggestion4726 with failing Gitlab::Ci::RunnerReleases request4727 returns :error4728 with available_runner_releases configured4729 with no available runner releases4730 with Gitlab::VERSION set to 14.1.14731 with runner_version from last minor release4732 returns :unavailable4733 up to 14.1.14734 with nil runner_version4735 returns :invalid_version4736 with invalid runner_version4737 returns :invalid_version4738 with Gitlab::VERSION set to 14.1.1234739 with a runner_version that is too recent4740 returns :unavailable4741 with Gitlab::VERSION set to 14.0.14742 with valid params4743 runner_version: "v15.0.0", expected_status: :unavailable, expected_suggested_version: "15.0.0"4744 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e8f0803d0 @major=15, @minor=0, @patch=0, @suffix_s="", @suffix=[]>, :unavailable]4745 runner_version: "v14.1.0-rc3", expected_status: :recommended, expected_suggested_version: "14.1.1"4746 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e7fa948e0 @major=14, @minor=1, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4747 runner_version: "v14.1.0~beta.1574.gf6ea9389", expected_status: :recommended, expected_suggested_version: "14.1.1"4748 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e82afbc18 @major=14, @minor=1, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4749 runner_version: "v14.1.0/1.1.0", expected_status: :recommended, expected_suggested_version: "14.1.1"4750 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e637b72b0 @major=14, @minor=1, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4751 runner_version: "v14.1.0", expected_status: :recommended, expected_suggested_version: "14.1.1"4752 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e7cc79398 @major=14, @minor=1, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4753 runner_version: "v14.0.1", expected_status: :recommended, expected_suggested_version: "14.0.2"4754 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e7e24e498 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4755 runner_version: "v14.0.2-rc1", expected_status: :recommended, expected_suggested_version: "14.0.2"4756 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e62072320 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4757 runner_version: "v14.0.2", expected_status: :unavailable, expected_suggested_version: "14.0.2"4758 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e640f22d0 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :unavailable]4759 runner_version: "v13.10.1", expected_status: :available, expected_suggested_version: "14.0.2"4760 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e65b50a50 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :available]4761 runner_version: "v13.10.1~beta.1574.gf6ea9389", expected_status: :recommended, expected_suggested_version: "13.10.1"4762 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e66b1ebf8 @major=13, @minor=10, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4763 runner_version: "v13.10.1/1.1.0", expected_status: :recommended, expected_suggested_version: "13.10.1"4764 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e67b329b8 @major=13, @minor=10, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4765 runner_version: "v13.10.0", expected_status: :recommended, expected_suggested_version: "13.10.1"4766 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e7e7e1298 @major=13, @minor=10, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4767 runner_version: "v13.9.2", expected_status: :recommended, expected_suggested_version: "14.0.2"4768 is expected to eq [#<Gitlab::VersionInfo:0x00007f2ea9c07388 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4769 runner_version: "v13.9.0", expected_status: :recommended, expected_suggested_version: "14.0.2"4770 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e9687de50 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4771 runner_version: "v13.8.1", expected_status: :recommended, expected_suggested_version: "14.0.2"4772 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e8fa8dd00 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4773 runner_version: "v11.4.1", expected_status: :recommended, expected_suggested_version: "14.0.2"4774 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e81a56688 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4775 with Gitlab::VERSION set to 13.9.04776 with valid params4777 runner_version: "v14.0.0", expected_status: :recommended, expected_suggested_version: "14.0.2"4778 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e7ba45bb8 @major=14, @minor=0, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4779 runner_version: "v13.10.1", expected_status: :unavailable, expected_suggested_version: "13.10.1"4780 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e7d615c30 @major=13, @minor=10, @patch=1, @suffix_s="", @suffix=[]>, :unavailable]4781 runner_version: "v13.10.0", expected_status: :recommended, expected_suggested_version: "13.10.1"4782 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e61b4f7a8 @major=13, @minor=10, @patch=1, @suffix_s="", @suffix=[]>, :recommended]4783 runner_version: "v13.9.2", expected_status: :unavailable, expected_suggested_version: "13.9.2"4784 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e64307728 @major=13, @minor=9, @patch=2, @suffix_s="", @suffix=[]>, :unavailable]4785 runner_version: "v13.9.0", expected_status: :recommended, expected_suggested_version: "13.9.2"4786 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e65d759e8 @major=13, @minor=9, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4787 runner_version: "v13.8.1", expected_status: :recommended, expected_suggested_version: "13.9.2"4788 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e66f1c4d0 @major=13, @minor=9, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4789 runner_version: "v11.4.1", expected_status: :recommended, expected_suggested_version: "13.9.2"4790 is expected to eq [#<Gitlab::VersionInfo:0x00007f2e67ffda38 @major=13, @minor=9, @patch=2, @suffix_s="", @suffix=[]>, :recommended]4791 up to 15.1.04792 with Gitlab::VERSION set to 15.2.0-pre4793 with unknown runner version4794 recommends 15.1.0 since 14.11 is an unknown release and 15.1.0 is available4795MembersFinder4796 behaves like #execute4797 returns members for project and parent groups4798 returns owners and maintainers4799 returns active users and excludes invited users4800 does not return members of parent group with minimal access4801 includes only non-invite members if user do not have amdin permissions on project4802 includes invited members if user have admin permissions on project4803 includes nested group members if asked4804 returns only members of project if asked4805 returns only inherited members of project if asked4806 returns only inherited members of a personal project4807 returns the members.access_level when the user is invited4808 returns the highest access_level for the user4809 returns searched members if requested4810 returns members sorted by id_desc4811 when :invited_groups is passed4812 behaves like with invited_groups param4813 includes all the invited_groups members including members inherited from ancestor groups4814 includes all the invited_groups members4815 excludes group_members not visible to the user4816 when the user is a member of invited group and ancestor groups4817 returns the highest access_level for the user limited by project_group_link.group_access4818projects/_home_panel4819 admin area link4820 renders admin area link for admin4821 does not render admin area link for non-admin4822 does not render admin area link for anonymous4823 notifications4824 when user is signed in4825 renders Vue app root4826 when user is signed out4827 does not render Vue app root4828 badges4829 has no badges4830 does not render any badge4831 only has group badges4832 behaves like show badges4833 renders the all badges4834 only has project badges4835 behaves like show badges4836 renders the all badges4837 has both group and project badges4838 behaves like show badges4839 renders the all badges4840 project id4841 user can read project4842 is shown4843 user cannot read project4844 is not shown4845 forks4846 user can read fork source4847 does not show the forked-from project4848 when fork_divergence_counts is disabled4849 shows the forked-from project4850 user cannot read fork source4851 shows the message that forked project is inaccessible4852 when fork_divergence_counts is disabled4853 shows the message that forked project is inaccessible4854MergeRequestCleanupRefsWorker4855 #perform_work4856 when next cleanup schedule is found4857 marks the cleanup schedule as completed on success4858 when service fails4859 marks the cleanup schedule as unstarted and track the failure4860 and cleanup schedule has already failed 3 times4861 marks the cleanup schedule as failed and track the failure4862 when merge_request_refs_cleanup flag is disabled4863 does nothing4864 when there is no next cleanup schedule found4865 does nothing4866 #remaining_work_count4867 returns number of scheduled and unstarted cleanup schedule records4868 when count exceeds max_running_jobs4869 gets capped at max_running_jobs4870 #max_running_jobs4871 returns the value of MAX_RUNNING_JOBS4872Clusters::ClusterPresenter4873 inherits from Gitlab::View::Presenter::Delegated4874 #initialize4875 takes a cluster and optional params4876 exposes cluster4877 forwards missing methods to cluster4878 #provider_label4879 AWS provider4880 is expected to eq "Elastic Kubernetes Service"4881 GCP provider4882 is expected to eq "Google Kubernetes Engine"4883 #provider_management_url4884 AWS provider4885 is expected to include "us-east-1"4886 is expected to include "test-cluster"4887 GCP provider4888 is expected to include "us-central1-a"4889 is expected to include "test-cluster"4890 #show_path4891 project_type cluster4892 is expected to eq "/namespace790/project843/-/clusters/51"4893 group_type cluster4894 is expected to eq "/groups/group326/-/clusters/54"4895 instance_type cluster4896 is expected to eq "/admin/clusters/57"4897 #read_only_kubernetes_platform_fields?4898 with a user-provided cluster4899 is expected to be falsy4900 with a GCP-provided cluster4901 is expected to be truthy4902 #health_data4903 with project cluster4904 behaves like cluster health data4905 is expected to include {:"clusters-path" => "/namespace791/project844/-/clusters", :"dashboard-endpoint" => "/namespace791/project844/-/clusters/60/metrics_dashboard", :"documentation-path" => "/help/user/infrastructure/clusters/manage/clusters_health", :"add-dashboard-documentation-path" => "/help/operations/metrics/dashboards/index.md#add-a-new-dashboard-to-your-project", :"empty-getting-started-svg-path" => (match asset path "/assets/illustrations/monitoring/getting_started.svg"), :"empty-loading-svg-path" => (match asset path "/assets/illustrations/monitoring/loading.svg"), :"empty-no-data-svg-path" => (match asset path "/assets/illustrations/monitoring/no_data.svg"), :"empty-no-data-small-svg-path" => (match asset path "illustrations/chart-empty-state-small.svg"), :"empty-unable-to-connect-svg-path" => (match asset path "/assets/illustrations/monitoring/unable_to_connect.svg"), :"settings-path" => "", :"project-path" => "", :"tags-path" => ""}4906 with group cluster4907 behaves like cluster health data4908 is expected to include {:"clusters-path" => "/groups/group327/-/clusters", :"dashboard-endpoint" => "/groups/group327/-/clusters/63/metrics_dashboard", :"documentation-path" => "/help/user/infrastructure/clusters/manage/clusters_health", :"add-dashboard-documentation-path" => "/help/operations/metrics/dashboards/index.md#add-a-new-dashboard-to-your-project", :"empty-getting-started-svg-path" => (match asset path "/assets/illustrations/monitoring/getting_started.svg"), :"empty-loading-svg-path" => (match asset path "/assets/illustrations/monitoring/loading.svg"), :"empty-no-data-svg-path" => (match asset path "/assets/illustrations/monitoring/no_data.svg"), :"empty-no-data-small-svg-path" => (match asset path "illustrations/chart-empty-state-small.svg"), :"empty-unable-to-connect-svg-path" => (match asset path "/assets/illustrations/monitoring/unable_to_connect.svg"), :"settings-path" => "", :"project-path" => "", :"tags-path" => ""}4909projects/commit/branches.html.haml4910 when branches and tags are available4911 shows default branch4912 shows js expand link4913 shows branch and tag links4914 when branches are available but no tags4915 shows branches4916 shows js expand link4917 shows limit exceeded message for tags4918 when tags are available but no branches (just default)4919 shows default branch4920 shows js expand link4921 shows tags4922 shows limit exceeded for branches4923 when branches and tags are not available4924 shows default branch4925 shows js expand link4926 shows too many to search4927Clusters::Agents::RefreshAuthorizationService4928 #execute4929 group authorization4930 refreshes authorizations for the agent4931 config contains too many groups4932 authorizes groups up to the limit4933 config contains no groups4934 removes all authorizations4935 config contains groups outside of the configuration project hierarchy4936 removes all authorizations4937 configuration project does not belong to a group4938 removes all authorizations4939 project authorization4940 refreshes authorizations for the agent4941 project does not belong to a group, and is in the same namespace as the agent4942 creates an authorization record for the project4943 project does not belong to a group, and is authorizing itself4944 creates an authorization record for the project4945 config contains too many projects4946 authorizes projects up to the limit4947 config contains no groups4948 removes all authorizations4949 config contains groups outside of the configuration project hierarchy4950 removes all authorizations4951 configuration project does not belong to a group4952 removes all authorizations4953Integrations::BaseChatNotification4954 default values4955 is expected to eq :chat4956 validations4957 when active4958 is expected to validate that :webhook cannot be empty/falsy4959 is expected to validate that :labels_to_be_notified_behavior is either ‹"match_any"› or ‹"match_all"›4960 is expected to allow :push_channel to be ‹"#1,#2,#3,#4,#5,#6,#7,#8,#9,#10"›4961 is expected not to allow :push_channel to be ‹"#1,#2,#3,#4,#5,#6,#7,#8,#9,#10,#11"›4962 when inactive4963 is expected not to validate that :webhook cannot be empty/falsy4964 is expected not to validate that :labels_to_be_notified_behavior is either ‹"match_any"› or ‹"match_all"›4965 is expected to allow :push_channel to be ‹"#1,#2,#3,#4,#5,#6,#7,#8,#9,#10"›4966 is expected to allow :push_channel to be ‹"#1,#2,#3,#4,#5,#6,#7,#8,#9,#10,#11"›4967 #execute4968 with a repository4969 returns true4970 with an empty repository4971 returns true4972 when webhook is blank4973 returns false4974 when webhook is not required4975 returns true4976 when event is not supported4977 returns false4978 with a project with name containing spaces4979 does not remove spaces4980 when the data object has a label4981 behaves like notifies the chat integration4982 is expected to receive notify(*(any args)) 1 time4983 with label filter4984 behaves like notifies the chat integration4985 is expected to receive notify(*(any args)) 1 time4986 MergeRequest events4987 behaves like notifies the chat integration4988 is expected to receive notify(*(any args)) 1 time4989 Issue events4990 behaves like notifies the chat integration4991 is expected to receive notify(*(any args)) 1 time4992 Incident events4993 behaves like notifies the chat integration4994 is expected to receive notify(*(any args)) 1 time4995 when labels_to_be_notified_behavior is not defined4996 no matching labels4997 behaves like does not notify the chat integration4998 is expected not to receive notify(*(any args)) 0 times4999 only one label matches5000 behaves like notifies the chat integration5001 is expected to receive notify(*(any args)) 1 time5002 when labels_to_be_notified_behavior is blank5003 no matching labels5004 behaves like does not notify the chat integration5005 is expected not to receive notify(*(any args)) 0 times5006 only one label matches5007 behaves like notifies the chat integration5008 is expected to receive notify(*(any args)) 1 time5009 when labels_to_be_notified_behavior is match_any5010 no label filter5011 behaves like notifies the chat integration5012 is expected to receive notify(*(any args)) 1 time5013 no matching labels5014 behaves like does not notify the chat integration5015 is expected not to receive notify(*(any args)) 0 times5016 only one label matches5017 behaves like notifies the chat integration5018 is expected to receive notify(*(any args)) 1 time5019 when labels_to_be_notified_behavior is match_all5020 no label filter5021 behaves like notifies the chat integration5022 is expected to receive notify(*(any args)) 1 time5023 no matching labels5024 behaves like does not notify the chat integration5025 is expected not to receive notify(*(any args)) 0 times5026 only one label matches5027 behaves like does not notify the chat integration5028 is expected not to receive notify(*(any args)) 0 times5029 labels matches exactly5030 behaves like notifies the chat integration5031 is expected to receive notify(*(any args)) 1 time5032 labels matches but object has more5033 behaves like notifies the chat integration5034 is expected to receive notify(*(any args)) 1 time5035 labels are distributed on multiple objects5036 behaves like does not notify the chat integration5037 is expected not to receive notify(*(any args)) 0 times5038 with "channel" property5039 empty string5040 does not include the channel5041 empty spaces5042 does not include the channel5043 with single channel specified5044 behaves like with channel specified5045 notifies all channels5046 with multiple channel names specified5047 behaves like with channel specified5048 notifies all channels5049 with multiple channel names with spaces specified5050 behaves like with channel specified5051 notifies all channels5052 with duplicate channel names5053 behaves like with channel specified5054 notifies all channels5055 #default_channel_placeholder5056 raises an error5057 #webhook_help5058 raises an error5059 #event_channel_name5060 returns the channel field name for the given event5061 #event_channel_value5062 returns the channel field value for the given event5063 raises an error for unsupported events5064Ci::Group5065 is expected to includes the StaticModel module5066 is expected to respond to #stage5067 is expected to respond to #name5068 is expected to respond to #jobs5069 is expected to respond to #status5070 #size5071 returns the number of statuses in the group5072 #status5073 returns a failed status5074 #detailed_status5075 when there is only one item in the group5076 calls the status from the object itself5077 when there are more than one commit status in the group5078 fabricates a new detailed status object5079 when one of the commit statuses in the group is allowed to fail5080 fabricates a new detailed status object5081 .fabricate5082 returns an array of three groups5083 returns groups with correctly ordered statuses5084 returns groups with correct names5085 when a name is nil on legacy pipelines5086 returns an array of three groups5087Banzai::Filter::References::DesignReferenceFilter5088 does not error when we add redaction to the pipeline5089 .call5090 requires project context5091 #call5092 feature flags5093 design management is not enabled5094 behaves like a no-op filter5095 does nothing5096 wrapped in a <pre/>5097 behaves like a no-op filter5098 does nothing5099 wrapped in a <code/>5100 behaves like a no-op filter5101 does nothing5102 wrapped in a <a/>5103 behaves like a no-op filter5104 does nothing5105 wrapped in a <style/>5106 behaves like a no-op filter5107 does nothing5108 .identifier5109 filename: "simple.png"5110 can parse the reference5111 filename: "SIMPLE.PNG"5112 can parse the reference5113 filename: "has-hyphen.jpg"5114 can parse the reference5115 filename: "snake_case.svg"5116 can parse the reference5117 static properties5118 is expected to eq :design5119 #data_attributes_for5120 is expected to include {:issue => 182, :original => "Added http://localhost/namespace832/project897/-/issues/10/designs/homescreen-2.jpg", :project => 898, :design => 2}5121 internal reference5122 behaves like a reference containing an element node5123 does not escape inner html5124 behaves like a good link reference5125 produces a good link5126 the filename contains invalid characters5127 filename: "with some spaces.png"5128 behaves like a no-op filter5129 does nothing5130 filename: "with <script>console.log(\"pwded\")<%2Fscript>.png"5131 behaves like a no-op filter5132 does nothing5133 filename: "foo\"bar.png"5134 behaves like a no-op filter5135 does nothing5136 filename: "A \"very\" good file.png"5137 behaves like a no-op filter5138 does nothing5139 the reference is to a non-existant design5140 behaves like a no-op filter5141 does nothing5142 design management is disabled for the referenced project5143 behaves like a no-op filter5144 does nothing5145 link pattern5146 matches5147 cross-project / cross-namespace complete reference5148 links to a valid reference5149 link has valid text5150 includes default classes5151 behaves like a reference containing an element node5152 does not escape inner html5153 behaves like a good link reference5154 produces a good link5155 design management is disabled for that project5156 behaves like a no-op filter5157 does nothing5158 the reference is invalid5159 behaves like a no-op filter5160 does nothing5161 performance5162 is linear in the number of projects with design management enabled each design refers to5163Gitlab::Auth::CurrentUserMode5164 when session is available5165 #admin_mode?5166 when the user is a regular user5167 behaves like admin mode cannot be enabled5168 is false by default5169 cannot be enabled with a valid password5170 cannot be enabled with an invalid password5171 cannot be enabled with empty params5172 disable has no effect5173 skipping password validation5174 cannot be enabled with a valid password5175 cannot be enabled with an invalid password5176 bypassing session5177 behaves like admin mode cannot be enabled5178 is false by default5179 cannot be enabled with a valid password5180 cannot be enabled with an invalid password5181 cannot be enabled with empty params5182 disable has no effect5183 skipping password validation5184 cannot be enabled with a valid password5185 cannot be enabled with an invalid password5186 when the user is an admin5187 when admin mode not requested5188 is false by default5189 raises exception if we try to enable it5190 when admin mode requested first5191 is false by default5192 cannot be enabled with an invalid password5193 can be enabled with a valid password5194 can be disabled5195 will expire in the future5196 skipping password validation5197 can be enabled with a valid password5198 can be enabled with an invalid password5199 with two independent sessions5200 cannot be enabled in one and seen in the other5201 bypassing session5202 is active by default5203 enable has no effect5204 disable has no effect5205 #enable_admin_mode!5206 creates a timestamp in the session5207 returns true after successful enable5208 returns false after unsuccessful enable5209 when user is not an admin5210 returns false5211 when admin mode is not requested5212 raises error5213 #disable_admin_mode!5214 sets the session timestamp to nil5215 .with_current_request_admin_mode5216 with a regular user5217 user is not available inside nor outside the yielded block5218 with an admin user5219 admin mode is disabled5220 user is not available inside nor outside the yielded block5221 admin mode is enabled5222 user is available only inside the yielded block5223 when no session available5224 .bypass_session!5225 when providing a block5226 with a regular user5227 admin mode is false5228 with an admin user5229 admin mode is true5230 when not providing a block5231 with a regular user5232 admin mode is false5233 with an admin user5234 admin mode is true5235Gitlab::Checks::TagCheck5236 #validate!5237 raises an error when user does not have access5238 with protected tag5239 as maintainer5240 deletion5241 via web interface5242 is allowed5243 via SSH5244 is prevented5245 update5246 is prevented5247 as developer5248 deletion5249 is prevented5250 creation5251 prevents creation below access level5252 when user has access5253 allows tag creation5254 when tag name is the same as default branch5255 is prevented5256MergeRequests::OldestPerCommitFinder5257 #execute5258 returns a Hash mapping commit SHAs to their oldest merge requests5259 skips merge requests that are not merged5260 includes the merge request for a merge commit5261 includes a merge request that was squashed into the target branch5262 includes a merge request for both a squash and merge commit5263 includes the oldest merge request when a merge commit is present in a newer merge request5264CommitEntity5265 contains path to commit5266 contains URL to commit5267 needs to receive project in the request5268 exposes gravatar url that belongs to author5269 when commit author is a user5270 contains information about user5271 when commit author is not a user5272 does not contain author details5273 when type is not set5274 does not expose extra properties5275 when type is "full"5276 exposes extra properties5277 when commit has signature5278 exposes "signature_html"5279 when commit has pipeline5280 exposes "pipeline_status_path"5281 when commit_url_params is set5282 adds commit_url_params to url and path5283Gitlab::ImportExport::SnippetRepoRestorer5284 when the snippet does not have a bundle file path5285 behaves like no bundle file present5286 creates the repository from the database content5287 does not call snippet update statistics service5288 when the repository creation fails5289 returns false5290 when the snippet bundle path is not present5291 behaves like no bundle file present5292 creates the repository from the database content5293 does not call snippet update statistics service5294 when the repository creation fails5295 returns false5296 when the snippet repository bundle exists5297 refreshes snippet statistics5298 when it is valid5299 creates the repository from the bundle5300 sets same shard in snippet repository as in the repository storage5301 when it is invalid5302 returns false and deletes the repository from disk and the database5303bin/feature-flag5304 FeatureFlagCreator5305 properly creates a feature flag5306 when running on master5307 requires feature branch5308 validates feature flag name5309 argv: [".invalid.feature.flag"], ex: /Provide a name for the feature flag that is/5310 is expected to raise /Provide a name for the feature flag that is/5311 argv: ["existing-feature-flag"], ex: /already exists!/5312 is expected to raise /already exists!/5313 FeatureFlagOptionParser5314 .parse5315 missing feature flag name5316 parses -h5317 param: :name, argv: ["foo"], result: "foo"5318 is expected to eq "foo"5319 param: :amend, argv: ["foo", "--amend"], result: true5320 is expected to eq true5321 param: :force, argv: ["foo", "-f"], result: true5322 is expected to eq true5323 param: :force, argv: ["foo", "--force"], result: true5324 is expected to eq true5325 param: :ee, argv: ["foo", "-e"], result: true5326 is expected to eq true5327 param: :ee, argv: ["foo", "--ee"], result: true5328 is expected to eq true5329 param: :introduced_by_url, argv: ["foo", "-m", "https://url"], result: "https://url"5330 is expected to eq "https://url"5331 param: :introduced_by_url, argv: ["foo", "--introduced-by-url", "https://url"], result: "https://url"5332 is expected to eq "https://url"5333 param: :rollout_issue_url, argv: ["foo", "-i", "https://url"], result: "https://url"5334 is expected to eq "https://url"5335 param: :rollout_issue_url, argv: ["foo", "--rollout-issue-url", "https://url"], result: "https://url"5336 is expected to eq "https://url"5337 param: :dry_run, argv: ["foo", "-n"], result: true5338 is expected to eq true5339 param: :dry_run, argv: ["foo", "--dry-run"], result: true5340 is expected to eq true5341 param: :type, argv: ["foo", "-t", "development"], result: :development5342 is expected to eq :development5343 param: :type, argv: ["foo", "--type", "development"], result: :development5344 is expected to eq :development5345 param: :type, argv: ["foo", "-t", "invalid"], result: nil5346 is expected to eq nil5347 param: :type, argv: ["foo", "--type", "invalid"], result: nil5348 is expected to eq nil5349 param: :group, argv: ["foo", "-g", "group::geo"], result: "group::geo"5350 is expected to eq "group::geo"5351 param: :group, argv: ["foo", "--group", "group::geo"], result: "group::geo"5352 is expected to eq "group::geo"5353 param: :group, argv: ["foo", "-g", "invalid"], result: nil5354 is expected to eq nil5355 param: :group, argv: ["foo", "--group", "invalid"], result: nil5356 is expected to eq nil5357 .read_type5358 when there is only a single type defined5359 returns that type5360 when there is deprecated feature flag type5361 and deprecated type is given5362 shows error message and retries5363 when there are many types defined5364 reads type from stdin5365 when invalid type is given5366 shows error message and retries5367 .read_group5368 reads type from stdin5369 invalid group given5370 shows error message and retries5371 .read_introduced_by_url5372 reads type from stdin5373 empty URL given5374 skips entry5375 invalid URL given5376 shows error message and retries5377 .read_rollout_issue_url5378 reads type from stdin5379 invalid URL given5380 shows error message and retries5381 .read_ee_only5382 is expected to eq false5383Ci::PersistentRef5384 cleans up persistent refs after pipeline finished5385 #exist?5386 when a persistent ref does not exist5387 is expected to eq false5388 when a persistent ref exists5389 is expected to eq true5390 #create5391 when a persistent ref does not exist5392 creates a persistent ref5393 when sha does not exist in the repository5394 fails to create a persistent ref5395 when a persistent ref already exists5396 overwrites a persistent ref5397 #delete5398 when a persistent ref exists5399 deletes the ref5400 when a persistent ref does not exist5401 does not raise an error5402Gitlab::ImportExport::Project::ImportTask5403 when project import is valid5404 performs project import successfully5405 behaves like rake task with disabled object_storage5406 disables direct & background upload only for service call5407 when project import is invalid5408 performs project import successfully5409BulkImports::Projects::Pipelines::RepositoryBundlePipeline5410 #run5411 imports repository into destination project and removes tmpdir5412 when something goes wrong during import5413 marks entity as failed5414 #extract5415 downloads & extracts repository bundle filepath5416 #load5417 creates repository from bundle5418 when file does not exist5419 returns5420 when path is directory5421 returns5422 when path is symlink5423 returns5424 when path is not under tmpdir5425 returns5426 when path is being traversed5427 raises an error5428 #after_run5429 removes tmpdir5430 when tmpdir does not exist5431 does not attempt to remove tmpdir5432Clusters::DestroyService5433 #execute5434 when correct params5435 when params are empty5436 behaves like only removes cluster5437 does not start cleanup5438 destroys the cluster5439 when cleanup param is false5440 behaves like only removes cluster5441 does not start cleanup5442 destroys the cluster5443 when cleanup param is true5444 does not destroy cluster5445 transition cluster#cleanup_status from cleanup_not_started to cleanup_removing_project_namespaces5446Gitlab::Cleanup::OrphanLfsFileReferences5447 dry run5448 prints messages and does not delete references5449 regular run5450 prints messages and deletes invalid reference5451 does nothing if the project has no LFS objects5452 LFS object is in design repository5453 is not removed5454 LFS object is in wiki repository5455 is not removed5456 LFS for project snippets5457 is disabled5458Groups::UpdateSharedRunnersService5459 #execute5460 when current_user is not the group owner5461 results error and does not call any method5462 when current_user is the group owner5463 enable shared Runners5464 group that its ancestors have shared runners disabled5465 results error5466 root group with shared runners disabled5467 receives correct method and succeeds5468 when group has pending builds5469 updates pending builds for the group5470 when shared runners is not toggled5471 does not update pending builds for the group5472 disable shared Runners5473 receives correct method and succeeds5474 when group has pending builds5475 updates pending builds for the group5476 allow descendants to override5477 top level group5478 receives correct method and succeeds5479 when parent does not allow5480 results error5481 when using DISABLED_WITH_OVERRIDE (deprecated)5482 top level group5483 receives correct method and succeeds5484 when parent does not allow5485 results error5486RuboCop::Cop::Graphql::OldTypes5487 # order random5488 does not add an offense for other types in fields5489 does not add an offense for uses outside of field or argument5490 does not add an offense for other types in arguments5491 old_type: "GraphQL::FLOAT_TYPE", message: "Avoid using GraphQL::FLOAT_TYPE. Use GraphQL::Types::Float instead"5492 fields5493 adds an offense when an old type is used5494 adds an offense when an old type is used with other keywords5495 arguments5496 adds an offense when an old type is used5497 adds an offense when an old type is used with other keywords5498 old_type: "GraphQL::BOOLEAN_TYPE", message: "Avoid using GraphQL::BOOLEAN_TYPE. Use GraphQL::Types::Boolean instead"5499 fields5500 adds an offense when an old type is used5501 adds an offense when an old type is used with other keywords5502 arguments5503 adds an offense when an old type is used5504 adds an offense when an old type is used with other keywords5505 old_type: "::GraphQL::STRING_TYPE", message: "Avoid using GraphQL::STRING_TYPE. Use GraphQL::Types::String instead"5506 fields5507 adds an offense when an old type is used5508 adds an offense when an old type is used with other keywords5509 arguments5510 adds an offense when an old type is used5511 adds an offense when an old type is used with other keywords5512 old_type: "GraphQL::ID_TYPE", message: "Avoid using GraphQL::ID_TYPE. Use GraphQL::Types::ID instead"5513 fields5514 adds an offense when an old type is used5515 adds an offense when an old type is used with other keywords5516 arguments5517 adds an offense when an old type is used5518 adds an offense when an old type is used with other keywords5519 old_type: "GraphQL::STRING_TYPE", message: "Avoid using GraphQL::STRING_TYPE. Use GraphQL::Types::String instead"5520 fields5521 adds an offense when an old type is used5522 adds an offense when an old type is used with other keywords5523 arguments5524 adds an offense when an old type is used5525 adds an offense when an old type is used with other keywords5526 old_type: "GraphQL::INT_TYPE", message: "Avoid using GraphQL::INT_TYPE. Use GraphQL::Types::Int instead"5527 fields5528 adds an offense when an old type is used5529 adds an offense when an old type is used with other keywords5530 arguments5531 adds an offense when an old type is used5532 adds an offense when an old type is used with other keywords5533 old_type: "::GraphQL::INT_TYPE", message: "Avoid using GraphQL::INT_TYPE. Use GraphQL::Types::Int instead"5534 fields5535 adds an offense when an old type is used5536 adds an offense when an old type is used with other keywords5537 arguments5538 adds an offense when an old type is used5539 adds an offense when an old type is used with other keywords5540 old_type: "::GraphQL::ID_TYPE", message: "Avoid using GraphQL::ID_TYPE. Use GraphQL::Types::ID instead"5541 fields5542 adds an offense when an old type is used5543 adds an offense when an old type is used with other keywords5544 arguments5545 adds an offense when an old type is used5546 adds an offense when an old type is used with other keywords5547 old_type: "::GraphQL::FLOAT_TYPE", message: "Avoid using GraphQL::FLOAT_TYPE. Use GraphQL::Types::Float instead"5548 fields5549 adds an offense when an old type is used5550 adds an offense when an old type is used with other keywords5551 arguments5552 adds an offense when an old type is used5553 adds an offense when an old type is used with other keywords5554 old_type: "::GraphQL::BOOLEAN_TYPE", message: "Avoid using GraphQL::BOOLEAN_TYPE. Use GraphQL::Types::Boolean instead"5555 fields5556 adds an offense when an old type is used5557 adds an offense when an old type is used with other keywords5558 arguments5559 adds an offense when an old type is used5560 adds an offense when an old type is used with other keywords5561PersonalSnippet5562 #embeddable?5563 returns true when snippet is public5564 returns true when snippet is public5565 returns true when snippet is public5566 behaves like model with repository5567 container class includes HasRepository5568 #commits_by5569 retrieves several commits from the repository by oid5570 #web_url5571 when given the only_path option5572 when only_path is false5573 returns the full web URL for this repo5574 when only_path is true5575 returns the relative web URL for this repo5576 when only_path is nil5577 returns the full web URL for this repo5578 when not given the only_path option5579 returns the full web URL for this repo5580 #url_to_repo5581 returns the SSH URL to the repository5582 #ssh_url_to_repo5583 returns the SSH URL to the repository5584 #http_url_to_repo5585 returns the HTTP URL to the repository5586 #repository5587 returns valid repo5588 uses the same container5589 #storage5590 returns valid storage5591 #full_path5592 returns valid full_path5593 #lfs_enabled?5594 returns the expected value5595 #empty_repo?5596 when the repo does not exist5597 returns true5598 when the repo exists5599 returns the empty state of the repository5600 #valid_repo?5601 is expected to equal false5602 is expected to equal true5603 #repository_exists?5604 is expected to equal false5605 is expected to equal true5606 #repo_exists?5607 is expected to equal false5608 is expected to equal true5609 #root_ref5610 is expected to equal true5611 is expected to equal false5612 is expected to equal false5613 Respond to5614 is expected to respond to #base_dir5615 is expected to respond to #disk_path5616 is expected to respond to #gitlab_shell5617 #change_head5618 delegates #change_head to repository5619 #after_repository_change_head5620 calls #reload_default_branch5621 #parent_user5622 returns the snippet author5623WorkItemPolicy5624 read_work_item5625 when project is public5626 when user is not a member of the project5627 is expected to be allowed :read_work_item5628 when user is a member of the project5629 is expected to be allowed :read_work_item5630 when work_item is confidential5631 is expected not to be allowed :read_work_item5632 when project is private5633 when user is not a member of the project5634 is expected to be disallowed :read_work_item5635 when user is a member of the project5636 is expected to be allowed :read_work_item5637 admin_work_item5638 when user is reporter5639 is expected to be allowed :admin_work_item5640 when user is guest5641 is expected to be disallowed :admin_work_item5642 when guest authored the work item5643 is expected to be disallowed :admin_work_item5644 update_work_item5645 when user is reporter5646 is expected to be allowed :update_work_item5647 when user is guest5648 is expected to be disallowed :update_work_item5649 when guest authored the work item5650 is expected to be allowed :update_work_item5651 delete_work_item5652 when user is a member of the project5653 when the user is not the author of the work item5654 is expected to be disallowed :delete_work_item5655 when guest authored the work item5656 is expected to be allowed :delete_work_item5657 when user is member of the project's group5658 when the user is not the author of the work item5659 is expected to be disallowed :delete_work_item5660 when user authored the work item5661 is expected to be allowed :delete_work_item5662 when user is not a member of the project5663 when the user authored the work item5664 is expected to be disallowed :delete_work_item5665 when the user is not the author of the work item5666 is expected to be disallowed :delete_work_item5667 admin_parent_link5668 when user is reporter5669 is expected to be allowed :admin_parent_link5670 when user is guest5671 is expected to be disallowed :admin_parent_link5672 when guest authored the work item5673 is expected to be disallowed :admin_parent_link5674 when guest is assigned to the work item5675 is expected to be disallowed :admin_parent_link5676 set_work_item_metadata5677 when user is reporter5678 is expected to be allowed :set_work_item_metadata5679 when user is guest5680 is expected to be disallowed :set_work_item_metadata5681 when the work item is not persisted yet5682 is expected to be allowed :set_work_item_metadata5683Clusters::AgentAuthorizationsFinder5684 #execute5685 project authorizations5686 agent configuration project does not share a root namespace with the given project5687 is expected to be empty5688 agent configuration project shares a root namespace, but does not belong to an ancestor of the given project5689 is expected to contain exactly #<Clusters::Agents::ProjectAuthorization id: 34, project_id: 991, agent_id: 13, config: {"default_namespace"=>"production"}>5690 with project authorizations present5691 is expected to contain exactly #<Clusters::Agents::ProjectAuthorization id: 35, project_id: 991, agent_id: 15, config: {"default_namespace"=>"production"}>5692 with overlapping authorizations5693 is expected to contain exactly #<Clusters::Agents::ProjectAuthorization id: 36, project_id: 991, agent_id: 17, config: {"default_namespace"=>"production"}>5694 behaves like access_as5695 agent5696 is expected to contain exactly #<Clusters::Agents::ProjectAuthorization id: 37, project_id: 991, agent_id: 15, config: {"access_as"=>{"agent"=>{}}}>5697 impersonate5698 is expected to be empty5699 ci_user5700 is expected to be empty5701 ci_job5702 is expected to be empty5703 implicit authorizations5704 returns authorizations for agents directly associated with the project5705 authorized groups5706 agent configuration project is outside the requesting project hierarchy5707 is expected to be empty5708 multiple agents are authorized for the same group5709 returns authorizations for all agents5710 a single agent is authorized to more than one matching group5711 picks the authorization for the closest group to the requesting project5712 agent configuration project does not belong to an ancestor of the authorized group5713 is expected to contain exactly #<Clusters::Agents::GroupAuthorization id: 37, group_id: 3605, agent_id: 13, config: {"default_namespace"=>"production"}>5714 behaves like access_as5715 agent5716 is expected to contain exactly #<Clusters::Agents::GroupAuthorization id: 38, group_id: 3602, agent_id: 15, config: {"access_as"=>{"agent"=>{}}}>5717 impersonate5718 is expected to be empty5719 ci_user5720 is expected to be empty5721 ci_job5722 is expected to be empty5723Gitlab::Audit::Auditor5724 .audit5725 when authentication event5726 creates an authentication event5727 logs audit events to database5728 logs audit events to file5729 when overriding the create datetime5730 logs audit events to database5731 logs audit events to file5732 when overriding the additional_details5733 logs audit events to database5734 logs audit events to file5735 when overriding the target_details5736 logs audit events to database5737 logs audit events to file5738 when authentication event is false5739 does not create an authentication event5740 with permitted target5741 with feature_flag5742 logs audit events to database5743 when authentication event is invalid5744 tracks error5745 does not throw exception5746 when audit events are invalid5747 tracks error5748 does not throw exception5749 when audit event is not saved in database due to some database infra issue5750 calls log_to_file_and_stream with in memory events5751 does not throw exception5752IssuePresenter5753 #web_url5754 returns correct path5755 when issue type is task5756 returns a work item url using iid for the task5757 #subscribed?5758 returns not subscribed5759 returns subscribed5760 #issue_path5761 returns correct path5762 when issue type is task5763 returns a work item path using iid for the task5764 #project_emails_disabled?5765 returns false when emails notifications is enabled for project5766 when emails notifications is disabled for project5767 is expected to equal true5768 #service_desk_reply_to5769 when issue is not a service desk issue5770 is expected to be nil5771 when issue is a service desk issue5772 is expected to eq "an*****@e*****.c**"5773 with signed in user5774 when user has no role in project5775 is expected to eq "an*****@e*****.c**"5776 when user has guest role in project5777 is expected to eq "an*****@e*****.c**"5778 when user has reporter role in project5779 is expected to eq "any@email.com"5780 when user has developer role in project5781 is expected to eq "any@email.com"5782 #issue_email_participants5783 is expected to be empty5784 when an issue email participant exists5785 has one element that is a presenter5786Gitlab::GitalyClient::ObjectPoolService5787 #create5788 exists on disk5789 when the pool already exists5790 returns an error5791 #delete5792 removes the repository from disk5793 when called twice5794 doesn't raise an error5795 #fetch5796 without changes5797 fetches changes5798 with new reference in source repository5799 fetches changes5800Clusters::AgentTokens::CreateService5801 #execute5802 does not create a new token due to user permissions5803 returns permission errors5804 with user permissions5805 creates a new token5806 returns success status5807 returns token information5808 creates an activity event5809 when params are invalid5810 does not create a new token5811 does not create an activity event5812 returns validation errors5813Gitlab::Checks::ChangesAccess5814 #validate!5815 without failed checks5816 doesn't raise an error5817 calls lfs checks5818 when time limit was reached5819 raises a TimeoutError5820 #commits5821 calls #new_commits5822 when change is for notes ref5823 does not return any commits5824 when changes contain empty revisions5825 with oldrev5826 behaves like returns only commits with non empty revisions5827 is expected to contain exactly #<InstanceDouble(Commit) (anonymous)>5828 without oldrev5829 behaves like returns only commits with non empty revisions5830 is expected to contain exactly #<InstanceDouble(Commit) (anonymous)>5831 #commits_for5832 with no commits5833 behaves like a listing of new commits5834 returns expected commits5835 with unrelated commits5836 behaves like a listing of new commits5837 returns expected commits5838 with single related commit5839 behaves like a listing of new commits5840 returns expected commits5841 with single related and unrelated commit5842 behaves like a listing of new commits5843 returns expected commits5844 with multiple related commits5845 behaves like a listing of new commits5846 returns expected commits5847 with merge commits5848 behaves like a listing of new commits5849 returns expected commits5850 with criss-cross merges5851 behaves like a listing of new commits5852 returns expected commits5853 with over-push5854 behaves like a listing of new commits5855 returns expected commits5856 #single_change_accesses5857 with no changes5858 behaves like #single_change_access5859 returns an array of SingleChangeAccess5860 with a single change and no new commits5861 behaves like #single_change_access5862 returns an array of SingleChangeAccess5863 with a single change and new commits5864 behaves like #single_change_access5865 returns an array of SingleChangeAccess5866 with multiple changes5867 behaves like #single_change_access5868 returns an array of SingleChangeAccess5869Packages::Cleanup::ExecutePolicyWorker5870 #perform_work5871 with no policies5872 behaves like not executing any policy5873 is a no op5874 with no runnable policies5875 behaves like not executing any policy5876 is a no op5877 with runnable policies linked to no packages5878 behaves like not executing any policy5879 is a no op5880 with runnable policies linked to packages5881 is labeled as idempotent5882 performs multiple times sequentially without raising an exception5883 executes the policy5884 with a timeout5885 executes the policy partially5886 with several eligible policies5887 executes the most urgent policy5888 with runnable policy linked to packages in a disabled state5889 behaves like not executing any policy5890 is a no op5891 #remaining_work_count5892 with no policies5893 is expected to eq 05894 with no runnable policies5895 is expected to eq 05896 with runnable policies linked to no packages5897 is expected to eq 05898 with runnable policies linked to packages5899 is expected to eq 15900 with runnable policy linked to packages in a disabled state5901 is expected to eq 05902 #max_running_jobs5903 is expected to eq 505904Gitlab::Ci::Config::Entry::Policy5905 when using simplified policy5906 validations5907 when entry config value is valid5908 when config is a branch or tag name5909 #valid?5910 is valid5911 #value5912 returns refs hash5913 when config is a regexp5914 #valid?5915 is valid5916 when config is an empty regexp5917 #valid?5918 is valid5919 when using unsafe regexp5920 is not valid5921 when config is a special keyword5922 #valid?5923 is valid5924 when entry value is not valid5925 #errors5926 saves errors5927 when using complex policy5928 when specifying refs policy5929 is a correct configuraton5930 when using unsafe regexp5931 is not valid5932 when specifying kubernetes policy5933 is a correct configuraton5934 when specifying invalid kubernetes policy5935 reports an error about invalid policy5936 when specifying valid variables expressions policy5937 is a correct configuraton5938 when specifying variables expressions in invalid format5939 reports an error about invalid format5940 when specifying invalid variables expressions statement5941 reports an error about invalid statement5942 when specifying invalid variables expressions token5943 reports an error about invalid expression5944 when using invalid variables expressions regexp5945 reports an error about invalid expression5946 when specifying a valid changes policy5947 is a correct configuraton5948 when changes policy is invalid5949 returns errors5950 when changes policy is invalid5951 returns errors5952 when specifying unknown policy5953 returns error about invalid key5954 when policy is empty5955 is not a valid configuration5956 when policy strategy does not match5957 returns information about errors5958 #value5959 when default value has been provided5960 when user overrides default values5961 does not include default values5962 when default value has not been defined5963 includes default values5964 .default5965 does not have default policy5966Grafana::Client5967 #get_dashboard5968 behaves like calls grafana api5969 calls grafana api5970 behaves like no redirects5971 does not follow redirects5972 behaves like handles exceptions5973 HTTParty::Error5974 is expected to raise Grafana::Client::Error with "Error when connecting to Grafana"5975 Net::OpenTimeout5976 is expected to raise Grafana::Client::Error with "Connection to Grafana timed out"5977 SocketError5978 is expected to raise Grafana::Client::Error with "Received SocketError when trying to connect to Grafana"5979 OpenSSL::SSL::SSLError5980 is expected to raise Grafana::Client::Error with "Grafana returned invalid SSL data"5981 Errno::ECONNREFUSED5982 is expected to raise Grafana::Client::Error with "Connection refused"5983 StandardError5984 is expected to raise Grafana::Client::Error with "Grafana request failed due to StandardError"5985 #get_datasource5986 behaves like calls grafana api5987 calls grafana api5988 behaves like no redirects5989 does not follow redirects5990 behaves like handles exceptions5991 HTTParty::Error5992 is expected to raise Grafana::Client::Error with "Error when connecting to Grafana"5993 Net::OpenTimeout5994 is expected to raise Grafana::Client::Error with "Connection to Grafana timed out"5995 SocketError5996 is expected to raise Grafana::Client::Error with "Received SocketError when trying to connect to Grafana"5997 OpenSSL::SSL::SSLError5998 is expected to raise Grafana::Client::Error with "Grafana returned invalid SSL data"5999 Errno::ECONNREFUSED6000 is expected to raise Grafana::Client::Error with "Connection refused"6001 StandardError6002 is expected to raise Grafana::Client::Error with "Grafana request failed due to StandardError"6003 #proxy_datasource6004 behaves like calls grafana api6005 calls grafana api6006 behaves like no redirects6007 does not follow redirects6008 behaves like handles exceptions6009 HTTParty::Error6010 is expected to raise Grafana::Client::Error with "Error when connecting to Grafana"6011 Net::OpenTimeout6012 is expected to raise Grafana::Client::Error with "Connection to Grafana timed out"6013 SocketError6014 is expected to raise Grafana::Client::Error with "Received SocketError when trying to connect to Grafana"6015 OpenSSL::SSL::SSLError6016 is expected to raise Grafana::Client::Error with "Grafana returned invalid SSL data"6017 Errno::ECONNREFUSED6018 is expected to raise Grafana::Client::Error with "Connection refused"6019 StandardError6020 is expected to raise Grafana::Client::Error with "Grafana request failed due to StandardError"6021Banzai::Filter::InlineMetricsFilter6022 leaves links to other dashboards unchanged6023 with /-/environments/:environment_id/metrics URL6024 with no query params6025 behaves like a metrics embed filter6026 when the document has an external link6027 leaves regular non-metrics links unchanged6028 when the document contains an embeddable link6029 leaves the original link unchanged6030 appends a metrics charts placeholder6031 in a paragraph6032 appends a metrics charts placeholder after the enclosing paragraph6033 with query params6034 behaves like a metrics embed filter6035 when the document has an external link6036 leaves regular non-metrics links unchanged6037 when the document contains an embeddable link6038 leaves the original link unchanged6039 appends a metrics charts placeholder6040 in a paragraph6041 appends a metrics charts placeholder after the enclosing paragraph6042 with /-/metrics?environment=:environment_id URL6043 with query params6044 behaves like a metrics embed filter6045 when the document has an external link6046 leaves regular non-metrics links unchanged6047 when the document contains an embeddable link6048 leaves the original link unchanged6049 appends a metrics charts placeholder6050 in a paragraph6051 appends a metrics charts placeholder after the enclosing paragraph6052 with only environment in query params6053 behaves like a metrics embed filter6054 when the document has an external link6055 leaves regular non-metrics links unchanged6056 when the document contains an embeddable link6057 leaves the original link unchanged6058 appends a metrics charts placeholder6059 in a paragraph6060 appends a metrics charts placeholder after the enclosing paragraph6061 with no query params6062 ignores metrics URL without environment parameter6063Gitlab::VisibilityLevelChecker6064 #level_restricted?6065 when visibility level is allowed6066 returns false with nil for visibility level6067 when visibility level is restricted6068 for public project6069 for non-admin user6070 returns true and visibility name6071 for admin user6072 returns false and a nil visibility level6073 overridden visibility6074 when restricted6075 returns true and visibility name6076 when misspelled6077 returns false with nil for visibility level6078 when import_data is missing6079 returns false with nil for visibility level6080Boards::Lists::ListService6081 #execute6082 when board parent is a project6083 behaves like lists list service6084 when the board has a backlog list6085 does not create a backlog list6086 returns board's lists6087 when hide_backlog_list is true6088 hides backlog list6089 when hide_closed_list is true6090 hides closed list6091 when the board does not have a backlog list6092 creates a backlog list6093 does not create a backlog list when create_default_lists is false6094 returns board's lists6095 when wanting a specific list6096 returns list specified by id6097 returns empty result when list is not found6098 behaves like FOSS lists only6099 when board contains a non FOSS list6100 returns only FOSS board's lists6101 when board parent is a group6102 behaves like lists list service6103 when the board has a backlog list6104 does not create a backlog list6105 returns board's lists6106 when hide_backlog_list is true6107 hides backlog list6108 when hide_closed_list is true6109 hides closed list6110 when the board does not have a backlog list6111 creates a backlog list6112 does not create a backlog list when create_default_lists is false6113 returns board's lists6114 when wanting a specific list6115 returns list specified by id6116 returns empty result when list is not found6117 behaves like FOSS lists only6118 when board contains a non FOSS list6119 returns only FOSS board's lists6120Types::Terraform::StateVersionType6121 is expected to eq "TerraformStateVersion"6122 is expected to require graphql authorizations :read_terraform_state6123 fields6124 is expected to have graphql fields :id, :created_by_user, :job, :download_path, :serial, :created_at, and :updated_at6125 is expected to be non null6126 is expected not to be non null6127 is expected not to be non null6128 is expected not to be non null6129 is expected not to be non null6130 is expected to be non null6131 is expected to be non null6132 query6133 returns job of the latest version6134 behaves like returning latest version6135 returns latest version of terraform state6136 when user cannot read jobs6137 does not return job of the latest version6138 behaves like returning latest version6139 returns latest version of terraform state6140TimeTracking::TimelogCategory6141 associations6142 is expected to belong to namespace required: false6143 default values6144 is expected to eq #<Gitlab::Color:0x00007f2e8f5407a8 @value="#6699cc">6145 validations6146 is expected to validate that :namespace cannot be empty/falsy6147 is expected to validate that :name cannot be empty/falsy6148 is expected to validate that :name is case-insensitively unique within the scope of :namespace_id6149 is expected to validate that the length of :name is at most 2556150 is expected to validate that the length of :description is at most 10246151 is expected to validate that the length of :color is at most 76152 validations when billable6153 is expected to validate that :billing_rate cannot be empty/falsy6154 is expected to validate that :billing_rate looks like a number greater than 06155 #name6156 strips name6157 #color6158 strips color6159 #find_by_name6160 finds the correct timelog category6161 returns empty if not found6162Packages::Detail::PackagePresenter6163 #detail_view6164 with build_info6165 returns details with pipeline6166 with multiple build_infos6167 returns details with two pipelines6168 with package_file_build_infos6169 returns details with package_file pipeline6170 without build info6171 returns details without pipeline6172 with conan metadata6173 returns conan_metadatum6174 with composer metadata6175 returns composer_metadatum6176 with nuget_metadatum6177 returns nuget_metadatum6178 with dependency_links6179 returns the correct dependency link6180 with package files pending destruction6181 is expected not to include 156182Types::TodoType6183 has the correct fields6184 is expected to require graphql authorizations :read_todo6185 project field6186 when the project is public6187 when the user does not have access6188 returns the project6189 when the project is not public6190 when the user does not have access6191 returns null6192 when the user does have access6193 returns the project6194 group field6195 when the group is public6196 when the user does not have access6197 returns the group6198 when the group is not public6199 when the user does not have access6200 returns null6201 when the user does have access6202 returns the group6203Gitlab::MailRoom6204 #enabled_configs6205 when both email and address is set6206 returns email configs6207 when the yml file cannot be found6208 returns an empty list6209 when email is disabled6210 returns an empty list6211 when email is enabled but address is not set6212 returns an empty list6213 when a config value is missing from the yml file6214 overwrites missing values with the default6215 when only incoming_email config is present6216 returns only encoming_email6217 setting up redis settings6218 sets delivery method to Sidekiq by default6219 sets redis config6220 setting up the log path6221 if the log path is a relative path6222 expands the log path to an absolute value6223 if the log path is absolute path6224 leaves the path as-is6225 #enabled_mailbox_types6226 when all mailbox types are enabled6227 returns the mailbox types6228 when an mailbox_types is disabled6229 returns the mailbox types6230 when email is disabled6231 returns an empty array6232 #worker_for6233 matched mailbox types6234 returns the constantized worker class6235 non-existing mailbox_type6236 returns nil6237 config/mail_room.yml6238 when delivery_method is implicit6239 behaves like renders mail-specific config file correctly6240 renders mail room config file correctly6241 behaves like renders arbitration options correctly6242 renders arbitration options correctly6243 behaves like renders the sidekiq delivery method and options correctly6244 renders the sidekiq delivery method and options correctly6245 when delivery_method is explicitly sidekiq6246 behaves like renders mail-specific config file correctly6247 renders mail room config file correctly6248 behaves like renders arbitration options correctly6249 renders arbitration options correctly6250 behaves like renders the sidekiq delivery method and options correctly6251 renders the sidekiq delivery method and options correctly6252 when delivery_method is webhook (internally postback in mail_room)6253 renders the webhook (postback) delivery method and options correctly6254 behaves like renders mail-specific config file correctly6255 renders mail room config file correctly6256 behaves like renders arbitration options correctly6257 renders arbitration options correctly6258 mailroom encrypted configuration6259 when parsing secrets.yml6260 reads in the secrets.yml file as erb and merges shared and test environments6261 when parsing gitlab.yml6262 returns default encrypted_secret_file path6263 returns encrypted_secret_file relative to custom shared path6264 returns custom encrypted_secret_file6265 when using encrypted secrets6266 renders the encrypted secrets into the configuration correctly6267X509Certificate6268 validation6269 is expected to validate that :subject_key_identifier cannot be empty/falsy6270 is expected to validate that :subject cannot be empty/falsy6271 is expected to validate that :email cannot be empty/falsy6272 is expected to validate that :serial_number cannot be empty/falsy6273 is expected to validate that :x509_issuer_id cannot be empty/falsy6274 associations6275 is expected to belong to x509_issuer required: true6276 .safe_create!6277 creates a new certificate if it was not found6278 assigns the correct attributes when creating6279 calls mark_commit_signatures_unverified6280 certificate revocation handling6281 starts a revoke worker if certificate is revoked6282 does not starts a revoke worker for good certificates6283 validators6284 accepts correct subject_key_identifier6285 rejects invalid subject_key_identifier6286 accepts correct email address6287 rejects invalid email6288 accepts valid serial_number6289 rejects invalid serial_number6290WikiPage::Slug6291 Associations6292 is expected to belong to wiki_page_meta required: false6293 refers correctly to the wiki_page_meta6294 scopes6295 canonical6296 there are no slugs6297 is expected to be empty6298 there are some non-canonical slugs6299 is expected to be empty6300 there is at least one canonical slugs6301 is expected not to be empty6302 Validations6303 is expected to validate that :slug is case-sensitively unique within the scope of :wiki_page_meta_id6304 is expected to validate that the length of :slug is at most 20486305 is expected not to allow :slug to be ‹nil›6306 only_one_slug_can_be_canonical_per_meta_record6307 there are no other slugs6308 is expected to be valid6309 the current slug is canonical6310 is expected to be valid6311 there are other slugs, but they are not canonical6312 is expected to be valid6313 the current slug is canonical6314 is expected to be valid6315 there is already a canonical slug6316 is expected to be valid6317 the current slug is canonical6318 is expected not to be valid6319Projects::MoveDeployKeysProjectsService6320 #execute6321 moves the user's deploy keys from one project to another6322 does not link existent deploy_keys in the current project6323 rollbacks changes if transaction fails6324 when remove_remaining_elements is false6325 does not remove remaining deploy keys projects6326 when SHA256 fingerprint is missing6327 moves the user's deploy keys from one project to another6328Gitlab::Analytics::CycleAnalytics::Aggregated::RecordsFetcher6329 #serialized_records6330 sorting6331 when sorting by end event DESC6332 behaves like match returned records6333 returns issues in the correct order6334 passes a hash with all expected attributes to the serializer6335 when intervalstyle setting is configured to "postgres"6336 avoids nil durations6337 when sorting by end event ASC6338 behaves like match returned records6339 returns issues in the correct order6340 passes a hash with all expected attributes to the serializer6341 when sorting by duration DESC6342 behaves like match returned records6343 returns issues in the correct order6344 passes a hash with all expected attributes to the serializer6345 when sorting by duration ASC6346 behaves like match returned records6347 returns issues in the correct order6348 passes a hash with all expected attributes to the serializer6349 pagination6350 behaves like match returned records6351 returns issues in the correct order6352 passes a hash with all expected attributes to the serializer6353 when passing a block to serialized_records method6354 yields the underlying stage event scope6355 when the issue record no longer exists6356 skips non-existing issue records6357Bitbucket::Representation::Repo6358 #has_wiki?6359 is expected to be falsey6360 is expected to be truthy6361 #name6362 is expected to eq "test"6363 #valid?6364 is expected to be falsey6365 is expected to be truthy6366 #full_name6367 is expected to eq "test_full"6368 #description6369 is expected to eq "desc"6370 #issues_enabled?6371 is expected to be falsey6372 is expected to be truthy6373 #owner_and_slug6374 is expected to eq ["ben", "test"]6375 #owner6376 is expected to eq "ben"6377 #slug6378 is expected to eq "test"6379 #clone_url6380 builds url6381ManualInverseAssociation6382 .manual_inverse_association6383 when the relation exists6384 loads the relation6385 does not perform extra queries after loading6386 allows reloading the relation6387 when the relation does not return a value6388 does not try to set an inverse6389Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation6390 # order random6391 is expected to be a kind of Gitlab::Database::SharedModel(abstract)6392 .constraint_type_exists?6393 is expected to be truthy6394 always asks the database6395 #handle_exception!6396 increases the attempts number6397 saves error details6398 scopes6399 .ordered6400 is expected to eq [#<Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation id: 3, created_at: "2023-03-..."fk_users_id_2", table_name: "users", last_error: nil, attempts: 1, constraint_type: "foreign_key">]6401 .foreign_key_type6402 is expected to eq [#<Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation id: 4, created_at: "2023-03-..."fk_users_id_4", table_name: "users", last_error: nil, attempts: 1, constraint_type: "foreign_key">]6403 does not apply the filter if the column is not present6404 .check_constraint_type6405 is expected to eq [#<Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation id: 9, created_at: "2023-03-...sers_id_9", table_name: "users", last_error: nil, attempts: 0, constraint_type: "check_constraint">]6406 .table_available?6407 is expected to be truthy6408 when the table does not exist6409 is expected to be falsy6410 validations6411 is expected to validate that :name cannot be empty/falsy6412 is expected to validate that :name is case-sensitively unique within the scope of :table_name6413 is expected to validate that the length of :name is at most 636414 is expected to validate that :table_name cannot be empty/falsy6415 is expected to validate that the length of :table_name is at most 636416 is expected to validate that the length of :last_error is at most 100006417Analytics::CycleAnalytics::ValueStream6418 # order random6419 #custom?6420 when value stream is not persisted6421 when the name of the value stream is default6422 is expected not to be custom6423 when the name of the value stream is not default6424 is expected to be custom6425 when value stream is persisted6426 is expected to be custom6427 ordering of stages6428 stages attribute6429 sorts stages by relative position6430 validations6431 is expected to validate that :name cannot be empty/falsy6432 is expected to validate that the length of :name is at most 1006433 validates uniqueness of name6434 behaves like value stream analytics namespace models6435 when ProjectNamespace is given6436 is valid6437 when Namespace is given6438 fails6439 associations6440 is expected to belong to namespace required: true6441 is expected to have many stages6442IncidentManagement::TimelineEventTag6443 # order random6444 validations6445 is expected to validate that :name cannot be empty/falsy6446 is expected to validate that the length of :name is at most 2556447 is expected to validate that :name is unique within the scope of :project_id6448 is expected to allow :name to be ‹"Test tag 1"›6449 is expected not to allow :name to be ‹"Test tag, 1"›6450 is expected not to allow :name to be ‹""›6451 is expected not to allow :name to be ‹"ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"›6452 #by_names scope6453 returns two matching tags6454 returns tags on the project6455 returns one matching tag with case insensitive6456 constants6457 contains predefined tags6458 .pluck_names6459 returns the names of the tags6460 associations6461 is expected to belong to project required: false6462 is expected to have many timeline_event_tag_links class_name => IncidentManagement::TimelineEventTagLink6463 is expected to have many timeline_events class_name => IncidentManagement::TimelineEvent through timeline_event_tag_links6464Gitlab::Database::AsyncConstraints::MigrationHelpers6465 # order random6466 with async check constraint validations6467 #prepare_async_check_constraint_validation6468 creates the record for async validation6469 when the check constraint does not exist6470 returns an error6471 when the record already exists6472 does attempt to create the record6473 when the async validation table does not exist6474 does not raise an error6475 #unprepare_async_check_constraint_validation6476 with check constraints6477 destroys the record6478 when the async validation table does not exist6479 does not raise an error6480 with other types of constraints6481 does not destroy the record6482 with async FK validation on regular tables6483 #prepare_async_foreign_key_validation6484 creates the record for the async FK validation6485 when an explicit name is given6486 creates the record with the given name6487 when the FK does not exist6488 returns an error6489 when the record already exists6490 does attempt to create the record6491 when the async FK validation table does not exist6492 does not raise an error6493 #unprepare_async_foreign_key_validation6494 with foreign keys6495 destroys the record6496 when an explicit name is given6497 destroys the record6498 when the async fk validation table does not exist6499 does not raise an error6500 with other types of constraints6501 does not destroy the record6502 with partitioned tables6503 #prepare_partitioned_async_foreign_key_validation6504 delegates to prepare_async_foreign_key_validation for each partition6505 #unprepare_partitioned_async_foreign_key_validation6506 delegates to unprepare_async_foreign_key_validation for each partition6507Deployments::LinkMergeRequestWorker6508 #perform6509 links merge requests to the deployment6510 does not link merge requests when the deployment is not found6511 idempotent6512 is labeled as idempotent6513 performs multiple times sequentially without raising an exception6514 links merge requests to deployment6515Gitlab::Ci::Build::Artifacts::Metadata::Entry6516 /file/with/absolute_path6517 is expected to be file6518 is expected to have parent6519 #basename6520 is expected to eq "absolute_path"6521 path/dir_1/6522 is expected to have parent6523 is expected to be directory6524 #basename6525 is expected to eq "dir_1/"6526 #name6527 is expected to eq "dir_1"6528 #parent6529 is expected to eq Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/6530 #children6531 is expected to all be an instance of Gitlab::Ci::Build::Artifacts::Metadata::Entry6532 is expected to contain exactly Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/dir_1/file_1, Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/dir_1/file_b, and Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/dir_1/subdir/6533 #files6534 is expected to all be file6535 is expected to all be an instance of Gitlab::Ci::Build::Artifacts::Metadata::Entry6536 is expected to contain exactly Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/dir_1/file_1 and Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/dir_1/file_b6537 #directories6538 without options6539 is expected to all be directory6540 is expected to all be an instance of Gitlab::Ci::Build::Artifacts::Metadata::Entry6541 is expected to contain exactly Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/dir_1/subdir/6542 with option parent: true6543 is expected to all be directory6544 is expected to all be an instance of Gitlab::Ci::Build::Artifacts::Metadata::Entry6545 is expected to contain exactly Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/dir_1/subdir/ and Gitlab::Ci::Build::Artifacts::Metadata::Entry: path/6546 #nodes6547 is expected to eq 26548 #exists?6549 is expected to equal true6550 #empty?6551 is expected to equal false6552 #total_size6553 is expected to eq 306554 empty path6555 is expected not to have parent6556 #children6557 is expected to eq 36558 path/dir_1/subdir/subfile6559 #nodes6560 is expected to eq 46561 #blob6562 returns a blob representing the entry data6563 non-existent/6564 #empty?6565 is expected to equal true6566 #exists?6567 is expected to equal false6568 another_directory/6569 #empty?6570 is expected to equal true6571 #metadata6572 is expected to eq "/path/file1"6573Banzai::ReferenceParser::FeatureFlagParser6574 #nodes_visible_to_user6575 when the link has a data-issue attribute6576 behaves like referenced feature visibility6577 when feature is disabled6578 does not create reference6579 when feature is enabled only for team members6580 does not create reference for non member6581 creates reference for member6582 when feature is enabled6583 creates reference6584 #referenced_by6585 when the link has a data-feature-flag attribute6586 using an existing feature flag ID6587 returns an Array of feature flags6588 using a non-existing feature flag ID6589 returns an empty Array6590Projects::GroupLinks::DestroyService#execute6591 removes group from project6592 returns false if group_link is blank6593 project authorizations refresh6594 calls AuthorizedProjectUpdate::ProjectRecalculateWorker to update project authorizations6595 calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations6596 updates project authorizations of users who had access to the project via the group share6597 todos cleanup6598 when project is private6599 triggers todos cleanup6600 when project is public or internal6601 when project is public6602 behaves like removes confidential todos6603 does not trigger todos cleanup6604 when project is internal6605 behaves like removes confidential todos6606 does not trigger todos cleanup6607Packages::MarkPackageFilesForDestructionService6608 #execute6609 with no package files6610 behaves like executing successfully6611 marks package files for destruction6612 executes successfully6613 with a single package file6614 behaves like executing successfully6615 marks package files for destruction6616 executes successfully6617 with many package files6618 behaves like executing successfully6619 marks package files for destruction6620 executes successfully6621 with a batch deadline6622 when the deadline is not hit6623 behaves like executing successfully6624 marks package files for destruction6625 executes successfully6626 when the deadline is hit6627 does not execute the batch loop6628 when a batch size is defined6629 behaves like executing successfully6630 marks package files for destruction6631 executes successfully6632 with an error during the update6633 raises the error6634Gitlab::LocalAndRemoteStorageMigration::ArtifactMigrater6635 behaves like local and remote storage migration6636 start_store: 1, end_store: 2, method: :migrate_to_remote_storage6637 successfully migrates6638 start_store: 2, end_store: 2, method: :migrate_to_remote_storage6639 successfully migrates6640 start_store: 2, end_store: 1, method: :migrate_to_local_storage6641 successfully migrates6642 start_store: 1, end_store: 1, method: :migrate_to_local_storage6643 successfully migrates6644 when migration fails6645 prints error6646Gitlab::ImportExport::AfterExportStrategies::WebUploadStrategy6647 validations6648 only POST and PUT method allowed6649 only allow urls as upload urls6650 #execute6651 when upload succeeds6652 does not remove the exported project file after the upload6653 logs when upload starts and finishes6654 when upload fails6655 stores the export error6656 when object store is disabled6657 reads file from disk and uploads to external url6658 when object store is enabled6659 uploads file as a remote stream6660 when upload as remote stream raises an exception6661 logs the exception and stores the error message6662RuboCop::Cop::Database::MultipleDatabases6663 # order random6664 does not flag use of ActiveRecord::Base.logger6665 flags the use of ::ActiveRecord::Base.connection6666 does not flag use of ActiveRecord::Base.configurations6667 does not flag use of ActiveRecord::Base.connection_handler6668 flags the use of ActiveRecord::Base.connection6669 does not flag use of ActiveRecord::Base.no_touching6670gitlab:artifacts rake tasks6671 check6672 outputs the integrity check for each batch6673 errors out about missing files on the file system6674 errors out about invalid checksum6675 errors out about missing checksum6676Gitlab::Metrics::Dashboard::Stages::GrafanaFormatter6677 #transform!6678 when the query and resources are configured correctly6679 is expected to eq {:panel_groups=>[{:panels=>[{:metrics=>[{:id=>"In_0", :label=>"In", :prometheus_endpoint_path=>"/foo/...nstance=~\"localhost:9121\"}[1m]))"}], :title=>"Network I/O", :type=>"area-chart", :y_label=>""}]}]}6680 when a panelId is not included in the grafana_url6681 is expected to eq {:panel_groups=>[{:panels=>[{:metrics=>[{:id=>"In_0", :label=>"In", :prometheus_endpoint_path=>"/foo/...nstance=~\"localhost:9121\"}[1m]))"}], :title=>"Network I/O", :type=>"area-chart", :y_label=>""}]}]}6682 when there is also no valid panel in the dashboard6683 raises a processing error6684 when an input is invalid6685 raises a processing error6686Gitlab::Ci::Config::Entry::Product::Parallel6687 with invalid config6688 when it is not a numeric value6689 behaves like invalid config6690 #valid?6691 is expected not to be valid6692 #errors6693 returns error about invalid type6694 when it is lower than two6695 behaves like invalid config6696 #valid?6697 is expected not to be valid6698 #errors6699 returns error about invalid type6700 when it is bigger than 2006701 behaves like invalid config6702 #valid?6703 is expected not to be valid6704 #errors6705 returns error about invalid type6706 when it is not an integer6707 behaves like invalid config6708 #valid?6709 is expected not to be valid6710 #errors6711 returns error about invalid type6712 with empty hash config6713 behaves like invalid config6714 #valid?6715 is expected not to be valid6716 #errors6717 returns error about invalid type6718 with numeric config6719 when job is specified6720 #valid?6721 is expected to be valid6722 #value6723 returns job needs configuration6724 when :numeric is not allowed6725 behaves like invalid config6726 #valid?6727 is expected not to be valid6728 #errors6729 returns error about invalid type6730 with matrix builds config6731 when matrix is specified6732 #valid?6733 is expected to be valid6734 #value6735 returns job needs configuration6736 when :matrix is not allowed6737 behaves like invalid config6738 #valid?6739 is expected not to be valid6740 #errors6741 returns error about invalid type6742Atlassian::JiraConnect::Serializers::PullRequestEntity6743 exposes commentCount6744 with user_notes_count option6745 avoids N+1 database queries6746 uses counts from user_notes_count6747 when count is missing for some MRs6748 uses 0 as default when count for the MR is not available6749Resolvers::Crm::OrganizationsResolver6750 #resolve6751 with unauthorized user6752 does not rise an error and returns no organizations6753 with authorized user6754 does not rise an error and returns all organizations in the correct order6755 without parent6756 returns no organizations6757 with a group parent6758 when no filter is provided6759 returns all the organizations in the default order6760 when a sort is provided6761 returns all the organizations in the correct order6762 when filtering for all states6763 returns all the organizations6764 when search term is provided6765 returns the correct organizations6766 when state is provided6767 returns the correct organizations6768 when ids are provided6769 returns the correct organizations6770Resolvers::ProjectJobsResolver6771 #resolve6772 with authorized user6773 with statuses argument6774 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 422, stage_id: 326, partition_id: 100, tag_list: nil> and #<Ci::Build status: "success", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 423, stage_id: 326, partition_id: 100, tag_list: nil>6775 with multiple statuses6776 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 422, stage_id: 326, partition_id: 100, tag_list: nil>, #<Ci::Build status: "success", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 423, stage_id: 326, partition_id: 100, tag_list: nil>, and #<Ci::Build status: "failed", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-0...rocessed: false, scheduling_type: "stage", id: 424, stage_id: 326, partition_id: 100, tag_list: nil>6777 without statuses argument6778 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 422, stage_id: 326, partition_id: 100, tag_list: nil>, #<Ci::Build status: "success", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 423, stage_id: 326, partition_id: 100, tag_list: nil>, #<Ci::Build status: "failed", finished_at: "2023-03-30 08:53:29.000000000 +0000", created_at: "2023-0...rocessed: false, scheduling_type: "stage", id: 424, stage_id: 326, partition_id: 100, tag_list: nil>, and #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u...rocessed: false, scheduling_type: "stage", id: 425, stage_id: 326, partition_id: 100, tag_list: nil>6779 with unauthorized user6780 is expected to be nil6781Gitlab::Access::BranchProtection6782 #any?6783 level: 0, result: false6784 is expected to eq false6785 level: 1, result: true6786 is expected to eq true6787 level: 3, result: true6788 is expected to eq true6789 level: 2, result: true6790 is expected to eq true6791 #developer_can_push?6792 level: 0, result: false6793 is expected to eq false6794 level: 1, result: true6795 is expected to eq true6796 level: 3, result: false6797 is expected to eq false6798 level: 2, result: false6799 is expected to eq false6800 #developer_can_merge?6801 level: 0, result: false6802 is expected to eq false6803 level: 1, result: false6804 is expected to eq false6805 level: 3, result: true6806 is expected to eq true6807 level: 2, result: false6808 is expected to eq false6809 #fully_protected?6810 level: 0, result: false6811 is expected to eq false6812 level: 1, result: false6813 is expected to eq false6814 level: 3, result: false6815 is expected to eq false6816 level: 2, result: true6817 is expected to eq true6818Gitlab::SlashCommands::Presenters::Deploy6819 #present6820 is expected to have key :text6821 is expected to have key :response_type6822 is expected to have key :status6823 is expected not to have key :attachments6824 messages the channel of the deploy6825 #action_not_found6826 is expected to have key :text6827 is expected to have key :response_type6828 is expected to have key :status6829 is expected not to have key :attachments6830 tells the user there is no action6831ErrorTracking::SentryClient6832 # order random6833 #issue_latest_event6834 has correct return type6835 behaves like calls sentry api6836 calls sentry api6837 behaves like Sentry API response size limit6838 raises an exception when response is too large6839 with error object created from sentry response6840 parses the stack trace6841 behaves like assigns error tracking event correctly6842 event_object: :issue_id, sentry_response: :groupID6843 is expected to eq "1378364652"6844 event_object: :date_received, sentry_response: :dateReceived6845 is expected to eq "2019-12-08T21:48:08.579417Z"6846 with error without stack trace6847 returns an empty array for stack_trace_entries6848 behaves like assigns error tracking event correctly6849 event_object: :issue_id, sentry_response: :groupID6850 is expected to eq "1378364652"6851 event_object: :date_received, sentry_response: :dateReceived6852 is expected to eq "2019-12-08T21:48:08.579417Z"6853 behaves like non-numeric input handling in Sentry response6854 with non-numeric error id6855 id_input: "string"6856 raises exception6857 id_input: "-1"6858 raises exception6859 id_input: "1\\n2"6860 raises exception6861Mutations::Issues::SetLocked6862 is expected to require graphql authorizations :update_issue6863 #resolve6864 behaves like permission level for issue mutation is correctly verified6865 when the user is not a project member6866 behaves like when the user does not have access to the resource6867 raises an error6868 even if assigned to the issue6869 does not modify issue6870 even if author of the issue6871 does not modify issue6872 when the user is a project member6873 with guest role6874 behaves like when the user does not have access to the resource6875 raises an error6876 even if assigned to the issue6877 does not modify issue6878 even if author of the issue6879 does not modify issue6880 when the user can update the issue6881 returns the issue as discussion locked6882 when passing locked as false6883 unlocks the discussion6884Gitlab::Config::Loader::Yaml6885 when max yaml size and depth are set in ApplicationSetting6886 uses ApplicationSetting values rather than the defaults6887 when yaml syntax is correct6888 #valid?6889 returns true6890 #load!6891 returns a valid hash6892 when yaml syntax is incorrect6893 #valid?6894 returns false6895 #load!6896 raises error6897 when there is an unknown alias6898 #initialize6899 raises FormatError6900 when yaml config is empty6901 #valid?6902 returns false6903 #load_raw!6904 raises error6905 when yaml size is too large6906 #valid?6907 returns false6908 #load!6909 raises FormatError6910 when yaml has cyclic data structure6911 #valid?6912 returns false6913 #load!6914 raises FormatError6915 #load_raw!6916 loads keys as strings6917 #load!6918 symbolizes keys6919 #blank?6920 when the loaded YAML is empty6921 returns true6922 when the loaded YAML has content6923 returns false6924Gitlab::Memory::Watchdog6925 watchdog6926 #initialize6927 initialize new configuration6928 #call6929 reports started event once6930 waits for check interval seconds6931 when no monitors are configured6932 reports stopped event once with correct reason6933 when monitors are configured6934 reports stopped event once6935 when process does not exceed threshold6936 does not report violations event6937 does not execute handler6938 when process exceeds threshold6939 reports threshold violated event6940 when process does not exceed the allowed number of strikes6941 does not report strikes exceeded event6942 does not execute handler6943 when monitor exceeds the allowed number of strikes6944 reports strikes exceeded event6945 executes handler and stops the watchdog6946 schedules a heap dump6947 when enforce_memory_watchdog ops toggle is off6948 always uses the NullHandler6949 when multiple monitors exceeds allowed number of strikes6950 only calls the handler once6951 #configure6952 yields block6953schema_version_check rake task6954 allows migrations on databases meeting the min schema version requirement6955 raises an error when schema version is too old to migrate6956 skips running validation when passed the skip env variable6957 allows migrations on fresh databases6958MilestonesFinder6959 without filters6960 returns milestones for projects6961 returns milestones for groups6962 milestones for groups and project6963 returns milestones for groups and projects6964 orders milestones by due date6965 when grouping and sorting by expired_last6966 current milestones are returned first, then milestones without due date followed by expired milestones, sorted by due date in ascending order6967 #find_by6968 finds a single milestone6969 with filters6970 filters by id6971 filters by active state6972 filters by closed state6973 filters by title6974 filters by search_title6975 filters by search (title, description)6976 by timeframe6977 returns milestones with start_date and due_date between timeframe6978 returns milestones which starts before the timeframe6979 returns milestones which ends after the timeframe6980 by updated_at6981 returns milestones updated before a given date6982 returns milestones updated after a given date6983 returns milestones updated between the given dates6984 by iids6985 returns milestone for the given iids6986 when include_parent_milestones is true6987 ignores the iid filter6988TokenAuthenticatableStrategies::Encrypted6989 #token_fields6990 includes the encrypted field6991 #find_token_authenticatable6992 when encryption is required6993 behaves like finds the resource with/without setting require_prefix_for_validation6994 behaves like finds the resource6995 finds the resource by cleartext6996 when a require_prefix_for_validation is provided6997 behaves like does not find any resource6998 does not find any resource by cleartext6999 when token starts with prefix7000 behaves like finds the resource7001 finds the resource by cleartext7002 when encryption is optional7003 uses insecure strategy when encrypted token cannot be found7004 behaves like finds the resource with/without setting require_prefix_for_validation7005 behaves like finds the resource7006 finds the resource by cleartext7007 when a require_prefix_for_validation is provided7008 behaves like does not find any resource7009 does not find any resource by cleartext7010 when token starts with prefix7011 behaves like finds the resource7012 finds the resource by cleartext7013 when encryption is migrating7014 behaves like finds the resource with/without setting require_prefix_for_validation7015 behaves like finds the resource7016 finds the resource by cleartext7017 when a require_prefix_for_validation is provided7018 behaves like does not find any resource7019 does not find any resource by cleartext7020 when token starts with prefix7021 behaves like finds the resource7022 finds the resource by cleartext7023 #get_token7024 when encryption is required7025 returns decrypted token when an encrypted with static iv token is present7026 returns decrypted token when an encrypted token is present7027 when encryption is optional7028 returns decrypted token when an encrypted token is present7029 returns decrypted token when an encrypted with static iv token is present7030 returns the plaintext token when encrypted token is not present7031 when encryption is migrating7032 returns cleartext token when an encrypted token is present7033 returns the cleartext token when encrypted token is not present7034 #set_token7035 when encryption is required7036 writes encrypted token and returns it7037 when encryption is optional7038 writes encrypted token and removes plaintext token and returns it7039 when encryption is migrating7040 writes encrypted token and writes plaintext token7041Packages::Pypi::CreatePackageService7042 #execute7043 without an existing package7044 creates the package7045 with FIPS mode7046 does not generate file_md57047 without required_python7048 creates the package7049 with an invalid metadata7050 raises an error7051 behaves like assigns the package creator7052 assigns the package creator7053 behaves like assigns build to package7054 with build info7055 assigns the pipeline to the package7056 behaves like assigns status to package7057 with status param7058 assigns the status to the package7059 with an existing package7060 with an existing file7061 throws an error7062 with a pending_destruction package7063 creates a new package7064 without an existing file7065 adds the file7066ImportCsv::BaseService7067 # order random7068 behaves like abstract method7069 raises NotImplemented error when create_object_class is called7070 behaves like abstract method7071 raises NotImplemented error when attributes_for is called7072 behaves like abstract method7073 raises NotImplemented error when email_results_to_user is called7074 when given a class7075 behaves like correctly handles invalid files7076 when given file with unsupported extension7077 behaves like invalid file7078 returns invalid file error7079 when given empty file7080 behaves like invalid file7081 returns invalid file error7082 when given file without headers7083 behaves like invalid file7084 returns invalid file error7085 #detect_col_sep7086 sep_character: "&", valid: false7087 responds appropriately7088 sep_character: "?", valid: false7089 responds appropriately7090 sep_character: ";", valid: true7091 responds appropriately7092 sep_character: ",", valid: true7093 responds appropriately7094 sep_character: "\t", valid: true7095 responds appropriately7096 behaves like abstract method7097 raises NotImplemented error when validate_headers_presence! is called7098Code review events7099 the aggregated metrics contain all the code review metrics7100Ci::JobArtifactsFinder7101 #execute7102 with empty params7103 returns all artifacts belonging to the project7104 with sort param7105 sorts the artifacts7106RspecFlaky::Config7107 .generate_report?7108 when ENV['FLAKY_RSPEC_GENERATE_REPORT'] is not set7109 returns false7110 when ENV['FLAKY_RSPEC_GENERATE_REPORT'] is set7111 env_value: "1", result: true7112 returns false7113 env_value: "true", result: true7114 returns false7115 env_value: "foo", result: false7116 returns false7117 env_value: "0", result: false7118 returns false7119 env_value: "false", result: false7120 returns false7121 .suite_flaky_examples_report_path7122 when ENV['FLAKY_RSPEC_SUITE_REPORT_PATH'] is not set7123 returns the default path7124 when ENV['FLAKY_RSPEC_SUITE_REPORT_PATH'] is set7125 returns the value of the env variable7126 .flaky_examples_report_path7127 when ENV['FLAKY_RSPEC_REPORT_PATH'] is not set7128 returns the default path7129 when ENV['FLAKY_RSPEC_REPORT_PATH'] is set7130 returns the value of the env variable7131 .new_flaky_examples_report_path7132 when ENV['NEW_FLAKY_RSPEC_REPORT_PATH'] is not set7133 returns the default path7134 when ENV['NEW_FLAKY_RSPEC_REPORT_PATH'] is set7135 returns the value of the env variable7136 .skipped_flaky_tests_report_path7137 when ENV['SKIPPED_FLAKY_TESTS_REPORT_PATH'] is not set7138 returns the default path7139 when ENV['SKIPPED_FLAKY_TESTS_REPORT_PATH'] is set7140 returns the value of the env variable7141Clusters::Applications::ActivateIntegrationWorker#perform7142 when cluster exists7143 prometheus integration7144 with cluster type: group7145 ensures Prometheus integration is activated7146 with cluster type: project7147 ensures Prometheus integration is activated7148 with cluster type: instance7149 ensures Prometheus integration is activated7150 when cluster does not exist7151 does not raise Record Not Found error7152JsonSchemaValidator7153 #validates_each7154 when filename is set7155 when data is valid7156 returns no errors7157 when data is invalid7158 returns json schema is invalid7159 when filename is not set7160 raises an ArgumentError7161 when filename is invalid7162 raises a FilenameError7163 hash_conversion option7164 when hash_conversion is enabled7165 returns no errors7166ProtectedRefAccess7167 #check_access7168 is always true for admins7169 is true for maintainers7170 is for developers of the project7171 external authorization7172 is false if external authorization denies access7173IpAddressValidator7174 ip_address: "invalid IP", validity: false, errors: {:ip_address=>["must be a valid IPv4 or IPv6 address"]}7175 is expected to eq false7176 is expected to eq {:ip_address=>["must be a valid IPv4 or IPv6 address"]}7177 ip_address: "192.168.17.43", validity: true, errors: {}7178 is expected to eq true7179 is expected to eq {}7180 ip_address: "2001:0db8:85a3::8a2e:0370:7334", validity: true, errors: {}7181 is expected to eq true7182 is expected to eq {}7183 ip_address: nil, validity: true, errors: {}7184 is expected to eq true7185 is expected to eq {}7186 ip_address: "", validity: true, errors: {}7187 is expected to eq true7188 is expected to eq {}7189ResourceEvents::ChangeMilestoneService7190 behaves like timebox(milestone or iteration) resource events creator7191 when milestone/iteration is added7192 creates the expected event record7193 when milestone/iteration is removed7194 creates the expected event records7195 behaves like timebox(milestone or iteration) resource events creator7196 when milestone/iteration is added7197 creates the expected event record7198 when milestone/iteration is removed7199 creates the expected event records7200 events tracking7201 when the resource is a work item7202 tracks work item usage data counters7203 when the resource is not a work item7204 does not track work item usage data counters7205Gitlab::Ci::Status::SuccessWarning7206 #test7207 is expected to eq "passed"7208 #label7209 is expected to eq "passed with warnings"7210 #icon7211 is expected to eq "status_warning"7212 #group7213 is expected to eq "success-with-warnings"7214 .matches?7215 when matchable subject is successful7216 when matchable subject has warnings7217 is a correct match7218 when matchable subject does not have warnings7219 does not match7220 when matchable subject is not successful7221 when matchable subject has warnings7222 does not match7223 when matchable subject does not have warnings7224 does not match7225AlertManagement::AlertPolicy7226 rules7227 is expected to be disallowed :read_alert_management_alert7228 is expected to be disallowed :update_alert_management_alert7229 when developer7230 is expected to be allowed :read_alert_management_alert7231 is expected to be allowed :update_alert_management_alert7232 when user is not a member7233 is expected to be disallowed :read_alert_management_metric_image7234 is expected to be disallowed :destroy_alert_management_metric_image7235 when user is a guest7236 is expected to be disallowed :read_alert_management_metric_image7237 is expected to be disallowed :destroy_alert_management_metric_image7238 when user is a developer7239 is expected to be allowed :read_alert_management_metric_image7240 is expected to be allowed :destroy_alert_management_metric_image7241PagesDomains::UpdateService7242 # order random7243 when the user does not have the required permissions7244 does not update the pages domain and does not publish a PagesDomainUpdatedEvent7245 when the user has the required permissions7246 when it updates the domain successfully7247 updates the domain7248 publishes a PagesDomainUpdatedEvent7249 when it fails to update the domain7250 does not update a pages domain7251 does not publish a PagesDomainUpdatedEvent7252Gitlab::Memory::Watchdog::Configuration7253 # order random7254 #handler7255 when handler is not set7256 defaults to NullHandler7257 #event_reporter7258 when event reporter is not set7259 defaults to EventReporter7260 #initialize7261 initialize monitors7262 #monitors7263 when monitors are configured to be used7264 when two different monitor class are configured7265 when monitors are not configured7266 monitors are empty7267 when monitors are configured inline7268 calls each monitor and returns correct results7269 monitors are not empty7270 when monitors are configured in a block7271 calls each monitor and returns correct results7272 monitors are not empty7273 when monitors are configured with monitor name7274 calls each monitor and returns correct results7275 monitors are not empty7276 #sleep_time_seconds7277 when sleep_time_seconds is not set7278 defaults to SLEEP_TIME_SECONDS7279U2fRegistration7280 .authenticate7281 when registration is found7282 returns true7283 when registration not found7284 returns nil7285 when args passed in are invalid7286 returns false7287 callbacks7288 after create7289 logs error7290 behaves like creates webauthn registration7291 creates webauthn registration7292 when the u2f_registration has a blank name7293 behaves like creates webauthn registration7294 creates webauthn registration7295 when the u2f_registration has the name as `nil`7296 behaves like creates webauthn registration7297 creates webauthn registration7298 after update7299 when counter is updated7300 updates the webauthn registration counter to be the same value7301 when sign count of registration is not updated7302 does not update the counter7303BulkImports::Groups::Pipelines::GroupPipeline7304 #run7305 imports new group into destination group7306 pipeline parts7307 is expected to includes the BulkImports::Pipeline module7308 is expected to includes the BulkImports::Pipeline::Runner module7309 has extractors7310 has transformers7311 has loaders7312Resolvers::UserDiscussionsCountResolver7313 #resolve7314 is expected to have nullable GraphQL type Int7315 when counting discussions from a public issue7316 returns the number of discussions for the issue7317 when a user has permission to view discussions7318 returns the number of non-system discussions for the issue7319 when a user does not have permission to view discussions7320 returns no discussions7321Mutations::Todos::MarkDone7322 is expected to require graphql authorizations :update_todo7323 #resolve7324 marks a single todo as done7325 handles a todo which is already done as expected7326 ignores requests for todos which do not belong to the current user7327Banzai::Filter::InlineClusterMetricsFilter7328 behaves like a metrics embed filter7329 when the document has an external link7330 leaves regular non-metrics links unchanged7331 when the document contains an embeddable link7332 leaves the original link unchanged7333 appends a metrics charts placeholder7334 in a paragraph7335 appends a metrics charts placeholder after the enclosing paragraph7336Projects::RepositoryLanguagesService7337 when detected_repository_languages flag is set7338 when a project is without detected programming languages7339 schedules a worker and returns the empty result7340 when a project is with detected programming languages7341 does not schedule a worker and returns the detected languages7342 sets detected_repository_languages flag7343 when detected_repository_languages flag is not set7344 returns repository languages7345Packages::UpdateTagsService7346 #execute7347 behaves like updating tags7348 updates a tag7349 with an existing tag7350 on the same package7351 behaves like updating tags7352 updates a tag7353 with different name7354 behaves like updating tags7355 updates a tag7356 on a different package7357 behaves like updating tags7358 updates a tag7359 with empty tags7360 is a no op7361Snippets::ScheduleBulkRepositoryShardMovesWorker7362 behaves like schedules bulk repository shard moves7363 #perform7364 is labeled as idempotent7365 performs multiple times sequentially without raising an exception7366 schedules container repository storage moves7367Clusters::Agents::FilterAuthorizationsService7368 # order random7369 #execute7370 when there are no filters7371 returns the authorizations as is7372 when filtering by environment7373 returns the authorizations with the given environment AND authorizations without any environment7374 when environment filter has a wildcard7375 returns the authorizations with matching environments AND authorizations without any environment7376 when environment filter is nil7377 returns the authorizations without any environment7378IncidentManagement::TimelineEventTags::CreateService7379 # order random7380 #execute7381 when current user is nil7382 behaves like error response7383 has an informative message7384 when user does not have permissions to create tags7385 behaves like error response7386 has an informative message7387 when error occurs during creation7388 behaves like error response7389 has an informative message7390 when user has permissions7391 creates database record7392 behaves like success response7393 has timeline event tag7394Tooling::Mappings::JsToSystemSpecsMappings7395 # order random7396 #execute7397 when no JS files were changed7398 does not change the output file7399 when some JS files were changed7400 when the JS files are not present on disk7401 does not change the output file7402 when the JS files are present on disk7403 when no system specs match the JS keyword7404 does not change the output file7405 when a system spec matches the JS keyword7406 adds the new specs to the output file7407 #system_specs_for_edition7408 when FOSS7409 checks the correct folder7410 when EE7411 checks the correct folder7412 when JiHu7413 checks the correct folder7414 #filter_files7415 when no files were changed7416 returns an empty array7417 when JS files were changed7418 returns the path to the JS files7419 when JS files are deleted7420 returns an empty array7421 #construct_js_keywords7422 returns a singularized keyword based on the first folder the file is in7423 when the files are under the pages folder7424 captures the second folder7425PagesDomains::RetryAcmeOrderService7426 clears auto_ssl_failed7427 schedules renewal worker and publish PagesDomainUpdatedEvent event7428 doesn't schedule renewal worker if Let's Encrypt integration is not enabled7429 doesn't schedule renewal worker if auto ssl has not failed yet7430BreadcrumbsHelper7431 #push_to_schema_breadcrumb7432 enqueue element name, link and position7433 when link is relative7434 converts the url into absolute7435 when link is invalid7436 returns the current url7437 when link is nil7438 returns the current url7439 #schema_breadcrumb_json7440 returns the breadcrumb schema in json format7441 when extra breadcrumb element is added7442 include the extra elements before the last element7443Types::Ci::PipelineScheduleVariableType7444 # order random7445 contains attributes related to a pipeline message7446 is expected to contain exactly Types::Ci::VariableInterface7447 is expected to eq "PipelineScheduleVariable"7448 is expected to require graphql authorizations :read_pipeline_schedule_variables7449ImportFailure7450 Scopes7451 returns failures for the given correlation ID7452 returns hard failures for the given correlation ID7453 orders hard failures by newest first7454 Associations7455 is expected to belong to project required: false7456 is expected to belong to group required: false7457 Validations7458 has no group7459 is expected to validate that :project cannot be empty/falsy7460 has no project7461 is expected to validate that :group cannot be empty/falsy7462 #external_identifiers7463 is expected to allow :external_identifiers to be ‹{note_id: 234, noteable_id: 345, noteable_type: "MergeRequest"}›7464 is expected not to allow :external_identifiers to be ‹nil›7465 is expected not to allow :external_identifiers to be ‹{ids: [123]}›7466 allows up to 3 fields7467Gitlab::UsageDataCounters::NoteCounter7468 behaves like a note usage counter7469 .count(create)7470 increments the Note create counter by 17471 .read(create)7472 returns the total number of create events7473 behaves like a note usage counter7474 .count(create)7475 increments the Note create counter by 17476 .read(create)7477 returns the total number of create events7478 behaves like a note usage counter7479 .count(create)7480 increments the Note create counter by 17481 .read(create)7482 returns the total number of create events7483 .totals7484 can report all totals7485 unknown events or noteable_type7486 event: :create, noteable_type: "Snippet", expected_count: 1, should_raise: false7487 handles event7488 event: :wibble, noteable_type: "Snippet", expected_count: 0, should_raise: true7489 handles event7490 event: :create, noteable_type: "MergeRequest", expected_count: 1, should_raise: false7491 handles event7492 event: :wibble, noteable_type: "MergeRequest", expected_count: 0, should_raise: true7493 handles event7494 event: :create, noteable_type: "Commit", expected_count: 1, should_raise: false7495 handles event7496 event: :wibble, noteable_type: "Commit", expected_count: 0, should_raise: true7497 handles event7498 event: :create, noteable_type: "Issue", expected_count: 0, should_raise: false7499 handles event7500 event: :wibble, noteable_type: "Issue", expected_count: 0, should_raise: false7501 handles event7502BitbucketServer::Representation::Activity7503 regular comment7504 is expected to be truthy7505 is expected to be falsey7506 is expected to be a kind of BitbucketServer::Representation::Comment7507 is expected to be a kind of Time7508 inline comment7509 is expected to be truthy7510 is expected to be truthy7511 is expected to be a kind of BitbucketServer::Representation::PullRequestComment7512 is expected to be a kind of Time7513 merge event7514 is expected to be falsey7515 is expected to be falsey7516 is expected to eq "root"7517 is expected to eq "test.user@example.com"7518 is expected to be a kind of Time7519 is expected to be a kind of Time7520 is expected to eq "839fa9a2d434eb697815b8fcafaecc51accfdbbc"7521DependencyProxy::FindCachedManifestService7522 #execute7523 when no manifest exists7524 successful head request7525 behaves like returning no manifest7526 returns a nil manifest7527 failed head request7528 behaves like returning no manifest7529 returns a nil manifest7530 when manifest exists7531 behaves like using the cached manifest7532 uses cached manifest instead of downloading one7533 when digest is stale7534 behaves like returning no manifest7535 returns a nil manifest7536 when the cached manifest is pending destruction7537 behaves like returning no manifest7538 returns a nil manifest7539 when the connection fails7540 behaves like using the cached manifest7541 uses cached manifest instead of downloading one7542 and no manifest is cached7543 behaves like returning an error7544 returns an error7545 when the connection is successful but with error in result7546 behaves like using the cached manifest7547 uses cached manifest instead of downloading one7548 and no manifest is cached7549 behaves like returning no manifest7550 returns a nil manifest7551Gitlab::UsageDataCounters::SourceCodeCounter7552 behaves like a redis usage counter7553 .count(pushes)7554 increments the Source Code pushes counter by 17555 .read(pushes)7556 returns the total number of pushes events7557 behaves like a redis usage counter with totals7558 totals7559 can report all totals7560 unknown events7561 cannot increment7562 cannot read7563ClusterSerializer7564 #represent_list7565 serializes attrs correctly7566 #represent_status7567 when provider type is gcp and cluster is errored7568 serializes attrs correctly7569 when provider type is user7570 serializes attrs correctly7571API::Validations::Validators::Absence7572 empty param7573 does not raise a validation error7574 invalid parameters7575 raises a validation error7576MergeRequests::DeleteSourceBranchWorker7577 #perform7578 with a non-existing merge request7579 does nothing7580 with a non-existing user7581 does nothing7582 with existing user and merge request7583 calls delete branch worker7584 source branch sha does not match7585 does nothing7586 when delete worker raises an error7587 still retargets the merge request7588 behaves like an idempotent worker7589 is labeled as idempotent7590 performs multiple times sequentially without raising an exception7591Gitlab::Database::BackgroundMigration::BatchOptimizer7592 #optimize7593 with unknown time efficiency, it keeps the batch size7594 with a time efficiency of 95%, it keeps the batch size7595 with a time efficiency of 90%, it keeps the batch size7596 with a time efficiency of 85%, it increases the batch size7597 with a time efficiency of 110%, it decreases the batch size7598 reaching the upper limit for an increase7599 caps the batch size multiplier at 20% when increasing7600 does not limit the decrease multiplier7601 reaching the upper limit for the batch size7602 caps the batch size at 10M7603 when max_batch_size is set7604 caps the batch size at max_batch_size7605 reaching the lower limit for the batch size7606 caps the batch size at 1k7607 when migration max_batch_size is less than MIN_BATCH_SIZE7608 does not raise an error7609AuthorizedProjectUpdate::ProjectRecalculateWorker7610 is labeled as high urgency7611 is labeled as idempotent7612 performs multiple times sequentially without raising an exception7613 does not change authorizations when run twice7614 #perform7615 does not fail if the project does not exist7616 calls AuthorizedProjectUpdate::ProjectRecalculateService7617 exclusive lease7618 when exclusive lease has not been taken7619 obtains a new exclusive lease7620 when exclusive lease has already been taken7621 raises an error7622Gitlab::ErrorTracking::Processor::ContextPayloadProcessor7623 .call7624 merges the context payload into event payload7625JiraConnect::SendUninstalledHookWorker7626 # order random7627 #perform7628 is labeled as idempotent7629 performs multiple times sequentially without raising an exception7630 calls the ProxyLifecycleEventService service7631FlushCounterIncrementsWorker7632 #perform7633 commits increments to database7634 when model class does not exist7635 does nothing7636 when record does not exist7637 does nothing7638LooseForeignKeys::CleanupWorker7639-- create_table(:_test_loose_fk_parent_table_1)7640 -> 0.0052s7641-- create_table(:_test_loose_fk_parent_table_2)7642 -> 0.0026s7643-- create_table(:_test_loose_fk_child_table_1_1)7644 -> 0.0026s7645-- create_table(:_test_loose_fk_child_table_1_2)7646 -> 0.0026s7647-- create_table(:_test_loose_fk_child_table_2_1)7648 -> 0.0026s7649-- execute("CREATE TRIGGER _test_loose_fk_parent_table_1_loose_fk_trigger AFTER DELETE ON _test_loose_fk_parent_table_1 REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();")7650 -> 0.0011s7651-- execute("CREATE TRIGGER _test_loose_fk_parent_table_2_loose_fk_trigger AFTER DELETE ON _test_loose_fk_parent_table_2 REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();")7652 -> 0.0010s7653 cleans up all rows7654 multi-database support7655 current_minute: 2, configured_base_models: {:main=>"ActiveRecord::Base", :ci=>"Ci::ApplicationRecord"}, expected_connection_model: "ActiveRecord::Base"7656 uses the correct connection7657 current_minute: 3, configured_base_models: {:main=>"ActiveRecord::Base", :ci=>"Ci::ApplicationRecord"}, expected_connection_model: "Ci::ApplicationRecord"7658 uses the correct connection7659 current_minute: 2, configured_base_models: {:main=>"ActiveRecord::Base"}, expected_connection_model: "ActiveRecord::Base"7660 uses the correct connection7661 current_minute: 3, configured_base_models: {:main=>"ActiveRecord::Base"}, expected_connection_model: "ActiveRecord::Base"7662 uses the correct connection7663-- drop_table(:_test_loose_fk_parent_table_1)7664 -> 0.0024s7665-- drop_table(:_test_loose_fk_parent_table_2)7666 -> 0.0020s7667-- drop_table(:_test_loose_fk_child_table_1_1)7668 -> 0.0018s7669-- drop_table(:_test_loose_fk_child_table_1_2)7670 -> 0.0017s7671-- drop_table(:_test_loose_fk_child_table_2_1)7672 -> 0.0017s7673ErrorTracking::ClientKey7674 relationships7675 is expected to belong to project required: false7676 validations7677 is expected to validate that :public_key cannot be empty/falsy7678 is expected to validate that the length of :public_key is at most 2557679 #generate_key7680 is expected to be present7681 is expected to start with "glet_"7682DesignManagement::CopyDesignCollectionWorker7683 #perform7684 calls DesignManagement::CopyDesignCollection::CopyService7685 logs if there was an error calling the service7686 behaves like an idempotent worker7687 is labeled as idempotent7688 performs multiple times sequentially without raising an exception7689 is expected to receive perform(*(any args)) 2 times7690Gitlab::Middleware::HandleIpSpoofAttackError7691 passes through the response from a valid upstream7692 translates an ActionDispatch::IpSpoofAttackError to a 400 response7693 passes through the exception raised by an invalid upstream7694Gitlab::Ci::Config::Entry::Inherit::Default7695 validations7696 config: true, valid: true7697 is expected to eq true7698 config: false, valid: true7699 is expected to eq true7700 config: ["image"], valid: true7701 is expected to eq true7702 config: ["unknown"], valid: false7703 is expected to eq false7704 config: [:image], valid: false7705 is expected to eq false7706 config: [true], valid: false7707 is expected to eq false7708 config: "string", valid: false7709 is expected to eq false7710 #inherit?7711 config: true, inherit: true7712 is expected to eq true7713 config: false, inherit: false7714 is expected to eq false7715 config: ["image"], inherit: true7716 is expected to eq true7717 config: ["before_script"], inherit: false7718 is expected to eq false7719Clusters::Integrations::CreateService#execute7720 behaves like a cluster integration7721 when enabled param is true7722 creates a new enabled integration7723 when enabled param is false7724 creates a new disabled integration7725 when integration already exists7726 updates the integration7727 when application_type is invalid7728 errors7729 when user is unauthorized7730 returns error and does not create a new integration record7731Packages::Composer::CacheUpdateWorker7732 #perform7733 is labeled as idempotent7734 performs multiple times sequentially without raising an exception7735 creating a package7736 does nothing7737 deleting a package7738 does nothing7739Gitlab::Ci::Build::Policy::Kubernetes7740 when kubernetes service is active7741 when user configured kubernetes from CI/CD > Clusters7742 is satisfied by a kubernetes pipeline7743 when kubernetes service is inactive7744 is not satisfied by a pipeline without kubernetes available7745 when kubernetes policy is invalid7746 raises an error7747Gitlab::ChatNameToken7748 when using unknown token7749 returns empty data7750 when storing data7751 returns stored data7752 and after deleting them7753 data are removed7754RuboCop::Cop::RubyInterpolationInTranslation7755 # order random7756 detects when using interpolation in a namespaced translation7757 detects when using a ruby interpolation in the first argument of a pluralized string7758 detects when using a ruby interpolation in the second argument of a pluralized string7759 does not add an offense for a regular messages7760 adds the correct offense when using interpolation in a string7761Ci::DownloadableArtifactSerializer7762 #as_json7763 matches schema7764Gitlab::Template::Finders::RepoTemplateFinder7765 #read7766 returns the content of the given path7767 raises an error if the path does not exist7768 #find7769 returns the full path of the found template7770 does not permit path traversal requests7771 #list_files_for7772 returns the full path of the found files7773DesignManagement::DesignAction7774 validations7775 the design7776 must not be nil7777 the action7778 must not be nil7779 must be a known action7780 the content7781 content is necesary7782 must not be nil if the action is create7783 must not be nil if the action is update7784 content is forbidden7785 must not be nil if the action is delete7786 #gitaly_action7787 the action needs content7788 produces a good gitaly action7789 the action forbids content7790 produces a good gitaly action7791 #issue_id7792 delegates to the design7793 #performed7794 calls design#clear_version_cache when the action has been performed7795Gitlab::Database::BackgroundMigration::BatchedJobTransitionLog7796 is expected to be a kind of Gitlab::Database::SharedModel(abstract)7797 associations7798 is expected to belong to batched_job required: false7799 validations7800 is expected to validate that :previous_status cannot be empty/falsy7801 is expected to validate that :next_status cannot be empty/falsy7802 is expected to validate that :batched_job cannot be empty/falsy7803 is expected to validate that the length of :exception_class is at most 1007804 is expected to validate that the length of :exception_message is at most 10007805 is expected to define :previous_status as an enum backed by an integer with values ‹[:pending, :running, :failed, :succeeded]›, prefix: true7806 is expected to define :next_status as an enum backed by an integer with values ‹[:pending, :running, :failed, :succeeded]›, prefix: true7807MergeRequests::CreateApprovalEventService7808 #execute7809 creates approve MR event7810ResourceEvents::SyntheticStateNotesBuilderService7811 #execute7812 behaves like filters by paginated notes7813 only returns given notes7814 when paginated notes is empty7815 does not return any notes7816Banzai::Pipeline::PostProcessPipeline7817 when a document only has upload links7818 does not make any Gitaly calls7819 when both upload and repository links are present7820 searches for attributes only once7821MailScheduler::IssueDueWorker7822 #perform7823 sends emails for open issues due tomorrow in the project specified7824OptionallySearch7825 .search7826 raises NotImplementedError7827 .optionally_search7828 when a query is given7829 delegates to the search method7830 when an option is provided7831 delegates to the search method7832 when no query is given7833 returns the current relation7834 when an empty query is given7835 returns the current relation7836Users::SavedReplies::UpdateService7837 #execute7838 when update fails7839 is expected not to be success7840 returns error messages7841 when update succeeds7842 is expected to be success7843 updates new Saved Reply in database7844 returns saved reply7845Mutations::Achievements::Delete7846 # order random7847 is expected to require graphql authorizations :admin_achievement7848 #resolve7849 when the user does not have permission7850 raises an error7851 when the user has permission7852 deletes the achievement7853 when the params are invalid7854 returns the validation error7855Gitlab::WikiFileFinder7856 #find7857 behaves like file finder7858 finds by path7859 finds by content7860BulkImports::UploadsExportService7861 #execute7862 exports project uploads and avatar7863 when upload has underlying file missing7864 with an upload missing its file7865 does not cause errors7866 when upload is in object storage7867 when filename is too long7868 ignores problematic upload and logs exception7869 when network exception occurs7870 ignores problematic upload and logs exception7871RuboCop::Cop::IgnoredColumns7872 # order random7873 flags direct use of ignored_columns instead of the IgnoredColumns concern7874 when CE and EE model exist7875 flags ignore_columns usage in EE model7876 flags ignore_column usage in EE model7877 when only EE model exist7878 flags ignore_columns usage in EE model7879 flags ignore_column usage in EE model7880 when only CE model exist7881 does not flag ignore_columns usage in CE model7882 flags ignore_column usage in EE model7883Gitlab::Utils::DeepSize7884 # order random7885 is expected to eq 10485767886 is expected to eq 1007887 #initialize7888 when max_size is nil7889 sets max_size to DEFAULT_MAX_SIZE7890 when max_depth is nil7891 sets max_depth to DEFAULT_MAX_DEPTH7892 #valid?7893 when data within size and depth limits7894 is expected to be valid7895 when data not within size limit7896 is expected not to be valid7897 when data not within depth limit7898 is expected not to be valid7899PagesWorker7900 when called with the deploy action7901 calls UpdatePagesService7902 when called with any other action7903 does nothing7904RuboCop::Cop::ActiveRecordAssociationReload7905 # order random7906 when using on self7907 registers an offense on reload usage7908 does not register an offense on reset usage7909 when using ActiveRecord::Base7910 registers an offense on reload usage7911 does not register an offense on reset usage7912 when using ActiveRecord::Relation7913 registers an offense on reload usage7914 does not register an offense on reset usage7915Ci::Runners::ReconcileExistingRunnerVersionsService#execute7916 with RunnerUpgradeCheck recommending 14.0.27917 with runner with new version7918 creates and updates expected ci_runner_versions entries7919 with orphan ci_runner_version7920 deletes orphan ci_runner_versions entry7921 with no runner version changes7922 does not modify ci_runner_versions entries7923 with failing version check7924 makes no changes to ci_runner_versions7925 integration testing with Gitlab::Ci::RunnerUpgradeCheck7926 does not modify ci_runner_versions entries7927Gitlab::AvatarCache7928 #by_email7929 writes a new value into the cache7930 finds the cached value and doesn't execute the block7931 finds the cached value in the request store and doesn't execute the block7932 #delete_by_email7933 no emails, somehow7934 is expected to eq 07935 single email7936 removes the email7937 multiple emails7938 removes the emails it finds7939BulkImports::Pipeline::ExtractedData7940 #has_next_page?7941 when next page is present7942 returns true7943 when next page is not present7944 returns false7945 #next_page7946 returns next page cursor information7947 #each7948 when block is present7949 yields each data item7950 when block is not present7951 returns enumerator7952Gitlab::Usage::Metrics::Instrumentations::CountMlCandidatesMetric7953 # order random7954 behaves like a correct instrumented metric value and query7955 behaves like a correct instrumented metric value7956 has correct value7957 behaves like a correct instrumented metric query7958 has correct generate query7959RuboCop::Cop::UsageData::InstrumentationSuperclass7960 # order random7961 with dynamic class definition7962 when inheriting from allowed superclass7963 does not register an offense7964 when inheriting from some other superclass7965 registers an offense7966 when not inheriting7967 does not register an offense7968 with class definition7969 when inheriting from allowed superclass7970 does not register an offense7971 when inheriting from some other superclass7972 registers an offense7973 when not inheriting7974 does not register an offense7975Resolvers::ErrorTracking::SentryErrorCollectionResolver7976 is expected to have nullable GraphQL type SentryErrorCollection7977 #resolve7978 returns an error collection object7979 provides the service url7980 provides the project7981ResolvesProject7982 can resolve projects by path7983 can resolve projects by id7984 complains when both are present7985 complains when neither is present7986ExternalIssue7987 modules7988 is expected to includes the Referable module7989 #to_reference7990 returns a String reference to the object7991 #title7992 returns a title7993 #reference_link_text7994 if issue id has a prefix7995 returns the issue ID7996 if issue id is a number7997 returns the issue ID prefixed by #7998 #project_id7999 returns the ID of the project8000 #hash8001 returns the hash of its [class, to_s] pair8002RuboCop::Cop::AvoidBecomes8003 # order random8004 flags the use of becomes with a constant parameter8005 flags the use of becomes with a namespaced constant parameter8006 flags the use of becomes with a dynamic parameter8007Ci::Queue::PendingBuildsStrategy8008 # order random8009 builds_for_group_runner8010 returns builds ordered by build ID8011ImpersonationAccessTokenSerializer8012 # order random8013 #represent8014 can render a single token8015 can render a collection of tokens8016Gitlab::GithubImport::Representation::DiffNotes::DiscussionId8017 # order random8018 #discussion_id8019 when the note is not a reply to a discussion8020 generates and caches new discussion_id8021 when the note is a reply to a discussion8022 uses the cached value as the discussion_id8023 when cached value does not exist8024 falls back to generating a new discussion_id8025Gitlab::Auth::Saml::AuthHash8026 #groups8027 returns array of groups8028 raw info hash attributes empty8029 returns an empty array8030 #authn_context8031 with response_object8032 can extract authn_context8033 with SAML 2.0 response_object8034 can extract authn_context8035 with ADFS SAML response_object8036 can extract authn_context8037 without response_object8038 returns an empty string8039Types::DurationType8040 presents information as a floating point number8041 accepts integers as input8042 accepts floats as input8043 rejects nil8044Gitlab::GithubImport::SequentialImporter8045 #execute8046 imports a project in sequence8047 raises an error8048Gitlab::ConfigChecker::PumaRuggedChecker8049 #check8050 application is not puma8051 is expected to be empty8052 application is puma8053 not multithreaded_puma and rugged API enabled8054 is expected to be empty8055 not multithreaded_puma and rugged API is not enabled8056 is expected to be empty8057 multithreaded_puma and rugged API is not enabled8058 is expected to be empty8059 multithreaded_puma and rugged API is enabled8060 report multi_threaded_puma_with_rugged notices8061ProjectSerializer8062 when serializer option is :import8063 represents with ProjectImportEntity8064 when serializer option is omitted8065 represents with ProjectEntity8066Gitlab::Auth::Atlassian::AuthHash8067 #uid8068 returns the correct uid8069 #token8070 returns the correct token8071 #refresh_token8072 returns the correct refresh token8073 #token8074 returns the correct expires boolean8075 #token8076 returns the correct expiration8077Gitlab::Config::Entry::ComposableArray8078 #valid?8079 is valid8080 is invalid8081 is expected not to be valid8082 #compose!8083 composes child entry with configured value8084 composes child entries with configured values8085 #descendants8086 creates descendant nodes8087Net::HTTPResponse patch header read timeout8088 .each_response_header8089 with Net::BufferedIO8090 does not forward start time to the socket8091 when the response contains many consecutive spaces8092 has no regex backtracking issues8093 with Gitlab::BufferedIo8094 forwards start time to the socket8095 when the response contains an infinite number of headers8096 raises a timeout error8097MergeRequests::Mergeability::CheckDraftStatusService8098 #execute8099 when the merge request is a draft8100 returns a check result with status failed8101 when the merge request is not a draft8102 returns a check result with status success8103 #skip?8104 returns false8105 #cacheable?8106 returns false8107Create work item hierarchy restrictions in production8108 # order random8109 behaves like work item hierarchy restrictions importer8110 when restrictions are missing8111 behaves like adds restrictions8112OK8113 adds all restrictions if they don't exist8114 when base types are missing8115 behaves like adds restrictions8116OK8117 adds all restrictions if they don't exist8118 when restrictions already exist8119OK8120 upserts restrictions8121 when some restrictions are missing8122OK8123 inserts missing restrictions and does nothing if some already existed8124Gitlab::Ci::Reports::Security::Flag8125 #initialize8126 when all params are given8127 initializes an instance8128 #to_h8129 returns expected hash8130 #false_positive?8131 is expected to be truthy8132Gitlab::LegacyGithubImport::IssuableFormatter8133 #project_association8134 is expected to raise NotImplementedError8135 #number8136 is expected to eq 428137 #find_condition8138 is expected to eq {:iid=>42}8139Gitlab::UsageDataCounters::RedisCounter8140 .increment8141 when usage_ping is disabled8142 counter is not increased8143 when usage_ping is enabled8144 counter is increased8145 .increment_by8146 when usage_ping is disabled8147 counter is not increased8148 when usage_ping is enabled8149 counter is increased8150Gitlab::GithubImport::Stage::ImportPullRequestsWorker8151 raises an error8152 #import8153 imports all the pull requests8154Gitlab::GithubImport::Stage::FinishImportWorker8155 #perform8156 marks the import as finished and reports import statistics8157Gitlab::Ci::Interpolation::Config8158 # order random8159 #replace!8160 replaces each od the nodes with a block return value8161 when config size is exceeded8162 returns a config size error8163Gitlab::Import::DatabaseHelpers8164 .insert_and_return_id8165 returns the ID returned by the query8166Types::ProjectMemberType8167 is expected to expose permissions using Types::PermissionTypes::Project8168 is expected to eq "ProjectMember"8169 is expected to require graphql authorizations :read_project8170 has the expected fields8171Gitlab::Metrics::Memory8172 .gc_heap_fragmentation8173 when the Ruby heap is perfectly utilized8174 is expected to eq 08175 when the Ruby heap is greatly fragmented8176 is expected to be > 0.998177 when the Ruby heap is semi-fragmented8178 is expected to eq 0.58179Gitlab::Graphql::Tracers::LoggerTracer8180 logs every query8181 logs exceptions for breaking queries8182RepositoryCheck::ClearWorker8183 clears repository check columns8184Ci::TriggersHelper8185 .builds_trigger_url8186 with no ref8187 is expected to eq "http://localhost/api/v4/projects/1/trigger/pipeline"8188 with ref8189 is expected to eq "http://localhost/api/v4/projects/1/ref/master/trigger/pipeline"8190 .service_trigger_url8191 is expected to eq "http://localhost/api/v4/projects/1/services/param/trigger"8192RuboCop::Cop::RSpec::MissingFeatureCategory8193 # order random8194 does not flag if feature category is defined8195 flags missing feature category in top level example group8196Types::AlertManagement::IntegrationType8197 is expected to eq "AlertManagementIntegration"8198 exposes the expected fields8199Gitlab::GithubImport::Importer::Events::BaseImporter8200 #execute8201 is expected to raise NotImplementedError8202Types::DeploymentType8203 # order random8204 has the expected fields8205 is expected to require graphql authorizations :read_deployment8206 is expected to eq "Deployment"8207 is expected to expose permissions using Types::PermissionTypes::Deployment8208Gitlab::SidekiqStatus::ServerMiddleware8209 #call8210 stops tracking of a job upon completion8211memory watchdog8212 when GITLAB_MEMORY_WATCHDOG_ENABLED is truthy8213 when runtime is an application8214 registers a life-cycle hook8215 when runtime is unsupported8216 does not register life-cycle hook8217 when GITLAB_MEMORY_WATCHDOG_ENABLED is false8218 does not register life-cycle hook8219Ensure kramdown detects invalid syntax highlighting formatters8220 with invalid formatter8221 falls back to standard HTML and disallows CSV8222 with valid formatter8223 allows formatter8224RuboCop::Cop::ProjectPathHelper8225 # order random8226 when using namespace_project with the project's namespace8227 registers an offense and corrects8228 when using namespace_project with a different namespace8229 registers no offense8230API::Entities::Ci::JobArtifactFile8231 returns the filename8232 returns the size8233Types::Ci::Config::JobType8234 is expected to eq "CiConfigJob"8235 exposes the expected fields8236Analytics::CycleAnalytics::StageEntity8237 exposes start and end event descriptions8238 exposes start_event and end_event objects8239Gitlab::InsecureKeyFingerprint8240 #fingerprint_sha2568241 generates the key's fingerprint8242Types::DependencyProxy::BlobType8243 includes dependency proxy blob fields8244Types::WorkItems::Widgets::NotificationsUpdateInputType8245 # order random8246 is expected to contain exactly "subscribed"8247 is expected to eq "WorkItemWidgetNotificationsUpdateInput"8248RuboCop::Cop::Gemspec::AvoidExecutingGit8249 # order random8250 does not flag violation for using a glob8251 flags violation for executing git8252RuboCop::Cop::Database::RescueStatementTimeout8253 # order random8254 flags the use of ActiveRecord::StatementTimeout8255 does not flag a different exception8256Types::BranchRules::BranchProtectionType8257 # order random8258 is expected to require graphql authorizations :read_protected_branch8259 is expected to have graphql fields :merge_access_levels, :push_access_levels, and :allow_force_push8260Group::CrmSettings8261 associations8262 is expected to belong to group required: false8263 validations8264 is expected to validate that :group cannot be empty/falsy8265Rails asset host initializer8266 uses no asset host by default8267 with cdn_host defined in gitlab.yml8268 returns https://gitlab.example.com8269groups/settings/_remove.html.haml8270 render8271 enables the Remove group button for a group8272Sidebars::UncategorizedMenu8273 # order random8274 has title and sprite_icon8275Ci::VariablesHelper8276 # order random8277 #ci_variable_maskable_raw_regex8278 converts to a javascript regex8279Spam::Concerns::HasSpamActionResponseFields8280 #with_spam_action_response_fields8281 merges in spam action fields from spammable8282Gitlab::Ci::Reports::Sbom::Source8283 has correct attributes8284Gitlab::Memory::Watchdog::Handlers::PumaHandler8285 # order random8286 #call8287 invokes orderly termination via Puma API8288Gitlab::Graphql::QueryAnalyzers::AST::LoggerAnalyzer8289 #result8290 returns the complexity, depth, duration, etc8291Namespaces::InProductMarketingEmailsWorker#perform8292 when the in_product_marketing_emails_enabled setting is disabled8293 does not execute the email service8294 when the in_product_marketing_emails_enabled setting is enabled8295 executes the email service8296Pending: (Failures listed here are expected and do not affect your suite's status)8297 1) AttachmentUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 8298 # No pattern provided, skipping.8299 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88300 2) AttachmentUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 8301 # No pattern provided, skipping.8302 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88303 3) AttachmentUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8304 # No pattern provided, skipping.8305 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88306 4) AttachmentUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 8307 # No pattern provided, skipping.8308 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88309 5) AttachmentUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 8310 # No pattern provided, skipping.8311 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88312 6) AttachmentUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 8313 # No pattern provided, skipping.8314 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88315 7) AttachmentUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 8316 # No pattern provided, skipping.8317 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88318Finished in 26 minutes 18 seconds (files took 1 minute 3.31 seconds to load)83193593 examples, 0 failures, 7 pending8320Randomized with seed 462708321[TEST PROF INFO] Time spent in factories: 15:26.800 (57.71% of total time)8322RSpec exited with 0.8323No examples to retry, congrats!8325Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8326Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8328Uploading artifacts...8329coverage/: found 5 matching artifact files and directories 8330crystalball/: found 2 matching artifact files and directories 8331WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8332knapsack/: found 3 matching artifact files and directories 8333WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8334rspec/: found 12 matching artifact files and directories 8335WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8336log/*.log: found 17 matching artifact files and directories 8337WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138950/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8338WARNING: Retrying... context=artifacts-uploader error=request redirected8339Uploading artifacts as "archive" to coordinator... 201 Created id=4031138950 responseStatus=201 Created token=64_8-yAQ8340Uploading artifacts...8341rspec/junit_rspec.xml: found 1 matching artifact files and directories 8342WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138950/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8343WARNING: Retrying... context=artifacts-uploader error=request redirected8344Uploading artifacts as "junit" to coordinator... 201 Created id=4031138950 responseStatus=201 Created token=64_8-yAQ8346Job succeeded