rspec unit pg14 1/28
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 16.1.0~beta.59.g83c66823 (83c66823)2 on green-5.private.runners-manager.gitlab.com/gitlab.com/gitlab-org Zi_8oswQ, system ID: s_8a4f217c24b63 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.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...10Using docker image sha256:2e09e9db92541ed81b1c00f1d5186f8c262d8b84e8d1755676ea4b25614f30c4 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:afc7bd7a60824044709543a6a700385e412d750d9ab4fc72b427e335e1d0f3ec ...11WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.12WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.13Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...16Using docker image sha256:a9a90ece30d9630d694ab1997cd103ea8ec729789451b983a75c7b58b0062d45 for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7ef36177d5d0bc554fbb63d8210ae751bcc538bea7905b51d078d9ab90a755fa ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:d0675d033b87382205d08b598a004a99a1f6c4bd377cc86bb6df8957ce7dbb1c for redis:6.2-alpine with digest redis@sha256:740b5c973d1c9eea6e124a3905ba73d32354d0549f98ccc9e67af1af2a9ba478 ...20Waiting for services to be up and running (timeout 30 seconds)...21Authenticating with credentials from job payload (GitLab Registry)22Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...23Using docker image sha256:24a9e92645b17c878623efd51b7564f81e480bd281e94d7f33971082e0ca80e0 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-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.20-rust-1.65-node-18.17-postgresql-14@sha256:ca349d228348f199cb57f574476584f42aca338747393ed93a9032a0261afc4d ...25Running on runner-zi8oswq-project-278964-concurrent-0 via runner-zi8oswq-private-1691669804-adef4c10...27Fetching changes with git depth set to 20...28Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/29Created fresh repository.30remote: Enumerating objects: 145438, done. 31remote: Counting objects: 100% (145438/145438), done. 32remote: Compressing objects: 100% (96447/96447), done. 33remote: Total 145438 (delta 63547), reused 98646 (delta 43407), pack-reused 0 34Receiving objects: 100% (145438/145438), 119.87 MiB | 31.03 MiB/s, done.35Resolving deltas: 100% (63547/63547), done.37 * [new ref] refs/pipelines/962009091 -> refs/pipelines/96200909138Checking out 2a9b6857 as detached HEAD (ref is refs/merge-requests/128972/merge)...39Skipping Git submodules setup40$ git remote set-url origin "${CI_REPOSITORY_URL}"42Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...43Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 44Successfully extracted cache46Downloading artifacts for compile-test-assets (4841630955)...47Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630955 responseStatus=200 OK token=64_uhKSd48Downloading artifacts for detect-tests (4841630974)...49Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630974 responseStatus=200 OK token=64_uhKSd50Downloading artifacts for retrieve-tests-metadata (4841630985)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630985 responseStatus=200 OK token=64_uhKSd52Downloading artifacts for setup-test-env (4841630964)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630964 responseStatus=200 OK token=64_uhKSd55Using docker image sha256:24a9e92645b17c878623efd51b7564f81e480bd281e94d7f33971082e0ca80e0 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-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.20-rust-1.65-node-18.17-postgresql-14@sha256:ca349d228348f199cb57f574476584f42aca338747393ed93a9032a0261afc4d ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh93Using decomposed database config (config/database.yml.decomposed-postgresql)94Geo DB won't be set up.95Embedding DB won't be set up.107$ source ./scripts/rspec_helpers.sh108$ run_timed_command "gem install knapsack --no-document"109$ gem install knapsack --no-document110Successfully installed knapsack-4.0.01111 gem installed112==> 'gem install knapsack --no-document' succeeded in 0 seconds.113$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"118$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"119$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"120$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house"121SKIP_FLAKY_TESTS_AUTOMATICALLY: 122RETRY_FAILED_TESTS_IN_NEW_PROCESS: true123KNAPSACK_GENERATE_REPORT: true124FLAKY_RSPEC_GENERATE_REPORT: true125KNAPSACK_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.rb126KNAPSACK_LOG_LEVEL: debug127KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg14_1_28_report.json128FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json129FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg14_1_28_report.json130NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg14_1_28_report.json131RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-4841631170.txt132CRYSTALBALL: 133RSPEC_TESTS_MAPPING_ENABLED: 134RSPEC_TESTS_FILTER_FILE: 135Shell set options (set -o) enabled:136braceexpand on137hashall on138interactive-comments on139pipefail on140Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-4841631170.json --format RspecJunitFormatter --out rspec/rspec-4841631170.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house -- spec/services/notification_service_spec.rb spec/finders/packages/group_packages_finder_spec.rb spec/services/merge_requests/cleanup_refs_service_spec.rb spec/models/concerns/counter_attribute_spec.rb spec/presenters/merge_request_presenter_spec.rb spec/finders/groups_finder_spec.rb spec/models/packages/package_file_spec.rb spec/models/hooks/web_hook_spec.rb spec/lib/gitlab/auth/auth_finders_spec.rb spec/services/members/groups/creator_service_spec.rb spec/services/ci/job_artifacts/destroy_batch_service_spec.rb spec/helpers/avatars_helper_spec.rb spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb spec/lib/gitlab/redis/db_load_balancing_spec.rb spec/services/resource_access_tokens/revoke_service_spec.rb spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb spec/policies/todo_policy_spec.rb spec/views/notify/pipeline_success_email.html.haml_spec.rb spec/lib/gitlab/database/with_lock_retries_outside_transaction_spec.rb spec/models/packages/debian/project_distribution_spec.rb spec/lib/error_tracking/sentry_client/issue_spec.rb spec/lib/gitlab/ci/config/external/processor_spec.rb spec/lib/gitlab/metrics_spec.rb spec/models/concerns/milestoneable_spec.rb spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb spec/lib/gitlab/workhorse_spec.rb spec/helpers/members_helper_spec.rb spec/services/ci/archive_trace_service_spec.rb spec/lib/gitlab/diff/diff_refs_spec.rb spec/lib/gitlab/checks/diff_check_spec.rb spec/graphql/mutations/merge_requests/set_reviewers_spec.rb spec/finders/context_commits_finder_spec.rb spec/services/error_tracking/issue_update_service_spec.rb spec/lib/gitlab/i18n/po_linter_spec.rb spec/models/issue/metrics_spec.rb spec/services/award_emojis/add_service_spec.rb spec/models/ci/build_trace_metadata_spec.rb spec/lib/gitlab/alert_management/payload/base_spec.rb spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb spec/lib/container_registry/blob_spec.rb spec/uploaders/terraform/state_uploader_spec.rb spec/routing/admin_routing_spec.rb spec/finders/crm/contacts_finder_spec.rb spec/services/todos/destroy/design_service_spec.rb spec/lib/gitlab/suggestions/commit_message_spec.rb spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb spec/serializers/ci/trigger_entity_spec.rb spec/tasks/gitlab/seed/runner_fleet_rake_spec.rb spec/lib/gitlab/x509/certificate_spec.rb spec/serializers/deployment_entity_spec.rb spec/views/ci/status/_badge.html.haml_spec.rb spec/models/review_spec.rb spec/models/ci/job_token/allowlist_spec.rb spec/lib/bulk_imports/projects/pipelines/references_pipeline_spec.rb spec/lib/gitlab/logger_spec.rb spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb spec/services/incident_management/issuable_escalation_statuses/prepare_update_service_spec.rb spec/workers/gitlab/jira_import/stuck_jira_import_jobs_worker_spec.rb spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb spec/models/dependency_proxy/manifest_spec.rb spec/models/concerns/ci/artifactable_spec.rb spec/lib/gitlab/ci/matching/runner_matcher_spec.rb spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb spec/rubocop/cop/migration/safer_boolean_column_spec.rb spec/graphql/mutations/timelogs/delete_spec.rb spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_deployed_to_production_spec.rb spec/lib/sbom/purl_type/converter_spec.rb spec/lib/gitlab/ci/pipeline/chain/limit/rate_limit_spec.rb spec/models/users/merge_request_interaction_spec.rb spec/finders/groups/accepting_group_transfers_finder_spec.rb spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb spec/tooling/danger/database_dictionary_spec.rb spec/models/concerns/clusters/agents/authorizations/ci_access/config_scopes_spec.rb spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb spec/tooling/lib/tooling/find_codeowners_spec.rb spec/initializers/settings_spec.rb spec/services/keys/expiry_notification_service_spec.rb spec/lib/gitlab/git/cross_repo_spec.rb spec/lib/banzai/filter/inline_observability_filter_spec.rb spec/lib/gitlab/memory/watchdog_spec.rb spec/lib/sidebars/user_profile/menus/activity_menu_spec.rb spec/workers/reactive_caching_worker_spec.rb spec/scripts/generate_message_to_run_e2e_pipeline_spec.rb spec/lib/gitlab/file_markdown_link_builder_spec.rb spec/workers/ci/external_pull_requests/create_pipeline_worker_spec.rb spec/models/packages/rpm/repository_file_spec.rb spec/models/subscription_spec.rb spec/lib/gitlab/github_import/importer/attachments/notes_importer_spec.rb spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb spec/lib/gitlab/inactive_projects_deletion_warning_tracker_spec.rb spec/workers/rebase_worker_spec.rb spec/models/alert_management/metric_image_spec.rb spec/services/projects/open_merge_requests_count_service_spec.rb spec/services/dependency_proxy/request_token_service_spec.rb spec/graphql/mutations/environments/update_spec.rb spec/lib/gitlab/internal_post_receive/response_spec.rb spec/tasks/gitlab/update_templates_rake_spec.rb spec/lib/generators/gitlab/usage_metric_generator_spec.rb spec/lib/gitlab/pages_spec.rb spec/graphql/mutations/issues/set_subscription_spec.rb spec/services/service_desk/custom_emails/destroy_service_spec.rb spec/models/integrations/assembla_spec.rb spec/services/packages/create_dependency_service_spec.rb spec/support_specs/license_metadata_tags_spec.rb spec/lib/bitbucket_server/representation/comment_spec.rb spec/lib/gitlab/ci/build/credentials/registry/dependency_proxy_spec.rb spec/lib/gitlab/database/migrations/observers/transaction_duration_spec.rb spec/lib/gitlab/quick_actions/users_extractor_spec.rb spec/lib/gitlab/hook_data/key_builder_spec.rb spec/lib/gitlab/hook_data/merge_request_builder_spec.rb spec/services/resource_events/merge_into_notes_service_spec.rb spec/services/bulk_update_integration_service_spec.rb spec/lib/banzai/filter/table_of_contents_tag_filter_spec.rb spec/graphql/resolvers/crm/contacts_resolver_spec.rb spec/services/projects/slack_application_install_service_spec.rb spec/services/reset_project_cache_service_spec.rb spec/workers/container_registry/delete_container_repository_worker_spec.rb spec/lib/sidebars/admin/menus/ci_cd_menu_spec.rb spec/lib/gitlab/crypto_helper_spec.rb spec/views/projects/pipelines/show.html.haml_spec.rb spec/lib/gitlab/utils/log_limited_array_spec.rb spec/graphql/resolvers/achievements/achievements_resolver_spec.rb spec/services/projects/schedule_bulk_repository_shard_moves_service_spec.rb spec/graphql/resolvers/issue_status_counts_resolver_spec.rb spec/helpers/storage_helper_spec.rb spec/workers/x509_certificate_revoke_worker_spec.rb spec/lib/banzai/filter/kroki_filter_spec.rb spec/services/releases/links/params_spec.rb spec/services/x509_certificate_revoke_service_spec.rb spec/services/import_export_clean_up_service_spec.rb spec/graphql/resolvers/concerns/resolves_project_spec.rb spec/policies/clusters/agent_token_policy_spec.rb spec/tasks/gitlab/sidekiq_rake_spec.rb spec/graphql/types/alert_management/integration_type_enum_spec.rb spec/workers/group_import_worker_spec.rb spec/lib/sidebars/user_profile/menus/starred_projects_menu_spec.rb spec/validators/future_date_validator_spec.rb spec/services/users/reject_service_spec.rb spec/lib/gitlab/graphql/loaders/batch_lfs_oid_loader_spec.rb spec/workers/projects/refresh_build_artifacts_size_statistics_worker_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_candidates_metric_spec.rb spec/lib/gitlab/graphql/tracers/logger_tracer_spec.rb spec/workers/cleanup_container_repository_worker_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_issues_metric_spec.rb spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb spec/workers/hashed_storage/rollbacker_worker_spec.rb spec/views/projects/commits/show.html.haml_spec.rb spec/finders/user_groups_counter_spec.rb spec/services/ci/generate_kubeconfig_service_spec.rb spec/lib/gitlab/ci/jwt_v2/claim_mapper/repository_spec.rb spec/views/projects/hooks/index.html.haml_spec.rb spec/models/concerns/ci/partitionable_spec.rb spec/components/pajamas/empty_state_component_spec.rb spec/graphql/types/untrusted_regexp_spec.rb spec/helpers/dev_ops_report_helper_spec.rb spec/lib/gitlab/background_migration_spec.rb spec/models/namespace/detail_spec.rb spec/rubocop/cop/migration/prevent_index_creation_spec.rb spec/services/users/saved_replies/destroy_service_spec.rb spec/lib/gitlab/database/schema_migrations/context_spec.rb spec/lib/gitlab/github_import/importer/attachments/releases_importer_spec.rb spec/models/users/project_callout_spec.rb spec/models/raw_usage_data_spec.rb spec/presenters/alert_management/alert_presenter_spec.rb spec/models/design_management/git_repository_spec.rb spec/lib/sidebars/user_settings/menus/preferences_menu_spec.rb spec/lib/gitlab/diff/parallel_diff_spec.rb spec/lib/gitlab/auth/ldap/authentication_spec.rb spec/views/projects/settings/operations/show.html.haml_spec.rb spec/rubocop/cop/database/multiple_databases_spec.rb spec/services/import/prepare_service_spec.rb spec/graphql/types/commit_signature_interface_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_project_snippets_metric_spec.rb spec/services/google_cloud/create_service_accounts_service_spec.rb spec/lib/gitlab/ci/reports/security/finding_signature_spec.rb spec/tooling/lib/tooling/test_map_generator_spec.rb spec/lib/banzai/filter/absolute_link_filter_spec.rb spec/lib/gitlab/git_access_design_spec.rb spec/rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers_spec.rb spec/services/members/creator_service_spec.rb spec/lib/peek/views/rugged_spec.rb spec/services/ci/runners/unregister_runner_manager_service_spec.rb spec/graphql/types/access_levels/deploy_key_type_spec.rb spec/views/layouts/header/_super_sidebar_logged_out.html.haml_spec.rb spec/lib/peek/views/detailed_view_spec.rb spec/lib/system_check/sidekiq_check_spec.rb spec/workers/upload_checksum_worker_spec.rb spec/rubocop/cop/code_reuse/finder_spec.rb spec/graphql/resolvers/alert_management/alert_status_counts_resolver_spec.rb spec/lib/bulk_imports/common/extractors/json_extractor_spec.rb spec/lib/gitlab/data_builder/alert_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_project_type_active_metric_spec.rb spec/lib/gitlab/dependency_linker/go_sum_linker_spec.rb spec/serializers/accessibility_reports_comparer_entity_spec.rb spec/lib/gitlab/import_export/version_checker_spec.rb spec/helpers/git_helper_spec.rb spec/lib/gitlab/ci/pipeline/chain/cancel_pending_pipelines_spec.rb spec/views/help/instance_configuration.html.haml_spec.rb spec/views/explore/projects/topic.html.haml_spec.rb spec/config/mail_room_spec.rb spec/workers/users/create_statistics_worker_spec.rb spec/graphql/types/milestone_type_spec.rb spec/support_specs/capybara_wait_for_all_requests_spec.rb spec/lib/gitlab/database/health_status/logger_spec.rb spec/workers/todos_destroyer/confidential_issue_worker_spec.rb spec/models/postgresql/detached_partition_spec.rb spec/graphql/types/ci/project_variable_type_spec.rb spec/helpers/projects/incidents_helper_spec.rb spec/graphql/types/audit_events/definition_type_spec.rb spec/lib/sidebars/organizations/menus/manage_menu_spec.rb spec/lib/gitlab/ci/config/external/mapper/base_spec.rb spec/graphql/types/evidence_type_spec.rb spec/lib/gitlab/sidekiq_middleware/pause_control/server_spec.rb spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/none_spec.rb spec/validators/rsa_key_validator_spec.rb spec/lib/gitlab/graphql/query_analyzers/ast/recursion_analyzer_spec.rb spec/graphql/types/work_items/widget_type_enum_spec.rb spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb spec/graphql/types/issuable_sort_enum_spec.rb spec/views/shared/gitlab_version/_security_patch_upgrade_alert.html.haml_spec.rb spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb spec/lib/gitlab/puma_logging/json_formatter_spec.rb spec/models/integrations/slack_workspace/api_scope_spec.rb spec/initializers/rack_VULNDB-255039_patch_spec.rb spec/graphql/types/container_repository_cleanup_status_enum_spec.rb spec/graphql/types/permission_types/ci/job_spec.rb spec/graphql/types/packages/package_file_type_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/version_metric_spec.rb spec/graphql/types/project_statistics_type_spec.rb spec/graphql/types/merge_request_connection_type_spec.rb spec/config/metrics/every_metric_definition_spec.rbKnapsack report generator started!141/builds/gitlab-org/gitlab/ee/app/services/remote_development/service_response_factory.rb:41: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!142/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/create_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!143/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/reconcile_service.rb:38: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!144/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/update_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!145/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/main.rb:32: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!146/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!147/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!148/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!149/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!150/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!151/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:25: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!152/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!153/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!154/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!155/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_flattener.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!156/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!157/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!158/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!159/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!160/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:54: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!161/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:102: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!162/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:126: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!163/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:159: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!164/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:202: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!165/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:235: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!166/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!167/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:52: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!168/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!169/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!170/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!171/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:23: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!172/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!173/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!174/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!175/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/main.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!176/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!177/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/updater.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!178/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/agent_infos_observer.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!179/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!180/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!181/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_to_infos_converter.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!182/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_validator.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!183/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/rails_infos_observer.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!184/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/workspaces_to_rails_infos_converter.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!185/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/orphaned_workspaces_observer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!186/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!187/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_finder.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!188/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!189Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true}190Test environment set up in 0.647329188 seconds191NotificationService192 .permitted_actions193 includes public methods194 excludes EXCLUDED_ACTIONS195 excludes protected and private methods196 #async197 returns an Async object with the correct parent198 when receiving a public method199 schedules a MailScheduler::NotificationServiceWorker200 when receiving a private method201 raises NoMethodError202 when receiving a non-existent method203 raises NoMethodError204 Keys205 #new_key206 sends email to key owner207 never emails the ghost user208 does not send email to key owner209 GpgKeys210 #new_gpg_key211 sends email to key owner212 never emails the ghost user213 does not send email to key owner214 AccessToken215 #access_token_created216 sends email to the token owner217 when user is not allowed to receive notifications218 does not send email to the token owner219 #access_token_about_to_expire220 sends email to the token owner221 #access_token_expired222 sends email to the token owner223 when user is not allowed to receive notifications224 does not send email to the token owner225 #access_token_revoked226 sends email to the token owner without source227 sends email to the token owner with source228 when user is not allowed to receive notifications229 does not send email to the token owner230 SSH Keys231 #ssh_key_expired232 sends email to the token owner233 when user is not allowed to receive notifications234 does not send email to the token owner235 #ssh_key_expiring_soon236 sends email to the token owner237 when user is not allowed to receive notifications238 does not send email to the token owner239 #unknown_sign_in240 sends email to the user241 #disabled_two_factor242 sends email to the user243 #new_email_address_added244 sends email to the user245 Notes246 issue note247 issue_email_participants248 behaves like no participants are notified249 does not send the email250 behaves like notification with exact metric events251 adds metric event252 do exist and note not confidential253 sends the email254 behaves like notification with exact metric events255 adds metric event256 do exist and note is confidential257 behaves like no participants are notified258 does not send the email259 behaves like notification with exact metric events260 adds metric event261 #new_note262 filters out "mentioned in" notes263 with users264 sends emails to recipients265 emails the note author if they've opted into notifications about their activity266 behaves like project emails are disabled267 sends no emails with project emails disabled268 sends emails to someone269 participating270 by note271 is expected not to have enqueued job272 in project that belongs to a group273 which is a top-level group274 behaves like new note notifications275 sends notifications276 behaves like project emails are disabled277 sends no emails with project emails disabled278 sends emails to someone279 which is a subgroup280 overrides child objects with global level281 behaves like new note notifications282 sends notifications283 confidential issue note284 filters out users that can not read the issue285 on project that belongs to subgroup286 when user is group guest member287 does not email guest user288 issue note mention289 #new_note290 notifies parent group members with mention level291 when `disable_all_mention` FF is disabled292 when `@all` mention is used293 behaves like correct team members are notified294 notifies the team members295 filters out "mentioned in" notes296 behaves like project emails are disabled297 sends no emails with project emails disabled298 sends emails to someone299 when note is confidential300 does not notify users that cannot read note301 when users are individually mentioned302 behaves like correct team members are notified303 notifies the team members304 filters out "mentioned in" notes305 behaves like project emails are disabled306 sends no emails with project emails disabled307 sends emails to someone308 when note is confidential309 does not notify users that cannot read note310 when `disable_all_mention` FF is enabled311 when `@all` mention is used312 does not notify users who are not participating or mentioned313 when users are individually mentioned314 behaves like correct team members are notified315 notifies the team members316 filters out "mentioned in" notes317 behaves like project emails are disabled318 sends no emails with project emails disabled319 sends emails to someone320 when note is confidential321 does not notify users that cannot read note322 project snippet note323 #new_note324 when `disable_all_mention` FF is disabled325 when `@all` mention is used326 behaves like correct team members are notified327 notifies the team members328 when users are individually mentioned329 behaves like correct team members are notified330 notifies the team members331 when `disable_all_mention` FF is enabled332 when `@all` mention is used333 does not notify users who are not participating or mentioned334 when users are individually mentioned335 behaves like correct team members are notified336 notifies the team members337 personal snippet note338 #new_note339 notifies the participants340 commit note341 #new_note, #perform_enqueued_jobs342 is expected to eq 0343 is expected to eq 0344 is expected to eq 0345 behaves like project emails are disabled346 sends no emails with project emails disabled347 sends emails to someone348 merge request diff note349 #new_note350 records sent notifications351 behaves like project emails are disabled352 sends no emails with project emails disabled353 sends emails to someone354 design diff note355 design management is enabled356 sends new note notifications357 design management is disabled358 does not notify anyone359 #send_new_release_notifications360 when release author is blocked361 does not send any notification362 when release author is a ghost363 does not send any notification364 when recipients for a new release exist365 notifies the expected users366 Participating project notification settings have priority over group and global settings if available367 custom on group368 does not send an email to user1 when a new issue is created and new_issue is set to nil369 does not send an email to user1 when a new issue is created and new_issue is set to true370 watch on group371 does not send an email372 custom on global, global on group373 does not send an email374 watch on global, global on group375 does not send an email376 Issues377 #new_issue378 notifies the expected users379 properly prioritizes notification reason380 adds "assigned" reason for assignees if any381 emails any mentioned users with the mention level382 emails the author if they've opted into notifications about their activity383 doesn't email the author if they haven't opted into notifications about their activity384 emails subscribers of the issue's labels and adds `subscribed` reason385 when user has an only mention notification setting386 does not send assignee notifications387 behaves like project emails are disabled388 sends no emails with project emails disabled389 sends emails to someone390 confidential issues391 emails subscribers of the issue's labels that can read the issue392 when the author is not allowed to trigger notifications393 because they are blocked394 does not send any notification395 because they are a ghost396 does not send any notification397 #new_mentions_in_issue398 sends no emails when no new mentions are present399 emails new mentions with a watch level higher than mention400 does not email new mentions with a watch level equal to or less than mention401 emails new mentions despite being unsubscribed402 sends the proper notification reason header403 behaves like project emails are disabled404 sends no emails with project emails disabled405 sends emails to someone406 where current_user is blocked407 does not send any notification408 where current_user is a ghost409 does not send any notification410 #reassigned_issue411 emails new assignee412 adds "assigned" reason for new assignee413 emails previous assignee even if they have the "on mention" notif level414 emails new assignee even if they have the "on mention" notif level415 does not email new assignee if they are the current user416 behaves like participating notifications417 behaves like participating by note notification418 emails the participant419 for subgroups420 emails the participant421 behaves like participating by author notification422 emails the participant423 behaves like participating by assignee notification424 emails the participant425 behaves like participating by confidential note notification426 when user is mentioned on confidential note427 only emails authorized users428 behaves like project emails are disabled429 sends no emails with project emails disabled430 sends emails to someone431 #relabeled_issue432 emails the current user if they've opted into notifications about their activity433 doesn't email the current user if they haven't opted into notifications about their activity434 doesn't send email to anyone but subscribers of the given labels435 doesn't send multiple email when a user is subscribed to multiple given labels436 behaves like project emails are disabled437 sends no emails with project emails disabled438 sends emails to someone439 confidential issues440 emails subscribers of the issue's labels that can read the issue441 #removed_milestone on Issue443 behaves like altered milestone notification on issue444 sends the email to the correct people445 behaves like project emails are disabled446 sends no emails with project emails disabled447 sends emails to someone448 behaves like participating by confidential note notification449 when user is mentioned on confidential note450 only emails authorized users451 confidential issues452 emails subscribers of the issue's milestone that can read the issue453 #changed_milestone on Issue455 behaves like altered milestone notification on issue456 sends the email to the correct people457 behaves like project emails are disabled458 sends no emails with project emails disabled459 sends emails to someone460 confidential issues461 emails subscribers of the issue's milestone that can read the issue462 #close_issue463 sends email to issue assignee and issue author464 adds "subscribed" reason to subscriber emails465 behaves like participating notifications466 behaves like participating by note notification467 emails the participant468 for subgroups469 emails the participant470 behaves like participating by author notification471 emails the participant472 behaves like participating by assignee notification473 emails the participant474 behaves like project emails are disabled475 sends no emails with project emails disabled476 sends emails to someone477 behaves like participating by confidential note notification478 when user is mentioned on confidential note479 only emails authorized users480 #reopen_issue481 sends email to issue notification recipients482 behaves like participating notifications483 behaves like participating by note notification484 emails the participant485 for subgroups486 emails the participant487 behaves like participating by author notification488 emails the participant489 behaves like participating by assignee notification490 emails the participant491 behaves like participating by confidential note notification492 when user is mentioned on confidential note493 only emails authorized users494 behaves like project emails are disabled495 sends no emails with project emails disabled496 sends emails to someone497 #issue_moved498 sends email to issue notification recipients499 behaves like participating notifications500 behaves like participating by note notification501 emails the participant502 for subgroups503 emails the participant504 behaves like participating by author notification505 emails the participant506 behaves like participating by assignee notification507 emails the participant508 behaves like participating by confidential note notification509 when user is mentioned on confidential note510 only emails authorized users511 behaves like project emails are disabled512 sends no emails with project emails disabled513 sends emails to someone514 #issue_cloned515 sends email to issue notification recipients516 behaves like participating notifications517 behaves like participating by note notification518 emails the participant519 for subgroups520 emails the participant521 behaves like participating by author notification522 emails the participant523 behaves like participating by assignee notification524 emails the participant525 behaves like participating by confidential note notification526 when user is mentioned on confidential note527 only emails authorized users528 behaves like project emails are disabled529 sends no emails with project emails disabled530 sends emails to someone531 #issue_due532 sends email to issue notification recipients, excluding watchers533 sends the email from the author534 behaves like participating notifications535 behaves like participating by note notification536 emails the participant537 for subgroups538 emails the participant539 behaves like participating by author notification540 emails the participant541 behaves like participating by assignee notification542 emails the participant543 behaves like participating by confidential note notification544 when user is mentioned on confidential note545 only emails authorized users546 behaves like project emails are disabled547 sends no emails with project emails disabled548 sends emails to someone549 Merge Requests550 #new_merge_request551 is expected to eq 0552 adds "assigned" reason for assignee, if any553 emails any mentioned users with the mention level554 emails the author if they've opted into notifications about their activity555 doesn't email the author if they haven't opted into notifications about their activity556 emails subscribers of the merge request's labels557 behaves like project emails are disabled558 sends no emails with project emails disabled559 sends emails to someone560 Approvals561 #approve_mr562 will notify the author, subscribers, and assigned users563 #unapprove_mr564 will notify the author, subscribers, and assigned users565 participating566 behaves like participating by assignee notification567 emails the participant568 behaves like participating by note notification569 emails the participant570 for subgroups571 emails the participant572 by author573 is expected to eq 0574 when the author is not allowed to trigger notifications575 because they are blocked576 behaves like is not able to send notifications577 does not send any notification578 because they are a ghost579 behaves like is not able to send notifications580 does not send any notification581 #new_mentions_in_merge_request582 sends no emails when no new mentions are present583 emails new mentions with a watch level higher than mention584 does not email new mentions with a watch level equal to or less than mention585 emails new mentions despite being unsubscribed586 sends the proper notification reason header587 behaves like project emails are disabled588 sends no emails with project emails disabled589 sends emails to someone590 where current_user is blocked591 does not send any notification592 where current_user is a ghost593 does not send any notification594 #reassigned_merge_request595 is expected to eq 0596 adds "assigned" reason for new assignee597 behaves like participating notifications598 behaves like participating by note notification599 emails the participant600 for subgroups601 emails the participant602 behaves like participating by author notification603 emails the participant604 behaves like participating by assignee notification605 emails the participant606 behaves like project emails are disabled607 sends no emails with project emails disabled608 sends emails to someone609 #changed_reviewer_of_merge_request610 sends emails to relevant users only611 adds "review requested" reason for new reviewer612 participating notifications with reviewers613 behaves like participating notifications614 behaves like participating by note notification615 emails the participant616 for subgroups617 emails the participant618 behaves like participating by author notification619 emails the participant620 behaves like participating by assignee notification621 emails the participant622 behaves like participating by reviewer notification623 emails the participant624 behaves like project emails are disabled625 sends no emails with project emails disabled626 sends emails to someone627 #change_in_merge_request_draft_status628 sends emails to relevant users only629 behaves like participating notifications630 behaves like participating by note notification631 emails the participant632 for subgroups633 emails the participant634 behaves like participating by author notification635 emails the participant636 behaves like participating by assignee notification637 emails the participant638 behaves like project emails are disabled639 sends no emails with project emails disabled640 sends emails to someone641 #push_to_merge_request642 is expected to eq 0643 triggers push_to_merge_request_email with corresponding email644 number_of_new_commits: 0, number_of_new_commits_displayed: 0645 triggers the corresponding mailer method with list of stripped commits646 number_of_new_commits: 18, number_of_new_commits_displayed: 18647 triggers the corresponding mailer method with list of stripped commits648 number_of_new_commits: 19, number_of_new_commits_displayed: 19649 triggers the corresponding mailer method with list of stripped commits650 number_of_new_commits: 20, number_of_new_commits_displayed: 20651 triggers the corresponding mailer method with list of stripped commits652 number_of_new_commits: 21, number_of_new_commits_displayed: 20653 triggers the corresponding mailer method with list of stripped commits654 number_of_new_commits: 22, number_of_new_commits_displayed: 20655 triggers the corresponding mailer method with list of stripped commits656 there is only one existing commit657 triggers corresponding mailer method with only one existing commit658 behaves like participating notifications659 behaves like participating by note notification660 emails the participant661 for subgroups662 emails the participant663 behaves like participating by author notification664 emails the participant665 behaves like participating by assignee notification666 emails the participant667 behaves like project emails are disabled668 sends no emails with project emails disabled669 sends emails to someone670 #relabel_merge_request671 doesn't send email to anyone but subscribers of the given labels672 behaves like project emails are disabled673 sends no emails with project emails disabled674 sends emails to someone675 #removed_milestone on MergeRequest676 behaves like altered milestone notification on merge request677 sends the email to the correct people678 behaves like project emails are disabled679 sends no emails with project emails disabled680 sends emails to someone681 #changed_milestone on MergeRequest682 behaves like altered milestone notification on merge request683 sends the email to the correct people684 behaves like project emails are disabled685 sends no emails with project emails disabled686 sends emails to someone687 #merge_request_unmergeable688 sends email to merge request author689 behaves like project emails are disabled690 sends no emails with project emails disabled691 sends emails to someone692 when merge_when_pipeline_succeeds is true693 sends email to merge request author and merge_user694 #closed_merge_request695 is expected to eq 0696 behaves like participating notifications697 behaves like participating by note notification698 emails the participant699 for subgroups700 emails the participant701 behaves like participating by author notification702 emails the participant703 behaves like participating by assignee notification704 emails the participant705 behaves like project emails are disabled706 sends no emails with project emails disabled707 sends emails to someone708 #merged_merge_request709 is expected to eq 0710 notifies the merger when the pipeline succeeds is true711 does not notify the merger when the pipeline succeeds is false712 notifies the merger when the pipeline succeeds is false but they've opted into notifications about their activity713 behaves like participating notifications714 behaves like participating by note notification715 emails the participant716 for subgroups717 emails the participant718 behaves like participating by author notification719 emails the participant720 behaves like participating by assignee notification721 emails the participant722 behaves like project emails are disabled723 sends no emails with project emails disabled724 sends emails to someone725 #reopen_merge_request726 is expected to eq 0727 behaves like participating notifications728 behaves like participating by note notification729 emails the participant730 for subgroups731 emails the participant732 behaves like participating by author notification733 emails the participant734 behaves like participating by assignee notification735 emails the participant736 behaves like project emails are disabled737 sends no emails with project emails disabled738 sends emails to someone739 #resolve_all_discussions740 is expected to eq 0741 behaves like participating notifications742 behaves like participating by note notification743 emails the participant744 for subgroups745 emails the participant746 behaves like participating by author notification747 emails the participant748 behaves like participating by assignee notification749 emails the participant750 behaves like project emails are disabled751 sends no emails with project emails disabled752 sends emails to someone753 #merge_when_pipeline_succeeds754 send notification that merge will happen when pipeline succeeds755 does not send notification if the custom event is disabled756 sends notification to participants even if the custom event is disabled757 behaves like participating notifications758 behaves like participating by note notification759 emails the participant760 for subgroups761 emails the participant762 behaves like participating by author notification763 emails the participant764 behaves like participating by assignee notification765 emails the participant766 behaves like project emails are disabled767 sends no emails with project emails disabled768 sends emails to someone769 #review_requested_of_merge_request770 sends email to reviewer771 deliver email immediately772 adds "review requested" reason for new reviewer773 behaves like project emails are disabled774 sends no emails with project emails disabled775 sends emails to someone776 Projects777 #project_was_moved778 when notifications are disabled779 does not send a notification780 with users at both project and group level781 notifies the expected users782 behaves like project emails are disabled783 sends no emails with project emails disabled784 sends emails to someone785 users not having access to the new location786 does not send email787 user with notifications disabled788 #project_exported789 is expected to be empty790 #project_not_exported791 is expected to be empty792 user with notifications enabled793 #project_exported794 is expected to eq 1795 behaves like project emails are disabled796 sends no emails with project emails disabled797 sends emails to someone798 #project_not_exported799 is expected to eq 1800 behaves like project emails are disabled801 sends no emails with project emails disabled802 sends emails to someone803 #invite_member_reminder804 calls the Notify.invite_member_reminder method with the right params805 sends exactly one email806 #new_instance_access_request807DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and808from Rails 7.1 will use the default Ruby implementation.809You can set `config.active_support.remove_deprecated_time_with_zone_name = true`810to enable the new behavior now.811 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)812DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and813from Rails 7.1 will use the default Ruby implementation.814You can set `config.active_support.remove_deprecated_time_with_zone_name = true`815to enable the new behavior now.816 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)817DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and818from Rails 7.1 will use the default Ruby implementation.819You can set `config.active_support.remove_deprecated_time_with_zone_name = true`820to enable the new behavior now.821 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)822DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and823from Rails 7.1 will use the default Ruby implementation.824You can set `config.active_support.remove_deprecated_time_with_zone_name = true`825to enable the new behavior now.826 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)827DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and828from Rails 7.1 will use the default Ruby implementation.829You can set `config.active_support.remove_deprecated_time_with_zone_name = true`830to enable the new behavior now.831 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)832DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and833from Rails 7.1 will use the default Ruby implementation.834You can set `config.active_support.remove_deprecated_time_with_zone_name = true`835to enable the new behavior now.836 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)837DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and838from Rails 7.1 will use the default Ruby implementation.839You can set `config.active_support.remove_deprecated_time_with_zone_name = true`840to enable the new behavior now.841 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)842DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and843from Rails 7.1 will use the default Ruby implementation.844You can set `config.active_support.remove_deprecated_time_with_zone_name = true`845to enable the new behavior now.846 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)847DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and848from Rails 7.1 will use the default Ruby implementation.849You can set `config.active_support.remove_deprecated_time_with_zone_name = true`850to enable the new behavior now.851 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)852DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and853from Rails 7.1 will use the default Ruby implementation.854You can set `config.active_support.remove_deprecated_time_with_zone_name = true`855to enable the new behavior now.856 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)857DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and858from Rails 7.1 will use the default Ruby implementation.859You can set `config.active_support.remove_deprecated_time_with_zone_name = true`860to enable the new behavior now.861 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)862DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and863from Rails 7.1 will use the default Ruby implementation.864You can set `config.active_support.remove_deprecated_time_with_zone_name = true`865to enable the new behavior now.866 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)867DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and868from Rails 7.1 will use the default Ruby implementation.869You can set `config.active_support.remove_deprecated_time_with_zone_name = true`870to enable the new behavior now.871 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)872DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and873from Rails 7.1 will use the default Ruby implementation.874You can set `config.active_support.remove_deprecated_time_with_zone_name = true`875to enable the new behavior now.876 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)877DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and878from Rails 7.1 will use the default Ruby implementation.879You can set `config.active_support.remove_deprecated_time_with_zone_name = true`880to enable the new behavior now.881 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)882DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and883from Rails 7.1 will use the default Ruby implementation.884You can set `config.active_support.remove_deprecated_time_with_zone_name = true`885to enable the new behavior now.886 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)887DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and888from Rails 7.1 will use the default Ruby implementation.889You can set `config.active_support.remove_deprecated_time_with_zone_name = true`890to enable the new behavior now.891 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)892DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and893from Rails 7.1 will use the default Ruby implementation.894You can set `config.active_support.remove_deprecated_time_with_zone_name = true`895to enable the new behavior now.896 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)897DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and898from Rails 7.1 will use the default Ruby implementation.899You can set `config.active_support.remove_deprecated_time_with_zone_name = true`900to enable the new behavior now.901 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)902DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and903from Rails 7.1 will use the default Ruby implementation.904You can set `config.active_support.remove_deprecated_time_with_zone_name = true`905to enable the new behavior now.906 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)907DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and908from Rails 7.1 will use the default Ruby implementation.909You can set `config.active_support.remove_deprecated_time_with_zone_name = true`910to enable the new behavior now.911 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)912DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and913from Rails 7.1 will use the default Ruby implementation.914You can set `config.active_support.remove_deprecated_time_with_zone_name = true`915to enable the new behavior now.916 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)917DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and918from Rails 7.1 will use the default Ruby implementation.919You can set `config.active_support.remove_deprecated_time_with_zone_name = true`920to enable the new behavior now.921 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)922DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and923from Rails 7.1 will use the default Ruby implementation.924You can set `config.active_support.remove_deprecated_time_with_zone_name = true`925to enable the new behavior now.926 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)927DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and928from Rails 7.1 will use the default Ruby implementation.929You can set `config.active_support.remove_deprecated_time_with_zone_name = true`930to enable the new behavior now.931 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)932DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and933from Rails 7.1 will use the default Ruby implementation.934You can set `config.active_support.remove_deprecated_time_with_zone_name = true`935to enable the new behavior now.936 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)937DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and938from Rails 7.1 will use the default Ruby implementation.939You can set `config.active_support.remove_deprecated_time_with_zone_name = true`940to enable the new behavior now.941 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)942DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and943from Rails 7.1 will use the default Ruby implementation.944You can set `config.active_support.remove_deprecated_time_with_zone_name = true`945to enable the new behavior now.946 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)947DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and948from Rails 7.1 will use the default Ruby implementation.949You can set `config.active_support.remove_deprecated_time_with_zone_name = true`950to enable the new behavior now.951 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)952DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and953from Rails 7.1 will use the default Ruby implementation.954You can set `config.active_support.remove_deprecated_time_with_zone_name = true`955to enable the new behavior now.956 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)957DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and958from Rails 7.1 will use the default Ruby implementation.959You can set `config.active_support.remove_deprecated_time_with_zone_name = true`960to enable the new behavior now.961 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)962DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and963from Rails 7.1 will use the default Ruby implementation.964You can set `config.active_support.remove_deprecated_time_with_zone_name = true`965to enable the new behavior now.966 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)967DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and968from Rails 7.1 will use the default Ruby implementation.969You can set `config.active_support.remove_deprecated_time_with_zone_name = true`970to enable the new behavior now.971 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)972DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and973from Rails 7.1 will use the default Ruby implementation.974You can set `config.active_support.remove_deprecated_time_with_zone_name = true`975to enable the new behavior now.976 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)977DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and978from Rails 7.1 will use the default Ruby implementation.979You can set `config.active_support.remove_deprecated_time_with_zone_name = true`980to enable the new behavior now.981 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)982DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and983from Rails 7.1 will use the default Ruby implementation.984You can set `config.active_support.remove_deprecated_time_with_zone_name = true`985to enable the new behavior now.986 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)987DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and988from Rails 7.1 will use the default Ruby implementation.989You can set `config.active_support.remove_deprecated_time_with_zone_name = true`990to enable the new behavior now.991 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)992DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and993from Rails 7.1 will use the default Ruby implementation.994You can set `config.active_support.remove_deprecated_time_with_zone_name = true`995to enable the new behavior now.996 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)997DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and998from Rails 7.1 will use the default Ruby implementation.999You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1000to enable the new behavior now.1001 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1002DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1003from Rails 7.1 will use the default Ruby implementation.1004You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1005to enable the new behavior now.1006 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1007DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1008from Rails 7.1 will use the default Ruby implementation.1009You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1010to enable the new behavior now.1011 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1012DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1013from Rails 7.1 will use the default Ruby implementation.1014You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1015to enable the new behavior now.1016 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1017DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1018from Rails 7.1 will use the default Ruby implementation.1019You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1020to enable the new behavior now.1021 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1022DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1023from Rails 7.1 will use the default Ruby implementation.1024You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1025to enable the new behavior now.1026 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1027DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1028from Rails 7.1 will use the default Ruby implementation.1029You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1030to enable the new behavior now.1031 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1032DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1033from Rails 7.1 will use the default Ruby implementation.1034You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1035to enable the new behavior now.1036 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1037DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1038from Rails 7.1 will use the default Ruby implementation.1039You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1040to enable the new behavior now.1041 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1042DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1043from Rails 7.1 will use the default Ruby implementation.1044You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1045to enable the new behavior now.1046 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1047 sends notification only to a maximum of ten most recently active instance admins1048 #user_admin_rejection1049 sends the user a rejection email1050 #user_deactivated1051 sends the user an email1052 GroupMember1053 #new_access_request1054 recipients1055 sends notification only to group owners1056 behaves like group emails are disabled1057 sends no emails with group emails disabled1058 sends emails to someone1059 behaves like sends notification only to a maximum of ten, most recently active group owners1060 limit notification emails1061DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1062from Rails 7.1 will use the default Ruby implementation.1063You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1064to enable the new behavior now.1065 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1066DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1067from Rails 7.1 will use the default Ruby implementation.1068You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1069to enable the new behavior now.1070 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1071DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1072from Rails 7.1 will use the default Ruby implementation.1073You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1074to enable the new behavior now.1075 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1076DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1077from Rails 7.1 will use the default Ruby implementation.1078You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1079to enable the new behavior now.1080 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1081DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1082from Rails 7.1 will use the default Ruby implementation.1083You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1084to enable the new behavior now.1085 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1086DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1087from Rails 7.1 will use the default Ruby implementation.1088You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1089to enable the new behavior now.1090 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1091DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1092from Rails 7.1 will use the default Ruby implementation.1093You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1094to enable the new behavior now.1095 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1096DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1097from Rails 7.1 will use the default Ruby implementation.1098You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1099to enable the new behavior now.1100 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1101DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1102from Rails 7.1 will use the default Ruby implementation.1103You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1104to enable the new behavior now.1105 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1106DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1107from Rails 7.1 will use the default Ruby implementation.1108You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1109to enable the new behavior now.1110 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1111DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1112from Rails 7.1 will use the default Ruby implementation.1113You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1114to enable the new behavior now.1115 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1116DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1117from Rails 7.1 will use the default Ruby implementation.1118You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1119to enable the new behavior now.1120 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1121DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1122from Rails 7.1 will use the default Ruby implementation.1123You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1124to enable the new behavior now.1125 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1126DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1127from Rails 7.1 will use the default Ruby implementation.1128You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1129to enable the new behavior now.1130 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1131DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1132from Rails 7.1 will use the default Ruby implementation.1133You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1134to enable the new behavior now.1135 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1136DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1137from Rails 7.1 will use the default Ruby implementation.1138You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1139to enable the new behavior now.1140 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1141DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1142from Rails 7.1 will use the default Ruby implementation.1143You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1144to enable the new behavior now.1145 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1146DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1147from Rails 7.1 will use the default Ruby implementation.1148You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1149to enable the new behavior now.1150 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1151DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1152from Rails 7.1 will use the default Ruby implementation.1153You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1154to enable the new behavior now.1155 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1156DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1157from Rails 7.1 will use the default Ruby implementation.1158You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1159to enable the new behavior now.1160 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1161DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1162from Rails 7.1 will use the default Ruby implementation.1163You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1164to enable the new behavior now.1165 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1166DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1167from Rails 7.1 will use the default Ruby implementation.1168You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1169to enable the new behavior now.1170 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1171DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1172from Rails 7.1 will use the default Ruby implementation.1173You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1174to enable the new behavior now.1175 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1176DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1177from Rails 7.1 will use the default Ruby implementation.1178You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1179to enable the new behavior now.1180 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1181DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1182from Rails 7.1 will use the default Ruby implementation.1183You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1184to enable the new behavior now.1185 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1186DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1187from Rails 7.1 will use the default Ruby implementation.1188You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1189to enable the new behavior now.1190 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1191DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1192from Rails 7.1 will use the default Ruby implementation.1193You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1194to enable the new behavior now.1195 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1196DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1197from Rails 7.1 will use the default Ruby implementation.1198You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1199to enable the new behavior now.1200 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1201DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1202from Rails 7.1 will use the default Ruby implementation.1203You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1204to enable the new behavior now.1205 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1206DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1207from Rails 7.1 will use the default Ruby implementation.1208You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1209to enable the new behavior now.1210 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1211DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1212from Rails 7.1 will use the default Ruby implementation.1213You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1214to enable the new behavior now.1215 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1216DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1217from Rails 7.1 will use the default Ruby implementation.1218You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1219to enable the new behavior now.1220 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1221DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1222from Rails 7.1 will use the default Ruby implementation.1223You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1224to enable the new behavior now.1225 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1226DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1227from Rails 7.1 will use the default Ruby implementation.1228You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1229to enable the new behavior now.1230 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1231DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1232from Rails 7.1 will use the default Ruby implementation.1233You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1234to enable the new behavior now.1235 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1236DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1237from Rails 7.1 will use the default Ruby implementation.1238You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1239to enable the new behavior now.1240 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1241DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1242from Rails 7.1 will use the default Ruby implementation.1243You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1244to enable the new behavior now.1245 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1246DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1247from Rails 7.1 will use the default Ruby implementation.1248You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1249to enable the new behavior now.1250 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1251DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1252from Rails 7.1 will use the default Ruby implementation.1253You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1254to enable the new behavior now.1255 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1256DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1257from Rails 7.1 will use the default Ruby implementation.1258You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1259to enable the new behavior now.1260 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1261DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1262from Rails 7.1 will use the default Ruby implementation.1263You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1264to enable the new behavior now.1265 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1266DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1267from Rails 7.1 will use the default Ruby implementation.1268You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1269to enable the new behavior now.1270 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1271DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1272from Rails 7.1 will use the default Ruby implementation.1273You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1274to enable the new behavior now.1275 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1276DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1277from Rails 7.1 will use the default Ruby implementation.1278You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1279to enable the new behavior now.1280 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1281DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1282from Rails 7.1 will use the default Ruby implementation.1283You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1284to enable the new behavior now.1285 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1286DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1287from Rails 7.1 will use the default Ruby implementation.1288You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1289to enable the new behavior now.1290 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1291DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1292from Rails 7.1 will use the default Ruby implementation.1293You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1294to enable the new behavior now.1295 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1296DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1297from Rails 7.1 will use the default Ruby implementation.1298You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1299to enable the new behavior now.1300 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1301 sends notification only to a maximum of ten, most recently active group owners1302 #decline_invite1303 behaves like declines the invite1304 is expected to change `ActionMailer::Base.deliveries.size` by 11305 #new_group_member1306 sends a notification1307 when notifications are disabled1308 does not send a notification1309 behaves like group emails are disabled1310 sends no emails with group emails disabled1311 sends emails to someone1312 #updated_group_member_expiration1313 emails the user that their group membership expiry has changed1314 ProjectMember1315 #new_access_request1316 for a project in a user namespace1317 recipients1318 sends notification only to project maintainers1319 behaves like project emails are disabled1320 sends no emails with project emails disabled1321 sends emails to someone1322 behaves like sends notification only to a maximum of ten, most recently active project maintainers1323 limit notification emails1324DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1325from Rails 7.1 will use the default Ruby implementation.1326You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1327to enable the new behavior now.1328 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1329DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1330from Rails 7.1 will use the default Ruby implementation.1331You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1332to enable the new behavior now.1333 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1334DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1335from Rails 7.1 will use the default Ruby implementation.1336You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1337to enable the new behavior now.1338 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1339DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1340from Rails 7.1 will use the default Ruby implementation.1341You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1342to enable the new behavior now.1343 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1344DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1345from Rails 7.1 will use the default Ruby implementation.1346You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1347to enable the new behavior now.1348 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1349DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1350from Rails 7.1 will use the default Ruby implementation.1351You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1352to enable the new behavior now.1353 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1354DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1355from Rails 7.1 will use the default Ruby implementation.1356You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1357to enable the new behavior now.1358 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1359DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1360from Rails 7.1 will use the default Ruby implementation.1361You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1362to enable the new behavior now.1363 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1364DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1365from Rails 7.1 will use the default Ruby implementation.1366You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1367to enable the new behavior now.1368 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1369DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1370from Rails 7.1 will use the default Ruby implementation.1371You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1372to enable the new behavior now.1373 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1374DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1375from Rails 7.1 will use the default Ruby implementation.1376You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1377to enable the new behavior now.1378 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1379DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1380from Rails 7.1 will use the default Ruby implementation.1381You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1382to enable the new behavior now.1383 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1384DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1385from Rails 7.1 will use the default Ruby implementation.1386You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1387to enable the new behavior now.1388 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1389DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1390from Rails 7.1 will use the default Ruby implementation.1391You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1392to enable the new behavior now.1393 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1394DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1395from Rails 7.1 will use the default Ruby implementation.1396You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1397to enable the new behavior now.1398 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1399DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1400from Rails 7.1 will use the default Ruby implementation.1401You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1402to enable the new behavior now.1403 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1404DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1405from Rails 7.1 will use the default Ruby implementation.1406You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1407to enable the new behavior now.1408 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1409DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1410from Rails 7.1 will use the default Ruby implementation.1411You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1412to enable the new behavior now.1413 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1414DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1415from Rails 7.1 will use the default Ruby implementation.1416You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1417to enable the new behavior now.1418 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1419DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1420from Rails 7.1 will use the default Ruby implementation.1421You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1422to enable the new behavior now.1423 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1424DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1425from Rails 7.1 will use the default Ruby implementation.1426You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1427to enable the new behavior now.1428 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1429DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1430from Rails 7.1 will use the default Ruby implementation.1431You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1432to enable the new behavior now.1433 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1434DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1435from Rails 7.1 will use the default Ruby implementation.1436You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1437to enable the new behavior now.1438 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1439DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1440from Rails 7.1 will use the default Ruby implementation.1441You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1442to enable the new behavior now.1443 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1444DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1445from Rails 7.1 will use the default Ruby implementation.1446You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1447to enable the new behavior now.1448 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1449DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1450from Rails 7.1 will use the default Ruby implementation.1451You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1452to enable the new behavior now.1453 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1454DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1455from Rails 7.1 will use the default Ruby implementation.1456You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1457to enable the new behavior now.1458 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1459DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1460from Rails 7.1 will use the default Ruby implementation.1461You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1462to enable the new behavior now.1463 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1464DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1465from Rails 7.1 will use the default Ruby implementation.1466You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1467to enable the new behavior now.1468 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1469DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1470from Rails 7.1 will use the default Ruby implementation.1471You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1472to enable the new behavior now.1473 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1474DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1475from Rails 7.1 will use the default Ruby implementation.1476You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1477to enable the new behavior now.1478 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1479DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1480from Rails 7.1 will use the default Ruby implementation.1481You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1482to enable the new behavior now.1483 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1484DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1485from Rails 7.1 will use the default Ruby implementation.1486You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1487to enable the new behavior now.1488 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1489DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1490from Rails 7.1 will use the default Ruby implementation.1491You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1492to enable the new behavior now.1493 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1494DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1495from Rails 7.1 will use the default Ruby implementation.1496You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1497to enable the new behavior now.1498 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1499DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1500from Rails 7.1 will use the default Ruby implementation.1501You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1502to enable the new behavior now.1503 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1504DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1505from Rails 7.1 will use the default Ruby implementation.1506You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1507to enable the new behavior now.1508 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1509DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1510from Rails 7.1 will use the default Ruby implementation.1511You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1512to enable the new behavior now.1513 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1514DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1515from Rails 7.1 will use the default Ruby implementation.1516You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1517to enable the new behavior now.1518 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1519DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1520from Rails 7.1 will use the default Ruby implementation.1521You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1522to enable the new behavior now.1523 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1524DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1525from Rails 7.1 will use the default Ruby implementation.1526You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1527to enable the new behavior now.1528 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1529DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1530from Rails 7.1 will use the default Ruby implementation.1531You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1532to enable the new behavior now.1533 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1534DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1535from Rails 7.1 will use the default Ruby implementation.1536You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1537to enable the new behavior now.1538 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1539DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1540from Rails 7.1 will use the default Ruby implementation.1541You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1542to enable the new behavior now.1543 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1544DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1545from Rails 7.1 will use the default Ruby implementation.1546You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1547to enable the new behavior now.1548 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1549DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1550from Rails 7.1 will use the default Ruby implementation.1551You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1552to enable the new behavior now.1553 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1554DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1555from Rails 7.1 will use the default Ruby implementation.1556You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1557to enable the new behavior now.1558 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1559DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1560from Rails 7.1 will use the default Ruby implementation.1561You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1562to enable the new behavior now.1563 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1564 sends notification only to a maximum of ten, most recently active project maintainers1565 for a project in a group1566 when the project has no maintainers1567 when the group has at least one owner1568 recipients1569 sends notifications to the group owners1570 behaves like sends notification only to a maximum of ten, most recently active group owners1571 limit notification emails1572DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1573from Rails 7.1 will use the default Ruby implementation.1574You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1575to enable the new behavior now.1576 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1577DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1578from Rails 7.1 will use the default Ruby implementation.1579You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1580to enable the new behavior now.1581 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1582DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1583from Rails 7.1 will use the default Ruby implementation.1584You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1585to enable the new behavior now.1586 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1587DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1588from Rails 7.1 will use the default Ruby implementation.1589You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1590to enable the new behavior now.1591 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1592DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1593from Rails 7.1 will use the default Ruby implementation.1594You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1595to enable the new behavior now.1596 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1597DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1598from Rails 7.1 will use the default Ruby implementation.1599You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1600to enable the new behavior now.1601 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1602DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1603from Rails 7.1 will use the default Ruby implementation.1604You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1605to enable the new behavior now.1606 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1607DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1608from Rails 7.1 will use the default Ruby implementation.1609You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1610to enable the new behavior now.1611 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1612DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1613from Rails 7.1 will use the default Ruby implementation.1614You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1615to enable the new behavior now.1616 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1617DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1618from Rails 7.1 will use the default Ruby implementation.1619You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1620to enable the new behavior now.1621 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1622DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1623from Rails 7.1 will use the default Ruby implementation.1624You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1625to enable the new behavior now.1626 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1627DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1628from Rails 7.1 will use the default Ruby implementation.1629You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1630to enable the new behavior now.1631 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1632DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1633from Rails 7.1 will use the default Ruby implementation.1634You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1635to enable the new behavior now.1636 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1637DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1638from Rails 7.1 will use the default Ruby implementation.1639You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1640to enable the new behavior now.1641 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1642DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1643from Rails 7.1 will use the default Ruby implementation.1644You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1645to enable the new behavior now.1646 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1647DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1648from Rails 7.1 will use the default Ruby implementation.1649You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1650to enable the new behavior now.1651 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1652DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1653from Rails 7.1 will use the default Ruby implementation.1654You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1655to enable the new behavior now.1656 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1657DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1658from Rails 7.1 will use the default Ruby implementation.1659You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1660to enable the new behavior now.1661 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1662DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1663from Rails 7.1 will use the default Ruby implementation.1664You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1665to enable the new behavior now.1666 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1667DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1668from Rails 7.1 will use the default Ruby implementation.1669You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1670to enable the new behavior now.1671 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1672DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1673from Rails 7.1 will use the default Ruby implementation.1674You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1675to enable the new behavior now.1676 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1677DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1678from Rails 7.1 will use the default Ruby implementation.1679You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1680to enable the new behavior now.1681 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1682DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1683from Rails 7.1 will use the default Ruby implementation.1684You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1685to enable the new behavior now.1686 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1687DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1688from Rails 7.1 will use the default Ruby implementation.1689You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1690to enable the new behavior now.1691 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1692DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1693from Rails 7.1 will use the default Ruby implementation.1694You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1695to enable the new behavior now.1696 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1697DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1698from Rails 7.1 will use the default Ruby implementation.1699You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1700to enable the new behavior now.1701 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1702DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1703from Rails 7.1 will use the default Ruby implementation.1704You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1705to enable the new behavior now.1706 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1707DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1708from Rails 7.1 will use the default Ruby implementation.1709You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1710to enable the new behavior now.1711 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1712DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1713from Rails 7.1 will use the default Ruby implementation.1714You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1715to enable the new behavior now.1716 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1717DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1718from Rails 7.1 will use the default Ruby implementation.1719You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1720to enable the new behavior now.1721 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1722DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1723from Rails 7.1 will use the default Ruby implementation.1724You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1725to enable the new behavior now.1726 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1727DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1728from Rails 7.1 will use the default Ruby implementation.1729You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1730to enable the new behavior now.1731 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1732DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1733from Rails 7.1 will use the default Ruby implementation.1734You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1735to enable the new behavior now.1736 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1737DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1738from Rails 7.1 will use the default Ruby implementation.1739You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1740to enable the new behavior now.1741 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1742DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1743from Rails 7.1 will use the default Ruby implementation.1744You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1745to enable the new behavior now.1746 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1747DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1748from Rails 7.1 will use the default Ruby implementation.1749You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1750to enable the new behavior now.1751 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1752DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1753from Rails 7.1 will use the default Ruby implementation.1754You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1755to enable the new behavior now.1756 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1757DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1758from Rails 7.1 will use the default Ruby implementation.1759You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1760to enable the new behavior now.1761 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1762DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1763from Rails 7.1 will use the default Ruby implementation.1764You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1765to enable the new behavior now.1766 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1767DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1768from Rails 7.1 will use the default Ruby implementation.1769You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1770to enable the new behavior now.1771 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1772DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1773from Rails 7.1 will use the default Ruby implementation.1774You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1775to enable the new behavior now.1776 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1777DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1778from Rails 7.1 will use the default Ruby implementation.1779You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1780to enable the new behavior now.1781 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1782DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1783from Rails 7.1 will use the default Ruby implementation.1784You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1785to enable the new behavior now.1786 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1787DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1788from Rails 7.1 will use the default Ruby implementation.1789You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1790to enable the new behavior now.1791 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1792DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1793from Rails 7.1 will use the default Ruby implementation.1794You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1795to enable the new behavior now.1796 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1797DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1798from Rails 7.1 will use the default Ruby implementation.1799You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1800to enable the new behavior now.1801 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1802DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1803from Rails 7.1 will use the default Ruby implementation.1804You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1805to enable the new behavior now.1806 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1807DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1808from Rails 7.1 will use the default Ruby implementation.1809You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1810to enable the new behavior now.1811 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1812 sends notification only to a maximum of ten, most recently active group owners1813 when the group does not have any owners1814 recipients1815 does not send any notifications1816 when the project has maintainers1817 recipients1818 sends notifications only to project maintainers1819 behaves like sends notification only to a maximum of ten, most recently active project maintainers1820 limit notification emails1821DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1822from Rails 7.1 will use the default Ruby implementation.1823You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1824to enable the new behavior now.1825 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1826DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1827from Rails 7.1 will use the default Ruby implementation.1828You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1829to enable the new behavior now.1830 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1831DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1832from Rails 7.1 will use the default Ruby implementation.1833You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1834to enable the new behavior now.1835 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1836DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1837from Rails 7.1 will use the default Ruby implementation.1838You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1839to enable the new behavior now.1840 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1841DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1842from Rails 7.1 will use the default Ruby implementation.1843You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1844to enable the new behavior now.1845 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1846DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1847from Rails 7.1 will use the default Ruby implementation.1848You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1849to enable the new behavior now.1850 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1851DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1852from Rails 7.1 will use the default Ruby implementation.1853You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1854to enable the new behavior now.1855 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1856DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1857from Rails 7.1 will use the default Ruby implementation.1858You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1859to enable the new behavior now.1860 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1861DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1862from Rails 7.1 will use the default Ruby implementation.1863You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1864to enable the new behavior now.1865 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1866DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1867from Rails 7.1 will use the default Ruby implementation.1868You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1869to enable the new behavior now.1870 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1871DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1872from Rails 7.1 will use the default Ruby implementation.1873You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1874to enable the new behavior now.1875 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1876DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1877from Rails 7.1 will use the default Ruby implementation.1878You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1879to enable the new behavior now.1880 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1881DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1882from Rails 7.1 will use the default Ruby implementation.1883You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1884to enable the new behavior now.1885 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1886DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1887from Rails 7.1 will use the default Ruby implementation.1888You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1889to enable the new behavior now.1890 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1891DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1892from Rails 7.1 will use the default Ruby implementation.1893You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1894to enable the new behavior now.1895 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1896DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1897from Rails 7.1 will use the default Ruby implementation.1898You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1899to enable the new behavior now.1900 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1901DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1902from Rails 7.1 will use the default Ruby implementation.1903You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1904to enable the new behavior now.1905 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1906DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1907from Rails 7.1 will use the default Ruby implementation.1908You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1909to enable the new behavior now.1910 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1911DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1912from Rails 7.1 will use the default Ruby implementation.1913You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1914to enable the new behavior now.1915 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1916DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1917from Rails 7.1 will use the default Ruby implementation.1918You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1919to enable the new behavior now.1920 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1921DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1922from Rails 7.1 will use the default Ruby implementation.1923You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1924to enable the new behavior now.1925 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1926DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1927from Rails 7.1 will use the default Ruby implementation.1928You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1929to enable the new behavior now.1930 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1931DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1932from Rails 7.1 will use the default Ruby implementation.1933You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1934to enable the new behavior now.1935 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1936DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1937from Rails 7.1 will use the default Ruby implementation.1938You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1939to enable the new behavior now.1940 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1941DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1942from Rails 7.1 will use the default Ruby implementation.1943You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1944to enable the new behavior now.1945 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1946DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1947from Rails 7.1 will use the default Ruby implementation.1948You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1949to enable the new behavior now.1950 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1951DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1952from Rails 7.1 will use the default Ruby implementation.1953You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1954to enable the new behavior now.1955 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1956DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1957from Rails 7.1 will use the default Ruby implementation.1958You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1959to enable the new behavior now.1960 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1961DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1962from Rails 7.1 will use the default Ruby implementation.1963You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1964to enable the new behavior now.1965 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1966DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1967from Rails 7.1 will use the default Ruby implementation.1968You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1969to enable the new behavior now.1970 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1971DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1972from Rails 7.1 will use the default Ruby implementation.1973You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1974to enable the new behavior now.1975 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1976DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1977from Rails 7.1 will use the default Ruby implementation.1978You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1979to enable the new behavior now.1980 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1981DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1982from Rails 7.1 will use the default Ruby implementation.1983You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1984to enable the new behavior now.1985 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1986DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1987from Rails 7.1 will use the default Ruby implementation.1988You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1989to enable the new behavior now.1990 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)1991DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1992from Rails 7.1 will use the default Ruby implementation.1993You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1994to enable the new behavior now.1995 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)1996DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and1997from Rails 7.1 will use the default Ruby implementation.1998You can set `config.active_support.remove_deprecated_time_with_zone_name = true`1999to enable the new behavior now.2000 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)2001DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2002from Rails 7.1 will use the default Ruby implementation.2003You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2004to enable the new behavior now.2005 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)2006DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2007from Rails 7.1 will use the default Ruby implementation.2008You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2009to enable the new behavior now.2010 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)2011DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2012from Rails 7.1 will use the default Ruby implementation.2013You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2014to enable the new behavior now.2015 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)2016DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2017from Rails 7.1 will use the default Ruby implementation.2018You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2019to enable the new behavior now.2020 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)2021DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2022from Rails 7.1 will use the default Ruby implementation.2023You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2024to enable the new behavior now.2025 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)2026DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2027from Rails 7.1 will use the default Ruby implementation.2028You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2029to enable the new behavior now.2030 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)2031DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2032from Rails 7.1 will use the default Ruby implementation.2033You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2034to enable the new behavior now.2035 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)2036DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2037from Rails 7.1 will use the default Ruby implementation.2038You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2039to enable the new behavior now.2040 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)2041DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2042from Rails 7.1 will use the default Ruby implementation.2043You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2044to enable the new behavior now.2045 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)2046DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2047from Rails 7.1 will use the default Ruby implementation.2048You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2049to enable the new behavior now.2050 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:108)2051DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2052from Rails 7.1 will use the default Ruby implementation.2053You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2054to enable the new behavior now.2055 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)2056DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and2057from Rails 7.1 will use the default Ruby implementation.2058You can set `config.active_support.remove_deprecated_time_with_zone_name = true`2059to enable the new behavior now.2060 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/users.rb:109)2061 sends notification only to a maximum of ten, most recently active project maintainers2062 #decline_invite2063 behaves like declines the invite2064 is expected to change `ActionMailer::Base.deliveries.size` by 12065 #new_project_member2066 is expected to eq 12067 behaves like project emails are disabled2068 sends no emails with project emails disabled2069 sends emails to someone2070 when notifications are disabled2071 is expected to be empty2072 #member_about_to_expire2073 with group member2074 emails the user that their group membership will be expired2075 with project member2076 emails the user that their project membership will be expired2077 guest user in private project2078 filters out guests when new note is created2079 filters out guests when new merge request is created2080 filters out guests when merge request is closed2081 filters out guests when merge request is reopened2082 filters out guests when merge request is merged2083 Pipelines2084 #pipeline_finished2085 with a successful pipeline2086 when the creator has default settings2087 notifies nobody2088 when the creator has watch set2089 notifies nobody2090 when the creator has custom notifications, but without any set2091 notifies nobody2092 when the creator has custom notifications disabled2093 notifies nobody2094 when the creator has custom notifications enabled2095 emails only the creator2096 behaves like project emails are disabled2097 sends no emails with project emails disabled2098 sends emails to someone2099 when the creator has group notification email set2100 sends to group notification email2101 with a failed pipeline2102 when the creator has no custom notification set2103 emails only the creator2104 behaves like project emails are disabled2105 sends no emails with project emails disabled2106 sends emails to someone2107 when the creator has group notification email set2108 sends to group notification email2109 when the creator has watch set2110 emails only the creator2111 when the creator has custom notifications, but without any set2112 emails only the creator2113 when the creator has custom notifications disabled2114 notifies nobody2115 when the creator has custom notifications set2116 emails only the creator2117 when the creator has no read_build access2118 does not send emails2119 with a fixed pipeline2120 when the creator has no custom notification set2121 emails only the creator2122 behaves like project emails are disabled2123 sends no emails with project emails disabled2124 sends emails to someone2125 when the creator has group notification email set2126 sends to group notification email2127 when the creator has watch set2128 emails only the creator2129 when the creator has custom notifications, but without any set2130 emails only the creator2131 when the creator has custom notifications disabled2132 notifies nobody2133 when the creator has custom notifications set2134 emails only the creator2135 Pages domains2136 #pages_domain_enabled2137 emails current watching maintainers and owners2138 emails nobody if the project is missing2139 behaves like project emails are disabled2140 sends no emails with project emails disabled2141 sends emails to someone2142 #pages_domain_disabled2143 emails current watching maintainers and owners2144 emails nobody if the project is missing2145 behaves like project emails are disabled2146 sends no emails with project emails disabled2147 sends emails to someone2148 #pages_domain_verification_succeeded2149 emails current watching maintainers and owners2150 emails nobody if the project is missing2151 behaves like project emails are disabled2152 sends no emails with project emails disabled2153 sends emails to someone2154 #pages_domain_verification_failed2155 emails current watching maintainers and owners2156 emails nobody if the project is missing2157 behaves like project emails are disabled2158 sends no emails with project emails disabled2159 sends emails to someone2160 #pages_domain_auto_ssl_failed2161 emails current watching maintainers and owners2162 emails nobody if the project is missing2163 behaves like project emails are disabled2164 sends no emails with project emails disabled2165 sends emails to someone2166 Auto DevOps notifications2167 #autodevops_disabled2168 emails project owner and user that triggered the pipeline2169 behaves like project emails are disabled2170 sends no emails with project emails disabled2171 sends emails to someone2172 Repository cleanup2173 #repository_cleanup_success2174 emails the specified user only2175 behaves like project emails are disabled2176 sends no emails with project emails disabled2177 sends emails to someone2178 #repository_cleanup_failure2179 emails the specified user only2180 behaves like project emails are disabled2181 sends no emails with project emails disabled2182 sends emails to someone2183 Remote mirror notifications2184 #remote_mirror_update_failed2185 emails current watching maintainers and owners2186 behaves like project emails are disabled2187 sends no emails with project emails disabled2188 sends emails to someone2189 with external authorization service2190 sends email when the service is not enabled2191 when the service is enabled2192 does not send an email2193 with admin user2194 when admin mode is enabled2195 still delivers email to admins2196 when admin mode is disabled2197 does not send an email2198 #prometheus_alerts_fired2199 sends the email to owners and masters2200 behaves like project emails are disabled2201 sends no emails with project emails disabled2202 sends emails to someone2203 #new_review2204 sends emails2205 behaves like project emails are disabled2206 sends no emails with project emails disabled2207 sends emails to someone2208 #inactive_project_deletion_warning2209 sends email to project owners and maintainers2210Packages::GroupPackagesFinder2211 #execute2212 group has packages2213 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2214 subgroup has packages2215 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2216 excluding subgroups2217 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2218 permissions2219 role: :anonymous, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2220 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2221 role: :guest, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2222 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2223 role: :reporter, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2224 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2225 role: :developer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2226 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2227 role: :maintainer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2228 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2229 role: :anonymous, project_visibility: :public, repository_visibility: :private, packages_returned: :none2230 is expected to contain exactly2231 role: :guest, project_visibility: :public, repository_visibility: :private, packages_returned: :all2232 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2233 role: :reporter, project_visibility: :public, repository_visibility: :private, packages_returned: :all2234 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2235 role: :developer, project_visibility: :public, repository_visibility: :private, packages_returned: :all2236 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2237 role: :maintainer, project_visibility: :public, repository_visibility: :private, packages_returned: :all2238 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2239 role: :anonymous, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none2240 is expected to contain exactly2241 role: :guest, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none2242 is expected to contain exactly2243 role: :reporter, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all2244 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2245 role: :developer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all2246 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2247 role: :maintainer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all2248 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2249 role: :anonymous, project_visibility: :private, repository_visibility: :private, packages_returned: :none2250 is expected to contain exactly2251 role: :guest, project_visibility: :private, repository_visibility: :private, packages_returned: :none2252 is expected to contain exactly2253 role: :reporter, project_visibility: :private, repository_visibility: :private, packages_returned: :all2254 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2255 role: :developer, project_visibility: :private, repository_visibility: :private, packages_returned: :all2256 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2257 role: :maintainer, project_visibility: :private, repository_visibility: :private, packages_returned: :all2258 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2259 deploy tokens2260 group deploy token2261 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2262 project deploy token2263 is expected to contain exactly #<Packages::Package id: 7, project_id: 103, created_at: "2023-08-10 12:35:48.829270498 +0000", update...ckage_type: "npm", creator_id: 990, status: "default", last_downloaded_at: nil, status_message: nil>2264 avoid N+1 query2265 avoids N+1 database queries2266 when there are processing packages2267 is expected to contain exactly #<Packages::Package id: 2, project_id: 98, created_at: "2023-08-10 12:35:47.357582729 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 4, project_id: 98, created_at: "2023-08-10 12:35:47.686636586 +0000", updated...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2268 preload_pipelines2269 preloads pipelines by default2270 set to false2271 does not preload pipelines2272 with package_name2273 as complete name2274 is expected to eq [#<Packages::Package id: 26, project_id: 98, created_at: "2023-08-10 12:36:08.383044135 +0000", updat...ge_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>]2275 for fuzzy filter aven2276 is expected to eq [#<Packages::Package id: 26, project_id: 98, created_at: "2023-08-10 12:36:08.383044135 +0000", updat...ge_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>]2277 for fuzzy filter mav2278 is expected to eq [#<Packages::Package id: 26, project_id: 98, created_at: "2023-08-10 12:36:08.383044135 +0000", updat...ge_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>]2279 for fuzzy filter ave2280 is expected to eq [#<Packages::Package id: 26, project_id: 98, created_at: "2023-08-10 12:36:08.383044135 +0000", updat...ge_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>]2281 with exact package_name2282 as complete name2283 is expected to contain exactly #<Packages::Package id: 28, project_id: 98, created_at: "2023-08-10 12:36:09.577076784 +0000", update...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2284 behaves like concerning versionless param2285 is expected not to include #<Packages::Package id: 32, project_id: 98, created_at: "2023-08-10 12:36:10.271564536 +0000", update...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2286 with valid include_versionless param2287 is expected to include #<Packages::Package id: 32, project_id: 98, created_at: "2023-08-10 12:36:10.271564536 +0000", update...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2288 with empty include_versionless param2289 is expected not to include #<Packages::Package id: 32, project_id: 98, created_at: "2023-08-10 12:36:10.271564536 +0000", update...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2290 behaves like concerning package statuses2291 displayable packages2292 is expected not to include #<Packages::Package id: 34, project_id: 98, created_at: "2023-08-10 12:36:11.175453505 +0000", update...kage_type: "maven", creator_id: 985, status: "hidden", last_downloaded_at: nil, status_message: nil>2293 is expected to include #<Packages::Package id: 36, project_id: 98, created_at: "2023-08-10 12:36:11.499973692 +0000", update...ckage_type: "maven", creator_id: 985, status: "error", last_downloaded_at: nil, status_message: nil>2294 with status param2295 is expected to contain exactly #<Packages::Package id: 34, project_id: 98, created_at: "2023-08-10 12:36:11.175453505 +0000", update...kage_type: "maven", creator_id: 985, status: "hidden", last_downloaded_at: nil, status_message: nil>2296 with invalid status param2297 is expected to raise Packages::FinderHelper::InvalidStatusError2298 group has package of all types2299 behaves like with package type2300 is expected to contain exactly #<Packages::Package id: 38, project_id: 98, created_at: "2023-08-10 12:36:12.586778159 +0000", update...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2301 behaves like with package type2302 is expected to contain exactly #<Packages::Package id: 39, project_id: 98, created_at: "2023-08-10 12:36:12.622909536 +0000", update...ckage_type: "npm", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2303 behaves like with package type2304 is expected to contain exactly #<Packages::Package id: 41, project_id: 98, created_at: "2023-08-10 12:36:12.875298969 +0000", update...age_type: "conan", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2305 behaves like with package type2306 is expected to contain exactly #<Packages::Package id: 42, project_id: 98, created_at: "2023-08-10 12:36:12.956255193 +0000", update...age_type: "nuget", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2307 behaves like with package type2308 is expected to contain exactly #<Packages::Package id: 43, project_id: 98, created_at: "2023-08-10 12:36:12.971626082 +0000", update...kage_type: "pypi", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2309 behaves like with package type2310 is expected to contain exactly #<Packages::Package id: 44, project_id: 98, created_at: "2023-08-10 12:36:12.994373541 +0000", update..._type: "composer", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2311 behaves like with package type2312 is expected to contain exactly #<Packages::Package id: 45, project_id: 98, created_at: "2023-08-10 12:36:12.999560270 +0000", update...e_type: "generic", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2313 behaves like with package type2314 is expected to contain exactly #<Packages::Package id: 46, project_id: 98, created_at: "2023-08-10 12:36:13.004829420 +0000", update...ge_type: "golang", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2315 behaves like with package type2316 is expected to contain exactly #<Packages::Package id: 47, project_id: 98, created_at: "2023-08-10 12:36:13.017372859 +0000", update...ge_type: "debian", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2317 behaves like with package type2318 is expected to contain exactly #<Packages::Package id: 48, project_id: 98, created_at: "2023-08-10 12:36:13.138452011 +0000", update..._type: "rubygems", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2319 behaves like with package type2320 is expected to contain exactly #<Packages::Package id: 49, project_id: 98, created_at: "2023-08-10 12:36:13.166567439 +0000", update...kage_type: "helm", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2321 behaves like with package type2322 is expected to contain exactly #<Packages::Package id: 50, project_id: 98, created_at: "2023-08-10 12:36:13.187713657 +0000", update...terraform_module", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2323 behaves like with package type2324 is expected to contain exactly #<Packages::Package id: 51, project_id: 98, created_at: "2023-08-10 12:36:13.205255876 +0000", update...ckage_type: "rpm", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2325 behaves like with package type2326 is expected to contain exactly #<Packages::Package id: 52, project_id: 98, created_at: "2023-08-10 12:36:13.211386176 +0000", update..._type: "ml_model", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2327 group has no packages2328 is expected to be empty2329 group is nil2330 is expected to be empty2331 package type is nil2332 is expected to contain exactly #<Packages::Package id: 54, project_id: 98, created_at: "2023-08-10 12:36:17.013636017 +0000", update...age_type: "maven", creator_id: 985, status: "default", last_downloaded_at: nil, status_message: nil>2333 with invalid package_type2334 is expected to raise Packages::FinderHelper::InvalidPackageTypeError2335MergeRequests::CleanupRefsService2336 .schedule2337 creates a merge request cleanup schedule2338 #execute2339 when merge request is closed2340 when closed 14 days ago2341 behaves like service that cleans up merge request refs2342 creates keep around ref and deletes merge request refs2343 when merge request has no head ref2344 does not fail2345 when merge request has merge ref2346 caches merge ref sha and deletes merge ref2347 when merge ref sha cannot be cached2348 behaves like service that does not clean up merge request refs2349 does not delete merge request refs2350 when keep around ref cannot be created2351 behaves like service that does not clean up merge request refs2352 does not delete merge request refs2353 when a git error is raised2354 Gitlab::Git::Repository::GitError2355 behaves like service that does not clean up merge request refs2356 does not delete merge request refs2357 Gitlab::Git::CommandError2358 behaves like service that does not clean up merge request refs2359 does not delete merge request refs2360 when cleanup schedule fails to update2361 creates keep around ref and deletes merge request refs2362 when merge request is not scheduled to be cleaned up yet2363 behaves like service that does not clean up merge request refs2364 does not delete merge request refs2365 when repository no longer exists2366 does not fail and still mark schedule as complete2367 when closed later than 14 days ago2368 behaves like service that does not clean up merge request refs2369 does not delete merge request refs2370 when merge request is merged2371 when merged 14 days ago2372 behaves like service that cleans up merge request refs2373 creates keep around ref and deletes merge request refs2374 when merge request has no head ref2375 does not fail2376 when merge request has merge ref2377 caches merge ref sha and deletes merge ref2378 when merge ref sha cannot be cached2379 behaves like service that does not clean up merge request refs2380 does not delete merge request refs2381 when keep around ref cannot be created2382 behaves like service that does not clean up merge request refs2383 does not delete merge request refs2384 when a git error is raised2385 Gitlab::Git::Repository::GitError2386 behaves like service that does not clean up merge request refs2387 does not delete merge request refs2388 Gitlab::Git::CommandError2389 behaves like service that does not clean up merge request refs2390 does not delete merge request refs2391 when cleanup schedule fails to update2392 creates keep around ref and deletes merge request refs2393 when merge request is not scheduled to be cleaned up yet2394 behaves like service that does not clean up merge request refs2395 does not delete merge request refs2396 when repository no longer exists2397 does not fail and still mark schedule as complete2398 when merged later than 14 days ago2399 behaves like service that does not clean up merge request refs2400 does not delete merge request refs2401 when merge request is not closed nor merged2402 behaves like service that does not clean up merge request refs2403 does not delete merge request refs2404CounterAttribute2405 behaves like CounterAttribute2406 defines a method to store counters2407 build_artifacts_size2408 #increment_counter2409 when attribute is a counter attribute2410 amount: 102411 increments the counter in Redis and logs it2412 does not increment the counter for the record2413 schedules a worker to flush counter increments asynchronously2414 amount: -32415 increments the counter in Redis and logs it2416 does not increment the counter for the record2417 schedules a worker to flush counter increments asynchronously2418 #increment_amount2419 increases the egress in cache2420 #current_counter2421 increases the amount in cache2422 when increment amount is 02423 does nothing2424 #bulk_increment_counter2425 when attribute is a counter attribute2426 increments the counter in Redis and logs each increment2427 does not increment the counter for the record2428 schedules a worker to flush counter increments asynchronously2429 when feature flag split_log_bulk_increment_counter is disabled2430 logs a single total increment2431 commit_count2432 #increment_counter2433 when attribute is a counter attribute2434 amount: 102435 increments the counter in Redis and logs it2436 does not increment the counter for the record2437 schedules a worker to flush counter increments asynchronously2438 amount: -32439 increments the counter in Redis and logs it2440 does not increment the counter for the record2441 schedules a worker to flush counter increments asynchronously2442 #increment_amount2443 increases the egress in cache2444 #current_counter2445 increases the amount in cache2446 when increment amount is 02447 does nothing2448 #bulk_increment_counter2449 when attribute is a counter attribute2450 increments the counter in Redis and logs each increment2451 does not increment the counter for the record2452 schedules a worker to flush counter increments asynchronously2453 when feature flag split_log_bulk_increment_counter is disabled2454 logs a single total increment2455 packages_size2456 #increment_counter2457 when attribute is a counter attribute2458 amount: 102459 increments the counter in Redis and logs it2460 does not increment the counter for the record2461 schedules a worker to flush counter increments asynchronously2462 amount: -32463 increments the counter in Redis and logs it2464 does not increment the counter for the record2465 schedules a worker to flush counter increments asynchronously2466 #increment_amount2467 increases the egress in cache2468 #current_counter2469 increases the amount in cache2470 when increment amount is 02471 does nothing2472 #bulk_increment_counter2473 when attribute is a counter attribute2474 increments the counter in Redis and logs each increment2475 does not increment the counter for the record2476 schedules a worker to flush counter increments asynchronously2477 when feature flag split_log_bulk_increment_counter is disabled2478 logs a single total increment2479 #update_counters_with_lease2480 updates counters of the record2481 behaves like obtaining lease to update database2482 when it is unable to obtain lock2483 logs a warning2484 when the execution raises error2485 reraises error2486 #counter_attribute_enabled?2487 is true when counter attribute is defined2488 is false when counter attribute is not defined2489 with a conditional counter attribute2490 where the condition evaluates to true2491 is expected to eq true2492 where the condition evaluates to false2493 is expected to eq false2494 #initiate_refresh!2495 when counter attribute is enabled2496 initiates refresh on the BufferedCounter2497 when counter attribute is not enabled2498 raises error2499 #finalize_refresh2500 when counter attribute is enabled2501 initiates refresh on the BufferedCounter2502 when counter attribute is not enabled2503 raises error2504 #counter2505 returns the counter for the respective attribute2506 returns the appropriate counter for the attribute2507 raises error for unknown attribute2508 with a conditional counter attribute2509 enabled: true, expected_counter_class: Gitlab::Counters::BufferedCounter2510 returns the appropriate counter based on the condition2511 enabled: false, expected_counter_class: Gitlab::Counters::LegacyCounter2512 returns the appropriate counter based on the condition2513MergeRequestPresenter2514 #mergeable_discussions_state2515 returns the mergeable_discussions_state2516 #ci_status2517 when no head pipeline2518 return status from Ci integration2519 when head pipeline present2520 success with warnings2521 returns "success-with-warnings"2522 pipeline HAS status AND its not success with warnings2523 returns pipeline status2524 pipeline has NO status AND its not success with warnings2525 returns "preparing"2526 #conflict_resolution_path2527 when MR cannot be resolved in UI2528 does not return conflict resolution path2529 when conflicts cannot be resolved by user2530 does not return conflict resolution path2531 when able to access conflict resolution UI2532 does return conflict resolution path2533 issues links2534 #closing_issues_links2535 presents closing issues links2536 does not present related issues links2537 appends status when closing issue is already closed2538 #mentioned_issues_links2539 presents related issues links2540 does not present closing issues links2541 appends status when mentioned issue is already closed2542 #assign_to_closing_issues_path2543 is expected to match "user507/project-215/-/merge_requests/1/assign_related_issues"2544 #assign_to_closing_issues_count2545 single closing issue2546 returns correct count2547 multiple closing issues2548 returns correct count2549 no closing issue2550 returns correct count2551 #cancel_auto_merge_path2552 when can cancel mwps2553 returns path2554 when cannot cancel mwps2555 returns nil2556 #merge_path2557 when can be merged by user2558 returns path2559 when cannot be merged by user2560 returns nil2561 #create_issue_to_resolve_discussions_path2562 when can create issue and issues enabled2563 returns path2564 when cannot create issue2565 returns nil2566 when issues disabled2567 returns nil2568 #remove_wip_path2569 when merge request enabled and has permission2570 has remove_wip_path2571 when has no permission2572 returns nil2573 #target_branch_commits_path2574 when target branch exists2575 returns path2576 when target branch does not exist2577 returns nil2578 #source_branch_commits_path2579 when source branch exists2580 returns path2581 when source branch does not exist2582 returns nil2583 #target_branch_tree_path2584 when target branch exists2585 returns path2586 when target branch does not exist2587 returns nil2588 #source_branch_path2589 when source branch exists2590 returns path2591 when source branch does not exist2592 returns nil2593 #target_branch_path2594 when target branch exists2595 returns path2596 when target branch does not exist2597 returns nil2598 #source_branch_link2599 when source branch exists2600 returns link2601 when source branch does not exist2602 returns text2603 #target_branch_link2604 when target branch exists2605 returns link2606 when target branch does not exist2607 returns text2608 #source_branch_with_namespace_link2609 returns link2610 escapes html, when source_branch does not exist2611 #rebase_path2612 when can rebase2613 returns path2614 when cannot rebase2615 when rebase in progress2616 returns nil2617 when user cannot merge2618 returns nil2619 should not be rebased2620 returns nil2621 #can_push_to_source_branch2622 when source branch exists AND user can push to source branch2623 returns true2624 when source branch does not exists2625 returns false2626 when user cannot push to source branch2627 returns false2628 #api_approvals_path2629 is expected to eq "/api/v4/projects/209/merge_requests/1/approvals"2630 #api_approve_path2631 is expected to eq "/api/v4/projects/209/merge_requests/1/approve"2632 #api_unapprove_path2633 is expected to eq "/api/v4/projects/209/merge_requests/1/unapprove"2634 #pipeline_coverage_delta2635 when merge request has pipeline coverage delta2636 formats coverage into 2 decimal points2637 when merge request does not have pipeline coverage delta2638 returns nil2639GroupsFinder2640 #execute2641 root level groups2642 user_type: nil, params: {:all_available=>true}, results: [:public_group, :user_public_group]2643 is expected to contain exactly #<Group id:1462 @public_group> and #<Group id:1465 @user_public_group>2644 user_type: nil, params: {:all_available=>false}, results: [:public_group, :user_public_group]2645 is expected to contain exactly #<Group id:1468 @public_group> and #<Group id:1471 @user_public_group>2646 user_type: nil, params: {}, results: [:public_group, :user_public_group]2647 is expected to contain exactly #<Group id:1474 @public_group> and #<Group id:1477 @user_public_group>2648 user_type: :regular, params: {:all_available=>true}, results: [:public_group, :internal_group, :user_public_group, :user_internal_group, :user_private_group]2649 is expected to contain exactly #<Group id:1480 @public_group>, #<Group id:1479 @internal_group>, #<Group id:1483 @user_public_group>, #<Group id:1482 @user_internal_group>, and #<Group id:1481 @user_private_group>2650 user_type: :regular, params: {:all_available=>false}, results: [:user_public_group, :user_internal_group, :user_private_group]2651 is expected to contain exactly #<Group id:1490 @user_public_group>, #<Group id:1489 @user_internal_group>, and #<Group id:1488 @user_private_group>2652 user_type: :regular, params: {}, results: [:public_group, :internal_group, :user_public_group, :user_internal_group, :user_private_group]2653 is expected to contain exactly #<Group id:1494 @public_group>, #<Group id:1493 @internal_group>, #<Group id:1497 @user_public_group>, #<Group id:1496 @user_internal_group>, and #<Group id:1495 @user_private_group>2654 user_type: :regular, params: {:min_access_level=>30}, results: [:user_public_group, :user_internal_group, :user_private_group]2655 is expected to contain exactly #<Group id:1504 @user_public_group>, #<Group id:1503 @user_internal_group>, and #<Group id:1502 @user_private_group>2656 user_type: :external, params: {:all_available=>true}, results: [:public_group, :user_public_group, :user_internal_group, :user_private_group]2657 is expected to contain exactly #<Group id:1508 @public_group>, #<Group id:1511 @user_public_group>, #<Group id:1510 @user_internal_group>, and #<Group id:1509 @user_private_group>2658 user_type: :external, params: {:all_available=>false}, results: [:user_public_group, :user_internal_group, :user_private_group]2659 is expected to contain exactly #<Group id:1518 @user_public_group>, #<Group id:1517 @user_internal_group>, and #<Group id:1516 @user_private_group>2660 user_type: :external, params: {}, results: [:public_group, :user_public_group, :user_internal_group, :user_private_group]2661 is expected to contain exactly #<Group id:1522 @public_group>, #<Group id:1525 @user_public_group>, #<Group id:1524 @user_internal_group>, and #<Group id:1523 @user_private_group>2662 user_type: :admin_without_admin_mode, params: {:all_available=>true}, results: [:public_group, :internal_group, :user_public_group, :user_internal_group, :user_private_group]2663 is expected to contain exactly #<Group id:1529 @public_group>, #<Group id:1528 @internal_group>, #<Group id:1532 @user_public_group>, #<Group id:1531 @user_internal_group>, and #<Group id:1530 @user_private_group>2664 user_type: :admin_without_admin_mode, params: {:all_available=>false}, results: [:user_public_group, :user_internal_group, :user_private_group]2665 is expected to contain exactly #<Group id:1539 @user_public_group>, #<Group id:1538 @user_internal_group>, and #<Group id:1537 @user_private_group>2666 user_type: :admin_without_admin_mode, params: {}, results: [:public_group, :internal_group, :user_public_group, :user_internal_group, :user_private_group]2667 is expected to contain exactly #<Group id:1543 @public_group>, #<Group id:1542 @internal_group>, #<Group id:1546 @user_public_group>, #<Group id:1545 @user_internal_group>, and #<Group id:1544 @user_private_group>2668 user_type: :admin_with_admin_mode, params: {:all_available=>true}, results: [:public_group, :internal_group, :private_group, :user_public_group, :user_internal_group, :user_private_group]2669 is expected to contain exactly #<Group id:1550 @public_group>, #<Group id:1549 @internal_group>, #<Group id:1548 @private_group>, #<Group id:1553 @user_public_group>, #<Group id:1552 @user_internal_group>, and #<Group id:1551 @user_private_group>2670 user_type: :admin_with_admin_mode, params: {:all_available=>false}, results: [:user_public_group, :user_internal_group, :user_private_group]2671 is expected to contain exactly #<Group id:1560 @user_public_group>, #<Group id:1559 @user_internal_group>, and #<Group id:1558 @user_private_group>2672 user_type: :admin_with_admin_mode, params: {}, results: [:public_group, :internal_group, :private_group, :user_public_group, :user_internal_group, :user_private_group]2673 is expected to contain exactly #<Group id:1564 @public_group>, #<Group id:1563 @internal_group>, #<Group id:1562 @private_group>, #<Group id:1567 @user_public_group>, #<Group id:1566 @user_internal_group>, and #<Group id:1565 @user_private_group>2674 subgroups2675 with [nil] parent2676 returns only top-level groups2677 without a user2678 only returns parent and public subgroups2679 with a user2680 returns parent, public, and internal subgroups2681 being member2682 returns parent, public subgroups, internal subgroups, and private subgroups user is member of2683 parent group private2684 being member of parent group2685 returns all subgroups2686 authorized to private project2687 project one level deep2688 includes the subgroup of the project2689 does not include private subgroups deeper down2690 project two levels deep2691 returns all the ancestor groups2692 returns the groups for a given parent2693 being minimal access member of parent group2694 do not return group with minimal_access access2695 with include parent group descendants2696 with nil parent2697 returns all accessible groups2698 without a user2699 only returns the group public descendants2700 when a user is present2701 returns the group public and internal descendants2702 when a parent group member is present2703 returns all group descendants2704 with search2705 returns all groups with matching title2706 returns all groups with matching path2707 does not search in full path if parent is set2708 with group descendants2709 searches in full path if descendant groups are not included2710 with filter_group_ids2711 returns only the groups listed in the filter2712 with include_ancestors2713 if include_ancestors is true2714 returns ancestors of user groups2715 returns subgroup if user is member of project of subgroup2716 returns only groups related to user groups if all_available is false2717 if include_ancestors is false2718 does not return private ancestors of user groups2719 returns project's parent group if user is member of project2720 returns only user groups and their descendants if all_available is false2721Packages::PackageFile2722 behaves like having unique enum values2723 has unique values in "status"2724 behaves like destructible2725 .next_pending_destruction2726 returns the oldest item pending destruction based on updated_at2727 returns the oldest item pending destruction based on created_at2728 relationships2729 is expected to belong to package required: false2730 is expected to have one conan_file_metadatum2731 is expected to have many package_file_build_infos inverse_of => package_file2732 is expected to have one debian_file_metadatum class_name => Packages::Debian::FileMetadatum inverse_of => package_file2733 is expected to have one helm_file_metadatum class_name => Packages::Helm::FileMetadatum inverse_of => package_file2734 validations2735 is expected to validate that :package cannot be empty/falsy2736 with pypi package2737 file_name2738 can not save a duplicated file2739 with a pending destruction package duplicated file2740 can save it2741 file_sha2562742 sha256_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", expected_success: true2743 does not allow invalid sha256 characters2744 sha256_value: nil, expected_success: true2745 does not allow invalid sha256 characters2746 sha256_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", expected_success: false2747 does not allow invalid sha256 characters2748 sha256_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", expected_success: false2749 does not allow invalid sha256 characters2750 sha256_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%", expected_success: false2751 does not allow invalid sha256 characters2752 sha256_value: "", expected_success: false2753 does not allow invalid sha256 characters2754 with package filenames2755 .with_file_name2756 is expected to contain exactly #<Packages::PackageFile id: 77, package_id: 55, created_at: "2023-08-10 12:38:00.293630664 +0000", up...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2757 .with_file_name_like2758 is expected to contain exactly #<Packages::PackageFile id: 77, package_id: 55, created_at: "2023-08-10 12:38:00.293630664 +0000", up...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2759 .with_format2760 is expected to contain exactly #<Packages::PackageFile id: 79, package_id: 57, created_at: "2023-08-10 12:38:00.845424240 +0000", up...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2761 .with_nuget_format2762 is expected to contain exactly #<Packages::PackageFile id: 80, package_id: 58, created_at: "2023-08-10 12:38:01.099421375 +0000", up...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2763 updating project statistics2764 when the package file has an explicit size2765 behaves like UpdateProjectStatistics2766 is expected to be a new record2767 when statistic is a counter attribute2768 when creating2769 stores pending increments for async update2770 when updating2771 stores pending increments for async update2772 avoids N + 1 queries2773 when destroying2774 stores pending increment for async update2775 when it is destroyed from the project level2776 does not store pending increments for async update2777 does not schedule a namespace statistics worker2778 .for_package_ids2779 returns matching packages2780 .with_conan_package_reference2781 returns matching packages2782 .for_rubygem_with_file_name2783 returns the matching gem file only for ruby packages2784 Debian scopes2785 #with_debian_file_type2786 is expected to contain exactly #<Packages::PackageFile id: 88, package_id: 59, created_at: "2023-08-10 12:38:01.236811000 +0000", up...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2787 #with_debian_component_name2788 is expected to contain exactly #<Packages::PackageFile id: 114, package_id: 59, created_at: "2023-08-10 12:38:05.729852728 +0000", u...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2789 #with_debian_architecture_name2790 is expected to contain exactly #<Packages::PackageFile id: 115, package_id: 59, created_at: "2023-08-10 12:38:05.748695846 +0000", u...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2791 #with_debian_unknown_since2792 is expected to contain exactly #<Packages::PackageFile id: 116, package_id: 71, created_at: "2023-08-10 12:38:05.880890000 +0000", u...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2793 .for_helm_with_channel2794 returns the matching file only for Helm packages2795 with package files pending destruction2796 does not return them2797 .most_recent!2798 is expected to eq #<Packages::PackageFile id: 88, package_id: 59, created_at: "2023-08-10 12:38:01.236811000 +0000", up...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2799 .most_recent_for2800 package_input1: 1, package_input2: 2, package_input3: 3, package_input4: 42801 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, and #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2802 package_input1: 1, package_input2: 2, package_input3: 3, package_input4: nil2803 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, and #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2804 package_input1: 1, package_input2: 2, package_input3: nil, package_input4: 42805 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, and #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2806 package_input1: 1, package_input2: 2, package_input3: nil, package_input4: nil2807 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil> and #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2808 package_input1: 1, package_input2: nil, package_input3: 3, package_input4: 42809 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, and #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2810 package_input1: 1, package_input2: nil, package_input3: 3, package_input4: nil2811 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil> and #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2812 package_input1: 1, package_input2: nil, package_input3: nil, package_input4: 42813 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil> and #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2814 package_input1: 1, package_input2: nil, package_input3: nil, package_input4: nil2815 is expected to contain exactly #<Packages::PackageFile id: 130, package_id: 75, created_at: "2023-08-10 12:38:06.789722000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2816 package_input1: nil, package_input2: 2, package_input3: 3, package_input4: 42817 is expected to contain exactly #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>, and #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2818 package_input1: nil, package_input2: 2, package_input3: 3, package_input4: nil2819 is expected to contain exactly #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil> and #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2820 package_input1: nil, package_input2: 2, package_input3: nil, package_input4: 42821 is expected to contain exactly #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil> and #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2822 package_input1: nil, package_input2: 2, package_input3: nil, package_input4: nil2823 is expected to contain exactly #<Packages::PackageFile id: 140, package_id: 76, created_at: "2023-08-10 12:38:07.606932000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2824 package_input1: nil, package_input2: nil, package_input3: 3, package_input4: 42825 is expected to contain exactly #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil> and #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2826 package_input1: nil, package_input2: nil, package_input3: 3, package_input4: nil2827 is expected to contain exactly #<Packages::PackageFile id: 136, package_id: 77, created_at: "2023-08-10 12:38:07.564342000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2828 package_input1: nil, package_input2: nil, package_input3: nil, package_input4: 42829 is expected to contain exactly #<Packages::PackageFile id: 133, package_id: 78, created_at: "2023-08-10 12:38:07.531093000 +0000", u...01c...", verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>2830 package_input1: nil, package_input2: nil, package_input3: nil, package_input4: nil2831 is expected to contain exactly2832 extra join and extra where2833 returns the most recent package for the selected channel2834 with package files pending destruction2835 does not return them2836 #pipelines2837 package_file without pipeline2838 is expected to be empty2839 package_file with pipeline2840 is expected to contain exactly #<Ci::Pipeline id: 29, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: ni...a: nil, external_pull_request_id: nil, ci_ref_id: 29, locked: "artifacts_locked", partition_id: 100> and #<Ci::Pipeline id: 30, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: ni...a: nil, external_pull_request_id: nil, ci_ref_id: 30, locked: "artifacts_locked", partition_id: 100>2841 #update_file_store callback2842 updates metadata columns2843 update callbacks2844 with object storage disabled2845 behaves like executing the default callback2846 executes the default callback2847 with new_file_path set2848 behaves like executing the default callback2849 executes the default callback2850 with object storage enabled2851 behaves like executing the default callback2852 executes the default callback2853 with new_file_path set2854 executes the move_in_object_storage callback2855 status scopes2856 .installable2857 does not include non-displayable packages2858 .with_status2859 is expected to contain exactly #<Packages::PackageFile id: 154, package_id: 87, created_at: "2023-08-10 12:38:11.823512217 +0000", u...ification_state: 0, verification_started_at: nil, status: "pending_destruction", new_file_path: nil>2860WebHook2861 associations2862 is expected to have many web_hook_logs2863 validations2864 is expected to validate that :url cannot be empty/falsy2865 only consider these branch filter strategies are valid2866 url_variables2867 is expected to allow :url_variables to be ‹{}›2868 is expected to allow :url_variables to be ‹{"foo" => "bar"}›2869 is expected to allow :url_variables to be ‹{"FOO" => "bar"}›2870 is expected to allow :url_variables to be ‹{"MY_TOKEN" => "bar"}›2871 is expected to allow :url_variables to be ‹{"foo2" => "bar"}›2872 is expected to allow :url_variables to be ‹{"x" => "y"}›2873 is expected to allow :url_variables to be ‹{"x" => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}›2874 is expected to allow :url_variables to be ‹{"foo" => "bar", "bar" => "baz"}›2875 is expected to allow :url_variables to be ‹{"k1" => "value", "k2" => "value", "k3" => "value", "k4" => "value", "k5" => "value", "k6" => "value", "k7" => "value", "k8" => "value", "k9" => "value", "k10" => "value", "k11" => "value", "k12" => "value", "k13" => "value", "k14" => "value", "k15" => "value", "k16" => "value", "k17" => "value", "k18" => "value", "k19" => "value", "k20" => "value"}›2876 is expected to allow :url_variables to be ‹{"MY-TOKEN" => "bar"}›2877 is expected to allow :url_variables to be ‹{"my_secr3t-token" => "bar"}›2878 is expected to allow :url_variables to be ‹{"x-y-z" => "bar"}›2879 is expected to allow :url_variables to be ‹{"x_y_z" => "bar"}›2880 is expected to allow :url_variables to be ‹{"f.o.o" => "bar"}›2881 is expected not to allow :url_variables to be ‹[]›2882 is expected not to allow :url_variables to be ‹{"foo" => 1}›2883 is expected not to allow :url_variables to be ‹{"bar" => :baz}›2884 is expected not to allow :url_variables to be ‹{"bar" => nil}›2885 is expected not to allow :url_variables to be ‹{"foo" => ""}›2886 is expected not to allow :url_variables to be ‹{"foo" => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}›2887 is expected not to allow :url_variables to be ‹{"has spaces" => "foo"}›2888 is expected not to allow :url_variables to be ‹{"" => "foo"}›2889 is expected not to allow :url_variables to be ‹{"1foo" => "foo"}›2890 is expected not to allow :url_variables to be ‹{"k1" => "value", "k2" => "value", "k3" => "value", "k4" => "value", "k5" => "value", "k6" => "value", "k7" => "value", "k8" => "value", "k9" => "value", "k10" => "value", "k11" => "value", "k12" => "value", "k13" => "value", "k14" => "value", "k15" => "value", "k16" => "value", "k17" => "value", "k18" => "value", "k19" => "value", "k20" => "value", "k21" => "value"}›2891 is expected not to allow :url_variables to be ‹{"MY--TOKEN" => "foo"}›2892 is expected not to allow :url_variables to be ‹{"MY__SECRET" => "foo"}›2893 is expected not to allow :url_variables to be ‹{"x-_y" => "foo"}›2894 is expected not to allow :url_variables to be ‹{"x..y" => "foo"}›2895 url2896 is expected to allow :url to be ‹"http://example.com"›2897 is expected to allow :url to be ‹"https://example.com"›2898 is expected to allow :url to be ‹" https://example.com "›2899 is expected to allow :url to be ‹"http://test.com/api"›2900 is expected to allow :url to be ‹"http://test.com/api?key=abc"›2901 is expected to allow :url to be ‹"http://test.com/api?key=abc&type=def"›2902 is expected not to allow :url to be ‹"example.com"›2903 is expected not to allow :url to be ‹"ftp://example.com"›2904 is expected not to allow :url to be ‹"herp-and-derp"›2905 strips :url before saving it2906 when url is local2907 is expected not to allow :url to be ‹"http://localhost:9000"›2908 is valid if application settings allow local requests from web hooks2909 when there are URL variables2910 is expected to allow :url to be ‹"http://example.com"›2911 is expected to allow :url to be ‹"http://example.com/{one}/{two}"›2912 is expected to allow :url to be ‹"http://example.com/{one}"›2913 is expected to allow :url to be ‹"http://example.com/{two}"›2914 is expected to allow :url to be ‹"http://user:s3cret@example.com/{two}"›2915 is expected to allow :url to be ‹"http://{one}:{two}@example.com"›2916 is expected to allow :url to be ‹"http://{one}"›2917 is expected to allow :url to be ‹"{url}"›2918 is expected not to allow :url to be ‹"http://example.com/{one}/{two}/{three}"›2919 is expected not to allow :url to be ‹"http://example.com/{foo}"›2920 is expected not to allow :url to be ‹"http:{user}:{pwd}//example.com/{foo}"›2921 mentions all missing variable names2922 token2923 is expected to allow :token to be ‹"foobar"›2924 is expected not to allow :token to be ‹"foo\nbar"› or ‹"foo\r\nbar"›2925 push_events_branch_filter2926 with "all branches" strategy2927 is expected to allow :push_events_branch_filter to be ‹"good_branch_name"›, ‹"another/good-branch_name"›, ‹"good branch name"›, ‹"good~branchname"›, ‹"good_branchname("›, ‹"good_branchname["›, or ‹""›2928 with "wildcard" strategy2929 is expected to allow :push_events_branch_filter to be ‹"good_branch_name"›, ‹"another/good-branch_name"›, ‹"good_branch_name("›, or ‹""›2930 is expected not to allow :push_events_branch_filter to be ‹"bad branch name"›, ‹"bad~branchname"›, or ‹"bad_branch_name["›2931 gets rid of whitespace2932 stores whitespace only as empty2933 with "regex" strategy2934 is expected to allow :push_events_branch_filter to be ‹"good_branch_name"›, ‹"another/good-branch_name"›, ‹"good branch name"›, ‹"good~branch~name"›, or ‹""›2935 is expected not to allow :push_events_branch_filter to be ‹"bad_branch_name("› or ‹"bad_branch_name["›2936 before_validation :reset_token2937 resets token if url changed2938 does not reset token if new url is set together with the same token2939 does not reset token if new url is set together with a new token2940 before_validation :reset_url_variables2941 resets url variables if url changed2942 resets url variables if url is changed but url variables stayed the same2943 resets url variables if url is changed and url variables are appended2944 resets url variables if url is changed and url variables are removed2945 resets url variables if url variables are overwritten2946 does not reset url variables if both url and url variables are changed2947 without url variables2948 does not reset url variables2949 encrypted attributes2950 is expected to contain exactly :token, :url, and :url_variables2951 execute2952 #execute2953 passes force: false to the web hook service by default2954 passes force: true to the web hook service if required2955 #async_execute2956 does not async execute non-executable hooks2957 #destroy2958 does not cascade to web_hook_logs2959 #next_backoff2960 when there was no last backoff2961 is 10 minutes2962 when we have backed off once2963 is twice the initial value2964 when we have backed off 3 times2965 grows exponentially2966 when the previous backoff was large2967 does not exceed the max backoff value2968 #rate_limited?2969 is false when hook has not been rate limited2970 is true when hook has been rate limited2971 #rate_limit2972 returns the hook rate limit2973 #to_json2974 does not error2975 does not contain binary attributes2976 #interpolated_url2977 is not vulnerable to malicious input2978 when the hook URL does not contain variables2979 is expected to have attributes {:interpolated_url => "http://example.com"}2980 when the hook URL contains variables2981 is expected to have attributes {:interpolated_url => "http://example.com/abc/resource?token=xyz"}2982 when a variable is missing2983 raises an error2984 when the URL appears to include percent formatting2985 succeeds, interpolates correctly2986 #update_last_failure2987 is a method of this class2988 #masked_token2989 is expected to be nil2990 with a token2991 is expected to eq "************"2992 #backoff!2993 when we have not backed off before2994 increments the recent_failures count2995 when the recent failure value is the max value of a smallint2996 reduces to MAX_FAILURES2997 when the recent failure value is MAX_FAILURES2998 does not change recent_failures2999 when we have exhausted the grace period3000 sets disabled_until to the next backoff3001 increments the backoff count3002 when we have backed off MAX_FAILURES times3003 does not let the backoff count exceed the maximum failure count3004 does not change disabled_until3005 changes disabled_until when it has elapsed3006 #failed!3007 increments the failure count3008 does not update the hook if the the failure count exceeds the maximum value3009 when the recent failure value is the max value of a smallint3010 does not change recent_failures3011Gitlab::Auth::AuthFinders3012 #find_user_from_bearer_token3013 when the token is passed as an oauth token3014 behaves like find user from job token3015 when route is allowed to be authenticated3016 for an invalid token3017 returns an Unauthorized exception3018 with a running job3019 return user3020 with a job that is not running3021 returns an Unauthorized exception3022 when route is not allowed to be authenticated3023 with a running job3024 returns an Unauthorized exception3025 with oauth token3026 is expected to eq #<User id:1236 @user543>3027 with a personal access token3028 is expected to eq #<User id:1236 @user543>3029 #find_user_from_warden3030 with CSRF token3031 with invalid credentials3032 returns nil3033 with valid credentials3034 returns the user3035 without CSRF token3036 returns nil3037 #find_user_from_feed_token3038 when the request format is atom3039 when old format feed_token param is provided3040 returns user if valid feed_token3041 returns nil if valid feed_token and disabled3042 returns nil if feed_token is blank3043 returns exception if invalid feed_token3044 when path-dependent format feed_token param is provided3045 returns user if valid feed_token3046 returns nil if valid feed_token and disabled3047 returns exception if token has same HMAC but different user ID3048 returns exception if token has wrong HMAC but same user ID3049 returns exception if user does not exist3050 when old format rss_token param is provided3051 returns user if valid rss_token3052 returns nil if rss_token is blank3053 returns exception if invalid rss_token3054 when the request format is not atom3055 returns nil3056 when the request format is empty3057 the method call does not modify the original value3058 #find_user_from_static_object_token3059 when request format is archive3060 behaves like static object request3061 when token header param is present3062 when token is correct3063 returns the user3064 when token is incorrect3065 returns the user3066 when token query param is present3067 when token is correct3068 returns the user3069 when token is incorrect3070 returns the user3071 when request format is blob3072 behaves like static object request3073 when token header param is present3074 when token is correct3075 returns the user3076 when token is incorrect3077 returns the user3078 when token query param is present3079 when token is correct3080 returns the user3081 when token is incorrect3082 returns the user3083 when request format is not archive nor blob3084 returns nil3085 #deploy_token_from_request3086 is expected to be nil3087 with deploy token headers3088 with valid deploy token3089 is expected to eq #<DeployToken id: 9, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-08...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3090 behaves like an unauthenticated route3091 when route is not allowed to use deploy_tokens3092 is expected to be nil3093 with incorrect token3094 is expected to be nil3095 with oauth headers3096 with valid token3097 is expected to eq #<DeployToken id: 9, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-08...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3098 behaves like an unauthenticated route3099 when route is not allowed to use deploy_tokens3100 is expected to be nil3101 with invalid token3102 is expected to be nil3103 with basic auth headers3104 is expected to eq #<DeployToken id: 9, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-08...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3105 behaves like an unauthenticated route3106 when route is not allowed to use deploy_tokens3107 is expected to be nil3108 with incorrect token3109 is expected to be nil3110 when the the deploy token is restricted with external_authorization3111 is expected to be nil3112 #find_user_from_access_token3113 returns nil if no access_token present3114 when run for kubernetes internal API endpoint3115 returns nil3116 when validate_access_token! returns valid3117 returns user3118 returns exception if token has no user3119 with OAuth headers3120 with valid personal access token3121 returns user3122 with invalid personal_access_token3123 returns exception3124 when using a non-prefixed access token3125 returns user3126 automatic reuse detection3127 when a revoked token is used3128 with url related to access tokens3129 revokes the latest rotated token3130 with url not related to access tokens3131 does not revoke the latest rotated token3132 when the feature flag is disabled3133 does not revoke the latest rotated token3134 #find_user_from_web_access_token3135 returns exception if token has no user3136 returns the user for RSS requests3137 returns the user for ICS requests3138 returns the user for ARCHIVE requests3139 returns the user for DOWNLOAD requests3140 no feed, API, archive or download requests3141 returns nil if the request is not RSS3142 returns nil if the request is not ICS3143 returns nil if the request is not API3144 returns nil if the request is not ARCHIVE3145 returns nil if the request is not DOWNLOAD3146 for API requests3147 returns the user3148 returns nil if URL does not start with /api/3149 when the token has read_api scope3150 raises InsufficientScopeError by default3151 finds the user when the read_api scope is passed3152 when relative_url_root is set3153 returns the user3154 #find_personal_access_token3155 returns nil if no personal_access_token3156 returns exception if invalid personal_access_token3157 passed as header3158 returns token if valid personal_access_token3159 passed as param3160 returns token if valid personal_access_token3161 #find_oauth_access_token3162 returns nil if no oauth_access_token3163 passed as header3164 returns token if valid oauth_access_token3165 passed as param3166 returns user if valid oauth_access_token3167 with invalid token3168 returns exception if invalid oauth_access_token3169 #find_personal_access_token_from_http_basic_auth3170 access token is valid3171 finds the token from basic auth3172 access token is not valid3173 returns nil3174 route_setting is not set3175 returns nil3176 route_setting is not correct3177 returns nil3178 #find_user_from_basic_auth_job3179 when the request does not have AUTHORIZATION header3180 is expected to be nil3181 with wrong credentials3182 returns nil without user and password3183 returns nil without password3184 returns nil without user3185 returns nil without CI username3186 with CI username3187 behaves like find user from job token3188 when route is allowed to be authenticated3189 for an invalid token3190 returns an Unauthorized exception3191 with a running job3192 return user3193 with a job that is not running3194 returns an Unauthorized exception3195 when route is not allowed to be authenticated3196 with a running job3197 returns the user3198 #find_user_from_basic_auth_password3199 returns nil without user and password3200 returns nil without password3201 returns nil without user3202 returns nil with CI username3203 returns nil with wrong password3204 returns user with correct credentials3205 when the request does not have AUTHORIZATION header3206 is expected to be nil3207 #find_user_from_lfs_token3208 returns nil without user and token3209 returns nil without token3210 returns nil without user3211 returns nil with wrong token3212 returns user with correct user and correct token3213 returns nil with wrong user and correct token3214 when the request does not have AUTHORIZATION header3215 is expected to be nil3216 #find_user_from_personal_access_token3217 returns nil without access token3218 returns user with correct access token3219 returns exception if access token has no user3220 #validate_access_token!3221 returns nil if no access_token present3222 with a job token3223 does not raise an error3224 token is not valid3225 returns Gitlab::Auth::ExpiredError if token expired3226 returns Gitlab::Auth::RevokedError if token revoked3227 returns Gitlab::Auth::InsufficientScopeError if invalid token scope3228 with impersonation token3229 when impersonation is disabled3230 returns Gitlab::Auth::ImpersonationDisabled3231 #find_user_from_job_token3232 when route setting allows job_token3233 when the token is in the headers3234 behaves like find user from job token3235 when route is allowed to be authenticated3236 for an invalid token3237 returns an Unauthorized exception3238 with a running job3239 return user3240 with a job that is not running3241 returns an Unauthorized exception3242 when route is not allowed to be authenticated3243 with a running job3244 returns nil3245 when the token is in the job_token param3246 behaves like find user from job token3247 when route is allowed to be authenticated3248 for an invalid token3249 returns an Unauthorized exception3250 with a running job3251 return user3252 with a job that is not running3253 returns an Unauthorized exception3254 when route is not allowed to be authenticated3255 with a running job3256 returns nil3257 when the token is in the token param3258 behaves like find user from job token3259 when route is allowed to be authenticated3260 for an invalid token3261 returns an Unauthorized exception3262 with a running job3263 return user3264 with a job that is not running3265 returns an Unauthorized exception3266 when route is not allowed to be authenticated3267 with a running job3268 returns nil3269 when route setting is basic auth3270 when the token is provided via basic auth3271 is expected to eq #<User id:1236 @user543>3272 when the token is in the headers3273 behaves like find user from job token3274 when route is allowed to be authenticated3275 for an invalid token3276 returns an Unauthorized exception3277 with a running job3278 return user3279 with a job that is not running3280 returns an Unauthorized exception3281 when route is not allowed to be authenticated3282 with a running job3283 returns nil3284 when the token is in the job_token param3285 behaves like find user from job token3286 when route is allowed to be authenticated3287 for an invalid token3288 returns an Unauthorized exception3289 with a running job3290 return user3291 with a job that is not running3292 returns an Unauthorized exception3293 when route is not allowed to be authenticated3294 with a running job3295 returns nil3296 when the token is in the token param3297 behaves like find user from job token3298 when route is allowed to be authenticated3299 for an invalid token3300 returns an Unauthorized exception3301 with a running job3302 return user3303 with a job that is not running3304 returns an Unauthorized exception3305 when route is not allowed to be authenticated3306 with a running job3307 returns nil3308 when route setting job_token_allowed is invalid3309 when the token is provided3310 is expected to be nil3311 #cluster_agent_token_from_authorization_token3312 when route_setting is empty3313 is expected to be nil3314 when route_setting allows cluster agent token3315 Authorization header is empty3316 is expected to be nil3317 Authorization header is incorrect3318 is expected to be nil3319 Authorization header is malformed3320 is expected to be nil3321 Authorization header matches agent token3322 is expected to eq #<Clusters::AgentToken id: 1, created_at: "2023-08-10 12:38:27.306312629 +0000", updated_at: "2023-08...ated_by_user_id: 1252, description: nil, name: "agent-token-1", last_used_at: nil, status: "active">3323 agent token has been revoked3324 is expected to be nil3325 #find_runner_from_token3326 with API requests3327 returns the runner if token is valid3328 returns nil if token is not present3329 returns nil if token is blank3330 returns exception if invalid token3331 without API requests3332 returns nil if token is valid3333 returns nil if token is blank3334 returns nil if invalid token3335Members::Groups::CreatorService3336 .access_levels3337 returns Gitlab::Access.options_with_owner3338 behaves like owner management3339 .cannot_manage_owners?3340 when maintainer3341 cannot manage owners3342 when owner3343 can manage owners3344 .add_members3345 behaves like bulk member creation3346 returns Member objects3347 returns an empty array3348 supports different formats3349 with the same user sent more than once by user and by email3350 with the same user sent more than once by user id and by email3351 when current user does not have permission3352 does not succeed3353 with different source types3354 with an array of sources3355 behaves like supports multiple sources3356 is expected to all be persisted3357 with a query producing sources3358 behaves like supports multiple sources3359 is expected to all be persisted3360 with de-duplication3361 has the same user by id and user3362 has the same user sent more than once3363 when a member already exists3364 has the same user sent more than once with the member already existing3365 supports existing users as expected with user_ids passed3366 supports existing users as expected without user ids passed3367 when `tasks_to_be_done` and `tasks_project_id` are passed3368 creates a member_task with the correct attributes3369 with an already existing member3370 does not update tasks to be done if tasks already exist3371 adds tasks to be done if they do not exist3372 .add_member3373 behaves like member creation3374 returns a Member object3375 sets members.expires_at to the given expires_at3376 accepts the :guest symbol as access level3377 accepts the 10 integer as access level3378 accepts the :reporter symbol as access level3379 accepts the 20 integer as access level3380 accepts the :developer symbol as access level3381 accepts the 30 integer as access level3382 accepts the :maintainer symbol as access level3383 accepts the 40 integer as access level3384 accepts the :owner symbol as access level3385 accepts the 50 integer as access level3386 when adding a project_bot3387 when project_bot is already a member3388 does not update the member3389 when project_bot is not already a member3390 adds the member3391 when admin mode is enabled3392 sets members.created_by to the given admin current_user3393 when admin mode is disabled3394 rejects setting members.created_by to the given admin current_user3395 with no current_user3396 when called with a known user id3397 adds the user as a member3398 when called with an unknown user id3399 does not add the user as a member3400 when called with a user object3401 adds the user as a member3402 when called with a requester user object3403 adds the requester as a member3404 when called with a known user email3405 adds the user as a member3406 when called with an unknown user email3407 creates an invited member3408 when called with an unknown user email starting with a number3409 creates an invited member3410 when current_user can update member3411 creates the member3412 when called with a requester user object3413 adds the requester as a member3414 when current_user cannot update member3415 does not create the member3416 when called with a requester user object3417 does not destroy the requester3418 when member already exists3419 when member is a user3420 with no current_user3421 updates the member3422 when current_user can update member3423 updates the member3424 when current_user cannot update member3425 does not update the member3426 when member is an invite by email3427 updates the member for that email3428 authorized projects update3429 schedules a single project authorization update job when called multiple times3430Ci::JobArtifacts::DestroyBatchService3431 #execute3432 creates a deleted object for artifact with attached file3433 does not remove the attached file3434 deletes the artifact records and logs them3435 reports metrics for destroyed artifacts3436 when artifact belongs to a project that is undergoing stats refresh3437 and skip_projects_on_refresh is set to false (default)3438 logs the projects undergoing refresh and continues with the delete3439 behaves like avoiding N+1 queries3440 does not make multiple queries when fetching multiple project refresh records3441 and skip_projects_on_refresh is set to true3442 logs the projects undergoing refresh and excludes the artifacts from deletion3443 behaves like avoiding N+1 queries3444 does not make multiple queries when fetching multiple project refresh records3445 when artifact belongs to a project not undergoing refresh3446 and skip_projects_on_refresh is set to false (default)3447 does not log any warnings3448 and skip_projects_on_refresh is set to true3449 does not log any warnings3450 ProjectStatistics3451 updates project statistics by the relevant amount3452 increments project statistics with artifact size as amount and job artifact id as ref3453 with update_stats: false3454 does not update project statistics3455 returns statistic updates per project3456 when failed to destroy artifact3457 when the import fails3458 raises an exception and stop destroying3459 when there are no artifacts3460 does not raise error3461 reports the number of destroyed artifacts3462AvatarsHelper3463 #project_icon, #group_icon, #topic_icon3464 when providing a project3465 behaves like resource with a default avatar3466 returns a default avatar div3467 behaves like resource with a custom avatar3468 returns a custom avatar image3469 when Gitaly is unavailable3470 handles Gitaly exception gracefully3471 behaves like resource with a default avatar3472 returns a default avatar div3473 when Gitaly request is taking too long3474 handles Gitaly exception gracefully3475 behaves like resource with a default avatar3476 returns a default avatar div3477 when providing a group3478 behaves like resource with a default avatar3479 returns a default avatar div3480 behaves like resource with a custom avatar3481 returns a custom avatar image3482 when providing a topic3483 behaves like resource with a default avatar3484 returns a default avatar div3485 behaves like resource with a custom avatar3486 returns a custom avatar image3487 #avatar_icon_for3488 prefers the user to retrieve the avatar_url3489 falls back to email lookup if no user given3490 #avatar_icon_for_email3491 caches the request3492 behaves like returns avatar for email3493 using an email3494 when there is a matching user3495 returns a relative URL for the avatar3496 when a private email is used3497 calls gravatar_icon3498 when by_commit_email is true3499 returns a relative URL for the avatar3500 when no user exists for the email3501 calls gravatar_icon3502 without an email passed3503 returns the default avatar3504 with a blank email address3505 returns the default avatar3506 #avatar_icon_for_user3507 with a user object passed3508 returns a relative URL for the avatar3509 when the user is blocked3510 behaves like blocked or unconfirmed user with avatar3511 when the viewer is not an admin3512 returns the default avatar3513 when the viewer is an admin3514 returns the default avatar when the user is not passed3515 returns the user avatar when the user is passed3516 when the user is unconfirmed3517 behaves like blocked or unconfirmed user with avatar3518 when the viewer is not an admin3519 returns the default avatar3520 when the viewer is an admin3521 returns the default avatar when the user is not passed3522 returns the user avatar when the user is passed3523 without a user object passed3524 calls gravatar_icon3525 #gravatar_icon3526 with Gravatar disabled3527 returns a generic avatar3528 with Gravatar enabled3529 with FIPS not enabled3530 returns a generic avatar when email is blank3531 returns a valid Gravatar URL3532 uses HTTPs when configured3533 returns custom gravatar path when gravatar_url is set3534 accepts a custom size argument3535 defaults size to 40@2x when given an invalid size3536 accepts a scaling factor3537 ignores case and surrounding whitespace3538 with FIPS enabled3539 returns a generic avatar3540 #user_avatar3541 links to the user's profile3542 has the user's name as title3543 contains the user's avatar image3544 #user_avatar_without_link3545 displays user avatar3546 with css_class parameter3547 uses provided css_class3548 with size parameter3549 uses provided size3550 with url parameter3551 uses provided url3552 with lazy parameter3553 adds `lazy` class to class list, sets `data-src` with avatar URL and `src` with placeholder image3554 with has_tooltip parameter3555 with has_tooltip set to true3556 adds has-tooltip3557 with has_tooltip set to false3558 does not add has-tooltip or data container3559 with user_name parameter3560 uses user_name and user_email parameter if user is not present3561 with user parameter3562 prefers user parameter3563 with only_path parameter set to false3564 with user parameter3565 will return avatar with a full path3566 with user_name and user_email3567 will return avatar with a full path3568 with unregistered email address3569 will return default alt text for avatar3570 #avatar_without_link3571 with users3572 displays user avatar3573 with groups3574 displays group avatar3575Gitlab::Cache::Ci::ProjectPipelineStatus3576 .load_for_project3577 loads the status3578 loading in batches3579 .load_in_batch_for_projects3580 loads pipeline_status on projects3581 loads 10 projects without hitting Gitaly call limit3582 .update_for_pipeline3583 refreshes the cache if nescessary3584 #has_status?3585 is false when the status wasn't loaded yet3586 is true when all status information was loaded3587 #load_status3588 loads the status from the cache when there is one3589 loads the status from the project commit when there is no cache3590 stores the status in the cache when it loading it from the project3591 sets the state to loaded3592 only loads the status once3593 handles Gitaly unavailable exceptions gracefully3594 handles Gitaly timeout exceptions gracefully3595 gitaly call counts3596 not cached3597 makes a Gitaly call3598 cached3599 makes no Gitaly calls3600 #load_from_project3601 reads the status from the pipeline for the commit3602 doesn't fail for an empty project3603 #store_in_cache3604 sets the object in caching3605 #store_in_cache_if_needed3606 stores the state in the cache when the sha is the HEAD of the project3607 doesn't store the status in redis_cache when the sha is not the head of the project3608 deletes the cache if the repository doesn't have a head commit3609 with a status in caching3610 #load_from_cache3611 reads the status from redis_cache3612 refreshes ttl3613 when status is empty string3614 reads the status as nil3615 #has_cache?3616 knows the status is cached3617 #delete_from_cache3618 deletes values from redis_cache3619Gitlab::Redis::DbLoadBalancing3620 # order random3621 .url3622 withstands mutation3623 when yml file with env variable3624 reads redis url from env variable3625 #sentinels?3626 when sentinels are defined3627 returns true3628 when sentinels are not defined3629 is expected to eq nil3630 when cluster is defined3631 returns false3632 .store3633 with old format3634 behaves like redis store3635 instantiates Redis::Store3636 with the namespace3637 uses specified namespace3638 with new format3639 behaves like redis store3640 instantiates Redis::Store3641 with the namespace3642 uses specified namespace3643 behaves like redis_shared_examples3644 .config_file_name3645 when there is no config file anywhere3646 is expected to be nil3647 .store3648 with old format3649 behaves like redis store3650 instantiates Redis::Store3651 with the namespace3652 uses specified namespace3653 with new format3654 behaves like redis store3655 instantiates Redis::Store3656 with the namespace3657 uses specified namespace3658 .params3659 withstands mutation3660 when url contains unix socket reference3661 with old format3662 returns path key instead3663 with new format3664 returns path key instead3665 when url is host based3666 with old format3667 returns hash with host, port, db, and password3668 with new format3669 rails_env: "development", host: "development-host"3670 returns hash with host, port, db, and password3671 rails_env: "test", host: "test-host"3672 returns hash with host, port, db, and password3673 rails_env: "production", host: "production-host"3674 returns hash with host, port, db, and password3675 with redis cluster format3676 rails_env: "development", host: "development-master"3677 returns hash with cluster and password3678 rails_env: "test", host: "test-master"3679 returns hash with cluster and password3680 rails_env: "production", host: "production-master"3681 returns hash with cluster and password3682 .url3683 withstands mutation3684 when yml file with env variable3685 reads redis url from env variable3686 .version3687 returns a version3688 .with3689 when running on single-threaded runtime3690 instantiates a connection pool with size 53691 when running on multi-threaded runtime3692 instantiates a connection pool with a size based on the concurrency of the worker3693 when there is no config at all3694 can run an empty block3695 #db3696 with old format3697 returns the correct db3698 with new format3699 returns the correct db3700 with cluster-mode3701 returns the correct db3702 #sentinels3703 when sentinels are defined3704 rails_env: "development", hosts: ["development-replica1", "development-replica2"]3705 returns an array of hashes with host and port keys3706 rails_env: "test", hosts: ["test-replica1", "test-replica2"]3707 returns an array of hashes with host and port keys3708 rails_env: "production", hosts: ["production-replica1", "production-replica2"]3709 returns an array of hashes with host and port keys3710 when sentinels are not defined3711 returns nil3712 when cluster is defined3713 returns nil3714 #sentinels?3715 when sentinels are defined3716 returns true3717 when sentinels are not defined3718 is expected to eq nil3719 when cluster is defined3720 returns false3721 #raw_config_hash3722 returns old-style single url config in a hash3723 returns cluster config without url key in a hash3724 #fetch_config3725 raises an exception when the config file contains invalid yaml3726 when redis.yml exists3727 uses config/redis.yml3728 when no config file exsits3729 returns nil3730 when resque.yml exists3731 returns the config from resque.yml3732 #fetch_config3733 raises an exception when the config file contains invalid yaml3734 when redis.yml exists3735 uses config/redis.yml3736 when no config file exsits3737 returns nil3738 when resque.yml exists3739 returns the config from resque.yml3740 #fetch_config3741 when redis.yml exists3742 when the fallback has a redis.yml entry3743 is expected to eq {"fallback redis.yml"=>123}3744 and an instance config file exists3745 is expected to eq {"instance specific file"=>456}3746 and the instance has a redis.yml entry3747 is expected to eq {"instance redis.yml"=>789}3748 when no redis config file exsits3749 returns nil3750 when resque.yml exists3751 returns the config from resque.yml3752 .version3753 returns a version3754 #pool3755 instantiates an instance of MultiStore3756 behaves like multi store feature flags3757 with feature flag :use_primary_and_secondary_stores_for_db_load_balancing is enabled3758 multi store is enabled3759 with feature flag :use_primary_and_secondary_stores_for_db_load_balancing is disabled3760 multi store is disabled3761 with feature flag :use_primary_store_as_default_for_db_load_balancing is enabled3762 primary store is enabled3763 with feature flag :use_primary_store_as_default_for_db_load_balancing is disabled3764 primary store is disabled3765 #raw_config_hash3766 returns old-style single url config in a hash3767 returns cluster config without url key in a hash3768 .params3769 withstands mutation3770 when url contains unix socket reference3771 with old format3772 returns path key instead3773 with new format3774 returns path key instead3775 when url is host based3776 with old format3777 returns hash with host, port, db, and password3778 with new format3779 rails_env: "development", host: "development-host"3780 returns hash with host, port, db, and password3781 rails_env: "test", host: "test-host"3782 returns hash with host, port, db, and password3783 rails_env: "production", host: "production-host"3784 returns hash with host, port, db, and password3785 with redis cluster format3786 rails_env: "development", host: "development-master"3787 returns hash with cluster and password3788 rails_env: "test", host: "test-master"3789 returns hash with cluster and password3790 rails_env: "production", host: "production-master"3791 returns hash with cluster and password3792 .with3793 when running on single-threaded runtime3794 instantiates a connection pool with size 53795 when running on multi-threaded runtime3796 instantiates a connection pool with a size based on the concurrency of the worker3797 when there is no config at all3798 can run an empty block3799 #sentinels3800 when sentinels are defined3801 rails_env: "development", hosts: ["development-replica1", "development-replica2"]3802 returns an array of hashes with host and port keys3803 rails_env: "test", hosts: ["test-replica1", "test-replica2"]3804 returns an array of hashes with host and port keys3805 rails_env: "production", hosts: ["production-replica1", "production-replica2"]3806 returns an array of hashes with host and port keys3807 when sentinels are not defined3808 returns nil3809 when cluster is defined3810 returns nil3811 #db3812 with old format3813 returns the correct db3814 with new format3815 returns the correct db3816 with cluster-mode3817 returns the correct db3818 .config_file_name3819 when there is no config file anywhere3820 is expected to be nil3821ResourceAccessTokens::RevokeService3822 #execute3823 when resource is a project3824 behaves like revokes access token3825 is expected to equal true3826 is expected to eq "Access token PAT 22 has been revoked and the bot user has been scheduled for deletion."3827 calls delete user worker3828 removes membership of bot user3829 initiates user removal3830 logs the event3831 behaves like revoke fails3832 when access token does not belong to this project3833 does not find the bot3834 when user does not have permission to destroy bot3835 when non-project member tries to delete project bot3836 does not allow other user to delete bot3837 when non-priviledged project member tries to delete project bot3838 does not allow developer to delete bot3839 when deletion of bot user fails3840 behaves like rollback revoke steps3841 does not revoke the access token3842 does not remove bot from member list3843 does not transfer issuables of bot user to ghost user3844 does not destroy project bot user3845 when resource is a group3846 behaves like revokes access token3847 is expected to equal true3848 is expected to eq "Access token PAT 36 has been revoked and the bot user has been scheduled for deletion."3849 calls delete user worker3850 removes membership of bot user3851 initiates user removal3852 logs the event3853 behaves like revoke fails3854 when access token does not belong to this group3855 does not find the bot3856 when user does not have permission to destroy bot3857 when non-group member tries to delete project bot3858 does not allow other user to delete bot3859 when non-priviledged group member tries to delete project bot3860 does not allow developer to delete bot3861 when deletion of bot user fails3862 behaves like rollback revoke steps3863 does not revoke the access token3864 does not remove bot from member list3865 does not transfer issuables of bot user to ghost user3866 does not destroy project bot user3867Packages::Debian::DistributionReleaseFileUploader3868 Packages::Debian::ProjectDistribution3869 behaves like builds correct paths3870 #store_dir3871 behaves like matches the method pattern3872 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_project_distribution\/\d+$/3873 #cache_dir3874 behaves like matches the method pattern3875 is expected to match /\/packages\/tmp\/cache$/3876 #work_dir3877 behaves like matches the method pattern3878 is expected to match /\/packages\/tmp\/work$/3879 #upload_path3880 behaves like matches the method pattern3881 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3882 #relative_path3883 is relative (PENDING: Path not set, skipping.)3884 .absolute_path3885 behaves like matches the method pattern3886 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3887 .base_dir3888 behaves like matches the method pattern3889 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3890 path traversal exploits3891 throws an exception3892 object store is remote3893 behaves like builds correct paths3894 #store_dir3895 behaves like matches the method pattern3896 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_project_distribution\/\d+$/3897 #cache_dir3898 behaves like matches the method pattern3899 is expected to match /\/packages\/tmp\/cache$/3900 #work_dir3901 behaves like matches the method pattern3902 is expected to match /\/packages\/tmp\/work$/3903 #upload_path3904 behaves like matches the method pattern3905 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3906 #relative_path3907 is relative (PENDING: Path not set, skipping.)3908 .absolute_path3909 behaves like matches the method pattern3910 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3911 .base_dir3912 behaves like matches the method pattern3913 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3914 path traversal exploits3915 throws an exception3916 remote file3917 with object storage enabled3918 can store file remotely3919 #filename3920 is expected to eq "Release"3921 with signed_file3922 is expected to eq "InRelease"3923 Packages::Debian::GroupDistribution3924 behaves like builds correct paths3925 #store_dir3926 behaves like matches the method pattern3927 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_group_distribution\/\d+$/3928 #cache_dir3929 behaves like matches the method pattern3930 is expected to match /\/packages\/tmp\/cache$/3931 #work_dir3932 behaves like matches the method pattern3933 is expected to match /\/packages\/tmp\/work$/3934 #upload_path3935 behaves like matches the method pattern3936 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3937 #relative_path3938 is relative (PENDING: Path not set, skipping.)3939 .absolute_path3940 behaves like matches the method pattern3941 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3942 .base_dir3943 behaves like matches the method pattern3944 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3945 path traversal exploits3946 throws an exception3947 object store is remote3948 behaves like builds correct paths3949 #store_dir3950 behaves like matches the method pattern3951 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_group_distribution\/\d+$/3952 #cache_dir3953 behaves like matches the method pattern3954 is expected to match /\/packages\/tmp\/cache$/3955 #work_dir3956 behaves like matches the method pattern3957 is expected to match /\/packages\/tmp\/work$/3958 #upload_path3959 behaves like matches the method pattern3960 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3961 #relative_path3962 is relative (PENDING: Path not set, skipping.)3963 .absolute_path3964 behaves like matches the method pattern3965 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3966 .base_dir3967 behaves like matches the method pattern3968 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3969 path traversal exploits3970 throws an exception3971 remote file3972 with object storage enabled3973 can store file remotely3974 #filename3975 is expected to eq "Release"3976 with signed_file3977 is expected to eq "InRelease"3978TodoPolicy3979 own_todo3980 user: user1, todo: todo1, allowed: true3981 behaves like grants the expected permissions3982 is expected to be allowed :read_todo3983 user: user2, todo: todo2, allowed: true3984 behaves like grants the expected permissions3985 is expected to be allowed :read_todo3986 user: user1, todo: todo2, allowed: false3987 behaves like grants the expected permissions3988 is expected to be disallowed :read_todo3989 user: user1, todo: todo3, allowed: false3990 behaves like grants the expected permissions3991 is expected to be disallowed :read_todo3992 user: user2, todo: todo1, allowed: false3993 behaves like grants the expected permissions3994 is expected to be disallowed :read_todo3995 user: user2, todo: todo4, allowed: false3996 behaves like grants the expected permissions3997 is expected to be disallowed :read_todo3998 user: user3, todo: todo1, allowed: false3999 behaves like grants the expected permissions4000 is expected to be disallowed :read_todo4001 user: user3, todo: todo2, allowed: false4002 behaves like grants the expected permissions4003 is expected to be disallowed :read_todo4004 user: user3, todo: todo3, allowed: false4005 behaves like grants the expected permissions4006 is expected to be disallowed :read_todo4007 user: user3, todo: todo4, allowed: false4008 behaves like grants the expected permissions4009 is expected to be disallowed :read_todo4010 user: user2, todo: todo3, allowed: false4011 behaves like grants the expected permissions4012 is expected to be disallowed :read_todo4013 read_note4014 user: reporter, todo: no_note_todo1, allowed: true4015 behaves like grants the expected permissions4016 is expected to be allowed :read_todo4017 behaves like grants the expected permissions4018 is expected to be allowed :update_todo4019 user: reporter, todo: note_todo1, allowed: true4020 behaves like grants the expected permissions4021 is expected to be allowed :read_todo4022 behaves like grants the expected permissions4023 is expected to be allowed :update_todo4024 user: reporter, todo: internal_note_todo1, allowed: true4025 behaves like grants the expected permissions4026 is expected to be allowed :read_todo4027 behaves like grants the expected permissions4028 is expected to be allowed :update_todo4029 user: guest, todo: no_note_todo2, allowed: true4030 behaves like grants the expected permissions4031 is expected to be allowed :read_todo4032 behaves like grants the expected permissions4033 is expected to be allowed :update_todo4034 user: guest, todo: note_todo2, allowed: true4035 behaves like grants the expected permissions4036 is expected to be allowed :read_todo4037 behaves like grants the expected permissions4038 is expected to be allowed :update_todo4039 user: guest, todo: internal_note_todo2, allowed: false4040 behaves like grants the expected permissions4041 is expected to be disallowed :read_todo4042 behaves like grants the expected permissions4043 is expected to be disallowed :update_todo4044 user: non_member, todo: no_note_todo3, allowed: false4045 behaves like grants the expected permissions4046 is expected to be disallowed :read_todo4047 behaves like grants the expected permissions4048 is expected to be disallowed :update_todo4049 user: non_member, todo: note_todo3, allowed: false4050 behaves like grants the expected permissions4051 is expected to be disallowed :read_todo4052 behaves like grants the expected permissions4053 is expected to be disallowed :update_todo4054 user: non_member, todo: internal_note_todo3, allowed: false4055 behaves like grants the expected permissions4056 is expected to be disallowed :read_todo4057 behaves like grants the expected permissions4058 is expected to be disallowed :update_todo4059notify/pipeline_success_email.html.haml4060 when pipeline has a name attribute4061 behaves like pipeline status changes email4062 when the pipeline contains a failed job4063 behaves like renders the pipeline status changes email correctly4064 pipeline with user4065 renders the email correctly4066 behaves like correct pipeline information for pipelines for merge requests4067 when pipeline for merge request4068 renders a source ref of the pipeline4069 pipeline without user4070 renders the email correctly4071 when the latest failed job is a bridge job4072 behaves like renders the pipeline status changes email correctly4073 pipeline with user4074 renders the email correctly4075 behaves like correct pipeline information for pipelines for merge requests4076 when pipeline for merge request4077 renders a source ref of the pipeline4078 pipeline without user4079 renders the email correctly4080 when pipeline does not have a name attribute4081 behaves like pipeline status changes email4082 when the pipeline contains a failed job4083 behaves like renders the pipeline status changes email correctly4084 pipeline with user4085 renders the email correctly4086 behaves like correct pipeline information for pipelines for merge requests4087 when pipeline for merge request4088 renders a source ref of the pipeline4089 pipeline without user4090 renders the email correctly4091 when the latest failed job is a bridge job4092 behaves like renders the pipeline status changes email correctly4093 pipeline with user4094 renders the email correctly4095 behaves like correct pipeline information for pipelines for merge requests4096 when pipeline for merge request4097 renders a source ref of the pipeline4098 pipeline without user4099 renders the email correctly4100Gitlab::Database::WithLockRetriesOutsideTransaction4101 #run4102 requires block4103 when DISABLE_LOCK_RETRIES is set4104 executes the passed block without retrying4105 when lock retry is enabled4106 lock_fiber4107 acquires lock successfully4108 after 3 iterations4109 behaves like retriable exclusive lock on `projects`4110 succeeds executing the given block4111 setting the idle transaction timeout4112 when there is no outer transaction: disable_ddl_transaction! is set in the migration4113 does not disable the idle transaction timeout4114 when there is outer transaction: disable_ddl_transaction! is not set in the migration4115 disables the idle transaction timeout so the code can sleep and retry4116 after the retries are exhausted4117 disables the lock_timeout4118 after the retries, without setting lock_timeout4119 behaves like retriable exclusive lock on `projects`4120 succeeds executing the given block4121 after the retries, when requested to raise an error4122 raises an error instead of waiting indefinitely for the lock4123 when statement timeout is reached4124 raises StatementInvalid error4125 restore local database variables4126 is expected not to change `connection.execute("SHOW lock_timeout").to_a`4127 is expected not to change `connection.execute("SHOW idle_in_transaction_session_timeout").to_a`4128 casting durations correctly4129 executes `SET lock_timeout` using the configured timeout value in milliseconds4130 calls `sleep` after the first iteration fails, using the configured sleep time4131Packages::Debian::ProjectDistribution4132 behaves like Debian Distribution for common behavior4133 relationships4134 is expected to belong to creator class_name => User required: false4135 validations4136 #creator4137 is expected not to validate that :creator cannot be empty/falsy4138 #codename4139 is expected to validate that :codename cannot be empty/falsy4140 is expected to allow :codename to be ‹"buster"›4141 is expected to allow :codename to be ‹"buster-updates"›4142 is expected to allow :codename to be ‹"Debian10.5"›4143 is expected not to allow :codename to be ‹"jessie/updates"›4144 is expected not to allow :codename to be ‹"hé"›4145 #suite4146 is expected to allow :suite to be ‹nil›4147 is expected to allow :suite to be ‹"testing"›4148 is expected not to allow :suite to be ‹"hé"›4149 #origin4150 is expected to allow :origin to be ‹nil›4151 is expected to allow :origin to be ‹"Debian"›4152 is expected not to allow :origin to be ‹"hé"›4153 #label4154 is expected to allow :label to be ‹nil›4155 is expected to allow :label to be ‹"Debian"›4156 is expected not to allow :label to be ‹"hé"›4157 #version4158 is expected to allow :version to be ‹nil›4159 is expected to allow :version to be ‹"10.6"›4160 is expected not to allow :version to be ‹"hé"›4161 #description4162 is expected to allow :description to be ‹nil›4163 is expected to allow :description to be ‹"Debian 10.6 Released 26 September 2020"›4164 is expected to allow :description to be ‹"Hé !"›4165 #valid_time_duration_seconds4166 is expected to allow :valid_time_duration_seconds to be ‹nil›4167 is expected to allow :valid_time_duration_seconds to be ‹86400›4168 is expected not to allow :valid_time_duration_seconds to be ‹43200›4169 #file4170 is expected not to validate that :file cannot be empty/falsy4171 #file_store4172 is expected to validate that :file_store cannot be empty/falsy4173 #file_signature4174 is expected not to validate that :file_signature is empty/falsy4175 #signed_file4176 is expected not to validate that :signed_file cannot be empty/falsy4177 #signed_file_store4178 is expected to validate that :signed_file_store cannot be empty/falsy4179 scopes4180 .with_container4181 does not return other distributions4182 .with_codename4183 does not return other distributions4184 .with_suite4185 does not return other distributions4186 .with_codename_or_suite4187 passing codename4188 does not return other distributions4189 passing suite4190 does not return other distributions4191 behaves like Debian Distribution with project container4192 behaves like Debian Distribution for specific behavior4193 #unique_debian_suite_and_codename4194 with_existing_suite: false, suite: nil, codename: :keep, errors: nil4195 debian_project_distribution4196 is expected to be valid4197 with_existing_suite: false, suite: "testing", codename: :keep, errors: nil4198 debian_project_distribution4199 is expected to be valid4200 with_existing_suite: false, suite: nil, codename: :codename, errors: ["Codename has already been taken"]4201 debian_project_distribution4202 is expected to eq ["Codename has already been taken"]4203 with_existing_suite: false, suite: :codename, codename: :keep, errors: ["Suite has already been taken as Codename"]4204 debian_project_distribution4205 is expected to eq ["Suite has already been taken as Codename"]4206 with_existing_suite: false, suite: :codename, codename: :codename, errors: ["Codename has already been taken", "Suite has already been taken as Codename"]4207 debian_project_distribution4208 is expected to eq ["Codename has already been taken", "Suite has already been taken as Codename"]4209 with_existing_suite: true, suite: nil, codename: :keep, errors: nil4210 debian_project_distribution4211 is expected to be valid4212 with_existing_suite: true, suite: "testing", codename: :keep, errors: nil4213 debian_project_distribution4214 is expected to be valid4215 with_existing_suite: true, suite: nil, codename: :codename, errors: ["Codename has already been taken"]4216 debian_project_distribution4217 is expected to eq ["Codename has already been taken"]4218 with_existing_suite: true, suite: :codename, codename: :keep, errors: ["Suite has already been taken as Codename"]4219 debian_project_distribution4220 is expected to eq ["Suite has already been taken as Codename"]4221 with_existing_suite: true, suite: :codename, codename: :codename, errors: ["Codename has already been taken", "Suite has already been taken as Codename"]4222 debian_project_distribution4223 is expected to eq ["Codename has already been taken", "Suite has already been taken as Codename"]4224 with_existing_suite: true, suite: nil, codename: :suite, errors: ["Codename has already been taken as Suite"]4225 debian_project_distribution4226 is expected to eq ["Codename has already been taken as Suite"]4227 with_existing_suite: true, suite: :suite, codename: :keep, errors: ["Suite has already been taken"]4228 debian_project_distribution4229 is expected to eq ["Suite has already been taken"]4230 with_existing_suite: true, suite: :suite, codename: :suite, errors: ["Suite has already been taken", "Codename has already been taken as Suite"]4231 debian_project_distribution4232 is expected to eq ["Suite has already been taken", "Codename has already been taken as Suite"]4233 relationships4234 is expected to belong to project required: false4235 is expected to have one key class_name => Packages::Debian::ProjectDistributionKey inverse_of => distribution4236 is expected to have many components class_name => Packages::Debian::ProjectComponent inverse_of => distribution4237 is expected to have many architectures class_name => Packages::Debian::ProjectArchitecture inverse_of => distribution4238 #project4239 is expected to validate that :project cannot be empty/falsy4240 project distribution specifics4241 relationships4242 is expected to have many publications class_name => Packages::Debian::Publication inverse_of => distribution4243 is expected to have many packages class_name => Packages::Package through publications4244ErrorTracking::SentryClient::Issue4245 # order random4246 #issue_details4247 behaves like maps Sentry exceptions4248 HTTParty::Error4249 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"4250 Net::OpenTimeout4251 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"4252 SocketError4253 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"4254 OpenSSL::SSL::SSLError4255 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"4256 Errno::ECONNREFUSED4257 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"4258 StandardError4259 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"4260 behaves like Sentry API response size limit4261 raises an exception when response is too large4262 with error object created from sentry response4263 has a correct external URL4264 issue has a correct external base url4265 has a correct GitLab issue url4266 has an integrated attribute set to false4267 has the correct tags4268 error_object: :id, sentry_response: :id4269 is expected to eq "11"4270 error_object: :first_seen, sentry_response: :firstSeen4271 is expected to eq "2018-11-06T21:19:55Z"4272 error_object: :last_seen, sentry_response: :lastSeen4273 is expected to eq "2018-11-06T21:19:55Z"4274 error_object: :title, sentry_response: :title4275 is expected to eq "This is an example Python exception"4276 error_object: :type, sentry_response: :type4277 is expected to eq "default"4278 error_object: :user_count, sentry_response: :userCount4279 is expected to eq 04280 error_object: :count, sentry_response: :count4281 is expected to eq "1"4282 error_object: :message, sentry_response: [:metadata, :value]4283 is expected to eq nil4284 error_object: :culprit, sentry_response: :culprit4285 is expected to eq "raven.scripts.runner in main"4286 error_object: :short_id, sentry_response: :shortId4287 is expected to eq "PUMP-STATION-1"4288 error_object: :status, sentry_response: :status4289 is expected to eq "unresolved"4290 error_object: :frequency, sentry_response: [:stats, "24h"]4291 is expected to eq [[1541451600.0, 557], [1541455200.0, 473], [1541458800.0, 914], [1541462400.0, 991], [1541466000.0, 9...1523600.0, 111], [1541527200.0, 926], [1541530800.0, 772], [1541534400.0, 400], [1541538000.0, 943]]4292 error_object: :project_id, sentry_response: [:project, :id]4293 is expected to eq "2"4294 error_object: :project_name, sentry_response: [:project, :name]4295 is expected to eq "Pump Station"4296 error_object: :project_slug, sentry_response: [:project, :slug]4297 is expected to eq "pump-station"4298 error_object: :first_release_last_commit, sentry_response: [:firstRelease, :lastCommit]4299 is expected to eq nil4300 error_object: :last_release_last_commit, sentry_response: [:lastRelease, :lastCommit]4301 is expected to eq {}4302 error_object: :first_release_short_version, sentry_response: [:firstRelease, :shortVersion]4303 is expected to eq "1764232"4304 error_object: :last_release_short_version, sentry_response: [:lastRelease, :shortVersion]4305 is expected to eq "27de6b42eb4"4306 error_object: :first_release_version, sentry_response: [:firstRelease, :version]4307 is expected to eq "17642328ead24b51867165985996d04b29310337"4308 error_object: :last_release_version, sentry_response: [:lastRelease, :version]4309 is expected to eq "17642328ead24b51867165985996d04b29321448"4310 when issue annotations exist4311 has a correct GitLab issue url4312 when no GitLab issue is linked4313 does not find a GitLab issue4314 behaves like non-numeric input handling in Sentry response4315 with non-numeric error id4316 id_input: "string"4317 raises exception4318 id_input: "-1"4319 raises exception4320 id_input: "1\\n2"4321 raises exception4322 #update_issue4323 returns a truthy result4324 behaves like Sentry API response size limit4325 raises an exception when response is too large4326 behaves like calls sentry api4327 calls sentry api4328 when error is encountered4329 raises the error4330 #list_issues4331 behaves like calls sentry api4332 calls sentry api4333 behaves like issues have correct return type4334 returns objects of type Gitlab::ErrorTracking::Error4335 behaves like issues have correct length4336 is expected to eq 34337 behaves like maps Sentry exceptions4338 HTTParty::Error4339 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"4340 Net::OpenTimeout4341 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"4342 SocketError4343 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"4344 OpenSSL::SSL::SSLError4345 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"4346 Errno::ECONNREFUSED4347 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"4348 StandardError4349 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"4350 behaves like Sentry API response size limit4351 raises an exception when response is too large4352 when response has a pagination info4353 parses the pagination4354 when error object created from sentry response4355 error_object: :id, sentry_response: :id4356 is expected to eq "11"4357 error_object: :first_seen, sentry_response: :firstSeen4358 is expected to eq "2018-12-17T12:00:14Z"4359 error_object: :last_seen, sentry_response: :lastSeen4360 is expected to eq "2018-12-31T12:00:11Z"4361 error_object: :title, sentry_response: :title4362 is expected to eq "gaierror: [Errno -2] Name or service not known"4363 error_object: :type, sentry_response: :type4364 is expected to eq "error"4365 error_object: :user_count, sentry_response: :userCount4366 is expected to eq 04367 error_object: :count, sentry_response: :count4368 is expected to eq "21"4369 error_object: :message, sentry_response: [:metadata, :value]4370 is expected to eq "[Errno -2] Name or service not known"4371 error_object: :culprit, sentry_response: :culprit4372 is expected to eq "sentry.tasks.reports.deliver_organization_user_report"4373 error_object: :short_id, sentry_response: :shortId4374 is expected to eq "INTERNAL-4"4375 error_object: :status, sentry_response: :status4376 is expected to eq "unresolved"4377 error_object: :frequency, sentry_response: [:stats, "24h"]4378 is expected to eq [[1546437600, 0]]4379 error_object: :project_id, sentry_response: [:project, :id]4380 is expected to eq "1"4381 error_object: :project_name, sentry_response: [:project, :name]4382 is expected to eq "Internal"4383 error_object: :project_slug, sentry_response: [:project, :slug]4384 is expected to eq "internal"4385 behaves like has correct external_url4386 #external_url4387 is constructed correctly4388 with redirects4389 behaves like no Sentry redirects4390 does not follow redirects4391 with sort parameter in sentry api4392 calls the sentry api with sort params4393 with invalid sort params4394 throws an error4395 with older sentry versions where keys are not present4396 behaves like calls sentry api4397 calls sentry api4398 behaves like issues have correct return type4399 returns objects of type Gitlab::ErrorTracking::Error4400 behaves like issues have correct length4401 is expected to eq 14402 behaves like has correct external_url4403 #external_url4404 is constructed correctly4405 when essential keys are missing in API response4406 raises exception4407 when search term is present4408 behaves like calls sentry api4409 calls sentry api4410 behaves like issues have correct return type4411 returns objects of type Gitlab::ErrorTracking::Error4412 behaves like issues have correct length4413 is expected to eq 34414 when cursor is present4415 behaves like calls sentry api4416 calls sentry api4417 behaves like issues have correct return type4418 returns objects of type Gitlab::ErrorTracking::Error4419 behaves like issues have correct length4420 is expected to eq 34421 behaves like non-numeric input handling in Sentry response4422 with non-numeric error id4423 id_input: "string"4424 raises exception4425 id_input: "-1"4426 raises exception4427 id_input: "1\\n2"4428 raises exception4429Gitlab::Ci::Config::External::Processor4430 #perform4431 when no external files defined4432 returns the same values4433 when an invalid local file is defined4434 raises an error4435 when an invalid remote file is defined4436 raises an error4437 with a valid remote external file is defined4438 appends the file to the values4439 removes the 'include' keyword4440 when the remote file has `include` with rules:exists4441 evaluates the rule as false4442 removes the 'include' keyword4443 with a valid local external file is defined4444 appends the file to the values4445 removes the 'include' keyword4446 with multiple external files are defined4447 appends the files to the values4448 removes the 'include' keyword4449 when external files are defined but not valid4450 raises an error4451 when both external files and values defined the same key4452 takes precedence4453 when a nested includes are defined4454 when project is public4455 properly expands all includes4456 propagates the pipeline logger4457 stores includes4458 when user is reporter of another project4459 properly expands all includes4460 when user is not allowed4461 raises an error4462 when too many includes is included4463 raises an error4464 when config includes an external configuration file via SSL web request4465 with an acceptable certificate4466 is expected to include {:image => "image:1.0"}4467 with a self-signed certificate4468 returns a reportable configuration error4469 include:component4470 appends the file to the values4471 when a valid project file is defined4472 appends the file to the values4473 when valid project files are defined in a single include4474 appends the file to the values4475 stores includes4476 when local file path has wildcard4477 fetches the matched files4478 stores includes4479 when rules defined4480 when a rule is invalid4481 raises IncludeError4482Gitlab::Metrics4483 .settings4484 returns a Hash4485 .enabled?4486 returns a boolean4487 .prometheus_metrics_enabled_unmemoized4488 prometheus metrics enabled in config4489 when metrics folder is present4490 metrics are enabled4491 when metrics folder is missing4492 metrics are disabled4493 .prometheus_metrics_enabled?4494 returns a boolean4495 .measure4496 without a transaction4497 returns the return value of the block4498 with a transaction4499 adds a metric to the current transaction4500 returns the return value of the block4501 #series_prefix4502 returns a String4503 .record_status_for_duration?4504 status: 100, should_record: false4505 is expected to equal false4506 is expected to equal false4507 status: 200, should_record: true4508 is expected to equal true4509 is expected to equal true4510 status: 401, should_record: true4511 is expected to equal true4512 is expected to equal true4513 status: nil, should_record: false4514 is expected to equal false4515 is expected to equal false4516 status: 500, should_record: false4517 is expected to equal false4518 is expected to equal false4519 status: 503, should_record: false4520 is expected to equal false4521 is expected to equal false4522 status: "nothing", should_record: false4523 is expected to equal false4524 is expected to equal false4525 .server_error?4526 status: 100, should_record: false4527 is expected to equal false4528 is expected to equal false4529 status: 200, should_record: false4530 is expected to equal false4531 is expected to equal false4532 status: 401, should_record: false4533 is expected to equal false4534 is expected to equal false4535 status: 500, should_record: true4536 is expected to equal true4537 is expected to equal true4538 status: 503, should_record: true4539 is expected to equal true4540 is expected to equal true4541 status: nil, should_record: false4542 is expected to equal false4543 is expected to equal false4544 status: "nothing", should_record: false4545 is expected to equal false4546 is expected to equal false4547 .add_event4548 without a transaction4549 does nothing4550 with a transaction4551 adds an event4552 prometheus metrics disabled4553 behaves like prometheus metrics API4554 #counter4555 #increment4556 successfully calls #increment without arguments4557 successfully calls #increment with 1 argument4558 successfully calls #increment with 2 arguments4559 #summary4560 #observe4561 successfully calls #observe with 2 arguments4562 #gauge4563 #set4564 successfully calls #set with 2 arguments4565 #histogram4566 #observe4567 successfully calls #observe with 2 arguments4568 #null_metric4569 is expected to be a kind of Gitlab::Metrics::NullMetric4570 #counter4571 is expected to be a kind of Gitlab::Metrics::NullMetric4572 #summary4573 is expected to be a kind of Gitlab::Metrics::NullMetric4574 #gauge4575 is expected to be a kind of Gitlab::Metrics::NullMetric4576 #histogram4577 is expected to be a kind of Gitlab::Metrics::NullMetric4578 prometheus metrics enabled4579 behaves like prometheus metrics API4580 #counter4581 #increment4582 successfully calls #increment without arguments4583 successfully calls #increment with 1 argument4584 successfully calls #increment with 2 arguments4585 #summary4586 #observe4587 successfully calls #observe with 2 arguments4588 #gauge4589 #set4590 successfully calls #set with 2 arguments4591 #histogram4592 #observe4593 successfully calls #observe with 2 arguments4594 #null_metric4595 is expected to be nil4596 #counter4597 is expected not to be a kind of Gitlab::Metrics::NullMetric4598 #summary4599 is expected not to be a kind of Gitlab::Metrics::NullMetric4600 #gauge4601 is expected not to be a kind of Gitlab::Metrics::NullMetric4602 #histogram4603 is expected not to be a kind of Gitlab::Metrics::NullMetric4604Milestoneable4605 #supports_milestone?4606 for issues4607 returns true4608 for merge requests4609 returns true4610 for incidents4611 returns true4612 release scopes4613 #any_milestone4614 when milestone filter is present and related closing issues are joined4615 returns merge request closing issues of any milestone4616 #without_release4617 returns the issues not tied to any milestone and the ones tied to milestone with no release4618 #any_release4619 returns all issues tied to a release4620 #with_release4621 returns the issues tied a specfic release4622 when a release has a milestone with one issue and another one with no issue4623 returns that one issue4624 when the milestone with no issue is added as a filter4625 returns an empty list4626 when the milestone with the issue is added as a filter4627 returns this issue4628 when there is no issue under a specific release4629 returns no issue4630 when a non-existent release tag is passed in4631 returns no issue4632 Issues4633 behaves like an object that can be assigned a milestone4634 Validation4635 milestone4636 with correct params4637 is expected to be valid4638 with empty string milestone4639 is expected to be valid4640 with nil milestone id4641 is expected to be valid4642 with a milestone id from another project4643 is expected to be invalid4644 #milestone_available?4645 returns true with a milestone from the issue project4646 returns true with a milestone from the issue project group4647 returns true with a milestone from the the parent of the issue project group4648 returns true with a blank milestone4649 returns false with a milestone from another project4650 returns false with a milestone from another group4651 #milestone_available?4652 returns true with a milestone from the issue group4653 MergeRequests4654 behaves like an object that can be assigned a milestone4655 Validation4656 milestone4657 with correct params4658 is expected to be valid4659 with empty string milestone4660 is expected to be valid4661 with nil milestone id4662 is expected to be valid4663 with a milestone id from another project4664 is expected to be invalid4665 #milestone_available?4666 returns true with a milestone from the issue project4667 returns true with a milestone from the issue project group4668 returns true with a milestone from the the parent of the issue project group4669 returns true with a blank milestone4670 returns false with a milestone from another project4671 returns false with a milestone from another group4672Gitlab::SidekiqConfig::WorkerMatcher4673 #match?4674 with valid input4675 query: "worker_name=WorkerA", expected_metadatas: ["WorkerA"]4676 is expected to contain exactly "WorkerA"4677 query: "worker_name=WorkerA2", expected_metadatas: ["WorkerA2"]4678 is expected to contain exactly "WorkerA2"4679 query: "worker_name=WorkerB|worker_name=WorkerD", expected_metadatas: ["WorkerB"]4680 is expected to contain exactly "WorkerB"4681 query: "worker_name!=WorkerA", expected_metadatas: ["WorkerA2", "WorkerB", "WorkerC"]4682 is expected to contain exactly "WorkerA2", "WorkerB", and "WorkerC"4683 query: "feature_category=category_a", expected_metadatas: ["WorkerA", "WorkerA2"]4684 is expected to contain exactly "WorkerA" and "WorkerA2"4685 query: "feature_category=category_a,category_c", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]4686 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"4687 query: "feature_category=category_a|feature_category=category_c", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]4688 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"4689 query: "feature_category!=category_a", expected_metadatas: ["WorkerB", "WorkerC"]4690 is expected to contain exactly "WorkerB" and "WorkerC"4691 query: "has_external_dependencies=true", expected_metadatas: ["WorkerB"]4692 is expected to contain exactly "WorkerB"4693 query: "has_external_dependencies=false", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]4694 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"4695 query: "has_external_dependencies=true,false", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]4696 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"4697 query: "has_external_dependencies=true|has_external_dependencies=false", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]4698 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"4699 query: "has_external_dependencies!=true", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]4700 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"4701 query: "urgency=high", expected_metadatas: ["WorkerA2", "WorkerB"]4702 is expected to contain exactly "WorkerA2" and "WorkerB"4703 query: "urgency=low", expected_metadatas: ["WorkerA"]4704 is expected to contain exactly "WorkerA"4705 query: "urgency=high,low,throttled", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]4706 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"4707 query: "urgency=low|urgency=throttled", expected_metadatas: ["WorkerA", "WorkerC"]4708 is expected to contain exactly "WorkerA" and "WorkerC"4709 query: "urgency!=high", expected_metadatas: ["WorkerA", "WorkerC"]4710 is expected to contain exactly "WorkerA" and "WorkerC"4711 query: "name=a", expected_metadatas: ["WorkerA"]4712 is expected to contain exactly "WorkerA"4713 query: "name=a,b", expected_metadatas: ["WorkerA", "WorkerB"]4714 is expected to contain exactly "WorkerA" and "WorkerB"4715 query: "name=a,a:2|name=b", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB"]4716 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerB"4717 query: "name!=a,a:2", expected_metadatas: ["WorkerB", "WorkerC"]4718 is expected to contain exactly "WorkerB" and "WorkerC"4719 query: "resource_boundary=memory", expected_metadatas: ["WorkerB", "WorkerC"]4720 is expected to contain exactly "WorkerB" and "WorkerC"4721 query: "resource_boundary=memory,cpu", expected_metadatas: ["WorkerA", "WorkerB", "WorkerC"]4722 is expected to contain exactly "WorkerA", "WorkerB", and "WorkerC"4723 query: "resource_boundary=memory|resource_boundary=cpu", expected_metadatas: ["WorkerA", "WorkerB", "WorkerC"]4724 is expected to contain exactly "WorkerA", "WorkerB", and "WorkerC"4725 query: "resource_boundary!=memory,cpu", expected_metadatas: ["WorkerA2"]4726 is expected to contain exactly "WorkerA2"4727 query: "tags=no_disk_io", expected_metadatas: ["WorkerA", "WorkerB"]4728 is expected to contain exactly "WorkerA" and "WorkerB"4729 query: "tags=no_disk_io,git_access", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB"]4730 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerB"4731 query: "tags=no_disk_io|tags=git_access", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB"]4732 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerB"4733 query: "tags=no_disk_io&tags=git_access", expected_metadatas: ["WorkerA"]4734 is expected to contain exactly "WorkerA"4735 query: "tags!=no_disk_io", expected_metadatas: ["WorkerA2", "WorkerC"]4736 is expected to contain exactly "WorkerA2" and "WorkerC"4737 query: "tags!=no_disk_io,git_access", expected_metadatas: ["WorkerC"]4738 is expected to contain exactly "WorkerC"4739 query: "tags=unknown_tag", expected_metadatas: []4740 is expected to contain exactly4741 query: "tags!=no_disk_io", expected_metadatas: ["WorkerA2", "WorkerC"]4742 is expected to contain exactly "WorkerA2" and "WorkerC"4743 query: "tags!=no_disk_io,git_access", expected_metadatas: ["WorkerC"]4744 is expected to contain exactly "WorkerC"4745 query: "tags!=unknown_tag", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]4746 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"4747 query: "feature_category=category_a&urgency=high", expected_metadatas: ["WorkerA2"]4748 is expected to contain exactly "WorkerA2"4749 query: "feature_category=category_a&urgency=high|feature_category=category_c", expected_metadatas: ["WorkerA2", "WorkerC"]4750 is expected to contain exactly "WorkerA2" and "WorkerC"4751 query: "*", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]4752 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"4753 with invalid input4754 query: "feature_category=\"category_a\"", error: Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm4755 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm4756 query: "feature_category=", error: Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm4757 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm4758 query: "feature_category~category_a", error: Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm4759 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm4760 query: "invalid_term=a", error: Gitlab::SidekiqConfig::WorkerMatcher::UnknownPredicate4761 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::UnknownPredicate4762Gitlab::Workhorse4763 .send_git_archive4764 sets the header correctly4765 when archive caching is disabled4766 tells workhorse not to use the cache4767 when the repository doesn't have an archive file path4768 raises an error4769 .send_git_patch4770 sets the header correctly4771 .channel_websocket4772 without ca_pem4773 is expected to eq {"Channel"=>{"Header"=>{"Authorization"=>["Token x"]}, "MaxSessionTime"=>600, "Subprotocols"=>["foo"], "Url"=>"wss://example.com/terminal.ws"}}4774 with ca_pem4775 is expected to eq {"Channel"=>{"CAPem"=>"foo", "Header"=>{"Authorization"=>["Token x"]}, "MaxSessionTime"=>600, "Subprotocols"=>["foo"], "Url"=>"wss://example.com/terminal.ws"}}4776 .send_git_diff4777 sets the header correctly4778 #verify_api_request!4779 accepts a correct header4780 raises an error when the header is not set4781 raises an error when the header is not signed4782 raises an error when the header is signed with the wrong key4783 raises an error when the issuer is incorrect4784 .git_http_ok4785 is expected to include {:GL_ID => "user-1463", :GL_USERNAME => "user617", :GL_REPOSITORY => "project-387", :ShowAllRefs => false}4786 includes a Repository param4787 when the repo_type is a wiki4788 is expected to include {:GL_ID => "user-1465", :GL_USERNAME => "user619", :GL_REPOSITORY => "wiki-387", :ShowAllRefs => false}4789 when git_upload_pack action is passed4790 is expected to include {:GitalyServer => {:call_metadata => {"gitaly-feature-enforce-requests-limits" => "true", "user_id" => "user-1466", "username" => "user620"}, :address => "unix:tmp/tests/gitaly/praefect.socket", :token => "secret"}}4791 show_all_refs enabled4792 is expected to include {:ShowAllRefs => true}4793 when a feature flag is set for a single project4794 sets the flag to true for that project4795 sets the flag to false for other projects4796 sets the flag to false when there is no project4797 when git_receive_pack action is passed4798 is expected to include {:GitalyServer => {:call_metadata => {"gitaly-feature-enforce-requests-limits" => "true", "user_id" => "user-1473", "username" => "user626"}, :address => "unix:tmp/tests/gitaly/praefect.socket", :token => "secret"}}4799 when info_refs action is passed4800 is expected to include {:GitalyServer => {:call_metadata => {"gitaly-feature-enforce-requests-limits" => "true", "user_id" => "user-1474", "username" => "user627"}, :address => "unix:tmp/tests/gitaly/praefect.socket", :token => "secret"}}4801 show_all_refs enabled4802 is expected to include {:ShowAllRefs => true}4803 when action passed is not supported by Gitaly4804 is expected to raise Exception with "Unsupported action: download"4805 when receive_max_input_size has been updated4806 returns custom git config4807 when receive_max_input_size is empty4808 returns an empty git config4809 when remote_ip is available in the application context4810 includes a RemoteIP params4811 when remote_ip is not available in the application context4812 does not include RemoteIP params4813 .set_key_and_notify4814 when we set a new key4815 behaves like set and notify4816 set and return the same value4817 set and notify4818 when we set an existing key4819 and overwrite4820 behaves like set and notify4821 set and return the same value4822 set and notify4823 and do not overwrite4824 try to set but return the previous value4825 does not notify4826 .detect_content_type4827 returns array setting detect content type in workhorse4828 .send_git_blob4829 sets the header correctly4830 .send_url4831 sets the header correctly4832 when body, headers and method are specified4833 sets the header correctly4834 .send_scaled_image4835 sets the header correctly4836 .send_dependency4837 sets the header correctly4838 .send_git_snapshot4839 sets the header correctly4840MembersHelper4841 #remove_member_message4842 is expected to eq "Are you sure you want to remove Sidney Jones1311 from the Sidney Jones1310 / Project-405 Name project?"4843 is expected to eq "Are you sure you want to revoke the invitation for to join the Sidney Jones1313 / Project-407 Name project?"4844 is expected to eq "Are you sure you want to deny Sidney Jones1317's request to join the Sidney Jones1316 / Project-409 Name project?"4845 is expected to eq "Are you sure you want to withdraw your access request for the Sidney Jones1318 / Project-410 Name project?"4846 is expected to eq "Are you sure you want to remove Sidney Jones1320 from the group165 group and any subresources?"4847 is expected to eq "Are you sure you want to revoke the invitation for to join the group167 group?"4848 is expected to eq "Are you sure you want to deny Sidney Jones1322's request to join the group169 group?"4849 is expected to eq "Are you sure you want to withdraw your access request for the group170 group?"4850 an accepted user invitation with no user associated4851 logs an exception and shows orphaned status4852 a pending member invitation with no user associated4853 does not error when there is an invitation for the requestor4854 #remove_member_title4855 is expected to eq "Remove user from project"4856 is expected to eq "Deny access request from project"4857 is expected to eq "Remove user from group and any subresources"4858 is expected to eq "Deny access request from group"4859 #leave_confirmation_message4860 is expected to eq "Are you sure you want to leave the \"Sidney Jones1335 / Project-416 Name\" project?"4861 is expected to eq "Are you sure you want to leave the \"group176\" group?"4862 #localized_tasks_to_be_done_choices4863 has a translation for all `TASKS_TO_BE_DONE` keys4864 #member_request_access_link4865 returns request link for project members4866 returns the request link for group members4867Ci::ArchiveTraceService#execute4868 when job is finished4869 creates an archived trace4870 integration hooks4871 is expected not to raise Exception4872 when trace is already archived4873 ignores an exception4874 does not create an archived trace4875 when live trace chunks still exist4876 removes the trace chunks4877 when associated data does not exist4878 removes the trace artifact and builds a new one4879 when the job is out of archival attempts4880 skips archiving4881 leaves a warning message in sidekiq log4882 job has archive and chunks4883 removes trace chunks4884 archive is not completed4885 cleanups any stale archive data4886 when the archival process is backed off4887 skips archiving4888 leaves a warning message in sidekiq log4889 when job is running4890 increments Prometheus counter, sends crash report to Sentry and ignore an error for continuing to archive4891 #batch_execute4892 archives multiple traces4893 processes traces independently4894 when timeout is reached4895 stops executing traces4896 when loop limit is reached4897 skips archiving4898 stops executing traces4899Gitlab::Diff::DiffRefs4900 #==4901 when shas are missing4902 returns false4903 when shas are equal4904 returns true4905 when shas are unequal4906 returns false4907 when shas are truncated4908 when sha prefixes are too short4909 returns false4910 when sha prefixes are equal4911 returns true4912 when sha prefixes are unequal4913 returns false4914 #compare_in4915 with diff refs for the initial commit4916 returns an appropriate comparison4917 with diff refs for a commit4918 returns an appropriate comparison4919 with diff refs for a comparison through the base4920 returns an appropriate comparison4921 with diff refs for a straight comparison4922 returns an appropriate comparison4923Gitlab::Checks::DiffCheck4924 #validate!4925 when ref is not tag or branch ref4926 does not call find_changed_paths4927 when commits is empty4928 does not call find_changed_paths4929 when commits include merge commit4930 when merge commit does not include additional changes4931 checks the additional changes4932 when merge commit includes additional changes4933 checks the additional changes4934 when commits is not empty4935 when deletion is true4936 does not call find_changed_paths4937 with LFS not enabled4938 does not invoke :lfs_file_locks_validation4939 with LFS enabled4940 when change is sent by a different user4941 raises an error if the user is not allowed to update the file4942 when change is sent by the author of the lock4943 doesn't raise any error4944 when a merge commit merged a file locked by another user4945 doesn't raise any error4946 when a merge commit includes additional file locked by another user4947 does raise an error4948Mutations::MergeRequests::SetReviewers4949 #resolve4950 does not change reviewers if the merge_request is not accessible to the reviewers4951 returns an operational error if the merge_request is not accessible to the reviewers4952 when the user does not have permissions4953 behaves like permission level for merge request mutation is correctly verified4954 when the user is not a project member4955 behaves like when the user does not have access to the resource4956 raises an error4957 even if assigned to the merge request4958 does not modify merge request4959 even if reviewer of the merge request4960 raises an error4961 even if author of the merge request4962 raises an error4963 when the user is a project member4964 with guest role4965 behaves like when the user does not have access to the resource4966 raises an error4967 even if assigned to the merge request4968 does not modify merge request4969 even if reviewer of the merge request4970 raises an error4971 even if author of the merge request4972 raises an error4973 with reporter role4974 behaves like when the user does not have access to the resource4975 raises an error4976 even if assigned to the merge request4977 does not modify merge request4978 even if reviewer of the merge request4979 raises an error4980 even if author of the merge request4981 raises an error4982 when the user can update the merge_request4983 replaces the reviewer4984 returns errors when merge_request could not be updated4985 when passing an empty reviewer list4986 removes all reviewers4987 when passing "append" as true4988 is a NO-OP in FOSS4989 when passing "remove" as true4990 removes named reviewer4991 does not remove unnamed reviewer4992ContextCommitsFinder4993 #execute4994 filters commits by valid sha/commit message4995 returns nothing when searched by invalid sha/commit message4996 returns commits based in author filter4997 returns commits based in committed before and after filter4998 returns commits from target branch if no filter is applied4999ErrorTracking::IssueUpdateService5000 # order random5001 #execute5002 with authorized user5003 when update_issue returns success5004 returns the response5005 updates any related issue5006 clears the reactive cache5007 with related issue and resolving5008 closes the issue5009 when issue gets closed5010 creates a system note5011 returns a response with closed issue5012 when issue is already closed5013 does not call the close issue service5014 does not create system note5015 when status is not resolving5016 does not call the close issue service5017 does not create system note5018 when update_issue returns error5019 returns the error5020 with integrated error tracking5021 when update succeeded5022 returns success with updated true5023 when update failed5024 returns success with updated false5025 with unauthorized user5026 returns error5027 with error tracking disabled5028 raises error5029Gitlab::I18n::PoLinter5030 #errors5031 only calls validation once5032 #validate_po5033 for a fuzzy message5034 has an error5035 for a translations with newlines5036 has an error for a normal string5037 has an error when a translation is defined over multiple lines5038 raises an error when a plural translation is defined over multiple lines5039 raises an error when the plural id is defined over multiple lines5040 with an invalid po5041 returns the error5042 does not validate entries5043 with missing metadata5044 returns the an error5045 with a valid po5046 parses the file5047 validates the entries5048 has no errors5049 with missing plurals5050 has errors5051 with multiple plurals5052 has errors5053 with unescaped chars5054 contains an error5055 when an entry contains html5056 presents an error for each component containing angle brackets5057 #parse_po5058 with a valid po5059 fills in the entries5060 does not have errors5061 with an invalid po5062 contains an error5063 sets the entries to an empty array5064 #validate_entries5065 keeps track of errors for entries5066 #validate_entry5067 validates the flags, variable usage, newlines, and unescaped chars5068 #validate_number_of_plurals5069 validates when there are an incorrect number of translations5070 #validate_variables5071 validates both singular and plural in a pluralized string when the entry has a singular5072 only validates plural when there is no separate singular5073 validates the message variables5074 validates variable usage in message ids5075 #validate_variables_in_message5076 detects when a variables are used incorrectly5077 does not allow combining 1 `%d` unnamed variable with named variables5078 #validate_translation5079 succeeds with valid variables5080 adds an error message when translating fails5081 adds an error message when translating fails when translating with context5082 adds an error when trying to translate with incorrect variables when using unnamed variables5083 adds an error when trying to translate with named variables when unnamed variables are expected5084 tests translation for all given forms5085 #numbers_covering_all_plurals5086 can correctly find all required numbers to translate to Polish5087 #fill_in_variables5088 builds an array for %d translations5089 builds an array for %s translations5090 builds a hash for named variables5091Issue::Metrics5092 .for_issues5093 returns metrics associated with given issues5094 .with_first_mention_not_earlier_than5095 returns metrics without mentioning in commit or with mentioning after given timestamp5096 when recording the default set of issue metrics on issue save5097 milestones5098 records the first time an issue is associated with a milestone5099 does not record the second time an issue is associated with a milestone5100 list labels5101 records the first time an issue is associated with a list label5102 does not record the second time an issue is associated with a list label5103AwardEmojis::AddService5104 #execute5105 when user is not authorized5106 does not add an emoji5107 returns an error state5108 when user is authorized5109 creates an award emoji5110 returns the award emoji5111 return a success status5112 sets the correct properties on the award emoji5113 executes hooks5114 marking Todos as done5115 type: :issue, expectation: true5116 is expected to eq true5117 type: :merge_request, expectation: true5118 is expected to eq true5119 type: :project_snippet, expectation: false5120 is expected to eq false5121 for notes5122 regular Notes5123 marks the Todo as done5124 PersonalSnippet Notes5125 does not mark the Todo as done5126 when the awardable cannot have emoji awarded to it5127 does not add an emoji5128 returns an error status5129 when the awardable is invalid5130 does not add an emoji5131 returns an error status5132 returns an error message5133Ci::BuildTraceMetadata5134 is expected to belong to build required: false5135 is expected to belong to trace_artifact required: false5136 is expected to validate that :build cannot be empty/falsy5137 is expected to validate that :archival_attempts cannot be empty/falsy5138 #can_attempt_archival_now?5139 when archival_attempts is over the limit5140 is expected to be falsey5141 when last_archival_attempt_at is not set5142 is expected to be truthy5143 when last_archival_attempt_at is set5144 is expected to be truthy5145 when last_archival_attempt_at is too close5146 is expected to be falsey5147 #archival_attempts_available?5148 when archival_attempts is over the limit5149 is expected to be falsey5150 when archival_attempts is at the limit5151 is expected to be truthy5152 #increment_archival_attempts!5153 increments the attempts5154 updates the last_archival_attempt_at timestamp5155 #track_archival!5156 stores the artifact id and timestamp5157 .find_or_upsert_for!5158 creates a new record5159 with existing records5160 returns the existing record5161 #remote_checksum_valid?5162 checksum: nil, remote_checksum: nil, result: false5163 is expected to eq false5164 checksum: nil, remote_checksum: "a", result: false5165 is expected to eq false5166 checksum: "a", remote_checksum: nil, result: false5167 is expected to eq false5168 checksum: "a", remote_checksum: "b", result: false5169 is expected to eq false5170 checksum: "b", remote_checksum: "a", result: false5171 is expected to eq false5172 checksum: "a", remote_checksum: "a", result: true5173 is expected to eq true5174 partitioning5175 assigns the same partition id as the one that build has5176Gitlab::AlertManagement::Payload::Base5177 .attribute5178 with a single path provided5179 is expected to be nil5180 and a matching value5181 is expected to eq "value"5182 with multiple paths provided5183 is expected to be nil5184 and a matching value5185 is expected to eq "value"5186 with a fallback provided5187 is expected to eq "fallback"5188 and a matching value5189 is expected to eq "value"5190 with a time type provided5191 is expected to be nil5192 with a compatible matching value5193 is expected to eq 2023-08-10 12:42:31.000000000 +00005194 with a value in rfc3339 format5195 is expected to eq 2023-08-10 12:42:31.000000000 +00005196 with an incompatible matching value5197 is expected to be nil5198 with time in seconds5199 is expected to be nil5200 with an integer type provided5201 is expected to be nil5202 with a compatible matching value5203 is expected to eq 155204 with an incompatible matching value5205 is expected to be nil5206 with an incompatible matching value5207 is expected to be nil5208 #alert_params5209 with every key5210 is expected to eq {:description=>"description", :ended_at=>2023-08-10 12:42:31.482474017 +0000, :environment=>#<Environ..."service", :severity=>"critical", :started_at=>2023-08-10 12:42:31.587443789 +0000, :title=>"title"}5211 can generate a valid new alert5212 with too-long strings5213 is expected to eq {:description=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee..."}5214 with too-long hosts array5215 is expected to eq {:hosts=>["abc", "def", "ghi"], :project_id=>488}5216 with host cut off between elements5217 is expected to eq {:hosts=>["abcde", "fghi"], :project_id=>488}5218 with nested hosts5219 is expected to eq {:hosts=>["abc", "de", "f", "g", "hi"], :project_id=>488}5220 with present, non-string values for string fields5221 casts values to strings5222 with blank values for string fields5223 leaves the fields blank5224 #gitlab_fingerprint5225 is expected to be nil5226 when plain_gitlab_fingerprint is defined5227 returns a fingerprint5228 #environment5229 without an environment name5230 is expected to be nil5231 with a non-matching environment name5232 is expected to be nil5233 with a matching environment name5234 is expected to eq #<Environment id: 3, project_id: 488, name: "production", created_at: "2023-08-10 12:42:32.049515723 ...t: nil, tier: "production", merge_request_id: nil, cluster_agent_id: nil, kubernetes_namespace: nil>5235 #resolved?5236 when status is not defined5237 is expected to be falsey5238 when status is not resovled5239 is expected to be falsey5240 when status is resovled5241 is expected to be truthy5242 #has_required_attributes?5243 is expected to equal true5244 #source5245 is expected to be nil5246 with alerting integration provided5247 is expected to eq "INTEGRATION"5248 with monitoring tool defined in the raw payload5249 is expected to eq "TOOL"5250Gitlab::Database::Migrations::BatchedBackgroundMigrationHelpers5251 #queue_batched_background_migration5252 creates the database record for the migration5253 when such migration already exists5254 does not create duplicate migration5255 when the job interval is lower than the minimum5256 sets the job interval to the minimum value5257 when additional arguments are passed to the method5258 when the job class provides job_arguments_count5259 when defined job arguments for the job class does not match provided arguments5260 raises an error5261 when defined job arguments for the job class match provided arguments5262 saves the arguments on the database record5263 when the job class does not provide job_arguments_count5264 does not raise an error5265 when the max_value is not given5266 when records exist in the database5267 creates the record with the current max value5268 creates the record with an active status5269 when the database is empty5270 sets the max value to the min value5271 creates the record with a finished status5272 when gitlab_schema is not given5273 fetches gitlab_schema from the migration context5274 #finalize_batched_background_migration5275 finalizes the migration5276 when the migration does not exist5277 raises an exception5278 when within transaction5279 does raise an exception5280 when running migration in reconfigured ActiveRecord::Base context5281 behaves like reconfigures connection stack5282 when restrict_gitlab_migration is set to gitlab_ci5283 finalizes the migration5284 when restrict_gitlab_migration is set to gitlab_main5285 does not find any migrations5286 when no restrict is set5287 does not find any migrations5288 when within transaction5289 does raise an exception5290 #delete_batched_background_migration5291 when migration exists5292 deletes it5293 when migration does not exist5294 does nothing5295 #gitlab_schema_from_context5296 when allowed_gitlab_schemas is not available5297 defaults to :gitlab_main5298 when allowed_gitlab_schemas is available5299 uses schema from allowed_gitlab_schema5300 #ensure_batched_background_migration_is_finished5301 raises an error when migration exists and is not marked as finished5302 does not raise error when migration exists and is marked as finished5303 finalizes the migration5304 when specified migration does not exist5305 when DBLAB_ENVIRONMENT is not set5306 logs a warning5307 when DBLAB_ENVIRONMENT is set5308 raises an error5309 when within transaction5310 does raise an exception5311 when the flag finalize is false5312 does not finalize the migration5313ContainerRegistry::Blob5314 is expected to respond to #repository5315 is expected to delegate #registry to the #repository object5316 is expected to delegate #client to the #repository object5317 #path5318 returns a valid path to the blob5319 #digest5320 return correct digest value5321 #type5322 returns a correct type5323 #revision5324 returns a correct blob SHA5325 #short_revision5326 return a short SHA5327 #delete5328 returns true when blob has been successfully deleted5329 #data5330 when locally stored5331 returns a correct blob data5332 when externally stored5333 for a valid address5334 returns correct data5335 for a relative address5336 returns correct data5337 for invalid file5338 raises an error5339Terraform::StateUploader5340 #filename5341 contains the version of the terraform state record5342 legacy state with versioning disabled5343 contains the UUID of the terraform state record5344 #store_dir5345 hashes the project ID and UUID5346 legacy state with versioning disabled5347 contains the ID of the project5348 #key5349 creates a digest with a secret key and the project id5350 encryption5351 encrypts the stored file5352 decrypts the file when reading5353 .direct_upload_enabled?5354 returns false5355 .proxy_download_enabled?5356 returns true5357 .default_store5358 when object storage is enabled5359 returns REMOTE5360 when object storage is disabled5361 returns LOCAL5362Admin::UsersController routing5363 to #block5364 to #unblock5365 to #index5366 to #show5367 to #create5368 to #new5369 to #edit5370 to #update5371 to #destroy5372Admin::ProjectsController routing5373 to #index5374 to #show5375Admin::HooksController routing5376 to #test5377 to #index5378 to #create5379 to #edit5380 to #update5381 to #destroy5382Admin::HookLogsController routing5383 to #retry5384 to #show5385Admin::BackgroundJobsController routing5386 to #show5387Admin::DashboardController routing5388 to #index5389Admin::HealthCheckController routing5390 to #show5391Admin::DevOpsReportController routing5392 to #show5393 admin devops reports5394 redirects from /admin/dev_ops_report to /admin/dev_ops_reports5395Admin::GroupsController routing5396 to #index5397 to #show5398 to #edit5399Admin::SessionsController routing5400 to #new5401 to #create5402 to #destroy5403Admin::PlanLimitsController routing5404 to #create5405Admin::RunnersController routing5406 to #runner_setup_scripts5407Crm::ContactsFinder5408 #execute5409 when customer relations feature is enabled for the group5410 when user does not have permissions to see contacts in the group5411 returns an empty array5412 when user is member of the root group5413 when feature flag is enabled5414 returns all group contacts5415 when user is member of the sub group5416 returns an empty array5417 when customer relations feature is disabled for the group5418 returns an empty array5419 with search informations5420 when search term is empty5421 returns all group contacts alphabetically ordered5422 when search term is not empty5423 searches for first name ignoring casing5424 searches for last name ignoring casing5425 searches for email5426 searches for description ignoring casing5427 fuzzy searches for email and last name5428 when searching for contacts state5429 returns only inactive contacts5430 returns only active contacts5431 when searching for contacts ids5432 returns the expected contacts5433 when sorting5434 returns the contacts sorted by email in ascending order5435 returns the contacts sorted by description in ascending order5436 returns the contacts sorted by organization in ascending order5437 .counts_by_state5438 returns correct counts5439Todos::Destroy::DesignService5440 #execute5441 when the design has been archived5442 removes todos for that design5443 when no design has been archived5444 does not remove any todos5445Gitlab::Suggestions::CommitMessage5446 #message5447 suggestion_set: suggestion_set_same_project5448 when a custom commit message is not specified5449 and is nil5450 uses the default commit message5451 and is an empty string5452 uses the default commit message5453 when a custom commit message is specified for forked project5454 uses the default commit message5455 when a custom commit message is specified5456 shows the custom commit message5457 is specified and includes all placeholders5458 generates a custom commit message5459 when a custom commit message is specified for forked project5460 uses the target project commit message5461 suggestion_set: suggestion_set_forked_project5462 when a custom commit message is not specified5463 and is nil5464 uses the default commit message5465 and is an empty string5466 uses the default commit message5467 when a custom commit message is specified for forked project5468 uses the default commit message5469 when a custom commit message is specified5470 shows the custom commit message5471 is specified and includes all placeholders5472 generates a custom commit message5473 when a custom commit message is specified for forked project5474 uses the target project commit message5475Gitlab::GitalyClient::ConflictsService5476 #conflicts5477 with the `skip_conflict_files_in_gitaly` feature flag on5478 calls list_conflict_files with `skip_content: true`5479 with the `skip_conflict_files_in_gitaly` feature flag off5480 calls list_conflict_files with no parameters5481 #list_conflict_files5482 behaves like listing conflicts5483 sends an RPC request5484 when allow_tree_conflicts is set to true5485 behaves like listing conflicts5486 sends an RPC request5487 #resolve_conflicts5488 sends an RPC request5489 raises a relevant exception if resolution_error is present5490 with branches with UTF-8 characters5491 handles commit messages with UTF-8 characters5492Ci::TriggerEntity5493 #as_json5494 contains required fields5495 contains user fields5496 when current user can manage triggers5497 returns short_token as token5498 contains project_trigger_path5499 does not contain edit_project_trigger_path5500 returns has_token_exposed5501 when current user is the owner of the trigger5502 returns token as token5503 contains project_trigger_path5504 contains edit_project_trigger_path5505 returns has_token_exposed5506gitlab:seed:runner_fleet rake task5507 # order random5508 with admin username5509 performs runner fleet seed successfully5510Gitlab::X509::Certificate5511 testing environment setup5512 generate_root5513 generates a root CA that expires a long way in the future5514 generate_intermediate5515 generates an intermediate CA that expires a long way in the future5516 generates an intermediate CA properly signed by the root CA5517 generate_cert5518 generates a cert properly signed by the intermediate CA5519 generates a cert that expires soon5520 generates a cert intended for email signing5521 passing in INFINITE_EXPIRY5522 generates a cert that expires a long way in the future5523 .from_strings5524 parses correctly a certificate and key5525 .from_files5526 parses correctly a certificate and key5527 with optional ca_certs5528 parses correctly certificate, key and ca_certs5529 with no intermediate CA5530 parses correctly a certificate and key5531 .default_cert_dir5532 when SSL_CERT_DIR env variable is not set5533 returns default directory from OpenSSL5534 when SSL_CERT_DIR env variable is set5535 returns specified directory5536 .default_cert_file5537 when SSL_CERT_FILE env variable is not set5538 returns default file from OpenSSL5539 when SSL_CERT_FILE env variable is set5540 returns specified file5541 .ca_certs_paths5542 returns all files specified by OpenSSL defaults5543 .ca_certs_bundle5544 skips certificates if OpenSSLError is raised and report it5545 returns a list certificates as strings5546 .load_ca_certs_bundle5547 loads a PEM-encoded certificate bundle into an OpenSSL::X509::Certificate array5548DeploymentEntity5549 # order random5550 exposes fields5551 when the pipeline has another manual action5552 returns another manual action5553 when user is a reporter5554 returns another manual action5555 when deployment details serialization was disabled5556 does not serialize manual actions details5557 playable_build5558 when the deployment has a playable deployable5559 when this job is build and ready to be played5560 exposes only the play_path5561 when this job is bridge and ready to be played5562 exposes only the play_path5563 when this job has failed5564 exposes the play_path and the retry_path5565 when the deployment does not have a playable deployable5566 is not exposed5567 when deployable is nil5568 does not expose deployable entry5569 when deployment details serialization was disabled5570 does not serialize deployment details5571 only exposes deployable name and path5572 scheduled_actions5573 when the same pipeline has a scheduled action5574 returns other scheduled actions5575 when the same pipeline does not have a scheduled action5576 does not return other actions5577 when deployment details serialization was disabled5578 does not serialize scheduled actions details5579ci/status/_badge5580 when rendering status for build5581 when user has ability to see details5582 has link to build details page5583 when user do not have ability to see build details5584 contains build status text5585 does not contain links5586 when rendering status for external job5587 when user has ability to see commit status details5588 status has external target url5589 contains valid commit status text5590 has link to external status page5591 status do not have external target url5592 contains valid commit status text5593 has link to external status page5594Review5595 associations5596 is expected to belong to author class_name => User required: false inverse_of => reviews5597 is expected to belong to merge_request required: false inverse_of => reviews5598 is expected to belong to project required: false inverse_of => reviews5599 is expected to have many notes order => id inverse_of => review5600 modules5601 is expected to includes the Participable module5602 is expected to includes the Mentionable module5603 #all_references5604 returns an extractor with the correct referenced users5605 #participants5606 includes the review author5607Ci::JobToken::Allowlist5608 # order random5609 add!5610 with inbound5611 adds the project5612 with outbound5613 adds the project5614 #projects5615 when no projects are added to the scope5616 with inbound5617 returns the project defining the scope5618 with outbound5619 returns the project defining the scope5620 when projects are added to the scope5621 direction: :outbound, additional_project: outbound_allowlist_project5622 returns all projects that can be accessed from a given scope5623 direction: :inbound, additional_project: inbound_allowlist_project5624 returns all projects that can be accessed from a given scope5625 #includes?5626 without scoped projects5627 includes_project: source_project, direction: :outbound, result: false5628 is expected to equal false5629 includes_project: source_project, direction: :inbound, result: false5630 is expected to equal false5631 includes_project: unscoped_project, direction: :outbound, result: false5632 is expected to equal false5633 includes_project: unscoped_project, direction: :inbound, result: false5634 is expected to equal false5635 with a project in each allowlist5636 includes_project: source_project, direction: :outbound, result: false5637 is expected to equal false5638 includes_project: source_project, direction: :inbound, result: false5639 is expected to equal false5640 includes_project: inbound_allowlist_project, direction: :outbound, result: false5641 is expected to equal false5642 includes_project: inbound_allowlist_project, direction: :inbound, result: true5643 is expected to equal true5644 includes_project: outbound_allowlist_project, direction: :outbound, result: true5645 is expected to equal true5646 includes_project: outbound_allowlist_project, direction: :inbound, result: false5647 is expected to equal false5648 includes_project: unscoped_project1, direction: :outbound, result: false5649 is expected to equal false5650 includes_project: unscoped_project1, direction: :inbound, result: false5651 is expected to equal false5652 includes_project: unscoped_project2, direction: :outbound, result: false5653 is expected to equal false5654 includes_project: unscoped_project2, direction: :inbound, result: false5655 is expected to equal false5656BulkImports::Projects::Pipelines::ReferencesPipeline5657 # order random5658 #transform5659 updates matching urls with new ones5660 when object does not have reference5661 returns object unchanged5662 when there are not matched urls5663 returns object unchanged5664 when url path does not start with source full path5665 returns object unchanged5666 when host does not match and url path starts with source full path5667 returns object unchanged5668 when url does not match at all5669 returns object unchanged5670 #load5671 saves the object when object body changed5672 when object body is not changed5673 does not save the object5674 #extract5675 returns ExtractedData containing issues, mrs & their notes5676 when object body is nil5677 returns ExtractedData not containing the object5678Gitlab::Logger5679 .build5680 builds logger using Gitlab::Logger.log_level5681 raises ArgumentError if invalid log level5682 env_value: "debug", resulting_level: 05683 builds logger if valid log level is provided5684 env_value: "DEBUG", resulting_level: 05685 builds logger if valid log level is provided5686 env_value: "DeBuG", resulting_level: 05687 builds logger if valid log level is provided5688 env_value: "info", resulting_level: 15689 builds logger if valid log level is provided5690 env_value: "INFO", resulting_level: 15691 builds logger if valid log level is provided5692 env_value: "InFo", resulting_level: 15693 builds logger if valid log level is provided5694 env_value: "warn", resulting_level: 25695 builds logger if valid log level is provided5696 env_value: "WARN", resulting_level: 25697 builds logger if valid log level is provided5698 env_value: "WaRn", resulting_level: 25699 builds logger if valid log level is provided5700 env_value: "error", resulting_level: 35701 builds logger if valid log level is provided5702 env_value: "ERROR", resulting_level: 35703 builds logger if valid log level is provided5704 env_value: "ErRoR", resulting_level: 35705 builds logger if valid log level is provided5706 env_value: "fatal", resulting_level: 45707 builds logger if valid log level is provided5708 env_value: "FATAL", resulting_level: 45709 builds logger if valid log level is provided5710 env_value: "FaTaL", resulting_level: 45711 builds logger if valid log level is provided5712 env_value: "unknown", resulting_level: 55713 builds logger if valid log level is provided5714 env_value: "UNKNOWN", resulting_level: 55715 builds logger if valid log level is provided5716 env_value: "UnKnOwN", resulting_level: 55717 builds logger if valid log level is provided5718 .log_level5719 if GITLAB_LOG_LEVEL is set5720 returns value defined by GITLAB_LOG_LEVEL5721 ignores fallback5722 if GITLAB_LOG_LEVEL is not set5723 returns default fallback DEBUG5724 returns passed fallback5725Gitlab::Diff::Rendered::Notebook::DiffFileHelper5726 #strip_diff_frontmatter5727 diff: "FileLine1\nFileLine2\n@@ -1,76 +1,74 @@\nhello\n", result: "@@ -1,76 +1,74 @@\nhello\n"5728 is expected to eq "@@ -1,76 +1,74 @@\nhello\n"5729 diff: "", result: nil5730 is expected to eq nil5731 diff: nil, result: nil5732 is expected to eq nil5733 #map_transformed_line_to_source5734 case: "if transformed diff is empty", transformed_blocks: [], result: 05735 is expected to eq 05736 case: "if the transformed line does not map to any in the original file", transformed_blocks: [{:source_line=>nil}], result: 05737 is expected to eq 05738 case: "if the transformed line maps to a line in the source file", transformed_blocks: [{:source_line=>3}], result: 35739 is expected to eq 35740 #image_as_rich_text5741 text does not contain image5742 is expected to be nil5743 text contains image5744 is expected to eq "<img src=\"data:image/png;base64,some_image_here\">"5745 text contains image that has malicious html5746 sanitizes the html5747 adds image to src5748 #line_positions_at_source_diff5749 case: " A A", index: 0, transformed_positions: [1, 1], mapped_positions: [1, 1]5750 is expected to eq [1, 1]5751 case: "- C ", index: 1, transformed_positions: [2, 2], mapped_positions: [3, 2]5752 is expected to eq [3, 2]5753 case: "- B ", index: 2, transformed_positions: [3, 2], mapped_positions: [2, 2]5754 is expected to eq [2, 2]5755 case: "- L ", index: 3, transformed_positions: [4, 2], mapped_positions: [0, 0]5756 is expected to eq [0, 0]5757 case: "+ D", index: 4, transformed_positions: [5, 2], mapped_positions: [4, 2]5758 is expected to eq [4, 2]5759 case: "+ J", index: 5, transformed_positions: [5, 3], mapped_positions: [0, 0]5760 is expected to eq [0, 0]5761 case: "+ E", index: 6, transformed_positions: [5, 4], mapped_positions: [4, 3]5762 is expected to eq [4, 3]5763 case: " K K", index: 7, transformed_positions: [5, 5], mapped_positions: [0, 0]5764 is expected to eq [0, 0]5765 case: " F F", index: 8, transformed_positions: [6, 6], mapped_positions: [4, 4]5766 is expected to eq [4, 4]5767 #lines_in_source_diff5768 old_lines: [1, 2, 2], new_lines: [1, 1, 4], is_deleted: false, is_new: false, existing_lines: {:from=>#<Set: {1, 2}>, :to=>#<Set: {1, 4}>}5769 is expected to eq {:from=>#<Set: {1, 2}>, :to=>#<Set: {1, 4}>}5770 old_lines: [1, 2, 2], new_lines: [1, 1, 4], is_deleted: true, is_new: false, existing_lines: {:from=>#<Set: {1, 2}>, :to=>#<Set: {}>}5771 is expected to eq {:from=>#<Set: {1, 2}>, :to=>#<Set: {}>}5772 old_lines: [1, 2, 2], new_lines: [1, 1, 4], is_deleted: false, is_new: true, existing_lines: {:from=>#<Set: {}>, :to=>#<Set: {1, 4}>}5773 is expected to eq {:from=>#<Set: {}>, :to=>#<Set: {1, 4}>}5774Gitlab::SidekiqDaemon::Monitor5775 #within_job5776 tracks thread, jid and worker_class5777 when job is canceled5778 does not execute a block5779 raises exception5780 #jobs5781 returns running jobs hash5782 #run_thread when notification channel not enabled5783 return directly5784 #run_thread when notification channel enabled5785 when structured logging is used5786 logs start message5787 logs stop message5788 logs StandardError message5789 logs and raises Exception message5790 when StandardError is raised5791 does retry connection5792 when message is published5793 and message is valid5794 processes cancel5795 and message is not valid json5796 skips processing5797 #stop5798#<Thread:0x00007be3ca9efaf0 /builds/gitlab-org/gitlab/lib/gitlab/daemon.rb:56 run> terminated with exception (report_on_exception is true):5799Interrupt (Interrupt)5800 does stop the thread5801 #process_job_cancel5802 when jid is missing5803 does not run thread5804 when jid is provided5805 when jid is not found5806 does not log cancellation message5807 when jid is found5808#<Thread:0x00007be3aae64448 /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237 run> terminated with exception (report_on_exception is true):5809/builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `sleep': Gitlab::SidekiqDaemon::Monitor::CancelledError (Gitlab::SidekiqDaemon::Monitor::CancelledError)5810 from /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `block (6 levels) in <top (required)>'5811 does log cancellation message5812#<Thread:0x00007be3ab292da8 /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237 run> terminated with exception (report_on_exception is true):5813/builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `sleep': Gitlab::SidekiqDaemon::Monitor::CancelledError (Gitlab::SidekiqDaemon::Monitor::CancelledError)5814 from /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `block (6 levels) in <top (required)>'5815 does cancel the thread5816 .cancel_job5817 sets a redis key5818 notifies all workers5819 #notification_channel_enabled?5820 return nil when SIDEKIQ_MONITOR_WORKER is not set5821 return nil when SIDEKIQ_MONITOR_WORKER set to 05822 return 1 when SIDEKIQ_MONITOR_WORKER set to 15823IncidentManagement::IssuableEscalationStatuses::PrepareUpdateService5824 # order random5825 when user is anonymous5826 behaves like availability error response5827 is expected to eq "Escalation status updates are not available for this issue, user, or project."5828 when called nil params5829 raises an exception5830 with status param5831 when status matches the current status5832 behaves like successful response5833 returns valid parameters which can be used to update the issue5834 when status is unsupported5835 behaves like invalid params error response5836 is expected to eq "Invalid value was provided for parameters: status"5837 when status is a String5838 behaves like successful response5839 returns valid parameters which can be used to update the issue5840 when user does not have permissions5841 behaves like availability error response5842 is expected to eq "Escalation status updates are not available for this issue, user, or project."5843 when called with unsupported params5844 behaves like successful response5845 returns valid parameters which can be used to update the issue5846 when called with an unsupported issue type5847 behaves like availability error response5848 is expected to eq "Escalation status updates are not available for this issue, user, or project."5849 when called without params5850 behaves like successful response5851 returns valid parameters which can be used to update the issue5852 when an IssuableEscalationStatus record for the issue does not exist5853 initializes an issuable escalation status record5854 behaves like successful response5855 returns valid parameters which can be used to update the issue5856 behaves like successful response5857 returns valid parameters which can be used to update the issue5858Gitlab::JiraImport::StuckJiraImportJobsWorker5859 with scheduled Jira import5860 behaves like stuck import job detection5861 when the job has completed5862 when the import status was already updated5863 does not mark the import as failed5864 when the import status was not updated5865 marks the import as failed5866 when the job is still in Sidekiq5867 does not mark the import as failed5868 with started jira import5869 behaves like stuck import job detection5870 when the job has completed5871 when the import status was already updated5872 does not mark the import as failed5873 when the import status was not updated5874 marks the import as failed5875 when the job is still in Sidekiq5876 does not mark the import as failed5877 with failed jira import5878 detects no stuck jobs5879Gitlab::GithubImport::Importer::MilestonesImporter5880 #execute5881 imports the milestones in bulk5882 #build_milestones5883 returns an Array containing milestone rows5884 does not build milestones that already exist5885 does not build milestones that are invalid5886 #build_milestones_cache5887 builds the milestones cache5888 #build_attributes5889 returns the attributes of the milestone as a Hash5890 the returned Hash5891 includes the milestone number5892 includes the milestone title5893 includes the milestone description5894 includes the project ID5895 includes the milestone state5896 includes the due date5897 responds correctly to no due date value5898 includes the created timestamp5899 includes the updated timestamp5900 #each_milestone5901 returns the milestones5902DependencyProxy::Manifest5903 behaves like ttl_expirable5904 behaves like having unique enum values5905 has unique values in "status"5906 default values5907 is expected to within one second of 2023-08-10 12:44:20 UTC5908 is expected to within one second of 2023-08-09 12:44:20 UTC5909 validations5910 is expected to validate that :status cannot be empty/falsy5911 .read_before5912 returns items with created at older than the supplied number of days5913 .active5914 returns only active items5915 #read!5916 updates read_at5917 behaves like destructible5918 .next_pending_destruction5919 returns the oldest item pending destruction based on updated_at5920 returns the oldest item pending destruction based on created_at5921 behaves like updates namespace statistics5922 when creating5923 schedules a statistic refresh5924 when updating5925 when the statistic attribute has not changed5926 does not schedule a statistic refresh5927 when the statistic attribute has changed5928 schedules a statistic refresh5929 when deleting5930 schedules a statistic refresh5931 relationships5932 is expected to belong to group required: false5933 validations5934 is expected to validate that :group cannot be empty/falsy5935 is expected to validate that :file cannot be empty/falsy5936 is expected to validate that :file_name cannot be empty/falsy5937 is expected to validate that :digest cannot be empty/falsy5938 scopes5939 order_id_desc5940 file is being stored5941 when existing object has local store5942 behaves like mounted file in local store5943 is stored locally5944 when direct upload is enabled5945 behaves like mounted file in object store5946 is stored remotely5947 .find_by_file_name_or_digest5948 no manifest exists5949 is expected to be nil5950 manifest exists and matches file_name5951 is expected to eq #<DependencyProxy::Manifest id: 18, created_at: "2023-08-10 12:44:22.680093218 +0000", updated_at: "2...RED], status: "default", read_at: "2023-08-10 12:44:22.680354738 +0000", verification_checksum: nil>5952 manifest exists and matches digest5953 is expected to eq #<DependencyProxy::Manifest id: 19, created_at: "2023-08-10 12:44:22.788933130 +0000", updated_at: "2...RED], status: "default", read_at: "2023-08-10 12:44:22.789155010 +0000", verification_checksum: nil>5954Ci::Artifactable5955 artifact properties are included5956 when enum is defined5957 is expected to define :file_format as an enum backed by an integer with values ‹{raw: 1, zip: 2, gzip: 3}›, suffix: true5958 when const is defined5959 is expected to be const defined :FILE_FORMAT_ADAPTERS5960 #each_blob5961 when file format is gzip5962 when gzip file contains one file5963 iterates blob once5964 when gzip file contains three files5965 iterates blob three times5966 when decompressed artifact size validator fails5967 fails on blob5968 when file format is raw5969 iterates blob once5970 when there are no adapters for the file format5971 raises an error5972 pushes artifact_size to application context5973 logs artifact size5974 ActiveRecord scopes5975 .expired_before5976 returns expired artifacts5977 .expired5978 returns all expired artifacts5979 .with_files_stored_locally5980 returns artifacts stored locally5981 .with_files_stored_remotely5982 returns artifacts stored remotely5983 .project_id_in5984 when artifacts belongs to projects5985 returns artifacts belonging to projects5986Gitlab::Ci::Matching::RunnerMatcher5987 .new5988 when attributes are missing5989 is expected to raise KeyError5990 with attributes5991 is expected to eq [1]5992 is expected to eq "instance_type"5993 is expected to eq 05994 is expected to eq 15995 is expected to eq false5996 is expected to eq "ref_protected"5997 is expected to eq ["tag1", "tag2"]5998 #instance_type?5999 is expected to be truthy6000 context with private runners6001 is expected to be falsey6002 #matches?6003 with an instance of BuildMatcher6004 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true6005 is expected to eq true6006 ref_protected: true, build_protected: false, run_untagged: true, runner_tags: [], build_tags: [], result: false6007 is expected to eq false6008 ref_protected: false, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true6009 is expected to eq true6010 ref_protected: false, build_protected: false, run_untagged: true, runner_tags: [], build_tags: [], result: true6011 is expected to eq true6012 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true6013 is expected to eq true6014 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: ["a"], result: false6015 is expected to eq false6016 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a", "b"], build_tags: ["a"], result: true6017 is expected to eq true6018 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a"], build_tags: ["a", "b"], result: false6019 is expected to eq false6020 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a"], build_tags: ["a"], result: true6021 is expected to eq true6022 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["a"], build_tags: ["a"], result: true6023 is expected to eq true6024 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["b"], build_tags: ["a"], result: false6025 is expected to eq false6026 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["a", "b"], build_tags: ["a"], result: true6027 is expected to eq true6028 with an instance of Ci::Build6029 raises ArgumentError6030Gitlab::Ci::Config::Entry::Reports::CoverageReport6031 validations6032 when it is valid6033 is expected to be valid6034 is expected to eq {:coverage_format=>"cobertura", :path=>"cobertura-coverage.xml"}6035 when it is not a hash6036 config: "string"6037 is expected not to be valid6038 is expected to include /should be a hash/6039 config: true6040 is expected not to be valid6041 is expected to include /should be a hash/6042 config: []6043 is expected not to be valid6044 is expected to include /should be a hash/6045 with unsupported coverage format6046 is expected not to be valid6047 is expected to include /format must be one of supported formats/6048 without coverage format6049 is expected not to be valid6050 is expected to include /format can't be blank/6051 without path6052 is expected not to be valid6053 is expected to include /path can't be blank/6054 with invalid path6055 is expected not to be valid6056 is expected to include /path should be a string/6057 with unknown keys6058 is expected not to be valid6059 is expected to include /contains unknown keys/6060RuboCop::Cop::Migration::SaferBooleanColumn6061 # order random6062 in migration6063 registers no offense for tables not listed in SMALL_TABLES6064 registers no offense for non-boolean columns6065 for the application_settings table6066 given the source "add_column :application_settings, :column, :boolean, default: true"6067 registers the offense matching "should disallow nulls"6068 given the source "add_column :application_settings, :column, :boolean, default: false"6069 registers the offense matching "should disallow nulls"6070 given the source "add_column :application_settings, :column, :boolean, default: nil"6071 registers the offense matching "should have a default and should disallow nulls"6072 given the source "add_column :application_settings, :column, :boolean, null: false"6073 registers the offense matching "should have a default"6074 given the source "add_column :application_settings, :column, :boolean, null: true"6075 registers the offense matching "should have a default and should disallow nulls"6076 given the source "add_column :application_settings, :column, :boolean"6077 registers the offense matching "should have a default and should disallow nulls"6078 given the source "add_column :application_settings, :column, :boolean, default: nil, null: false"6079 registers the offense matching "should have a default"6080 given the source "add_column :application_settings, :column, :boolean, default: nil, null: true"6081 registers the offense matching "should have a default and should disallow nulls"6082 given the source "add_column :application_settings, :column, :boolean, default: false, null: true"6083 registers the offense matching "should disallow nulls"6084 given the source "add_column :application_settings, :column, :boolean, default: true, null: false"6085 registers no offense6086 given the source "add_column :application_settings, :column, :boolean, default: false, null: false"6087 registers no offense6088 for the plan_limits table6089 given the source "add_column :plan_limits, :column, :boolean, default: true"6090 registers the offense matching "should disallow nulls"6091 given the source "add_column :plan_limits, :column, :boolean, default: false"6092 registers the offense matching "should disallow nulls"6093 given the source "add_column :plan_limits, :column, :boolean, default: nil"6094 registers the offense matching "should have a default and should disallow nulls"6095 given the source "add_column :plan_limits, :column, :boolean, null: false"6096 registers the offense matching "should have a default"6097 given the source "add_column :plan_limits, :column, :boolean, null: true"6098 registers the offense matching "should have a default and should disallow nulls"6099 given the source "add_column :plan_limits, :column, :boolean"6100 registers the offense matching "should have a default and should disallow nulls"6101 given the source "add_column :plan_limits, :column, :boolean, default: nil, null: false"6102 registers the offense matching "should have a default"6103 given the source "add_column :plan_limits, :column, :boolean, default: nil, null: true"6104 registers the offense matching "should have a default and should disallow nulls"6105 given the source "add_column :plan_limits, :column, :boolean, default: false, null: true"6106 registers the offense matching "should disallow nulls"6107 given the source "add_column :plan_limits, :column, :boolean, default: true, null: false"6108 registers no offense6109 given the source "add_column :plan_limits, :column, :boolean, default: false, null: false"6110 registers no offense6111 outside of migration6112 registers no offense6113Mutations::Timelogs::Delete6114 #resolve6115 when the timelog id is not valid6116 raises Gitlab::Graphql::Errors::ResourceNotAvailable6117 when the current user is not the timelog's author, not a maintainer and not an admin6118 raises Gitlab::Graphql::Errors::ResourceNotAvailable6119 when the current user is the timelog's author6120 deletes the timelog6121 returns the deleted timelog6122 returns no errors6123 when the current user is not the timelog's author but a maintainer of the project6124 deletes the timelog6125 returns the deleted timelog6126 returns no errors6127 when the current user is not the timelog's author, not a maintainer but an admin6128 deletes the timelog6129 returns the deleted timelog6130 returns no errors6131Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestFirstDeployedToProduction6132 behaves like value stream analytics event6133 is expected to be a kind of String6134 is expected to be a kind of Symbol6135 is expected to include ApplicationRecord(abstract)6136 is expected to respond to #timestamp_projection6137 is expected to respond to #html_description6138 is expected to be a kind of Array6139 #apply_query_customization6140 expects an ActiveRecord::Relation object as argument and returns a modified version of it6141 #hash_code6142 returns a hash that uniquely identifies an event6143 does not differ when the same object is built with the same params6144 behaves like LEFT JOIN-able value stream analytics event6145 can use the event as LEFT JOIN6146 when looking at the record with data6147 contains the timestamp expression6148 when looking at the record without data6149 returns nil for the timestamp expression6150Sbom::PurlType::Converter6151 # order random6152 .purl_type_for_pkg_manager6153 given_package_manager: "bundler", expected_purl_type: "gem"6154 returns the expected purl_type6155 given_package_manager: "yarn", expected_purl_type: "npm"6156 returns the expected purl_type6157 given_package_manager: "npm", expected_purl_type: "npm"6158 returns the expected purl_type6159 given_package_manager: "pnpm", expected_purl_type: "npm"6160 returns the expected purl_type6161 given_package_manager: "maven", expected_purl_type: "maven"6162 returns the expected purl_type6163 given_package_manager: "sbt", expected_purl_type: "maven"6164 returns the expected purl_type6165 given_package_manager: "gradle", expected_purl_type: "maven"6166 returns the expected purl_type6167 given_package_manager: "composer", expected_purl_type: "composer"6168 returns the expected purl_type6169 given_package_manager: "conan", expected_purl_type: "conan"6170 returns the expected purl_type6171 given_package_manager: "go", expected_purl_type: "golang"6172 returns the expected purl_type6173 given_package_manager: "nuget", expected_purl_type: "nuget"6174 returns the expected purl_type6175 given_package_manager: "pip", expected_purl_type: "pypi"6176 returns the expected purl_type6177 given_package_manager: "pipenv", expected_purl_type: "pypi"6178 returns the expected purl_type6179 given_package_manager: "setuptools", expected_purl_type: "pypi"6180 returns the expected purl_type6181 given_package_manager: "Python (python-pkg)", expected_purl_type: "pypi"6182 returns the expected purl_type6183 given_package_manager: "analyzer (gobinary)", expected_purl_type: "golang"6184 returns the expected purl_type6185 given_package_manager: "unknown-pkg-manager", expected_purl_type: nil6186 returns the expected purl_type6187 given_package_manager: "Python (unknown)", expected_purl_type: nil6188 returns the expected purl_type6189Gitlab::Ci::Pipeline::Chain::Limit::RateLimit6190 when the limit is exceeded6191 does not persist the pipeline6192 breaks the chain6193 creates a log entry6194 with child pipelines6195 does not break the chain6196 does not invalidate the pipeline6197 does not log anything6198 when saving incompleted pipelines6199 does not persist the pipeline6200 breaks the chain6201 when ci_enforce_throttle_pipelines_creation is disabled6202 does not break the chain6203 does not invalidate the pipeline6204 creates a log entry6205 when ci_enforce_throttle_pipelines_creation_override is enabled6206 does not break the chain6207 does not invalidate the pipeline6208 creates a log entry6209 when the limit is not exceeded6210 does not break the chain6211 does not invalidate the pipeline6212 does not log anything6213Users::MergeRequestInteraction6214 declarative policy delegation6215 delegates to the merge request6216 #can_merge?6217 when the user cannot merge6218 is expected not to be can merge6219 when the user can merge6220 is expected to be can merge6221 #can_update?6222 when the user cannot update the MR6223 is expected not to be can update6224 when the user can update the MR6225 is expected to be can update6226 #review_state6227 when the user has not been asked to review the MR6228 is expected to be nil6229 implies not reviewed6230 when the user has been asked to review the MR6231 implies not reviewed6232 when the user has provided a review6233 is expected to eq "reviewed"6234 implies reviewed6235 #approved?6236 when the user has not approved the MR6237 is expected not to be approved6238 when the user has approved the MR6239 is expected to be approved6240Groups::AcceptingGroupTransfersFinder6241 # order random6242 #execute6243 when the user does not have the rights to transfer the group6244 returns empty result6245 when the user has the rights to transfer the group6246 does not return empty result6247 excludes the descendants of the group to be transferred6248 excludes the immediate parent of the group to be transferred6249 excludes the groups where the user does not have OWNER access6250 excludes the groups arising from group shares where the user does not have OWNER access6251 includes ancestors, except immediate parent of the group to be transferred6252 includes the other groups where the user has OWNER access6253 includes the other groups where the user has OWNER access through inherited membership6254 includes the groups where the user has OWNER access through group shares6255 on searching with a specific term6256 includes only the groups where the term matches the group name or path6257Gitlab::Database::PartitioningMigrationHelpers::IndexHelpers6258 #add_concurrent_partitioned_index6259 when the index does not exist on the parent table6260 creates the index on each partition, and the parent table6261 when the index exists on the parent table6262 does not attempt to create any indexes6263 when additional index options are given6264 forwards them to the index helper methods6265 when a name argument for the index is not given6266 raises an error6267 when the given table is not a partitioned table6268 raises an error6269 when run inside a transaction block6270 raises an error6271 #remove_concurrent_partitioned_index_by_name6272 when the index exists6273 drops the index on the parent table, cascading to all partitions6274 when the index does not exist6275 does not attempt to drop the index6276 when the given table is not a partitioned table6277 raises an error6278 when run inside a transaction block6279 raises an error6280 #find_duplicate_indexes6281 when duplicate and non-duplicate indexes exist6282 finds the duplicate index6283 #indexes_by_definition_for_table6284 when a partitioned table has indexes6285 captures partitioned index names by index definition6286 when a non-partitioned table has indexes6287 captures index names by index definition6288 when a non-partitioned table has duplicate indexes6289 raises an error6290 #rename_indexes_for_table6291 when changing a table within the current schema6292 maps index names after they are changed6293 does not rename an index which does not exist in the to_hash6294 when partitioning an existing table6295 renames indexes across schemas6296Tooling::Danger::DatabaseDictionary6297 # order random6298 #database_dictionary_files6299 retrieves added database dictionary files6300 with added added database dictionary files6301 returns an array of Found objects6302 without added added database dictionary files6303 returns an array of Found objects6304 retrieves modified database dictionary files6305 with modified modified database dictionary files6306 returns an array of Found objects6307 without modified modified database dictionary files6308 returns an array of Found objects6309 retrieves deleted database dictionary files6310 with deleted deleted database dictionary files6311 returns an array of Found objects6312 without deleted deleted database dictionary files6313 returns an array of Found objects6314 Tooling::Danger::DatabaseDictionary::Found6315 #table_name6316 returns value from the YAML6317 #classes6318 returns value from the YAML6319 #feature_categories6320 returns value from the YAML6321 #description6322 returns value from the YAML6323 #introduced_by_url6324 returns value from the YAML6325 #milestone6326 returns value from the YAML6327 #gitlab_schema6328 returns value from the YAML6329 #raw6330 returns the raw YAML6331 #ci_schema?6332 is expected to be truthy6333 with main schema6334 is expected to be falsey6335 #main_schema?6336 is expected to be falsey6337 with main schema6338 is expected to be truthy6339Clusters::Agents::Authorizations::CiAccess::ConfigScopes6340 # order random6341 .with_available_ci_access_fields6342 is expected to contain exactly #<Clusters::Agents::Authorizations::CiAccess::ProjectAuthorization id: 1, project_id: 629, agent_id: 2, config: {"default_namespace"=>"production"}>, #<Clusters::Agents::Authorizations::CiAccess::ProjectAuthorization id: 2, project_id: 629, agent_id: 3, config: {"access_as"=>{}}>, and #<Clusters::Agents::Authorizations::CiAccess::ProjectAuthorization id: 3, project_id: 629, agent_id: 4, config: {"access_as"=>{"agent"=>{}}}>6343Ci::CreatePipelineService6344 creation errors and warnings6345 when created successfully6346 when warnings are raised6347 contains only warnings6348 when no warnings are raised6349 contains no warnings6350 when failed to create the pipeline6351 when errors are raised and masked variables are involved6352 contains errors and masks variables6353 when warnings are raised6354 contains both errors and warnings6355 when no warnings are raised6356 contains only errors6357Tooling::FindCodeowners6358 #execute6359 prints CODEOWNERS as configured6360 #load_definitions6361 expands the allow and deny list with keywords and patterns6362 expands the patterns for the auth group6363 retains the array and expands the patterns for the compliance group6364 #load_config6365 loads the config with symbolized keys6366 when YAML has safe_load_file6367 calls safe_load_file6368 when YAML does not have safe_load_file6369 calls load_file6370 #path_matches?6371 passes flags we are expecting to File.fnmatch?6372 #normalize_pattern6373 returns /**/* if the input is *6374 prepends /** if the input does not start with /6375 returns the pattern if the input starts with /6376 appends **/* if the input ends with /6377 #consolidate_paths6378 when the directory has the same number of entries6379 consolidates into the directory6380 when the directory has different number of entries6381 returns the original paths6382#<GitlabSettings::Settings:0x00007be41d747908>6383 #ldap6384 can be accessed with dot syntax all the way down6385 can be accessed in a very specific way that breaks without reassigning each element6386 #host_without_www6387 URL with protocol6388 returns the host6389 URL without protocol6390 returns the host6391 URL with user/port6392 returns the host6393 #weak_passwords_digest_set6394 is a Set6395 contains 4500 password digests6396 includes 8 char weak password digest6397 includes 16 char weak password digest6398 includes long char weak password digest6399 does not include 7 char weak password digest6400 does not include plaintext6401Keys::ExpiryNotificationService6402 with key expiring today6403 when user has permission to receive notification6404 updates notified column6405 behaves like sends a notification6406 is expected to eq 16407 behaves like uses notification service to send email to the user6408 is expected to receive ssh_key_expired(#<User id:1880 @user771>, ["18:d4:e2:8b:34:5a:1c:54:b0:72:c9:30:e3:bd:0f:4d"]) 1 time6409 when user does NOT have permission to receive notification6410 does not update notified column6411 behaves like does not send notification6412 is expected to eq 06413 with key expiring soon6414 when user has permission to receive notification6415 updates notified column6416 behaves like sends a notification6417 is expected to eq 16418 behaves like uses notification service to send email to the user6419 is expected to receive ssh_key_expiring_soon(#<User id:1880 @user771>, ["ac:6f:aa:f9:04:3b:df:e9:2c:65:3b:80:5c:8b:9d:84"]) 1 time6420 when user does NOT have permission to receive notification6421 does not update notified column6422 behaves like does not send notification6423 is expected to eq 06424Gitlab::Git::CrossRepo6425 # order random6426 #execute6427 when executed within a single repository6428 does not fetch from another repo6429 when executed across two repositories6430 and target ref exists in source repo6431 does not fetch from another repo6432 and target ref does not exist in source repo6433 fetches from the target to a temporary ref6434 and target ref does not exist in target repo6435 returns nil6436Banzai::Filter::InlineObservabilityFilter6437 # order random6438 #filter?6439 when the document contains a valid observability link6440 leaves the original link unchanged6441 appends an observability charts placeholder6442 with duplicate URLs6443 embeddable_url: "not-nil"6444 calls Gitlab::Observability.embeddable_url only once6445 embeddable_url: nil6446 calls Gitlab::Observability.embeddable_url only once6447 when the embeddable url is nil6448 behaves like does not embed observabilty6449 leaves the original link unchanged6450 does not append an observability charts placeholder6451 when the document has an unrecognised link6452 does not build the embeddable url6453 behaves like does not embed observabilty6454 leaves the original link unchanged6455 does not append an observability charts placeholder6456 when feature flag is disabled6457 does not build the embeddable url6458 behaves like does not embed observabilty6459 leaves the original link unchanged6460 does not append an observability charts placeholder6461Gitlab::Memory::Watchdog6462 watchdog6463 #initialize6464 initialize new configuration6465 #call6466 reports started event once6467 waits for check interval seconds6468 when no monitors are configured6469 reports stopped event once with correct reason6470 when monitors are configured6471 reports stopped event once6472 when process does not exceed threshold6473 does not report violations event6474 does not execute handler6475 when process exceeds threshold6476 reports threshold violated event6477 when process does not exceed the allowed number of strikes6478 does not report strikes exceeded event6479 does not execute handler6480 when monitor exceeds the allowed number of strikes6481 reports strikes exceeded event6482 executes handler and stops the watchdog6483 schedules a heap dump6484 when enforce_memory_watchdog ops toggle is off6485 always uses the NullHandler6486 when multiple monitors exceeds allowed number of strikes6487 only calls the handler once6488 #configure6489 yields block6490Sidebars::UserProfile::Menus::ActivityMenu6491 # order random6492 behaves like User profile menu6493 does not contain any sub menu6494 renders the correct link6495 renders the correct title6496 renders the correct icon6497 defines correct active route6498 renders if user is logged in6499 when viewed user is blocked6500 when user is not logged in6501 is not allowed to view the menu item6502 when current user has permission6503 is allowed to view the menu item6504 when current user does not have permission6505 is not allowed to view the menu item6506 when viewed user is banned6507 when user is not logged in6508 is not allowed to view the menu item6509 when current user has permission6510 is allowed to view the menu item6511 when current user does not have permission6512 is not allowed to view the menu item6513ReactiveCachingWorker6514 behaves like reactive cacheable worker6515 #perform6516 when reactive cache worker class is found6517 calls #exclusively_update_reactive_cache!6518 when ReactiveCaching::ExceededReactiveCacheLimit is raised6519 avoids failing the job and tracks via Gitlab::ErrorTracking6520 when reactive cache worker class is not found6521 raises no error6522 when reactive cache worker class is invalid6523 raises no error6524 worker context6525 sets the related class on the job6526 sets the related class on the job when it was passed as a class6527GenerateMessageToRunE2ePipeline6528 # order random6529 #existing_note6530 when note exists6531 returns the existing note6532 when note doesnt exists6533 returns nil6534 #env6535 returns env var when not empty6536 returns nil when env var is empty6537 #execute6538 when there are qa_test_folders6539 when there is no existing note6540 adds a new note6541 when there is existing note6542 does not add a new note6543 when there are no qa_test_folders6544 does not add a new note6545 #qa_tests_folders?6546 when QA_TESTS is empty6547 returns false6548 when QA_TESTS has a spec file6549 returns false6550 when QA_TESTS has folders6551 returns true6552 #content6553 returns content text with author username6554 #match?6555 returns true for a note that matches NOTE_PATTERN6556 returns false for a note that does not match NOTE_PATTERN6557 #author_username6558 returns nil6559Gitlab::FileMarkdownLinkBuilder6560 markdown_link6561 when file name has the character ]6562 escapes the character6563 when file is an image6564 returns preview markdown link6565 when file is video6566 returns preview markdown link6567 when file is audio6568 returns preview markdown link6569 when file is not embeddable6570 returns markdown link6571 when file name is blank6572 returns nil6573 mardown_name6574 when file is an image6575 retrieves the name without the extension6576 when file is video6577 retrieves the name without the extension6578 when file is audio6579 retrieves the name without the extension6580 when file is not embeddable6581 retrieves the name with the extesion6582 when file name is blank6583 returns nil6584Ci::ExternalPullRequests::CreatePipelineWorker6585 #perform6586 creates the pipeline6587 when the project not found6588 behaves like not calling service6589 does not call the service6590 when the user not found6591 behaves like not calling service6592 does not call the service6593 when the pull request not found6594 behaves like not calling service6595 does not call the service6596 when the pull request does not belong to the project6597 behaves like not calling service6598 does not call the service6599Packages::Rpm::RepositoryFile6600 # order random6601 .has_oversized_filelists?6602 when has oversized filelists6603 is expected to equal true6604 when filelists.xml is not oversized6605 is expected to be falsey6606 when there is no filelists.xml6607 is expected to be falsey6608 with status scopes6609 .with_status6610 is expected to contain exactly #<Packages::Rpm::RepositoryFile id: 3, created_at: "2023-08-10 12:45:03.544468823 +0000", updated_at:...d0b3306c4fd0696dcad506f5273...", file_name: "364c77dd49e8f814d56e621d0b3306c4fd0696dcad506f5273...">6611 relationships6612 is expected to belong to project required: false6613 validations6614 is expected to validate that :project cannot be empty/falsy6615 when updating project statistics6616 when the package file has an explicit size6617 behaves like UpdateProjectStatistics6618 is expected to be a new record6619 when the package file does not have a size6620 behaves like UpdateProjectStatistics6621 is expected to be a new record6622 behaves like having unique enum values6623 has unique values in "status"6624Subscription6625 relationships6626 is expected to belong to project required: false6627 is expected to belong to subscribable required: false6628 is expected to belong to user required: false6629 validations6630 is expected to validate that :subscribable cannot be empty/falsy6631 is expected to validate that :user cannot be empty/falsy6632 validates uniqueness of project_id scoped to subscribable_id, subscribable_type, and user_id6633Gitlab::GithubImport::Importer::Attachments::NotesImporter6634 # order random6635 #id_for_already_imported_cache6636 is expected to eq 11236637 #object_type6638 is expected to eq :note_attachment6639 #collection_method6640 is expected to eq :note_attachments6641 #sidekiq_worker_class6642 is expected to eq Gitlab::GithubImport::Attachments::ImportNoteWorker6643 #sequential_import6644 imports each project user note6645 when note is already processed6646 doesn't import this note6647Banzai::ReferenceParser::FeatureFlagParser6648 #nodes_visible_to_user6649 when the link has a data-issue attribute6650 behaves like referenced feature visibility6651 when feature is disabled6652 does not create reference6653 when feature is enabled only for team members6654 does not create reference for non member6655 creates reference for member6656 when feature is enabled6657 creates reference6658 #referenced_by6659 when the link has a data-feature-flag attribute6660 using an existing feature flag ID6661 returns an Array of feature flags6662 using a non-existing feature flag ID6663 returns an empty Array6664Gitlab::InactiveProjectsDeletionWarningTracker6665 .notified_projects6666 returns the list of projects for which deletion warning email has been sent6667 .reset_all6668 deletes all the projects for which deletion warning email was sent6669 #notified?6670 returns true if the project has already been notified6671 returns false if the project has not been notified6672 #mark_notified6673 marks the project as being notified6674 #notification_date6675 returns the date if a deletion warning email has been sent for a given project6676 returns nil if a deletion warning email has not been sent for a given project6677 #scheduled_deletion_date6678 without a stored deletion email date6679 behaves like returns the expected deletion date6680 is expected to eq "2023-09-10"6681 with a stored deletion email date6682 behaves like returns the expected deletion date6683 is expected to eq "2023-09-10"6684 #reset6685 resets the project as not being notified6686RebaseWorker#perform6687 when rebasing an MR from a fork where upstream has protected branches6688 sets the correct project for running hooks6689AlertManagement::MetricImage6690 associations6691 is expected to belong to alert required: false6692 validations6693 is expected to be valid6694 is expected to validate that :file cannot be empty/falsy6695 is expected to validate that the length of :url is at most 2556696 is expected to validate that the length of :url_text is at most 1286697Projects::OpenMergeRequestsCountService6698 behaves like a counter caching service6699 #count6700 caches the count6701 #refresh_cache6702 refreshes the cache6703 #delete_cache6704 removes the cache6705 #uncached_count6706 does not cache the count6707 #count6708 returns the number of open merge requests6709DependencyProxy::RequestTokenService6710 remote request is successful6711 is expected to eq :success6712 is expected to eq "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3"6713 remote request is not found6714 is expected to eq :error6715 is expected to eq 4046716 is expected to eq "Expected 200 response code for an access token"6717 failed to parse response body6718 is expected to eq :error6719 is expected to eq 5006720 is expected to eq "Failed to parse a response body for an access token"6721 net timeout exception6722 is expected to eq :error6723 is expected to eq 5996724 is expected to eq "execution expired"6725Mutations::Environments::Update6726 # order random6727 #resolve6728 when service execution succeeded6729 returns no errors6730 updates the environment6731 when service cannot update the attribute6732 returns an error6733 when setting cluster agent ID to the environment6734 sets the cluster agent to the environment6735 when unsetting cluster agent ID to the environment6736 removes the cluster agent from the environment6737 when the cluster agent is not updated6738 does not change the environment cluster agent6739 when user is reporter who does not have permission to access the environment6740 raises an error6741Gitlab::InternalPostReceive::Response6742 #add_merge_request_urls6743 when there are urls_data6744 adds a message for each merge request URL6745 #add_merge_request_url6746 when :new_merge_request is false6747 adds a basic message to view the existing merge request6748 when :new_merge_request is true6749 adds a basic message to create a new merge request6750 #add_basic_message6751 when text is present6752 adds a basic message6753 when text is blank6754 does not add a message6755 #add_alert_message6756 when text is present6757 adds an alert message6758 when text is blank6759 does not add a message6760 #reference_counter_decreased6761 initially6762 reference_counter_decreased is set to false6763 #reference_counter_decreased=6764 when the argument is truthy6765 reference_counter_decreased is truthy6766 when the argument is falsey6767 reference_counter_decreased is falsey6768gitlab:update_project_templates rake task6769 updates valid project templates6770Gitlab::UsageMetricGenerator6771 Creating metric instrumentation files6772 creates CE metric instrumentation files using the template6773 with EE flag true6774 creates EE metric instrumentation files using the template6775 for database type6776 creates the metric instrumentation file using the template6777 for numbers type6778 creates the metric instrumentation file using the template6779 with type option missing6780 raises an ArgumentError6781 with type option value not included in approved superclasses6782 raises an ArgumentError6783 without operation for database metric6784 raises an ArgumentError6785 with wrong operation for database metric6786 raises an ArgumentError6787 without operation for numbers metric6788 raises an ArgumentError6789 with wrong operation for numbers metric6790 raises an ArgumentError6791Gitlab::Pages6792 .verify_api_request6793 returns false if fails to validate the JWT6794 returns the decoded JWT6795 .access_control_is_forced?6796 access_control_is_enabled: false, access_control_is_forced: false, result: false6797 is expected to eq false6798 access_control_is_enabled: false, access_control_is_forced: true, result: false6799 is expected to eq false6800 access_control_is_enabled: true, access_control_is_forced: false, result: false6801 is expected to eq false6802 access_control_is_enabled: true, access_control_is_forced: true, result: true6803 is expected to eq true6804Mutations::Issues::SetSubscription6805 is expected to require graphql authorizations :update_subscription6806 when user does not have access to the project6807 behaves like a subscribeable not accessible graphql resource6808 raises an error if the resource is not accessible to the user6809 when user is developer member of the project6810 behaves like a subscribeable graphql resource6811 subscribes to the resource6812 when passing subscribe as false6813 unsubscribes from the discussion6814 when the project is public6815 behaves like a subscribeable graphql resource6816 subscribes to the resource6817 when passing subscribe as false6818 unsubscribes from the discussion6819 when the project is public but the issue is confidential6820 behaves like a subscribeable not accessible graphql resource6821 raises an error if the resource is not accessible to the user6822ServiceDesk::CustomEmails::DestroyService6823 # order random6824 #execute6825 when feature flag service_desk_custom_email is disabled6826 behaves like a service that exits with error6827 exits early6828 with illegitimate user6829 behaves like a service that exits with error6830 exits early6831 with legitimate user6832 behaves like a service that exits with error6833 exits early6834 when service desk setting exists6835 behaves like a successful service that destroys all custom email records6836 ensures no custom email records exist6837 when custom email is present6838 behaves like a successful service that destroys all custom email records6839 ensures no custom email records exist6840 when credential exists6841 behaves like a successful service that destroys all custom email records6842 ensures no custom email records exist6843 when verification exists6844 behaves like a successful service that destroys all custom email records6845 ensures no custom email records exist6846Integrations::Assembla6847 behaves like Integrations::ResetSecretFields6848 #exposing_secrets_fields6849 returns an array of strings6850 #reset_secret_fields?6851 returns false if no exposing field has changed6852 returns true if any exposing field has changed6853 validation callback6854 when an exposing field has changed6855 clears all secret fields6856 when a secret field has been updated6857 does not clear this secret field6858 when a secret field has been updated with the same value6859 does not clear this secret field6860 when no exposing field has changed6861 does not clear any secret fields6862 Validations6863 when active6864 is expected to validate that :token cannot be empty/falsy6865 when inactive6866 is expected not to validate that :token cannot be empty/falsy6867 #execute6868 calls Assembla API6869Packages::CreateDependencyService6870 #execute6871 when packages are published6872 creates dependencies and links6873 with repeated packages6874 creates dependencies and links6875 with dependencies bulk insert conflicts6876 creates dependences and links6877 with existing dependencies6878 reuses them6879 with a dependency not described with a hash6880 creates dependencies and links6881license metadata tags6882 # order random6883 applies the without_license metadata tag by default6884 does not have a current license6885 does not apply the with_license metadata tag by default6886 with without_license tag6887 does not have a current license6888 with with_license tag6889 has a current license6890BitbucketServer::Representation::Comment6891 #id6892 is expected to eq 96893 #author_username6894 returns username6895 when username is absent6896 returns slug6897 when slug and username are absent6898 returns displayName6899 #author_email6900 is expected to eq "test.user@example.com"6901 #note6902 is expected to eq "is this a new line?"6903 #created_at6904 is expected to be a kind of Time6905 #updated_at6906 is expected to be a kind of Time6907 #comments6908 is expected to eq 46909 is expected to all be a kind of BitbucketServer::Representation::Comment6910 is expected to contain exactly "Hello world", "Ok", "hello", and "hi"6911 comments have the right parent6912Gitlab::Ci::Build::Credentials::Registry::DependencyProxy6913 contains valid dependency proxy credentials6914 .valid?6915 when dependency proxy is enabled6916 is expected to be truthy6917 when dependency proxy is disabled6918 is expected to be falsey6919Gitlab::Database::Migrations::Observers::TransactionDuration6920 records real and sub transactions duration6921 when there are sub-transactions6922 records transaction duration6923 when there are real-transactions6924 records transaction duration6925Gitlab::QuickActions::UsersExtractor6926 when the text is nil6927 returns an empty array6928 when the text is blank6929 returns an empty array6930 when there are users to be found6931 when using usernames6932 finds the users6933 when there are too many users6934 complains6935 when using references6936 finds the users6937 when using a mixture of usernames and references6938 finds the users6939 when one or more users cannot be found6940 reports an error6941 when trying to find group members6942 reports an error6943Gitlab::HookData::KeyBuilder6944 #build6945 for keys that belong to a user6946 data6947 on create6948 is expected to eq "key_create"6949 is expected to eq "user807"6950 behaves like includes the required attributes6951 includes the required attributes6952 on destroy6953 is expected to eq "key_destroy"6954 is expected to eq "user807"6955 behaves like includes the required attributes6956 includes the required attributes6957 for keys that do not belong to a user6958 data6959 on create6960 is expected to eq "key_create"6961 behaves like includes the required attributes6962 includes the required attributes6963 on destroy6964 is expected to eq "key_destroy"6965 behaves like includes the required attributes6966 includes the required attributes6967Gitlab::HookData::MergeRequestBuilder6968 .safe_hook_attributes6969 includes safe attribute6970 #build6971 includes safe attributes6972 includes additional attrs6973 source key6974 contains project data6975 target key6976 contains project data6977 when the MR has an image in the description6978 sets the image to use an absolute URL6979ResourceEvents::MergeIntoNotesService6980 #execute6981 merges label events into notes in order of created_at6982 squashes events with same time and author into single note6983 fetches only notes created after last_fetched_at6984 preloads the note author's status6985BulkUpdateIntegrationService6986 works with batch as an ActiveRecord::Relation6987 works with batch as an array of ActiveRecord objects6988 with inherited integration6989 updates the integration6990 does not change the created_at timestamp6991 sets the updated_at timestamp to the current time6992 with integration with data fields6993 updates the data fields from the integration6994 does not change the created_at timestamp6995 sets the updated_at timestamp to the current time6996 with different foreign key of data_fields6997 works with batch as an array of ActiveRecord objects6998Banzai::Filter::TableOfContentsTagFilter6999 table of contents7000 [[_TOC_]] as tag7001 behaves like table of contents tag7002 replaces toc tag with ToC result7003 handles an empty ToC result7004 [[_toc_]] as tag7005 behaves like table of contents tag7006 replaces toc tag with ToC result7007 handles an empty ToC result7008 [TOC] as tag7009 behaves like table of contents tag7010 replaces toc tag with ToC result7011 handles an empty ToC result7012 [toc] as tag7013 behaves like table of contents tag7014 replaces toc tag with ToC result7015 handles an empty ToC result7016Resolvers::Crm::ContactsResolver7017 #resolve7018 with unauthorized user7019 does not rise an error and returns no contacts7020 with authorized user7021 does not rise an error and returns all contacts in the correct order7022 without parent7023 returns no contacts7024 with a group parent7025 when no filter is provided7026 returns all the contacts in the default order7027 when a sort is provided7028 returns all the contacts in the correct order7029 when a sort is provided needing offset_pagination7030 returns all the contacts in the correct order7031 when filtering for all states7032 returns all the contacts in the correct order7033 when search term is provided7034 returns the correct contacts7035 when state is provided7036 returns the correct contacts7037 when ids are provided7038 returns the correct contacts7039Projects::SlackApplicationInstallService7040 # order random7041 when Slack responds with an access token7042 behaves like success response7043 returns success result and creates all needed records7044 when integration record already exists7045 behaves like success response7046 returns success result and creates all needed records7047 when installation record already exists7048 behaves like success response7049 returns success result and creates all needed records7050 when the team has other Slack installation records7051 updates related legacy records7052 behaves like success response7053 returns success result and creates all needed records7054 when Slack responds with an error7055 returns error result7056ResetProjectCacheService7057 when project cache_index is nil7058 sets project cache_index to one7059 when project cache_index is a numeric value7060 increments project cache index7061ContainerRegistry::DeleteContainerRepositoryWorker7062 # order random7063 #perform_work7064 with no work to do - no container repositories pending deletion7065 will not delete any container repository7066 with work to do7067 picks and destroys the delete scheduled container repository7068 with an error during the tags cleanup7069 does not delete the container repository7070 with an error during the destroy7071 does not delete the container repository7072 with tags left to destroy7073 does not delete the container repository7074 with no tags on the container repository7075 picks and destroys the delete scheduled container repository7076 #max_running_jobs7077 is expected to eq 27078 #remaining_work_count7079 is expected to eq 37080Sidebars::Admin::Menus::CiCdMenu7081 # order random7082 behaves like Admin menu7083 renders the correct link7084 renders the correct title7085 renders the correct icon7086 renders the separator if needed7087 #render?7088 when user is admin7089 renders7090 when user is not admin7091 does not render7092 when user is not logged in7093 does not render7094 behaves like Admin menu with sub menus7095 contains submemus7096Gitlab::CryptoHelper7097 .sha2567098 generates SHA256 digest Base46 encoded7099 .aes256_gcm_encrypt7100 is Base64 encoded string without new line character7101 encrypts using static iv7102 with provided iv7103 encrypts using provided iv7104 .aes256_gcm_decrypt7105 when token was encrypted using static nonce7106 correctly decrypts encrypted string7107 decrypts a value when it ends with a new line character7108 when token was encrypted using random nonce7109 correctly decrypts encrypted string7110projects/pipelines/show7111 when pipeline has errors7112 shows errors7113 does not render the pipeline tabs7114 renders the pipeline editor button with correct link for users who can view7115 renders the pipeline editor button with correct link for users who can not view7116 when pipeline is valid7117 does not show errors7118 renders the pipeline tabs7119Gitlab::Utils::LogLimitedArray7120 # order random7121 .log_limited_array7122 when the argument is not an array7123 returns an empty array7124 when the argument is an array7125 when the array is under the limit7126 returns the array unchanged7127 when the array exceeds the limit7128 when no sentinel value is passed7129 replaces arguments after the limit with an ellipsis string7130 when a sentinel value is passed7131 replaces arguments after the limit with the sentinel7132 when the array contains arrays and hashes7133 calculates the size based on the JSON representation7134Resolvers::Achievements::AchievementsResolver7135 # order random7136 is expected to have nullable GraphQL type AchievementConnection7137 #resolve7138 returns all achievements7139 with ids argument7140 returns the specified achievement7141 when `achievements` feature flag is diabled7142 is empty7143Projects::ScheduleBulkRepositoryShardMovesService7144 behaves like moves repository shard in bulk7145 #execute7146 schedules container repository storage moves7147 read-only repository7148 does not get scheduled7149 .enqueue7150 defers to the worker7151Resolvers::IssueStatusCountsResolver7152 #resolve7153 is expected to be a kind of Gitlab::IssuablesCountForState7154 is expected to eq #<Project id:694 group224/project-717>>7155 filters by search7156 filters by issue type7157 behaves like returns expected results7158 returns expected results7159 project used as parent7160 behaves like returns expected results7161 returns expected results7162 group used as parent7163 behaves like returns expected results7164 returns expected results7165 when both assignee_username and assignee_usernames are provided7166 returns a mutually exclusive filter error7167StorageHelper7168 #storage_counter7169 formats bytes to one decimal place7170 does not add decimals for sizes < 1 MiB7171 does not add decimals for zeroes7172 uses commas as thousands separator7173 #storage_counters_details7174 works on ProjectStatistics7175 works on Namespace.with_statistics7176X509CertificateRevokeWorker7177 #perform7178 with a revoked certificate7179 is labeled as idempotent7180 performs multiple times sequentially without raising an exception7181 executes the revoke service7182 executes the revoke service7183Banzai::Filter::KrokiFilter7184 replaces nomnoml pre tag with img tag if kroki is enabled7185 replaces nomnoml pre tag with img tag if both kroki and plantuml are enabled7186 does not replace nomnoml pre tag with img tag if kroki is disabled7187 does not replace plantuml pre tag with img tag if both kroki and plantuml are enabled7188 adds hidden attribute when content size is large7189 allows the lang attribute on the code tag to support RST files processed by gitlab-markup gem7190 verifies diagram type to avoid possible XSS7191Releases::Links::Params7192 # order random7193 #allowed_params7194 returns only allowed params7195 when deprecated filepath is used7196 uses filepath value7197 when both direct_asset_path and filepath are provided7198 uses direct_asset_path value7199X509CertificateRevokeService7200 #execute7201 for revoked certificates7202 update all commit signatures7203 for good certificates7204 do not update any commit signature7205ImportExportCleanUpService7206 #execute7207 when the import/export tmp storage directory does not exist7208 does not remove any archives7209 when the import/export tmp storage directory exists7210 removes old files and logs7211 does not remove new files or logs7212 removes old files and logs7213 does not remove new files or logs7214 with uploader exports7215 removes old files and logs7216 does not remove new files or logs7217ResolvesProject7218 can resolve projects by path7219 can resolve projects by id7220 complains when both are present7221 complains when neither is present7222Clusters::AgentTokenPolicy7223 rules7224 when reporter7225 is expected to be disallowed :admin_cluster7226 is expected to be disallowed :read_cluster7227 when developer7228 is expected to be disallowed :admin_cluster7229 is expected to be allowed :read_cluster7230 when maintainer7231 is expected to be allowed :admin_cluster7232 is expected to be allowed :read_cluster7233sidekiq.rake7234 gitlab:sidekiq:migrate_jobs:schedule rake task7235 behaves like migration rake task7236 runs the migrator with a mapping of workers to queues7237 gitlab:sidekiq:migrate_jobs:retry rake task7238 behaves like migration rake task7239 runs the migrator with a mapping of workers to queues7240 gitlab:sidekiq:migrate_jobs:queued rake task7241 runs the migrator with a mapping of workers to queues7242Types::AlertManagement::IntegrationTypeEnum7243 is expected to eq "AlertManagementIntegrationType"7244 statuses7245 name: "PROMETHEUS", value: :prometheus7246 exposes a type with the correct value7247 name: "HTTP", value: :http7248 exposes a type with the correct value7249GroupImportWorker7250 sidekiq options7251 disables retry7252 disables dead7253 #perform7254 when it succeeds7255 calls the ImportService7256 updates the existing state7257 when it fails7258 raises an exception when params are invalid7259 import state7260 sets the group import status to failed7261Sidebars::UserProfile::Menus::StarredProjectsMenu7262 # order random7263 behaves like User profile menu7264 does not contain any sub menu7265 renders the correct link7266 renders the correct title7267 renders the correct icon7268 defines correct active route7269 renders if user is logged in7270 when viewed user is blocked7271 when user is not logged in7272 is not allowed to view the menu item7273 when current user has permission7274 is allowed to view the menu item7275 when current user does not have permission7276 is not allowed to view the menu item7277 when viewed user is banned7278 when user is not logged in7279 is not allowed to view the menu item7280 when current user has permission7281 is allowed to view the menu item7282 when current user does not have permission7283 is not allowed to view the menu item7284FutureDateValidator7285 past date7286 is expected not to be valid7287 current date7288 is expected to be valid7289 future date7290 is expected to be valid7291Users::RejectService7292 #execute7293 failures7294 when the executor user is not allowed to reject users7295 returns error result7296 when the executor user is an admin in admin mode7297 when user is not in pending approval state7298 returns error result7299 success7300 when the executor user is an admin in admin mode7301 initiates user removal7302 emails the user on rejection7303 logs rejection in application logs7304 audit events7305 when not licensed7306 does not log any audit event7307Gitlab::Graphql::Loaders::BatchLfsOidLoader7308 #find7309 batch-resolves LFS blob IDs7310Projects::RefreshBuildArtifactsSizeStatisticsWorker7311 #perform_work7312 when refresh job is present7313 logs refresh information7314 when refresh job is not present7315 logs refresh information7316 #remaining_work_count7317 and there are remaining refresh jobs7318 is expected to eq 17319 and there are no remaining refresh jobs7320 is expected to eq 07321 #max_running_jobs7322 is expected to eq 07323 when projects_build_artifacts_size_refresh flag is enabled7324 is expected to eq 17325 when projects_build_artifacts_size_refresh_medium flag is enabled7326 is expected to eq 37327 when projects_build_artifacts_size_refresh_high flag is enabled7328 is expected to eq 57329Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithMlCandidatesMetric7330 # order random7331 behaves like a correct instrumented metric value and query7332 behaves like a correct instrumented metric value7333 has correct value7334 behaves like a correct instrumented metric query7335 has correct generate query7336Gitlab::Graphql::Tracers::LoggerTracer7337 logs every query7338 logs exceptions for breaking queries7339CleanupContainerRepositoryWorker7340 #perform7341 bulk delete api7342 executes the destroy service7343 does not raise error when user could not be found7344 does not raise error when repository could not be found7345Gitlab::Usage::Metrics::Instrumentations::CountIssuesMetric7346 behaves like a correct instrumented metric value and query7347 behaves like a correct instrumented metric value7348 has correct value7349 behaves like a correct instrumented metric query7350 has correct generate query7351Gitlab::UsageDataCounters::EditorUniqueCounter7352 for web IDE edit actions7353 behaves like tracks and counts action7354 is expected to eq 37355 track snowplow event7356 does not track edit actions if author is not present7357 for SFE edit actions7358 behaves like tracks and counts action7359 is expected to eq 37360 track snowplow event7361 does not track edit actions if author is not present7362 for snippet editor edit actions7363 behaves like tracks and counts action7364 is expected to eq 37365 track snowplow event7366 does not track edit actions if author is not present7367HashedStorage::RollbackerWorker7368 #perform7369 delegates to MigratorService7370 rollsback projects in the specified range7371projects/commits/show.html.haml7372 tree controls7373 renders atom feed button with matching path7374 commits date headers7375 when timezone is UTC7376 renders commit date header in user's timezone7377 when timezone is UTC-67378 renders commit date header in user's timezone7379UserGroupsCounter7380 #execute7381 returns authorized group count for the user7382 when request to join group is pending7383 does not include pending group in the count7384 when user is part of sub group7385 includes sub group in the count7386 when user is part of namespaced project7387 includes the project group7388Ci::GenerateKubeconfigService7389 #execute7390 returns a Kubeconfig Template7391 adds a cluster7392 filters the pipeline's agents by `nil` environment7393 adds user and context for all eligible agents7394 when environment is specified7395 filters the pipeline's agents by the specified environment7396Gitlab::Ci::JwtV2::ClaimMapper::Repository7397 # order random7398 #to_h7399 returns expected claims7400 when ref is a tag7401 returns expected claims7402projects/hooks/index7403 renders webhooks page with "Project Hooks"7404 webhook is rate limited7405 renders "Disabled" badge7406 webhook is permanently disabled7407 renders "Failed to connect" badge7408 webhook is temporarily disabled7409 renders "Fails to connect" badge7410Ci::Partitionable7411 # order random7412 with partitioned options7413 when partitioned is true7414 is expected to include PartitionedTable7415 is expected to be a kind of Gitlab::Database::Partitioning::CiSlidingListStrategy7416 is expected to eq :partition_id7417 when partitioned is false7418 is expected not to include PartitionedTable7419 is expected not to respond to #partitioning_strategy7420 partitionable models inclusion7421 raises an exception7422 when is included in the models list7423 does not raise exceptions7424 with through options7425 is expected to eq :_test_table_name7426 is expected to eq :some_flag7427 is expected to include Ci::Partitionable::Switch7428Pajamas::EmptyStateComponent7429 # order random7430 default7431 renders the primary action7432 renders the secondary action7433 renders image as illustration7434 renders title7435 renders description7436 renders section with flex direction column7437 with no buttons7438 does not render any buttons7439 when compact7440 renders section with flex direction row7441 when description is empty7442 does not render a description7443 when svg_path is empty7444 does not render image7445Types::UntrustedRegexp7446 is expected to eq "UntrustedRegexp"7447 is expected to eq "A regexp containing patterns sourced from user input"7448 .coerce_input7449 input: ".*", expected_result: ".*"7450 with input .*7451 is expected to eq ".*"7452 input: "(.*)", expected_result: "(.*)"7453 with input (.*)7454 is expected to eq "(.*)"7455 input: "[test*]+", expected_result: "[test*]+"7456 with input [test*]+7457 is expected to eq "[test*]+"7458 input: "*v1", expected_result: :raise_error7459 with input *v17460 raises a coercion error7461 input: "[test*", expected_result: :raise_error7462 with input [test*7463 raises a coercion error7464 input: "test*+", expected_result: :raise_error7465 with input test*+7466 raises a coercion error7467 .coerce_result7468 input: "1", expected_result: "1"7469 with input 17470 is expected to eq "1"7471 input: 1, expected_result: "1"7472 with input 17473 is expected to eq "1"7474 input: true, expected_result: "true"7475 with input true7476 is expected to eq "true"7477DevOpsReportHelper7478 #devops_score_metrics7479 is expected to eq {:scoreLevel=>{:icon=>"status-alert", :label=>"Moderate", :variant=>"warning"}, :value=>"55.9"}7480 is expected to eq {:leadInstance=>"9.3", :score=>"13.3", :scoreLevel=>{:label=>"Low", :variant=>"muted"}, :title=>"Issues created per active user", :usage=>"1.2"}7481 is expected to eq {:leadInstance=>"30.3", :score=>"92.7", :scoreLevel=>{:label=>"High", :variant=>"success"}, :title=>"Comments created per active user", :usage=>"28.1"}7482 is expected to eq {:leadInstance=>"5.2", :score=>"62.4", :scoreLevel=>{:label=>"Moderate", :variant=>"neutral"}, :title=>"Boards created per active user", :usage=>"3.3"}7483 is expected to eq "2021-04-03 02:01"7484 with low average score7485 is expected to eq {:scoreLevel=>{:icon=>"status-failed", :label=>"Low", :variant=>"danger"}, :value=>"2.0"}7486 with high average score7487 is expected to eq {:scoreLevel=>{:icon=>"status_success_solid", :label=>"High", :variant=>"success"}, :value=>"82.0"}7488 with blank metrics7489 is expected to eq {}7490Gitlab::BackgroundMigration7491 .queue7492 returns background migration worker queue7493 .steal7494 when the queue contains unprocessed jobs7495 uses the coordinator to steal jobs7496 when a custom predicate is given7497 steals jobs that match the predicate7498 does not steal jobs that do not match the predicate7499 when retry_dead_jobs is true7500 steals from the dead and retry queue7501 .perform7502 uses the coordinator to perform a background migration7503 .exists?7504 uses the coordinator to find if a job exists7505 uses the coordinator to find a job does not exist7506 .remaining7507 uses the coordinator to find the number of remaining jobs7508Namespace::Detail7509 associations7510 is expected to belong to namespace required: false7511 validations7512 is expected to validate that :namespace cannot be empty/falsy7513 when namespace description changes7514 changes namespace details description7515 when project description changes7516 changes project namespace details description7517 when group description changes7518 changes group namespace details description7519RuboCop::Cop::Migration::PreventIndexCreation7520 # order random7521 when outside of migration7522 does not register an offense7523 when in migration7524 when adding an index to a forbidden table7525 when table_name is a symbol7526 registers an offense when add_index is used7527 registers an offense when add_concurrent_index is used7528 when table_name is a string7529 registers an offense when add_index is used7530 registers an offense when add_concurrent_index is used7531 when table_name is a constant7532 registers an offense when add_concurrent_index is used7533 when adding an index to a regular table7534 does not register an offense7535 when using a constant7536 does not register an offense7537Users::SavedReplies::DestroyService7538 #execute7539 when destroy fails7540 does not remove Saved Reply from database7541 is expected not to be success7542 when destroy succeeds7543 is expected to be success7544 removes Saved Reply from database7545 returns saved reply7546Gitlab::Database::SchemaMigrations::Context7547 #schema_directory7548 returns db/schema_migrations7549 CI database7550 returns a directory path that is database specific7551 multiple databases7552 when `schema_migrations_path` is configured as string7553 returns a configured directory path that7554 when `schema_migrations_path` is configured as symbol7555 returns a configured directory path that7556 #versions_to_create7557 migrated versions is the same as migration file versions7558 returns migrated versions7559 migrated versions is subset of migration file versions7560 returns migrated versions7561 migrated versions is superset of migration file versions7562 returns file versions7563 migrated versions has slightly different versions to migration file versions7564 returns the common set7565Gitlab::GithubImport::Importer::Attachments::ReleasesImporter7566 # order random7567 #object_type7568 is expected to eq :release_attachment7569 #collection_method7570 is expected to eq :release_attachments7571 #sequential_import7572 imports each project release7573 when note is already processed7574 doesn't import this release7575 #sidekiq_worker_class7576 is expected to eq Gitlab::GithubImport::Attachments::ImportReleaseWorker7577 #id_for_already_imported_cache7578 is expected to eq 11437579Users::ProjectCallout7580 behaves like having unique enum values7581 has unique values in "feature_name"7582 relationships7583 is expected to belong to project required: false7584 validations7585 is expected to validate that :project cannot be empty/falsy7586 is expected to validate that :feature_name cannot be empty/falsy7587 is expected to validate that :feature_name is unique within the scope of :user_id and :project_id7588RawUsageData7589 scopes7590 .for_current_reporting_cycle7591 returns nil where no records match filter criteria7592 with records matching filtering criteria7593 return records within reporting cycle time range ordered by creation time7594 validations7595 is expected to validate that :payload cannot be empty/falsy7596 is expected to validate that :recorded_at cannot be empty/falsy7597 uniqueness validation7598 is expected to validate that :recorded_at is case-sensitively unique7599 #update_version_metadata!7600 updates sent_at7601 updates version_usage_data_id_value7602AlertManagement::AlertPresenter7603 #issue_description7604 with an empty payload7605 is expected to eq "**Start time:** 10 August 2023, 12:46PM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace732/project-762/-/alert_management/2/details\n"7606 with optional alert attributes7607 is expected to eq "**Start time:** 10 August 2023, 12:46PM (UTC) \n**Severity:** critical \n**full_query:** `metric > 1` \n**Service:** Direct Digital Mount \n**Monitoring tool:** Red Hat Enterprise Linux (Amazon VPC) \n**Hosts:** 234.240.82.22 \n**Description:** Molestiae aut sint animi vero quisquam harum consectetur quod. \n**GitLab alert:** http://localhost/namespace732/project-762/-/alert_management/3/details\n"7608 with incident markdown7609 is expected to eq "**Start time:** 10 August 2023, 12:46PM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace732/project-762/-/alert_management/2/details\n\n\n---\n\n**`markdown example`**"7610 #start_time7611 formats the start time of the alert7612 #details_url7613 returns the details URL7614 #details7615 renders the payload as inline hash7616DesignManagement::GitRepository7617 # order random7618 #info_attributes7619 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}7620 .container7621 is of class DesignManagement::Repository7622 #attributes7623 confirms that all files are LFS enabled7624 #copy_gitattributes7625 always returns regardless of whether given a valid or invalid ref7626 #attributes_at7627 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}7628 #gitattribute7629 returns a gitattribute when path has gitattributes7630 returns nil when path has no gitattributes7631Sidebars::UserSettings::Menus::PreferencesMenu7632 # order random7633 behaves like User settings menu #render? method7634 #render?7635 when user is logged in7636 renders7637 when user is not logged in7638 does not render7639 behaves like User settings menu7640 does not contain any sub menu7641 renders the correct link7642 renders the correct title7643 renders the correct icon7644 defines correct active route7645Gitlab::Diff::ParallelDiff7646 #parallelize7647 returns an array of arrays containing the parsed diff7648Gitlab::Auth::Ldap::Authentication7649 login7650 finds the user if authentication is successful7651 is false if the user does not exist7652 is false if authentication fails7653 fails if ldap is disabled7654 fails if no login is supplied7655 fails if no password is supplied7656projects/settings/operations/show7657 Operations > Alerts7658 renders the Operations Settings page7659 Operations > Error Tracking7660 Settings page7661 renders the Operations Settings page7662RuboCop::Cop::Database::MultipleDatabases7663 # order random7664 flags the use of ActiveRecord::Base.connection7665 does not flag use of ActiveRecord::Base.configurations7666 does not flag use of ActiveRecord::Base.no_touching7667 does not flag use of ActiveRecord::Base.connection_handler7668 does not flag use of ActiveRecord::Base.logger7669 flags the use of ::ActiveRecord::Base.connection7670Import::PrepareService7671 when file is uploaded correctly7672 raises NotImplemented error for worker7673 when a job is enqueued7674 raises NotImplemented error for success_message when a job is enqueued7675 returns a success respnse when a success_message is implemented7676 when file upload fails7677 returns an error message7678Types::CommitSignatureInterface7679 # order random7680 exposes the expected fields7681 .resolve_type7682 resolves gpg signatures7683 resolves x509 signatures7684 resolves SSH signatures7685 raises an error when type is not known7686Gitlab::Usage::Metrics::Instrumentations::CountProjectSnippetsMetric7687 # order random7688 with a timeframe of all7689 behaves like a correct instrumented metric value7690 has correct value7691 with a time_frame of 28 days7692 behaves like a correct instrumented metric value7693 has correct value7694GoogleCloud::CreateServiceAccountsService7695 #execute7696 creates unprotected vars7697 creates protected vars7698Gitlab::Ci::Reports::Security::FindingSignature7699 #initialize7700 when a supported algorithm type is given7701 allows itself to be created7702 #valid?7703 returns true7704 #valid?7705 when supported algorithm_type is given7706 is valid7707 when an unsupported algorithm_type is given7708 is not valid7709 #to_hash7710 returns a hash representation of the signature7711Tooling::TestMapGenerator7712 #parse7713 with single yaml7714 parses crystalball data into test mapping7715 stores test files without example uid7716 displays a warning when report has no examples7717 with multiple yamls7718 parses crystalball data into test mapping7719 stores test files without example uid7720Banzai::Filter::AbsoluteLinkFilter7721 with html links7722 if only_path is false7723 has the .gfm class7724 converts a relative url into absolute7725 does not change the url if it already absolute7726 if relative_url_root is set7727 joins the url without doubling the path7728 has not the .gfm class7729 does not convert a relative url into absolute7730 if only_path is not false7731 does not convert a relative url into absolute7732Gitlab::GitAccessDesign7733 #check7734 when the user is allowed to manage designs7735 is expected to be a kind of Gitlab::GitAccessResult::Success7736 when the user is not allowed to manage designs7737 raises an error7738 when the protocol is not web7739 raises an error7740RuboCop::Cop::AvoidKeywordArgumentsInSidekiqWorkers7741 # order random7742 does not flag a violation for keyword arguments usage in non-perform method signatures7743 flags violation for optional keyword arguments usage in perform method signature7744 flags violation for keyword arguments usage in perform method signature7745 does not flag a violation for standard optional arguments usage in perform method signature7746 does not flag a violation for optional keyword arguments usage in non-perform method signatures7747Members::CreatorService7748 #execute7749 raises error for new member on authorization check implementation7750 raises error for an existing member on authorization check implementation7751Peek::Views::Rugged7752 returns no results7753 returns aggregated results7754Ci::Runners::UnregisterRunnerManagerService#execute7755 # order random7756 with runner created in UI7757 with system_id specified7758 destroys runner_manager1 and leaves runner7759 with unknown system_id7760 raises RecordNotFound error7761 with system_id missing7762 returns error and leaves runner_manager17763 with runner registered with registration token7764 does not destroy runner or runner managers7765Types::AccessLevels::DeployKeyType7766 # order random7767 is expected to require graphql authorizations :read_deploy_key7768 is expected to have graphql fields :id, :title, :expires_at, and :user7769layouts/header/_super_sidebar_logged_out7770 # order random7771 renders links to Explore and Sign-in and Register7772 on self-managed7773 does not render marketing links7774 on gitlab.com7775 renders marketing links7776Peek::Views::DetailedView7777 when a class defines thresholds7778 when the results exceed the calls threshold7779 adds a warning to the results key7780 when the results exceed the duration threshold7781 adds a warning to the results key7782 when a single call exceeds the duration threshold7783 adds a warning to that call detail entry7784 when a view does not define thresholds7785 does not add warnings to the top level7786 does not add warnings to call details entries7787SystemCheck::SidekiqCheck7788 #multi_check7789 fails when no worker processes are running7790 fails when more than one cluster process is running7791 succeeds when one cluster process and one or more worker processes are running7792 when only a worker process is running7793 fails with the right message for systemd7794 fails with the right message for sysvinit7795UploadChecksumWorker7796 #perform7797 without a valid record7798 rescues ActiveRecord::RecordNotFound7799 with a valid record7800 calls calculate_checksum!7801 calls save!7802RuboCop::Cop::CodeReuse::Finder7803 # order random7804 does not flag the use of a Finder in a regular class method7805 flags the use of a Finder inside a model class method7806 does not flag the use of a Finder in a non Finder file7807 flags the use of a Finder inside another Finder7808Resolvers::AlertManagement::AlertStatusCountsResolver7809 #resolve7810 is expected to be a kind of Gitlab::AlertManagement::AlertStatusCounts7811 is expected to eq #<Project id:737 namespace746/project-776>>7812BulkImports::Common::Extractors::JsonExtractor7813 #extract7814 returns ExtractedData7815 #remove_tmpdir7816 removes tmp dir7817Gitlab::DataBuilder::Alert7818 .build7819 is expected to be a kind of Hash7820 is expected to eq "alert"7821 contains the correct object attributes7822Gitlab::Usage::Metrics::Instrumentations::CountCiRunnersProjectTypeActiveMetric7823 # order random7824 behaves like a correct instrumented metric value7825 has correct value7826Gitlab::DependencyLinker::GoSumLinker7827 .support?7828 supports go.sum7829 does not support other files7830 #link7831 links modules7832 links checksums7833AccessibilityReportsComparerEntity7834 #as_json7835 when base report has error and head has a different error7836 contains correct compared accessibility report details7837 when base report has error and head has the same error7838 contains correct compared accessibility report details7839 when base report has no error and head has errors7840 contains correct compared accessibility report details7841Gitlab::ImportExport::VersionChecker7842 bundle a project Git repo7843 returns true if Import/Export have the same version7844 newer version7845 returns false if export version is newer7846 shows the correct error message7847 version file access check7848 does not read a symlink7849GitHelper7850 #short_sha7851 is expected to eq "d4e043f6"7852 #strip_signature7853 strips PGP SIGNATURE7854 is expected to eq "Version 1.69.0\n\n"7855 strips PGP MESSAGE7856 is expected to eq "Version 1.69.0\n\n"7857 strips SIGNED MESSAGE7858 is expected to eq "this is Roger's signed tag\n\n"7859Gitlab::Ci::Pipeline::Chain::CancelPendingPipelines7860 #perform!7861 enqueues CancelRedundantPipelinesWorker7862help/instance_configuration7863 General Sections:7864 has links to several sections7865 has several sections7866explore/projects/topic.html.haml7867 # order random7868 renders atom feed button with matching path7869mail_room.yml7870 when incoming email is disabled7871 contains no configuration7872 when both incoming email and service desk email are enabled7873 contains the intended configuration7874 when both incoming email and service desk email are enabled for Microsoft Graph7875 contains the intended configuration7876Users::CreateStatisticsWorker7877 #perform7878 when successful7879 create an users statistics entry7880 when unsuccessful7881 logs an error7882Types::MilestoneType7883 is expected to eq "Milestone"7884 is expected to require graphql authorizations :read_milestone7885 has the expected fields7886 stats field7887 is expected to have graphql type Types::MilestoneStatsType7888capybara_wait_for_all_requests7889 # order random7890 for Capybara::Session::WaitForAllRequestsAfterVisitPage7891 waits for all requests after a page visit7892 for Capybara::Node::Actions::WaitForAllRequestsAfterClickButton7893 waits for all requests after a click button7894 for Capybara::Node::Actions::WaitForAllRequestsAfterClickLink7895 waits for all requests after a click link7896Gitlab::Database::HealthStatus::Logger7897 # order random7898 excludes context7899 behaves like a json logger7900 formats strings7901 formats hashes7902TodosDestroyer::ConfidentialIssueWorker7903 calls the Todos::Destroy::ConfidentialIssueService with issue_id parameter7904 calls the Todos::Destroy::ConfidentialIssueService with project_id parameter7905Postgresql::DetachedPartition7906 #ready_to_drop7907 includes partitions that should be dropped before now7908 does not include partitions that should be dropped after now7909Types::Ci::ProjectVariableType7910 is expected to contain exactly Types::Ci::VariableInterface7911 is expected to have graphql fields :environment_scope, :masked, :protected, and :description7912Projects::IncidentsHelper7913 # order random7914 #incidents_data7915 when user can create incidents7916 returns frontend configuration7917 when user cannot create incidents7918 returns frontend configuration7919Types::AuditEvents::DefinitionType7920 # order random7921 is expected to have graphql fields :name, :description, :introduced_by_issue, :introduced_by_mr, :feature_category, :milestone, :saved_to_database, and :streamed7922 is expected to eq "AuditEventDefinition"7923Sidebars::Organizations::Menus::ManageMenu7924 # order random7925 has title and sprite_icon7926 Menu items7927 Groups and projects7928 is expected not to be nil7929Gitlab::Ci::Config::External::Mapper::Base7930 # order random7931 #process7932 when the method is not implemented7933 raises NotImplementedError7934 when the method is implemented7935 calls the method7936Types::EvidenceType7937 is expected to require graphql authorizations :read_release_evidence7938 has the expected fields7939Gitlab::SidekiqMiddleware::PauseControl::Server7940 # order random7941 #call7942 when strategy is enabled7943 puts the job to another queue without execution7944 when strategy is disabled7945 executes the job7946Gitlab::SidekiqMiddleware::ExtraDoneLogMetadata7947 #call7948 merges Application#logging_extras in to job7949 does not raise when the worker does not respond to #done_log_extra_metadata7950Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::None7951 #schedule7952 yields without checking for duplicates7953 #perform7954 does not delete any locks before executing7955RsaKeyValidator7956 is not valid when invalid RSA key is provided7957 is valid when valid RSA key is provided7958Gitlab::Graphql::QueryAnalyzers::AST::RecursionAnalyzer7959 when recursion threshold not exceeded7960 returns the complexity, depth, duration, etc7961 when recursion threshold exceeded7962 returns error7963Types::WorkItems::WidgetTypeEnum7964 is expected to eq "WorkItemWidgetType"7965 exposes all the existing widget type values7966Gitlab::GrapeLogging::Loggers::QueueDurationLogger7967 .parameters7968 when no proxy duration is available7969 returns an empty hash7970 when a proxy duration is available7971 adds the duration to log parameters7972Gitlab::ApplicationRateLimiter::BaseStrategy7973 #increment7974 raises NotImplementedError7975 #read7976 raises NotImplementedError7977Types::IssuableSortEnum7978 is expected to eq "IssuableSort"7979 exposes all the existing issuable sort values7980shared/gitlab_version/_security_patch_upgrade_alert7981 # order random7982 when show_security_patch_upgrade_alert? is true7983 renders the security patch upgrade alert modal7984Gitlab::Ci::Status::Bridge::WaitingForResource7985 is expected to be < Gitlab::Ci::Status::Processable::WaitingForResource7986Gitlab::PumaLogging::JSONFormatter7987 generate json format with timestamp and pid7988Integrations::SlackWorkspace::ApiScope7989 # order random7990 .find_or_initialize_by_names7991 acts as insert into a global set of scope names7992Rack VULNDB-2550397993 # order random7994 when handling query params in GET requests7995 does not treat semicolons as query delimiters7996Types::ContainerRepositoryCleanupStatusEnum7997 exposes all statuses7998Types::PermissionTypes::Ci::Job7999 has expected permission fields8000Types::Packages::PackageFileType8001 includes package file fields8002Gitlab::Usage::Metrics::Instrumentations::VersionMetric8003 # order random8004 behaves like a correct instrumented metric value8005 has correct value8006Types::ProjectStatisticsType8007 has the expected fields8008#<Class:0x00007be41d9008a8>8009 has the expected fields8010Knapsack report was generated. Preview:8011{8012 "spec/services/notification_service_spec.rb": 804.593137476,8013 "spec/finders/packages/group_packages_finder_spec.rb": 30.866577335999864,8014 "spec/services/merge_requests/cleanup_refs_service_spec.rb": 31.545799909000152,8015 "spec/models/concerns/counter_attribute_spec.rb": 20.34977534199993,8016 "spec/presenters/merge_request_presenter_spec.rb": 22.528945894000117,8017 "spec/finders/groups_finder_spec.rb": 27.777888981999922,8018 "spec/models/packages/package_file_spec.rb": 12.171491768999886,8019 "spec/models/hooks/web_hook_spec.rb": 7.687528761000067,8020 "spec/lib/gitlab/auth/auth_finders_spec.rb": 8.294440971000085,8021 "spec/services/members/groups/creator_service_spec.rb": 13.201936307000096,8022 "spec/services/ci/job_artifacts/destroy_batch_service_spec.rb": 18.178654264999977,8023 "spec/helpers/avatars_helper_spec.rb": 6.857383884000001,8024 "spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb": 10.806398803999855,8025 "spec/lib/gitlab/redis/db_load_balancing_spec.rb": 2.697068844000114,8026 "spec/services/resource_access_tokens/revoke_service_spec.rb": 15.18370217200004,8027 "spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb": 9.634200128999964,8028 "spec/policies/todo_policy_spec.rb": 10.276042436999887,8029 "spec/views/notify/pipeline_success_email.html.haml_spec.rb": 17.30234535700015,8030 "spec/lib/gitlab/database/with_lock_retries_outside_transaction_spec.rb": 14.955717203000177,8031 "spec/models/packages/debian/project_distribution_spec.rb": 4.817258452999795,8032 "spec/lib/error_tracking/sentry_client/issue_spec.rb": 5.492926662999935,8033 "spec/lib/gitlab/ci/config/external/processor_spec.rb": 12.355864925999867,8034 "spec/lib/gitlab/metrics_spec.rb": 2.2143275939999967,8035 "spec/models/concerns/milestoneable_spec.rb": 6.654452779999929,8036 "spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb": 1.6418486150000717,8037 "spec/lib/gitlab/workhorse_spec.rb": 4.673876285999995,8038 "spec/helpers/members_helper_spec.rb": 10.05693103800013,8039 "spec/services/ci/archive_trace_service_spec.rb": 7.5875361480000265,8040 "spec/lib/gitlab/diff/diff_refs_spec.rb": 7.7404882740001995,8041 "spec/lib/gitlab/checks/diff_check_spec.rb": 10.136467670999991,8042 "spec/graphql/mutations/merge_requests/set_reviewers_spec.rb": 11.445967785999983,8043 "spec/finders/context_commits_finder_spec.rb": 10.11599258299998,8044 "spec/services/error_tracking/issue_update_service_spec.rb": 5.898823374999893,8045 "spec/lib/gitlab/i18n/po_linter_spec.rb": 1.9522966459999225,8046 "spec/models/issue/metrics_spec.rb": 7.3168780530002095,8047 "spec/services/award_emojis/add_service_spec.rb": 5.79946251299998,8048 "spec/models/ci/build_trace_metadata_spec.rb": 7.570102544000065,8049 "spec/lib/gitlab/alert_management/payload/base_spec.rb": 2.01939086099992,8050 "spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb": 6.287865895000095,8051 "spec/lib/container_registry/blob_spec.rb": 6.856056459000001,8052 "spec/uploaders/terraform/state_uploader_spec.rb": 7.90113178699994,8053 "spec/routing/admin_routing_spec.rb": 3.7492125849996683,8054 "spec/finders/crm/contacts_finder_spec.rb": 5.318677320999996,8055 "spec/services/todos/destroy/design_service_spec.rb": 5.226307358000213,8056 "spec/lib/gitlab/suggestions/commit_message_spec.rb": 4.079367148000074,8057 "spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb": 7.8808626290001484,8058 "spec/serializers/ci/trigger_entity_spec.rb": 8.584666044000187,8059 "spec/tasks/gitlab/seed/runner_fleet_rake_spec.rb": 9.224696112999936,8060 "spec/lib/gitlab/x509/certificate_spec.rb": 2.7686754329999985,8061 "spec/serializers/deployment_entity_spec.rb": 6.13601589599989,8062 "spec/views/ci/status/_badge.html.haml_spec.rb": 5.3499124789998405,8063 "spec/models/review_spec.rb": 3.5487756509999144,8064 "spec/models/ci/job_token/allowlist_spec.rb": 4.584849817999839,8065 "spec/lib/bulk_imports/projects/pipelines/references_pipeline_spec.rb": 4.835727269000017,8066 "spec/lib/gitlab/logger_spec.rb": 1.3292522849999386,8067 "spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb": 1.1747102740000628,8068 "spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb": 1.1952091640000617,8069 "spec/services/incident_management/issuable_escalation_statuses/prepare_update_service_spec.rb": 2.692560467000021,8070 "spec/workers/gitlab/jira_import/stuck_jira_import_jobs_worker_spec.rb": 2.8828038429999197,8071 "spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb": 6.182801855999969,8072 "spec/models/dependency_proxy/manifest_spec.rb": 2.542587426999944,8073 "spec/models/concerns/ci/artifactable_spec.rb": 4.594472389999964,8074 "spec/lib/gitlab/ci/matching/runner_matcher_spec.rb": 1.1507447369999682,8075 "spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb": 0.7115490989999671,8076 "spec/rubocop/cop/migration/safer_boolean_column_spec.rb": 1.1069020500001443,8077 "spec/graphql/mutations/timelogs/delete_spec.rb": 1.9453371900001457,8078 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_deployed_to_production_spec.rb": 2.2308641199999784,8079 "spec/lib/sbom/purl_type/converter_spec.rb": 0.6449726539999574,8080 "spec/lib/gitlab/ci/pipeline/chain/limit/rate_limit_spec.rb": 1.6268428630000926,8081 "spec/models/users/merge_request_interaction_spec.rb": 1.885175904999869,8082 "spec/finders/groups/accepting_group_transfers_finder_spec.rb": 3.1970598299999438,8083 "spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb": 0.8760373180000443,8084 "spec/tooling/danger/database_dictionary_spec.rb": 0.6915153309998914,8085 "spec/models/concerns/clusters/agents/authorizations/ci_access/config_scopes_spec.rb": 3.416112943999906,8086 "spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb": 2.170436795000114,8087 "spec/tooling/lib/tooling/find_codeowners_spec.rb": 0.9625907209999696,8088 "spec/initializers/settings_spec.rb": 0.49394851499982906,8089 "spec/services/keys/expiry_notification_service_spec.rb": 1.0562766140001258,8090 "spec/lib/gitlab/git/cross_repo_spec.rb": 2.3962954579999405,8091 "spec/lib/banzai/filter/inline_observability_filter_spec.rb": 0.5313974919999964,8092 "spec/lib/gitlab/memory/watchdog_spec.rb": 0.6393368640001427,8093 "spec/lib/sidebars/user_profile/menus/activity_menu_spec.rb": 0.6938936900000954,8094 "spec/workers/reactive_caching_worker_spec.rb": 1.9623237389998849,8095 "spec/scripts/generate_message_to_run_e2e_pipeline_spec.rb": 0.5712482989999899,8096 "spec/lib/gitlab/file_markdown_link_builder_spec.rb": 0.469289056000207,8097 "spec/workers/ci/external_pull_requests/create_pipeline_worker_spec.rb": 3.6849947160001193,8098 "spec/models/packages/rpm/repository_file_spec.rb": 1.2355767220001326,8099 "spec/models/subscription_spec.rb": 1.1533122470000308,8100 "spec/lib/gitlab/github_import/importer/attachments/notes_importer_spec.rb": 0.9258987830000933,8101 "spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb": 2.7855634400000326,8102 "spec/lib/gitlab/inactive_projects_deletion_warning_tracker_spec.rb": 0.43726949899996725,8103 "spec/workers/rebase_worker_spec.rb": 3.974838114999784,8104 "spec/models/alert_management/metric_image_spec.rb": 0.6415298239999174,8105 "spec/services/projects/open_merge_requests_count_service_spec.rb": 0.7951931820000482,8106 "spec/services/dependency_proxy/request_token_service_spec.rb": 0.9928720179998436,8107 "spec/graphql/mutations/environments/update_spec.rb": 1.3244627349999973,8108 "spec/lib/gitlab/internal_post_receive/response_spec.rb": 0.4783163259999128,8109 "spec/tasks/gitlab/update_templates_rake_spec.rb": 3.7163230629998907,8110 "spec/lib/generators/gitlab/usage_metric_generator_spec.rb": 0.6609707620000336,8111 "spec/lib/gitlab/pages_spec.rb": 0.3246070469999722,8112 "spec/graphql/mutations/issues/set_subscription_spec.rb": 1.6408369519999724,8113 "spec/services/service_desk/custom_emails/destroy_service_spec.rb": 1.1487579770000593,8114 "spec/models/integrations/assembla_spec.rb": 1.2445411600001535,8115 "spec/services/packages/create_dependency_service_spec.rb": 2.2863738160001503,8116 "spec/support_specs/license_metadata_tags_spec.rb": 0.3191429270000299,8117 "spec/lib/bitbucket_server/representation/comment_spec.rb": 0.5178393930000311,8118 "spec/lib/gitlab/ci/build/credentials/registry/dependency_proxy_spec.rb": 1.4553398549999201,8119 "spec/lib/gitlab/database/migrations/observers/transaction_duration_spec.rb": 2.7315390339999794,8120 "spec/lib/gitlab/quick_actions/users_extractor_spec.rb": 1.3679848819999734,8121 "spec/lib/gitlab/hook_data/key_builder_spec.rb": 0.5530013499999313,8122 "spec/lib/gitlab/hook_data/merge_request_builder_spec.rb": 2.432131985000069,8123 "spec/services/resource_events/merge_into_notes_service_spec.rb": 1.4503794160000325,8124 "spec/services/bulk_update_integration_service_spec.rb": 1.8848432950001097,8125 "spec/lib/banzai/filter/table_of_contents_tag_filter_spec.rb": 0.35009393500013175,8126 "spec/graphql/resolvers/crm/contacts_resolver_spec.rb": 1.8242648779998945,8127 "spec/services/projects/slack_application_install_service_spec.rb": 2.1370201459999407,8128 "spec/services/reset_project_cache_service_spec.rb": 1.0245407760000944,8129 "spec/workers/container_registry/delete_container_repository_worker_spec.rb": 2.1290512179998586,8130 "spec/lib/sidebars/admin/menus/ci_cd_menu_spec.rb": 0.3806863429999794,8131 "spec/lib/gitlab/crypto_helper_spec.rb": 0.36475634399994306,8132 "spec/views/projects/pipelines/show.html.haml_spec.rb": 2.0521490319999884,8133 "spec/lib/gitlab/utils/log_limited_array_spec.rb": 0.2734201609998763,8134 "spec/graphql/resolvers/achievements/achievements_resolver_spec.rb": 0.3301623859999836,8135 "spec/services/projects/schedule_bulk_repository_shard_moves_service_spec.rb": 0.957100631000003,8136 "spec/graphql/resolvers/issue_status_counts_resolver_spec.rb": 1.471114605000139,8137 "spec/helpers/storage_helper_spec.rb": 0.6498711130000174,8138 "spec/workers/x509_certificate_revoke_worker_spec.rb": 0.472129035999842,8139 "spec/lib/banzai/filter/kroki_filter_spec.rb": 0.43476990899989687,8140 "spec/services/releases/links/params_spec.rb": 0.21041746499986402,8141 "spec/services/x509_certificate_revoke_service_spec.rb": 1.7278226270000232,8142 "spec/services/import_export_clean_up_service_spec.rb": 1.4303254569999808,8143 "spec/graphql/resolvers/concerns/resolves_project_spec.rb": 0.5206235919999926,8144 "spec/policies/clusters/agent_token_policy_spec.rb": 1.911084112000026,8145 "spec/tasks/gitlab/sidekiq_rake_spec.rb": 1.619979953999973,8146 "spec/graphql/types/alert_management/integration_type_enum_spec.rb": 0.22097618400016472,8147 "spec/workers/group_import_worker_spec.rb": 1.6154944740001156,8148 "spec/lib/sidebars/user_profile/menus/starred_projects_menu_spec.rb": 0.737682317000008,8149 "spec/validators/future_date_validator_spec.rb": 0.22368630400001166,8150 "spec/services/users/reject_service_spec.rb": 1.1651997359999768,8151 "spec/lib/gitlab/graphql/loaders/batch_lfs_oid_loader_spec.rb": 0.8285719809998682,8152 "spec/workers/projects/refresh_build_artifacts_size_statistics_worker_spec.rb": 0.9844628999999259,8153 "spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_ml_candidates_metric_spec.rb": 1.5997440250000636,8154 "spec/lib/gitlab/graphql/tracers/logger_tracer_spec.rb": 0.17737045700005183,8155 "spec/workers/cleanup_container_repository_worker_spec.rb": 1.1412016780000158,8156 "spec/lib/gitlab/usage/metrics/instrumentations/count_issues_metric_spec.rb": 0.45593985699997575,8157 "spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb": 0.8989334860000326,8158 "spec/workers/hashed_storage/rollbacker_worker_spec.rb": 1.2505487600001288,8159 "spec/views/projects/commits/show.html.haml_spec.rb": 1.4739859940000315,8160 "spec/finders/user_groups_counter_spec.rb": 1.250488040000164,8161 "spec/services/ci/generate_kubeconfig_service_spec.rb": 1.0585090340000534,8162 "spec/lib/gitlab/ci/jwt_v2/claim_mapper/repository_spec.rb": 0.19503040599988708,8163 "spec/views/projects/hooks/index.html.haml_spec.rb": 1.0754441430001407,8164 "spec/models/concerns/ci/partitionable_spec.rb": 0.4259632299999794,8165 "spec/components/pajamas/empty_state_component_spec.rb": 0.4488363870000285,8166 "spec/graphql/types/untrusted_regexp_spec.rb": 0.4498439070000586,8167 "spec/helpers/dev_ops_report_helper_spec.rb": 0.4981940550001127,8168 "spec/lib/gitlab/background_migration_spec.rb": 0.40634948000001714,8169 "spec/models/namespace/detail_spec.rb": 0.9643870710001465,8170 "spec/rubocop/cop/migration/prevent_index_creation_spec.rb": 0.37330587300016305,8171 "spec/services/users/saved_replies/destroy_service_spec.rb": 0.6820536210000228,8172 "spec/lib/gitlab/database/schema_migrations/context_spec.rb": 0.4277910390001125,8173 "spec/lib/gitlab/github_import/importer/attachments/releases_importer_spec.rb": 0.7395107069999085,8174 "spec/models/users/project_callout_spec.rb": 0.5765515390000928,8175 "spec/models/raw_usage_data_spec.rb": 0.43454980899991824,8176 "spec/presenters/alert_management/alert_presenter_spec.rb": 0.6453408929999114,8177 "spec/models/design_management/git_repository_spec.rb": 0.5463115110001127,8178 "spec/lib/sidebars/user_settings/menus/preferences_menu_spec.rb": 0.3886231520000365,8179 "spec/lib/gitlab/diff/parallel_diff_spec.rb": 0.8331573999998909,8180 "spec/lib/gitlab/auth/ldap/authentication_spec.rb": 0.48991252500013616,8181 "spec/views/projects/settings/operations/show.html.haml_spec.rb": 0.806296151999959,8182 "spec/rubocop/cop/database/multiple_databases_spec.rb": 0.29850215900000876,8183 "spec/services/import/prepare_service_spec.rb": 0.48230201500018666,8184 "spec/graphql/types/commit_signature_interface_spec.rb": 0.29196507899996504,8185 "spec/lib/gitlab/usage/metrics/instrumentations/count_project_snippets_metric_spec.rb": 0.7095742789999804,8186 "spec/services/google_cloud/create_service_accounts_service_spec.rb": 0.8962099350001154,8187 "spec/lib/gitlab/ci/reports/security/finding_signature_spec.rb": 0.23835201300016706,8188 "spec/tooling/lib/tooling/test_map_generator_spec.rb": 0.2540967320001073,8189 "spec/lib/banzai/filter/absolute_link_filter_spec.rb": 0.25860810099993614,8190 "spec/lib/gitlab/git_access_design_spec.rb": 0.5304766209999343,8191 "spec/rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers_spec.rb": 0.2759381799999119,8192 "spec/services/members/creator_service_spec.rb": 0.5782467989999986,8193 "spec/lib/peek/views/rugged_spec.rb": 0.6926591599999483,8194 "spec/services/ci/runners/unregister_runner_manager_service_spec.rb": 0.38841398199997457,8195 "spec/graphql/types/access_levels/deploy_key_type_spec.rb": 0.16747476799992,8196 "spec/views/layouts/header/_super_sidebar_logged_out.html.haml_spec.rb": 0.5734298089998902,8197 "spec/lib/peek/views/detailed_view_spec.rb": 0.25840425100000175,8198 "spec/lib/system_check/sidekiq_check_spec.rb": 0.24965590199985854,8199 "spec/workers/upload_checksum_worker_spec.rb": 0.3933156810001037,8200 "spec/rubocop/cop/code_reuse/finder_spec.rb": 0.24361738299990066,8201 "spec/graphql/resolvers/alert_management/alert_status_counts_resolver_spec.rb": 0.47353045599993493,8202 "spec/lib/bulk_imports/common/extractors/json_extractor_spec.rb": 0.43853271800003313,8203 "spec/lib/gitlab/data_builder/alert_spec.rb": 0.4709208360000048,8204 "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_project_type_active_metric_spec.rb": 0.4506513780002024,8205 "spec/lib/gitlab/dependency_linker/go_sum_linker_spec.rb": 0.23933009300003505,8206 "spec/serializers/accessibility_reports_comparer_entity_spec.rb": 0.1851744460000191,8207 "spec/lib/gitlab/import_export/version_checker_spec.rb": 0.2321435940000356,8208 "spec/helpers/git_helper_spec.rb": 0.26083679099997426,8209 "spec/lib/gitlab/ci/pipeline/chain/cancel_pending_pipelines_spec.rb": 0.4996576339999592,8210 "spec/views/help/instance_configuration.html.haml_spec.rb": 0.3466653549999137,8211 "spec/views/explore/projects/topic.html.haml_spec.rb": 0.44369087800009765,8212 "spec/config/mail_room_spec.rb": 0.25830422099988937,8213 "spec/workers/users/create_statistics_worker_spec.rb": 0.3755450230000861,8214 "spec/graphql/types/milestone_type_spec.rb": 0.23348842299992612,8215 "spec/support_specs/capybara_wait_for_all_requests_spec.rb": 0.2005162160000964,8216 "spec/lib/gitlab/database/health_status/logger_spec.rb": 0.19574469600001976,8217 "spec/workers/todos_destroyer/confidential_issue_worker_spec.rb": 0.16638131799982148,8218 "spec/models/postgresql/detached_partition_spec.rb": 0.19177903600007085,8219 "spec/graphql/types/ci/project_variable_type_spec.rb": 0.22551515400004973,8220 "spec/helpers/projects/incidents_helper_spec.rb": 0.3134972679999919,8221 "spec/graphql/types/audit_events/definition_type_spec.rb": 0.20249229600017316,8222 "spec/lib/sidebars/organizations/menus/manage_menu_spec.rb": 0.18754172600006314,8223 "spec/lib/gitlab/ci/config/external/mapper/base_spec.rb": 0.16838339800005997,8224 "spec/graphql/types/evidence_type_spec.rb": 0.16448492799986525,8225 "spec/lib/gitlab/sidekiq_middleware/pause_control/server_spec.rb": 0.17402471800005515,8226 "spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb": 0.16297415799999726,8227 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/none_spec.rb": 0.17191816800004744,8228 "spec/validators/rsa_key_validator_spec.rb": 0.17340133700008664,8229 "spec/lib/gitlab/graphql/query_analyzers/ast/recursion_analyzer_spec.rb": 0.17270704800012027,8230 "spec/graphql/types/work_items/widget_type_enum_spec.rb": 0.1682238769999458,8231 "spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb": 0.16616422899983263,8232 "spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb": 0.1628085380000357,8233 "spec/graphql/types/issuable_sort_enum_spec.rb": 0.16687848800006577,8234 "spec/views/shared/gitlab_version/_security_patch_upgrade_alert.html.haml_spec.rb": 0.21689414399997986,8235 "spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb": 0.14054104999991068,8236 "spec/lib/gitlab/puma_logging/json_formatter_spec.rb": 0.14152489000002788,8237 "spec/models/integrations/slack_workspace/api_scope_spec.rb": 0.16168118799987496,8238 "spec/initializers/rack_VULNDB-255039_patch_spec.rb": 0.1385170000000926,8239 "spec/graphql/types/container_repository_cleanup_status_enum_spec.rb": 0.14523942899995745,8240 "spec/graphql/types/permission_types/ci/job_spec.rb": 0.1369897099998525,8241 "spec/graphql/types/packages/package_file_type_spec.rb": 0.13712397999984205,8242 "spec/lib/gitlab/usage/metrics/instrumentations/version_metric_spec.rb": 0.14055081899982724,8243 "spec/graphql/types/project_statistics_type_spec.rb": 0.14132892999987234,8244 "spec/graphql/types/merge_request_connection_type_spec.rb": 0.138838660000146778245}8246Knapsack global time execution for tests: 24m 25s8247Pending: (Failures listed here are expected and do not affect your suite's status)8248 1) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution behaves like builds correct paths #upload_path behaves like matches the method pattern 8249 # No pattern provided, skipping.8250 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88251 2) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution behaves like builds correct paths #relative_path is relative8252 # Path not set, skipping.8253 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408254 3) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution behaves like builds correct paths .absolute_path behaves like matches the method pattern 8255 # No pattern provided, skipping.8256 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88257 4) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution behaves like builds correct paths .base_dir behaves like matches the method pattern 8258 # No pattern provided, skipping.8259 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88260 5) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 8261 # No pattern provided, skipping.8262 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88263 6) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution object store is remote behaves like builds correct paths #relative_path is relative8264 # Path not set, skipping.8265 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408266 7) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8267 # No pattern provided, skipping.8268 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88269 8) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::ProjectDistribution object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8270 # No pattern provided, skipping.8271 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88272 9) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution behaves like builds correct paths #upload_path behaves like matches the method pattern 8273 # No pattern provided, skipping.8274 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88275 10) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution behaves like builds correct paths #relative_path is relative8276 # Path not set, skipping.8277 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408278 11) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution behaves like builds correct paths .absolute_path behaves like matches the method pattern 8279 # No pattern provided, skipping.8280 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88281 12) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution behaves like builds correct paths .base_dir behaves like matches the method pattern 8282 # No pattern provided, skipping.8283 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88284 13) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 8285 # No pattern provided, skipping.8286 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88287 14) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution object store is remote behaves like builds correct paths #relative_path is relative8288 # Path not set, skipping.8289 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408290 15) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8291 # No pattern provided, skipping.8292 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88293 16) Packages::Debian::DistributionReleaseFileUploader Packages::Debian::GroupDistribution object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8294 # No pattern provided, skipping.8295 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88296Finished in 24 minutes 28 seconds (files took 1 minute 20.33 seconds to load)82973204 examples, 0 failures, 16 pending8298Randomized with seed 629708299[TEST PROF INFO] Time spent in factories: 08:55.979 (35.64% of total time)8300RSpec exited with 0.8301No examples to retry, congrats!8303Running after script...8304$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"8309Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8311Uploading artifacts...8312WARNING: auto_explain/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8313coverage/: found 5 matching artifact files and directories 8314crystalball/: found 2 matching artifact files and directories 8315deprecations/: found 7 matching artifact files and directories 8316knapsack/: found 4 matching artifact files and directories 8317rspec/: found 16 matching artifact files and directories 8318WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8319log/*.log: found 20 matching artifact files and directories 8320WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4841631170/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8321WARNING: Retrying... context=artifacts-uploader error=request redirected8322Uploading artifacts as "archive" to coordinator... 201 Created id=4841631170 responseStatus=201 Created token=64_uhKSd8323Uploading artifacts...8324rspec/rspec-*.xml: found 1 matching artifact files and directories 8325WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4841631170/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8326WARNING: Retrying... context=artifacts-uploader error=request redirected8327Uploading artifacts as "junit" to coordinator... 201 Created id=4841631170 responseStatus=201 Created token=64_uhKSd8329Job succeeded