rspec unit pg13 6/28
Passed Started
by
@rkadam3

Rajendra Kadam
1Running with gitlab-runner 15.9.0~beta.212.g8ccc65e7 (8ccc65e7)2 on green-3.private.runners-manager.gitlab.com/gitlab.com/gitlab-org QuQPoFsC, system ID: s_fc023362bf2f3 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.19-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:ab3945c8cf7160ed1381efd47c6a203ba9a84fc7327a17e4a389601eb3738b3b for postgres:13 with digest postgres@sha256:67edfda7deeecfda8e40c9b00818eae76573a9e9466ba7edbc536662d128173b ...10Starting service redis:6.2-alpine ...11Pulling docker image redis:6.2-alpine ...12Using docker image sha256:a9a47a706682d445577bb5da7328f0faaa0863a5742a315c829faa461dfc23ae for redis:6.2-alpine with digest redis@sha256:317575f05099ea47b1f2855b1bb6e068b52847bfa19b87014d88d57f82d4b8f0 ...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.19-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:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-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.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...18Running on runner-quqpofsc-project-278964-concurrent-0 via runner-quqpofsc-private-1681889275-77ac25e3...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: 127066, done. 25remote: Counting objects: 100% (127066/127066), done. 26remote: Compressing objects: 100% (84263/84263), done. 27remote: Total 127066 (delta 52059), reused 86943 (delta 37888), pack-reused 0 28Receiving objects: 100% (127066/127066), 122.40 MiB | 30.47 MiB/s, done.29Resolving deltas: 100% (52059/52059), done.31 * [new ref] refs/pipelines/841847819 -> refs/pipelines/84184781932 * [new branch] master -> origin/master33Checking out e2ff33c5 as detached HEAD (ref is master)...34Skipping Git submodules setup35$ git remote set-url origin "${CI_REPOSITORY_URL}"37Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...38cache.zip is up to date 39Successfully extracted cache41Downloading artifacts for compile-test-assets (4139146271)...42Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4139146271 responseStatus=200 OK token=64_PqmXD43Downloading artifacts for retrieve-tests-metadata (4139146276)...44Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4139146276 responseStatus=200 OK token=64_PqmXD45Downloading artifacts for setup-test-env (4139146274)...46Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4139146274 responseStatus=200 OK token=64_PqmXD48Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-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.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...49$ echo $FOSS_ONLY50$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb51$ export GOPATH=$CI_PROJECT_DIR/.go52$ mkdir -p $GOPATH53$ source scripts/utils.sh54$ source scripts/prepare_build.sh709Using decomposed database config (config/database.yml.decomposed-postgresql)710Geo DB won't be set up.711$ setup_db_user_only712CREATE ROLE713GRANT714==> 'setup_db_user_only' succeeded in 0 seconds.715$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes716Dropped database 'gitlabhq_test'717Dropped database 'gitlabhq_test_ci'718Created database 'gitlabhq_test'719Created database 'gitlabhq_test_ci'720main: == [advisory_lock_connection] object_id: 273740, pg_backend_pid: 100721main: == [advisory_lock_connection] object_id: 273740, pg_backend_pid: 100722ci: == [advisory_lock_connection] object_id: 273820, pg_backend_pid: 102723ci: == [advisory_lock_connection] object_id: 273820, pg_backend_pid: 102724==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 46 seconds.725$ setup_db_praefect726SELECT pg_catalog.set_config('search_path', '', false);727CREATE DATABASE praefect_test ENCODING 'UTF8';728==> 'setup_db_praefect' succeeded in 0 seconds.729$ source ./scripts/rspec_helpers.sh730$ run_timed_command "gem install knapsack --no-document"731$ gem install knapsack --no-document732Successfully installed knapsack-4.0.07331 gem installed734==> 'gem install knapsack --no-document' succeeded in 1 seconds.735$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"744$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"745SKIP_FLAKY_TESTS_AUTOMATICALLY: false746RETRY_FAILED_TESTS_IN_NEW_PROCESS: true747KNAPSACK_GENERATE_REPORT: true748FLAKY_RSPEC_GENERATE_REPORT: true749KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,components,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}{,/**/}*_spec.rb750KNAPSACK_LOG_LEVEL: debug751KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_6_28_report.json752FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json753FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_6_28_report.json754NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_6_28_report.json755SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg13_6_28_report.txt756CRYSTALBALL: 757Knapsack node specs:758spec/services/merge_requests/update_service_spec.rb759spec/lib/gitlab/git/repository_spec.rb760spec/services/git/branch_hooks_service_spec.rb761spec/models/event_spec.rb762spec/models/milestone_spec.rb763spec/lib/object_storage/direct_upload_spec.rb764spec/serializers/merge_request_widget_entity_spec.rb765spec/lib/gitlab/background_migration/job_coordinator_spec.rb766spec/services/merge_requests/cleanup_refs_service_spec.rb767spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb768spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb769spec/models/concerns/counter_attribute_spec.rb770spec/services/boards/lists/update_service_spec.rb771spec/tasks/gitlab/db/validate_config_rake_spec.rb772spec/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter_spec.rb773spec/models/ci/build_dependencies_spec.rb774spec/views/projects/issues/show.html.haml_spec.rb775spec/helpers/avatars_helper_spec.rb776spec/services/bulk_imports/create_service_spec.rb777spec/models/packages/debian/file_metadatum_spec.rb778spec/helpers/blob_helper_spec.rb779spec/lib/gitlab/background_migration/backfill_internal_on_notes_spec.rb780spec/graphql/mutations/merge_requests/set_assignees_spec.rb781spec/lib/banzai/filter/video_link_filter_spec.rb782spec/services/projects/update_pages_service_spec.rb783spec/finders/cluster_ancestors_finder_spec.rb784spec/finders/alert_management/alerts_finder_spec.rb785spec/models/diff_discussion_spec.rb786spec/serializers/project_note_entity_spec.rb787spec/workers/projects/after_import_worker_spec.rb788spec/lib/gitlab/middleware/read_only_spec.rb789spec/lib/gitlab/git/object_pool_spec.rb790spec/services/projects/protect_default_branch_service_spec.rb791spec/lib/gitlab/suggestions/suggestion_set_spec.rb792spec/helpers/icons_helper_spec.rb793spec/services/releases/destroy_service_spec.rb794spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb795spec/services/issues/reopen_service_spec.rb796spec/finders/context_commits_finder_spec.rb797spec/models/project_feature_usage_spec.rb798spec/views/notify/pipeline_success_email.text.erb_spec.rb799spec/services/namespaces/package_settings/update_service_spec.rb800spec/lib/banzai/reference_parser/issue_parser_spec.rb801spec/workers/projects/git_garbage_collect_worker_spec.rb802spec/rubocop/cop/gitlab/namespaced_class_spec.rb803spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb804spec/models/dependency_proxy/blob_spec.rb805spec/lib/gitlab/ci/config/entry/default_spec.rb806spec/helpers/broadcast_messages_helper_spec.rb807spec/helpers/button_helper_spec.rb808spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb809spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb810spec/models/merge_request_assignee_spec.rb811spec/services/issues/referenced_merge_requests_service_spec.rb812spec/lib/gitlab/data_builder/build_spec.rb813spec/uploaders/packages/composer/cache_uploader_spec.rb814spec/models/lfs_file_lock_spec.rb815spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb816spec/lib/gitlab/database/migrations/timeout_helpers_spec.rb817spec/lib/sidebars/projects/menus/hidden_menu_spec.rb818spec/services/ci/create_pipeline_service/logger_spec.rb819spec/services/wiki_pages/create_service_spec.rb820spec/lib/sidebars/projects/menus/monitor_menu_spec.rb821spec/lib/gitlab/etag_caching/middleware_spec.rb822spec/lib/gitlab/ci/config/external/interpolator_spec.rb823spec/services/packages/debian/extract_changes_metadata_service_spec.rb824spec/lib/gitlab/ci/build/policy/refs_spec.rb825spec/lib/gitlab/suggestions/commit_message_spec.rb826spec/models/ci/job_variable_spec.rb827spec/models/incident_management/project_incident_management_setting_spec.rb828spec/lib/banzai/pipeline/description_pipeline_spec.rb829spec/helpers/ci/status_helper_spec.rb830spec/lib/gitlab/database/async_constraints/postgres_async_constraint_validation_spec.rb831spec/presenters/projects/import_export/project_export_presenter_spec.rb832spec/lib/gitlab/github_import/importer/protected_branches_importer_spec.rb833spec/lib/gitlab/cache/request_cache_spec.rb834spec/lib/gitlab/ci/config/entry/include_spec.rb835spec/lib/api/ci/helpers/runner_spec.rb836spec/helpers/projects/alert_management_helper_spec.rb837spec/models/blob_viewer/license_spec.rb838spec/services/ci/update_instance_variables_service_spec.rb839spec/lib/gitlab/ci/config/entry/needs_spec.rb840spec/lib/gitlab/git/keep_around_spec.rb841spec/lib/gitlab/auth/o_auth/provider_spec.rb842spec/services/jira_connect_subscriptions/create_service_spec.rb843spec/views/projects/merge_requests/creations/_new_submit.html.haml_spec.rb844spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb845spec/services/packages/create_temporary_package_service_spec.rb846spec/tasks/gitlab/gitaly_rake_spec.rb847spec/finders/repositories/tree_finder_spec.rb848spec/models/clusters/agent_token_spec.rb849spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb850spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb851spec/services/groups/nested_create_service_spec.rb852spec/services/personal_access_tokens/revoke_service_spec.rb853spec/graphql/resolvers/snippets_resolver_spec.rb854spec/serializers/label_serializer_spec.rb855spec/finders/releases/evidence_pipeline_finder_spec.rb856spec/lib/gitlab/lograge/custom_options_spec.rb857spec/lib/gitlab/graphql/loaders/lazy_relation_loader_spec.rb858spec/finders/design_management/designs_finder_spec.rb859spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb860spec/lib/gitlab/private_commit_email_spec.rb861spec/lib/gitlab/database/reindexing/coordinator_spec.rb862spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb863spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb864spec/graphql/mutations/todos/restore_many_spec.rb865spec/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker_spec.rb866spec/lib/sidebars/user_profile/menus/starred_projects_menu_spec.rb867spec/lib/gitlab/audit/target_spec.rb868spec/lib/api/helpers/authentication_spec.rb869spec/serializers/stage_serializer_spec.rb870spec/workers/merge_requests/execute_approval_hooks_worker_spec.rb871spec/lib/gitlab/github_import/clients/proxy_spec.rb872spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_experiments_metric_spec.rb873spec/lib/gitlab/utils/mime_type_spec.rb874spec/lib/gitlab/quick_actions/timeline_text_and_date_time_separator_spec.rb875spec/lib/gitlab/import_export/avatar_saver_spec.rb876spec/services/incident_management/link_alerts/destroy_service_spec.rb877spec/lib/gitlab/gon_helper_spec.rb878spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb879spec/graphql/resolvers/branch_commit_resolver_spec.rb880spec/services/merge_requests/execute_approval_hooks_service_spec.rb881spec/presenters/award_emoji_presenter_spec.rb882spec/models/project_custom_attribute_spec.rb883spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb884spec/lib/gitlab/identifier_spec.rb885spec/lib/bulk_imports/common/pipelines/badges_pipeline_spec.rb886spec/graphql/types/ci/job_type_spec.rb887spec/policies/protected_branch_access_policy_spec.rb888spec/lib/gitlab/ci/status/failed_spec.rb889spec/helpers/recaptcha_helper_spec.rb890spec/lib/gitlab/database/async_indexes/postgres_async_index_spec.rb891spec/lib/bulk_imports/projects/pipelines/snippets_pipeline_spec.rb892spec/lib/generators/model/model_generator_spec.rb893spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_inactive_public_projects_spec.rb894spec/models/packages/composer/metadatum_spec.rb895spec/tasks/gitlab/metrics_exporter_task_spec.rb896spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb897spec/models/pages/virtual_domain_spec.rb898spec/services/packages/rubygems/create_gemspec_service_spec.rb899spec/tooling/lib/tooling/kubernetes_client_spec.rb900spec/lib/gitlab/sql/except_spec.rb901spec/graphql/resolvers/users/groups_resolver_spec.rb902spec/lib/gitlab/allowable_spec.rb903spec/lib/gitlab/gitaly_client/storage_settings_spec.rb904spec/lib/gitlab/ci/status/group/common_spec.rb905spec/lib/gitlab/import_export/project/relation_saver_spec.rb906spec/workers/todos_destroyer/destroyed_designs_worker_spec.rb907spec/services/dependency_proxy/head_manifest_service_spec.rb908spec/finders/user_groups_counter_spec.rb909spec/lib/gitlab/ci/reports/codequality_mr_diff_spec.rb910spec/serializers/test_reports_comparer_entity_spec.rb911spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb912spec/services/clusters/cleanup/service_account_service_spec.rb913spec/workers/invalid_gpg_signature_update_worker_spec.rb914spec/lib/gitlab/database/migrations/batched_migration_last_id_spec.rb915spec/lib/gitlab/database/reindexing/reindex_action_spec.rb916spec/lib/gitlab/ci/reports/security/reports_spec.rb917spec/lib/gitlab/tracking/service_ping_context_spec.rb918spec/services/ci/abort_pipelines_service_spec.rb919spec/presenters/packages/nuget/package_metadata_presenter_spec.rb920spec/helpers/projects/pipeline_helper_spec.rb921spec/rubocop/cop/migration/prevent_strings_spec.rb922spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb923spec/workers/update_merge_requests_worker_spec.rb924spec/lib/sidebars/user_settings/menus/account_menu_spec.rb925spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb926spec/finders/applications_finder_spec.rb927spec/services/users/respond_to_terms_service_spec.rb928spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb929spec/services/clusters/agents/create_activity_event_service_spec.rb930spec/lib/gitlab/middleware/memory_report_spec.rb931spec/views/devise/shared/_signup_box.html.haml_spec.rb932spec/services/bulk_imports/lfs_objects_export_service_spec.rb933spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb934spec/services/bulk_imports/file_export_service_spec.rb935spec/lib/gitlab/metrics/dashboard/cache_spec.rb936spec/models/work_items/hierarchy_restriction_spec.rb937spec/lib/banzai/cross_project_reference_spec.rb938spec/lib/gitlab/diff/parallel_diff_spec.rb939spec/workers/disallow_two_factor_for_group_worker_spec.rb940spec/lib/sidebars/projects/menus/snippets_menu_spec.rb941spec/lib/gitlab/ci/status/skipped_spec.rb942spec/lib/gitlab/usage/metrics/instrumentations/redis_hll_metric_spec.rb943spec/workers/ci/delete_objects_worker_spec.rb944spec/lib/gitlab/graphql/mount_mutation_spec.rb945spec/lib/gitlab/ci/templates/Terraform/module_base_gitlab_ci_yaml_spec.rb946spec/presenters/terraform/modules_presenter_spec.rb947spec/models/packages/nuget/dependency_link_metadatum_spec.rb948spec/lib/gitlab/ci/mask_secret_spec.rb949spec/lib/gitlab/ci/pipeline/chain/cancel_pending_pipelines_spec.rb950spec/models/namespaces/randomized_suffix_path_spec.rb951spec/serializers/analytics_merge_request_serializer_spec.rb952spec/lib/bulk_imports/projects/graphql/get_repository_query_spec.rb953spec/graphql/types/customer_relations/contact_type_spec.rb954spec/views/devise/shared/_signin_box.html.haml_spec.rb955spec/lib/marginalia_spec.rb956spec/models/packages/package_file_build_info_spec.rb957spec/lib/gitlab/ci/interpolation/block_spec.rb958spec/validators/import/gitlab_projects/remote_file_validator_spec.rb959spec/lib/gitlab/diff/inline_diff_marker_spec.rb960spec/lib/api/entities/nuget/metadatum_spec.rb961spec/graphql/types/incident_management/timeline_event_tag_type_spec.rb962spec/graphql/types/packages/package_details_type_spec.rb963spec/lib/banzai/filter/suggestion_filter_spec.rb964spec/lib/gitlab/import/database_helpers_spec.rb965spec/graphql/mutations/saved_replies/destroy_spec.rb966spec/graphql/types/project_statistics_type_spec.rb967spec/workers/ci/stuck_builds/drop_scheduled_worker_spec.rb968spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb969spec/rubocop/cop/gitlab/avoid_feature_get_spec.rb970spec/models/protected_branch/merge_access_level_spec.rb971spec/lib/gitlab/database/migrations/observers/query_log_spec.rb972spec/lib/gitlab/audit/deploy_key_author_spec.rb973spec/lib/gitlab/metrics/dashboard/defaults_spec.rb974spec/lib/gitlab/namespaced_session_store_spec.rb975spec/lib/gitlab/import_export/model_configuration_spec.rb976spec/services/spam/spam_params_spec.rb977spec/initializers/rails_asset_host_spec.rb978spec/lib/gitlab/slash_commands/presenters/error_spec.rb979spec/lib/gitlab/ci/input/arguments/base_spec.rb980spec/initializers/cookies_serializer_spec.rb981spec/lib/gitlab/backtrace_cleaner_spec.rb982spec/components/pajamas/concerns/checkbox_radio_options_spec.rb983spec/graphql/types/security/report_types_enum_spec.rb984spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb985spec/scripts/api/commit_merge_requests_spec.rb986spec/graphql/types/dependency_proxy/manifest_type_spec.rb987spec/serializers/integrations/harbor_serializers/tag_serializer_spec.rb988spec/graphql/types/ci/variable_sort_enum_spec.rb989spec/lib/gitlab/database/schema_validation/validators/extra_tables_spec.rb990Filter specs:991Running specs:992Running all node tests without filter993spec/services/merge_requests/update_service_spec.rb994spec/lib/gitlab/git/repository_spec.rb995spec/services/git/branch_hooks_service_spec.rb996spec/models/event_spec.rb997spec/models/milestone_spec.rb998spec/lib/object_storage/direct_upload_spec.rb999spec/serializers/merge_request_widget_entity_spec.rb1000spec/lib/gitlab/background_migration/job_coordinator_spec.rb1001spec/services/merge_requests/cleanup_refs_service_spec.rb1002spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb1003spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb1004spec/models/concerns/counter_attribute_spec.rb1005spec/services/boards/lists/update_service_spec.rb1006spec/tasks/gitlab/db/validate_config_rake_spec.rb1007spec/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter_spec.rb1008spec/models/ci/build_dependencies_spec.rb1009spec/views/projects/issues/show.html.haml_spec.rb1010spec/helpers/avatars_helper_spec.rb1011spec/services/bulk_imports/create_service_spec.rb1012spec/models/packages/debian/file_metadatum_spec.rb1013spec/helpers/blob_helper_spec.rb1014spec/lib/gitlab/background_migration/backfill_internal_on_notes_spec.rb1015spec/graphql/mutations/merge_requests/set_assignees_spec.rb1016spec/lib/banzai/filter/video_link_filter_spec.rb1017spec/services/projects/update_pages_service_spec.rb1018spec/finders/cluster_ancestors_finder_spec.rb1019spec/finders/alert_management/alerts_finder_spec.rb1020spec/models/diff_discussion_spec.rb1021spec/serializers/project_note_entity_spec.rb1022spec/workers/projects/after_import_worker_spec.rb1023spec/lib/gitlab/middleware/read_only_spec.rb1024spec/lib/gitlab/git/object_pool_spec.rb1025spec/services/projects/protect_default_branch_service_spec.rb1026spec/lib/gitlab/suggestions/suggestion_set_spec.rb1027spec/helpers/icons_helper_spec.rb1028spec/services/releases/destroy_service_spec.rb1029spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb1030spec/services/issues/reopen_service_spec.rb1031spec/finders/context_commits_finder_spec.rb1032spec/models/project_feature_usage_spec.rb1033spec/views/notify/pipeline_success_email.text.erb_spec.rb1034spec/services/namespaces/package_settings/update_service_spec.rb1035spec/lib/banzai/reference_parser/issue_parser_spec.rb1036spec/workers/projects/git_garbage_collect_worker_spec.rb1037spec/rubocop/cop/gitlab/namespaced_class_spec.rb1038spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb1039spec/models/dependency_proxy/blob_spec.rb1040spec/lib/gitlab/ci/config/entry/default_spec.rb1041spec/helpers/broadcast_messages_helper_spec.rb1042spec/helpers/button_helper_spec.rb1043spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb1044spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb1045spec/models/merge_request_assignee_spec.rb1046spec/services/issues/referenced_merge_requests_service_spec.rb1047spec/lib/gitlab/data_builder/build_spec.rb1048spec/uploaders/packages/composer/cache_uploader_spec.rb1049spec/models/lfs_file_lock_spec.rb1050spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb1051spec/lib/gitlab/database/migrations/timeout_helpers_spec.rb1052spec/lib/sidebars/projects/menus/hidden_menu_spec.rb1053spec/services/ci/create_pipeline_service/logger_spec.rb1054spec/services/wiki_pages/create_service_spec.rb1055spec/lib/sidebars/projects/menus/monitor_menu_spec.rb1056spec/lib/gitlab/etag_caching/middleware_spec.rb1057spec/lib/gitlab/ci/config/external/interpolator_spec.rb1058spec/services/packages/debian/extract_changes_metadata_service_spec.rb1059spec/lib/gitlab/ci/build/policy/refs_spec.rb1060spec/lib/gitlab/suggestions/commit_message_spec.rb1061spec/models/ci/job_variable_spec.rb1062spec/models/incident_management/project_incident_management_setting_spec.rb1063spec/lib/banzai/pipeline/description_pipeline_spec.rb1064spec/helpers/ci/status_helper_spec.rb1065spec/lib/gitlab/database/async_constraints/postgres_async_constraint_validation_spec.rb1066spec/presenters/projects/import_export/project_export_presenter_spec.rb1067spec/lib/gitlab/github_import/importer/protected_branches_importer_spec.rb1068spec/lib/gitlab/cache/request_cache_spec.rb1069spec/lib/gitlab/ci/config/entry/include_spec.rb1070spec/lib/api/ci/helpers/runner_spec.rb1071spec/helpers/projects/alert_management_helper_spec.rb1072spec/models/blob_viewer/license_spec.rb1073spec/services/ci/update_instance_variables_service_spec.rb1074spec/lib/gitlab/ci/config/entry/needs_spec.rb1075spec/lib/gitlab/git/keep_around_spec.rb1076spec/lib/gitlab/auth/o_auth/provider_spec.rb1077spec/services/jira_connect_subscriptions/create_service_spec.rb1078spec/views/projects/merge_requests/creations/_new_submit.html.haml_spec.rb1079spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb1080spec/services/packages/create_temporary_package_service_spec.rb1081spec/tasks/gitlab/gitaly_rake_spec.rb1082spec/finders/repositories/tree_finder_spec.rb1083spec/models/clusters/agent_token_spec.rb1084spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb1085spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb1086spec/services/groups/nested_create_service_spec.rb1087spec/services/personal_access_tokens/revoke_service_spec.rb1088spec/graphql/resolvers/snippets_resolver_spec.rb1089spec/serializers/label_serializer_spec.rb1090spec/finders/releases/evidence_pipeline_finder_spec.rb1091spec/lib/gitlab/lograge/custom_options_spec.rb1092spec/lib/gitlab/graphql/loaders/lazy_relation_loader_spec.rb1093spec/finders/design_management/designs_finder_spec.rb1094spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb1095spec/lib/gitlab/private_commit_email_spec.rb1096spec/lib/gitlab/database/reindexing/coordinator_spec.rb1097spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb1098spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb1099spec/graphql/mutations/todos/restore_many_spec.rb1100spec/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker_spec.rb1101spec/lib/sidebars/user_profile/menus/starred_projects_menu_spec.rb1102spec/lib/gitlab/audit/target_spec.rb1103spec/lib/api/helpers/authentication_spec.rb1104spec/serializers/stage_serializer_spec.rb1105spec/workers/merge_requests/execute_approval_hooks_worker_spec.rb1106spec/lib/gitlab/github_import/clients/proxy_spec.rb1107spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_experiments_metric_spec.rb1108spec/lib/gitlab/utils/mime_type_spec.rb1109spec/lib/gitlab/quick_actions/timeline_text_and_date_time_separator_spec.rb1110spec/lib/gitlab/import_export/avatar_saver_spec.rb1111spec/services/incident_management/link_alerts/destroy_service_spec.rb1112spec/lib/gitlab/gon_helper_spec.rb1113spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb1114spec/graphql/resolvers/branch_commit_resolver_spec.rb1115spec/services/merge_requests/execute_approval_hooks_service_spec.rb1116spec/presenters/award_emoji_presenter_spec.rb1117spec/models/project_custom_attribute_spec.rb1118spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb1119spec/lib/gitlab/identifier_spec.rb1120spec/lib/bulk_imports/common/pipelines/badges_pipeline_spec.rb1121spec/graphql/types/ci/job_type_spec.rb1122spec/policies/protected_branch_access_policy_spec.rb1123spec/lib/gitlab/ci/status/failed_spec.rb1124spec/helpers/recaptcha_helper_spec.rb1125spec/lib/gitlab/database/async_indexes/postgres_async_index_spec.rb1126spec/lib/bulk_imports/projects/pipelines/snippets_pipeline_spec.rb1127spec/lib/generators/model/model_generator_spec.rb1128spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_inactive_public_projects_spec.rb1129spec/models/packages/composer/metadatum_spec.rb1130spec/tasks/gitlab/metrics_exporter_task_spec.rb1131spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb1132spec/models/pages/virtual_domain_spec.rb1133spec/services/packages/rubygems/create_gemspec_service_spec.rb1134spec/tooling/lib/tooling/kubernetes_client_spec.rb1135spec/lib/gitlab/sql/except_spec.rb1136spec/graphql/resolvers/users/groups_resolver_spec.rb1137spec/lib/gitlab/allowable_spec.rb1138spec/lib/gitlab/gitaly_client/storage_settings_spec.rb1139spec/lib/gitlab/ci/status/group/common_spec.rb1140spec/lib/gitlab/import_export/project/relation_saver_spec.rb1141spec/workers/todos_destroyer/destroyed_designs_worker_spec.rb1142spec/services/dependency_proxy/head_manifest_service_spec.rb1143spec/finders/user_groups_counter_spec.rb1144spec/lib/gitlab/ci/reports/codequality_mr_diff_spec.rb1145spec/serializers/test_reports_comparer_entity_spec.rb1146spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb1147spec/services/clusters/cleanup/service_account_service_spec.rb1148spec/workers/invalid_gpg_signature_update_worker_spec.rb1149spec/lib/gitlab/database/migrations/batched_migration_last_id_spec.rb1150spec/lib/gitlab/database/reindexing/reindex_action_spec.rb1151spec/lib/gitlab/ci/reports/security/reports_spec.rb1152spec/lib/gitlab/tracking/service_ping_context_spec.rb1153spec/services/ci/abort_pipelines_service_spec.rb1154spec/presenters/packages/nuget/package_metadata_presenter_spec.rb1155spec/helpers/projects/pipeline_helper_spec.rb1156spec/rubocop/cop/migration/prevent_strings_spec.rb1157spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb1158spec/workers/update_merge_requests_worker_spec.rb1159spec/lib/sidebars/user_settings/menus/account_menu_spec.rb1160spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb1161spec/finders/applications_finder_spec.rb1162spec/services/users/respond_to_terms_service_spec.rb1163spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb1164spec/services/clusters/agents/create_activity_event_service_spec.rb1165spec/lib/gitlab/middleware/memory_report_spec.rb1166spec/views/devise/shared/_signup_box.html.haml_spec.rb1167spec/services/bulk_imports/lfs_objects_export_service_spec.rb1168spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb1169spec/services/bulk_imports/file_export_service_spec.rb1170spec/lib/gitlab/metrics/dashboard/cache_spec.rb1171spec/models/work_items/hierarchy_restriction_spec.rb1172spec/lib/banzai/cross_project_reference_spec.rb1173spec/lib/gitlab/diff/parallel_diff_spec.rb1174spec/workers/disallow_two_factor_for_group_worker_spec.rb1175spec/lib/sidebars/projects/menus/snippets_menu_spec.rb1176spec/lib/gitlab/ci/status/skipped_spec.rb1177spec/lib/gitlab/usage/metrics/instrumentations/redis_hll_metric_spec.rb1178spec/workers/ci/delete_objects_worker_spec.rb1179spec/lib/gitlab/graphql/mount_mutation_spec.rb1180spec/lib/gitlab/ci/templates/Terraform/module_base_gitlab_ci_yaml_spec.rb1181spec/presenters/terraform/modules_presenter_spec.rb1182spec/models/packages/nuget/dependency_link_metadatum_spec.rb1183spec/lib/gitlab/ci/mask_secret_spec.rb1184spec/lib/gitlab/ci/pipeline/chain/cancel_pending_pipelines_spec.rb1185spec/models/namespaces/randomized_suffix_path_spec.rb1186spec/serializers/analytics_merge_request_serializer_spec.rb1187spec/lib/bulk_imports/projects/graphql/get_repository_query_spec.rb1188spec/graphql/types/customer_relations/contact_type_spec.rb1189spec/views/devise/shared/_signin_box.html.haml_spec.rb1190spec/lib/marginalia_spec.rb1191spec/models/packages/package_file_build_info_spec.rb1192spec/lib/gitlab/ci/interpolation/block_spec.rb1193spec/validators/import/gitlab_projects/remote_file_validator_spec.rb1194spec/lib/gitlab/diff/inline_diff_marker_spec.rb1195spec/lib/api/entities/nuget/metadatum_spec.rb1196spec/graphql/types/incident_management/timeline_event_tag_type_spec.rb1197spec/graphql/types/packages/package_details_type_spec.rb1198spec/lib/banzai/filter/suggestion_filter_spec.rb1199spec/lib/gitlab/import/database_helpers_spec.rb1200spec/graphql/mutations/saved_replies/destroy_spec.rb1201spec/graphql/types/project_statistics_type_spec.rb1202spec/workers/ci/stuck_builds/drop_scheduled_worker_spec.rb1203spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb1204spec/rubocop/cop/gitlab/avoid_feature_get_spec.rb1205spec/models/protected_branch/merge_access_level_spec.rb1206spec/lib/gitlab/database/migrations/observers/query_log_spec.rb1207spec/lib/gitlab/audit/deploy_key_author_spec.rb1208spec/lib/gitlab/metrics/dashboard/defaults_spec.rb1209spec/lib/gitlab/namespaced_session_store_spec.rb1210spec/lib/gitlab/import_export/model_configuration_spec.rb1211spec/services/spam/spam_params_spec.rb1212spec/initializers/rails_asset_host_spec.rb1213spec/lib/gitlab/slash_commands/presenters/error_spec.rb1214spec/lib/gitlab/ci/input/arguments/base_spec.rb1215spec/initializers/cookies_serializer_spec.rb1216spec/lib/gitlab/backtrace_cleaner_spec.rb1217spec/components/pajamas/concerns/checkbox_radio_options_spec.rb1218spec/graphql/types/security/report_types_enum_spec.rb1219spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb1220spec/scripts/api/commit_merge_requests_spec.rb1221spec/graphql/types/dependency_proxy/manifest_type_spec.rb1222spec/serializers/integrations/harbor_serializers/tag_serializer_spec.rb1223spec/graphql/types/ci/variable_sort_enum_spec.rb1224spec/lib/gitlab/database/schema_validation/validators/extra_tables_spec.rb1225Running all node tests without filter1226Running all node tests without filter1227Running 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/lib/gitlab/git/repository_spec.rb spec/services/git/branch_hooks_service_spec.rb spec/models/event_spec.rb spec/models/milestone_spec.rb spec/lib/object_storage/direct_upload_spec.rb spec/serializers/merge_request_widget_entity_spec.rb spec/lib/gitlab/background_migration/job_coordinator_spec.rb spec/services/merge_requests/cleanup_refs_service_spec.rb spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb spec/models/concerns/counter_attribute_spec.rb spec/services/boards/lists/update_service_spec.rb spec/tasks/gitlab/db/validate_config_rake_spec.rb spec/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter_spec.rb spec/models/ci/build_dependencies_spec.rb spec/views/projects/issues/show.html.haml_spec.rb spec/helpers/avatars_helper_spec.rb spec/services/bulk_imports/create_service_spec.rb spec/models/packages/debian/file_metadatum_spec.rb spec/helpers/blob_helper_spec.rb spec/lib/gitlab/background_migration/backfill_internal_on_notes_spec.rb spec/graphql/mutations/merge_requests/set_assignees_spec.rb spec/lib/banzai/filter/video_link_filter_spec.rb spec/services/projects/update_pages_service_spec.rb spec/finders/cluster_ancestors_finder_spec.rb spec/finders/alert_management/alerts_finder_spec.rb spec/models/diff_discussion_spec.rb spec/serializers/project_note_entity_spec.rb spec/workers/projects/after_import_worker_spec.rb spec/lib/gitlab/middleware/read_only_spec.rb spec/lib/gitlab/git/object_pool_spec.rb spec/services/projects/protect_default_branch_service_spec.rb spec/lib/gitlab/suggestions/suggestion_set_spec.rb spec/helpers/icons_helper_spec.rb spec/services/releases/destroy_service_spec.rb spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb spec/services/issues/reopen_service_spec.rb spec/finders/context_commits_finder_spec.rb spec/models/project_feature_usage_spec.rb spec/views/notify/pipeline_success_email.text.erb_spec.rb spec/services/namespaces/package_settings/update_service_spec.rb spec/lib/banzai/reference_parser/issue_parser_spec.rb spec/workers/projects/git_garbage_collect_worker_spec.rb spec/rubocop/cop/gitlab/namespaced_class_spec.rb spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb spec/models/dependency_proxy/blob_spec.rb spec/lib/gitlab/ci/config/entry/default_spec.rb spec/helpers/broadcast_messages_helper_spec.rb spec/helpers/button_helper_spec.rb spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb spec/models/merge_request_assignee_spec.rb spec/services/issues/referenced_merge_requests_service_spec.rb spec/lib/gitlab/data_builder/build_spec.rb spec/uploaders/packages/composer/cache_uploader_spec.rb spec/models/lfs_file_lock_spec.rb spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb spec/lib/gitlab/database/migrations/timeout_helpers_spec.rb spec/lib/sidebars/projects/menus/hidden_menu_spec.rb spec/services/ci/create_pipeline_service/logger_spec.rb spec/services/wiki_pages/create_service_spec.rb spec/lib/sidebars/projects/menus/monitor_menu_spec.rb spec/lib/gitlab/etag_caching/middleware_spec.rb spec/lib/gitlab/ci/config/external/interpolator_spec.rb spec/services/packages/debian/extract_changes_metadata_service_spec.rb spec/lib/gitlab/ci/build/policy/refs_spec.rb spec/lib/gitlab/suggestions/commit_message_spec.rb spec/models/ci/job_variable_spec.rb spec/models/incident_management/project_incident_management_setting_spec.rb spec/lib/banzai/pipeline/description_pipeline_spec.rb spec/helpers/ci/status_helper_spec.rb spec/lib/gitlab/database/async_constraints/postgres_async_constraint_validation_spec.rb spec/presenters/projects/import_export/project_export_presenter_spec.rb spec/lib/gitlab/github_import/importer/protected_branches_importer_spec.rb spec/lib/gitlab/cache/request_cache_spec.rb spec/lib/gitlab/ci/config/entry/include_spec.rb spec/lib/api/ci/helpers/runner_spec.rb spec/helpers/projects/alert_management_helper_spec.rb spec/models/blob_viewer/license_spec.rb spec/services/ci/update_instance_variables_service_spec.rb spec/lib/gitlab/ci/config/entry/needs_spec.rb spec/lib/gitlab/git/keep_around_spec.rb spec/lib/gitlab/auth/o_auth/provider_spec.rb spec/services/jira_connect_subscriptions/create_service_spec.rb spec/views/projects/merge_requests/creations/_new_submit.html.haml_spec.rb spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb spec/services/packages/create_temporary_package_service_spec.rb spec/tasks/gitlab/gitaly_rake_spec.rb spec/finders/repositories/tree_finder_spec.rb spec/models/clusters/agent_token_spec.rb spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb spec/services/groups/nested_create_service_spec.rb spec/services/personal_access_tokens/revoke_service_spec.rb spec/graphql/resolvers/snippets_resolver_spec.rb spec/serializers/label_serializer_spec.rb spec/finders/releases/evidence_pipeline_finder_spec.rb spec/lib/gitlab/lograge/custom_options_spec.rb spec/lib/gitlab/graphql/loaders/lazy_relation_loader_spec.rb spec/finders/design_management/designs_finder_spec.rb spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb spec/lib/gitlab/private_commit_email_spec.rb spec/lib/gitlab/database/reindexing/coordinator_spec.rb spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb spec/graphql/mutations/todos/restore_many_spec.rb spec/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker_spec.rb spec/lib/sidebars/user_profile/menus/starred_projects_menu_spec.rb spec/lib/gitlab/audit/target_spec.rb spec/lib/api/helpers/authentication_spec.rb spec/serializers/stage_serializer_spec.rb spec/workers/merge_requests/execute_approval_hooks_worker_spec.rb spec/lib/gitlab/github_import/clients/proxy_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_experiments_metric_spec.rb spec/lib/gitlab/utils/mime_type_spec.rb spec/lib/gitlab/quick_actions/timeline_text_and_date_time_separator_spec.rb spec/lib/gitlab/import_export/avatar_saver_spec.rb spec/services/incident_management/link_alerts/destroy_service_spec.rb spec/lib/gitlab/gon_helper_spec.rb spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb spec/graphql/resolvers/branch_commit_resolver_spec.rb spec/services/merge_requests/execute_approval_hooks_service_spec.rb spec/presenters/award_emoji_presenter_spec.rb spec/models/project_custom_attribute_spec.rb spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb spec/lib/gitlab/identifier_spec.rb spec/lib/bulk_imports/common/pipelines/badges_pipeline_spec.rb spec/graphql/types/ci/job_type_spec.rb spec/policies/protected_branch_access_policy_spec.rb spec/lib/gitlab/ci/status/failed_spec.rb spec/helpers/recaptcha_helper_spec.rb spec/lib/gitlab/database/async_indexes/postgres_async_index_spec.rb spec/lib/bulk_imports/projects/pipelines/snippets_pipeline_spec.rb spec/lib/generators/model/model_generator_spec.rb spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_inactive_public_projects_spec.rb spec/models/packages/composer/metadatum_spec.rb spec/tasks/gitlab/metrics_exporter_task_spec.rb spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb spec/models/pages/virtual_domain_spec.rb spec/services/packages/rubygems/create_gemspec_service_spec.rb spec/tooling/lib/tooling/kubernetes_client_spec.rb spec/lib/gitlab/sql/except_spec.rb spec/graphql/resolvers/users/groups_resolver_spec.rb spec/lib/gitlab/allowable_spec.rb spec/lib/gitlab/gitaly_client/storage_settings_spec.rb spec/lib/gitlab/ci/status/group/common_spec.rb spec/lib/gitlab/import_export/project/relation_saver_spec.rb spec/workers/todos_destroyer/destroyed_designs_worker_spec.rb spec/services/dependency_proxy/head_manifest_service_spec.rb spec/finders/user_groups_counter_spec.rb spec/lib/gitlab/ci/reports/codequality_mr_diff_spec.rb spec/serializers/test_reports_comparer_entity_spec.rb spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb spec/services/clusters/cleanup/service_account_service_spec.rb spec/workers/invalid_gpg_signature_update_worker_spec.rb spec/lib/gitlab/database/migrations/batched_migration_last_id_spec.rb spec/lib/gitlab/database/reindexing/reindex_action_spec.rb spec/lib/gitlab/ci/reports/security/reports_spec.rb spec/lib/gitlab/tracking/service_ping_context_spec.rb spec/services/ci/abort_pipelines_service_spec.rb spec/presenters/packages/nuget/package_metadata_presenter_spec.rb spec/helpers/projects/pipeline_helper_spec.rb spec/rubocop/cop/migration/prevent_strings_spec.rb spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb spec/workers/update_merge_requests_worker_spec.rb spec/lib/sidebars/user_settings/menus/account_menu_spec.rb spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb spec/finders/applications_finder_spec.rb spec/services/users/respond_to_terms_service_spec.rb spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb spec/services/clusters/agents/create_activity_event_service_spec.rb spec/lib/gitlab/middleware/memory_report_spec.rb spec/views/devise/shared/_signup_box.html.haml_spec.rb spec/services/bulk_imports/lfs_objects_export_service_spec.rb spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb spec/services/bulk_imports/file_export_service_spec.rb spec/lib/gitlab/metrics/dashboard/cache_spec.rb spec/models/work_items/hierarchy_restriction_spec.rb spec/lib/banzai/cross_project_reference_spec.rb spec/lib/gitlab/diff/parallel_diff_spec.rb spec/workers/disallow_two_factor_for_group_worker_spec.rb spec/lib/sidebars/projects/menus/snippets_menu_spec.rb spec/lib/gitlab/ci/status/skipped_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/redis_hll_metric_spec.rb spec/workers/ci/delete_objects_worker_spec.rb spec/lib/gitlab/graphql/mount_mutation_spec.rb spec/lib/gitlab/ci/templates/Terraform/module_base_gitlab_ci_yaml_spec.rb spec/presenters/terraform/modules_presenter_spec.rb spec/models/packages/nuget/dependency_link_metadatum_spec.rb spec/lib/gitlab/ci/mask_secret_spec.rb spec/lib/gitlab/ci/pipeline/chain/cancel_pending_pipelines_spec.rb spec/models/namespaces/randomized_suffix_path_spec.rb spec/serializers/analytics_merge_request_serializer_spec.rb spec/lib/bulk_imports/projects/graphql/get_repository_query_spec.rb spec/graphql/types/customer_relations/contact_type_spec.rb spec/views/devise/shared/_signin_box.html.haml_spec.rb spec/lib/marginalia_spec.rb spec/models/packages/package_file_build_info_spec.rb spec/lib/gitlab/ci/interpolation/block_spec.rb spec/validators/import/gitlab_projects/remote_file_validator_spec.rb spec/lib/gitlab/diff/inline_diff_marker_spec.rb spec/lib/api/entities/nuget/metadatum_spec.rb spec/graphql/types/incident_management/timeline_event_tag_type_spec.rb spec/graphql/types/packages/package_details_type_spec.rb spec/lib/banzai/filter/suggestion_filter_spec.rb spec/lib/gitlab/import/database_helpers_spec.rb spec/graphql/mutations/saved_replies/destroy_spec.rb spec/graphql/types/project_statistics_type_spec.rb spec/workers/ci/stuck_builds/drop_scheduled_worker_spec.rb spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb spec/rubocop/cop/gitlab/avoid_feature_get_spec.rb spec/models/protected_branch/merge_access_level_spec.rb spec/lib/gitlab/database/migrations/observers/query_log_spec.rb spec/lib/gitlab/audit/deploy_key_author_spec.rb spec/lib/gitlab/metrics/dashboard/defaults_spec.rb spec/lib/gitlab/namespaced_session_store_spec.rb spec/lib/gitlab/import_export/model_configuration_spec.rb spec/services/spam/spam_params_spec.rb spec/initializers/rails_asset_host_spec.rb spec/lib/gitlab/slash_commands/presenters/error_spec.rb spec/lib/gitlab/ci/input/arguments/base_spec.rb spec/initializers/cookies_serializer_spec.rb spec/lib/gitlab/backtrace_cleaner_spec.rb spec/components/pajamas/concerns/checkbox_radio_options_spec.rb spec/graphql/types/security/report_types_enum_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb spec/scripts/api/commit_merge_requests_spec.rb spec/graphql/types/dependency_proxy/manifest_type_spec.rb spec/serializers/integrations/harbor_serializers/tag_serializer_spec.rb spec/graphql/types/ci/variable_sort_enum_spec.rb spec/lib/gitlab/database/schema_validation/validators/extra_tables_spec.rbKnapsack report generator started!1228warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.1230/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: already initialized constant Gitlab::APP_DIRS_PATTERN1231/builds/gitlab-org/gitlab/lib/gitlab.rb:47: warning: previous definition of APP_DIRS_PATTERN was here1232/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: already initialized constant Gitlab::VERSION1233/builds/gitlab-org/gitlab/lib/gitlab.rb:48: warning: previous definition of VERSION was here1234/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: already initialized constant Gitlab::INSTALLATION_TYPE1235/builds/gitlab-org/gitlab/lib/gitlab.rb:49: warning: previous definition of INSTALLATION_TYPE was here1236/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: already initialized constant Gitlab::HTTP_PROXY_ENV_VARS1237/builds/gitlab-org/gitlab/lib/gitlab.rb:50: warning: previous definition of HTTP_PROXY_ENV_VARS was here1238Run options: exclude {:quarantine=>true, :level=>"background_migration"}1239Test environment set up in 1.208248094 seconds1240MergeRequests::UpdateService1241 execute1242 behaves like issuable update service updating last_edited_at values1243 when updating the title of the issuable1244 does not update last_edited values1245 when updating the description of the issuable1246 updates last_edited values1247 valid params1248 matches base expectations1249 executes hooks with update action1250 creates a resource label event1251 creates system note about title change1252 creates system note about description change1253 creates system note about branch change1254 creates system note about discussion lock1255 usage counters1256 update as expected1257 tracks Draft marking1258 tracks Draft un-marking1259 tracks time estimate and spend time changes1260 tracks milestone change1261 track labels change1262 when MR is locked1263 when locked again1264 does not track discussion locking1265 when unlocked1266 tracks dicussion unlocking1267 when MR is unlocked1268 when unlocked again1269 does not track discussion unlocking1270 when locked1271 tracks dicussion locking1272 reviewers1273 when reviewers changed1274 tracks reviewers changed event1275 when reviewers did not change1276 does not track reviewers changed event1277 updating milestone1278 with milestone_id param1279 sets milestone1280 milestone counters cache reset1281 deletes milestone counters1282 deletes milestone counters when the milestone is removed1283 deletes milestone counters when the milestone was not set1284 with reviewers1285 creates system note about merge_request review request1286 updates the tracking1287 when current user cannot admin issues in the project1288 filters out params that cannot be set without the :admin_merge_request permission1289 updating milestone1290 when milestone_id param1291 behaves like does not update milestone1292 sets milestone1293 when milestone param1294 behaves like does not update milestone1295 sets milestone1296 when not including source branch removal options1297 maintains the original options1298 behaves like reviewer_ids filter1299 filter_reviewer1300 without reviewer_ids1301 contains no reviewer_ids1302 with reviewer_ids1303 when the current user can admin the merge_request1304 with a reviewer who can read the merge_request1305 contains reviewers who can read the merge_request1306 when the current_user cannot admin the merge_request1307 contains no reviewers1308 with an existing reviewer1309 removes reviewers1310 after_save callback to store_mentions1311 when mentionable attributes change1312 saves mentions1313 when mentionable attributes do not change1314 does not call store_mentions1315 when save fails1316 does not call store_mentions1317 merge1318 behaves like correct merge behavior1319 without pipeline1320 merges the MR1321 with finished pipeline1322 merges the MR1323 with active pipeline1324 is expected to receive execute(#<MergeRequest id:44 group41/project46!1>) 1 time1325 with a non-authorised user1326 does not merge the MR1327 MR can not be merged when note sha != MR sha1328 is expected to eq "opened"1329 todos1330 when the title change1331 calls MergeRequest::ResolveTodosService#async_execute1332 does not create any new todos1333 when the description change1334 calls MergeRequest::ResolveTodosService#async_execute1335 creates only 1 new todo1336 triggers GraphQL description updated subscription1337 when decription is not changed1338 does not trigger GraphQL description updated subscription1339 when is reassigned1340 calls MergeRequest::ResolveTodosService#async_execute1341 when reviewers gets changed1342 calls MergeRequest::ResolveTodosService#async_execute1343 creates a pending todo for new review request1344 sends email reviewer change notifications to old and new reviewers1345 updates open merge request counter for reviewers1346 behaves like triggers GraphQL subscription mergeRequestReviewersUpdated1347 is expected to receive merge_request_reviewers_updated(#<MergeRequest id:58 group55/project60!1>) 1 time1348 when reviewers did not change1349 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated1350 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times1351 when the milestone is removed1352 sends notifications for subscribers of changed milestone1353 when the milestone is changed1354 calls MergeRequests::ResolveTodosService#async_execute1355 sends notifications for subscribers of changed milestone1356 when the labels change1357 calls MergeRequests::ResolveTodosService#async_execute1358 updates updated_at1359 when the assignee changes1360 updates open merge request counter for assignees when merge request is reassigned1361 when the target branch changes1362 calls MergeRequests::ResolveTodosService#async_execute1363 does not try to mark as unchecked if it's already unchecked1364 behaves like creates a new pipeline1365 creates a new pipeline1366 when auto merge is enabled and target branch changed1367 calls MergeRequests::ResolveTodosService#async_execute1368 behaves like creates a new pipeline1369 creates a new pipeline1370 when the draft status is changed1371 removing draft status1372 sends notifications for subscribers1373 triggers GraphQL subscription mergeRequestMergeStatusUpdated1374 when removing through wip_event param1375 removes Draft from the title1376 adding draft status1377 does not send notifications1378 triggers GraphQL subscription mergeRequestMergeStatusUpdated1379 when adding through wip_event param1380 adds Draft to the title1381 when the merge request is relabeled1382 sends notifications for subscribers of newly added labels1383 when issue has the `label` label1384 does not send notifications for existing labels1385 does not send notifications for removed labels1386 updating mentions1387 when mentioning a different user1388 in title1389 emails only the newly-mentioned user1390 in description1391 emails only the newly-mentioned user1392 when mentioning a user and a group with access to1393 when group is public1394 behaves like updating attribute with allowed mentions1395 emails group members1396 behaves like updating attribute with allowed mentions1397 emails group members1398 behaves like updating attribute with existing group mention1399 creates todos for only newly mentioned users1400 behaves like updating attribute with existing group mention1401 creates todos for only newly mentioned users1402 when the group is private1403 behaves like updating attribute with allowed mentions1404 emails group members1405 behaves like updating attribute with allowed mentions1406 emails group members1407 behaves like updating attribute with existing group mention1408 creates todos for only newly mentioned users1409 behaves like updating attribute with existing group mention1410 creates todos for only newly mentioned users1411 when mentioning a user and a group without access to1412 when the group is private1413 behaves like updating attribute with not allowed mentions1414 emails mentioned user1415 behaves like updating attribute with not allowed mentions1416 emails mentioned user1417 when MergeRequest has tasks1418 is expected to eq true1419 behaves like updating a single task1420 usage counters1421 update as expected1422 when a task is marked as completed1423 creates system note about task status change1424 when a task is marked as incomplete1425 creates system note about task status change1426 when the task position has been modified1427 raises an exception1428 when the content changes but not task line number1429 creates system note about task status change1430 when tasks are marked as completed1431 creates system note about task status change1432 when tasks are marked as incomplete1433 creates system note about task status change1434 while saving references to issues that the updated merge request closes1435 creates a `MergeRequestsClosingIssues` record for each issue1436 removes `MergeRequestsClosingIssues` records when issues are not closed anymore1437 updating asssignee_ids1438 does not update assignee when assignee_id is invalid1439 unassigns assignee when user id is 01440 saves assignee when user id is valid1441 does not update assignee_id when user cannot read issue1442 :use_specialized_service1443 when true1444 passes the update action to ::MergeRequests::UpdateAssigneesService1445 when false or nil1446 does not pass the update action to ::MergeRequests::UpdateAssigneesService when false1447 does not pass the update action to ::MergeRequests::UpdateAssigneesService when nil1448 when issuable feature is private1449 does not update with unauthorized assignee when project is Internal1450 does not update with unauthorized assignee when project is Public1451 when adding time spent1452 :use_specialized_service1453 when true1454 passes the update action to ::MergeRequests::AddSpentTimeService1455 when false or nil1456 does not pass the update action to ::MergeRequests::UpdateAssigneesService when false1457 does not pass the update action to ::MergeRequests::UpdateAssigneesService when nil1458 behaves like issuable update service1459 changing state1460 to reopened1461 executes hooks1462 to closed1463 executes hooks1464 setting `allow_collaboration`1465 does not allow a maintainer of the target project to set `allow_collaboration`1466 is allowed by a user that can push to the source and can update the merge request1467 updating `force_remove_source_branch`1468 cannot be done by members of the target project when they don't have access1469 can be done by members of the target project if they can push to the source project1470 updating `target_branch`1471 updates to master1472 updates to master because of branch deletion1473 behaves like creates a new pipeline1474 creates a new pipeline1475 behaves like issuable record that supports quick actions1476 with labels in command only1477 attaches labels to issuable1478 with labels in params and command1479 attaches all labels to issuable1480 with assignee and milestone in command only1481 assigns and sets milestone to issuable1482 labels are updated1483 behaves like keeps issuable labels sorted after update1484 when label is changed1485 keeps the labels sorted by title ASC1486 behaves like broadcasting issuable labels updates1487 when label is added1488 triggers the GraphQL subscription1489 when label is removed1490 triggers the GraphQL subscription1491 when label is unchanged1492 does not trigger the GraphQL subscription1493Gitlab::Git::Repository1494 Respond to1495 is expected to respond to #root_ref1496 is expected to respond to #tags1497 #root_ref1498 returns UTF-81499 gets the branch name from GitalyClient1500 behaves like wrapping gRPC errors1501 wraps gRPC not found error1502 wraps gRPC unknown error1503 #create_repository1504 behaves like wrapping gRPC errors1505 wraps gRPC not found error1506 wraps gRPC unknown error1507 #branch_names1508 has TestRepo::BRANCH_SHA.size elements1509 returns UTF-81510 is expected to include "master"1511 is expected not to include "branch-from-space"1512 behaves like wrapping gRPC errors1513 wraps gRPC not found error1514 wraps gRPC unknown error1515 #tag_names1516 is expected to be a kind of Array1517 has some elements1518 returns UTF-81519 is expected to include "v1.0.0"1520 is expected not to include "v5.0.0"1521 #last1522 is expected to eq "v1.1.1"1523 behaves like wrapping gRPC errors1524 wraps gRPC not found error1525 wraps gRPC unknown error1526 #tags1527 behaves like wrapping gRPC errors1528 wraps gRPC not found error1529 wraps gRPC unknown error1530 #archive_metadata1531 sets CommitId to the commit SHA1532 sets ArchivePrefix to the expected prefix1533 sets ArchivePath to the expected globally-unique path1534 path is set1535 appends the path to the prefix1536 append_sha varies archive path and filename1537 append_sha: true, ref: "master", expected_prefix: "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1538 is expected to eq "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1539 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.gz"1540 append_sha: true, ref: "b83d6e391c22777fca1ed3012fce84f633d7fed0", expected_prefix: "gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0-b83d6e391c22777fca1ed3012fce84f633d7fed0"1541 is expected to eq "gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0-b83d6e391c22777fca1ed3012fce84f633d7fed0"1542 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.gz"1543 append_sha: false, ref: "master", expected_prefix: "gitlab-git-test-master"1544 is expected to eq "gitlab-git-test-master"1545 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-master.tar.gz"1546 append_sha: false, ref: "b83d6e391c22777fca1ed3012fce84f633d7fed0", expected_prefix: "gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0"1547 is expected to eq "gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0"1548 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.gz"1549 append_sha: nil, ref: "master", expected_prefix: "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1550 is expected to eq "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1551 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.gz"1552 append_sha: nil, ref: "b83d6e391c22777fca1ed3012fce84f633d7fed0", expected_prefix: "gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0"1553 is expected to eq "gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0"1554 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.gz"1555 format varies archive path and filename1556 format: nil, expected_extension: "tar.gz"1557 is expected to eq "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1558 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.gz"1559 format: "madeup", expected_extension: "tar.gz"1560 is expected to eq "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1561 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.gz"1562 format: "tbz2", expected_extension: "tar.bz2"1563 is expected to eq "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1564 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0.tar.bz2"1565 format: "zip", expected_extension: "zip"1566 is expected to eq "gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0"1567 is expected to eq "/tmp/project-140/b83d6e391c22777fca1ed3012fce84f633d7fed0/@v2/gitlab-git-test-master-b83d6e391c22777fca1ed3012fce84f633d7fed0.zip"1568 when references are ambiguous1569 when tag is ambiguous1570 ref: "refs/heads/branch-merged", expected_commit_id: branch_master_commit_id, desc: "when tag looks like a branch"1571 selects the correct commit1572 ref: "branch-merged", expected_commit_id: branch_master_commit_id, desc: "when tag has the same name as a branch"1573 selects the correct commit1574 ref: branch_merged_commit_id, expected_commit_id: branch_merged_commit_id, desc: "when tag looks like a commit id"1575 selects the correct commit1576 ref: "v0.0.0", expected_commit_id: branch_master_commit_id, desc: "when tag looks like a normal tag"1577 selects the correct commit1578 when resolve_ambiguous_archives is disabled1579 ref: "refs/heads/branch-merged", expected_commit_id: branch_merged_commit_id, desc: "when tag looks like a branch (difference!)"1580 selects the correct commit1581 ref: "branch-merged", expected_commit_id: branch_master_commit_id, desc: "when tag has the same name as a branch"1582 selects the correct commit1583 ref: branch_merged_commit_id, expected_commit_id: branch_merged_commit_id, desc: "when tag looks like a commit id"1584 selects the correct commit1585 ref: "v0.0.0", expected_commit_id: branch_master_commit_id, desc: "when tag looks like a normal tag"1586 selects the correct commit1587 when branch is ambiguous1588 ref: "refs/tags/v1.0.0", expected_commit_id: branch_master_commit_id, desc: "when branch looks like a tag"1589 selects the correct commit1590 ref: "v1.0.0", expected_commit_id: tag_1_0_0_commit_id, desc: "when branch has the same name as a tag"1591 selects the correct commit1592 ref: branch_merged_commit_id, expected_commit_id: branch_merged_commit_id, desc: "when branch looks like a commit id"1593 selects the correct commit1594 ref: "just-a-normal-branch", expected_commit_id: branch_master_commit_id, desc: "when branch looks like a normal branch"1595 selects the correct commit1596 when resolve_ambiguous_archives is disabled1597 ref: "refs/tags/v1.0.0", expected_commit_id: tag_1_0_0_commit_id, desc: "when branch looks like a tag (difference!)"1598 selects the correct commit1599 ref: "v1.0.0", expected_commit_id: tag_1_0_0_commit_id, desc: "when branch has the same name as a tag"1600 selects the correct commit1601 ref: branch_merged_commit_id, expected_commit_id: branch_merged_commit_id, desc: "when branch looks like a commit id"1602 selects the correct commit1603 ref: "just-a-normal-branch", expected_commit_id: branch_master_commit_id, desc: "when branch looks like a normal branch"1604 selects the correct commit1605 when ref is HEAD1606 selects commit id from HEAD ref1607 when ref is not found1608 returns empty metadata1609 #size1610 is expected to be > 01611 #to_s1612 is expected to eq "<Gitlab::Git::Repository: namespace136/project140>"1613 #object_directory_size1614 is expected to eq 20481615 #empty?1616 is expected not to be empty1617 #ref_names1618 is expected to be a kind of Array1619 #first1620 is expected to eq "'test'"1621 #last1622 is expected to eq "v1.1.1"1623 #submodule_url_for1624 is expected to eq "git://github.com/randx/six.git"1625 is expected to eq "git://github.com/randx/six.git"1626 is expected to eq nil1627 uncommitted submodule dir1628 is expected to eq nil1629 tags1630 is expected to eq "git://github.com/randx/six.git"1631 no .gitmodules at commit1632 is expected to eq nil1633 no gitlink entry1634 is expected to eq nil1635 #submodule_urls_for1636 returns url mappings for submodules1637 #commit_count1638 is expected to eq 371639 is expected to eq 91640 is expected to eq 01641 behaves like wrapping gRPC errors1642 wraps gRPC not found error1643 wraps gRPC unknown error1644 #diverging_commit_count1645 counts 0 for the same branch1646 max count does not truncate results1647 left: 1, right: 1, expected: [1, 1]1648 returns the correct count bounding at max_count1649 left: 4, right: 4, expected: [4, 4]1650 returns the correct count bounding at max_count1651 left: 2, right: 2, expected: [2, 2]1652 returns the correct count bounding at max_count1653 left: 2, right: 4, expected: [2, 4]1654 returns the correct count bounding at max_count1655 left: 4, right: 2, expected: [4, 2]1656 returns the correct count bounding at max_count1657 left: 10, right: 10, expected: [10, 10]1658 returns the correct count bounding at max_count1659 max count truncates results1660 left: 1, right: 1, max_count: 11661 returns the correct count bounding at max_count1662 left: 4, right: 4, max_count: 41663 returns the correct count bounding at max_count1664 left: 2, right: 2, max_count: 31665 returns the correct count bounding at max_count1666 left: 2, right: 4, max_count: 31667 returns the correct count bounding at max_count1668 left: 4, right: 2, max_count: 51669 returns the correct count bounding at max_count1670 left: 10, right: 10, max_count: 101671 returns the correct count bounding at max_count1672 behaves like wrapping gRPC errors1673 wraps gRPC not found error1674 wraps gRPC unknown error1675 #has_local_branches?1676 check for local branches1677 is expected to eq true1678 #delete_branch1679 deletes a branch1680 deletes a fully qualified branch1681 #delete_refs1682 deletes the ref1683 deletes all refs1684 does not fail when deleting an empty list of refs1685 raises an error if it failed1686 #branch_names_contains_sha1687 displays that branch1688 when limit is provided1689 displays limited number of branches1690 #refs_hash1691 has as many entries as branches and tags1692 has valid commit ids as keys1693 does not error when dereferenced_target is nil1694 #fetch_remote1695 delegates to the gitaly RepositoryService1696 behaves like wrapping gRPC errors1697 wraps gRPC not found error1698 wraps gRPC unknown error1699 #search_files_by_content1700 has 2 items1701 has the correct matching line1702 #search_files_by_regexp1703 when sending a valid regexp1704 returns matched files1705 when sending an ivalid regexp1706 raises error1707 when the ref doesn't exist1708 returns an empty array1709 #search_files_by_name1710 when sending a valid name1711 returns matched files1712 when sending a name with space1713 returns matched files1714 when sending a name with special ASCII characters1715 returns matched files1716 when sending a non-existing name1717 raises error1718 #find_remote_root_ref1719 gets the remote root ref from GitalyClient1720 returns UTF-81721 returns nil when remote name is nil1722 returns nil when remote name is empty1723 behaves like wrapping gRPC errors1724 wraps gRPC not found error1725 wraps gRPC unknown error1726 #log1727 when Gitaly find_commits feature is enabled1728 behaves like repository log1729 where 'follow' == true1730 and 'path' is a directory1731 does not follow renames1732 and 'path' is a file that matches the new filename1733 without offset1734 follows renames1735 with offset=11736 follows renames and skip the latest commit1737 with offset=1 and limit=11738 follows renames, skip the latest commit and return only one commit1739 with offset=1 and limit=21740 follows renames, skip the latest commit and return only two commits1741 with offset=21742 follows renames and skip the latest commit1743 with offset=2 and limit=11744 follows renames, skip the two latest commit and return only one commit1745 with offset=2 and limit=21746 follows renames, skip the two latest commit and return only one commit1747 and 'path' is a file that matches the old filename1748 does not follow renames1749 unknown ref1750 returns an empty array1751 where 'follow' == false1752 and 'path' is a directory1753 does not follow renames1754 and 'path' is a file that matches the new filename1755 does not follow renames1756 and 'path' is a file that matches the old filename1757 does not follow renames1758 where provides 'after' timestamp1759 returns commits on or after that timestamp1760 where provides 'before' timestamp1761 returns commits on or before that timestamp1762 when multiple paths are provided1763 only returns commits matching at least one path1764 limit validation1765 limit: 01766 is expected to raise ArgumentError1767 limit: nil1768 is expected to raise ArgumentError1769 limit: ""1770 is expected to raise ArgumentError1771 limit: "foo"1772 is expected to raise ArgumentError1773 with all1774 returns a list of commits1775 #blobs1776 single revision1777 behaves like a blob enumeration1778 enumerates blobs1779 multiple revisions1780 behaves like a blob enumeration1781 enumerates blobs1782 pseudo revisions1783 behaves like a blob enumeration1784 enumerates blobs1785 blank revisions1786 behaves like a blob enumeration1787 enumerates blobs1788 #new_blobs1789 with a single revision1790 behaves like #new_blobs with revisions1791 enumerates new blobs1792 memoizes results1793 with a single-entry array1794 behaves like #new_blobs with revisions1795 enumerates new blobs1796 memoizes results1797 with multiple revisions1798 behaves like #new_blobs with revisions1799 enumerates new blobs1800 memoizes results1801 with partially blank revisions1802 behaves like #new_blobs with revisions1803 enumerates new blobs1804 memoizes results1805 with repeated revisions1806 behaves like #new_blobs with revisions1807 enumerates new blobs1808 memoizes results1809 with preexisting commits1810 behaves like #new_blobs with revisions1811 enumerates new blobs1812 memoizes results1813 with a single nil newrev1814 behaves like #new_blobs without revisions1815 returns an empty array1816 with a single zero newrev1817 behaves like #new_blobs without revisions1818 returns an empty array1819 with an empty array1820 behaves like #new_blobs without revisions1821 returns an empty array1822 with array containing only empty refs1823 behaves like #new_blobs without revisions1824 returns an empty array1825 #new_commits1826 enumerates commits1827 #count_commits_between1828 is expected to eq 291829 #raw_changes_between1830 initial commit1831 returns the changes1832 with an invalid rev1833 returns an error1834 with valid revs1835 returns the changes1836 #merge_base1837 from: "master", to: "feature", result: "ae73cb07c9eeaf35924a10f713b364d32b2dd34f"1838 is expected to eq "ae73cb07c9eeaf35924a10f713b364d32b2dd34f"1839 from: "feature", to: "master", result: "ae73cb07c9eeaf35924a10f713b364d32b2dd34f"1840 is expected to eq "ae73cb07c9eeaf35924a10f713b364d32b2dd34f"1841 from: "master", to: "foobar", result: nil1842 is expected to eq nil1843 from: "foobar", to: "master", result: nil1844 is expected to eq nil1845 #count_commits1846 extended commit counting1847 with after timestamp1848 returns the number of commits after timestamp1849 with before timestamp1850 returns the number of commits before timestamp1851 with max_count1852 returns the number of commits with path1853 with path1854 returns the number of commits with path1855 with option :from and option :to1856 returns the number of commits ahead for master..feature1857 returns the number of commits ahead for feature..master1858 with option :left_right1859 returns the number of commits for master..feature1860 with max_count1861 returns the number of commits1862 with max_count1863 returns the number of commits up to the passed limit1864 with all1865 returns the number of commits in the whole repository1866 without all or ref being specified1867 raises an ArgumentError1868 #find_branch1869 returns a Branch for master1870 handles non-existent branch1871 when branch is ambiguous1872 returns nil for ambiguous branch1873 #branches1874 with local and remote branches1875 returns the local and remote branches1876 behaves like wrapping gRPC errors1877 wraps gRPC not found error1878 wraps gRPC unknown error1879 #branch_count1880 returns the number of branches1881 with local and remote branches1882 returns the count of local branches1883 #merged_branch_names1884 when branch names are passed1885 only returns the names we are asking1886 does not return unmerged branch names1887 when no root ref is available1888 returns empty list1889 when no branch names are specified1890 returns all merged branch names except for identical one1891 #diff_stats1892 returns a DiffStatsCollection1893 yields Gitaly::DiffStats objects1894 returns no Gitaly::DiffStats when SHAs are invalid1895 returns no Gitaly::DiffStats when there is a nil SHA1896 returns no Gitaly::DiffStats when there is a BLANK_SHA1897 #find_changed_paths1898 returns a list of paths1899 returns no paths when SHAs are invalid1900 returns a list of paths even when containing a blank ref1901 returns no paths when the commits are nil1902 #ls_files1903 read every file paths of master branch1904 reads full file paths of master branch1905 does not read submodule directory and empty directory of master branch1906 does not include 'nil'1907 returns empty array when not existed branch1908 returns valid utf-8 data1909 #copy_gitattributes1910 raises an error with invalid ref1911 when forcing encoding issues1912 doesn't raise with a valid unicode ref1913 #gitattribute1914 with gitattributes1915 returns matching language attribute1916 returns matching language attribute with additional options1917 returns nil if nothing matches1918 without gitattributes1919 returns nil1920 #ref_exists?1921 returns true for an existing tag1922 returns false for a non-existing tag1923 raises an ArgumentError for an empty string1924 raises an ArgumentError for an invalid ref1925 #tag_exists?1926 returns true for an existing tag1927 returns false for a non-existing tag1928 #branch_exists?1929 returns true for an existing branch1930 returns false for a non-existing branch1931 returns false when using an invalid branch name1932 #local_branches1933 returns the local branches1934 returns a Branch with UTF-8 fields1935 gets the branches from GitalyClient1936 behaves like wrapping gRPC errors1937 wraps gRPC not found error1938 wraps gRPC unknown error1939 #find_tag1940 returns a tag1941 when asking for a non-existent tag1942 behaves like a nonexistent tag1943 returns nil1944 when Gitaly returns Internal error1945 behaves like a nonexistent tag1946 returns nil1947 when Gitaly returns tag_not_found error1948 behaves like a nonexistent tag1949 returns nil1950 #languages1951 returns exactly the expected results1952 uses the repository's HEAD when no ref is passed1953 #license1954 when no license file can be found1955 is expected to be nil1956 when an mit license is found1957 is expected to have attributes {:key => "mit"}1958 when license is not recognized1959 is expected to have attributes {:key => "other", :nickname => "LICENSE"}1960 #fetch_source_branch!1961 when the branch exists1962 when the commit does not exist locally1963 writes the ref1964 when the commit exists locally1965 writes the ref1966 when the branch does not exist1967 does not write the ref1968 #rm_branch1969 removes the branch from the repo1970 #write_ref1971 writes the HEAD1972 writes other refs1973 validations1974 ref_path: "foo bar", ref: "123"1975 raises ArgumentError1976 ref_path: "foobar", ref: "12\u00003"1977 raises ArgumentError1978 #list_refs1979 returns a list of branches with their head commit1980 filters by pattern1981 with pointing_at_oids and peel_tags options1982 filters by target OIDs1983 returns peeled_target for annotated tags1984 #refs_by_oid1985 returns a list of refs from a OID1986 returns a single ref from a OID1987 returns empty for unknown ID1988 returns nil for an empty repo1989 #set_full_path1990 writes full_path to gitaly1991 it is given an empty path1992 does not write it to disk1993 repository does not exist1994 raises NoRepository and does not call SetFullPath1995 #full_path1996 returns the full path1997 #merge_to_ref1998 generates a commit in the target_ref1999 does not change the right branch HEAD2000 #merge2001 can perform a merge2002 returns nil if there was a concurrent branch update2003 #ff_merge2004 calls Gitaly's OperationService2005 behaves like #ff_merge2006 performs a ff_merge2007 with a non-existing target branch2008 throws an ArgumentError2009 with a non-existing source commit2010 throws an ArgumentError2011 when the source sha is not a descendant of the branch head2012 doesn't perform the ff_merge2013 #delete_all_refs_except2014 deletes all refs except those with the specified prefixes2015 #bundle_to_disk2016 saves a bundle to disk2017 #create_from_bundle2018 creates a repo from a bundle file2019 raises an error if the bundle is an attempted malicious payload2020 #compare_source_branch2021 compares two branches cross repo2022 source ref does not exist in source repo2023 returns an empty comparison2024 #checksum2025 calculates the checksum for non-empty repo2026 returns a blank sha for an empty repo2027 raises NoRepository for a non-existent repo2028 #replicas2029 gets the replica checksum through praefect2030 #disconnect_alternates2031 does not raise an error when disconnecting a non-linked repository2032 can still access objects in the object pool2033 #rename2034 moves the repository2035 #remove2036 removes the repository2037 when the repository does not exist2038 is idempotent2039 #import_repository2040 raises an error if a relative path is provided2041 raises an error if an absolute path is provided2042 delegates to Gitaly2043 behaves like wrapping gRPC errors2044 wraps gRPC not found error2045 wraps gRPC unknown error2046 #replicate2047 destination does not exist2048 mirrors the source repository2049 destination exists2050 mirrors the source repository2051 with keep-around refs2052 includes the temporary and keep-around refs2053 #check_objects_exist2054 returns hash specifying which object exists in repo2055Git::BranchHooksService2056 Git Push Data2057 has expected push data attributes2058 with repository data2059 has expected attributes2060 with commits2061 is expected to be a kind of Array2062 has 1 element2063 the commit2064 is expected to eq 2014-02-27 08:57:31.000000000 +00002065 includes expected commit data2066 with a author2067 includes expected author data2068 Push Event2069 with an existing branch2070 generates a push event with one commit2071 with changing CI config2072 tracks the event2073 when usage ping is disabled2074 does not track the event2075 when the branch is not the main branch2076 does not track the event2077 when the CI config is a different path2078 does not track the event2079 with a new default branch2080 generates a push event with more than one commit2081 with a new non-default branch2082 generates a push event with more than one commit2083 removing a branch2084 generates a push event with no commits2085 Invalidating project cache2086 on default branch2087 create2088 is expected to receive invalidated_file_types(*(any args)) 1 time2089 update2090 is expected to receive perform_async(242, [:readme], [], false) 1 time2091 remove2092 is expected to receive invalidated_file_types(*(any args)) 1 time2093 on ordinary branch2094 create2095 is expected to receive invalidated_file_types(*(any args)) 1 time2096 update2097 is expected to receive invalidated_file_types(*(any args)) 1 time2098 remove2099 is expected to receive invalidated_file_types(*(any args)) 1 time2100 signatures2101 when the commit has a signature2102 when the signature is already cached2103 does not queue a CreateCommitSignatureWorker2104 when the signature is not yet cached2105 queues a CreateCommitSignatureWorker2106 can queue several commits to create the gpg signature2107 when the commit does not have a signature2108 does not queue a CreateCommitSignatureWorker2109 Processing commit messages2110 creating the default branch2111 processes a limited number of commit messages2112 collects the related metrics2113 when limit is not hit2114 does not collect the corresponding metric2115 updating the default branch2116 processes a limited number of commit messages2117 removing the default branch2118 does not process commit messages2119 creating a normal branch2120 processes a limited number of commit messages2121 updating a normal branch2122 processes a limited number of commit messages2123 removing a normal branch2124 does not process commit messages2125 when the project is forked2126 when commits already exists in the upstream project2127 does not process commit messages2128 when a commit does not exist in the upstream repo2129 processes the commit message2130 when the upstream project no longer exists2131 processes the commit messages2132 New branch detection2133 oldrev is the blank SHA2134 is treated as a new branch2135 oldrev is set2136 Gitaly does not know about the branch2137 is treated as a new branch2138 Gitaly knows about the branch2139 is not treated as a new branch2140 Metrics dashboard sync2141 with default branch2142 when adding files2143 also related2144 imports metrics to database2145 only unrelated2146 does not sync metrics to database2147 when deleting files2148 also related2149 imports metrics to database2150 only unrelated2151 does not sync metrics to database2152 when updating files2153 also related2154 imports metrics to database2155 only unrelated2156 does not sync metrics to database2157 without changes2158 does not sync metrics to database2159 with other branch2160 does not sync metrics to database2161Event2162 Associations2163 is expected to belong to project required: false2164 is expected to belong to target required: false2165 Respond to2166 is expected to respond to #author_name2167 is expected to respond to #author_email2168 is expected to respond to #issue_title2169 is expected to respond to #merge_request_title2170 is expected to respond to #design_title2171 Callbacks2172 after_create :reset_project_activity2173 calls the reset_project_activity method2174 after_create :set_last_repository_updated_at2175 with a push event2176 updates the project last_repository_updated_at and updated_at2177 without a push event2178 does not update the project last_repository_updated_at2179 #set_last_repository_updated_at2180 only updates once every Event::REPOSITORY_UPDATED_AT_INTERVAL minutes2181 after_create UserInteractedProject.track2182 passes event to UserInteractedProject.track2183 validations2184 action2185 for a design2186 action: "created", valid: true2187 is expected to eq true2188 action: "updated", valid: true2189 is expected to eq true2190 action: "closed", valid: false2191 is expected to eq false2192 action: "reopened", valid: false2193 is expected to eq false2194 action: "pushed", valid: false2195 is expected to eq false2196 action: "commented", valid: false2197 is expected to eq false2198 action: "merged", valid: false2199 is expected to eq false2200 action: "joined", valid: false2201 is expected to eq false2202 action: "left", valid: false2203 is expected to eq false2204 action: "destroyed", valid: true2205 is expected to eq true2206 action: "expired", valid: false2207 is expected to eq false2208 action: "approved", valid: false2209 is expected to eq false2210 scopes2211 .for_issue2212 returns events for Issue and WorkItem target_type2213 .created_at2214 can find the right event2215 .for_fingerprint2216 returns none if there is no fingerprint2217 returns none if there is no match2218 can find a given event2219 .contributions2220 returns events for MergeRequest, Issue and WorkItem2221 #fingerprint2222 is unique scoped to target2223 Push event2224 is expected to eq #<User id:986 @namespace289>2225 #target_title2226 for an issue2227 delegates to issue title2228 for a wiki page2229 delegates to wiki page title2230 #membership_changed?2231 created2232 is expected to be falsey2233 updated2234 is expected to be falsey2235 expired2236 is expected to be truthy2237 left2238 is expected to be truthy2239 joined2240 is expected to be truthy2241 #note?2242 issue note event2243 is expected to be note2244 merge request diff note event2245 is expected to be note2246 #visible_to_user?2247 commit note event2248 has the correct visibility2249 private project2250 when admin mode enabled2251 has the correct visibility2252 when admin mode disabled2253 has the correct visibility2254 issue event2255 for non confidential issues2256 has the correct visibility2257 is expected to eq true2258 is expected to eq true2259 for confidential issues2260 has the correct visibility2261 is expected to eq true2262 is expected to eq true2263 work item event2264 for non confidential work item2265 has the correct visibility2266 is expected to eq true2267 is expected to eq true2268 for confidential work item2269 has the correct visibility2270 is expected to eq true2271 issue note event2272 on non confidential issues2273 has the correct visibility2274 is expected to eq true2275 is expected to eq true2276 on confidential issues2277 has the correct visibility2278 is expected to eq true2279 is expected to eq true2280 confidential note2281 has the correct visibility2282 private project2283 is expected to eq false2284 is expected to eq false2285 when admin mode enabled2286 has the correct visibility2287 when admin mode disabled2288 has the correct visibility2289 merge request diff note event2290 public project2291 has the correct visibility2292 is expected to eq true2293 private project2294 is expected to eq false2295 when admin mode enabled2296 has the correct visibility2297 when admin mode disabled2298 has the correct visibility2299 milestone event2300 has the correct visibility2301 on public project with private issue tracker and merge requests2302 when admin mode enabled2303 has the correct visibility2304 when admin mode disabled2305 has the correct visibility2306 on private project2307 when admin mode enabled2308 has the correct visibility2309 when admin mode disabled2310 has the correct visibility2311 wiki-page event2312 on private project2313 when admin mode enabled2314 has the correct visibility2315 when admin mode disabled2316 has the correct visibility2317 wiki-page event on public project2318 has the correct visibility2319 project snippet note event2320 has the correct visibility2321 on public project with private snippets2322 is expected to eq false2323 when admin mode enabled2324 has the correct visibility2325 when admin mode disabled2326 has the correct visibility2327 on private project2328 is expected to eq false2329 when admin mode enabled2330 has the correct visibility2331 when admin mode disabled2332 has the correct visibility2333 personal snippet note event2334 has the correct visibility2335 is expected to eq true2336 on internal snippet2337 has the correct visibility2338 on private snippet2339 is expected to eq true2340 when admin mode enabled2341 has the correct visibility2342 when admin mode disabled2343 has the correct visibility2344 design note event2345 has the correct visibility2346 is expected to eq true2347 is expected to eq true2348 the event refers to a design on a confidential issue2349 has the correct visibility2350 is expected to eq true2351 is expected to eq true2352 design event2353 has the correct visibility2354 is expected to eq true2355 is expected to eq true2356 the event refers to a design on a confidential issue2357 has the correct visibility2358 is expected to eq true2359 is expected to eq true2360 wiki_page predicate scopes2361 .for_design2362 only includes design events2363 .for_wiki_page2364 only contains the wiki page events2365 .for_wiki_meta2366 finds events for a given wiki page metadata object2367 categorization2368 passes a sanity check2369 #wiki_page and #wiki_page?2370 for a wiki page event2371 is expected to have attributes {:wiki_page => #<WikiPage:0x00007f4812eed110 @wiki=#<ProjectWiki id:313 >, @page=#<Gitlab::Git::WikiPag...402165861a 5302979ce398ff3af48f9b5a2c6eb6402165861a>, @format=:markdown>>, :wiki_page? => (be truthy)}2372 title is empty2373 is expected to have attributes {:wiki_page => nil, :wiki_page? => (be truthy)}2374 for any other event2375 has no wiki_page and is not a wiki_page2376 #design and #design?2377 for a design event2378 is expected to have attributes {:design => #<DesignManagement::Design id: namespace325/project329#/designs[homescreen-31.jpg]>, :design? => (be truthy)}2379 for any other event2380 has no design and is not a design2381 .limit_recent2382 without an explicit limit2383 is expected to eq [#<Event project_id: 315, author_id: 1039, target_id: 54, created_at: "2023-04-19 09:49:32.006319474 ...555840581 +0000", action: "closed", target_type: "Issue", group_id: nil, fingerprint: nil, id: 652>]2384 with an explicit limit2385 is expected to eq [#<Event project_id: 317, author_id: 1043, target_id: 56, created_at: "2023-04-19 09:49:32.944695716 ...944695716 +0000", action: "closed", target_type: "Issue", group_id: nil, fingerprint: nil, id: 655>]2386 #reset_project_activity2387 when a project was updated less than 1 hour ago2388 does not update the project2389 when a project was updated more than 1 hour ago2390 updates the project2391 deletes the redis key for if the project was inactive2392 #authored_by?2393 returns true when the event author and user are the same2394 returns false when passing nil as an argument2395 returns false when the given user is not the author of the event2396 #body?2397 returns true for a push event with commits2398 returns false for a push event without a valid commit range2399 returns true for a Note event2400 returns true if the target responds to #title2401 returns false for a regular event without a target2402 #target2403 eager loads the author of an event target2404 with snippet note2405 #snippet_note?2406 returns true for a project snippet event2407 returns true for a personal snippet event2408 returns false for a other kinds of event2409 #personal_snippet_note?2410 returns false for a project snippet event2411 returns true for a personal snippet event2412 returns false for a other kinds of event2413 #project_snippet_note?2414 returns true for a project snippet event2415 returns false for a personal snippet event2416 returns false for a other kinds of event2417 #action_name2418 handles all valid design events2419 handles correct push_action2420 handles correct base actions2421 trait: :created, action_name: "created"2422 with correct name and method2423 trait: :updated, action_name: "opened"2424 with correct name and method2425 trait: :closed, action_name: "closed"2426 with correct name and method2427 trait: :reopened, action_name: "opened"2428 with correct name and method2429 trait: :commented, action_name: "commented on"2430 with correct name and method2431 trait: :merged, action_name: "accepted"2432 with correct name and method2433 trait: :joined, action_name: "joined"2434 with correct name and method2435 trait: :left, action_name: "left"2436 with correct name and method2437 trait: :destroyed, action_name: "destroyed"2438 with correct name and method2439 trait: :expired, action_name: "removed due to membership expiration from"2440 with correct name and method2441 trait: :approved, action_name: "approved"2442 with correct name and method2443 for created_project_action?2444 returns created for created event2445 returns imported for imported event2446 #has_no_project_and_group2447 with project event2448 returns false when the event has project2449 returns true when the event has no project2450 with group event2451 returns false when the event has group2452 returns true when the event has no group2453Milestone2454 modules2455 with a project2456 behaves like AtomicInternalId2457 .has_internal_id2458 Module inclusion2459 is expected to includes the AtomicInternalId module2460 Validation2461 when presence validation is required2462 when creating an object2463 raises an error if the internal id is blank2464 when updating an object2465 raises an error if the internal id is blank2466 when presence validation is not required2467 when creating an object2468 does not raise an error if the internal id is blank (PENDING: No reason given)2469 when updating an object2470 does not raise an error if the internal id is blank (PENDING: No reason given)2471 Creating an instance2472 saves a new instance properly2473 internal id generation2474 calls InternalId.generate_next and sets internal id attribute2475 does not overwrite an existing internal id2476 when the instance has an internal ID set2477 calls InternalId.update_last_value and sets the `last_value` to that of the instance2478 unsetting the instance internal id on rollback2479 when the internal id has been changed2480 when the internal id is automatically set2481 clears it on the instance2482 when the internal id is manually set2483 does not clear it on the instance2484 when the internal id has not been changed2485 preserves the value on the instance2486 supply of internal ids2487 provides a persistent supply of IID values, sensitive to the current state2488 #reset_scope_internal_id_attribute2489 rewinds the allocated IID2490 allocates the same IID2491 with a group2492 behaves like AtomicInternalId2493 .has_internal_id2494 Module inclusion2495 is expected to includes the AtomicInternalId module2496 Validation2497 when presence validation is required2498 when creating an object2499 raises an error if the internal id is blank2500 when updating an object2501 raises an error if the internal id is blank2502 when presence validation is not required2503 when creating an object2504 does not raise an error if the internal id is blank (PENDING: No reason given)2505 when updating an object2506 does not raise an error if the internal id is blank (PENDING: No reason given)2507 Creating an instance2508 saves a new instance properly2509 internal id generation2510 calls InternalId.generate_next and sets internal id attribute2511 does not overwrite an existing internal id2512 when the instance has an internal ID set2513 calls InternalId.update_last_value and sets the `last_value` to that of the instance2514 unsetting the instance internal id on rollback2515 when the internal id has been changed2516 when the internal id is automatically set2517 clears it on the instance2518 when the internal id is manually set2519 does not clear it on the instance2520 when the internal id has not been changed2521 preserves the value on the instance2522 supply of internal ids2523 provides a persistent supply of IID values, sensitive to the current state2524 #reset_scope_internal_id_attribute2525 rewinds the allocated IID2526 allocates the same IID2527 behaves like a timebox2528 Validation2529 start_date2530 adds an error when start_date is greater then due_date2531 adds an error when start_date is greater than 9999-12-312532 due_date2533 adds an error when due_date is greater than 9999-12-312534 Associations2535 is expected to have many issues2536 is expected to have many merge_requests2537 is expected to have many labels through issues2538 #timebox_name2539 returns the name of the model2540 #safe_title2541 normalizes the title for use as a slug2542 #title2543 sanitizes title2544 #to_ability_name2545 returns timebox2546 .within_timeframe2547 can find overlapping timeboxes2548 #uniqueness_of_title2549 per project2550 does not accept the same title in a project twice2551 accepts the same title in another project2552 per group2553 does not accept the same title in a group twice2554 does not accept the same title of a child project timebox2555 MilestoneStruct#serializable_hash2556 presents the predefined milestone as a hash2557 Validation2558 title2559 is expected to validate that :title cannot be empty/falsy2560 is invalid if title would be empty after sanitation2561 milestone_releases2562 when it is tied to a release for another project2563 creates a validation error2564 when it is tied to a release for the same project2565 is valid2566 #parent_type_check2567 is invalid if it has both project_id and group_id2568 Associations2569 is expected to belong to project required: false2570 is expected to belong to group required: false2571 is expected to have many releases2572 is expected to have many milestone_releases2573 .predefined_id?2574 returns true for a predefined Milestone ID2575 returns false for a Milestone ID that is not predefined2576 .order_by_name_asc2577 sorts by name ascending2578 .reorder_by_due_date_asc2579 reorders the input relation2580 behaves like within_timeframe scope2581 .within_timeframe2582 returns resources with start_date and/or end_date between timeframe2583 returns resources which starts before the timeframe2584 returns resources which ends after the timeframe2585 #percent_complete2586 does not count open issues2587 counts closed issues2588 recovers from dividing by zero2589 #expired? and #expired2590 expired2591 returns true when due_date is in the past2592 not expired2593 returns false when due_date is in the future2594 #upcoming?2595 returns true when start_date is in the future2596 returns false when start_date is in the past2597 #can_be_closed?2598 returns true if milestone active and all nested issues closed2599 returns false if milestone active and not all nested issues closed2600 #to_ability_name2601 returns milestone2602 .search2603 returns milestones with a matching title2604 returns milestones with a partially matching title2605 returns milestones with a matching title regardless of the casing2606 returns milestones with a matching description2607 returns milestones with a partially matching description2608 returns milestones with a matching description regardless of the casing2609 #search_title2610 returns milestones with a matching title2611 returns milestones with a partially matching title2612 returns milestones with a matching title regardless of the casing2613 searches only on the title and ignores milestones with a matching description2614 behaves like #for_projects_and_groups2615 #for_projects_and_groups2616 returns no records if projects and groups are nil2617 ids as params2618 behaves like filters by projects and groups2619 returns milestones filtered by project2620 returns milestones filtered by group2621 returns milestones filtered by both project and group2622 relations as params2623 behaves like filters by projects and groups2624 returns milestones filtered by project2625 returns milestones filtered by group2626 returns milestones filtered by both project and group2627 objects as params2628 behaves like filters by projects and groups2629 returns milestones filtered by project2630 returns milestones filtered by group2631 returns milestones filtered by both project and group2632 .upcoming_ids2633 returns the next upcoming open milestone ID for each project and group2634 when the projects and groups have no open upcoming milestones2635 returns no results2636 #to_reference2637 for a project milestone2638 returns a String reference to the object2639 returns a reference by name when the format is set to :name2640 supports a cross-project reference2641 for a group milestone2642 returns a group milestone reference with a default format2643 returns a reference by name when the format is set to :name2644 does supports cross-project references within a group2645 raises an error when using iid format2646 #reference_link_text2647 returns the title with the reference prefix2648 #participants2649 returns participants without duplicates2650 .sort_with_expired_last2651 ordering by due_date ascending2652 sorts by due date in ascending order (ties broken by id in desc order)2653 ordering by due_date descending2654 sorts by due date in descending order (ties broken by id in desc order)2655 .sort_by_attribute2656 ordering by name ascending2657 sorts by title ascending2658 ordering by name descending2659 sorts by title descending2660 .states_count2661 when the projects have milestones2662 returns the quantity of milestones in each possible state2663 when the projects do not have milestones2664 returns 0 as the quantity of global milestones in each state2665 .reference_pattern2666 is expected to match "gitlab-org/gitlab-ce%123"2667 is expected to match "gitlab-org/gitlab-ce%\"my-milestone\""2668 .link_reference_pattern2669 is expected to match "http://localhost/gitlab-org/gitlab-foss/milestones/123"2670 is expected to match "http://localhost/gitlab-org/gitlab-foss/-/milestones/123"2671 is expected not to match "http://localhost/gitlab-org/gitlab-foss/issues/123"2672 is expected not to match "gitlab-org/gitlab-ce/milestones/123"2673 #merge_requests_enabled?2674 per project2675 is true for projects with MRs enabled2676 is false for projects with MRs disabled2677 is false for projects with repository disabled2678 per group2679 is always true for groups, for performance reasons2680 #resource_parent2681 when group is present2682 returns the group2683 when project is present2684 returns the project2685 #parent2686 with group2687 returns the expected parent2688 with project2689 returns the expected parent2690 #subgroup_milestone2691 parent is subgroup2692 returns true2693 parent is not subgroup2694 returns false2695 #project_milestone?2696 when project_id is present2697 returns true2698 when project_id is not present2699 returns false2700 #group_milestone?2701 when group_id is present2702 returns true2703 when group_id is not present2704 returns false2705ObjectStorage::DirectUpload2706 #has_length2707 is known2708 maximum size is not required2709 is unknown2710 and maximum size is specified2711 does not raise an error2712 and maximum size is not specified2713 raises an error2714 #get_url2715 when AWS is used2716 calls the proper method2717 when Google is used2718 calls the proper method2719 #to_hash2720 when AWS is used2721 when length is known2722 behaves like a valid S3 upload without multipart data2723 behaves like a valid S3 upload2724 sets Workhorse client data2725 behaves like a valid upload2726 returns valid structure2727 with an object with UTF-8 characters2728 returns an escaped path2729 when no region is specified2730 defaults to us-east-12731 when V2 signatures are used2732 does not enable Workhorse client2733 when V4 signatures are used2734 enables the Workhorse client for instance profiles2735 when consolidated settings are used2736 enables the Workhorse client2737 when only server side encryption is used2738 sends server side encryption settings2739 when SSE-KMS is used2740 sends server side encryption settings2741 behaves like a valid upload without multipart data2742 returns valid structure2743 behaves like a valid upload2744 returns valid structure2745 with an object with UTF-8 characters2746 returns an escaped path2747 when path style is true2748 behaves like a valid S3 upload without multipart data2749 behaves like a valid S3 upload2750 sets Workhorse client data2751 behaves like a valid upload2752 returns valid structure2753 with an object with UTF-8 characters2754 returns an escaped path2755 when no region is specified2756 defaults to us-east-12757 when V2 signatures are used2758 does not enable Workhorse client2759 when V4 signatures are used2760 enables the Workhorse client for instance profiles2761 when consolidated settings are used2762 enables the Workhorse client2763 when only server side encryption is used2764 sends server side encryption settings2765 when SSE-KMS is used2766 sends server side encryption settings2767 behaves like a valid upload without multipart data2768 returns valid structure2769 behaves like a valid upload2770 returns valid structure2771 with an object with UTF-8 characters2772 returns an escaped path2773 when IAM profile is true2774 behaves like a valid S3 upload without multipart data2775 behaves like a valid S3 upload2776 sets Workhorse client data2777 behaves like a valid upload2778 returns valid structure2779 with an object with UTF-8 characters2780 returns an escaped path2781 when no region is specified2782 defaults to us-east-12783 when V2 signatures are used2784 does not enable Workhorse client2785 when V4 signatures are used2786 enables the Workhorse client for instance profiles2787 when consolidated settings are used2788 enables the Workhorse client2789 when only server side encryption is used2790 sends server side encryption settings2791 when SSE-KMS is used2792 sends server side encryption settings2793 behaves like a valid upload without multipart data2794 returns valid structure2795 behaves like a valid upload2796 returns valid structure2797 with an object with UTF-8 characters2798 returns an escaped path2799 when IMSDv2 is available2800 behaves like a valid S3 upload without multipart data2801 behaves like a valid S3 upload2802 sets Workhorse client data2803 behaves like a valid upload2804 returns valid structure2805 with an object with UTF-8 characters2806 returns an escaped path2807 when no region is specified2808 defaults to us-east-12809 when V2 signatures are used2810 does not enable Workhorse client2811 when V4 signatures are used2812 enables the Workhorse client for instance profiles2813 when consolidated settings are used2814 enables the Workhorse client2815 when only server side encryption is used2816 sends server side encryption settings2817 when SSE-KMS is used2818 sends server side encryption settings2819 behaves like a valid upload without multipart data2820 returns valid structure2821 behaves like a valid upload2822 returns valid structure2823 with an object with UTF-8 characters2824 returns an escaped path2825 when length is unknown2826 behaves like a valid S3 upload with multipart data2827 behaves like a valid S3 upload2828 sets Workhorse client data2829 behaves like a valid upload2830 returns valid structure2831 with an object with UTF-8 characters2832 returns an escaped path2833 when no region is specified2834 defaults to us-east-12835 when V2 signatures are used2836 does not enable Workhorse client2837 when V4 signatures are used2838 enables the Workhorse client for instance profiles2839 when consolidated settings are used2840 enables the Workhorse client2841 when only server side encryption is used2842 sends server side encryption settings2843 when SSE-KMS is used2844 sends server side encryption settings2845 behaves like a valid upload with multipart data2846 returns valid structure2847 uses only strings in query parameters2848 behaves like a valid upload2849 returns valid structure2850 with an object with UTF-8 characters2851 returns an escaped path2852 when maximum upload size is 02853 returns maximum number of parts2854 part size is minimum, 5MB2855 when maximum upload size is < 5 MB2856 returns only 1 part2857 part size is minimum, 5MB2858 when maximum upload size is 10MB2859 returns only 2 parts2860 part size is minimum, 5MB2861 when maximum upload size is 12MB2862 returns only 3 parts2863 part size is rounded-up to 5MB2864 when maximum upload size is 49GB2865 returns maximum, 100 parts2866 part size is rounded-up to 5MB2867 when Google is used2868 with google_application_default2869 when length is known2870 behaves like a valid Google upload2871 enables the Workhorse client2872 behaves like a valid upload2873 returns valid structure2874 with an object with UTF-8 characters2875 returns an escaped path2876 with workhorse_google_client disabled2877 does not set Workhorse client data2878 behaves like a valid upload without multipart data2879 returns valid structure2880 behaves like a valid upload2881 returns valid structure2882 with an object with UTF-8 characters2883 returns an escaped path2884 when length is unknown2885 behaves like a valid Google upload2886 enables the Workhorse client2887 behaves like a valid upload2888 returns valid structure2889 with an object with UTF-8 characters2890 returns an escaped path2891 with workhorse_google_client disabled2892 does not set Workhorse client data2893 behaves like a valid upload without multipart data2894 returns valid structure2895 behaves like a valid upload2896 returns valid structure2897 with an object with UTF-8 characters2898 returns an escaped path2899 with google_json_key_location2900 when length is known2901 behaves like a valid Google upload2902 enables the Workhorse client2903 behaves like a valid upload2904 returns valid structure2905 with an object with UTF-8 characters2906 returns an escaped path2907 with workhorse_google_client disabled2908 does not set Workhorse client data2909 behaves like a valid upload without multipart data2910 returns valid structure2911 behaves like a valid upload2912 returns valid structure2913 with an object with UTF-8 characters2914 returns an escaped path2915 when length is unknown2916 behaves like a valid Google upload2917 enables the Workhorse client2918 behaves like a valid upload2919 returns valid structure2920 with an object with UTF-8 characters2921 returns an escaped path2922 with workhorse_google_client disabled2923 does not set Workhorse client data2924 behaves like a valid upload without multipart data2925 returns valid structure2926 behaves like a valid upload2927 returns valid structure2928 with an object with UTF-8 characters2929 returns an escaped path2930 with google_json_key_string2931 when length is known2932 behaves like a valid Google upload2933 enables the Workhorse client2934 behaves like a valid upload2935 returns valid structure2936 with an object with UTF-8 characters2937 returns an escaped path2938 with workhorse_google_client disabled2939 does not set Workhorse client data2940 behaves like a valid upload without multipart data2941 returns valid structure2942 behaves like a valid upload2943 returns valid structure2944 with an object with UTF-8 characters2945 returns an escaped path2946 when length is unknown2947 behaves like a valid Google upload2948 enables the Workhorse client2949 behaves like a valid upload2950 returns valid structure2951 with an object with UTF-8 characters2952 returns an escaped path2953 with workhorse_google_client disabled2954 does not set Workhorse client data2955 behaves like a valid upload without multipart data2956 returns valid structure2957 behaves like a valid upload2958 returns valid structure2959 with an object with UTF-8 characters2960 returns an escaped path2961 when AzureRM is used2962 behaves like a valid AzureRM upload2963 enables the Workhorse client2964 behaves like a valid upload2965 returns valid structure2966 with an object with UTF-8 characters2967 returns an escaped path2968 behaves like a valid upload without multipart data2969 returns valid structure2970 behaves like a valid upload2971 returns valid structure2972 with an object with UTF-8 characters2973 returns an escaped path2974 when a custom storage domain is used2975 behaves like a valid AzureRM upload2976 enables the Workhorse client2977 behaves like a valid upload2978 returns valid structure2979 with an object with UTF-8 characters2980 returns an escaped path2981 #use_workhorse_google_client?2982 with consolidated_settings2983 with google_application_default2984 is expected to be truthy2985 with google_json_key_string2986 is expected to be truthy2987 with google_json_key_location2988 is expected to be truthy2989 without any google setting2990 is expected to be falsey2991 without consolidated_settings2992 is expected to be falsey2993MergeRequestWidgetEntity2994 has email_patches_path2995 has plain_diff_path2996 has human access2997 has new pipeline path for project2998 has security_reports_docs_path2999 source_project_full_path3000 includes the full path of the source project3001 when the source project is missing3002 returns `nil` for the source project3003 can_create_pipeline_in_target_project3004 when user has permission3005 includes the correct permission info3006 when user does not have permission3007 includes the correct permission info3008 issues links3009 includes issues links when requested3010 omits issue links by default3011 merge_request_add_ci_config_path3012 when there is a standard ci config file in the source project3013 no ci config path3014 when there is no standard ci config file in the source project3015 when user has permissions3016 has add ci config path3017 has expected params3018 when auto devops is enabled3019 returns a blank ci config path3020 when source project is missing3021 returns a blank ci config path3022 when there are no commits3023 returns a blank ci config path3024 when build feature is disabled3025 has no path3026 when creating the pipeline is not allowed3027 has no path3028 when merge request is merged3029 returns a blank ci config path3030 when merge request is closed3031 returns a blank ci config path3032 when source branch does not exist3033 returns a blank ci config path3034 when user does not have permissions3035 has add ci config path3036 user callouts3037 provides a valid path value for user callout path3038 provides a valid value for suggest pipeline feature id3039 when source project is deleted3040 returns a blank rebase_path3041 has source_project_default_url3042 returns the default url to the source project3043 when source project is nil3044 returns nil3045 when gitpod is disabled3046 exposes gitpod attributes3047 when gitpod is enabled3048 exposes gitpod attributes3049 when gitpod is enabled for user3050 exposes gitpod_enabled as true3051 is_dismissed_suggest_pipeline3052 when user is logged in3053 when the suggest pipeline feature is enabled3054 is false3055 when suggest pipeline has been dismissed3056 is true3057 when the suggest pipeline feature is disabled3058 is true3059 when user is not logged in3060 is true3061MergeRequests::CleanupRefsService3062 .schedule3063 creates a merge request cleanup schedule3064 #execute3065 when merge request is closed3066 when closed 14 days ago3067 behaves like service that cleans up merge request refs3068 creates keep around ref and deletes merge request refs3069 when merge request has no head ref3070 does not fail3071 when merge request has merge ref3072 caches merge ref sha and deletes merge ref3073 when merge ref sha cannot be cached3074 behaves like service that does not clean up merge request refs3075 does not delete merge request refs3076 when keep around ref cannot be created3077 behaves like service that does not clean up merge request refs3078 does not delete merge request refs3079 when a git error is raised3080 Gitlab::Git::Repository::GitError3081 behaves like service that does not clean up merge request refs3082 does not delete merge request refs3083 Gitlab::Git::CommandError3084 behaves like service that does not clean up merge request refs3085 does not delete merge request refs3086 when cleanup schedule fails to update3087 creates keep around ref and deletes merge request refs3088 when merge request is not scheduled to be cleaned up yet3089 behaves like service that does not clean up merge request refs3090 does not delete merge request refs3091 when repository no longer exists3092 does not fail and still mark schedule as complete3093 when closed later than 14 days ago3094 behaves like service that does not clean up merge request refs3095 does not delete merge request refs3096 when merge request is merged3097 when merged 14 days ago3098 behaves like service that cleans up merge request refs3099 creates keep around ref and deletes merge request refs3100 when merge request has no head ref3101 does not fail3102 when merge request has merge ref3103 caches merge ref sha and deletes merge ref3104 when merge ref sha cannot be cached3105 behaves like service that does not clean up merge request refs3106 does not delete merge request refs3107 when keep around ref cannot be created3108 behaves like service that does not clean up merge request refs3109 does not delete merge request refs3110 when a git error is raised3111 Gitlab::Git::Repository::GitError3112 behaves like service that does not clean up merge request refs3113 does not delete merge request refs3114 Gitlab::Git::CommandError3115 behaves like service that does not clean up merge request refs3116 does not delete merge request refs3117 when cleanup schedule fails to update3118 creates keep around ref and deletes merge request refs3119 when merge request is not scheduled to be cleaned up yet3120 behaves like service that does not clean up merge request refs3121 does not delete merge request refs3122 when repository no longer exists3123 does not fail and still mark schedule as complete3124 when merged later than 14 days ago3125 behaves like service that does not clean up merge request refs3126 does not delete merge request refs3127 when merge request is not closed nor merged3128 behaves like service that does not clean up merge request refs3129 does not delete merge request refs3130RuboCop::Cop::Migration::CreateTableWithForeignKeys3131 # order random3132 outside of a migration3133 does not register any offenses3134 when in a migration3135 without foreign key3136 does not register any offenses3137 with foreign key3138 with just one foreign key3139 when the foreign_key targets a high traffic table3140 when the foreign_key has to_table option set3141 does not register any offenses3142 when the foreign_key does not have to_table option set3143 does not register any offenses3144 when the foreign_key does not target a high traffic table3145 does not register any offenses3146 with more than one foreign keys3147 when the foreign keys are defined as options3148 when there is no target to a high traffic table3149 does not register any offenses3150 behaves like target to high traffic table3151 when the target is defined as option3152 registers an offense3153 when the target has implicit definition3154 registers an offense3155 behaves like target to high traffic table3156 when the target is defined as option3157 registers an offense3158 when the target has implicit definition3159 registers an offense3160 behaves like target to high traffic table3161 when the target is defined as option3162 registers an offense3163 when the target has implicit definition3164 registers an offense3165 behaves like target to high traffic table3166 when the target is defined as option3167 registers an offense3168 when the target has implicit definition3169 registers an offense3170 behaves like target to high traffic table3171 when the target is defined as option3172 registers an offense3173 when the target has implicit definition3174 registers an offense3175 behaves like target to high traffic table3176 when the target is defined as option3177 registers an offense3178 when the target has implicit definition3179 registers an offense3180 behaves like target to high traffic table3181 when the target is defined as option3182 registers an offense3183 when the target has implicit definition3184 registers an offense3185 behaves like target to high traffic table3186 when the target is defined as option3187 registers an offense3188 when the target has implicit definition3189 registers an offense3190 behaves like target to high traffic table3191 when the target is defined as option3192 registers an offense3193 when the target has implicit definition3194 registers an offense3195 behaves like target to high traffic table3196 when the target is defined as option3197 registers an offense3198 when the target has implicit definition3199 registers an offense3200 behaves like target to high traffic table3201 when the target is defined as option3202 registers an offense3203 when the target has implicit definition3204 registers an offense3205 behaves like target to high traffic table3206 when the target is defined as option3207 registers an offense3208 when the target has implicit definition3209 registers an offense3210 behaves like target to high traffic table3211 when the target is defined as option3212 registers an offense3213 when the target has implicit definition3214 registers an offense3215 behaves like target to high traffic table3216 when the target is defined as option3217 registers an offense3218 when the target has implicit definition3219 registers an offense3220 behaves like target to high traffic table3221 when the target is defined as option3222 registers an offense3223 when the target has implicit definition3224 registers an offense3225 behaves like target to high traffic table3226 when the target is defined as option3227 registers an offense3228 when the target has implicit definition3229 registers an offense3230 behaves like target to high traffic table3231 when the target is defined as option3232 registers an offense3233 when the target has implicit definition3234 registers an offense3235 behaves like target to high traffic table3236 when the target is defined as option3237 registers an offense3238 when the target has implicit definition3239 registers an offense3240 behaves like target to high traffic table3241 when the target is defined as option3242 registers an offense3243 when the target has implicit definition3244 registers an offense3245 behaves like target to high traffic table3246 when the target is defined as option3247 registers an offense3248 when the target has implicit definition3249 registers an offense3250 behaves like target to high traffic table3251 when the target is defined as option3252 registers an offense3253 when the target has implicit definition3254 registers an offense3255 behaves like target to high traffic table3256 when the target is defined as option3257 registers an offense3258 when the target has implicit definition3259 registers an offense3260 behaves like target to high traffic table3261 when the target is defined as option3262 registers an offense3263 when the target has implicit definition3264 registers an offense3265 behaves like target to high traffic table3266 when the target is defined as option3267 registers an offense3268 when the target has implicit definition3269 registers an offense3270 behaves like target to high traffic table3271 when the target is defined as option3272 registers an offense3273 when the target has implicit definition3274 registers an offense3275 behaves like target to high traffic table3276 when the target is defined as option3277 registers an offense3278 when the target has implicit definition3279 registers an offense3280 behaves like target to high traffic table3281 when the target is defined as option3282 registers an offense3283 when the target has implicit definition3284 registers an offense3285 behaves like target to high traffic table3286 when the target is defined as option3287 registers an offense3288 when the target has implicit definition3289 registers an offense3290 behaves like target to high traffic table3291 when the target is defined as option3292 registers an offense3293 when the target has implicit definition3294 registers an offense3295 behaves like target to high traffic table3296 when the target is defined as option3297 registers an offense3298 when the target has implicit definition3299 registers an offense3300 behaves like target to high traffic table3301 when the target is defined as option3302 registers an offense3303 when the target has implicit definition3304 registers an offense3305 behaves like target to high traffic table3306 when the target is defined as option3307 registers an offense3308 when the target has implicit definition3309 registers an offense3310 when the foreign keys are defined by standlone migration helper3311 when there is no target to a high traffic table3312 does not register any offenses3313 behaves like target to high traffic table3314 when the target is defined as option3315 registers an offense3316 when the target has implicit definition3317 registers an offense3318 behaves like target to high traffic table3319 when the target is defined as option3320 registers an offense3321 when the target has implicit definition3322 registers an offense3323 behaves like target to high traffic table3324 when the target is defined as option3325 registers an offense3326 when the target has implicit definition3327 registers an offense3328 behaves like target to high traffic table3329 when the target is defined as option3330 registers an offense3331 when the target has implicit definition3332 registers an offense3333 behaves like target to high traffic table3334 when the target is defined as option3335 registers an offense3336 when the target has implicit definition3337 registers an offense3338 behaves like target to high traffic table3339 when the target is defined as option3340 registers an offense3341 when the target has implicit definition3342 registers an offense3343 behaves like target to high traffic table3344 when the target is defined as option3345 registers an offense3346 when the target has implicit definition3347 registers an offense3348 behaves like target to high traffic table3349 when the target is defined as option3350 registers an offense3351 when the target has implicit definition3352 registers an offense3353 behaves like target to high traffic table3354 when the target is defined as option3355 registers an offense3356 when the target has implicit definition3357 registers an offense3358 behaves like target to high traffic table3359 when the target is defined as option3360 registers an offense3361 when the target has implicit definition3362 registers an offense3363 behaves like target to high traffic table3364 when the target is defined as option3365 registers an offense3366 when the target has implicit definition3367 registers an offense3368 behaves like target to high traffic table3369 when the target is defined as option3370 registers an offense3371 when the target has implicit definition3372 registers an offense3373 behaves like target to high traffic table3374 when the target is defined as option3375 registers an offense3376 when the target has implicit definition3377 registers an offense3378 behaves like target to high traffic table3379 when the target is defined as option3380 registers an offense3381 when the target has implicit definition3382 registers an offense3383 behaves like target to high traffic table3384 when the target is defined as option3385 registers an offense3386 when the target has implicit definition3387 registers an offense3388 behaves like target to high traffic table3389 when the target is defined as option3390 registers an offense3391 when the target has implicit definition3392 registers an offense3393 behaves like target to high traffic table3394 when the target is defined as option3395 registers an offense3396 when the target has implicit definition3397 registers an offense3398 behaves like target to high traffic table3399 when the target is defined as option3400 registers an offense3401 when the target has implicit definition3402 registers an offense3403 behaves like target to high traffic table3404 when the target is defined as option3405 registers an offense3406 when the target has implicit definition3407 registers an offense3408 behaves like target to high traffic table3409 when the target is defined as option3410 registers an offense3411 when the target has implicit definition3412 registers an offense3413 behaves like target to high traffic table3414 when the target is defined as option3415 registers an offense3416 when the target has implicit definition3417 registers an offense3418 behaves like target to high traffic table3419 when the target is defined as option3420 registers an offense3421 when the target has implicit definition3422 registers an offense3423 behaves like target to high traffic table3424 when the target is defined as option3425 registers an offense3426 when the target has implicit definition3427 registers an offense3428 behaves like target to high traffic table3429 when the target is defined as option3430 registers an offense3431 when the target has implicit definition3432 registers an offense3433 behaves like target to high traffic table3434 when the target is defined as option3435 registers an offense3436 when the target has implicit definition3437 registers an offense3438 behaves like target to high traffic table3439 when the target is defined as option3440 registers an offense3441 when the target has implicit definition3442 registers an offense3443 behaves like target to high traffic table3444 when the target is defined as option3445 registers an offense3446 when the target has implicit definition3447 registers an offense3448 behaves like target to high traffic table3449 when the target is defined as option3450 registers an offense3451 when the target has implicit definition3452 registers an offense3453 behaves like target to high traffic table3454 when the target is defined as option3455 registers an offense3456 when the target has implicit definition3457 registers an offense3458 behaves like target to high traffic table3459 when the target is defined as option3460 registers an offense3461 when the target has implicit definition3462 registers an offense3463 behaves like target to high traffic table3464 when the target is defined as option3465 registers an offense3466 when the target has implicit definition3467 registers an offense3468 behaves like target to high traffic table3469 when the target is defined as option3470 registers an offense3471 when the target has implicit definition3472 registers an offense3473Gitlab::Database::MigrationHelpers::RestrictGitlabSchema3474 #restrict_gitlab_migration3475 invalid schema raises exception3476 does configure allowed_gitlab_schema3477 when executing migrations3478 does create table in gitlab_main and gitlab_ci3479 for db_config_name=main3480 while restrict_gitlab_migration=no_gitlab_schema3481 does run migrate :up and :down3482 while restrict_gitlab_migration=gitlab_schema_gitlab_main3483 does run migrate :up and :down3484 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3485 does run migrate :up and :down3486 for db_config_name=ci3487 while restrict_gitlab_migration=no_gitlab_schema3488 does run migrate :up and :down3489 while restrict_gitlab_migration=gitlab_schema_gitlab_main3490 does run migrate :up and :down3491 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3492 does run migrate :up and :down3493 does add column to projects in gitlab_main and gitlab_ci3494 for db_config_name=main3495 while restrict_gitlab_migration=no_gitlab_schema3496 does run migrate :up and :down3497 while restrict_gitlab_migration=gitlab_schema_gitlab_main3498 does run migrate :up and :down3499 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3500 does run migrate :up and :down3501 for db_config_name=ci3502 while restrict_gitlab_migration=no_gitlab_schema3503 does run migrate :up and :down3504 while restrict_gitlab_migration=gitlab_schema_gitlab_main3505 does run migrate :up and :down3506 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3507 does run migrate :up and :down3508 does add column to ci_builds in gitlab_main and gitlab_ci3509 for db_config_name=main3510 while restrict_gitlab_migration=no_gitlab_schema3511 does run migrate :up and :down3512 while restrict_gitlab_migration=gitlab_schema_gitlab_main3513 does run migrate :up and :down3514 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3515 does run migrate :up and :down3516 for db_config_name=ci3517 while restrict_gitlab_migration=no_gitlab_schema3518 does run migrate :up and :down3519 while restrict_gitlab_migration=gitlab_schema_gitlab_main3520 does run migrate :up and :down3521 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3522 does run migrate :up and :down3523 does add index to projects in gitlab_main and gitlab_ci3524 for db_config_name=main3525 while restrict_gitlab_migration=no_gitlab_schema3526 does run migrate :up and :down3527 while restrict_gitlab_migration=gitlab_schema_gitlab_main3528 does run migrate :up and :down3529 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3530 does run migrate :up and :down3531 for db_config_name=ci3532 while restrict_gitlab_migration=no_gitlab_schema3533 does run migrate :up and :down3534 while restrict_gitlab_migration=gitlab_schema_gitlab_main3535 does run migrate :up and :down3536 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3537 does run migrate :up and :down3538 does add index to ci_builds in gitlab_main and gitlab_ci3539 for db_config_name=main3540 while restrict_gitlab_migration=no_gitlab_schema3541 does run migrate :up and :down3542 while restrict_gitlab_migration=gitlab_schema_gitlab_main3543 does run migrate :up and :down3544 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3545 does run migrate :up and :down3546 for db_config_name=ci3547 while restrict_gitlab_migration=no_gitlab_schema3548 does run migrate :up and :down3549 while restrict_gitlab_migration=gitlab_schema_gitlab_main3550 does run migrate :up and :down3551 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3552 does run migrate :up and :down3553 does create trigger in gitlab_main and gitlab_ci3554 for db_config_name=main3555 while restrict_gitlab_migration=no_gitlab_schema3556 does run migrate :up and :down3557 while restrict_gitlab_migration=gitlab_schema_gitlab_main3558 does run migrate :up and :down3559 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3560 does run migrate :up and :down3561 for db_config_name=ci3562 while restrict_gitlab_migration=no_gitlab_schema3563 does run migrate :up and :down3564 while restrict_gitlab_migration=gitlab_schema_gitlab_main3565 does run migrate :up and :down3566 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3567 does run migrate :up and :down3568 does create schema in gitlab_main and gitlab_ci3569 for db_config_name=main3570 while restrict_gitlab_migration=no_gitlab_schema3571 does run migrate :up and :down3572 while restrict_gitlab_migration=gitlab_schema_gitlab_main3573 does run migrate :up and :down3574 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3575 does run migrate :up and :down3576 for db_config_name=ci3577 while restrict_gitlab_migration=no_gitlab_schema3578 does run migrate :up and :down3579 while restrict_gitlab_migration=gitlab_schema_gitlab_main3580 does run migrate :up and :down3581 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3582 does run migrate :up and :down3583 does attach loose foreign key trigger in gitlab_main and gitlab_ci3584 for db_config_name=main3585 while restrict_gitlab_migration=no_gitlab_schema3586 does run migrate :up and :down3587 while restrict_gitlab_migration=gitlab_schema_gitlab_main3588 does run migrate :up and :down3589 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3590 does run migrate :up and :down3591 for db_config_name=ci3592 while restrict_gitlab_migration=no_gitlab_schema3593 does run migrate :up and :down3594 while restrict_gitlab_migration=gitlab_schema_gitlab_main3595 does run migrate :up and :down3596 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3597 does run migrate :up and :down3598 does insert into software_licenses3599 for db_config_name=main3600 while restrict_gitlab_migration=no_gitlab_schema3601 does run migrate :up and :down3602 while restrict_gitlab_migration=gitlab_schema_gitlab_main3603 does run migrate :up and :down3604 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3605 does run migrate :up and :down3606 for db_config_name=ci3607 while restrict_gitlab_migration=no_gitlab_schema3608 does run migrate :up and :down3609 while restrict_gitlab_migration=gitlab_schema_gitlab_main3610 does run migrate :up and :down3611 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3612 does run migrate :up and :down3613 does raise exception when accessing tables outside of gitlab_main3614 for db_config_name=main3615 while restrict_gitlab_migration=no_gitlab_schema3616 does run migrate :up and :down3617 while restrict_gitlab_migration=gitlab_schema_gitlab_main3618 does run migrate :up and :down3619 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3620 does run migrate :up and :down3621 for db_config_name=ci3622 while restrict_gitlab_migration=no_gitlab_schema3623 does run migrate :up and :down3624 while restrict_gitlab_migration=gitlab_schema_gitlab_main3625 does run migrate :up and :down3626 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3627 does run migrate :up and :down3628 does allow modifying gitlab_shared3629 for db_config_name=main3630 while restrict_gitlab_migration=no_gitlab_schema3631 does run migrate :up and :down3632 while restrict_gitlab_migration=gitlab_schema_gitlab_main3633 does run migrate :up and :down3634 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3635 does run migrate :up and :down3636 for db_config_name=ci3637 while restrict_gitlab_migration=no_gitlab_schema3638 does run migrate :up and :down3639 while restrict_gitlab_migration=gitlab_schema_gitlab_main3640 does run migrate :up and :down3641 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3642 does run migrate :up and :down3643 does update data in batches of gitlab_main, but skips gitlab_ci3644 for db_config_name=main3645 while restrict_gitlab_migration=no_gitlab_schema3646 does run migrate :up and :down3647 while restrict_gitlab_migration=gitlab_schema_gitlab_main3648 does run migrate :up and :down3649 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3650 does run migrate :up and :down3651 for db_config_name=ci3652 while restrict_gitlab_migration=no_gitlab_schema3653 does run migrate :up and :down3654 while restrict_gitlab_migration=gitlab_schema_gitlab_main3655 does run migrate :up and :down3656 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3657 does run migrate :up and :down3658 does not allow executing mixed DDL and DML migrations3659 for db_config_name=main3660 while restrict_gitlab_migration=no_gitlab_schema3661 does run migrate :up and :down3662 while restrict_gitlab_migration=gitlab_schema_gitlab_main3663 does run migrate :up and :down3664 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3665 does run migrate :up and :down3666 for db_config_name=ci3667 while restrict_gitlab_migration=no_gitlab_schema3668 does run migrate :up and :down3669 while restrict_gitlab_migration=gitlab_schema_gitlab_main3670 does run migrate :up and :down3671 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3672 does run migrate :up and :down3673 does schedule background migrations on gitlab_main3674 for db_config_name=main3675 while restrict_gitlab_migration=no_gitlab_schema3676 does run migrate :up and :down3677 while restrict_gitlab_migration=gitlab_schema_gitlab_main3678 does run migrate :up and :down3679 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3680 does run migrate :up and :down3681 for db_config_name=ci3682 while restrict_gitlab_migration=no_gitlab_schema3683 does run migrate :up and :down3684 while restrict_gitlab_migration=gitlab_schema_gitlab_main3685 does run migrate :up and :down3686 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3687 does run migrate :up and :down3688 does support prepare_async_index3689 for db_config_name=main3690 while restrict_gitlab_migration=no_gitlab_schema3691 does run migrate :up and :down3692 while restrict_gitlab_migration=gitlab_schema_gitlab_main3693 does run migrate :up and :down3694 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3695 does run migrate :up and :down3696 for db_config_name=ci3697 while restrict_gitlab_migration=no_gitlab_schema3698 does run migrate :up and :down3699 while restrict_gitlab_migration=gitlab_schema_gitlab_main3700 does run migrate :up and :down3701 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3702 does run migrate :up and :down3703 does raise exception when accessing current settings3704 for db_config_name=main3705 while restrict_gitlab_migration=no_gitlab_schema3706 does run migrate :up and :down3707 while restrict_gitlab_migration=gitlab_schema_gitlab_main3708 does run migrate :up and :down3709 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3710 does run migrate :up and :down3711 for db_config_name=ci3712 while restrict_gitlab_migration=no_gitlab_schema3713 does run migrate :up and :down3714 while restrict_gitlab_migration=gitlab_schema_gitlab_main3715 does run migrate :up and :down3716 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3717 does run migrate :up and :down3718 does raise exception when accessing feature flags3719 for db_config_name=main3720 while restrict_gitlab_migration=no_gitlab_schema3721 does run migrate :up and :down3722 while restrict_gitlab_migration=gitlab_schema_gitlab_main3723 does run migrate :up and :down3724 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3725 does run migrate :up and :down3726 for db_config_name=ci3727 while restrict_gitlab_migration=no_gitlab_schema3728 does run migrate :up and :down3729 while restrict_gitlab_migration=gitlab_schema_gitlab_main3730 does run migrate :up and :down3731 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3732 does run migrate :up and :down3733 does raise exception about cross schema access when suppressing restriction to ensure3734 for db_config_name=main3735 while restrict_gitlab_migration=no_gitlab_schema3736 does run migrate :up and :down3737 while restrict_gitlab_migration=gitlab_schema_gitlab_main3738 does run migrate :up and :down3739 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3740 does run migrate :up and :down3741 for db_config_name=ci3742 while restrict_gitlab_migration=no_gitlab_schema3743 does run migrate :up and :down3744 while restrict_gitlab_migration=gitlab_schema_gitlab_main3745 does run migrate :up and :down3746 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3747 does run migrate :up and :down3748CounterAttribute3749 behaves like CounterAttribute3750 defines a method to store counters3751 build_artifacts_size3752 #increment_counter3753 when attribute is a counter attribute3754 amount: 103755 increments the counter in Redis and logs it3756 does not increment the counter for the record3757 schedules a worker to flush counter increments asynchronously3758 amount: -33759 increments the counter in Redis and logs it3760 does not increment the counter for the record3761 schedules a worker to flush counter increments asynchronously3762 #increment_amount3763 increases the egress in cache3764 #current_counter3765 increases the amount in cache3766 when increment amount is 03767 does nothing3768 #bulk_increment_counter3769 when attribute is a counter attribute3770 increments the counter in Redis and logs each increment3771 does not increment the counter for the record3772 schedules a worker to flush counter increments asynchronously3773 when feature flag split_log_bulk_increment_counter is disabled3774 logs a single total increment3775 commit_count3776 #increment_counter3777 when attribute is a counter attribute3778 amount: 103779 increments the counter in Redis and logs it3780 does not increment the counter for the record3781 schedules a worker to flush counter increments asynchronously3782 amount: -33783 increments the counter in Redis and logs it3784 does not increment the counter for the record3785 schedules a worker to flush counter increments asynchronously3786 #increment_amount3787 increases the egress in cache3788 #current_counter3789 increases the amount in cache3790 when increment amount is 03791 does nothing3792 #bulk_increment_counter3793 when attribute is a counter attribute3794 increments the counter in Redis and logs each increment3795 does not increment the counter for the record3796 schedules a worker to flush counter increments asynchronously3797 when feature flag split_log_bulk_increment_counter is disabled3798 logs a single total increment3799 packages_size3800 #increment_counter3801 when attribute is a counter attribute3802 amount: 103803 increments the counter in Redis and logs it3804 does not increment the counter for the record3805 schedules a worker to flush counter increments asynchronously3806 amount: -33807 increments the counter in Redis and logs it3808 does not increment the counter for the record3809 schedules a worker to flush counter increments asynchronously3810 #increment_amount3811 increases the egress in cache3812 #current_counter3813 increases the amount in cache3814 when increment amount is 03815 does nothing3816 #bulk_increment_counter3817 when attribute is a counter attribute3818 increments the counter in Redis and logs each increment3819 does not increment the counter for the record3820 schedules a worker to flush counter increments asynchronously3821 when feature flag split_log_bulk_increment_counter is disabled3822 logs a single total increment3823 #update_counters_with_lease3824 updates counters of the record3825 behaves like obtaining lease to update database3826 when it is unable to obtain lock3827 logs a warning3828 when feature flag counter_attribute_db_lease_for_update is disabled3829 does not attempt to get a lock3830 when the execution raises error3831 reraises error3832 #counter_attribute_enabled?3833 is true when counter attribute is defined3834 is false when counter attribute is not defined3835 with a conditional counter attribute3836 where the condition evaluates to true3837 is expected to eq true3838 where the condition evaluates to false3839 is expected to eq false3840 #initiate_refresh!3841 when counter attribute is enabled3842 initiates refresh on the BufferedCounter3843 when counter attribute is not enabled3844 raises error3845 #finalize_refresh3846 when counter attribute is enabled3847 initiates refresh on the BufferedCounter3848 when counter attribute is not enabled3849 raises error3850 #counter3851 returns the counter for the respective attribute3852 returns the appropriate counter for the attribute3853 raises error for unknown attribute3854 with a conditional counter attribute3855 enabled: true, expected_counter_class: Gitlab::Counters::BufferedCounter3856 returns the appropriate counter based on the condition3857 enabled: false, expected_counter_class: Gitlab::Counters::LegacyCounter3858 returns the appropriate counter based on the condition3859Boards::Lists::UpdateService3860 #execute3861 when position parameter is present3862 for projects3863 behaves like moving list3864 when user can admin list3865 when the new position is valid3866 calls Lists::MoveService to update list position3867 returns a success response3868 when the new position is invalid3869 returns error response3870 when user cannot admin list3871 does not call Lists::MoveService to update list position3872 returns an error response3873 for groups3874 behaves like moving list3875 when user can admin list3876 when the new position is valid3877 calls Lists::MoveService to update list position3878 returns a success response3879 when the new position is invalid3880 returns error response3881 when user cannot admin list3882 does not call Lists::MoveService to update list position3883 returns an error response3884 when collapsed parameter is present3885 for projects3886 behaves like updating list preferences3887 when user can read list3888 updates list preference for user3889 when user cannot read list3890 does not update list preference for user3891 for groups3892 behaves like updating list preferences3893 when user can read list3894 updates list preference for user3895 when user cannot read list3896 does not update list preference for user3897 when position and collapsed are both present3898 for projects3899 behaves like moving list3900 when user can admin list3901 when the new position is valid3902 calls Lists::MoveService to update list position3903 returns a success response3904 when the new position is invalid3905 returns error response3906 when user cannot admin list3907 does not call Lists::MoveService to update list position3908 returns an error response3909 behaves like updating list preferences3910 when user can read list3911 updates list preference for user3912 when user cannot read list3913 does not update list preference for user3914 for groups3915 behaves like moving list3916 when user can admin list3917 when the new position is valid3918 calls Lists::MoveService to update list position3919 returns a success response3920 when the new position is invalid3921 returns error response3922 when user cannot admin list3923 does not call Lists::MoveService to update list position3924 returns an error response3925 behaves like updating list preferences3926 when user can read list3927 updates list preference for user3928 when user cannot read list3929 does not update list preference for user3930gitlab:db:validate_config3931 when validating config3932 when only main: is specified3933 behaves like validates successfully3934 by default3935 for production3936 always re-establishes ActiveRecord::Base connection to main config3937 if GITLAB_VALIDATE_DATABASE_CONFIG is set3938 when finding the initializer fails3939 raised_error: ActiveRecord::NoDatabaseError3940 does not raise an error for ActiveRecord::NoDatabaseError3941 raised_error: ActiveRecord::ConnectionNotEstablished3942WARNING: Could not establish database connection for main: ActiveRecord::ConnectionNotEstablished3943 does not raise an error for ActiveRecord::ConnectionNotEstablished3944 raised_error: PG::ConnectionBad3945WARNING: Could not establish database connection for main: PG::ConnectionBad3946 does not raise an error for PG::ConnectionBad3947 when config is pointing to incorrect server3948 behaves like validates successfully3949WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3950 Is the server running on that host and accepting TCP/IP connections?3951WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3952 Is the server running on that host and accepting TCP/IP connections?3953 by default3954WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3955 Is the server running on that host and accepting TCP/IP connections?3956WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3957 Is the server running on that host and accepting TCP/IP connections?3958 for production3959WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3960 Is the server running on that host and accepting TCP/IP connections?3961WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3962 Is the server running on that host and accepting TCP/IP connections?3963 always re-establishes ActiveRecord::Base connection to main config3964WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3965 Is the server running on that host and accepting TCP/IP connections?3966WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3967 Is the server running on that host and accepting TCP/IP connections?3968 if GITLAB_VALIDATE_DATABASE_CONFIG is set3969 when finding the initializer fails3970 raised_error: ActiveRecord::NoDatabaseError3971WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3972 Is the server running on that host and accepting TCP/IP connections?3973WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3974 Is the server running on that host and accepting TCP/IP connections?3975 does not raise an error for ActiveRecord::NoDatabaseError3976 raised_error: ActiveRecord::ConnectionNotEstablished3977WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3978 Is the server running on that host and accepting TCP/IP connections?3979WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3980 Is the server running on that host and accepting TCP/IP connections?3981 does not raise an error for ActiveRecord::ConnectionNotEstablished3982 raised_error: PG::ConnectionBad3983WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3984 Is the server running on that host and accepting TCP/IP connections?3985WARNING: Could not establish database connection for main: connection to server at "172.25.0.2", port 11235 failed: Connection refused3986 Is the server running on that host and accepting TCP/IP connections?3987 does not raise an error for PG::ConnectionBad3988 when config is pointing to non-existent database3989 behaves like validates successfully3990 by default3991 for production3992 always re-establishes ActiveRecord::Base connection to main config3993 if GITLAB_VALIDATE_DATABASE_CONFIG is set3994 when finding the initializer fails3995 raised_error: ActiveRecord::NoDatabaseError3996 does not raise an error for ActiveRecord::NoDatabaseError3997 raised_error: ActiveRecord::ConnectionNotEstablished3998 does not raise an error for ActiveRecord::ConnectionNotEstablished3999 raised_error: PG::ConnectionBad4000 does not raise an error for PG::ConnectionBad4001 when main: uses database_tasks=false4002 behaves like raises an error4003WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4004 Is the server running locally and accepting connections on that socket?4005WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4006 Is the server running locally and accepting connections on that socket?4007 by default4008WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4009 Is the server running locally and accepting connections on that socket?4010WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4011 Is the server running locally and accepting connections on that socket?4012 for production4013WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4014 Is the server running locally and accepting connections on that socket?4015WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4016 Is the server running locally and accepting connections on that socket?4017 always re-establishes ActiveRecord::Base connection to main config4018WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4019 Is the server running locally and accepting connections on that socket?4020WARNING: Could not establish database connection for main: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory4021 Is the server running locally and accepting connections on that socket?4022 if GITLAB_VALIDATE_DATABASE_CONFIG=14023 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04024 when many configurations share the same database4025 when no database_tasks is specified, assumes true4026 behaves like raises an error4027 by default4028 for production4029 always re-establishes ActiveRecord::Base connection to main config4030 if GITLAB_VALIDATE_DATABASE_CONFIG=14031 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04032 when database_tasks is specified4033 behaves like raises an error4034 by default4035 for production4036 always re-establishes ActiveRecord::Base connection to main config4037 if GITLAB_VALIDATE_DATABASE_CONFIG=14038 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04039 when there's no main: but something different, as currently we only can share with main:4040 behaves like raises an error4041 by default4042 for production4043 always re-establishes ActiveRecord::Base connection to main config4044 if GITLAB_VALIDATE_DATABASE_CONFIG=14045 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04046 when ci: uses different database4047 and does not specify database_tasks which indicates using dedicated database4048 behaves like validates successfully4049 by default4050 for production4051 always re-establishes ActiveRecord::Base connection to main config4052 if GITLAB_VALIDATE_DATABASE_CONFIG is set4053 when finding the initializer fails4054 raised_error: ActiveRecord::NoDatabaseError4055 does not raise an error for ActiveRecord::NoDatabaseError4056 raised_error: ActiveRecord::ConnectionNotEstablished4057WARNING: Could not establish database connection for main: ActiveRecord::ConnectionNotEstablished4058WARNING: Could not establish database connection for ci: ActiveRecord::ConnectionNotEstablished4059 does not raise an error for ActiveRecord::ConnectionNotEstablished4060 raised_error: PG::ConnectionBad4061WARNING: Could not establish database connection for main: PG::ConnectionBad4062WARNING: Could not establish database connection for ci: PG::ConnectionBad4063 does not raise an error for PG::ConnectionBad4064 and does specify database_tasks=false which indicates sharing with main:4065 behaves like raises an error4066 by default4067 for production4068 always re-establishes ActiveRecord::Base connection to main config4069 if GITLAB_VALIDATE_DATABASE_CONFIG=14070 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04071 one of the databases is in read-only mode4072 behaves like validates successfully4073WARNING: Could not write to the database main: cannot execute UPSERT in a read-only transaction4074 by default4075WARNING: Could not write to the database main: cannot execute UPSERT in a read-only transaction4076 for production4077WARNING: Could not write to the database main: cannot execute UPSERT in a read-only transaction4078 always re-establishes ActiveRecord::Base connection to main config4079WARNING: Could not write to the database main: cannot execute UPSERT in a read-only transaction4080 if GITLAB_VALIDATE_DATABASE_CONFIG is set4081 when finding the initializer fails4082 raised_error: ActiveRecord::NoDatabaseError4083WARNING: Could not write to the database main: cannot execute UPSERT in a read-only transaction4084 does not raise an error for ActiveRecord::NoDatabaseError4085 raised_error: ActiveRecord::ConnectionNotEstablished4086WARNING: Could not write to the database main: cannot execute UPSERT in a read-only transaction4087WARNING: Could not establish database connection for main: ActiveRecord::ConnectionNotEstablished4088 does not raise an error for ActiveRecord::ConnectionNotEstablished4089 raised_error: PG::ConnectionBad4090WARNING: Could not write to the database main: cannot execute UPSERT in a read-only transaction4091WARNING: Could not establish database connection for main: PG::ConnectionBad4092 does not raise an error for PG::ConnectionBad4093 when running db:migrate4094 does run gitlab:db:validate_config before4095 when running db:schema:load4096 does run gitlab:db:validate_config before4097 when running db:schema:dump4098 does run gitlab:db:validate_config before4099Gitlab::Database::SchemaValidation::Adapters::ColumnStructureSqlAdapter4100 # order random4101 when the data type is not mapped4102 #data_type4103 is expected to raise Gitlab::Database::SchemaValidation::Adapters::UndefinedPGType4104 column_name: "integer_column", data_type: "integer", default_value: nil, nullable: nil4105 #name4106 is expected to eq "integer_column"4107 #table_name4108 is expected to eq "my_table"4109 #data_type4110 is expected to eq "integer"4111 #nullable4112 is expected to eq nil4113 #default4114 is expected to eq nil4115 column_name: "varying_with_limit_and_default_column", data_type: "character varying(255)", default_value: "DEFAULT 'DEFAULT'::character varying", nullable: nil4116 #name4117 is expected to eq "varying_with_limit_and_default_column"4118 #table_name4119 is expected to eq "my_table"4120 #data_type4121 is expected to eq "character varying(255)"4122 #nullable4123 is expected to eq nil4124 #default4125 is expected to eq "DEFAULT 'DEFAULT'::character varying"4126 column_name: "jsonb_with_default_column", data_type: "jsonb", default_value: "DEFAULT '[]'::jsonb", nullable: "NOT NULL"4127 #name4128 is expected to eq "jsonb_with_default_column"4129 #table_name4130 is expected to eq "my_table"4131 #data_type4132 is expected to eq "jsonb"4133 #nullable4134 is expected to eq "NOT NULL"4135 #default4136 is expected to eq "DEFAULT '[]'::jsonb"4137 column_name: "smallint_with_default_column", data_type: "smallint", default_value: "DEFAULT 0", nullable: "NOT NULL"4138 #name4139 is expected to eq "smallint_with_default_column"4140 #table_name4141 is expected to eq "my_table"4142 #data_type4143 is expected to eq "smallint"4144 #nullable4145 is expected to eq "NOT NULL"4146 #default4147 is expected to eq "DEFAULT 0"4148 column_name: "integer_with_default_column", data_type: "integer", default_value: "DEFAULT 1", nullable: nil4149 #name4150 is expected to eq "integer_with_default_column"4151 #table_name4152 is expected to eq "my_table"4153 #data_type4154 is expected to eq "integer"4155 #nullable4156 is expected to eq nil4157 #default4158 is expected to eq "DEFAULT 1"4159 column_name: "timestamptz_with_default_column", data_type: "timestamp(6) with time zone", default_value: "DEFAULT now()", nullable: nil4160 #name4161 is expected to eq "timestamptz_with_default_column"4162 #table_name4163 is expected to eq "my_table"4164 #data_type4165 is expected to eq "timestamp(6) with time zone"4166 #nullable4167 is expected to eq nil4168 #default4169 is expected to eq "DEFAULT now()"4170 column_name: "date_with_default_column", data_type: "date", default_value: "DEFAULT 2023-04-05", nullable: nil4171 #name4172 is expected to eq "date_with_default_column"4173 #table_name4174 is expected to eq "my_table"4175 #data_type4176 is expected to eq "date"4177 #nullable4178 is expected to eq nil4179 #default4180 is expected to eq "DEFAULT 2023-04-05"4181 column_name: "numeric_with_default_column", data_type: "numeric", default_value: "DEFAULT 1.0", nullable: "NOT NULL"4182 #name4183 is expected to eq "numeric_with_default_column"4184 #table_name4185 is expected to eq "my_table"4186 #data_type4187 is expected to eq "numeric"4188 #nullable4189 is expected to eq "NOT NULL"4190 #default4191 is expected to eq "DEFAULT 1.0"4192 column_name: "array_with_default_column", data_type: "character varying(255)[]", default_value: "DEFAULT '{one,two}'::character varying[]", nullable: "NOT NULL"4193 #name4194 is expected to eq "array_with_default_column"4195 #table_name4196 is expected to eq "my_table"4197 #data_type4198 is expected to eq "character varying(255)[]"4199 #nullable4200 is expected to eq "NOT NULL"4201 #default4202 is expected to eq "DEFAULT '{one,two}'::character varying[]"4203 column_name: "double_precision_with_default_column", data_type: "double precision", default_value: "DEFAULT 1.0", nullable: nil4204 #name4205 is expected to eq "double_precision_with_default_column"4206 #table_name4207 is expected to eq "my_table"4208 #data_type4209 is expected to eq "double precision"4210 #nullable4211 is expected to eq nil4212 #default4213 is expected to eq "DEFAULT 1.0"4214 column_name: "id", data_type: "bigint", default_value: nil, nullable: "NOT NULL"4215 #name4216 is expected to eq "id"4217 #table_name4218 is expected to eq "my_table"4219 #data_type4220 is expected to eq "bigint"4221 #nullable4222 is expected to eq "NOT NULL"4223 #default4224 is expected to eq nil4225 column_name: "inet_with_default_column", data_type: "inet", default_value: "DEFAULT '0.0.0.0'::inet", nullable: "NOT NULL"4226 #name4227 is expected to eq "inet_with_default_column"4228 #table_name4229 is expected to eq "my_table"4230 #data_type4231 is expected to eq "inet"4232 #nullable4233 is expected to eq "NOT NULL"4234 #default4235 is expected to eq "DEFAULT '0.0.0.0'::inet"4236 column_name: "text_with_default_column", data_type: "text", default_value: "DEFAULT ''::text", nullable: "NOT NULL"4237 #name4238 is expected to eq "text_with_default_column"4239 #table_name4240 is expected to eq "my_table"4241 #data_type4242 is expected to eq "text"4243 #nullable4244 is expected to eq "NOT NULL"4245 #default4246 is expected to eq "DEFAULT ''::text"4247 column_name: "macaddr_with_default_column", data_type: "macaddr", default_value: "DEFAULT '00-00-00-00-00-000'::macaddr", nullable: "NOT NULL"4248 #name4249 is expected to eq "macaddr_with_default_column"4250 #table_name4251 is expected to eq "my_table"4252 #data_type4253 is expected to eq "macaddr"4254 #nullable4255 is expected to eq "NOT NULL"4256 #default4257 is expected to eq "DEFAULT '00-00-00-00-00-000'::macaddr"4258 column_name: "timestamp_with_default_column", data_type: "timestamp(6) without time zone", default_value: "DEFAULT '2022-01-23 00:00:00+00'::timestamp without time zone", nullable: "NOT NULL"4259 #name4260 is expected to eq "timestamp_with_default_column"4261 #table_name4262 is expected to eq "my_table"4263 #data_type4264 is expected to eq "timestamp(6) without time zone"4265 #nullable4266 is expected to eq "NOT NULL"4267 #default4268 is expected to eq "DEFAULT '2022-01-23 00:00:00+00'::timestamp without time zone"4269 column_name: "uuid_with_default_column", data_type: "uuid", default_value: "DEFAULT '00000000-0000-0000-0000-000000000000'::uuid", nullable: "NOT NULL"4270 #name4271 is expected to eq "uuid_with_default_column"4272 #table_name4273 is expected to eq "my_table"4274 #data_type4275 is expected to eq "uuid"4276 #nullable4277 is expected to eq "NOT NULL"4278 #default4279 is expected to eq "DEFAULT '00000000-0000-0000-0000-000000000000'::uuid"4280 column_name: "varying_with_default_column", data_type: "character varying", default_value: "DEFAULT 'DEFAULT'::character varying", nullable: "NOT NULL"4281 #name4282 is expected to eq "varying_with_default_column"4283 #table_name4284 is expected to eq "my_table"4285 #data_type4286 is expected to eq "character varying"4287 #nullable4288 is expected to eq "NOT NULL"4289 #default4290 is expected to eq "DEFAULT 'DEFAULT'::character varying"4291 column_name: "boolean_with_default_colum", data_type: "boolean", default_value: "DEFAULT true", nullable: "NOT NULL"4292 #name4293 is expected to eq "boolean_with_default_colum"4294 #table_name4295 is expected to eq "my_table"4296 #data_type4297 is expected to eq "boolean"4298 #nullable4299 is expected to eq "NOT NULL"4300 #default4301 is expected to eq "DEFAULT true"4302 column_name: "bytea_with_default_column", data_type: "bytea", default_value: "DEFAULT '\\xDEADBEEF'::bytea", nullable: nil4303 #name4304 is expected to eq "bytea_with_default_column"4305 #table_name4306 is expected to eq "my_table"4307 #data_type4308 is expected to eq "bytea"4309 #nullable4310 is expected to eq nil4311 #default4312 is expected to eq "DEFAULT '\\xDEADBEEF'::bytea"4313Ci::BuildDependencies4314 for local dependencies4315 jobs from previous stages4316 when job is in the first stage4317 is expected to be empty4318 when job is in the second stage4319 contains all jobs from the first stage4320 when job is in the last stage4321 contains all jobs from all previous stages4322 when a job is retried4323 contains the retried job instead of the original one4324 when needs refer to jobs from the same stage4325 is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-19 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 20, stage_id: 15, partition_id: 100, tag_list: nil>4326 jobs from specified dependencies4327 when dependencies are defined4328 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-04-19 08:53:29.000000000 +0000", created_at: "2023-... processed: false, scheduling_type: "stage", id: 26, stage_id: 17, partition_id: 100, tag_list: nil> and #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-19 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 25, stage_id: 18, partition_id: 100, tag_list: nil>4329 when needs are defined4330 is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-19 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 28, stage_id: 19, partition_id: 100, tag_list: nil>, #<Ci::Build status: "success", finished_at: "2023-04-19 08:53:29.000000000 +0000", created_at: "2023-... processed: false, scheduling_type: "stage", id: 31, stage_id: 20, partition_id: 100, tag_list: nil>, and #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-19 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 30, stage_id: 21, partition_id: 100, tag_list: nil>4331 when need artifacts are defined4332 is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-19 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 33, stage_id: 22, partition_id: 100, tag_list: nil> and #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-19 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 35, stage_id: 24, partition_id: 100, tag_list: nil>4333 when needs and dependencies are defined4334 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-04-19 08:53:29.000000000 +0000", created_at: "2023-... processed: false, scheduling_type: "stage", id: 41, stage_id: 26, partition_id: 100, tag_list: nil> and #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-19 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 40, stage_id: 27, partition_id: 100, tag_list: nil>4335 when needs and dependencies contradict4336 returns only the intersection4337 when nor dependencies or needs are defined4338 returns the jobs from previous stages4339 for cross_pipeline dependencies4340 when dependency specifications are valid4341 when pipeline exists in the hierarchy4342 when job exists4343 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-04-19 08:53:29.000000000 +0000", created_at: "2023-... processed: false, scheduling_type: "stage", id: 58, stage_id: 34, partition_id: 100, tag_list: nil>4344 is expected to be valid4345 when pipeline and job are specified via variables4346 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-04-19 08:53:29.000000000 +0000", created_at: "2023-... processed: false, scheduling_type: "stage", id: 73, stage_id: 42, partition_id: 100, tag_list: nil>4347 is expected to be valid4348 when same job names exist in other pipelines in the hierarchy4349 returns a limited number of dependencies with the right match4350 when job does not exist4351 is expected to be empty4352 is expected not to be valid4353 when pipeline does not exist4354 is expected to be empty4355 is expected not to be valid4356 when jobs exist in different pipelines in the hierarchy4357 when pipeline and jobs dependencies are mismatched4358 is expected to be empty4359 is expected not to be valid4360 when dependencies contain a valid pair4361 filters out the invalid ones4362 is expected not to be valid4363 when job and pipeline exist outside the hierarchy4364 ignores jobs outside the pipeline hierarchy4365 is expected not to be valid4366 when current pipeline is specified4367 ignores jobs from the current pipeline as simple needs should be used instead4368 is expected not to be valid4369 when artifacts:false4370 is expected to be empty4371 is expected to be valid4372 #all4373 returns the union of all local dependencies and any cross project dependencies4374 #valid?4375 is expected to eq true4376 when a local dependency is invalid4377 is expected to eq false4378projects/issues/show4379 when the issue is closed4380 shows "Closed" if an issue has not been moved or duplicated4381 shows "Closed" if discussion is locked4382 when the issue was moved4383 when user can see the moved issue4384 shows "Closed (moved)" if an issue has been moved and closed4385 shows "Closed (moved)" if an issue has been moved and discussion is locked4386 links "moved" to the new issue the original issue was moved to4387 does not show "closed (moved)" if an issue has been moved and reopened (not closed)4388 when user cannot see moved issue4389 does not show moved issue link4390 when the issue was duplicated4391 when user can see the duplicated issue4392 shows "Closed (duplicated)" if an issue has been duplicated4393 links "duplicated" to the new issue the original issue was duplicated to4394 when user cannot see duplicated issue4395 does not show duplicated issue link4396 when the issue is open4397 shows "Open" if an issue has been moved4398 shows "Open" if discussion is locked4399 when the issue is related to a sentry error4400 renders a stack trace4401 when the issue is not related to a sentry error4402 does not render a stack trace4403AvatarsHelper4404 #project_icon, #group_icon, #topic_icon4405 when providing a project4406 behaves like resource with a default avatar4407 returns a default avatar div4408 behaves like resource with a custom avatar4409 returns a custom avatar image4410 when Gitaly is unavailable4411 handles Gitaly exception gracefully4412 behaves like resource with a default avatar4413 returns a default avatar div4414 when Gitaly request is taking too long4415 handles Gitaly exception gracefully4416 behaves like resource with a default avatar4417 returns a default avatar div4418 when providing a group4419 behaves like resource with a default avatar4420 returns a default avatar div4421 behaves like resource with a custom avatar4422 returns a custom avatar image4423 when providing a topic4424 behaves like resource with a default avatar4425 returns a default avatar div4426 behaves like resource with a custom avatar4427 returns a custom avatar image4428 #avatar_icon_for4429 prefers the user to retrieve the avatar_url4430 falls back to email lookup if no user given4431 #avatar_icon_for_email4432 caches the request4433 behaves like returns avatar for email4434 using an email4435 when there is a matching user4436 returns a relative URL for the avatar4437 when no user exists for the email4438 calls gravatar_icon4439 without an email passed4440 calls gravatar_icon4441 #avatar_icon_for_user4442 with a user object passed4443 returns a relative URL for the avatar4444 when the user is blocked4445 behaves like blocked or unconfirmed user with avatar4446 when the viewer is not an admin4447 returns the default avatar4448 when the viewer is an admin4449 returns the default avatar when the user is not passed4450 returns the user avatar when the user is passed4451 when the user is unconfirmed4452 behaves like blocked or unconfirmed user with avatar4453 when the viewer is not an admin4454 returns the default avatar4455 when the viewer is an admin4456 returns the default avatar when the user is not passed4457 returns the user avatar when the user is passed4458 without a user object passed4459 calls gravatar_icon4460 #gravatar_icon4461 with Gravatar disabled4462 returns a generic avatar4463 with Gravatar enabled4464 with FIPS not enabled4465 returns a generic avatar when email is blank4466 returns a valid Gravatar URL4467 uses HTTPs when configured4468 returns custom gravatar path when gravatar_url is set4469 accepts a custom size argument4470 defaults size to 40@2x when given an invalid size4471 accepts a scaling factor4472 ignores case and surrounding whitespace4473 with FIPS enabled4474 returns a generic avatar4475 #user_avatar4476 links to the user's profile4477 has the user's name as title4478 contains the user's avatar image4479 #user_avatar_without_link4480 displays user avatar4481 with css_class parameter4482 uses provided css_class4483 with size parameter4484 uses provided size4485 with url parameter4486 uses provided url4487 with lazy parameter4488 adds `lazy` class to class list, sets `data-src` with avatar URL and `src` with placeholder image4489 with has_tooltip parameter4490 with has_tooltip set to true4491 adds has-tooltip4492 with has_tooltip set to false4493 does not add has-tooltip or data container4494 with user_name parameter4495 uses user_name and user_email parameter if user is not present4496 with user parameter4497 prefers user parameter4498 with only_path parameter set to false4499 with user parameter4500 will return avatar with a full path4501 with user_name and user_email4502 will return avatar with a full path4503 with unregistered email address4504 will return default alt text for avatar4505 #avatar_without_link4506 with users4507 displays user avatar4508 with groups4509 displays group avatar4510BulkImports::CreateService4511 #execute4512 when gitlab version is 15.5 or higher4513 when a BulkImports::Error is raised while validating the instance version4514 rescues the error and raises a ServiceResponse::Error4515 when direct transfer setting query returns a 4044516 raises a ServiceResponse::Error4517 when required scopes are not present4518 returns ServiceResponse with error if token does not have api scope4519 when token validation succeeds4520 creates bulk import4521 on the same instance4522 tracks the same instance migration4523 projects migration flag4524 when false4525 sets false4526 when true4527 sets true4528 when nil4529 sets true4530 when gitlab version is lower than 15.54531 creates bulk import4532 creates bulk import entities4533 creates bulk import configuration4534 enqueues BulkImportWorker4535 returns success ServiceResponse4536 returns ServiceResponse with error if validation fails4537 on the same instance4538 tracks the same instance migration4539 #user-role4540 defines access_level as not a member4541 when there is a parent_namespace and the user is a member4542 defines access_level from parent namespace membership4543 when there is a destination_namespace but no parent_namespace4544 defines access_level from destination_namespace4545 when there is no destination_namespace or parent_namespace4546 defines access_level as owner4547 #validate_setting_enabled!4548 when the source_type is a group4549 when the source_full_path contains only integer characters4550 makes a graphql request using the group full path and an http request with the correct id4551 when the source_type is a project4552 when the source_full_path contains only integer characters4553 makes a graphql request using the group full path and an http request with the correct id4554 #validate_destination_namespace4555 when the destination_namespace does not exist4556 returns ServiceResponse with an error message4557 when the user does not have permission to create subgroups4558 returns ServiceResponse with an error message4559 when the user does not have permission to create projects4560 returns ServiceResponse with an error message4561 #validate_destination_slug4562 when the destination_slug is invalid4563 returns ServiceResponse with an error message4564 #validate_destination_full_path4565 when the source_type is a group4566 when the provided destination_slug already exists in the destination_namespace4567 returns ServiceResponse with an error message4568 when the destination_slug conflicts with an existing top-level namespace4569 returns ServiceResponse with an error message4570 when the destination_slug does not conflict with an existing top-level namespace4571 returns success ServiceResponse4572 when the source_type is a project4573 when the provided destination_slug already exists in the destination_namespace4574 returns ServiceResponse with an error message4575 when the destination_slug does not conflict with an existing project4576 returns success ServiceResponse4577Packages::Debian::FileMetadatum4578 package_file_trait: :unknown, has_component: false, has_architecture: false, has_fields: false4579 behaves like Test Debian file metadatum4580 relationships4581 is expected to belong to package_file required: false4582 validations4583 #package_file4584 is expected to validate that :package_file cannot be empty/falsy4585 #file_type4586 is expected to validate that :file_type cannot be empty/falsy4587 #component4588 has_component=false4589 #architecture4590 has_architecture=false4591 #fields4592 is expected to validate that :fields is empty/falsy4593 #debian_package_type4594 validates package of type debian4595 scopes4596 .with_file_type4597 returns the matching file metadatum4598 package_file_trait: :source, has_component: true, has_architecture: false, has_fields: false4599 behaves like Test Debian file metadatum4600 relationships4601 is expected to belong to package_file required: false4602 validations4603 #package_file4604 is expected to validate that :package_file cannot be empty/falsy4605 #file_type4606 is expected to validate that :file_type cannot be empty/falsy4607 #component4608 has_component=true4609 #architecture4610 has_architecture=false4611 #fields4612 is expected to validate that :fields is empty/falsy4613 #debian_package_type4614 validates package of type debian4615 scopes4616 .with_file_type4617 returns the matching file metadatum4618 package_file_trait: :dsc, has_component: true, has_architecture: false, has_fields: true4619 behaves like Test Debian file metadatum4620 relationships4621 is expected to belong to package_file required: false4622 validations4623 #package_file4624 is expected to validate that :package_file cannot be empty/falsy4625 #file_type4626 is expected to validate that :file_type cannot be empty/falsy4627 #component4628 has_component=true4629 #architecture4630 has_architecture=false4631 #fields4632 is expected to validate that :fields cannot be empty/falsy4633 is expected to allow :fields to be ‹{a: "b"}›4634 is expected not to allow :fields to be ‹{a: {:b=>"c"}}›4635 #debian_package_type4636 validates package of type debian4637 scopes4638 .with_file_type4639 returns the matching file metadatum4640 package_file_trait: :deb, has_component: true, has_architecture: true, has_fields: true4641 behaves like Test Debian file metadatum4642 relationships4643 is expected to belong to package_file required: false4644 validations4645 #package_file4646 is expected to validate that :package_file cannot be empty/falsy4647 #file_type4648 is expected to validate that :file_type cannot be empty/falsy4649 #component4650 has_component=true4651 #architecture4652 has_architecture=true4653 #fields4654 is expected to validate that :fields cannot be empty/falsy4655 is expected to allow :fields to be ‹{a: "b"}›4656 is expected not to allow :fields to be ‹{a: {:b=>"c"}}›4657 #debian_package_type4658 validates package of type debian4659 scopes4660 .with_file_type4661 returns the matching file metadatum4662 package_file_trait: :udeb, has_component: true, has_architecture: true, has_fields: true4663 behaves like Test Debian file metadatum4664 relationships4665 is expected to belong to package_file required: false4666 validations4667 #package_file4668 is expected to validate that :package_file cannot be empty/falsy4669 #file_type4670 is expected to validate that :file_type cannot be empty/falsy4671 #component4672 has_component=true4673 #architecture4674 has_architecture=true4675 #fields4676 is expected to validate that :fields cannot be empty/falsy4677 is expected to allow :fields to be ‹{a: "b"}›4678 is expected not to allow :fields to be ‹{a: {:b=>"c"}}›4679 #debian_package_type4680 validates package of type debian4681 scopes4682 .with_file_type4683 returns the matching file metadatum4684 package_file_trait: :ddeb, has_component: true, has_architecture: true, has_fields: true4685 behaves like Test Debian file metadatum4686 relationships4687 is expected to belong to package_file required: false4688 validations4689 #package_file4690 is expected to validate that :package_file cannot be empty/falsy4691 #file_type4692 is expected to validate that :file_type cannot be empty/falsy4693 #component4694 has_component=true4695 #architecture4696 has_architecture=true4697 #fields4698 is expected to validate that :fields cannot be empty/falsy4699 is expected to allow :fields to be ‹{a: "b"}›4700 is expected not to allow :fields to be ‹{a: {:b=>"c"}}›4701 #debian_package_type4702 validates package of type debian4703 scopes4704 .with_file_type4705 returns the matching file metadatum4706 package_file_trait: :buildinfo, has_component: true, has_architecture: false, has_fields: true4707 behaves like Test Debian file metadatum4708 relationships4709 is expected to belong to package_file required: false4710 validations4711 #package_file4712 is expected to validate that :package_file cannot be empty/falsy4713 #file_type4714 is expected to validate that :file_type cannot be empty/falsy4715 #component4716 has_component=true4717 #architecture4718 has_architecture=false4719 #fields4720 is expected to validate that :fields cannot be empty/falsy4721 is expected to allow :fields to be ‹{a: "b"}›4722 is expected not to allow :fields to be ‹{a: {:b=>"c"}}›4723 #debian_package_type4724 validates package of type debian4725 scopes4726 .with_file_type4727 returns the matching file metadatum4728 package_file_trait: :changes, has_component: false, has_architecture: false, has_fields: true4729 behaves like Test Debian file metadatum4730 relationships4731 is expected to belong to package_file required: false4732 validations4733 #package_file4734 is expected to validate that :package_file cannot be empty/falsy4735 #file_type4736 is expected to validate that :file_type cannot be empty/falsy4737 #component4738 has_component=false4739 #architecture4740 has_architecture=false4741 #fields4742 is expected to validate that :fields cannot be empty/falsy4743 is expected to allow :fields to be ‹{a: "b"}›4744 is expected not to allow :fields to be ‹{a: {:b=>"c"}}›4745 #debian_package_type4746 validates package of type debian4747 scopes4748 .with_file_type4749 returns the matching file metadatum4750BlobHelper4751 #sanitize_svg_data4752 retains essential elements4753 #edit_blob_button4754 does not render edit button when blob is not text4755 uses the passed blob instead retrieve from repository4756 returns a link with the proper route4757 returns a link with the passed link_opts on the expected route4758 #relative_raw_path4759 pointing from '/file.md' to '/-/raw/main/'4760 pointing from '/test/file.md' to '/-/raw/main/test/'4761 pointing from '/another/test/file.md' to '/-/raw/main/another/test/'4762 viewer related4763 #blob_render_error_reason4764 for error :too_large4765 when the blob size is larger than the absolute size limit4766 returns an error message4767 when the blob size is larger than the size limit4768 returns an error message4769 for error :server_side_but_stored_externally4770 returns an error message4771 #blob_render_error_options4772 for error :collapsed4773 includes a "load it anyway" link4774 for error :too_large4775 does not include a "load it anyway" link4776 includes a "download it" link4777 when the viewer is rich4778 the blob is rendered as text4779 includes a "view the source" link4780 the blob is not rendered as text4781 does not include a "view the source" link4782 when the viewer is not rich4783 does not include a "view the source" link4784 for error :server_side_but_stored_externally4785 does not include a "load it anyway" link4786 does not include a "view the source" link4787 includes a "download it" link4788 #show_suggest_pipeline_creation_celebration?4789 when file is a pipeline config file4790 is true4791 file is invalid format4792 is false4793 does not use the default ci config4794 is false4795 does not have the needed cookie4796 is false4797 blob does not have auxiliary view4798 is false4799 when file is not a pipeline config file4800 is false4801 suggest_pipeline_commit_cookie_name4802 uses project id to make up the cookie name4803 #ide_edit_path4804 returns full IDE path4805 returns full IDE path with second -4806 returns IDE path without relative_url_root4807 escapes special characters4808 does not escape "/" character4809 when user is not logged in4810 returns IDE path inside the project4811 when user cannot push to the project4812 returns IDE path with the user's fork4813 #ide_merge_request_path4814 returns IDE path for the given MR if MR is not merged4815 when the MR comes from a fork4816 returns IDE path for MR in the forked repo with target project included as param4817 when the MR is merged4818 returns default IDE url with master branch4819 includes file path passed4820 when target branch exists4821 returns IDE edit url with the target branch4822 #ide_fork_and_edit_path4823 returns path to fork the repo with a redirect param to the full IDE path4824 does not include notice params with_notice: false4825 when user is not logged in4826 returns nil4827 #fork_and_edit_path4828 returns path to fork the repo with a redirect param to the full edit path4829 when user is not logged in4830 returns nil4831 #editing_ci_config?4832 when path is nil4833 is expected to be falsey4834 when path is not a ci file4835 is expected to be falsey4836 when path ends is gitlab-ci.yml4837 is expected to be truthy4838 when path ends with gitlab-ci.yml4839 is expected to be truthy4840 with custom ci paths4841 is expected to be truthy4842 with custom ci config and path4843 is expected to be truthy4844 #vue_blob_app_data4845 returns data related to blob app4846Mutations::MergeRequests::SetAssignees4847 when the user does not have permissions4848 #resolve4849 behaves like permission level for merge request mutation is correctly verified4850 when the user is not a project member4851 behaves like when the user does not have access to the resource4852 raises an error4853 even if assigned to the merge request4854 does not modify merge request4855 even if reviewer of the merge request4856 raises an error4857 even if author of the merge request4858 raises an error4859 when the user is a project member4860 with guest role4861 behaves like when the user does not have access to the resource4862 raises an error4863 even if assigned to the merge request4864 does not modify merge request4865 even if reviewer of the merge request4866 raises an error4867 even if author of the merge request4868 raises an error4869 with reporter role4870 behaves like when the user does not have access to the resource4871 raises an error4872 even if assigned to the merge request4873 does not modify merge request4874 even if reviewer of the merge request4875 raises an error4876 even if author of the merge request4877 raises an error4878 behaves like an assignable resource4879 #resolve4880 raises an error if the resource is not accessible to the user4881 does not change assignees if the resource is not accessible to the assignees4882 returns an operational error if the resource is not accessible to the assignees4883 when the user can update the resource4884 replaces the assignee4885 returns errors when resource could not be updated4886 when passing an empty assignee list4887 removes all assignees4888 when passing "append" as true4889 is a NO-OP in FOSS4890 when passing "remove" as true4891 removes named assignee4892 does not remove unnamed assignee4893Banzai::Filter::VideoLinkFilter4894 when the element src has a video extension4895 behaves like a video element4896 replaces the image tag with a video tag4897 behaves like a video element4898 replaces the image tag with a video tag4899 behaves like a video element4900 replaces the image tag with a video tag4901 behaves like a video element4902 replaces the image tag with a video tag4903 behaves like a video element4904 replaces the image tag with a video tag4905 behaves like a video element4906 replaces the image tag with a video tag4907 behaves like a video element4908 replaces the image tag with a video tag4909 behaves like a video element4910 replaces the image tag with a video tag4911 behaves like a video element4912 replaces the image tag with a video tag4913 behaves like a video element4914 replaces the image tag with a video tag4915 when the element has height or width specified4916 behaves like a video element4917 replaces the image tag with a video tag4918 behaves like a video element4919 replaces the image tag with a video tag4920 behaves like a video element4921 replaces the image tag with a video tag4922 when the element has no src attribute4923 behaves like an unchanged element4924 leaves the document unchanged4925 when the element src is an image4926 behaves like an unchanged element4927 leaves the document unchanged4928 when the element src has an invalid file extension4929 behaves like an unchanged element4930 leaves the document unchanged4931 when data-canonical-src is empty4932 and src is a video4933 behaves like a video element4934 replaces the image tag with a video tag4935 and src is an image4936 behaves like an unchanged element4937 leaves the document unchanged4938 when data-canonical-src is set4939 uses the correct src4940Projects::UpdatePagesService4941 fails if no artifacts4942 fails for invalid archive4943 when a deploy stage already exists4944 assigns the deploy stage4945 when a deploy stage does not exists4946 assigns the deploy stage4947 for new artifacts4948 for a valid job4949 doesn't delete artifacts after deploying4950 succeeds4951 publishes a PageDeployedEvent event with project id and namespace id4952 creates pages_deployment and saves it in the metadata4953 does not fail if pages_metadata is absent4954 limits pages size4955 limits pages file count4956 fails when uploaded deployment size is wrong4957 when there is an old pages deployment4958 schedules a destruction of older deployments4959 removes older deployments4960 when archive does not have pages directory4961 returns an error4962 when there is a custom root config4963 when the directory specified with `publish` is included in the artifacts4964 creates pages_deployment and saves it in the metadata4965 when the directory specified with `publish` is not included in the artifacts4966 returns an error4967 when there is a folder named `public`, but `publish` specifies a different one4968 returns an error4969 when timeout happens by DNS error4970 raises an error4971 when missing artifacts metadata4972 does not raise an error as failed job4973 with background jobs running4974 succeeds4975 when sha on branch was updated before deployment was uploaded4976 succeeds4977 when old deployment present4978 succeeds4979 when newer deployment present4980 fails with outdated reference message4981 when artifacts archive does not have sha2564982 fails with exception raised4983 maximum pages artifacts size4984 when maximum pages size is set to zero4985 behaves like pages size limit is4986 when size is below the limit4987 updates pages correctly4988 when size is above the limit4989 limits the maximum size of gitlab pages4990 when size is limited on the instance level4991 behaves like pages size limit is4992 when size is below the limit4993 updates pages correctly4994 when size is above the limit4995 limits the maximum size of gitlab pages4996 when retrying the job4997 marks older pages:deploy jobs retried4998ClusterAncestorsFinder#execute4999 for a project5000 returns the project clusters followed by group clusters5001 nested groups5002 returns the project clusters followed by group clusters ordered ascending the hierarchy5003 user cannot read clusters for clusterable5004 returns nothing5005 for a group5006 returns the list of group clusters5007 nested groups5008 returns the list of group clusters ordered ascending the hierarchy5009 for an instance5010 when admin mode is enabled5011 returns the list of instance clusters5012 when admin mode is disabled5013 returns nothing5014AlertManagement::AlertsFinder#execute5015 #execute5016 user is not a developer or above5017 is expected to be empty5018 user is developer5019 domain5020 domain is threat management5021 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1> and #<AlertManagement::Alert id:2 namespace747/project746^alert#2>5022 domain is unknown5023 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1> and #<AlertManagement::Alert id:2 namespace747/project746^alert#2>5024 domain is missing5025 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1> and #<AlertManagement::Alert id:2 namespace747/project746^alert#2>5026 skips domain if iid is given5027 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1>5028 empty params5029 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1> and #<AlertManagement::Alert id:2 namespace747/project746^alert#2>5030 iid given5031 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1>5032 unknown iid5033 is expected to be empty5034 status given5035 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1>5036 with an array of statuses5037 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1>5038 with no alerts of status5039 is expected to be empty5040 with an empty status array5041 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1> and #<AlertManagement::Alert id:2 namespace747/project746^alert#2>5042 with an nil status5043 is expected to contain exactly #<AlertManagement::Alert id:1 namespace747/project746^alert#1> and #<AlertManagement::Alert id:2 namespace747/project746^alert#2>5044 sorting5045 when sorting by created5046 sorts alerts ascending5047 is expected to eq [#<AlertManagement::Alert id:1 namespace747/project746^alert#1>, #<AlertManagement::Alert id:2 namespace747/project746^alert#2>]5048 sorts alerts descending5049 is expected to eq [#<AlertManagement::Alert id:2 namespace747/project746^alert#2>, #<AlertManagement::Alert id:1 namespace747/project746^alert#1>]5050 when sorting by updated5051 sorts alerts ascending5052 is expected to eq [#<AlertManagement::Alert id:1 namespace747/project746^alert#1>, #<AlertManagement::Alert id:2 namespace747/project746^alert#2>]5053 sorts alerts descending5054 is expected to eq [#<AlertManagement::Alert id:2 namespace747/project746^alert#2>, #<AlertManagement::Alert id:1 namespace747/project746^alert#1>]5055 when sorting by start time5056 sorts alerts ascending5057 is expected to eq [#<AlertManagement::Alert id:1 namespace747/project746^alert#1>, #<AlertManagement::Alert id:2 namespace747/project746^alert#2>]5058 sorts alerts descending5059 is expected to eq [#<AlertManagement::Alert id:2 namespace747/project746^alert#2>, #<AlertManagement::Alert id:1 namespace747/project746^alert#1>]5060 when sorting by end time5061 sorts alerts ascending5062 is expected to eq [#<AlertManagement::Alert id:1 namespace747/project746^alert#1>, #<AlertManagement::Alert id:2 namespace747/project746^alert#2>]5063 sorts alerts descending5064 is expected to eq [#<AlertManagement::Alert id:2 namespace747/project746^alert#2>, #<AlertManagement::Alert id:1 namespace747/project746^alert#1>]5065 when sorting by events count5066 sorts alerts ascending5067 is expected to eq [#<AlertManagement::Alert id:2 namespace747/project746^alert#2>, #<AlertManagement::Alert id:1 namesp...:6 namespace747/project746^alert#4>, #<AlertManagement::Alert id:5 namespace747/project746^alert#3>]5068 sorts alerts descending5069 is expected to eq [#<AlertManagement::Alert id:5 namespace747/project746^alert#3>, #<AlertManagement::Alert id:6 namesp...:1 namespace747/project746^alert#1>, #<AlertManagement::Alert id:2 namespace747/project746^alert#2>]5070 when sorting by severity5071 with ascending sort order5072 sorts alerts by severity from less critical to more critical5073 with descending sort order5074 sorts alerts by severity from more critical to less critical5075 when sorting by status5076 with ascending sort order5077 sorts by status: Ignored > Resolved > Acknowledged > Triggered5078 with descending sort order5079 sorts by status: Triggered > Acknowledged > Resolved > Ignored5080 search query given5081 searching title5082 is expected to contain exactly #<AlertManagement::Alert id:17 namespace747/project746^alert#3>5083 searching description5084 is expected to contain exactly #<AlertManagement::Alert id:17 namespace747/project746^alert#3>5085 searching service5086 is expected to contain exactly #<AlertManagement::Alert id:17 namespace747/project746^alert#3>5087 searching monitoring tool5088 is expected to contain exactly #<AlertManagement::Alert id:17 namespace747/project746^alert#3>5089 searching something else5090 is expected to be empty5091 assignee username given5092 with valid assignee_username5093 is expected to contain exactly #<AlertManagement::Alert id:18 namespace747/project746^alert#3>5094 with invalid assignee_username5095 is expected to be empty5096 .counts_by_status5097 is expected to match {:resolved=>1, :ignored=>1}5098 when filtering params are included5099 is expected to match {:resolved=>1}5100DiffDiscussion5101 #reply_attributes5102 includes position and original_position5103 #merge_request_version_params5104 when the discussion is active5105 returns an empty hash, which will end up showing the latest version5106 when the discussion is on an older merge request version5107 when commit_id is not present5108 returns the diff ID for the version to show5109 when commit_id is present5110 includes the commit_id in the result5111 when the discussion is on a comparison between merge request versions5112 when commit_id is not present5113 returns the diff ID and start sha of the versions to compare5114 when commit_id is present5115 includes the commit_id in the result5116 when the discussion does not have a merge request version5117 when commit_id is not present5118 returns empty hash5119 when commit_id is present5120 returns the commit_id5121 #cache_key5122 returns the cache key with the position sha5123 when first note of discussion has diff_note_position5124 includes sha of diff_note_positions position5125ProjectNoteEntity5126 exposes project-specific elements5127 behaves like note entity5128 basic note5129 exposes correct elements5130 does not expose elements for specific notes cases5131 exposes author correctly5132 does not expose web_url for author5133 exposes permission fields on current_user5134 exposes the report_abuse_path5135 :can_resolve_discussion5136 discussion is resolvable5137 user can resolve5138 is true5139 user cannot resolve5140 is false5141 discussion is not resolvable5142 is false5143 :outdated_line_change_path5144 when note shows outdated changes5145 returns correct outdated_line_change_namespace_project_note_path5146 when note does not show outdated changes5147 does not expose outdated_line_change_path5148 when note was edited5149 exposes last_edited_at and last_edited_by elements5150 when note is a system note5151 exposes system_note_icon_name element5152 when note is part of resolvable discussion5153 exposes paths to resolve note5154Projects::AfterImportWorker5155 #execute5156 performs housekeeping5157 with some refs in refs/pull/**/*5158 removes refs/pull/**/*5159 with a ref in refs/heads/tmp5160 does not remove refs/heads/tmp5161 with a ref in refs/tags/tmp5162 does not remove refs/tags/tmp5163 with a ref in refs/replace/tmp5164 does not remove refs/replace/tmp5165 with a ref in refs/merge-requests/tmp5166 does not remove refs/merge-requests/tmp5167 with a ref in refs/environments/tmp5168 does not remove refs/environments/tmp5169 with a ref in refs/keep-around/tmp5170 does not remove refs/keep-around/tmp5171 with a ref in refs/pipelines/tmp5172 does not remove refs/pipelines/tmp5173 when after import action throw non-retriable exception5174 throws after import error5175 when housekeeping service lease is taken5176 logs the error message5177 when after import action throw retriable exception one time5178 removes refs/pull/**/*5179 records the failures in the database5180Gitlab::Middleware::ReadOnly5181 when database is read-only5182 behaves like write access for a read-only GitLab instance5183 normal requests to a read-only GitLab instance5184 expects PATCH requests to be disallowed5185 expects PUT requests to be disallowed5186 expects POST requests to be disallowed5187 expects a internal POST request to be allowed after a disallowed request5188 expects DELETE requests to be disallowed5189 expects POST of new file that looks like an LFS batch url to be disallowed5190 returns last_vistited_url for disallowed request5191 allowlisted requests5192 expects a POST internal request to be allowed5193 expects a POST internal request with trailing slash to be allowed5194 expects a graphql request to be allowed5195 expects a graphql request with trailing slash to be allowed5196 relative URL is configured5197 expects a graphql request to be allowed5198 expects a graphql request with trailing slash to be allowed5199 sidekiq admin requests5200 mounted_at: ""5201 allows requests5202 allows requests with trailing slash5203 mounted_at: "/"5204 allows requests5205 allows requests with trailing slash5206 mounted_at: "/gitlab"5207 allows requests5208 allows requests with trailing slash5209 mounted_at: "/gitlab/"5210 allows requests5211 allows requests with trailing slash5212 mounted_at: "/gitlab/gitlab"5213 allows requests5214 allows requests with trailing slash5215 mounted_at: "/gitlab/gitlab/"5216 allows requests5217 allows requests with trailing slash5218 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"5219 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed5220 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL with trailing slash to be allowed5221 description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack"5222 expects a POST description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack" URL to be allowed5223 expects a POST description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack" URL with trailing slash to be allowed5224 description: "user sign out", path: "/users/sign_out"5225 expects a POST description: "user sign out", path: "/users/sign_out" URL to be allowed5226 expects a POST description: "user sign out", path: "/users/sign_out" URL with trailing slash to be allowed5227 description: "admin session", path: "/admin/session"5228 expects a POST description: "admin session", path: "/admin/session" URL to be allowed5229 expects a POST description: "admin session", path: "/admin/session" URL with trailing slash to be allowed5230 description: "admin session destroy", path: "/admin/session/destroy"5231 expects a POST description: "admin session destroy", path: "/admin/session/destroy" URL to be allowed5232 expects a POST description: "admin session destroy", path: "/admin/session/destroy" URL with trailing slash to be allowed5233 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"5234 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL not to be allowed5235 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with trailing slash not to be allowed5236 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"5237 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL not to be allowed5238 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with trailing slash not to be allowed5239 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"5240 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL not to be allowed5241 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with trailing slash not to be allowed5242 JSON requests to a read-only GitLab instance5243 expects PATCH requests to be disallowed5244 expects PUT requests to be disallowed5245 expects POST requests to be disallowed5246 expects DELETE requests to be disallowed5247Gitlab::Git::ObjectPool5248 #storage5249 equals the pool repository's shard name5250 #create5251 when the pool doesn't exist yet5252 creates the pool5253 when the pool already exists5254 raises an FailedPrecondition5255 #exists?5256 when the object pool doesn't exist5257 returns false5258 when the object pool exists5259 returns true5260 #link5261 when linked for the first time5262 sets a remote5263 when the remote is already set5264 doesn't raise an error5265 #fetch5266 when the object pool repository exists5267 without changes5268 does not raise an error5269 with new commit in source repository5270 fetches objects from the source repository5271Projects::ProtectDefaultBranchService5272 #execute5273 without a default branch5274 does nothing5275 with a default branch5276 protects the default branch5277 #protect_default_branch5278 when branch protection is needed5279 changes the HEAD of the project5280 protects the default branch5281 when branch protection is not needed5282 changes the HEAD of the project5283 does not protect the default branch5284 when protected branch does not exist5285 changes the HEAD of the project5286 protects the default branch5287 when protected branch already exists5288 changes the HEAD of the project5289 does not protect the default branch5290 #create_protected_branch5291 creates the protected branch5292 #protect_branch?5293 when default branch protection is disabled5294 returns false5295 when default branch protection is enabled5296 returns false if the branch is already protected5297 returns true if the branch is not yet protected5298 #protected_branch_exists?5299 when feature flag `group_protected_branches` disabled5300 return false5301 when feature flag `group_protected_branches` enabled5302 return true5303 #default_branch5304 returns the default branch of the project5305 #push_access_level5306 when developers can push5307 returns the DEVELOPER access level5308 when developers can not push5309 returns the MAINTAINER access level5310 #merge_access_level5311 when developers can merge5312 returns the DEVELOPER access level5313 when developers can not merge5314 returns the MAINTAINER access level5315Gitlab::Suggestions::SuggestionSet5316 merge_request: merge_request_same_project5317 #source_project5318 returns the source project associated with the suggestions5319 #target_project5320 returns the target project associated with the suggestions5321 #branch5322 returns the branch associated with the suggestions5323 #valid?5324 returns true if no errors are found5325 returns false if an error is found5326 #error_message5327 returns an error message if an error is found5328 returns nil if no errors are found5329 #actions5330 returns an array of hashes with proper key/value pairs5331 #file_paths5332 returns an array of unique file paths associated with the suggestions5333 merge_request: merge_request_from_fork5334 #source_project5335 returns the source project associated with the suggestions5336 #target_project5337 returns the target project associated with the suggestions5338 #branch5339 returns the branch associated with the suggestions5340 #valid?5341 returns true if no errors are found5342 returns false if an error is found5343 #error_message5344 returns an error message if an error is found5345 returns nil if no errors are found5346 #actions5347 returns an array of hashes with proper key/value pairs5348 #file_paths5349 returns an array of unique file paths associated with the suggestions5350IconsHelper5351 sprite_icon_path5352 returns relative path5353 only calls image_path once when called multiple times5354 when an asset_host is set in the config it will return an absolute local URL5355 returns an absolute URL on that asset host5356 sprite_icon5357 returns svg icon html with DEFAULT_ICON_SIZE5358 returns svg icon html without size class5359 returns svg icon html + size classes5360 returns svg icon html + size classes + additional class5361 non existing icon5362 raises in development mode5363 raises in test mode5364 does not raise in production mode5365 audit icon5366 returns right icon name for standard auth5367 returns right icon name for two-factor auth5368 returns right icon name for google_oauth2 auth5369 file_type_icon_class5370 returns folder-o class5371 returns share class5372 returns document class with .pdf5373 returns doc-image class with .jpg5374 returns doc-image class with .JPG5375 returns doc-image class with .png5376 returns doc-image class with .apng5377 returns doc-image class with .webp5378 returns doc-compressed class with .tar5379 returns doc-compressed class with .TAR5380 returns doc-compressed class with .tar.gz5381 returns volume-up class with .mp35382 returns volume-up class with .MP35383 returns volume-up class with .m4a5384 returns volume-up class with .wav5385 returns live-preview class with .avi5386 returns live-preview class with .AVI5387 returns live-preview class with .mp45388 returns doc-text class with .odt5389 returns doc-text class with .doc5390 returns doc-text class with .DOC5391 returns doc-text class with .docx5392 returns document class with .xls5393 returns document class with .XLS5394 returns document class with .xlsx5395 returns doc-chart class with .odp5396 returns doc-chart class with .ppt5397 returns doc-chart class with .PPT5398 returns doc-chart class with .pptx5399 returns doc-text class with .unknow5400 returns doc-text class with no extension5401 #external_snippet_icon5402 returns external snippet icon5403 gl_loading_icon5404 returns the default spinner markup5405 when css_class is provided5406 appends css_class to container element5407 when size is provided5408 sets the size class5409 when color is provided5410 sets the color class5411 when inline is true5412 creates an inline container5413Releases::DestroyService5414 #execute5415 when there is a release5416 removes the release5417 returns the destroyed object5418 when tag does not exist in the repository5419 removes the orphaned release5420 when release is not found5421 returns an error5422 when user does not have permission5423 returns an error5424 when a milestone is tied to the release5425 destroys the release but leave the milestone intact5426Gitlab::Ci::Pipeline::Chain::EnsureEnvironments5427 #perform!5428 when a pipeline contains a deployment job5429 and the environment does not exist5430 creates the environment specified by the job5431 and the pipeline is for a merge request5432 associates the environment with the merge request5433 when an environment has already been existed5434 ensures environment existence for the job5435 and the pipeline is for a merge request5436 does not associate the environment with the merge request5437 when an environment name contains an invalid character5438 sets the failure status5439 when a pipeline contains a teardown job5440 ensures environment existence for the job5441 when a pipeline does not contain a deployment job5442 does not create any environments5443Issues::ReopenService5444 #execute5445 when user is not authorized to reopen issue5446 does not reopen the issue5447 when skip_authorization is true5448 does close the issue even if user is not authorized5449 when user is authorized to reopen issue5450 invalidates counter cache for assignees5451 refreshes the number of opened issues5452 deletes milestone issue counters cache5453 does not create timeline event5454 issue is incident type5455 creates a timeline event5456 behaves like an incident management tracked event5457 .track_event5458 tracks the event using redis5459 behaves like Snowplow event tracking with RedisHLL context5460 behaves like Snowplow event tracking5461 is emitted5462 when issue is not confidential5463 executes issue hooks5464 when issue is confidential5465 executes confidential issue hooks5466ContextCommitsFinder5467 #execute5468 filters commits by valid sha/commit message5469 returns nothing when searched by invalid sha/commit message5470 returns commits based in author filter5471 returns commits based in committed before and after filter5472 returns commits from target branch if no filter is applied5473ProjectFeatureUsage5474 .jira_dvcs_integrations_enabled_count5475 returns count of projects with Jira DVCS Cloud enabled5476 returns count of projects with Jira DVCS Server enabled5477 #log_jira_dvcs_integration_usage5478 when the feature usage has not been created yet5479 logs Jira DVCS Cloud last sync5480 logs Jira DVCS Server last sync5481 when the feature usage already exists5482 cloud: true, timestamp_field: :jira_dvcs_cloud_last_sync_at5483 when Jira DVCS Cloud last sync has not been logged5484 logs Jira DVCS Cloud last sync5485 when Jira DVCS Cloud last sync was logged today5486 does not log Jira DVCS Cloud last sync5487 when Jira DVCS Cloud last sync was logged yesterday5488 logs Jira DVCS Cloud last sync5489 cloud: false, timestamp_field: :jira_dvcs_server_last_sync_at5490 when Jira DVCS Cloud last sync has not been logged5491 logs Jira DVCS Cloud last sync5492 when Jira DVCS Cloud last sync was logged today5493 does not log Jira DVCS Cloud last sync5494 when Jira DVCS Cloud last sync was logged yesterday5495 logs Jira DVCS Cloud last sync5496 when log_jira_dvcs_integration_usage is called simultaneously for the same project5497 logs the latest call5498 ProjectFeatureUsage with DB Load Balancing5499 #log_jira_dvcs_integration_usage5500 database load balancing is configured5501 logs Jira DVCS Cloud last sync5502 does not stick to primary5503 database load balancing is not cofigured5504 logs Jira DVCS Cloud last sync5505notify/pipeline_success_email.text.erb5506 behaves like pipeline status changes email5507 when the pipeline contains a failed job5508 behaves like renders the pipeline status changes email correctly5509 pipeline with user5510 renders the email correctly5511 behaves like correct pipeline information for pipelines for merge requests5512 when pipeline for merge request5513 renders a source ref of the pipeline5514 pipeline without user5515 renders the email correctly5516 when the latest failed job is a bridge job5517 behaves like renders the pipeline status changes email correctly5518 pipeline with user5519 renders the email correctly5520 behaves like correct pipeline information for pipelines for merge requests5521 when pipeline for merge request5522 renders a source ref of the pipeline5523 pipeline without user5524 renders the email correctly5525Namespaces::PackageSettings::UpdateService5526 #execute5527 with existing namespace package setting5528 user_role: :maintainer, shared_examples_name: "updating the namespace package setting"5529 behaves like updating the namespace package setting5530 behaves like updating the namespace package setting attributes5531 updates the namespace package setting5532 behaves like not creating the namespace package setting5533 doesn't create the namespace package setting5534 behaves like returning a success5535 returns a success5536 with invalid params5537 doesn't update the maven_duplicates_allowed5538 behaves like not creating the namespace package setting5539 doesn't create the namespace package setting5540 behaves like returning an error5541 returns an error5542 user_role: :developer, shared_examples_name: "denying access to namespace package setting"5543 behaves like denying access to namespace package setting5544 with existing namespace package setting5545 behaves like not creating the namespace package setting5546 doesn't create the namespace package setting5547 behaves like returning an error5548 returns an error5549 user_role: :reporter, shared_examples_name: "denying access to namespace package setting"5550 behaves like denying access to namespace package setting5551 with existing namespace package setting5552 behaves like not creating the namespace package setting5553 doesn't create the namespace package setting5554 behaves like returning an error5555 returns an error5556 user_role: :guest, shared_examples_name: "denying access to namespace package setting"5557 behaves like denying access to namespace package setting5558 with existing namespace package setting5559 behaves like not creating the namespace package setting5560 doesn't create the namespace package setting5561 behaves like returning an error5562 returns an error5563 user_role: :anonymous, shared_examples_name: "denying access to namespace package setting"5564 behaves like denying access to namespace package setting5565 with existing namespace package setting5566 behaves like not creating the namespace package setting5567 doesn't create the namespace package setting5568 behaves like returning an error5569 returns an error5570 without existing namespace package setting5571 user_role: :maintainer, shared_examples_name: "creating the namespace package setting"5572 behaves like creating the namespace package setting5573 creates a new package setting5574 saves the settings5575 behaves like returning a success5576 returns a success5577 user_role: :developer, shared_examples_name: "denying access to namespace package setting"5578 behaves like denying access to namespace package setting5579 with existing namespace package setting5580 behaves like not creating the namespace package setting5581 doesn't create the namespace package setting5582 behaves like returning an error5583 returns an error5584 user_role: :reporter, shared_examples_name: "denying access to namespace package setting"5585 behaves like denying access to namespace package setting5586 with existing namespace package setting5587 behaves like not creating the namespace package setting5588 doesn't create the namespace package setting5589 behaves like returning an error5590 returns an error5591 user_role: :guest, shared_examples_name: "denying access to namespace package setting"5592 behaves like denying access to namespace package setting5593 with existing namespace package setting5594 behaves like not creating the namespace package setting5595 doesn't create the namespace package setting5596 behaves like returning an error5597 returns an error5598 user_role: :anonymous, shared_examples_name: "denying access to namespace package setting"5599 behaves like denying access to namespace package setting5600 with existing namespace package setting5601 behaves like not creating the namespace package setting5602 doesn't create the namespace package setting5603 behaves like returning an error5604 returns an error5605Banzai::ReferenceParser::IssueParser5606 #nodes_visible_to_user5607 when the link has a data-issue attribute5608 returns the nodes when the user can read the issue5609 returns an empty Array when the user can not read the issue5610 behaves like referenced feature visibility5611 when feature is disabled5612 does not create reference5613 when feature is enabled only for team members5614 does not create reference for non member5615 creates reference for member5616 when feature is enabled5617 creates reference5618 when the user cannot read cross project5619 returns the nodes when the user can read the issue5620 returns an empty Array when the user can not read the issue5621 when the issue is not cross project5622 does not check `can_read_reference` if the issue is not cross project5623 when the link does not have a data-issue attribute5624 returns an empty Array5625 #referenced_by5626 when the link has a data-issue attribute5627 using an existing issue ID5628 returns an Array of issues5629 returns an empty Array when the list of nodes is empty5630 when issue with given ID does not exist5631 returns an empty Array5632 #records_for_nodes5633 returns a Hash containing the issues for a list of nodes5634 when checking multiple issues on another project5635 behaves like no N+1 queries5636 avoids N+1 queries in #records_for_nodes5637 behaves like no project N+1 queries5638 avoids N+1 queries in #nodes_visible_to_user5639Projects::GitGarbageCollectWorker5640 behaves like can collect git garbage5641 #perform5642 with active lease_uuid5643 flushes ref caches when the task if 'gc'5644 handles gRPC errors5645 behaves like it calls Gitaly5646 is expected to receive optimize_repository(*(any args)) 1 time5647 behaves like it updates the resource statistics5648 updates the resource statistics5649 does nothing if the database is read-only5650 with different lease than the active one5651 returns silently5652 with no active lease5653 when is able to get the lease5654 flushes ref caches when the task if 'gc'5655 behaves like it calls Gitaly5656 is expected to receive optimize_repository(*(any args)) 1 time5657 behaves like it updates the resource statistics5658 updates the resource statistics5659 does nothing if the database is read-only5660 when no lease can be obtained5661 returns silently5662 prune5663 is expected to receive prune_unreachable_objects(*(any args)) 1 time5664 eager5665 is expected to receive optimize_repository({:eager=>true}) 1 time5666 when is able to get the lease5667 when the repository has joined a pool5668 ensures the repositories are linked5669 when deduplication service runs into a GRPC internal error5670 behaves like can collect git garbage5671 #perform5672 with active lease_uuid5673 flushes ref caches when the task if 'gc'5674 handles gRPC errors5675 behaves like it calls Gitaly5676 is expected to receive optimize_repository(*(any args)) 1 time5677 behaves like it updates the resource statistics5678 updates the resource statistics5679 does nothing if the database is read-only5680 with different lease than the active one5681 returns silently5682 with no active lease5683 when is able to get the lease5684 flushes ref caches when the task if 'gc'5685 behaves like it calls Gitaly5686 is expected to receive optimize_repository(*(any args)) 1 time5687 behaves like it updates the resource statistics5688 updates the resource statistics5689 does nothing if the database is read-only5690 when no lease can be obtained5691 returns silently5692 prune5693 is expected to receive prune_unreachable_objects(*(any args)) 1 time5694 eager5695 is expected to receive optimize_repository({:eager=>true}) 1 time5696 LFS object garbage collection5697 cleans up unreferenced LFS objects5698 catches and logs exceptions5699 does nothing if the database is read-only5700RuboCop::Cop::Gitlab::NamespacedClass5701 # order random5702 with ::Gitlab namespace5703 behaves like enforces namespaced classes5704 flags a class definition without additional namespace5705 flags a compact class definition without additional namespace5706 flags a class definition with inheritance without additional namespace5707 does not flag the class definition with namespace in separate lines5708 does not flag the class definition with nested namespace in separate lines5709 does not flag the class definition nested inside namespaced class5710 does not flag the class definition nested inside compact namespace5711 does not flag a compact namespaced class definition5712 does not flag a truly compact namespaced class definition5713 without top-level namespace5714 behaves like enforces namespaced classes5715 flags a class definition without additional namespace5716 flags a compact class definition without additional namespace5717 flags a class definition with inheritance without additional namespace5718 does not flag the class definition with namespace in separate lines5719 does not flag the class definition with nested namespace in separate lines5720 does not flag the class definition nested inside namespaced class5721 does not flag the class definition nested inside compact namespace5722 does not flag a compact namespaced class definition5723 does not flag a truly compact namespaced class definition5724 with Gitlab namespace5725 behaves like enforces namespaced classes5726 flags a class definition without additional namespace5727 flags a compact class definition without additional namespace5728 flags a class definition with inheritance without additional namespace5729 does not flag the class definition with namespace in separate lines5730 does not flag the class definition with nested namespace in separate lines5731 does not flag the class definition nested inside namespaced class5732 does not flag the class definition nested inside compact namespace5733 does not flag a compact namespaced class definition5734 does not flag a truly compact namespaced class definition5735RuboCop::Cop::RSpec::HaveGitlabHttpStatus5736 # order random5737 offenses and autocorrections5738 bad: "have_http_status(:ok)", good: "have_gitlab_http_status(:ok)"5739 registers an offense5740 does not register an offense5741 bad: "have_http_status(204)", good: "have_gitlab_http_status(:no_content)"5742 registers an offense5743 does not register an offense5744 bad: "have_gitlab_http_status(201)", good: "have_gitlab_http_status(:created)"5745 registers an offense5746 does not register an offense5747 bad: "have_http_status(var)", good: "have_gitlab_http_status(var)"5748 registers an offense5749 does not register an offense5750 bad: "have_http_status(:success)", good: "have_gitlab_http_status(:success)"5751 registers an offense5752 does not register an offense5753 bad: "have_http_status(:invalid)", good: "have_gitlab_http_status(:invalid)"5754 registers an offense5755 does not register an offense5756 bad: "expect(response.status).to eq(200)", good: "expect(response).to have_gitlab_http_status(:ok)"5757 registers an offense5758 does not register an offense5759 bad: "expect(response.status).not_to eq(200)", good: "expect(response).not_to have_gitlab_http_status(:ok)"5760 registers an offense5761 does not register an offense5762 partially autocorrects invalid numeric status5763 bad: "have_http_status(-1)", good: "have_gitlab_http_status(-1)"5764 registers an offense5765 does not autocorrect5766 ignore5767 code: "have_http_status"5768 does not register an offense5769 code: "have_http_status { }"5770 does not register an offense5771 code: "have_http_status(200, arg)"5772 does not register an offense5773 code: "have_gitlab_http_status"5774 does not register an offense5775 code: "have_gitlab_http_status { }"5776 does not register an offense5777 code: "have_gitlab_http_status(200, arg)"5778 does not register an offense5779 code: "expect(response.status).to eq(arg)"5780 does not register an offense5781 code: "expect(response.status).to eq(:ok)"5782 does not register an offense5783 code: "expect(response.status).to some_matcher(200)"5784 does not register an offense5785 code: "expect(response.status).not_to eq(arg)"5786 does not register an offense5787 code: "expect(response.status).not_to eq(:ok)"5788 does not register an offense5789 code: "expect(response.status).not_to some_matcher(200)"5790 does not register an offense5791 code: "expect(result.status).to eq(200)"5792 does not register an offense5793 code: "expect(result.status).not_to eq(200)"5794 does not register an offense5795 code: "response = some_assignment\nexpect(response.status).to eq(200)\n"5796 does not register an offense5797 code: "response = some_assignment\nexpect(response.status).not_to eq(200)\n"5798 does not register an offense5799DependencyProxy::Blob5800 behaves like ttl_expirable5801 behaves like having unique enum values5802 has unique values in "status"5803 default values5804 is expected to within one second of 2023-04-19 09:57:45 UTC5805 is expected to within one second of 2023-04-18 09:57:45 UTC5806 validations5807 is expected to validate that :status cannot be empty/falsy5808 .read_before5809 returns items with created at older than the supplied number of days5810 .active5811 returns only active items5812 #read!5813 updates read_at5814 behaves like destructible5815 .next_pending_destruction5816 returns the oldest item pending destruction based on updated_at5817 returns the oldest item pending destruction based on created_at5818 behaves like updates namespace statistics5819 when creating5820 schedules a statistic refresh5821 when updating5822 when the statistic attribute has not changed5823 does not schedule a statistic refresh5824 when the statistic attribute has changed5825 schedules a statistic refresh5826 when deleting5827 schedules a statistic refresh5828 relationships5829 is expected to belong to group required: false5830 validations5831 is expected to validate that :group cannot be empty/falsy5832 is expected to validate that :file cannot be empty/falsy5833 is expected to validate that :file_name cannot be empty/falsy5834 .total_size5835 returns 0 if no files5836 returns a correct sum of all files sizes5837 .find_or_build5838 builds new instance if not found5839 finds an existing blob5840 file is being stored5841 when existing object has local store5842 behaves like mounted file in local store5843 is stored locally5844 when direct upload is enabled5845 behaves like mounted file in object store5846 is stored remotely5847Gitlab::Ci::Config::Entry::Default5848 behaves like with inheritable CI config5849 does prepend an Inheritable mixin5850 all inheritable entries are covered5851 all entries do have inherit flag5852 for non-inheritable entries5853 entry_key: :hooks5854 inheritable_class does not define entry5855 entry_key: :interruptible5856 inheritable_class does not define entry5857 entry_key: :timeout5858 inheritable_class does not define entry5859 entry_key: :retry5860 inheritable_class does not define entry5861 entry_key: :tags5862 inheritable_class does not define entry5863 entry_key: :artifacts5864 inheritable_class does not define entry5865 for inheritable entries5866 entry_key: :before_script, entry_class: Gitlab::Ci::Config::Entry::Commands5867 inheritable_class does define entry5868 when is specified5869 does inherit value5870 when entry is specified5871 does not inherit value5872 when inheritable does not specify5873 does not inherit value5874 entry_key: :after_script, entry_class: Gitlab::Ci::Config::Entry::Commands5875 inheritable_class does define entry5876 when is specified5877 does inherit value5878 when entry is specified5879 does not inherit value5880 when inheritable does not specify5881 does not inherit value5882 entry_key: :cache, entry_class: Gitlab::Ci::Config::Entry::Caches5883 inheritable_class does define entry5884 when is specified5885 does inherit value5886 when entry is specified5887 does not inherit value5888 when inheritable does not specify5889 does not inherit value5890 entry_key: :image, entry_class: Gitlab::Ci::Config::Entry::Image5891 inheritable_class does define entry5892 when is specified5893 does inherit value5894 when entry is specified5895 does not inherit value5896 when inheritable does not specify5897 does not inherit value5898 entry_key: :services, entry_class: Gitlab::Ci::Config::Entry::Services5899 inheritable_class does define entry5900 when is specified5901 does inherit value5902 when entry is specified5903 does not inherit value5904 when inheritable does not specify5905 does not inherit value5906 .nodes5907 returns a hash5908 when filtering all the entry/node names5909 contains the expected node names5910 validations5911 when default entry value is correct5912 #valid?5913 is valid5914 when default entry is empty5915 #valid5916 is valid5917 when default entry is not correct5918 incorrect config value type5919 #errors5920 reports error about a config type5921 when unknown keys detected5922 #valid5923 is not valid5924 #compose!5925 when default entry inherits configuration from root5926 raises error5927 when default entry inherits a non-defined configuration from root5928 inherits non-defined configuration entries5929BroadcastMessagesHelper5930 #current_broadcast_notification_message5931 with available broadcast notification messages5932 is expected to eq #<BroadcastMessage id: 2, message: "MyText", starts_at: "2023-04-19 09:57:49.589631641 +0000", ends_a...h: nil, broadcast_type: "notification", dismissable: nil, target_access_levels: [], theme: "indigo">5933 when last broadcast message is hidden5934 is expected to eq #<BroadcastMessage id: 3, message: "MyText", starts_at: "2023-04-18 09:57:49.642680135 +0000", ends_a...h: nil, broadcast_type: "notification", dismissable: nil, target_access_levels: [], theme: "indigo">5935 without broadcast notification messages5936 is expected to be nil5937 user access level targeted messages5938 when in a project page5939 is expected to eq #<BroadcastMessage id: 5, message: "MyText", starts_at: "2023-04-19 09:57:49.715195447 +0000", ends_a... nil, broadcast_type: "notification", dismissable: nil, target_access_levels: [30], theme: "indigo">5940 when feature flag is disabled5941 is expected to be nil5942 when in a group page5943 is expected to eq #<BroadcastMessage id: 5, message: "MyText", starts_at: "2023-04-19 09:57:49.715195447 +0000", ends_a... nil, broadcast_type: "notification", dismissable: nil, target_access_levels: [30], theme: "indigo">5944 when feature flag is disabled5945 is expected to be nil5946 when not in a project, group, or sub-group page5947 is expected to be nil5948 when feature flag is disabled5949 is expected to be nil5950 #current_broadcast_banner_messages5951 user access level targeted messages5952 when in a project page5953 is expected to eq #<BroadcastMessage id: 6, message: "MyText", starts_at: "2023-04-19 09:57:50.597942785 +0000", ends_a..._path: nil, broadcast_type: "banner", dismissable: nil, target_access_levels: [30], theme: "indigo">5954 when feature flag is disabled5955 is expected to be nil5956 when in a group page5957 is expected to eq #<BroadcastMessage id: 6, message: "MyText", starts_at: "2023-04-19 09:57:50.597942785 +0000", ends_a..._path: nil, broadcast_type: "banner", dismissable: nil, target_access_levels: [30], theme: "indigo">5958 when feature flag is disabled5959 is expected to be nil5960 when not in a project, group, or sub-group page5961 is expected to be nil5962 when feature flag is disabled5963 is expected to be nil5964 #broadcast_message5965 returns nil when no current message5966 includes the current message5967 #broadcast_message_status5968 returns Active5969 returns Expired5970 returns Pending5971 #admin_broadcast_messages_data5972 returns the expected messages data attributes5973 has the correct iso formatted date5974 #broadcast_message_data5975 returns the expected message data attributes5976 has the correct iso formatted date5977ButtonHelper5978 http_clone_button5979 with internal auth enabled5980 when user has a password5981 shows no tooltip5982 when user has password automatically set5983 shows the password text on the dropdown5984 with internal auth disabled5985 when user has no personal access tokens5986 has a personal access token text on the dropdown description5987 when user has personal access tokens5988 does not have a personal access token text on the dropdown description5989 when user is ldap user5990 shows no tooltip5991 ssh_button5992 without an ssh key on the user5993 shows a warning on the dropdown description5994 without an ssh key on the user and user_show_add_ssh_key_message unset5995 there is no warning on the dropdown description5996 with an ssh key on the user5997 there is no warning on the dropdown description5998 ssh and http clone buttons5999 only shows the title of any of the clone buttons when append_link is false6000 clipboard_button6001 with default options6002 when no `text` attribute is not provided6003 shows copy to clipboard button with default configuration and no text set to copy6004 when `text` attribute is provided6005 shows copy to clipboard button with provided `text` to copy6006 when `title` attribute is provided6007 shows copy to clipboard button with provided `title` as tooltip6008 with `button_text` attribute provided6009 shows copy to clipboard button with provided `button_text` as button label6010 adds `gl-button-icon` class to icon6011 with `hide_tooltip` attribute provided6012 shows copy to clipboard button without tooltip support6013 with `hide_button_icon` attribute provided6014 shows copy to clipboard button without tooltip support6015 with `itemprop` attribute provided6016 shows copy to clipboard button with `itemprop` attribute6017Gitlab::UsageMetricDefinitionGenerator6018 Creating metric definition file6019 without ee option6020 creates a metric definition file using the template6021 with ee option6022 creates a metric definition file using the template6023 Validation6024 does not raise an error6025 with a missing directory6026 raises an error6027 with an invalid directory6028 raises an error6029 with an already existing metric with the same key_path6030 raises an error6031 Name suggestions6032 adds name key to metric definition6033 with multiple file names6034 creates multiple files6035Gitlab::GithubImport::Importer::SingleEndpointDiffNotesImporter6036 is expected to includes the Gitlab::GithubImport::ParallelScheduling module6037 is expected to includes the Gitlab::GithubImport::SingleEndpointNotesImporting module6038 is expected to eq Gitlab::GithubImport::Representation::DiffNote6039 is expected to eq Gitlab::GithubImport::Importer::DiffNoteImporter6040 is expected to eq :pull_request_comments6041 is expected to eq :diff_note6042 is expected to eq 16043 #each_object_to_import6044 fetches data6045 skips cached pages6046 skips cached merge requests6047MergeRequestAssignee6048 associations6049 is expected to belong to merge_request class_name => MergeRequest required: false6050 is expected to belong to assignee class_name => User required: false6051 validations6052 is expected to validate that :assignee is case-sensitively unique within the scope of :merge_request_id6053 scopes6054 in_projects6055 returns issue assignees for given project6056Issues::ReferencedMergeRequestsService6057 #execute6058 returns a list of sorted merge requests6059 performance6060 does not run extra queries when extra namespaces are included6061 preloads the head pipeline for each merge request, and its routes6062 only loads issue notes once6063 #referenced_merge_requests6064 returns the referenced merge requests6065 excludes cross project references if the user cannot read cross project6066 performance6067 does not run a query for each note author6068 #closed_by_merge_requests6069 returns the open merge requests that close this issue6070 returns an empty array when the current issue is closed already6071 performance6072 does not run a query for each note author6073Gitlab::DataBuilder::Build6074 .build6075 is expected to be a kind of Hash6076 is expected to eq "master"6077 is expected to eq "b83d6e391c22777fca1ed3012fce84f633d7fed0"6078 is expected to eq false6079 is expected to eq 2766080 is expected to eq "running"6081 is expected to eq 2023-04-19 08:50:29.000000000 +00006082 is expected to eq 2023-04-19 08:51:29.000000000 +00006083 is expected to eq nil6084 is expected to eq 4008.06085 is expected to eq 60.06086 is expected to eq false6087 is expected to eq "unknown_failure"6088 is expected to eq 8726089 is expected to eq "Sidney Jones2137 / project931"6090 is expected to eq 526091 is expected to eq 06092 is expected to eq "Build pipeline"6093 is expected to eq {:avatar_url=>"https://www.gravatar.com/avatar/2a93301795538f8c4aac63c95b8fad7d?s=80&d=identicon", :email=>"user2127@example.org", :id=>1893, :name=>"Sidney Jones2136", :username=>"user1147"}6094 is expected to eq 526095 is expected to eq 16096 is expected to contain exactly "tag1" and "tag2"6097 is expected to eq "My runner1"6098 is expected to eq "instance_type"6099 is expected to eq true6100 is expected to be nil6101 does not exceed number of expected queries6102 when job_webhook_retries_count feature flag is disabled6103 is expected not to have key :retries_count6104 does not exceed number of expected queries6105 commit author_url6106 when no commit present6107 sets to mailing address of git_author_email6108 when commit present but has no author6109 sets to mailing address of git_author_email6110 when commit and author are present6111 sets to GitLab user url6112 with environment6113 is expected to eq "staging"6114 is expected to eq "stop"6115Packages::Composer::CacheUploader6116 behaves like builds correct paths6117 #store_dir6118 behaves like matches the method pattern6119 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/6120 #cache_dir6121 behaves like matches the method pattern6122 is expected to match /\/packages\/tmp\/cache/6123 #work_dir6124 behaves like matches the method pattern6125 is expected to match /\/packages\/tmp\/work/6126 #upload_path6127 behaves like matches the method pattern6128 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6129 #relative_path6130 is relative (PENDING: Path not set, skipping.)6131 .absolute_path6132 behaves like matches the method pattern6133 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6134 .base_dir6135 behaves like matches the method pattern6136 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6137 path traversal exploits6138 throws an exception6139 object store is remote6140 behaves like builds correct paths6141 #store_dir6142 behaves like matches the method pattern6143 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/6144 #cache_dir6145 behaves like matches the method pattern6146 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6147 #work_dir6148 behaves like matches the method pattern6149 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6150 #upload_path6151 behaves like matches the method pattern6152 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6153 #relative_path6154 is relative (PENDING: Path not set, skipping.)6155 .absolute_path6156 behaves like matches the method pattern6157 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6158 .base_dir6159 behaves like matches the method pattern6160 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6161 path traversal exploits6162 throws an exception6163 remote file6164 with object storage enabled6165 can store file remotely6166LfsFileLock6167 is expected to belong to project required: false6168 is expected to belong to user required: false6169 is expected to validate that :project_id cannot be empty/falsy6170 is expected to validate that :user_id cannot be empty/falsy6171 is expected to validate that :path cannot be empty/falsy6172 #can_be_unlocked_by?6173 when it's forced6174 can be unlocked by the author6175 can be unlocked by a maintainer6176 can't be unlocked by other user6177 when it isn't forced6178 can be unlocked by the author6179 can't be unlocked by a maintainer6180 can't be unlocked by other user6181Gitlab::GitalyClient::ObjectPoolService6182 #create6183 exists on disk6184 when the pool already exists6185 returns an error6186 #delete6187 removes the repository from disk6188 when called twice6189 doesn't raise an error6190 #fetch6191 without changes6192 fetches changes6193 with new reference in source repository6194 fetches changes6195Gitlab::Database::Migrations::TimeoutHelpers6196 # order random6197 #disable_statement_timeout6198-- transaction_open?()6199 -> 0.0002s6200 disables statement timeouts to current transaction only6201 with real environment6202-- execute("SET statement_timeout TO '20000'")6203 -> 0.0015s6204-- execute("SHOW statement_timeout")6205 -> 0.0011s6206-- transaction_open?()6207 -> 0.0001s6208-- execute("SET LOCAL statement_timeout TO 0")6209 -> 0.0023s6210-- execute("SHOW statement_timeout")6211 -> 0.0010s6212-- execute("SHOW statement_timeout")6213 -> 0.0009s6214-- execute("RESET statement_timeout")6215 -> 0.0013s6216 defines statement to 0 only for current transaction6217 when passing a blocks6218-- execute("SET statement_timeout TO '20000'")6219 -> 0.0055s6220 disables statement timeouts on session level and executes the block6221 with real environment6222-- execute("SET statement_timeout TO '20000'")6223 -> 0.0051s6224-- execute("SET statement_timeout TO '20000'")6225 -> 0.0012s6226-- execute("SHOW statement_timeout")6227 -> 0.0009s6228-- execute("SET statement_timeout TO 0")6229 -> 0.0009s6230-- execute("SHOW statement_timeout")6231 -> 0.0018s6232-- execute("SHOW statement_timeout")6233 -> 0.0009s6234-- execute("RESET statement_timeout")6235 -> 0.0012s6236-- execute("RESET statement_timeout")6237 -> 0.0009s6238-- execute("RESET statement_timeout")6239 -> 0.0009s6240 defines statement to 0 for any code run inside the block6241 when the statement_timeout is already disabled6242 yields control without disabling the timeout or resetting6243Sidebars::Projects::Menus::HiddenMenu6244 #render?6245 when menu does not have any menu items6246 returns false6247 when menu has menu items6248 returns true6249 Menu items6250 Activity6251 when user has access to the project6252 is expected not to be nil6253 when the user is not present6254 is expected not to be nil6255 Graph6256 when project repository is empty6257 is expected to be nil6258 behaves like access rights checks6259 is expected not to be nil6260 when the user does not have access6261 is expected to be nil6262 New Issue6263 behaves like access rights checks6264 is expected not to be nil6265 when the user does not have access6266 is expected to be nil6267 Jobs6268 behaves like access rights checks6269 is expected not to be nil6270 when the user does not have access6271 is expected to be nil6272 Commits6273 when project repository is empty6274 is expected to be nil6275 behaves like access rights checks6276 is expected not to be nil6277 when the user does not have access6278 is expected to be nil6279 Issue Boards6280 behaves like access rights checks6281 is expected not to be nil6282 when the user does not have access6283 is expected to be nil6284Ci::CreatePipelineService6285 pipeline logger6286 when the duration is under the threshold6287 does not create a log entry but it collects the data6288 when the durations exceeds the threshold6289 creates a log entry6290 when the pipeline is not persisted6291 creates a log entry6292 when the feature flag is disabled6293 does not create a log entry6294 when the size exceeds the threshold6295 creates a log entry6296 pipeline includes count6297 when the includes count exceeds the maximum6298 creates a log entry6299 when the includes count does not exceed the maximum6300 does not create a log entry but it collects the data6301 when the includes data is nil6302 does not create a log entry6303 when the pipeline config_metadata is nil6304 does not create a log entry but it collects the data6305WikiPages::CreateService6306 behaves like WikiPages::CreateService#execute6307 creates wiki page with valid attributes6308 executes webhooks6309 counts wiki page creation6310 the new page is at the top level6311 creates appropriate events6312 the new page is in a subsection6313 creates appropriate events6314 when the options are bad6315 does not count a creation event6316 does not record the activity6317 reports the error6318 #execute6319 when wiki create fails due to git error6320 catches the thrown error and returns a ServiceResponse error6321Sidebars::Projects::Menus::MonitorMenu6322 #render?6323 monitor_level: enabled, render: true6324 renders when expected to6325 monitor_level: disabled, render: false6326 renders when expected to6327 when menu does not have any renderable menu items6328 returns false6329 when menu has menu items6330 returns true6331 #title6332 returns "Monitor"6333 #extra_container_html_options6334 returns "shortcuts-monitor"6335 Menu items6336 Metrics Dashboard6337 behaves like access rights checks6338 is expected not to be nil6339 when the user does not have access6340 is expected to be nil6341 Error Tracking6342 behaves like access rights checks6343 is expected not to be nil6344 when the user does not have access6345 is expected to be nil6346 Alert Management6347 behaves like access rights checks6348 is expected not to be nil6349 when the user does not have access6350 is expected to be nil6351 Incidents6352 behaves like access rights checks6353 is expected not to be nil6354 when the user does not have access6355 is expected to be nil6356Gitlab::EtagCaching::Middleware6357 .skip!6358 sets the skip header on the response6359 when ETag caching is not enabled for current route6360 does not add ETag headers6361 passes status code from app6362 does not set feature category attribute6363 when there is no ETag in store for given resource6364 generates ETag6365 when If-None-Match header was specified6366 tracks "etag_caching_key_not_found" event6367 when there is ETag in store for given resource6368 returns the correct headers6369 when the matching route requests that the ETag is skipped6370 returns the correct headers6371 when If-None-Match header matches ETag in store6372 does not call app6373 returns status code 3046374 sets correct headers6375 pushes expected information in to the context6376 returns empty body6377 tracks "etag_caching_cache_hit" event6378 behaves like sends a process_action.action_controller notification6379 sends the expected payload6380 publishes process_action.action_controller event to be picked up by lograge's subscriber6381 when polling is disabled6382 returns status code 4296383 behaves like sends a process_action.action_controller notification6384 sends the expected payload6385 publishes process_action.action_controller event to be picked up by lograge's subscriber6386 when If-None-Match header does not match ETag in store6387 calls app6388 tracks "etag_caching_resource_changed" event6389 when If-None-Match header is not specified6390 tracks "etag_caching_header_missing" event6391 when GitLab instance is using a relative URL6392 uses full path as cache key6393Gitlab::Ci::Config::External::Interpolator6394 # order random6395 when spec header is invalid6396 surfaces an error about invalid header6397 when multiple interpolation blocks are invalid6398 correctly interpolates the config6399 #has_header?6400 when header is an empty hash6401 does not have a header available6402 when header is not specified6403 does not have a header available6404 when provided interpolation argument is invalid6405 correctly interpolates the config6406 when interpolation block is invalid6407 correctly interpolates the config6408 when config has a syntax error6409 surfaces an error about invalid config6410 #interpolate?6411 when interpolation can be performed6412 will perform interpolation6413 when interpolation is disabled6414 will not perform interpolation6415 when an interpolation header is missing6416 will not perform interpolation6417 when interpolator has preliminary errors6418 will not perform interpolation6419 when input data is valid6420 correctly interpolates the config6421 #to_hash6422 when interpolation is disabled6423 returns an empty hash6424 when interpolation is not used6425 returns original content6426 when interpolation is available6427 correctly interpolates content6428 #ready?6429 returns false if interpolation has not been done yet6430 returns true if interpolation has been performed6431 when interpolation can not be performed6432 returns true if interpolator has preliminary errors6433 returns true if interpolation has been attempted6434Packages::Debian::ExtractChangesMetadataService6435 #execute6436 with valid package file6437 extract metadata6438 with invalid package file6439 raise ArgumentError6440 with invalid metadata6441 without Files field6442 raise ArgumentError6443 without Checksums-Sha1 field6444 raise ArgumentError6445 without Checksums-Sha256 field6446 raise ArgumentError6447 with file in Checksums-Sha1 but not in Files6448 raise ArgumentError6449 with different size in Checksums-Sha16450 raise ArgumentError6451 with file in Checksums-Sha256 but not in Files6452 raise ArgumentError6453 with different size in Checksums-Sha2566454 raise ArgumentError6455 with file in Files but not in Checksums-Sha16456 raise ArgumentError6457 with file in Files but not in Checksums-Sha2566458 raise ArgumentError6459 with invalid MD56460 raise ArgumentError6461 with invalid SHA16462 raise ArgumentError6463 with invalid SHA2566464 raise ArgumentError6465 with missing package file6466 raise ArgumentError6467Gitlab::Ci::Build::Policy::Refs6468 #satisfied_by?6469 when matching ref6470 is satisfied when pipeline branch matches6471 is not satisfied when pipeline branch does not match6472 when matching tags6473 when pipeline runs for a tag6474 is satisfied when tags matcher is specified6475 when pipeline is not created for a tag6476 is not satisfied when tag match is specified6477 when also matching a path6478 is satisfied when provided patch matches specified one6479 is not satisfied when path differs6480 when matching a source6481 is satisfied when provided source keyword matches6482 is not satisfied when provided source keyword does not match6483 when source is merge_request_event6484 is satisfied with only: merge_request6485 is not satisfied with only: merge_request_event6486 when source is external_pull_request_event6487 is satisfied with only: external_pull_request6488 is not satisfied with only: external_pull_request_event6489 when source is pipeline6490 is satisfied with only: pipelines6491 is satisfied with only: pipeline6492 when source is parent_pipeline6493 is satisfied with only: parent_pipelines6494 is satisfied with only: parent_pipeline6495 when matching a ref by a regular expression6496 is satisfied when regexp matches pipeline ref6497 is satisfied when case-insensitive regexp matches pipeline ref6498 is not satisfied when regexp does not match pipeline ref6499 when unsafe regexp is used6500 ignores invalid regexp6501 malicious regexp6502 takes under a second6503Gitlab::Suggestions::CommitMessage6504 #message6505 suggestion_set: suggestion_set_same_project6506 when a custom commit message is not specified6507 and is nil6508 uses the default commit message6509 and is an empty string6510 uses the default commit message6511 when a custom commit message is specified for forked project6512 uses the default commit message6513 when a custom commit message is specified6514 shows the custom commit message6515 is specified and includes all placeholders6516 generates a custom commit message6517 when a custom commit message is specified for forked project6518 uses the target project commit message6519 suggestion_set: suggestion_set_forked_project6520 when a custom commit message is not specified6521 and is nil6522 uses the default commit message6523 and is an empty string6524 uses the default commit message6525 when a custom commit message is specified for forked project6526 uses the default commit message6527 when a custom commit message is specified6528 shows the custom commit message6529 is specified and includes all placeholders6530 generates a custom commit message6531 when a custom commit message is specified for forked project6532 uses the target project commit message6533Ci::JobVariable6534 behaves like CI variable6535 is expected to includes the Ci::HasVariable module6536 strips whitespaces when assigning key6537 can convert to runner variable6538 variable type6539 defines variable types6540 defaults variable type to env_var6541 supports variable type file6542 associations6543 is expected to belong to job class_name => Ci::Build required: false inverse_of => job_variables6544 is expected to validate that :key is case-sensitively unique within the scope of :job_id6545 partitioning6546 with build6547 copies the partition_id from build6548 when it is already set6549 does not change the partition_id value6550 without build6551 is expected to validate that :partition_id cannot be empty/falsy6552 does not change the partition_id value6553 when using bulk_insert6554 creates job variables successfully (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)6555IncidentManagement::ProjectIncidentManagementSetting6556 # order random6557 Associations6558 is expected to belong to project required: false6559 Validations6560 validate issue_template_exists6561 with create_issue enabled6562 with valid issue_template_key6563 is expected to be valid6564 with empty issue_template_key6565 is expected to be valid6566 with nil issue_template_key6567 is expected to be valid6568 with invalid issue_template_key6569 is expected to be invalid6570 returns error6571 with create_issue disabled6572 with unknown issue_template_key6573 is expected to be valid6574 #pagerduty_token6575 when token already set6576 reads the token6577 when not set6578 when PagerDuty webhook is active6579 generates a token before validation6580 when PagerDuty webhook is not active6581 does not generate a token before validation6582 #issue_template_content6583 with valid issue_template_key6584 returns issue content6585 with unknown issue_template_key6586 behaves like no content6587 returns no content6588 without issue_template_key6589 behaves like no content6590 returns no content6591Banzai::Pipeline::DescriptionPipeline6592 uses a limited allowlist6593 removes 'pre' elements6594 removes 'code' elements6595 removes 'img' elements6596 removes 'ol' elements6597 removes 'ul' elements6598 removes 'li' elements6599 still allows 'b' elements6600 still allows 'i' elements6601 still allows 'strong' elements6602 still allows 'em' elements6603 still allows 'a' elements6604 still allows 'ins' elements6605 still allows 'del' elements6606 still allows 'sup' elements6607 still allows 'sub' elements6608 still allows 'p' elements6609Ci::StatusHelper6610 #ci_icon_for_status6611 renders to correct svg on success6612 renders the correct svg on failure6613 #ci_text_for_status6614 when status is manual6615 changes the status to blocked6616 when status is success6617 changes the status to passed6618 when status is something else6619 returns status unchanged6620 #pipeline_status_cache_key6621 builds a cache key for pipeline status6622 #render_status_with_link6623 renders a passed status icon6624 has 'Pipeline' as the status type in the title6625 has the success status icon6626 when pipeline has commit path6627 links to commit6628 does not contain a span element6629 has 'Pipeline' as the status type in the title6630 has the correct status icon6631 when different type than pipeline is provided6632 has the provided type in the title6633 when tooltip_placement is provided6634 has the provided tooltip placement6635 when additional CSS classes are provided6636 has appended extra class to icon classes6637 when container is provided6638 has the provided container in data6639 when icon_size is provided6640 has the svg class to change size6641Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation6642 # order random6643 is expected to be a kind of Gitlab::Database::SharedModel(abstract)6644 .constraint_type_exists?6645 is expected to be truthy6646 always asks the database6647 #handle_exception!6648 increases the attempts number6649 saves error details6650 scopes6651 .ordered6652 is expected to eq [#<Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation id: 3, created_at: "2023-04-..."fk_users_id_2", table_name: "users", last_error: nil, attempts: 1, constraint_type: "foreign_key">]6653 .foreign_key_type6654 is expected to eq [#<Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation id: 4, created_at: "2023-04-..."fk_users_id_4", table_name: "users", last_error: nil, attempts: 1, constraint_type: "foreign_key">]6655 does not apply the filter if the column is not present6656 .check_constraint_type6657 is expected to eq [#<Gitlab::Database::AsyncConstraints::PostgresAsyncConstraintValidation id: 9, created_at: "2023-04-...sers_id_9", table_name: "users", last_error: nil, attempts: 0, constraint_type: "check_constraint">]6658 .table_available?6659 is expected to be truthy6660 when the table does not exist6661 is expected to be falsy6662 validations6663 is expected to validate that :name cannot be empty/falsy6664 is expected to validate that :name is case-sensitively unique within the scope of :table_name6665 is expected to validate that the length of :name is at most 636666 is expected to validate that :table_name cannot be empty/falsy6667 is expected to validate that the length of :table_name is at most 636668 is expected to validate that the length of :last_error is at most 100006669Projects::ImportExport::ProjectExportPresenter6670 #description6671 override_description not provided6672 keeps original description6673 override_description provided6674 overrides description6675 #as_json6676 override_description not provided6677 keeps original description6678 override_description provided6679 overrides description6680 #protected_branches6681 returns the project exported protected branches6682 #project_members6683 does not export group members if it has no permission6684 does not export group members as maintainer6685 exports group members as group owner6686 as admin6687 when admin mode is enabled6688 exports group members as admin6689 exports group members as project members6690 when admin mode is disabled6691 does not export group members6692Gitlab::GithubImport::Importer::ProtectedBranchesImporter6693 # order random6694 #id_for_already_imported_cache6695 returns the ID of the given protected branch6696 #execute6697 when running in parallel mode6698 imports protected branches in parallel6699 when running in sequential mode6700 imports protected branches in sequence6701 #object_type6702 is expected to eq :protected_branch6703 #sidekiq_worker_class6704 is expected to eq Gitlab::GithubImport::ImportProtectedBranchWorker6705 #parallel?6706 when running in parallel mode6707 is expected to be parallel6708 when running in sequential mode6709 is expected not to be parallel6710 #parallel_import6711 imports each protected branch in parallel6712 #each_object_to_import6713 imports each protected branch page by page6714 when protected branch is already processed6715 doesn't process this branch6716 #importer_class6717 is expected to eq Gitlab::GithubImport::Importer::ProtectedBranchImporter6718 #collection_options6719 returns an empty Hash6720 #sequential_import6721 imports each protected branch in sequence6722 #representation_class6723 is expected to eq Gitlab::GithubImport::Representation::ProtectedBranch6724 #collection_method6725 is expected to eq :protected_branches6726Gitlab::Cache::RequestCache6727 when RequestStore is active6728 computes once for different instances when keys are the same6729 computes twice if RequestStore starts over6730 behaves like cache for the same instance6731 does not compute twice for the same argument6732 computes twice for the different argument6733 computes twice for the different class name6734 computes twice for the different method6735 when request_cache_key is provided6736 computes twice for the different keys, id6737 computes twice for the different keys, name6738 uses extra method cache key if provided6739 when RequestStore is inactive6740 computes twice for different instances even if keys are the same6741 behaves like cache for the same instance6742 does not compute twice for the same argument6743 computes twice for the different argument6744 computes twice for the different class name6745 computes twice for the different method6746 when request_cache_key is provided6747 computes twice for the different keys, id6748 computes twice for the different keys, name6749 uses extra method cache key if provided6750Gitlab::Ci::Config::Entry::Include6751 validations6752 when value is a string6753 is expected to be valid6754 when value is hash6755 when using not allowed keys6756 is expected not to be valid6757 when using "local"6758 is expected to be valid6759 when using "file"6760 is expected to be valid6761 when using "template"6762 is expected to be valid6763 when using "component"6764 is expected to be valid6765 when using "artifact"6766 and specifying "job"6767 is expected to be valid6768 without "job"6769 is expected not to be valid6770 has specific error6771 when using "project"6772 and specifying "ref" and "file"6773 is expected to be valid6774 without "ref"6775 is expected to be valid6776 without "file"6777 is expected not to be valid6778 has specific error6779 when using with "rules"6780 is expected to be valid6781 when rules is not an array of hashes6782 is expected not to be valid6783 has specific error6784 when value is something else6785 is expected not to be valid6786 #value6787 when config is a string6788 is expected to eq "test.yml"6789 when config is a hash6790 is expected to eq {:local=>"test.yml"}6791 when config has "rules"6792 is expected to eq {:local=>"test.yml", :rules=>[{:if=>"$VARIABLE"}]}6793API::Ci::Helpers::Runner6794 #current_job6795 handles sticking of a build when a build ID is specified6796 does not handle sticking if no build ID was specified6797 returns the build if one could be found6798 #current_runner6799 handles sticking of a runner if a token is specified6800 does not handle sticking if no token was specified6801 returns the runner if one could be found6802 #current_runner_manager6803 when runner manager already exists6804 is expected to eq #<Ci::RunnerManager id: 1, runner_id: 4, executor_type: nil, created_at: "2023-04-19 09:59:12.0000000...il, revision: nil, platform: nil, architecture: nil, ip_address: nil, config: {}, system_xid: "bar">6805 does not update the contacted_at field6806 when runner manager cannot be found6807 creates a new runner manager6808 creates a new <legacy> runner manager if system_id is not specified6809 #track_runner_authentication6810 increments gitlab_ci_runner_authentication_success_total6811 increments gitlab_ci_runner_authentication_failure_total6812Projects::AlertManagementHelper6813 #alert_management_data6814 without alert_managements_setting6815 returns index page configuration6816 with prometheus integration6817 when manual prometheus integration is active6818 enables alert management6819 when prometheus service is inactive6820 disables alert management6821 with http integration6822 when integration is active6823 enables alert management6824 when integration is inactive6825 disables alert management6826 with an alert6827 enables alert management6828 when user does not have requisite enablement permissions6829 shows error tracking enablement as disabled6830 #alert_management_detail_data6831 returns detail page configuration6832 when user cannot update alert6833 shows error tracking enablement as disabled6834BlobViewer::License6835 #license6836 returns the blob project repository license6837 #render_error6838 when there is no license6839 returns :unknown_license6840 when there is a license6841 returns nil6842Ci::UpdateInstanceVariablesService6843 #execute6844 without variables6845 is expected to be truthy6846 with insert only variables6847 is expected to be truthy6848 persists all the records6849 persists attributes6850 with update only variables6851 is expected to be truthy6852 does not change the count6853 updates the records in place6854 with insert and update variables6855 is expected to be truthy6856 inserts only one record6857 persists all the records6858 with insert, update, and destroy variables6859 is expected to be truthy6860 persists all the records6861 with invalid variables6862 is expected to be falsey6863 does not insert any records6864 does not update existing records6865 returns errors6866 when deleting non existing variables6867 is expected to raise ActiveRecord::RecordNotFound6868 when updating non existing variables6869 is expected to raise ActiveRecord::RecordNotFound6870Gitlab::Ci::Config::Entry::Needs6871 validations6872 when entry config value is correct6873 #valid?6874 is expected to be valid6875 when config value has wrong type6876 #valid?6877 is expected not to be valid6878 #errors6879 returns error about incorrect type6880 when wrong needs type is used6881 #valid?6882 is expected not to be valid6883 #errors6884 returns error about incorrect type6885 when wrong needs type is used6886 #valid?6887 is expected not to be valid6888 #errors6889 returns error about incorrect type6890 with too many cross pipeline dependencies6891 #valid?6892 is expected not to be valid6893 #errors6894 returns error about incorrect type6895 .compose!6896 when valid job entries composed6897 #value6898 returns key value6899 behaves like entry with descendant nodes6900 #descendants6901 creates valid descendant nodes6902 with complex job entries composed6903 #value6904 returns key value6905 behaves like entry with descendant nodes6906 #descendants6907 creates valid descendant nodes6908 with mixed job entries composed6909 #value6910 returns key value6911 behaves like entry with descendant nodes6912 #descendants6913 creates valid descendant nodes6914 with empty config6915 #value6916 returns empty value6917Gitlab::Git::KeepAround6918 does not fail if we attempt to reference bad commit6919 stores a reference to the specified commit sha so it isn't garbage collected6920 does not fail if writting the ref fails6921 for multiple SHAs6922 skips non-existent SHAs6923 skips already-kept-around SHAs6924Gitlab::Auth::OAuth::Provider6925 .enabled?6926 when OmniAuth is disabled6927 allows database auth6928 allows LDAP auth6929 does not allow other OmniAuth providers6930 when OmniAuth is enabled6931 allows database auth6932 allows LDAP auth6933 allows other OmniAuth providers6934 .config_for6935 for an LDAP provider6936 when the provider exists6937 returns the config6938 when the provider does not exist6939 returns nil6940 for an OmniAuth provider6941 when the provider exists6942 returns the config6943 merges defaults with the given configuration6944 when the provider does not exist6945 returns nil6946 for an OpenID Connect provider6947 when the provider exists6948 returns the config6949 .label_for6950 when configuration specifies a custom label6951 returns the custom label name6952 when configuration does not specify a custom label6953 when the name does not correspond to a label mapping6954 returns the titleized name6955 when the name corresponds to a label mapping6956 returns the mapped name6957JiraConnectSubscriptions::CreateService6958 remote user does not have access6959 behaves like a failed execution6960 does not create a subscription6961 returns an error status6962 remote user cannot be retrieved6963 behaves like a failed execution6964 does not create a subscription6965 returns an error status6966 when user does have access6967 creates a subscription6968 returns success6969 namespace has projects6970 starts workers to sync projects in batches with delay6971 when path is invalid6972 behaves like a failed execution6973 does not create a subscription6974 returns an error status6975 when user does not have access6976 behaves like a failed execution6977 does not create a subscription6978 returns an error status6979projects/merge_requests/creations/_new_submit.html.haml6980 when there are pipelines for merge request but no pipeline for last commit6981 shows <<Pipelines>> tab and hides <<Builds>> tab6982Gitlab::ImportExport::DecompressedArchiveSizeValidator6983 #valid?6984 when file does not exceed allowed decompressed size6985 returns true6986 when waiter thread no longer exists6987 does not raise exception6988 when file exceeds allowed decompressed size6989 logs error message returns false6990 when exception occurs during decompression6991 when timeout occurs6992 logs raised exception and terminates validator process group6993 when exception occurs6994 logs raised exception and terminates validator process group6995 archive path validation6996 when archive path is traversed6997 returns false6998 when archive path is not a string6999 returns false7000 which archive path is a symlink7001 returns false7002 when archive path is not a file7003 returns false7004Packages::CreateTemporaryPackageService7005 #execute7006 creates the package7007 can create two packages in a row7008 behaves like assigns the package creator7009 assigns the package creator7010 behaves like assigns build to package7011 with build info7012 assigns the pipeline to the package7013gitlab:gitaly namespace rake task7014 clone7015 no dir given7016 aborts and display a help message7017 no storage path given7018 aborts and display a help message7019 when an underlying Git command fail7020 aborts and display a help message7021 checkout or clone7022 calls checkout_or_clone_version with the right arguments7023 install7024 gmake/make7025 gmake is available7026 calls gmake in the gitaly directory7027 when gmake fails7028 aborts process7029 gmake is not available7030 calls make in the gitaly directory7031Repositories::TreeFinder7032 #execute7033 returns an array7034 includes 20 items by default7035 accepts a gitaly_pagination argument7036 commit doesn't exist7037 raises an error7038 pagination_params7039 has the per_page number of items7040 doesn't include any of the first page records7041 #total7042 is expected to be a kind of Integer7043 only calculates the total once7044 #commit_exists?7045 ref exists7046 is expected to equal true7047 ref is missing7048 is expected to equal false7049Clusters::AgentToken7050 is expected to belong to agent class_name => Clusters::Agent required: true7051 is expected to belong to created_by_user class_name => User optional: true7052 is expected to validate that the length of :description is at most 10247053 is expected to validate that the length of :name is at most 2557054 is expected to validate that :name cannot be empty/falsy7055 behaves like having unique enum values7056 has unique values in "status"7057 scopes7058 .order_last_used_at_desc7059 sorts by last_used_at descending, with null values at last7060 .with_status7061 is expected to contain exactly #<Clusters::AgentToken id: 4, created_at: "2023-04-19 09:59:41.686115777 +0000", updated_at: "2023-04...ated_by_user_id: 1993, description: nil, name: "agent-token-4", last_used_at: nil, status: "active">7062 #token7063 is generated on save7064 is at least 50 characters7065 #to_ability_name7066 is :cluster7067Gitlab::Usage::Metrics::Aggregates::Aggregate7068 .calculate_count_for_aggregation7069 with valid configuration7070 number_of_days: 28, operator: "AND", datasource: "redis_hll", expected_method: :calculate_metrics_intersections7071 returns the number of unique events for aggregation7072 number_of_days: 7, operator: "AND", datasource: "redis_hll", expected_method: :calculate_metrics_intersections7073 returns the number of unique events for aggregation7074 number_of_days: 28, operator: "AND", datasource: "database", expected_method: :calculate_metrics_intersections7075 returns the number of unique events for aggregation7076 number_of_days: 7, operator: "AND", datasource: "database", expected_method: :calculate_metrics_intersections7077 returns the number of unique events for aggregation7078 number_of_days: 28, operator: "OR", datasource: "redis_hll", expected_method: :calculate_metrics_union7079 returns the number of unique events for aggregation7080 number_of_days: 7, operator: "OR", datasource: "redis_hll", expected_method: :calculate_metrics_union7081 returns the number of unique events for aggregation7082 number_of_days: 28, operator: "OR", datasource: "database", expected_method: :calculate_metrics_union7083 returns the number of unique events for aggregation7084 number_of_days: 7, operator: "OR", datasource: "database", expected_method: :calculate_metrics_union7085 returns the number of unique events for aggregation7086 with invalid configuration7087 time_frame: "28d", operator: "SUM", datasource: "redis_hll", expected_error: Gitlab::Usage::Metrics::Aggregates::UnknownAggregationOperator7088 with non prod environment7089 raises error7090 with prod environment7091 returns fallback value7092 time_frame: "7d", operator: "AND", datasource: "mongodb", expected_error: Gitlab::Usage::Metrics::Aggregates::UnknownAggregationSource7093 with non prod environment7094 raises error7095 with prod environment7096 returns fallback value7097 time_frame: "all", operator: "AND", datasource: "redis_hll", expected_error: Gitlab::Usage::Metrics::Aggregates::DisallowedAggregationTimeFrame7098 with non prod environment7099 raises error7100 with prod environment7101 returns fallback value7102 when union data is not available7103 time_frame: "28d", operator: "OR", datasource: "redis_hll"7104 with non prod environment7105 raises error7106 with prod environment7107 returns fallback value7108 time_frame: "7d", operator: "OR", datasource: "database"7109 with non prod environment7110 raises error7111 with prod environment7112 returns fallback value7113Mutations::Security::CiConfiguration::ConfigureSecretDetection7114 is expected to require graphql authorizations :push_code7115 #resolve7116 generates an error if the resource is not accessible to the user7117 when user does not have enough permissions7118 generates an error7119 when user is a maintainer of a different project7120 generates an error7121 when the user does not have permission to create a new branch7122 returns an array of errors7123 when the user can create a merge request7124 when service successfully generates a path to create a new merge request7125 returns a success path7126 when service can not generate any path to create a new merge request7127 returns an array of errors7128Groups::NestedCreateService7129 with subgroups7130 #execute7131 returns the group if it already existed7132 reuses a parent if it already existed7133 creates group and subgroup in the database7134 behaves like with a visibility level7135 creates the group with correct visibility level7136 adding a visibility level7137 overwrites the visibility level7138PersonalAccessTokens::RevokeService7139 #execute7140 when current_user is an administrator7141 when admin mode is enabled7142 behaves like a successfully revoked token7143 is expected to equal true7144 is expected to equal true7145 logs the event7146 when admin mode is disabled7147 behaves like an unsuccessfully revoked token7148 is expected to equal false7149 is expected to equal false7150 when current_user is not an administrator7151 token belongs to a different user7152 behaves like an unsuccessfully revoked token7153 is expected to equal false7154 is expected to equal false7155 token belongs to current_user7156 behaves like a successfully revoked token7157 is expected to equal true7158 is expected to equal true7159 logs the event7160 when source7161 when source is valid7162 behaves like a successfully revoked token7163 is expected to equal true7164 is expected to equal true7165 logs the event7166 when source is invalid7167 raises ArgumentError7168 when source is missing7169 raises ArgumentError7170Resolvers::SnippetsResolver7171 #resolve7172 calls SnippetsFinder7173 when using no filter7174 returns expected snippets7175 when using filters7176 returns the snippets by type7177 returns the snippets by visibility7178 returns snippets to explore7179 returns the snippets by single gid7180 returns the snippets by array of gid7181 generates an error if both project and author are provided7182 by author id7183 returns the snippets7184 by project id7185 returns the snippets7186LabelSerializer7187 #represent7188 when a single object is being serialized7189 serializes the label object7190 when multiple objects are being serialized7191 serializes the array of labels7192 #represent_appearance7193 when represents only appearance7194 serializes only attributes used for appearance7195Releases::EvidencePipelineFinder#execute7196 when the tag is passed7197 returns the evidence pipeline7198 when the ref is passed7199 returns the evidence pipeline7200 empty params7201 returns nil7202 params[:evidence_pipeline] is present7203 returns the passed evidence pipeline7204Gitlab::Lograge::CustomOptions7205 .call7206 ignores some parameters7207 formats the parameters7208 adds the current time7209 adds the user id7210 adds the response length7211 adds Cloudflare headers7212 adds the metadata7213 with log_response_length disabled7214 does not add the response length7215 when metadata is missing7216 does not break7217 trusted payload7218 is expected to include {:remote_ip => "192.168.1.2", :user_id => "test", :ua => "Nyxt", :queue_duration_s => 0.2, :response_bytes => 1234, :etag_route => "/etag", :request_urgency => :default, :target_duration_s => 1, :cf_ray => "e8418d2add54d46333872a9b53ea6270", :cf_request_id => "756ba568fd78f00faac30bde0dc1e019"}7219 payload with rejected fields7220 is expected to include {:request_urgency => :high}7221 is expected not to include {:something => "random"}7222 is expected not to include {:username => nil}7223 when correlation_id is overridden7224 sets the overridden value7225 when feature flags are present7226 and :feature_flag_log_states is enabled7227 adds feature flag events7228 and :feature_flag_log_states is disabled7229 does not track or add feature flag events7230Gitlab::Graphql::Loaders::LazyRelationLoader7231 # order random7232 #load7233 when the association is has many7234 is expected to be an instance of Gitlab::Graphql::Loaders::LazyRelationLoader::RelationProxy7235 #relation7236 without arguments7237 is expected to contain exactly #<Issue id:126 namespace1023/project1023#1> and #<Issue id:127 namespace1023/project1023#2>7238 with arguments7239 is expected to contain exactly #<Issue id:126 namespace1023/project1023#1>7240 using the same context for different records7241 does not mix associated records7242 does not cause N+1 queries7243 using Active Record querying methods7244 is expected to equal 17245 using Active Record finder methods7246 is expected to contain exactly #<Issue id:126 namespace1023/project1023#1> and #<Issue id:127 namespace1023/project1023#2>7247 calling a method that returns a non relation object7248 is expected to equal 17249 calling a prohibited method7250 raises a `PrematureQueryExecutionTriggered` error7251 when the association is has one7252 is expected to eq #<ProjectSetting project_id: 941, created_at: "2023-04-19 10:00:02.352293598 +0000", updated_at: "202...ue, pages_unique_domain_enabled: false, pages_unique_domain: nil, runner_registration_enabled: true>7253 when the association is belongs to7254 raises error7255DesignManagement::DesignsFinder7256 #execute7257 when user can not read designs of an issue7258 returns no results7259 when user can read designs of an issue7260 when design management feature is disabled7261 returns no results7262 when design management feature is enabled7263 returns the designs sorted by their relative position7264 when argument is the ids of designs7265 is expected to eq [#<DesignManagement::Design id:17 namespace1025/project1025#1/designs[homescreen-35.jpg]>]7266 when argument is the filenames of designs7267 is expected to eq [#<DesignManagement::Design id:18 namespace1025/project1025#1/designs[homescreen-36.jpg]>]7268 when passed empty array7269 for filenames7270 is expected to be empty7271 for ids7272 is expected to be empty7273 returning designs that existed at a particular given version7274 when argument is the first version7275 is expected to eq [#<DesignManagement::Design id:17 namespace1025/project1025#1/designs[homescreen-35.jpg]>]7276 when arguments are version and id7277 when id is absent at version7278 is expected to eq []7279 when id is present at version7280 is expected to eq [#<DesignManagement::Design id:18 namespace1025/project1025#1/designs[homescreen-36.jpg]>]7281 when argument is the second version7282 is expected to contain exactly #<DesignManagement::Design id:17 namespace1025/project1025#1/designs[homescreen-35.jpg]> and #<DesignManagement::Design id:18 namespace1025/project1025#1/designs[homescreen-36.jpg]>7283Sidebars::UserSettings::Menus::AuthenticationLogMenu7284 # order random7285 behaves like User settings menu7286 does not contain any sub menu7287 renders the correct link7288 renders the correct title7289 renders the correct icon7290 defines correct active route7291 behaves like User settings menu #render? method7292 #render?7293 when user is logged in7294 renders7295 when user is not logged in7296 does not render7297Gitlab::PrivateCommitEmail7298 .regex7299 is expected to match "1-foo@users.noreply.localhost"7300 is expected not to match "1-foo@users.noreply.localhost.foo"7301 is expected not to match "1-foo@users.noreply.gitlab.com"7302 is expected not to match "foo-1@users.noreply.gitlab.com"7303 is expected not to match "foobar@gitlab.com"7304 .user_id_for_email7305 parses user id from email7306 returns nil on invalid commit email7307 .user_ids_for_email7308 returns deduplicated user IDs for each valid email7309 returns an empty array with no valid emails7310 .for_user7311 returns email in the format id-username@hostname7312Gitlab::Database::Reindexing::Coordinator7313 #perform7314 when executed during the weekend7315 locking7316 acquires a lock while reindexing7317 does not perform reindexing actions if lease is not granted7318 notifications7319 sends #notify_start before reindexing7320 sends #notify_end after reindexing and updating the action is done7321 action tracking7322 calls #finish on the action7323 upon error, it still calls finish and raises the error7324 when executed during the week7325 does not start reindexing7326 #drop7327 when executed during the weekend7328 when exclusive lease is granted7329 drops the index with lock retries7330 when exclusive lease is not granted7331 does not drop the index7332 when executed during the week7333 does not start reindexing7334Atlassian::JiraConnect::Serializers::RepositoryEntity7335 is expected to match schema "jira_connect/repository"7336 with custom update_sequence_id7337 passes the update_sequence_id on to the nested entities7338Sidebars::UserSettings::Menus::ActiveSessionsMenu7339 # order random7340 behaves like User settings menu #render? method7341 #render?7342 when user is logged in7343 renders7344 when user is not logged in7345 does not render7346 behaves like User settings menu7347 does not contain any sub menu7348 renders the correct link7349 renders the correct title7350 renders the correct icon7351 defines correct active route7352Mutations::Todos::RestoreMany7353 #resolve7354 restores a single todo7355 handles a todo which is already pending as expected7356 ignores requests for todos which do not belong to the current user7357 restores multiple todos7358 fails if one todo does not belong to the current user7359 fails if too many todos are requested for update7360Gitlab::GithubImport::Stage::ImportIssuesAndDiffNotesWorker7361 #import7362 imports the issues and diff notes7363 #importers7364 when optional stage single_endpoint_notes_import is enabled7365 includes single endpoint diff notes importer7366 when optional stage single_endpoint_notes_import is disabled7367 includes default diff notes importer7368Sidebars::UserProfile::Menus::StarredProjectsMenu7369 # order random7370 behaves like User profile menu7371 does not contain any sub menu7372 renders the correct link7373 renders the correct title7374 defines correct active route7375 renders if user is logged in7376 when viewed user is blocked7377 when user is not logged in7378 is not allowed to view the menu item7379 when current user has permission7380 is allowed to view the menu item7381 when current user does not have permission7382 is not allowed to view the menu item7383 when viewed user is banned7384 when user is not logged in7385 is not allowed to view the menu item7386 when current user has permission7387 is allowed to view the menu item7388 when current user does not have permission7389 is not allowed to view the menu item7390Gitlab::Audit::Target7391 #id7392 returns object id7393 #type7394 returns object class name7395 #details7396 name: "jackie", audit_details: "wanderer", details: "jackie"7397 returns details7398 name: "jackie", audit_details: nil, details: "jackie"7399 returns details7400 name: nil, audit_details: "wanderer", details: "wanderer"7401 returns details7402 name: nil, audit_details: nil, details: "unknown"7403 returns details7404API::Helpers::Authentication7405 class methods7406 .authenticate_with7407 sets namespace_inheritable :authentication to correctly when body is empty7408 sets namespace_inheritable :authentication to correctly when body is not empty7409 helper methods7410 #token_from_namespace_inheritable7411 with no allowed authentication strategies7412 behaves like an anonymous request7413 returns nil7414 with no located credentials7415 behaves like an anonymous request7416 returns nil7417 with one set of located credentials7418 when the credentials contain a valid token7419 behaves like an authenticated request7420 returns the token7421 when the credentials do not contain a valid token7422 behaves like an unauthorized request7423 behaves like stops early7424 calls #unauthorized!7425 with multiple located credentials7426 behaves like stops early7427 calls #bad_request!7428 when a resolver raises UnauthorizedError7429 behaves like an unauthorized request7430 behaves like stops early7431 calls #unauthorized!7432 #access_token_from_namespace_inheritable7433 returns #token_from_namespace_inheritable if it is a personal access token7434 returns nil if #token_from_namespace_inheritable is not a personal access token7435 #ci_build_from_namespace_inheritable7436 returns #token_from_namespace_inheritable if it is a ci build7437 returns nil if #token_from_namespace_inheritable is not a ci build7438 #user_from_namespace_inheritable7439 returns #token_from_namespace_inheritable if it is a deploy token7440 returns #token_from_namespace_inheritable.user if the token is not a deploy token7441 falls back to #find_user_from_warden if #token_from_namespace_inheritable.user is nil7442 falls back to #find_user_from_warden if #token_from_namespace_inheritable is nil7443StageSerializer7444 #represent7445 with a single entity7446 serializes the stage object7447 with an array of entities7448 serializes the array of pipelines7449MergeRequests::ExecuteApprovalHooksWorker7450 calls MergeRequests::ExecuteApprovalHooksService7451 behaves like subscribes to event7452 consumes the published event7453 behaves like an idempotent worker7454 is labeled as idempotent7455 performs multiple times sequentially without raising an exception7456 when the user does not exist7457 behaves like when object does not exist7458 logs and does not call MergeRequests::ExecuteApprovalHooksService7459 when the merge request does not exist7460 behaves like when object does not exist7461 logs and does not call MergeRequests::ExecuteApprovalHooksService7462Gitlab::GithubImport::Clients::Proxy7463 # order random7464 is expected to delegate #octokit to the #client object7465 is expected to delegate #each_object to the #client object7466 is expected to delegate #user to the #client object7467 #repos7468 when remove_legacy_github_client FF is enabled7469 fetches repos with Gitlab::GithubImport::Client (GraphQL API)7470 when remove_legacy_github_client FF is disabled7471 fetches repos with Gitlab::LegacyGithubImport::Client7472 with filter params7473 fetches repos with Gitlab::LegacyGithubImport::Client7474 #count_by7475 when remove_legacy_github_client FF is enabled7476 when value is cached7477 returns repository count from cache7478 when value is not cached7479 returns repository count7480 when remove_legacy_github_client FF is disabled7481 returns nil7482Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithMlExperimentsMetric7483 # order random7484 behaves like a correct instrumented metric value and query7485 behaves like a correct instrumented metric value7486 has correct value7487 behaves like a correct instrumented metric query7488 has correct generate query7489Gitlab::Utils::MimeType7490 # order random7491 .from_io7492 input isn't an IO7493 returns nil7494 input is a file7495 fixture: "banana_sample.gif", mime_type: "image/gif"7496 is expected to eq "image/gif"7497 fixture: "rails_sample.jpg", mime_type: "image/jpeg"7498 is expected to eq "image/jpeg"7499 fixture: "rails_sample.png", mime_type: "image/png"7500 is expected to eq "image/png"7501 fixture: "rails_sample.bmp", mime_type: "image/bmp"7502 is expected to eq "image/bmp"7503 fixture: "rails_sample.tif", mime_type: "image/tiff"7504 is expected to eq "image/tiff"7505 fixture: "sample.ico", mime_type: "image/vnd.microsoft.icon"7506 is expected to eq "image/vnd.microsoft.icon"7507 fixture: "blockquote_fence_before.md", mime_type: "text/plain"7508 is expected to eq "text/plain"7509 fixture: "csv_empty.csv", mime_type: "application/x-empty"7510 is expected to eq "application/x-empty"7511 .from_string7512 input isn't a string7513 returns nil7514 input is a string7515 is expected to eq "text/plain"7516Gitlab::QuickActions::TimelineTextAndDateTimeSeparator7517 # order random7518 execute7519 with invalid parameters in arg line7520 with empty arg line7521 behaves like arg line with invalid parameters7522 returns nil7523 with invalid date7524 behaves like arg line with invalid parameters7525 returns nil7526 behaves like arg line with invalid parameters7527 returns nil7528 behaves like arg line with invalid parameters7529 returns nil7530 with invalid time7531 behaves like arg line with invalid parameters7532 returns nil7533 when date is invalid in arg line7534 return current date7535 with valid parameters7536 when only timeline text present in arg line7537 behaves like arg line with valid parameters7538 returns text and date time array7539 when only timeline text and time present in arg line7540 behaves like arg line with valid parameters7541 returns text and date time array7542 when timeline text and date is present in arg line7543 behaves like arg line with valid parameters7544 returns text and date time array7545Gitlab::ImportExport::AvatarSaver7546 saves a project avatar7547 is fine not to have an avatar7548IncidentManagement::LinkAlerts::DestroyService7549 # order random7550 #execute7551 when current user is a guest7552 responds with error7553 does not unlink alert from the incident7554 when current user is a developer7555 responds with success7556 when unlinking internal alert7557 unlinks the alert7558 when unlinking external alert7559 unlinks the alert7560 when unlinking an alert not related to the incident7561 does not change the incident's alerts7562 does not change another incident's alerts7563 does not change the alert's incident7564Gitlab::GonHelper7565 #add_gon_variables7566 when HTTPS is enabled7567 sets the secure flag to true7568 when HTTP is enabled7569 sets the secure flag to false7570 when sentry is configured7571 with legacy sentry configuration7572 sets sentry dsn and environment from config7573 with sentry settings7574 when enable_new_sentry_clientside_integration is disabled7575 does not set sentry dsn and environment from config7576 when enable_new_sentry_clientside_integration is enabled7577 sets sentry dsn and environment from config7578 #push_frontend_feature_flag7579DEPRECATION WARNING: Invalid Feature Flag my_feature_flag stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)7580 pushes a feature flag to the frontend7581 #push_force_frontend_feature_flag7582 pushes a feature flag to the frontend with the provided value7583 pushes a disabled feature flag if provided value is nil7584 #default_avatar_url7585 returns an absolute URL7586Gitlab::ImportExport::SnippetRepoSaver7587 bundle a project Git repo7588 with project snippet7589 bundles the repo successfully7590 when snippet does not have a repository7591 returns true7592 does not create any file7593Resolvers::BranchCommitResolver7594 #resolve7595 resolves commit7596 sets project container7597 is N+1 safe7598 when branch does not exist7599 returns nil7600MergeRequests::ExecuteApprovalHooksService7601 #execute7602 sends a notification when approving7603 with remaining approvals7604 fires an approval webhook7605AwardEmojiPresenter7606 #description7607 is expected to eq "thumbs up sign"7608 #unicode7609 is expected to eq "1f44d"7610 #unicode_version7611 is expected to eq "6.0"7612 #emoji7613 is expected to eq "👍"7614 when presenting an award emoji with an invalid name7615 returns nil for all properties7616ProjectCustomAttribute7617 assocations7618 is expected to belong to project required: false7619 validations7620 is expected to validate that :project cannot be empty/falsy7621 is expected to validate that :key cannot be empty/falsy7622 is expected to validate that :value cannot be empty/falsy7623 is expected to validate that :key is case-sensitively unique within the scope of :project_id7624Gitlab::UsageDataCounters::MergeRequestCounter7625 behaves like a redis usage counter7626 .count(create)7627 increments the Merge Request create counter by 17628 .read(create)7629 returns the total number of create events7630 behaves like a redis usage counter with totals7631 totals7632 can report all totals7633 unknown events7634 cannot increment7635 cannot read7636Gitlab::Identifier7637 #identify7638 without an identifier7639 returns nil7640 with a user identifier7641 identifies the user using a user ID7642 with an SSH key identifier7643 identifies the user using an SSH key ID7644 #identify_using_user7645 returns the User for an existing ID in the identifier7646 returns nil for a non existing user ID7647 caches the found users per ID7648 #identify_using_ssh_key7649 returns the User for an existing SSH key7650 returns nil for an invalid SSH key7651 caches the found users per key7652BulkImports::Common::Pipelines::BadgesPipeline7653 #run7654 imports a group badge7655 when project entity7656 imports a project badge & skips group badge7657 #transform7658 return transformed badge hash7659 when data is blank7660 does nothing when the data is blank7661 when project entity & group badge7662 returns7663Types::Ci::JobType7664 is expected to eq "CiJob"7665 is expected to expose permissions using Types::PermissionTypes::Ci::Job7666 exposes the expected fields7667 #web_path7668 returns the web path of the job7669 #browse_artifacts_path7670 returns the path to browse the artifacts of the job7671ProtectedBranchAccessPolicy7672 # order random7673 as guests7674 can not be read7675 as maintainers7676 can be read7677Gitlab::Ci::Status::Failed7678 #text7679 is expected to eq "failed"7680 #label7681 is expected to eq "failed"7682 #icon7683 is expected to eq "status_failed"7684 #favicon7685 is expected to eq "favicon_status_failed"7686 #group7687 is expected to eq "failed"7688 #details_path7689 is expected to be nil7690RecaptchaHelper7691 .show_recaptcha_sign_up?7692 is expected to eq true7693 when setting is disabled7694 is expected to eq false7695 when it is a QA request7696 is expected to eq false7697 .recaptcha_enabled_on_login?7698 is expected to eq true7699 when setting is disabled7700 is expected to eq false7701 when it is a QA request7702 is expected to eq false7703Gitlab::Database::AsyncIndexes::PostgresAsyncIndex7704 is expected to be a kind of Gitlab::Database::SharedModel(abstract)7705 validations7706 is expected to validate that :name cannot be empty/falsy7707 is expected to validate that the length of :name is at most 637708 is expected to validate that :table_name cannot be empty/falsy7709 is expected to validate that the length of :table_name is at most 637710 is expected to validate that :definition cannot be empty/falsy7711 is expected to validate that the length of :definition is at most 20487712 is expected to validate that the length of :last_error is at most 100007713 scopes7714 .to_create7715 is expected to contain exactly #<Gitlab::Database::AsyncIndexes::PostgresAsyncIndex id: 2, created_at: "2023-04-19 10:00:46.65771179...inition: "CREATE INDEX users_id_1 ON users (id)", table_name: "users", attempts: 0, last_error: nil>7716 .to_drop7717 is expected to contain exactly #<Gitlab::Database::AsyncIndexes::PostgresAsyncIndex id: 3, created_at: "2023-04-19 10:00:46.66199274...users_id_2", definition: "DROP INDEX users_id_2", table_name: "users", attempts: 0, last_error: nil>7718 .ordered7719 is expected to contain exactly #<Gitlab::Database::AsyncIndexes::PostgresAsyncIndex id: 3, created_at: "2023-04-19 10:00:46.66199274...users_id_2", definition: "DROP INDEX users_id_2", table_name: "users", attempts: 0, last_error: nil>7720 #handle_exception!7721 increases the attempts number7722 saves error details7723BulkImports::Projects::Pipelines::SnippetsPipeline7724 #run7725 imports snippet into destination project7726 with award_emoji7727 restores the award_emoji7728 with notes7729 restores the notes7730Model::ModelGenerator7731 when generating a model7732 create db/migrate/20230419100049_create_model_generator_test_foos.rb7733 create app/models/model_generator_test_foo.rb7734 invoke rspec7735 create spec/models/model_generator_test_foo_spec.rb7736 creates the model file with the right content7737 create db/migrate/20230419100049_create_model_generator_test_foos.rb7738 create app/models/model_generator_test_foo.rb7739 invoke rspec7740 create spec/models/model_generator_test_foo_spec.rb7741 creates the migration file with the right content7742 create db/migrate/20230419100049_create_model_generator_test_foos.rb7743 create app/models/model_generator_test_foo.rb7744 invoke rspec7745 create spec/models/model_generator_test_foo_spec.rb7746 creates the spec file with the right content7747Packages::Composer::Metadatum7748 relationships7749 is expected to belong to package required: false7750 validations7751 is expected to validate that :package cannot be empty/falsy7752 is expected to validate that :target_sha cannot be empty/falsy7753 is expected to validate that :composer_json cannot be empty/falsy7754 #composer_package_type7755 when the metadatum package_type is Composer7756 is expected to be valid7757 when the metadatum has no associated package7758 behaves like an invalid record7759 is expected to include "Package type must be Composer"7760 when the metadatum package_type is not Composer7761 behaves like an invalid record7762 is expected to include "Package type must be Composer"7763 scopes7764 .for_package7765 is expected to eq [#<Packages::Composer::Metadatum package_id: 15, target_sha: "0a81093e2b88a5968f5c3e9a826e640966c38cf3", composer_json: {"name"=>"sample-project"}, version_cache_sha: nil>]7766gitlab:metrics_exporter:install7767 # order random7768 when no target directory is specified7769Please specify the directory where you want to install the exporter7770Usage: rake "gitlab:metrics_exporter:install[/installation/dir]"7771 aborts with an error message7772 when target directory is specified7773 installs the exporter with gmake7774 installs the exporter with make7775 when dependencies are missing7776Couldn't find a 'make' binary7777 aborts with an error message7778 when overriding version via environment variable7779 clones from repository with that version instead7780Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::UntilExecuting7781 behaves like deduplicating jobs when scheduling7782 #schedule7783 checks for duplicates before yielding7784 checks worker options for scheduled jobs7785 job marking7786 adds the jid of the existing job to the job hash7787 scheduled jobs7788 scheduled in the past7789 adds the jid of the existing job to the job hash7790 scheduled in the future7791 adds the jid of the existing job to the job hash7792 when the job is not duplicate7793 does not return false nor drop the job7794 when the job is droppable7795 updates latest wal location7796 returns false to drop the job7797 logs that the job was dropped7798 logs the deduplication options of the worker7799 #perform7800 updates job hash with dedup_wal_locations7801 when latest_wal_location is empty7802 does not update job hash with dedup_wal_locations7803 #perform7804 deletes the lock before executing7805Pages::VirtualDomain7806 #certificate and #key pair7807 returns nil if there is no domain provided7808 when Pages domain is provided7809 returns certificate and key from the provided domain7810 #lookup_paths7811 when there is pages domain provided7812 returns collection of projects pages lookup paths sorted by prefix in reverse7813 when there is trim_prefix provided7814 returns collection of projects pages lookup paths sorted by prefix in reverse7815 #cache_key7816 returns the cache key based in the given cache_control7817 returns nil when no cache_control is given7818Packages::Rubygems::CreateGemspecService7819 #execute7820 creates a new package file7821 with FIPS mode7822 does not generate file_md57823Tooling::KubernetesClient7824 #cleanup_namespaces_by_created_at7825 when no namespaces are stale7826 does not delete any namespace7827 when some namespaces are stale7828 when some namespaces are not review app namespaces7829 only deletes the review app namespaces7830 when all namespaces are review app namespaces7831 deletes all of the stale namespaces7832 #delete_namespaces7833 when at least one namespace is not a review app namespace7834 does not delete any namespace7835 when all namespaces are review app namespaces7836 deletes the namespaces7837 #namespaces_created_before7838 returns an array of namespaces7839 #run_command7840 when executing a successful command7841 displays the name of the command to stdout7842 does not raise an error7843 when executing an unsuccessful command7844 displays the name of the command to stdout7845 raises an error7846Gitlab::SQL::Except7847 behaves like SQL set operator7848 .operator_keyword7849 is expected to eq "EXCEPT"7850 #to_sql7851 returns a String joining relations together using a EXCEPT7852 skips Model.none segments7853 uses EXCEPT ALL when removing duplicates is disabled7854 returns `NULL` if all relations are empty7855 when uneven select values are used7856 raises error7857 remove_order parameter7858 when remove_order: true7859 removes the ORDER BY from the query7860 when remove_order: false7861 does not remove the ORDER BY from the query7862Resolvers::Users::GroupsResolver7863 #resolve7864 when resolver object is current user7865 is expected to match [#<Group id:3358 @a-public-maintainer>, #<Group id:3359 @a-public-owner>, #<Group id:3356 @b-private-maintainer>, #<Group id:3357 @c-public-developer>, #<Group id:3355 @public-guest>]7866 when permission is :create_projects7867 is expected to match [#<Group id:3358 @a-public-maintainer>, #<Group id:3359 @a-public-owner>, #<Group id:3356 @b-private-maintainer>, #<Group id:3357 @c-public-developer>]7868 when permission is :transfer_projects7869 is expected to match [#<Group id:3358 @a-public-maintainer>, #<Group id:3359 @a-public-owner>, #<Group id:3356 @b-private-maintainer>]7870 when search is provided7871 is expected to match [#<Group id:3358 @a-public-maintainer>, #<Group id:3356 @b-private-maintainer>]7872 when resolver object is different from current user7873 is expected to be nil7874 when current_user is admin7875 is expected to match [#<Group id:3358 @a-public-maintainer>, #<Group id:3359 @a-public-owner>, #<Group id:3356 @b-private-maintainer>, #<Group id:3357 @c-public-developer>, #<Group id:3355 @public-guest>]7876Gitlab::Allowable7877 #can?7878 when user is allowed to do something7879 reports correct ability to perform action7880 when user is not allowed to do something7881 reports correct ability to perform action7882Gitlab::GitalyClient::StorageSettings7883 #initialize7884 when the storage contains no path7885 raises an error7886 when the argument isn't a hash7887 raises an error7888 when the storage is valid7889 raises no error7890 .gitaly_address7891 when the storage settings have no gitaly address but one is requested7892 raises an error7893 when the storage settings have a gitaly address and one is requested7894 returns the setting value7895 when the storage settings have a gitaly address keyed symbolically7896 raises no error7897 when the storage settings have a gitaly address keyed with a string7898 raises no error7899 .disk_access_denied?7900 when Rugged is enabled7901 returns false7902 when Rugged is disabled7903 returns true7904Gitlab::Ci::Status::Group::Common7905 does not have action7906 has details7907 has no details_path7908Gitlab::ImportExport::Project::RelationSaver7909 #save7910 when relation is the root node7911 serializes the root node as a json file in the export path7912 serializes only allowed attributes7913 successfuly serializes without errors7914 when relation is a child node7915 serializes the child node as a ndjson file in the export path inside the project folder7916 serializes only allowed attributes7917 successfuly serializes without errors7918 when relation name is not supported7919 returns false and register the error7920 when an exception occurs during serialization7921 returns false and register the exception error message7922TodosDestroyer::DestroyedDesignsWorker7923 calls the Todos::Destroy::DesignService with design_ids parameter7924DependencyProxy::HeadManifestService7925 remote request is successful7926 is expected to eq :success7927 is expected to eq "12345"7928 remote request is not found7929 is expected to eq :error7930 is expected to eq 4047931 is expected to eq "Not found"7932 net timeout exception7933 is expected to eq :error7934 is expected to eq 5997935 is expected to eq "execution expired"7936UserGroupsCounter7937 #execute7938 returns authorized group count for the user7939 when request to join group is pending7940 does not include pending group in the count7941 when user is part of sub group7942 includes sub group in the count7943 when user is part of namespaced project7944 includes the project group7945Gitlab::Ci::Reports::CodequalityMrDiff7946 #initialize!7947 when quality has degradations7948 with several degradations on the same line7949 generates quality report for mr diff7950 with several degradations on several files7951 returns quality report for mr diff7952 when quality has no degradation7953 returns an empty hash7954TestReportsComparerEntity7955 #as_json7956 when head and base reports include two test suites7957 when the status of head report is success7958 contains correct compared test reports details7959 when the status of head report is failed7960 contains correct compared test reports details7961 when the status of head report is resolved7962 contains correct compared test reports details7963Gitlab::Auth::Atlassian::IdentityLinker7964 linked identity exists7965 sets #changed? to false7966 does not mark as failed7967 identity already linked to different user7968 sets #changed? to false7969 exposes error message7970 identity needs to be created7971 sets #changed? to true7972 behaves like an atlassian identity7973 sets the proper values7974Clusters::Cleanup::ServiceAccountService7975 #execute7976 deletes gitlab service account7977 logs all events7978 deletes cluster7979 when cluster.kubeclient is nil7980 deletes cluster7981 when there is a Kubeclient::HttpError7982 destroys cluster7983 destroys cluster7984 destroys cluster7985InvalidGpgSignatureUpdateWorker7986 when GpgKey is found7987 calls NotificationService.new.run7988 when GpgKey is not found7989 does not raise errors7990 does not call NotificationService.new.run7991Gitlab::Database::Migrations::BatchedMigrationLastId7992 # order random7993 base_model: ApplicationRecord(abstract)7994 #read7995 when the file exists and have content7996 is expected to eq 997997 when the file exists and is blank7998 is expected to be nil7999 when the file doesn't exists8000 is expected to be nil8001 #store8002 creates the file properly8003 stores the proper id in the file8004 base_model: Ci::ApplicationRecord(abstract)8005 #read8006 when the file exists and have content8007 is expected to eq 998008 when the file exists and is blank8009 is expected to be nil8010 when the file doesn't exists8011 is expected to be nil8012 #store8013 creates the file properly8014 stores the proper id in the file8015Gitlab::Database::Reindexing::ReindexAction8016 is expected to be a kind of Gitlab::Database::SharedModel(abstract)8017 .create_for8018 creates a new record for the given index8019 #finish8020 sets #action_end8021 sets #ondisk_size_bytes_end after reloading the index record8022 saves the record8023 setting #state8024 sets #state to finished if not given8025 sets #state to finished if not set to started8026 does not change state if set to failed8027Gitlab::Ci::Reports::Security::Reports8028 #get_report8029 when report type is sast8030 is expected to eq "sast"8031 is expected to eq 2023-04-19 10:01:10.128112135 +00008032 initializes a new report and returns it8033 when report type is already allocated8034 does not initialize a new report8035 #findings8036 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Finding:0x00007f47db9bb548 @compare_key="find_sec_bugs_type:PREDICTA...bled=false, @found_by_pipeline=nil, @project_fingerprint="2022699924e21aad89e1df0a59c227aa6e9234fe"> and #<Gitlab::Ci::Reports::Security::Finding:0x00007f47dba62500 @compare_key="find_sec_bugs_type:PREDICTA...bled=false, @found_by_pipeline=nil, @project_fingerprint="2022699924e21aad89e1df0a59c227aa6e9234fe">8037Gitlab::Tracking::ServicePingContext8038 # order random8039 #init8040 with valid configuration8041 data_source: :redis, event: nil, key_path: "counts.some_metric"8042 does not raise errors8043 data_source: :redis_hll, event: "some_event", key_path: nil8044 does not raise errors8045 with invalid configuration8046 data_source: :redis, event: nil, key_path: nil8047 does not raise errors8048 data_source: :redis, event: "some_event", key_path: nil8049 does not raise errors8050 data_source: :redis_hll, event: nil, key_path: nil8051 does not raise errors8052 data_source: :redis_hll, event: nil, key_path: "some key_path"8053 does not raise errors8054 data_source: :random, event: "some_event", key_path: nil8055 does not raise errors8056 #to_context8057 for redis_hll data source8058 contains event_name8059 for redis data source8060 contains event_name8061Ci::AbortPipelinesService8062 #execute8063 with project pipelines8064 fails all running pipelines and related jobs8065 avoids N+1 queries8066 with live build logs8067 makes failed builds with stale trace visible8068Packages::Nuget::PackageMetadataPresenter8069 #json_url8070 is expected to end with "/api/v4/projects/995/packages/nuget/metadata/NugetPackage1/1.0.1.json"8071 #archive_url8072 is expected to end with "/api/v4/projects/995/packages/nuget/download/NugetPackage1/1.0.1/NugetPackage1.1.0.1.nupkg"8073 with package files pending destruction8074 is expected not to include "pending_destruction.nupkg"8075 #catalog_entry8076 returns an entry structure8077Projects::PipelineHelper8078 #js_pipeline_tabs_data8079 returns pipeline tabs data8080RuboCop::Cop::Migration::PreventStrings8081 # order random8082 when outside of migration8083 registers no offense8084 when in migration8085 when the string data type is used8086 registers an offense8087 when the string data type is not used8088 registers no offense8089 when the text data type is used8090 registers no offense8091 when the string data type is used for arrays8092 registers no offense8093 when using down method8094 registers no offense8095Projects::ContainerRepository::ThirdParty::DeleteTagsService8096 #execute8097 with tags to delete8098 deletes the tags by name8099 succeeds when tag delete returns 4048100 with failures8101 when the dummy manifest generation fails8102 is expected to eq {:message=>"could not generate manifest", :status=>:error}8103 when updating tags fails8104 all tag updates fail8105 is expected to eq {:message=>"could not delete tags: A, Ba", :status=>:error}8106 when a large list of tag updates fails8107 truncates the log message8108 a single tag update fails8109 is expected to eq {:deleted=>["A"], :status=>:success}8110 with empty tags8111 does not remove anything8112UpdateMergeRequestsWorker8113 #perform8114 executes MergeRequests::RefreshService with expected values8115 when push options are passed as Hash8116 executes MergeRequests::RefreshService with expected values8117Sidebars::UserSettings::Menus::AccountMenu8118 # order random8119 behaves like User settings menu8120 does not contain any sub menu8121 renders the correct link8122 renders the correct title8123 renders the correct icon8124 defines correct active route8125 behaves like User settings menu #render? method8126 #render?8127 when user is logged in8128 renders8129 when user is not logged in8130 does not render8131RuboCop::Cop::SidekiqLoadBalancing::WorkerDataConsistency8132 # order random8133 when data_consistency set to :always8134 adds an offense when using `always` data_consistency8135 adds no offense when using `sticky` data_consistency8136 adds no offense when using `delayed` data_consistency8137 adds no offense when worker is not an ApplicationWorker8138 when data_consistency is not set8139 adds an offense when not defining data_consistency8140 adds no offense when defining data_consistency8141 adds no offense when worker is not an ApplicationWorker8142ApplicationsFinder8143 #execute8144 returns an array of instance applications8145 by_id8146 with existing id8147 returns the application8148 with invalid id8149 returns nil for user application8150 returns nil for group application8151 returns nil for non-existing application8152Users::RespondToTermsService8153 #execute8154 creates a new agreement if it did not exist8155 updates an agreement if it existed8156 adds the accepted terms to the user8157 removes accepted terms when declining8158AuthorizedProjectUpdate::UserRefreshOverUserRangeWorker8159 behaves like worker with data consistency8160 .get_data_consistency_feature_flag_enabled?8161 returns true8162 .get_data_consistency8163 returns correct data consistency8164 #perform8165 checks if project authorization update is required8166 checks if a project_authorization refresh is needed for each of the users8167 when there are project authorization records due for either removal or addition for a specific user8168 enqueues a new project authorization update job for the user8169 when there are no additions or removals to be made to project authorizations for a specific user8170 does not enqueue a new project authorization update job for the user8171Clusters::Agents::CreateActivityEventService8172 #execute8173 creates an activity event record8174 schedules the cleanup worker8175 when activity event creation fails8176 tracks the exception without raising8177Gitlab::Middleware::MemoryReport8178 #call8179 when the Rails environment is not development8180 behaves like returns original response8181 returns original response8182 does not call the MemoryProfiler8183 when the Rails environment is development8184 when memory report is not requested8185 behaves like returns original response8186 returns original response8187 does not call the MemoryProfiler8188 when memory report is requested8189 returns a memory report8190 when something goes wrong with creating the report8191 logs the error8192 returns the error8193devise/shared/_signup_box8194 when terms are enforced8195 when on .com8196 shows expected GitLab text8197 when not on .com8198 shows expected text without GitLab8199 when terms are not enforced8200 shows expected text with placeholders8201 using the borderless option8202 renders with a border by default8203 renders without a border when borderless is truthy8204BulkImports::LfsObjectsExportService8205 #execute8206 exports lfs objects and their repository types8207 when lfs object has file on disk missing8208 does not attempt to copy non-existent file8209 when lfs object is remotely stored8210 downloads lfs object from object storage8211Gitlab::QuickActions::SpendTimeAndDateSeparator8212 #execute8213 invalid paramenter in arg line8214 empty arg line8215 behaves like arg line with invalid parameters8216 return nil8217 future date in arg line8218 behaves like arg line with invalid parameters8219 return nil8220 unparseable date(invalid mixes of delimiters)8221 behaves like arg line with invalid parameters8222 return nil8223 trash in arg line8224 return nil as time value8225 only time present in arg line8226 behaves like arg line with valid parameters8227 return time and date array8228 simple time with date in arg line8229 behaves like arg line with valid parameters8230 return time and date array8231 composite time with date in arg line8232 behaves like arg line with valid parameters8233 return time and date array8234BulkImports::FileExportService8235 #execute8236 executes export service and archives exported data for each file relation8237 when unsupported relation is passed8238 raises an error8239 #exported_filename8240 returns filename of the exported file8241Gitlab::Metrics::Dashboard::Cache8242 .fetch8243 stores data correctly8244 .for8245 returns a new instance8246 #fetch8247 stores data correctly8248 #delete_all!8249 deletes keys of the given project8250 does not fail when nothing to delete8251 multiple fetches and deletes8252 aggregate_failures8253WorkItems::HierarchyRestriction8254 # order random8255 associations8256 is expected to belong to parent_type required: false8257 is expected to belong to child_type required: false8258 validations8259 is expected to validate that :parent_type cannot be empty/falsy8260 is expected to validate that :child_type cannot be empty/falsy8261 is expected to validate that :child_type is case-sensitively unique within the scope of :parent_type_id8262Banzai::CrossProjectReference8263 #parent_from_ref8264 when no project was referenced8265 returns the project from context8266 when no project was referenced in group context8267 returns the group from context8268 when referenced project does not exist8269 returns nil8270 when referenced project exists8271 returns the referenced project8272 when reference cache is loaded8273 pulls from the reference cache8274Gitlab::Diff::ParallelDiff8275 #parallelize8276 returns an array of arrays containing the parsed diff8277DisallowTwoFactorForGroupWorker8278 updates group8279 updates group members8280Sidebars::Projects::Menus::SnippetsMenu8281 behaves like serializable as super_sidebar_menu_args8282 returns hash with provided attributes8283 returns hash with an item_id8284 #render?8285 when user cannot access snippets8286 returns false8287 when user can access snippets8288 returns true8289Gitlab::Ci::Status::Skipped8290 #text8291 is expected to eq "skipped"8292 #label8293 is expected to eq "skipped"8294 #icon8295 is expected to eq "status_skipped"8296 #favicon8297 is expected to eq "favicon_status_skipped"8298 #group8299 is expected to eq "skipped"8300 #details_path8301 is expected to be nil8302Gitlab::Usage::Metrics::Instrumentations::RedisHLLMetric8303 raise exception if events options is not present8304 for 28d8305 behaves like a correct instrumented metric value8306 has correct value8307 for 7d8308 behaves like a correct instrumented metric value8309 has correct value8310 children classes8311 availability not defined8312 returns default availability8313 availability defined8314 returns defined availability8315Ci::DeleteObjectsWorker8316 is expected to be truthy8317 is expected to respond to #max_running_jobs8318 is expected to respond to #remaining_work_count8319 is expected to respond to #perform_work8320 #perform8321 executes a service8322Gitlab::Graphql::MountMutation8323 .mount_mutation8324 mounts a mutation8325 .mount_aliased_mutation8326 mounts a mutation8327 has a correct `graphql_name`8328 has a correct type8329 has a correct input argument8330Terraform/Module-Base.gitlab-ci.yml8331 # order random8332 the created pipeline8333 does not create any jobs8334Terraform::ModulesPresenter8335 #modules8336 is expected to be a kind of Array8337 is expected to be a kind of Hash8338 is expected to match schema "public_api/v4/packages/terraform/modules/v1/modules"8339Packages::Nuget::DependencyLinkMetadatum8340 relationships8341 is expected to belong to dependency_link required: false8342 validations8343 is expected to validate that :dependency_link cannot be empty/falsy8344 is expected to validate that :target_framework cannot be empty/falsy8345 #ensure_nuget_package_type8346 validates package of type nuget8347 validates package of type nuget with nil dependency_link8348Gitlab::Ci::MaskSecret8349 #mask8350 masks exact number of characters8351 masks multiple occurrences8352 does not mask if not found8353 does support null token8354 does not change a bytesize of a value8355Gitlab::Ci::Pipeline::Chain::CancelPendingPipelines8356 #perform!8357 enqueues CancelRedundantPipelinesWorker8358Namespaces::RandomizedSuffixPath8359 # order random8360 #call8361 returns path without count when count is 08362 returns path suffixed with count when between 0 and 48363 adds a "randomized" suffix when MAX_TRIES is exhausted8364 adds an offset to the "randomized" suffix when MAX_TRIES is exhausted8365 #to_s8366 represents with given path8367AnalyticsMergeRequestSerializer8368 when there is a single object provided8369 contains important elements of the merge request8370BulkImports::Projects::Graphql::GetRepositoryQuery8371 has a valid query8372 returns project repository url8373 queries project based on source_full_path8374Types::CustomerRelations::ContactType8375 is expected to eq "CustomerRelationsContact"8376 is expected to have graphql fields "id", "organization", "first_name", "last_name", "phone", "email", "description", "active", "created_at", and "updated_at"8377 is expected to require graphql authorizations :read_crm_contact8378devise/shared/_signin_box8379 Crowd form8380 is shown when Crowd is enabled8381 is not shown when Crowd is disabled8382 Base form8383 renders user_login label8384Marginalia spec8385 For rails web requests8386 generates a query that includes the component and value8387 when using CI database8388 generates a query that includes the component and value8389 for Sidekiq worker jobs8390 generates a query that includes the component and value8391 for ActionMailer delivery jobs8392 generates a query that includes the component and value8393Packages::PackageFileBuildInfo8394 relationships8395 is expected to belong to package_file required: false8396 is expected to belong to pipeline required: false8397Gitlab::Ci::Interpolation::Block8398 # order random8399 knows its content8400 properly evaluates the access pattern8401 .match8402 matches each block in a string8403 matches an empty block8404Import::GitlabProjects::RemoteFileValidator8405 does nothing when the oject is valid8406 content_length validation8407 is invalid with file too small8408 is invalid with file too large8409 content_type validation8410 only allows ALLOWED_CONTENT_TYPES as content_type8411Gitlab::Diff::InlineDiffMarker8412 #mark8413 when the rich text is html safe8414 marks the range8415 when the text is not html safe8416 marks the range8417API::Entities::Nuget::Metadatum8418 is expected to eq {:iconUrl=>"http://sandbox.com/icon", :licenseUrl=>"http://sandbox.com/license", :projectUrl=>"http://sandbox.com/project"}8419 metadatum without project_url8420 is expected to eq {:iconUrl=>"http://sandbox.com/icon", :licenseUrl=>"http://sandbox.com/license"}8421 metadatum without license_url8422 is expected to eq {:iconUrl=>"http://sandbox.com/icon", :projectUrl=>"http://sandbox.com/project"}8423 metadatum without icon_url8424 is expected to eq {:licenseUrl=>"http://sandbox.com/license", :projectUrl=>"http://sandbox.com/project"}8425Types::IncidentManagement::TimelineEventTagType8426 # order random8427 is expected to require graphql authorizations :read_incident_management_timeline_event_tag8428 exposes the expected fields8429 is expected to eq "TimelineEventTagType"8430Types::Packages::PackageDetailsType8431 is expected to eq "Represents a package details in the Package Registry"8432 is expected to require graphql authorizations :read_package8433 includes all the package fields8434Banzai::Filter::SuggestionFilter8435 includes `js-render-suggestion` class8436 includes no `js-render-suggestion` when filter is disabled8437 multi-line suggestions8438 element has correct data-lang-params8439Gitlab::Import::DatabaseHelpers8440 .insert_and_return_id8441 returns the ID returned by the query8442Mutations::SavedReplies::Destroy8443 #resolve8444 when feature is disabled8445 raises Gitlab::Graphql::Errors::ResourceNotAvailable8446 when feature is enabled for current user8447 when service fails to delete a new saved reply8448 raises Gitlab::Graphql::Errors::ResourceNotAvailable8449 when service successfully deletes the saved reply8450 is expected to be empty8451Types::ProjectStatisticsType8452 has all the required fields8453Ci::StuckBuilds::DropScheduledWorker8454 #perform8455 executes an instance of Ci::StuckBuilds::DropScheduledService with an exclusive lease8456 behaves like an idempotent worker8457 is labeled as idempotent8458 performs multiple times sequentially without raising an exception8459Import::GitlabProjects::FileAcquisitionStrategies::FileUpload8460 validation8461 validates presence of file8462 #project_params8463 returns the file to upload in the params8464RuboCop::Cop::Gitlab::AvoidFeatureGet8465 # order random8466 ignores unrelated code8467 bans use of Feature.ban8468ProtectedBranch::MergeAccessLevel8469 is expected to validate that :access_level is either ‹40›, ‹30›, or ‹0›8470Gitlab::Database::Migrations::Observers::QueryLog8471 writes a file with the query log8472 does not change the default logger8473Gitlab::Audit::DeployKeyAuthor8474 #initialize8475 sets correct attributes8476 sets default name when it is not provided8477Gitlab::Metrics::Dashboard::Defaults8478 is expected to be const defined :DEFAULT_PANEL_TYPE8479Gitlab::NamespacedSessionStore8480 current session8481 stores data under the specified key8482 retrieves data from the given key8483 passed in session8484 retrieves data from the given key8485Import/Export model configuration8486 has no new models8487Spam::SpamParams8488 .new_from_request8489 with a normal Rails request8490 behaves like constructs from a request8491 constructs from a request8492 with a grape request8493 behaves like constructs from a request8494 constructs from a request8495Rails asset host initializer8496 uses no asset host by default8497 with cdn_host defined in gitlab.yml8498 returns https://gitlab.example.com8499Gitlab::SlashCommands::Presenters::Error8500 is expected to be a kind of Hash8501 shows the error message8502Gitlab::Ci::Input::Arguments::Base8503 # order random8504 fabricates an invalid input argument if unknown value is provided8505Cookies serializer initializer8506 uses JSON serializer by default8507 uses the unsafe hybrid serializer when the environment variables is set8508Gitlab::BacktraceCleaner8509 .clean_backtrace8510 uses the Rails backtrace cleaner8511 removes lines from IGNORE_BACKTRACES8512Pajamas::Concerns::CheckboxRadioOptions8513 #formatted_input_options8514 calls `#format_options` with correct arguments8515Types::Security::ReportTypeEnum8516 exposes all security report types8517Gitlab::Usage::Metrics::Instrumentations::GitlabDedicatedMetric8518 # order random8519 behaves like a correct instrumented metric value8520 has correct value8521CommitMergeRequests8522 # order random8523 #execute8524 requests commit_merge_requests from the gitlab client8525Types::DependencyProxy::ManifestType8526 includes dependency proxy manifest fields8527Integrations::HarborSerializers::TagSerializer8528 represents Integrations::HarborSerializers::TagEntity entities8529Types::Ci::VariableSortEnum8530 # order random8531 exposes the available order methods8532Gitlab::Database::SchemaValidation::Validators::ExtraTables8533 # order random8534 returns table inconsistencies8535Knapsack report was generated. Preview:8536{8537 "spec/services/merge_requests/update_service_spec.rb": 336.084075544999,8538 "spec/lib/gitlab/git/repository_spec.rb": 92.56990567399953,8539 "spec/services/git/branch_hooks_service_spec.rb": 87.95229454600121,8540 "spec/models/event_spec.rb": 51.03948658399895,8541 "spec/models/milestone_spec.rb": 34.187430533000224,8542 "spec/lib/object_storage/direct_upload_spec.rb": 29.04274665900084,8543 "spec/serializers/merge_request_widget_entity_spec.rb": 50.0698943239986,8544 "spec/services/merge_requests/cleanup_refs_service_spec.rb": 30.461407003000204,8545 "spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb": 6.53308027499952,8546 "spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb": 10.811173335001513,8547 "spec/models/concerns/counter_attribute_spec.rb": 19.713379630999043,8548 "spec/services/boards/lists/update_service_spec.rb": 29.601128522999716,8549 "spec/tasks/gitlab/db/validate_config_rake_spec.rb": 10.013364329000979,8550 "spec/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter_spec.rb": 3.6955632120007067,8551 "spec/models/ci/build_dependencies_spec.rb": 15.900222850999853,8552 "spec/views/projects/issues/show.html.haml_spec.rb": 23.26809973699892,8553 "spec/helpers/avatars_helper_spec.rb": 7.091483746000449,8554 "spec/services/bulk_imports/create_service_spec.rb": 14.506273928000155,8555 "spec/models/packages/debian/file_metadatum_spec.rb": 5.810690809999869,8556 "spec/helpers/blob_helper_spec.rb": 12.845187180999346,8557 "spec/graphql/mutations/merge_requests/set_assignees_spec.rb": 9.717918341000768,8558 "spec/lib/banzai/filter/video_link_filter_spec.rb": 17.869074584999908,8559 "spec/services/projects/update_pages_service_spec.rb": 11.154456629999913,8560 "spec/finders/cluster_ancestors_finder_spec.rb": 12.269147442000758,8561 "spec/finders/alert_management/alerts_finder_spec.rb": 6.304020118999688,8562 "spec/models/diff_discussion_spec.rb": 14.522392765000404,8563 "spec/serializers/project_note_entity_spec.rb": 8.85338202100138,8564 "spec/workers/projects/after_import_worker_spec.rb": 12.52233332600008,8565 "spec/lib/gitlab/middleware/read_only_spec.rb": 2.0152690390004864,8566 "spec/lib/gitlab/git/object_pool_spec.rb": 9.192649816000994,8567 "spec/services/projects/protect_default_branch_service_spec.rb": 6.766663589000018,8568 "spec/lib/gitlab/suggestions/suggestion_set_spec.rb": 9.33109869100008,8569 "spec/helpers/icons_helper_spec.rb": 2.0848392010011594,8570 "spec/services/releases/destroy_service_spec.rb": 7.881262623001021,8571 "spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb": 6.737456833001488,8572 "spec/services/issues/reopen_service_spec.rb": 7.715976100000262,8573 "spec/finders/context_commits_finder_spec.rb": 9.715544151000358,8574 "spec/models/project_feature_usage_spec.rb": 5.353867597001226,8575 "spec/views/notify/pipeline_success_email.text.erb_spec.rb": 7.983814562001498,8576 "spec/services/namespaces/package_settings/update_service_spec.rb": 4.164193942999191,8577 "spec/lib/banzai/reference_parser/issue_parser_spec.rb": 4.996604996000315,8578 "spec/workers/projects/git_garbage_collect_worker_spec.rb": 4.061603322999872,8579 "spec/rubocop/cop/gitlab/namespaced_class_spec.rb": 1.2343175410005642,8580 "spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb": 1.3758971650004241,8581 "spec/models/dependency_proxy/blob_spec.rb": 2.629514382999332,8582 "spec/lib/gitlab/ci/config/entry/default_spec.rb": 1.5174567609992664,8583 "spec/helpers/broadcast_messages_helper_spec.rb": 2.8592292400007864,8584 "spec/helpers/button_helper_spec.rb": 2.721075945000848,8585 "spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb": 3.7735205040007713,8586 "spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb": 5.16096331800145,8587 "spec/models/merge_request_assignee_spec.rb": 5.75731526600066,8588 "spec/services/issues/referenced_merge_requests_service_spec.rb": 6.583348219000982,8589 "spec/lib/gitlab/data_builder/build_spec.rb": 3.0332901510009833,8590 "spec/uploaders/packages/composer/cache_uploader_spec.rb": 2.1469212050014903,8591 "spec/models/lfs_file_lock_spec.rb": 3.589449462999255,8592 "spec/lib/gitlab/gitaly_client/object_pool_service_spec.rb": 6.568423481001446,8593 "spec/lib/gitlab/database/migrations/timeout_helpers_spec.rb": 5.786273423000239,8594 "spec/lib/sidebars/projects/menus/hidden_menu_spec.rb": 2.119269927001369,8595 "spec/services/ci/create_pipeline_service/logger_spec.rb": 4.134786196998903,8596 "spec/services/wiki_pages/create_service_spec.rb": 5.054889899000045,8597 "spec/lib/sidebars/projects/menus/monitor_menu_spec.rb": 1.478120095000122,8598 "spec/lib/gitlab/etag_caching/middleware_spec.rb": 1.0577774089997547,8599 "spec/lib/gitlab/ci/config/external/interpolator_spec.rb": 1.0494127399997524,8600 "spec/services/packages/debian/extract_changes_metadata_service_spec.rb": 1.4562059569998382,8601 "spec/lib/gitlab/ci/build/policy/refs_spec.rb": 1.0456633599987981,8602 "spec/lib/gitlab/suggestions/commit_message_spec.rb": 4.204471168999589,8603 "spec/models/ci/job_variable_spec.rb": 2.0770835820003413,8604 "spec/models/incident_management/project_incident_management_setting_spec.rb": 1.6751660439986154,8605 "spec/lib/banzai/pipeline/description_pipeline_spec.rb": 1.4394897389993275,8606 "spec/helpers/ci/status_helper_spec.rb": 1.0384554810007103,8607 "spec/lib/gitlab/database/async_constraints/postgres_async_constraint_validation_spec.rb": 0.9860010559987131,8608 "spec/presenters/projects/import_export/project_export_presenter_spec.rb": 2.7393222029986646,8609 "spec/lib/gitlab/github_import/importer/protected_branches_importer_spec.rb": 0.8609712590005074,8610 "spec/lib/gitlab/cache/request_cache_spec.rb": 0.8744850780003617,8611 "spec/lib/gitlab/ci/config/entry/include_spec.rb": 0.9827760770003806,8612 "spec/lib/api/ci/helpers/runner_spec.rb": 2.5351751939997484,8613 "spec/helpers/projects/alert_management_helper_spec.rb": 1.1652084879988251,8614 "spec/models/blob_viewer/license_spec.rb": 2.802105806000327,8615 "spec/services/ci/update_instance_variables_service_spec.rb": 2.7562264610005514,8616 "spec/lib/gitlab/ci/config/entry/needs_spec.rb": 0.9964579150000645,8617 "spec/lib/gitlab/git/keep_around_spec.rb": 4.777772908999395,8618 "spec/lib/gitlab/auth/o_auth/provider_spec.rb": 0.786111178000283,8619 "spec/services/jira_connect_subscriptions/create_service_spec.rb": 2.9658638990003965,8620 "spec/views/projects/merge_requests/creations/_new_submit.html.haml_spec.rb": 3.7898769519997586,8621 "spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb": 0.8807281279987365,8622 "spec/services/packages/create_temporary_package_service_spec.rb": 1.4642479459998867,8623 "spec/tasks/gitlab/gitaly_rake_spec.rb": 2.245835944000646,8624 "spec/finders/repositories/tree_finder_spec.rb": 1.5436179379994428,8625 "spec/models/clusters/agent_token_spec.rb": 2.8487914510005794,8626 "spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb": 0.8917637169997761,8627 "spec/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb": 2.377776460998575,8628 "spec/services/groups/nested_create_service_spec.rb": 2.812135454998497,8629 "spec/services/personal_access_tokens/revoke_service_spec.rb": 1.5172863509997114,8630 "spec/graphql/resolvers/snippets_resolver_spec.rb": 3.7876538219989015,8631 "spec/serializers/label_serializer_spec.rb": 1.7152596799987805,8632 "spec/finders/releases/evidence_pipeline_finder_spec.rb": 4.110637028999918,8633 "spec/lib/gitlab/lograge/custom_options_spec.rb": 0.9499298200007615,8634 "spec/lib/gitlab/graphql/loaders/lazy_relation_loader_spec.rb": 1.1955439849989489,8635 "spec/finders/design_management/designs_finder_spec.rb": 2.288062751000325,8636 "spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb": 0.929443861999971,8637 "spec/lib/gitlab/private_commit_email_spec.rb": 0.7138697850004974,8638 "spec/lib/gitlab/database/reindexing/coordinator_spec.rb": 0.8500033509990317,8639 "spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb": 2.428401795999889,8640 "spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb": 0.6827294779996009,8641 "spec/graphql/mutations/todos/restore_many_spec.rb": 2.7718768489994545,8642 "spec/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker_spec.rb": 2.727654144000553,8643 "spec/lib/sidebars/user_profile/menus/starred_projects_menu_spec.rb": 1.059061889000077,8644 "spec/lib/gitlab/audit/target_spec.rb": 0.532666913999492,8645 "spec/lib/api/helpers/authentication_spec.rb": 1.6394824880007945,8646 "spec/serializers/stage_serializer_spec.rb": 3.4849702139999863,8647 "spec/workers/merge_requests/execute_approval_hooks_worker_spec.rb": 1.5172930310000083,8648 "spec/lib/gitlab/github_import/clients/proxy_spec.rb": 0.6344773130003887,8649 "spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_experiments_metric_spec.rb": 1.2191401820000465,8650 "spec/lib/gitlab/utils/mime_type_spec.rb": 0.5466417019997607,8651 "spec/lib/gitlab/quick_actions/timeline_text_and_date_time_separator_spec.rb": 0.4562735729996348,8652 "spec/lib/gitlab/import_export/avatar_saver_spec.rb": 1.5060390030012059,8653 "spec/services/incident_management/link_alerts/destroy_service_spec.rb": 1.673913024000285,8654 "spec/lib/gitlab/gon_helper_spec.rb": 0.574164629999359,8655 "spec/lib/gitlab/import_export/snippet_repo_saver_spec.rb": 1.1278144309999334,8656 "spec/graphql/resolvers/branch_commit_resolver_spec.rb": 1.254109278001124,8657 "spec/services/merge_requests/execute_approval_hooks_service_spec.rb": 2.5576973619990895,8658 "spec/presenters/award_emoji_presenter_spec.rb": 0.6580374809982459,8659 "spec/models/project_custom_attribute_spec.rb": 0.7988408059991343,8660 "spec/lib/gitlab/usage_data_counters/merge_request_counter_spec.rb": 0.42944079500011867,8661 "spec/lib/gitlab/identifier_spec.rb": 1.1424133199998323,8662 "spec/lib/bulk_imports/common/pipelines/badges_pipeline_spec.rb": 1.9048437899982673,8663 "spec/graphql/types/ci/job_type_spec.rb": 3.0880454149992147,8664 "spec/policies/protected_branch_access_policy_spec.rb": 1.3350203609988966,8665 "spec/lib/gitlab/ci/status/failed_spec.rb": 0.5914157379993412,8666 "spec/helpers/recaptcha_helper_spec.rb": 0.6082905659986864,8667 "spec/lib/gitlab/database/async_indexes/postgres_async_index_spec.rb": 0.8119067850002466,8668 "spec/lib/bulk_imports/projects/pipelines/snippets_pipeline_spec.rb": 1.8171536400004697,8669 "spec/lib/generators/model/model_generator_spec.rb": 0.5902026669991756,8670 "spec/models/packages/composer/metadatum_spec.rb": 1.217899421999391,8671 "spec/tasks/gitlab/metrics_exporter_task_spec.rb": 1.6550474260002375,8672 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb": 0.6373575829984475,8673 "spec/models/pages/virtual_domain_spec.rb": 0.6137967850008863,8674 "spec/services/packages/rubygems/create_gemspec_service_spec.rb": 0.6854127890001109,8675 "spec/tooling/lib/tooling/kubernetes_client_spec.rb": 0.8426806309998938,8676 "spec/lib/gitlab/sql/except_spec.rb": 0.6136097859998699,8677 "spec/graphql/resolvers/users/groups_resolver_spec.rb": 1.5230924700008472,8678 "spec/lib/gitlab/allowable_spec.rb": 1.1685440669989475,8679 "spec/lib/gitlab/gitaly_client/storage_settings_spec.rb": 0.7474090109990357,8680 "spec/lib/gitlab/ci/status/group/common_spec.rb": 0.4381569949982804,8681 "spec/lib/gitlab/import_export/project/relation_saver_spec.rb": 0.9684913479995885,8682 "spec/workers/todos_destroyer/destroyed_designs_worker_spec.rb": 0.4083069970001816,8683 "spec/services/dependency_proxy/head_manifest_service_spec.rb": 0.842791462000605,8684 "spec/finders/user_groups_counter_spec.rb": 1.3030543330005457,8685 "spec/lib/gitlab/ci/reports/codequality_mr_diff_spec.rb": 0.47180613999989873,8686 "spec/serializers/test_reports_comparer_entity_spec.rb": 0.4641839109990542,8687 "spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb": 1.3801197859993408,8688 "spec/services/clusters/cleanup/service_account_service_spec.rb": 1.2974334230002569,8689 "spec/workers/invalid_gpg_signature_update_worker_spec.rb": 1.2232795919990167,8690 "spec/lib/gitlab/database/migrations/batched_migration_last_id_spec.rb": 0.5822224790008477,8691 "spec/lib/gitlab/database/reindexing/reindex_action_spec.rb": 0.7619714199990995,8692 "spec/lib/gitlab/ci/reports/security/reports_spec.rb": 1.1957036439998774,8693 "spec/lib/gitlab/tracking/service_ping_context_spec.rb": 0.5162451559990586,8694 "spec/services/ci/abort_pipelines_service_spec.rb": 1.179298225999446,8695 "spec/presenters/packages/nuget/package_metadata_presenter_spec.rb": 1.0722671869989426,8696 "spec/helpers/projects/pipeline_helper_spec.rb": 1.4065496530001838,8697 "spec/rubocop/cop/migration/prevent_strings_spec.rb": 0.6348689829992509,8698 "spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb": 0.8897540969992406,8699 "spec/workers/update_merge_requests_worker_spec.rb": 1.4321704289995978,8700 "spec/lib/sidebars/user_settings/menus/account_menu_spec.rb": 0.5757777589988109,8701 "spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb": 0.7478863619999174,8702 "spec/finders/applications_finder_spec.rb": 0.7288004029996955,8703 "spec/services/users/respond_to_terms_service_spec.rb": 0.9003733959998499,8704 "spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb": 0.7494779510016087,8705 "spec/services/clusters/agents/create_activity_event_service_spec.rb": 0.8023230559992953,8706 "spec/lib/gitlab/middleware/memory_report_spec.rb": 0.6188791550011956,8707 "spec/views/devise/shared/_signup_box.html.haml_spec.rb": 0.7742611180001404,8708 "spec/services/bulk_imports/lfs_objects_export_service_spec.rb": 0.8160503950002749,8709 "spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb": 0.4894311580010253,8710 "spec/services/bulk_imports/file_export_service_spec.rb": 0.6219540450001659,8711 "spec/lib/gitlab/metrics/dashboard/cache_spec.rb": 0.688706867998917,8712 "spec/models/work_items/hierarchy_restriction_spec.rb": 0.4184388059984485,8713 "spec/lib/banzai/cross_project_reference_spec.rb": 0.5100594460000138,8714 "spec/lib/gitlab/diff/parallel_diff_spec.rb": 1.2832554659999005,8715 "spec/workers/disallow_two_factor_for_group_worker_spec.rb": 0.6689314099985495,8716 "spec/lib/sidebars/projects/menus/snippets_menu_spec.rb": 0.5409581430012622,8717 "spec/lib/gitlab/ci/status/skipped_spec.rb": 0.5612912110009347,8718 "spec/lib/gitlab/usage/metrics/instrumentations/redis_hll_metric_spec.rb": 0.6554900909995922,8719 "spec/workers/ci/delete_objects_worker_spec.rb": 0.43983398400087026,8720 "spec/lib/gitlab/graphql/mount_mutation_spec.rb": 0.4309519239996007,8721 "spec/lib/gitlab/ci/templates/Terraform/module_base_gitlab_ci_yaml_spec.rb": 0.7587262710003415,8722 "spec/presenters/terraform/modules_presenter_spec.rb": 0.7726241580003261,8723 "spec/models/packages/nuget/dependency_link_metadatum_spec.rb": 0.4678442709991941,8724 "spec/lib/gitlab/ci/mask_secret_spec.rb": 0.5713212689988723,8725 "spec/lib/gitlab/ci/pipeline/chain/cancel_pending_pipelines_spec.rb": 0.7249812139998539,8726 "spec/models/namespaces/randomized_suffix_path_spec.rb": 0.5241659349994734,8727 "spec/serializers/analytics_merge_request_serializer_spec.rb": 1.0628365489992575,8728 "spec/lib/bulk_imports/projects/graphql/get_repository_query_spec.rb": 0.5034476069995435,8729 "spec/graphql/types/customer_relations/contact_type_spec.rb": 0.37319744100022945,8730 "spec/views/devise/shared/_signin_box.html.haml_spec.rb": 0.6443887030000042,8731 "spec/lib/marginalia_spec.rb": 0.6459162620012648,8732 "spec/models/packages/package_file_build_info_spec.rb": 0.4934283980001055,8733 "spec/lib/gitlab/ci/interpolation/block_spec.rb": 0.49584084799971606,8734 "spec/validators/import/gitlab_projects/remote_file_validator_spec.rb": 0.4009392879997904,8735 "spec/lib/gitlab/diff/inline_diff_marker_spec.rb": 0.4217990559991449,8736 "spec/lib/api/entities/nuget/metadatum_spec.rb": 0.4495055229999707,8737 "spec/graphql/types/incident_management/timeline_event_tag_type_spec.rb": 0.34312682500058145,8738 "spec/graphql/types/packages/package_details_type_spec.rb": 0.5655790300006629,8739 "spec/lib/banzai/filter/suggestion_filter_spec.rb": 0.31512498700067226,8740 "spec/lib/gitlab/import/database_helpers_spec.rb": 0.5272016149992851,8741 "spec/graphql/mutations/saved_replies/destroy_spec.rb": 0.46739288100070553,8742 "spec/graphql/types/project_statistics_type_spec.rb": 0.3278327160005574,8743 "spec/workers/ci/stuck_builds/drop_scheduled_worker_spec.rb": 0.31349339699954726,8744 "spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb": 0.4742743509996217,8745 "spec/rubocop/cop/gitlab/avoid_feature_get_spec.rb": 0.42086654599916073,8746 "spec/models/protected_branch/merge_access_level_spec.rb": 0.42039292600020417,8747 "spec/lib/gitlab/database/migrations/observers/query_log_spec.rb": 0.3586540320011409,8748 "spec/lib/gitlab/audit/deploy_key_author_spec.rb": 0.4570609009988402,8749 "spec/lib/gitlab/metrics/dashboard/defaults_spec.rb": 0.31001205800021125,8750 "spec/lib/gitlab/namespaced_session_store_spec.rb": 0.6485907719998067,8751 "spec/lib/gitlab/import_export/model_configuration_spec.rb": 0.33382386499943095,8752 "spec/services/spam/spam_params_spec.rb": 0.33556695399965975,8753 "spec/initializers/rails_asset_host_spec.rb": 0.4689245099998516,8754 "spec/lib/gitlab/slash_commands/presenters/error_spec.rb": 0.4408082840000134,8755 "spec/lib/gitlab/ci/input/arguments/base_spec.rb": 0.3829598400006944,8756 "spec/initializers/cookies_serializer_spec.rb": 0.5283844940004201,8757 "spec/lib/gitlab/backtrace_cleaner_spec.rb": 0.3973649489998934,8758 "spec/components/pajamas/concerns/checkbox_radio_options_spec.rb": 0.42093550600111485,8759 "spec/graphql/types/security/report_types_enum_spec.rb": 0.38781222900070134,8760 "spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb": 0.4036076980009966,8761 "spec/scripts/api/commit_merge_requests_spec.rb": 0.27615760099979525,8762 "spec/graphql/types/dependency_proxy/manifest_type_spec.rb": 0.30537766800080135,8763 "spec/serializers/integrations/harbor_serializers/tag_serializer_spec.rb": 0.5428864530003921,8764 "spec/graphql/types/ci/variable_sort_enum_spec.rb": 0.34977833299853955,8765 "spec/lib/gitlab/database/schema_validation/validators/extra_tables_spec.rb": 0.338708465000308938766}8767Knapsack global time execution for tests: 21m 42s8768Pending: (Failures listed here are expected and do not affect your suite's status)8769 1) Milestone modules with a project behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank8770 # No reason given8771 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:498772 2) Milestone modules with a project behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank8773 # No reason given8774 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:578775 3) Milestone modules with a group behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank8776 # No reason given8777 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:498778 4) Milestone modules with a group behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank8779 # No reason given8780 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:578781 5) Packages::Composer::CacheUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 8782 # No pattern provided, skipping.8783 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88784 6) Packages::Composer::CacheUploader behaves like builds correct paths #relative_path is relative8785 # Path not set, skipping.8786 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408787 7) Packages::Composer::CacheUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 8788 # No pattern provided, skipping.8789 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88790 8) Packages::Composer::CacheUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8791 # No pattern provided, skipping.8792 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88793 9) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 8794 # No pattern provided, skipping.8795 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88796 10) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 8797 # No pattern provided, skipping.8798 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88799 11) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 8800 # No pattern provided, skipping.8801 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88802 12) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #relative_path is relative8803 # Path not set, skipping.8804 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408805 13) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8806 # No pattern provided, skipping.8807 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88808 14) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8809 # No pattern provided, skipping.8810 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88811 15) Ci::JobVariable partitioning when using bulk_insert creates job variables successfully8812 # Skipping partitioning tests until `ci_builds` is partitioned8813 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'8814 RSpec::Core::Pending::SkipDeclaredInExample8815 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'8816 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8817 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8818 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8819Finished in 21 minutes 47 seconds (files took 38.91 seconds to load)88203466 examples, 0 failures, 15 pending8821Randomized with seed 146898822[TEST PROF INFO] Time spent in factories: 12:35.017 (57.57% of total time)8823RSpec exited with 0.8824No examples to retry, congrats!8826Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8828Uploading artifacts...8829coverage/: found 5 matching artifact files and directories 8830WARNING: crystalball/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8831deprecations/: found 4 matching artifact files and directories 8832knapsack/: found 3 matching artifact files and directories 8833query_recorder/: found 2 matching artifact files and directories 8834rspec/: found 8 matching artifact files and directories 8835WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8836log/*.log: found 20 matching artifact files and directories 8837WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4139146376/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8838WARNING: Retrying... context=artifacts-uploader error=request redirected8839Uploading artifacts as "archive" to coordinator... 201 Created id=4139146376 responseStatus=201 Created token=64_PqmXD8840Uploading artifacts...8841rspec/junit_rspec.xml: found 1 matching artifact files and directories 8842WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4139146376/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8843WARNING: Retrying... context=artifacts-uploader error=request redirected8844Uploading artifacts as "junit" to coordinator... 201 Created id=4139146376 responseStatus=201 Created token=64_PqmXD8846Job succeeded