rspec unit pg13 11/28
Passed Started
by
@dskim_gitlab
Sincheol (David) Kim
1Running with gitlab-runner 15.9.0~beta.212.g8ccc65e7 (8ccc65e7)2 on green-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 4bq1s9yM, system ID: s_9d15f3e4e7ae3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...10Using docker image sha256:b643610fd4d2fbdd55447ceb5a6cba0c3d1a26945817741d73e1b51a1ec07d01 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:dfccb5b5ddadf4f1a3b9cb72cf21f5b99a28a55c217de34d9fa6b7a45a910031 ...11Starting service redis:6.2-alpine ...12Pulling docker image redis:6.2-alpine ...13Using docker image sha256:a9a47a706682d445577bb5da7328f0faaa0863a5742a315c829faa461dfc23ae for redis:6.2-alpine with digest redis@sha256:317575f05099ea47b1f2855b1bb6e068b52847bfa19b87014d88d57f82d4b8f0 ...14Waiting for services to be up and running (timeout 30 seconds)...15Authenticating with credentials from job payload (GitLab Registry)16Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...17Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...19Running on runner-4bq1s9ym-project-278964-concurrent-0 via runner-4bq1s9ym-private-1682566190-4d86c941...21$ eval "$CI_PRE_CLONE_SCRIPT"22Fetching changes with git depth set to 20...23Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/24Created fresh repository.25remote: Enumerating objects: 162343, done. 26remote: Counting objects: 100% (162343/162343), done. 27remote: Compressing objects: 100% (98373/98373), done. 28remote: Total 162343 (delta 79431), reused 115388 (delta 58038), pack-reused 0 29Receiving objects: 100% (162343/162343), 129.51 MiB | 17.27 MiB/s, done.30Resolving deltas: 100% (79431/79431), done.32 * [new ref] refs/pipelines/850455016 -> refs/pipelines/85045501633Checking out 997198e5 as detached HEAD (ref is refs/merge-requests/118423/merge)...34Skipping Git submodules setup35$ git remote set-url origin "${CI_REPOSITORY_URL}"37Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...38cache.zip is up to date 39Successfully extracted cache41Downloading artifacts for compile-test-assets (4187655852)...42Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655852 responseStatus=200 OK token=64_oLJF-43Downloading artifacts for detect-tests (4187655860)...44Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655860 responseStatus=200 OK token=64_oLJF-45Downloading artifacts for retrieve-tests-metadata (4187655863)...46Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655863 responseStatus=200 OK token=64_oLJF-47Downloading artifacts for setup-test-env (4187655855)...48Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655855 responseStatus=200 OK token=64_oLJF-50Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...51$ echo $FOSS_ONLY52$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb53$ export GOPATH=$CI_PROJECT_DIR/.go54$ mkdir -p $GOPATH55$ source scripts/utils.sh56$ source scripts/prepare_build.sh712Using decomposed database config (config/database.yml.decomposed-postgresql)713Geo DB won't be set up.714Embedding DB won't be set up.730$ source ./scripts/rspec_helpers.sh731$ run_timed_command "gem install knapsack --no-document"732$ gem install knapsack --no-document733Successfully installed knapsack-4.0.07341 gem installed735==> 'gem install knapsack --no-document' succeeded in 0 seconds.736$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"738$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"743$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"744$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"745SKIP_FLAKY_TESTS_AUTOMATICALLY: false746RETRY_FAILED_TESTS_IN_NEW_PROCESS: true747KNAPSACK_GENERATE_REPORT: true748FLAKY_RSPEC_GENERATE_REPORT: true749KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb750KNAPSACK_LOG_LEVEL: debug751KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_11_28_report.json752FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json753FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_11_28_report.json754NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_11_28_report.json755SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg13_11_28_report.txt756CRYSTALBALL: 757RSPEC_TESTS_MAPPING_ENABLED: 758RSPEC_TESTS_FILTER_FILE: 759Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration -- spec/models/application_setting_spec.rb spec/models/concerns/noteable_spec.rb spec/models/ci/runner_spec.rb spec/services/projects/import_service_spec.rb spec/scripts/lib/glfm/update_specification_spec.rb spec/services/notes/quick_actions_service_spec.rb spec/lib/gitlab/ci/status/build/factory_spec.rb spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb spec/models/merge_request/cleanup_schedule_spec.rb spec/lib/gitlab/ci/config/entry/job_spec.rb spec/lib/gitlab/bitbucket_server_import/importer_spec.rb spec/models/concerns/milestoneish_spec.rb spec/models/project_statistics_spec.rb spec/lib/gitlab/database/background_migration/batched_migration_spec.rb spec/lib/gitlab/background_migration/backfill_group_features_spec.rb spec/models/push_event_spec.rb spec/models/blob_spec.rb spec/lib/gitlab/background_migration/reset_too_many_tags_skipped_registry_imports_spec.rb spec/models/service_desk_setting_spec.rb spec/lib/gitlab/alert_management/payload/prometheus_spec.rb spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb spec/models/integrations/prometheus_spec.rb spec/lib/api/entities/user_spec.rb spec/graphql/mutations/merge_requests/set_reviewers_spec.rb spec/lib/gitlab/gitaly_client/commit_service_spec.rb spec/workers/projects/import_export/create_relation_exports_worker_spec.rb spec/services/ci/job_artifacts/update_unknown_locked_status_service_spec.rb spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb spec/serializers/merge_request_poll_cached_widget_entity_spec.rb spec/workers/create_commit_signature_worker_spec.rb spec/helpers/merge_requests_helper_spec.rb spec/lib/banzai/reference_parser/merge_request_parser_spec.rb spec/lib/gitlab/auth/ldap/user_spec.rb spec/services/clusters/agents/authorizations/ci_access/refresh_service_spec.rb spec/services/security/merge_reports_service_spec.rb spec/rubocop/code_reuse_helpers_spec.rb spec/models/concerns/each_batch_spec.rb spec/workers/issuable_export_csv_worker_spec.rb spec/models/project_authorization_spec.rb spec/lib/bulk_imports/common/pipelines/members_pipeline_spec.rb spec/uploaders/ci/pipeline_artifact_uploader_spec.rb spec/services/clusters/build_kubernetes_namespace_service_spec.rb spec/finders/clusters/kubernetes_namespace_finder_spec.rb spec/serializers/note_entity_spec.rb spec/services/quick_actions/target_service_spec.rb spec/views/notify/pipeline_fixed_email.html.haml_spec.rb spec/models/ci/runner_project_spec.rb spec/lib/gitlab/gitaly_client/repository_service_spec.rb spec/lib/gitlab/metrics/background_transaction_spec.rb spec/services/commits/cherry_pick_service_spec.rb spec/finders/packages/tags_finder_spec.rb spec/services/labels/transfer_service_spec.rb spec/lib/gitlab/import_export/project/import_task_spec.rb spec/lib/gitlab/visibility_level_spec.rb spec/models/customer_relations/issue_contact_spec.rb spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb spec/services/tags/create_service_spec.rb spec/uploaders/packages/composer/cache_uploader_spec.rb spec/views/notify/import_work_items_csv_email.html.haml_spec.rb spec/lib/bulk_imports/groups/transformers/group_attributes_transformer_spec.rb spec/lib/gitlab/ci/matching/runner_matcher_spec.rb spec/services/security/ci_configuration/dependency_scanning_create_service_spec.rb spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb spec/serializers/deployment_cluster_entity_spec.rb spec/services/milestones/closed_issues_count_service_spec.rb spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb spec/services/groups/update_shared_runners_service_spec.rb spec/tooling/danger/feature_flag_spec.rb spec/services/projects/container_repository/destroy_service_spec.rb spec/services/packages/terraform_module/create_package_service_spec.rb spec/models/packages/sem_ver_spec.rb spec/workers/hashed_storage/project_migrate_worker_spec.rb spec/services/ci/create_pipeline_service/include_spec.rb spec/lib/gitlab/git/conflict/parser_spec.rb spec/lib/sidebars/user_profile/menus/overview_menu_spec.rb spec/models/group_label_spec.rb spec/services/feature_flags/update_service_spec.rb spec/policies/application_setting_policy_spec.rb spec/models/group_group_link_spec.rb spec/workers/environments/auto_stop_worker_spec.rb spec/lib/gitlab/import_export/file_importer_spec.rb spec/lib/gitlab/graphql/lazy_spec.rb spec/services/metrics/dashboard/pod_dashboard_service_spec.rb spec/lib/gitlab/ci/pipeline/chain/ensure_resource_groups_spec.rb spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb spec/views/projects/diffs/_viewer.html.haml_spec.rb spec/tasks/gitlab/uploads/check_rake_spec.rb spec/services/access_token_validation_service_spec.rb spec/lib/gitlab/job_waiter_spec.rb spec/lib/extracts_ref_spec.rb spec/lib/gitlab/import_export/repo_restorer_spec.rb spec/graphql/resolvers/ci/test_report_summary_resolver_spec.rb spec/lib/gitlab/ci/config/entry/product/matrix_spec.rb spec/lib/gitlab/import_export/uploads_saver_spec.rb spec/workers/gitlab/github_import/import_pull_request_worker_spec.rb spec/services/packages/debian/extract_changes_metadata_service_spec.rb spec/lib/gitlab/git/compare_spec.rb spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb spec/services/update_merge_request_metrics_service_spec.rb spec/services/protected_tags/update_service_spec.rb spec/models/board_spec.rb spec/initializers/direct_upload_support_spec.rb spec/models/integrations/google_play_spec.rb spec/tasks/gitlab/background_migrations_rake_spec.rb spec/lib/gitlab/ci/variables/helpers_spec.rb spec/lib/gitaly/server_spec.rb spec/services/projects/record_target_platforms_service_spec.rb spec/lib/gitlab/import_export/base/object_builder_spec.rb spec/graphql/mutations/environments/stop_spec.rb spec/lib/gitlab/highlight_spec.rb spec/models/packages/go/module_version_spec.rb spec/services/keys/revoke_service_spec.rb spec/services/customer_relations/contacts/update_service_spec.rb spec/models/concerns/loaded_in_group_list_spec.rb spec/lib/gitlab/dependency_linker/go_sum_linker_spec.rb spec/lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url_spec.rb spec/services/users/block_service_spec.rb spec/models/preloaders/user_max_access_level_in_groups_preloader_spec.rb spec/services/award_emojis/toggle_service_spec.rb spec/models/concerns/has_environment_scope_spec.rb spec/lib/api/helpers/packages_manager_clients_helpers_spec.rb spec/models/wiki_directory_spec.rb spec/lib/gitlab/ci/config/entry/jobs_spec.rb spec/graphql/resolvers/error_tracking/sentry_errors_resolver_spec.rb spec/lib/gitlab/github_import/importer/events/changed_milestone_spec.rb spec/lib/gitlab/app_json_logger_spec.rb spec/lib/gitlab/github_import/importer/label_links_importer_spec.rb spec/lib/gitlab/usage_data_counters/search_counter_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_monitor_enabled_metric_spec.rb spec/finders/alert_management/http_integrations_finder_spec.rb spec/lib/gitlab/import_export/reader_spec.rb spec/lib/gitlab/metrics/loose_foreign_keys_slis_spec.rb spec/rubocop/cop/migration/drop_table_spec.rb spec/models/integrations/assembla_spec.rb spec/models/subscription_spec.rb spec/graphql/resolvers/terraform/states_resolver_spec.rb spec/presenters/tree_entry_presenter_spec.rb spec/models/bulk_imports/batch_tracker_spec.rb spec/lib/gitlab/seeders/ci/variables_project_seeder_spec.rb spec/presenters/ci/group_variable_presenter_spec.rb spec/db/production/create_work_item_hierarchy_restrictions_spec.rb spec/graphql/resolvers/projects/services_resolver_spec.rb spec/lib/gitlab/gitaly_client/remote_service_spec.rb spec/models/concerns/vulnerability_finding_signature_helpers_spec.rb spec/views/projects/issues/_service_desk_info_content.html.haml_spec.rb spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb spec/workers/jira_connect/sync_branch_worker_spec.rb spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb spec/lib/sidebars/groups/menus/ci_cd_menu_spec.rb spec/models/group/crm_settings_spec.rb spec/rubocop/cop/gitlab/doc_url_spec.rb spec/models/ci/catalog/resource_spec.rb spec/lib/gitlab/reactive_cache_set_cache_spec.rb spec/lib/gitlab/language_detection_spec.rb spec/graphql/types/work_items/widgets/start_and_due_date_update_input_type_spec.rb spec/helpers/instance_configuration_helper_spec.rb spec/lib/gitlab/database/schema_migrations/context_spec.rb spec/services/users/dismiss_project_callout_service_spec.rb spec/serializers/merge_request_sidebar_basic_entity_spec.rb spec/initializers/6_validations_spec.rb spec/lib/gitlab/sidekiq_signals_spec.rb spec/serializers/merge_request_sidebar_extras_entity_spec.rb spec/services/users/migrate_records_to_ghost_user_in_batches_service_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_setting_enabled_metric_spec.rb spec/lib/gitlab/github_import/importer/attachments/issues_importer_spec.rb spec/services/packages/helm/extract_file_metadata_service_spec.rb spec/lib/bitbucket/representation/pull_request_comment_spec.rb spec/lib/api/entities/nuget/dependency_spec.rb spec/lib/gitlab/ci/templates/katalon_gitlab_ci_yaml_spec.rb spec/models/concerns/file_store_mounter_spec.rb spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb spec/graphql/mutations/base_mutation_spec.rb spec/lib/gitlab/pages/cache_control_spec.rb spec/models/user_agent_detail_spec.rb spec/graphql/types/container_expiration_policy_type_spec.rb spec/lib/gitlab/email/hook/silent_mode_interceptor_spec.rb spec/workers/schedule_merge_request_cleanup_refs_worker_spec.rb spec/views/shared/projects/_inactive_project_deletion_alert.html.haml_spec.rb spec/lib/api/entities/branch_spec.rb spec/views/shared/milestones/_top.html.haml_spec.rb spec/rubocop/check_graceful_task_spec.rb spec/rubocop/cop/database/multiple_databases_spec.rb spec/lib/gitlab/graphql/limit/field_call_count_spec.rb spec/helpers/milestones_helper_spec.rb spec/models/concerns/safely_change_column_default_spec.rb spec/graphql/types/achievements/achievement_type_spec.rb spec/models/work_items/widgets/notifications_spec.rb spec/tooling/danger/customer_success_spec.rb spec/workers/onboarding/progress_worker_spec.rb spec/workers/gitlab/github_import/stage/import_base_data_worker_spec.rb spec/lib/sidebars/projects/menus/ci_cd_menu_spec.rb spec/services/google_cloud/enable_cloud_run_service_spec.rb spec/models/user_mentions/merge_request_user_mention_spec.rb spec/workers/delete_container_repository_worker_spec.rb spec/lib/gitlab/config/entry/validatable_spec.rb spec/graphql/resolvers/commit_pipelines_resolver_spec.rb spec/graphql/types/work_items/widgets/description_input_type_spec.rb spec/graphql/types/incident_management/timeline_event_type_spec.rb spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb spec/lib/gitlab/ci/config/entry/publish_spec.rb spec/views/shared/ssh_keys/_key_delete.html.haml_spec.rb spec/services/user_preferences/update_service_spec.rb spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies_spec.rb spec/views/devise/shared/_error_messages.html.haml_spec.rb spec/workers/gitlab/github_import/import_release_attachments_worker_spec.rb spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb spec/graphql/types/grafana_integration_type_spec.rb spec/services/members/standard_member_builder_spec.rb spec/lib/gitlab/health_checks/middleware_spec.rb spec/lib/gitlab/import/errors_spec.rb spec/lib/gitlab/bullet_spec.rb spec/initializers/sawyer_patch_spec.rb spec/finders/achievements/achievements_finder_spec.rb spec/lib/sidebars/projects/super_sidebar_menus/plan_menu_spec.rb spec/graphql/types/release_assets_input_type_spec.rb spec/serializers/ci/lint/result_entity_spec.rb spec/serializers/codequality_reports_comparer_serializer_spec.rb spec/graphql/types/ci_configuration/sast/analyzers_entity_input_type_spec.rb spec/policies/concerns/policy_actor_spec.rb spec/rubocop/cop/migration/refer_to_index_by_name_spec.rb spec/validators/iso8601_date_validator_spec.rb spec/rubocop/cop/user_admin_spec.rb spec/rubocop/cop/gitlab/change_timezone_spec.rb spec/models/concerns/database_reflection_spec.rb spec/serializers/personal_access_token_entity_spec.rb spec/graphql/types/release_source_type_spec.rb spec/lib/gitlab/metrics/subscribers/action_view_spec.rb spec/graphql/types/notes/diff_position_type_spec.rb spec/helpers/work_items_helper_spec.rb spec/finders/data_transfer/mocked_transfer_finder_spec.rb spec/lib/api/entities/ci/job_artifact_file_spec.rb spec/lib/api/entities/nuget/package_metadata_catalog_entry_spec.rb spec/lib/api/entities/project_import_failed_relation_spec.rbKnapsack report generator started!760warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.762WARNING: Shared example group 'does not expose relationship' has been previously defined at:763 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:33764...and you are now defining it at:765 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:33766The new definition will overwrite the original one.767WARNING: Shared example group 'exposes relationship' has been previously defined at:768 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:39769...and you are now defining it at:770 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:39771The new definition will overwrite the original one.772WARNING: Shared example group 'does not expose relationship' has been previously defined at:773 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:33774...and you are now defining it at:775 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:33776The new definition will overwrite the original one.777WARNING: Shared example group 'exposes relationship' has been previously defined at:778 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:39779...and you are now defining it at:780 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:39781The new definition will overwrite the original one.782Run options: exclude {:quarantine=>true, :level=>"background_migration"}783Test environment set up in 1.425385431 seconds784ApplicationSetting785 example at ./spec/models/application_setting_spec.rb:12786 example at ./spec/models/application_setting_spec.rb:13787 is expected to eq nil788 is expected to be valid789 is expected to be present790 is expected to have db column named auto_devops_enabled791 behaves like sanitizable792 includes Sanitizable793 #default_branch_name794 when input includes javascript tags795 gets sanitized796 #default_branch_name validation797 when input contains pre-escaped html entities798 is not valid799 when it contains a path component800 is not valid801 default values802 is expected to eq 1803 is expected to eq {}804 is expected to eq {}805 associations806 is expected to belong to self_monitoring_project class_name => Project required: false inverse_of => application_setting807 is expected to belong to instance_group class_name => Group required: false inverse_of => application_setting808 validations809 is expected to allow :home_page_url to be ‹nil›810 is expected to allow :home_page_url to be ‹"http://example.com"›811 is expected to allow :home_page_url to be ‹"https://example.com"›812 is expected not to allow :home_page_url to be ‹"ftp://example.com"›813 is expected to allow :after_sign_out_path to be ‹nil›814 is expected to allow :after_sign_out_path to be ‹"http://example.com"›815 is expected to allow :after_sign_out_path to be ‹"https://example.com"›816 is expected not to allow :after_sign_out_path to be ‹"ftp://example.com"›817 is expected to allow :commit_email_hostname to be ‹"dev.gitlab.com"›818 is expected not to allow :commit_email_hostname to be ‹"@dev.gitlab"›819 is expected to allow :container_expiration_policies_enable_historic_entries to be ‹true›820 is expected to allow :container_expiration_policies_enable_historic_entries to be ‹false›821 is expected not to allow :container_expiration_policies_enable_historic_entries to be ‹nil›822 is expected to allow :lets_encrypt_notification_email to be ‹"myemail@gitlab.com"›823 is expected to allow :lets_encrypt_notification_email to be ‹nil›824 is expected not to allow :lets_encrypt_notification_email to be ‹"notanemail"›825 is expected not to allow :lets_encrypt_notification_email to be ‹"myemail@example.com"›826 is expected to allow :lets_encrypt_notification_email to be ‹"myemail@test.example.com"›827 is expected to allow :outbound_local_requests_whitelist to be ‹["192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192...›828 is expected not to allow :outbound_local_requests_whitelist to be ‹["192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192...›829 is expected to allow :outbound_local_requests_whitelist to be ‹["111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"]›830 is expected not to allow :outbound_local_requests_whitelist to be ‹["1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"]›831 is expected not to allow :outbound_local_requests_whitelist to be ‹["ğitlab.com"]›832 is expected to allow :outbound_local_requests_whitelist to be ‹["xn--itlab-j1a.com"]›833 is expected not to allow :outbound_local_requests_whitelist to be ‹["<h1></h1>"]›834 is expected to allow :outbound_local_requests_whitelist to be ‹["gitlab.com"]›835 is expected not to allow :outbound_local_requests_whitelist to be ‹nil›836 is expected to allow :outbound_local_requests_whitelist to be ‹[]›837 is expected to allow :static_objects_external_storage_url to be ‹nil›838 is expected to allow :static_objects_external_storage_url to be ‹"http://example.com"›839 is expected to allow :static_objects_external_storage_url to be ‹"https://example.com"›840 is expected to allow :protected_paths to be ‹["/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/examp...›841 is expected not to allow :protected_paths to be ‹["/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/examp...›842 is expected not to allow :protected_paths to be ‹nil›843 is expected to allow :protected_paths to be ‹[]›844 is expected to allow :push_event_hooks_limit to be ‹3›845 is expected not to allow :push_event_hooks_limit to be ‹"three"›846 is expected not to allow :push_event_hooks_limit to be ‹nil›847 is expected to allow :push_event_activities_limit to be ‹3›848 is expected not to allow :push_event_activities_limit to be ‹"three"›849 is expected not to allow :push_event_activities_limit to be ‹nil›850 is expected to validate that :container_registry_delete_tags_service_timeout looks like an integer greater than or equal to 0851 is expected to validate that :container_registry_cleanup_tags_service_max_list_size looks like an integer greater than or equal to 0852 is expected to validate that :container_registry_expiration_policies_worker_capacity looks like an integer greater than or equal to 0853 is expected to allow :container_registry_expiration_policies_caching to be ‹true›854 is expected to allow :container_registry_expiration_policies_caching to be ‹false›855 is expected to validate that :container_registry_import_max_tags_count looks like an integer greater than or equal to 0856 is expected to validate that :container_registry_import_max_retries looks like an integer greater than or equal to 0857 is expected to validate that :container_registry_import_start_max_retries looks like an integer greater than or equal to 0858 is expected to validate that :container_registry_import_max_step_duration looks like an integer greater than or equal to 0859 is expected to validate that :container_registry_pre_import_timeout looks like an integer greater than or equal to 0860 is expected to validate that :container_registry_import_timeout looks like an integer greater than or equal to 0861 is expected to validate that :container_registry_pre_import_tags_rate looks like a number greater than or equal to 0862 is expected not to allow :container_registry_import_max_tags_count to be ‹nil›863 is expected not to allow :container_registry_import_max_retries to be ‹nil›864 is expected not to allow :container_registry_import_start_max_retries to be ‹nil›865 is expected not to allow :container_registry_import_max_step_duration to be ‹nil›866 is expected not to allow :container_registry_pre_import_timeout to be ‹nil›867 is expected not to allow :container_registry_import_timeout to be ‹nil›868 is expected not to allow :container_registry_pre_import_tags_rate to be ‹nil›869 is expected to allow :container_registry_pre_import_tags_rate to be ‹1.5›870 is expected to validate that :container_registry_import_target_plan cannot be empty/falsy871 is expected to validate that :container_registry_import_created_before cannot be empty/falsy872 is expected to validate that :dependency_proxy_ttl_group_policy_worker_capacity looks like an integer greater than or equal to 0873 is expected not to allow :dependency_proxy_ttl_group_policy_worker_capacity to be ‹nil›874 is expected to validate that :packages_cleanup_package_file_worker_capacity looks like an integer greater than or equal to 0875 is expected not to allow :packages_cleanup_package_file_worker_capacity to be ‹nil›876 is expected to validate that :package_registry_cleanup_policies_worker_capacity looks like an integer greater than or equal to 0877 is expected not to allow :package_registry_cleanup_policies_worker_capacity to be ‹nil›878 is expected to validate that :snippet_size_limit looks like an integer greater than 0879 is expected to validate that :wiki_page_max_content_bytes looks like an integer greater than or equal to 1024880 is expected to validate that :max_artifacts_size cannot be empty/falsy881 is expected to validate that :max_artifacts_size looks like an integer greater than 0882 is expected to validate that :max_yaml_size_bytes cannot be empty/falsy883 is expected to validate that :max_yaml_size_bytes looks like an integer greater than 0884 is expected to validate that :max_yaml_depth cannot be empty/falsy885 is expected to validate that :max_yaml_depth looks like an integer greater than 0886 is expected to validate that :max_pages_size cannot be empty/falsy887 is expected to validate that :max_pages_custom_domains_per_project cannot be empty/falsy888 is expected to validate that :max_terraform_state_size_bytes cannot be empty/falsy889 is expected to validate that :max_terraform_state_size_bytes looks like an integer greater than or equal to 0890 is expected to allow :user_defaults_to_private_profile to be ‹true›891 is expected to allow :user_defaults_to_private_profile to be ‹false›892 is expected not to allow :user_defaults_to_private_profile to be ‹nil›893 is expected to allow :deny_all_requests_except_allowed to be ‹[true, false]›894 is expected not to allow :deny_all_requests_except_allowed to be ‹nil›895 ensures max_pages_size is an integer greater than 0 (or equal to 0 to indicate unlimited/maximum)896 ensures max_pages_custom_domains_per_project is an integer greater than 0 (or equal to 0 to indicate unlimited/maximum)897 is expected to validate that :jobs_per_stage_page_size cannot be empty/falsy898 is expected to validate that :jobs_per_stage_page_size looks like an integer greater than or equal to 0899 is expected not to allow :minimum_password_length to be ‹7›900 is expected not to allow :minimum_password_length to be ‹129›901 is expected not to allow :minimum_password_length to be ‹nil›902 is expected not to allow :minimum_password_length to be ‹"abc"›903 is expected to allow :minimum_password_length to be ‹10›904 is expected to allow :issues_create_limit to be ‹300›905 is expected not to allow :issues_create_limit to be ‹"three"›906 is expected not to allow :issues_create_limit to be ‹nil›907 is expected not to allow :issues_create_limit to be ‹10.5›908 is expected not to allow :issues_create_limit to be ‹-1›909 is expected to allow :raw_blob_request_limit to be ‹0›910 is expected not to allow :raw_blob_request_limit to be ‹"abc"›911 is expected not to allow :raw_blob_request_limit to be ‹nil›912 is expected not to allow :raw_blob_request_limit to be ‹10.5›913 is expected not to allow :raw_blob_request_limit to be ‹-1›914 is expected to allow :pipeline_limit_per_project_user_sha to be ‹0›915 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹"abc"›916 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹nil›917 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹10.5›918 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹-1›919 is expected not to allow :hashed_storage_enabled to be ‹false›920 is expected to allow :repository_storages_weighted to be ‹{"default" => 0}›921 is expected to allow :repository_storages_weighted to be ‹{"default" => 50}›922 is expected to allow :repository_storages_weighted to be ‹{"default" => 100}›923 is expected to allow :repository_storages_weighted to be ‹{"default" => "90"}›924 is expected to allow :repository_storages_weighted to be ‹{"default" => nil}›925 is expected not to allow :repository_storages_weighted to be ‹{"default" => -1}›, producing a custom validation error on failure926 is expected not to allow :repository_storages_weighted to be ‹{"default" => 101}›, producing a custom validation error on failure927 is expected not to allow :repository_storages_weighted to be ‹{"default" => 100, shouldntexist: 50}›, producing a custom validation error on failure928 is expected to allow :notes_create_limit to be ‹400›929 is expected not to allow :notes_create_limit to be ‹"two"›930 is expected not to allow :notes_create_limit to be ‹nil›931 is expected not to allow :notes_create_limit to be ‹5.5›932 is expected not to allow :notes_create_limit to be ‹-2›933 is expected to allow :search_rate_limit to be ‹400›934 is expected not to allow :search_rate_limit to be ‹"two"›935 is expected not to allow :search_rate_limit to be ‹nil›936 is expected not to allow :search_rate_limit to be ‹5.5›937 is expected not to allow :search_rate_limit to be ‹-2›938 is expected to allow :search_rate_limit_unauthenticated to be ‹400›939 is expected not to allow :search_rate_limit_unauthenticated to be ‹"two"›940 is expected not to allow :search_rate_limit_unauthenticated to be ‹nil›941 is expected not to allow :search_rate_limit_unauthenticated to be ‹5.5›942 is expected not to allow :search_rate_limit_unauthenticated to be ‹-2›943 is expected to allow :users_get_by_id_limit to be ‹400›944 is expected not to allow :users_get_by_id_limit to be ‹"two"›945 is expected not to allow :users_get_by_id_limit to be ‹nil›946 is expected not to allow :users_get_by_id_limit to be ‹5.5›947 is expected not to allow :users_get_by_id_limit to be ‹-2›948 is expected to allow :projects_api_rate_limit_unauthenticated to be ‹400›949 is expected not to allow :projects_api_rate_limit_unauthenticated to be ‹"two"›950 is expected not to allow :projects_api_rate_limit_unauthenticated to be ‹nil›951 is expected not to allow :projects_api_rate_limit_unauthenticated to be ‹5.5›952 is expected not to allow :projects_api_rate_limit_unauthenticated to be ‹-2›953 is expected to allow :notes_create_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›954 is expected not to allow :notes_create_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›955 is expected not to allow :notes_create_limit_allowlist to be ‹nil›956 is expected to allow :notes_create_limit_allowlist to be ‹[]›957 is expected to allow :users_get_by_id_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›958 is expected not to allow :users_get_by_id_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›959 is expected not to allow :users_get_by_id_limit_allowlist to be ‹nil›960 is expected to allow :users_get_by_id_limit_allowlist to be ‹[]›961 is expected to allow :whats_new_variant to be ‹"all_tiers"›962 is expected to allow :whats_new_variant to be ‹"current_tier"›963 is expected to allow :whats_new_variant to be ‹"disabled"›964 is expected not to allow :whats_new_variant to be ‹nil›965 is expected to allow :public_runner_releases_url to be ‹"http://example.com/"›966 is expected not to allow :public_runner_releases_url to be ‹nil›967 is expected to allow :update_runner_versions_enabled to be ‹[true, false]›968 is expected not to allow :update_runner_versions_enabled to be ‹nil›969 is expected not to allow :valid_runner_registrars to be ‹[""]›970 is expected not to allow :valid_runner_registrars to be ‹["OBVIOUSLY_WRONG"]›971 is expected not to allow :valid_runner_registrars to be ‹["project", "project"]›972 is expected not to allow :valid_runner_registrars to be ‹[nil]›973 is expected not to allow :valid_runner_registrars to be ‹nil›974 is expected to allow :valid_runner_registrars to be ‹[]›975 is expected to allow :valid_runner_registrars to be ‹["project", "group"]›976 is expected to allow :jira_connect_proxy_url to be ‹"http://example.com"›977 is expected to allow :jira_connect_proxy_url to be ‹"https://example.com"›978 is expected to allow :bulk_import_enabled to be ‹true›979 is expected to allow :bulk_import_enabled to be ‹false›980 is expected not to allow :bulk_import_enabled to be ‹nil›981 is expected to allow :allow_runner_registration_token to be ‹true›982 is expected to allow :allow_runner_registration_token to be ‹false›983 is expected not to allow :allow_runner_registration_token to be ‹nil›984 is expected to allow :gitlab_dedicated_instance to be ‹true›985 is expected to allow :gitlab_dedicated_instance to be ‹false›986 is expected not to allow :gitlab_dedicated_instance to be ‹nil›987 is expected not to allow :database_apdex_settings to be ‹{random: :value}›988 is expected to allow :database_apdex_settings to be ‹nil›989 is expected to allow :database_apdex_settings to be ‹{prometheus_api_url: "Prometheus URL", apdex_sli_query: {:main=>"Apdex SLI query main", :ci=>"Apdex SLI query ci"}, apdex_slo: {:main=>0.99, :ci=>0.98}}›990 is expected to allow :silent_mode_enabled to be ‹[true, false]›991 is expected not to allow :silent_mode_enabled to be ‹nil›992 is expected to allow :ci_max_includes to be ‹0›993 is expected to allow :ci_max_includes to be ‹200›994 is expected not to allow :ci_max_includes to be ‹"abc"›995 is expected not to allow :ci_max_includes to be ‹nil›996 is expected not to allow :ci_max_includes to be ‹10.5›997 is expected not to allow :ci_max_includes to be ‹-1›998 is expected to validate that :max_attachment_size cannot be empty/falsy999 is expected to validate that :max_attachment_size looks like an integer greater than 01000 is expected to validate that :max_export_size cannot be empty/falsy1001 is expected to validate that :max_export_size looks like an integer greater than or equal to 01002 is expected to validate that :max_import_size cannot be empty/falsy1003 is expected to validate that :max_import_size looks like an integer greater than or equal to 01004 is expected to validate that :local_markdown_version looks like an integer greater than or equal to 0 and less than 655361005 is expected to validate that :archive_builds_in_seconds looks like an integer greater than or equal to 86400, producing a custom validation error on failure1006 when deactivate_dormant_users is enabled1007 is expected not to allow :deactivate_dormant_users_period to be ‹nil›1008 is expected to allow :deactivate_dormant_users_period to be ‹90›1009 is expected to allow :deactivate_dormant_users_period to be ‹365›1010 is expected not to allow :deactivate_dormant_users_period to be ‹89›1011 help_page_documentation_base_url validations1012 is expected to allow :help_page_documentation_base_url to be ‹nil›1013 is expected to allow :help_page_documentation_base_url to be ‹"https://docs.gitlab.com"›1014 is expected to allow :help_page_documentation_base_url to be ‹"http://127.0.0.1"›1015 is expected not to allow :help_page_documentation_base_url to be ‹"docs.gitlab.com"›1016 when url length validation1017 when value string length is 255 characters1018 allows the value1019 when value string length exceeds 255 characters1020 does not allow the value1021 import_sources validation1022 removes phabricator as an import source1023 grafana_url validations1024 is expected to allow :grafana_url to be ‹"http://example.com"›1025 is expected to allow :grafana_url to be ‹"https://example.com"›1026 is expected not to allow :grafana_url to be ‹"ftp://example.com"›1027 is expected not to allow :grafana_url to be ‹"javascript:alert(window.opener.document.location)"›1028 is expected to allow :grafana_url to be ‹"/-/grafana"›1029 is expected to allow :grafana_url to be ‹"http://localhost:9000"›1030 when local URLs are not allowed in system hooks1031 is expected not to allow :grafana_url to be ‹"http://localhost:9000"›1032 is expected not to allow :jira_connect_proxy_url to be ‹"http://localhost:9000"›1033 with invalid grafana URL1034 adds an error1035 with blocked grafana URL1036 adds an error1037 default_branch_name validations1038 when javascript tags get sanitized properly1039 gets sanitized properly1040 spam_check_endpoint1041 when spam_check_endpoint is enabled1042 is expected to allow :spam_check_endpoint_url to be ‹"grpc://example.org/spam_check"›1043 is expected to allow :spam_check_endpoint_url to be ‹"tls://example.org/spam_check"›1044 is expected not to allow :spam_check_endpoint_url to be ‹"https://example.org/spam_check"›1045 is expected not to allow :spam_check_endpoint_url to be ‹"nonsense"›1046 is expected not to allow :spam_check_endpoint_url to be ‹nil›1047 is expected not to allow :spam_check_endpoint_url to be ‹""›1048 when spam_check_endpoint is NOT enabled1049 is expected to allow :spam_check_endpoint_url to be ‹"grpc://example.org/spam_check"›1050 is expected to allow :spam_check_endpoint_url to be ‹"tls://example.org/spam_check"›1051 is expected not to allow :spam_check_endpoint_url to be ‹"https://example.org/spam_check"›1052 is expected not to allow :spam_check_endpoint_url to be ‹"nonsense"›1053 is expected to allow :spam_check_endpoint_url to be ‹nil›1054 is expected to allow :spam_check_endpoint_url to be ‹""›1055 snowplow settings1056 when snowplow is enabled1057 is expected not to allow :snowplow_collector_hostname to be ‹nil›1058 is expected to allow :snowplow_collector_hostname to be ‹"snowplow.gitlab.com"›1059 is expected not to allow :snowplow_collector_hostname to be ‹"/example"›1060 when snowplow is not enabled1061 is expected to allow :snowplow_collector_hostname to be ‹nil›1062 when mailgun_events_enabled is enabled1063 is expected to validate that :mailgun_signing_key cannot be empty/falsy1064 is expected to validate that the length of :mailgun_signing_key is at most 2551065 when mailgun_events_enabled is not enabled1066 is expected not to validate that :mailgun_signing_key cannot be empty/falsy1067 when user accepted let's encrypt terms of service1068 is expected not to allow :lets_encrypt_notification_email to be ‹nil›1069 EKS integration1070 integration is disabled1071 is expected to allow :eks_account_id to be ‹nil›1072 is expected to allow :eks_access_key_id to be ‹nil›1073 is expected to allow :eks_secret_access_key to be ‹nil›1074 integration is enabled1075 is expected to allow :eks_account_id to be ‹"123456789012"›1076 is expected not to allow :eks_account_id to be ‹nil›1077 is expected not to allow :eks_account_id to be ‹"123"›1078 is expected not to allow :eks_account_id to be ‹"12345678901a"›1079 is expected to allow :eks_access_key_id to be ‹"access-key-id-12"›1080 is expected not to allow :eks_access_key_id to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›1081 is expected not to allow :eks_access_key_id to be ‹"short-key"›1082 is expected to allow :eks_access_key_id to be ‹nil›1083 is expected to allow :eks_secret_access_key to be ‹"secret-access-key"›1084 is expected to allow :eks_secret_access_key to be ‹nil›1085 access key is specified1086 is expected to allow :eks_secret_access_key to be ‹"secret-access-key"›1087 is expected not to allow :eks_secret_access_key to be ‹nil›1088 default_artifacts_expire_in1089 sets an error if it cannot parse1090 sets an error if it is blank1091 sets the value if it is valid1092 sets the value if it is 01093 usage_ping_enabled setting1094 when setting is in database1095 with usage_ping_enabled disabled1096 behaves like usage ping disabled1097 is expected to eq false1098 with usage_ping_enabled enabled1099 behaves like usage ping enabled1100 is expected to eq true1101 when setting is in GitLab config1102 with usage_ping_enabled disabled1103 behaves like usage ping disabled1104 is expected to eq false1105 with usage_ping_enabled enabled1106 behaves like usage ping enabled1107 is expected to eq true1108 when setting in database false and setting in GitLab config true1109 behaves like usage ping disabled1110 is expected to eq false1111 when setting database true and setting in GitLab config false1112 behaves like usage ping disabled1113 is expected to eq false1114 when setting database true and setting in GitLab config true1115 behaves like usage ping enabled1116 is expected to eq true1117 setting validated as `addressable_url` configured with external URI1118 is valid by default1119 is invalid when unpersisted `deny_all_requests_except_allowed` property is true1120 key restrictions1121 does not allow all key types to be disabled1122 #ensure_key_restrictions!1123 with non-compliant FIPS settings1124 in non-FIPS mode1125 keeps existing key restrictions1126 in FIPS mode1127 updates key restrictions to meet FIPS compliance1128 behaves like an object with email-formatted attributes1129 specifically its :abuse_notification_email attribute1130 with a value of 'info@example.com'1131 is valid1132 with a value of 'info+test@example.com'1133 is valid1134 with a value of 'o'reilly@example.com'1135 is valid1136 with a value of 'mailto:test@example.com'1137 is valid1138 with a value of 'lol!'+=?><#$%^&*()@gmail.com'1139 is valid1140 with a value of 'foobar'1141 is invalid1142 with a value of 'test@test@example.com'1143 is invalid1144 repository_storages is a String, not an Array1145 is expected to eq ["default"]1146 auto_devops_domain setting1147 when auto_devops_enabled? is true1148 can be blank1149 with a valid value1150 is valid1151 with an invalid value1152 is invalid1153 repository storages1154 inclusion1155 is expected to allow :repository_storages to be ‹"custom1"›1156 is expected to allow :repository_storages to be ‹["custom2", "custom3"]›1157 is expected not to allow :repository_storages to be ‹"alternative"›1158 is expected not to allow :repository_storages to be ‹["alternative", "custom1"]›1159 presence1160 is expected not to allow :repository_storages to be ‹[]›1161 is expected not to allow :repository_storages to be ‹""›1162 is expected not to allow :repository_storages to be ‹nil›1163 housekeeping settings1164 is expected not to allow :housekeeping_optimize_repository_period to be ‹0›1165 gitaly timeouts1166 validates that the default_timeout is lower than the max_request_duration1167 is expected to validate that :gitaly_timeout_default looks like an integer greater than or equal to 01168 is expected to validate that :gitaly_timeout_medium looks like an integer greater than or equal to 01169 is expected to validate that :gitaly_timeout_fast looks like an integer greater than or equal to 01170 validates that gitaly_timeout_medium is lower than timeout_default1171 validates that gitaly_timeout_fast is lower than timeout_default1172 accepts all timeouts equal1173 accepts timeouts in descending order1174 rejects timeouts in ascending order1175 rejects medium timeout larger than default1176 rejects medium timeout smaller than fast1177 does not prevent from saving when gitaly timeouts were previously invalid1178 enforcing terms1179 requires the terms to present when enforcing users to accept1180 is valid when terms are created1181 when external authorization service is enabled1182 is expected not to allow :external_authorization_service_url to be ‹"not a URL"›1183 is expected to allow :external_authorization_service_url to be ‹"https://example.com"›1184 is expected to allow :external_authorization_service_url to be ‹""›1185 is expected not to allow :external_authorization_service_default_label to be ‹nil›1186 is expected not to allow :external_authorization_service_timeout to be ‹11›1187 is expected not to allow :external_authorization_service_timeout to be ‹0›1188 is expected not to allow :external_auth_client_cert to be ‹"not a certificate"›1189 is expected to allow :external_auth_client_cert to be ‹""›1190 is expected to allow :external_auth_client_key to be ‹""›1191 when setting a valid client certificate for external authorization1192 requires a valid client key when a certificate is set1193 requires a matching certificate1194 the credentials are valid when the private key can be read and matches the certificate1195 asset proxy settings1196 #asset_proxy_url1197 is expected not to allow :asset_proxy_url to be ‹""›1198 is expected to allow :asset_proxy_url to be ‹"http://example.com"›1199 is expected to allow :asset_proxy_url to be ‹"https://example.com"›1200 is expected not to allow :asset_proxy_url to be ‹"ftp://example.com"›1201 is not required when asset proxy is disabled1202 #asset_proxy_secret_key1203 is expected not to allow :asset_proxy_secret_key to be ‹""›1204 is expected to allow :asset_proxy_secret_key to be ‹"anything"›1205 is not required when asset proxy is disabled1206 is encrypted1207 #asset_proxy_whitelist1208 when given an Array1209 sets the domains and adds current running host1210 when given a String1211 sets multiple domains with spaces1212 sets multiple domains with newlines and a space1213 sets multiple domains with commas1214 #asset_proxy_allowlist1215 when given an Array1216 sets the domains and adds current running host1217 when given a String1218 sets multiple domains with spaces1219 sets multiple domains with newlines and a space1220 sets multiple domains with commas1221 #ci_jwt_signing_key1222 is expected not to allow :ci_jwt_signing_key to be ‹""›1223 is expected not to allow :ci_jwt_signing_key to be ‹"invalid RSA key"›1224 is expected to allow :ci_jwt_signing_key to be ‹nil›1225 is expected to allow :ci_jwt_signing_key to be ‹"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQCvYiifuHCkE2U4JktcoaSlPTE0aDMkgBML9/TlbxHW4cIsqYDf\nQ/CnImArodzBpnzzh4nXofBU7Ez17o8EuSESRheNKVOpwguTTyslctzQogSGt3S7\nAWb6RZiPCdebOd51/mpWa3iXkARwP0knxvYXHis+ESN3cFOQdKaGpY2QjQIDAQAB\nAoGBAIzDQ8etyPpndr3yPlpCglr9Ghjt6N5KzP62LKBY3QCSgb5G7WBEr0n1lSpv\n5zal4XO0PTYMi1AduEdLCQ7JZ3hmwLJUwzclnQR4jFlCW4ZjTs80lkxfdt15Myb8\nJ9oR10w56MeoNy5lqZZErOP4c1e+v0TgCSuph0/t/YzpBQAhAkEA3Yna7LPX7sBe\n7NEfqU7beEOJDLBeOjpHu4mpQpTalJcCuWAFUHeSbjtCpKCyWOlCuCLRwlHzfDI2\nlDOx...›1226 is encrypted1227 #customers_dot_jwt_signing_key1228 is expected not to allow :customers_dot_jwt_signing_key to be ‹""›1229 is expected not to allow :customers_dot_jwt_signing_key to be ‹"invalid RSA key"›1230 is expected to allow :customers_dot_jwt_signing_key to be ‹nil›1231 is expected to allow :customers_dot_jwt_signing_key to be ‹"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDPJZ8tsGFbQb0y+rTJ36f1+JXlLIFdURJcmMEsMR9MFIHOehc5\nhilzKghtCdmyimei12FFz1V5YEhEfoiQd3YfRB8oW3jHFj3g71RENRNUhfXE5Q8X\n403o2JMmTy90lu1L9OACUWLiflua1sbLdutfl9g/udNahDW/KWKve3faiwIDAQAB\nAoGBAMv7qDw9rCFJIx7Icq84ZxV4rWL36IwUAZjdc5wo40DwEMNaxvQGgVq+0X1O\nbem7EULyBP/Ro8HaZk/Mqn5YpR9vNFk9MEytPwj54tMV+jjGLujXOJHB886R6ZW/\naWoHvgbeKpPcLaN2pC81rfXLiHr5dU1XAsGcguoulvahSdIBAkEA68QgY+syLyH9\nQ/C1o7xMtVDtbRV6jJBxO5B+dpXkKxoj9L/oE3BFOAmWJAISDDiFcsnDM6bXjSsc\nw8xY...›1232 is encrypted1233 #cloud_license_auth_token1234 is expected to allow :cloud_license_auth_token to be ‹nil›1235 is encrypted1236 static objects external storage1237 when URL is set1238 is expected not to allow :static_objects_external_storage_auth_token to be ‹nil›1239 sourcegraph settings1240 is invalid if sourcegraph is enabled and no url is provided1241 gitpod settings1242 is invalid if gitpod is enabled and no url is provided1243 is invalid if gitpod is enabled and an empty url is provided1244 is invalid if gitpod is enabled and an invalid url is provided1245 throttle_* settings1246 throttle_setting: :throttle_unauthenticated_api_requests_per_period1247 is expected to allow :throttle_unauthenticated_api_requests_per_period to be ‹3›1248 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹-3›1249 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹0›1250 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹"three"›1251 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹nil›1252 throttle_setting: :throttle_unauthenticated_api_period_in_seconds1253 is expected to allow :throttle_unauthenticated_api_period_in_seconds to be ‹3›1254 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹-3›1255 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹0›1256 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹"three"›1257 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹nil›1258 throttle_setting: :throttle_unauthenticated_requests_per_period1259 is expected to allow :throttle_unauthenticated_requests_per_period to be ‹3›1260 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹-3›1261 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹0›1262 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹"three"›1263 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹nil›1264 throttle_setting: :throttle_unauthenticated_period_in_seconds1265 is expected to allow :throttle_unauthenticated_period_in_seconds to be ‹3›1266 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹-3›1267 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹0›1268 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹"three"›1269 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹nil›1270 throttle_setting: :throttle_authenticated_api_requests_per_period1271 is expected to allow :throttle_authenticated_api_requests_per_period to be ‹3›1272 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹-3›1273 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹0›1274 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹"three"›1275 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹nil›1276 throttle_setting: :throttle_authenticated_api_period_in_seconds1277 is expected to allow :throttle_authenticated_api_period_in_seconds to be ‹3›1278 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹-3›1279 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹0›1280 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹"three"›1281 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹nil›1282 throttle_setting: :throttle_authenticated_web_requests_per_period1283 is expected to allow :throttle_authenticated_web_requests_per_period to be ‹3›1284 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹-3›1285 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹0›1286 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹"three"›1287 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹nil›1288 throttle_setting: :throttle_authenticated_web_period_in_seconds1289 is expected to allow :throttle_authenticated_web_period_in_seconds to be ‹3›1290 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹-3›1291 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹0›1292 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹"three"›1293 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹nil›1294 throttle_setting: :throttle_unauthenticated_packages_api_requests_per_period1295 is expected to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹3›1296 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹-3›1297 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹0›1298 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹"three"›1299 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹nil›1300 throttle_setting: :throttle_unauthenticated_packages_api_period_in_seconds1301 is expected to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹3›1302 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹-3›1303 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹0›1304 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹"three"›1305 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹nil›1306 throttle_setting: :throttle_authenticated_packages_api_requests_per_period1307 is expected to allow :throttle_authenticated_packages_api_requests_per_period to be ‹3›1308 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹-3›1309 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹0›1310 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹"three"›1311 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹nil›1312 throttle_setting: :throttle_authenticated_packages_api_period_in_seconds1313 is expected to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹3›1314 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹-3›1315 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹0›1316 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹"three"›1317 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹nil›1318 throttle_setting: :throttle_unauthenticated_files_api_requests_per_period1319 is expected to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹3›1320 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹-3›1321 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹0›1322 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹"three"›1323 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹nil›1324 throttle_setting: :throttle_unauthenticated_files_api_period_in_seconds1325 is expected to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹3›1326 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹-3›1327 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹0›1328 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹"three"›1329 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹nil›1330 throttle_setting: :throttle_authenticated_files_api_requests_per_period1331 is expected to allow :throttle_authenticated_files_api_requests_per_period to be ‹3›1332 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹-3›1333 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹0›1334 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹"three"›1335 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹nil›1336 throttle_setting: :throttle_authenticated_files_api_period_in_seconds1337 is expected to allow :throttle_authenticated_files_api_period_in_seconds to be ‹3›1338 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹-3›1339 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹0›1340 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹"three"›1341 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹nil›1342 throttle_setting: :throttle_unauthenticated_deprecated_api_requests_per_period1343 is expected to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹3›1344 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹-3›1345 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹0›1346 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹"three"›1347 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹nil›1348 throttle_setting: :throttle_unauthenticated_deprecated_api_period_in_seconds1349 is expected to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹3›1350 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹-3›1351 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹0›1352 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹"three"›1353 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹nil›1354 throttle_setting: :throttle_authenticated_deprecated_api_requests_per_period1355 is expected to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹3›1356 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹-3›1357 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹0›1358 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹"three"›1359 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹nil›1360 throttle_setting: :throttle_authenticated_deprecated_api_period_in_seconds1361 is expected to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹3›1362 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹-3›1363 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹0›1364 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹"three"›1365 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹nil›1366 throttle_setting: :throttle_authenticated_git_lfs_requests_per_period1367 is expected to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹3›1368 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹-3›1369 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹0›1370 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹"three"›1371 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹nil›1372 throttle_setting: :throttle_authenticated_git_lfs_period_in_seconds1373 is expected to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹3›1374 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹-3›1375 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹0›1376 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹"three"›1377 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹nil›1378 sidekiq job limiter settings1379 has the right defaults1380 is expected to allow :sidekiq_job_limiter_mode to be ‹"track"›1381 is expected to validate that :sidekiq_job_limiter_compression_threshold_bytes looks like an integer greater than or equal to 01382 is expected to validate that :sidekiq_job_limiter_limit_bytes looks like an integer greater than or equal to 01383 prometheus settings1384 validates metrics_method_call_threshold1385 error tracking settings1386 with error tracking disabled1387 is expected to allow :error_tracking_api_url to be ‹nil›1388 with error tracking enabled1389 is expected to allow :error_tracking_api_url to be ‹"http://example.com"›1390 is expected to allow :error_tracking_api_url to be ‹"https://example.com"›1391 is expected not to allow :error_tracking_api_url to be ‹"ftp://example.com"›1392 is expected to validate that :error_tracking_api_url cannot be empty/falsy1393 for default_preferred_language1394 is expected to allow :default_preferred_language to be ‹"bg"›, ‹"cs_CZ"›, ‹"da_DK"›, ‹"de"›, ‹"en"›, ‹"eo"›, ‹"es"›, ‹"fil_PH"›, ‹"fr"›, ‹"gl_ES"›, ‹"id_ID"›, ‹"it"›, ‹"ja"›, ‹"ko"›, ‹"nb_NO"›, ‹"nl_NL"›, ‹"pl_PL"›, ‹"pt_BR"›, ‹"ro_RO"›, ‹"ru"›, ‹"si_LK"›, ‹"tr_TR"›, ‹"uk"›, ‹"zh_CN"›, ‹"zh_HK"›, or ‹"zh_TW"›1395 is expected not to allow :default_preferred_language to be ‹nil›, ‹""›, or ‹"invalid_locale"›1396 for default_syntax_highlighting_theme1397 is expected to allow :default_syntax_highlighting_theme to be ‹1›, ‹2›, ‹3›, ‹4›, ‹5›, or ‹6›1398 is expected not to allow :default_syntax_highlighting_theme to be ‹nil›, ‹0›, or ‹7›1399 restrict creating duplicates1400 returns the current settings1401 when ApplicationSettings does not have a primary key1402 raises an exception1403 ADDRESSABLE_URL_VALIDATION_OPTIONS1404 is applied to all addressable_url validated properties1405 #disabled_oauth_sign_in_sources=1406 removes unknown sources (as strings) from the array1407 removes unknown sources (as symbols) from the array1408 ignores nil1409 performance bar settings1410 performance_bar_allowed_group1411 with no performance_bar_allowed_group_id saved1412 returns nil1413 with a performance_bar_allowed_group_id saved1414 returns the group1415 performance_bar_enabled1416 with the Performance Bar is enabled1417 returns true1418 diff limit settings1419 #diff_max_patch_bytes1420 validations1421 is expected to validate that :diff_max_patch_bytes cannot be empty/falsy1422 is expected to validate that :diff_max_patch_bytes looks like an integer greater than or equal to 204800 and less than or equal to 5120001423 #diff_max_files1424 validations1425 is expected to validate that :diff_max_files cannot be empty/falsy1426 is expected to validate that :diff_max_files looks like an integer greater than or equal to 1000 and less than or equal to 30001427 #diff_max_lines1428 validations1429 is expected to validate that :diff_max_lines cannot be empty/falsy1430 is expected to validate that :diff_max_lines looks like an integer greater than or equal to 50000 and less than or equal to 1000001431 #sourcegraph_url_is_com?1432 url: "https://sourcegraph.com", is_com: true1433 matches the url with sourcegraph.com1434 url: "https://sourcegraph.com/", is_com: true1435 matches the url with sourcegraph.com1436 url: "https://www.sourcegraph.com", is_com: true1437 matches the url with sourcegraph.com1438 url: "shttps://www.sourcegraph.com", is_com: false1439 matches the url with sourcegraph.com1440 url: "https://sourcegraph.example.com/", is_com: false1441 matches the url with sourcegraph.com1442 url: "https://sourcegraph.org/", is_com: false1443 matches the url with sourcegraph.com1444 #instance_review_permitted?1445 users_over_minimum: -11446 is expected to equal false1447 users_over_minimum: 01448 is expected to equal true1449 users_over_minimum: 11450 is expected to equal true1451 email_restrictions1452 when email restrictions are enabled1453 allows empty email restrictions1454 accepts valid email restrictions regex1455 does not accept invalid email restrictions regex1456 sets an error when regex is not valid1457 when email restrictions are disabled1458 allows empty email restrictions1459 invalid regex is not valid1460 behaves like application settings examples1461 predicate method changes when value is updated1462 restricted signup domains1463 behaves like string of domains1464 sets single domain1465 sets multiple domains with spaces1466 sets multiple domains with newlines and a space1467 sets multiple domains with commas1468 sets multiple domains with semicolon1469 sets multiple domains with mixture of everything1470 removes duplicates1471 does not fail with garbage values1472 does not raise error with nil1473 denied signup domains1474 sets multiple domain with file1475 behaves like string of domains1476 sets single domain1477 sets multiple domains with spaces1478 sets multiple domains with newlines and a space1479 sets multiple domains with commas1480 sets multiple domains with semicolon1481 sets multiple domains with mixture of everything1482 removes duplicates1483 does not fail with garbage values1484 does not raise error with nil1485 outbound_local_requests_whitelist1486 clears outbound_local_requests_allowlist_arrays memoization1487 behaves like string of domains1488 sets single domain1489 sets multiple domains with spaces1490 sets multiple domains with newlines and a space1491 sets multiple domains with commas1492 sets multiple domains with semicolon1493 sets multiple domains with mixture of everything1494 removes duplicates1495 does not fail with garbage values1496 does not raise error with nil1497 outbound_local_requests_allowlist_arrays1498 separates the IPs and domains1499 add_to_outbound_local_requests_whitelist1500 adds entry to outbound_local_requests_whitelist1501 clears outbound_local_requests_allowlist_arrays memoization1502 does not raise error with nil1503 does not raise error with nil1504 usage ping settings1505 when the usage ping is disabled in gitlab.yml1506 does not allow the usage ping to be configured1507 when the usage ping is disabled in the DB1508 returns false for usage_ping_enabled1509 when the usage ping is enabled in the DB1510 returns false for usage_ping_enabled1511 when the usage ping is enabled in gitlab.yml1512 allows the usage ping to be configured1513 when the usage ping is disabled in the DB1514 returns false for usage_ping_enabled1515 when the usage ping is enabled in the DB1516 returns true for usage_ping_enabled1517 #allowed_key_types1518 excludes disabled key types1519 in non-FIPS mode1520 includes all key types by default1521 in FIPS mode1522 excludes DSA from supported key types1523 #key_restriction_for1524 returns the restriction value for recognised types1525 allows types to be passed as a string1526 returns forbidden for unrecognised type1527 #allow_signup?1528 returns true1529 returns false if signup is disabled1530 returns false if password authentication is disabled for the web interface1531 #pick_repository_storage1532 chooses repository based on weight1533 #normalized_repository_storage_weights1534 config_storages: ["default", "backup"], storages: {"default"=>0, "backup"=>100}, normalized: {"default"=>0.0, "backup"=>1.0}1535 normalizes storage weights1536 config_storages: ["default", "backup"], storages: {"default"=>100, "backup"=>100}, normalized: {"default"=>0.5, "backup"=>0.5}1537 normalizes storage weights1538 config_storages: ["default", "backup"], storages: {"default"=>20, "backup"=>80}, normalized: {"default"=>0.2, "backup"=>0.8}1539 normalizes storage weights1540 config_storages: ["default", "backup"], storages: {"default"=>0, "backup"=>0}, normalized: {"default"=>0.0, "backup"=>0.0}1541 normalizes storage weights1542 config_storages: ["default"], storages: {"default"=>0, "backup"=>100}, normalized: {"default"=>0.0}1543 normalizes storage weights1544 config_storages: ["default"], storages: {"default"=>100, "backup"=>100}, normalized: {"default"=>1.0}1545 normalizes storage weights1546 config_storages: ["default"], storages: {"default"=>20, "backup"=>80}, normalized: {"default"=>1.0}1547 normalizes storage weights1548 #user_default_internal_regex_enabled?1549 user_default_external: false, user_default_internal_regex: nil, result: false1550 is expected to eq false1551 user_default_external: false, user_default_internal_regex: "", result: false1552 is expected to eq false1553 user_default_external: false, user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?\\n?", result: false1554 is expected to eq false1555 user_default_external: true, user_default_internal_regex: "", result: false1556 is expected to eq false1557 user_default_external: true, user_default_internal_regex: nil, result: false1558 is expected to eq false1559 user_default_external: true, user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?\\n?", result: true1560 is expected to eq true1561 #archive_builds_older_than1562 when the archive_builds_in_seconds is set1563 is expected to be within 60 of 2023-04-27 05:03:18.036658320 +00001564 when the archive_builds_in_seconds is set1565 is expected to be nil1566 #commit_email_hostname1567 when the value is provided1568 returns the provided value1569 when the value is not provided1570 returns the default from the class1571 kroki_format_supported?1572 returns true when Excalidraw is enabled1573 returns true when BlockDiag is enabled1574 returns false when BlockDiag is disabled1575 returns false when the diagram type is optional and not enabled1576 returns true when the diagram type is enabled by default1577 returns false when the diagram type is unknown1578 kroki_formats1579 returns the value for kroki_formats1580 #static_objects_external_storage_auth_token=1581 stores an encrypted version of the token1582 when token is empty1583 removes an encrypted version of the token1584 with plaintext token only1585 ignores the plaintext token1586 #database_grafana_api_key1587 is encrypted1588 inactive project deletion1589 validates that inactive_projects_send_warning_email_after_months is less than inactive_projects_delete_after_months1590 is expected to validate that :inactive_projects_send_warning_email_after_months looks like a number greater than 01591 is expected to validate that :inactive_projects_delete_after_months looks like a number greater than 01592 is expected to validate that :inactive_projects_min_size_mb looks like a number greater than or equal to 01593 deletes the redis key used for tracking inactive projects deletion warning emails when setting is updated1594 personal accesss token prefix1595 sets the correct default value1596 .personal_access_tokens_disabled?1597 is false1598Noteable1599 #discussions1600 includes discussions for diff notes, commit diff notes, commit notes, and regular notes1601 #commenters1602 when noteable is an issue1603 behaves like commenters1604 does not automatically include the noteable author1605 with no user1606 contains a distinct list of non-internal note authors1607 with non project member1608 contains a distinct list of non-internal note authors1609 does not include a commenter from another noteable1610 with reporter1611 contains a distinct list of non-internal note authors1612 with noteable author1613 contains a distinct list of non-internal note authors1614 when noteable is a merge request1615 behaves like commenters1616 does not automatically include the noteable author1617 with no user1618 contains a distinct list of non-internal note authors1619 with non project member1620 contains a distinct list of non-internal note authors1621 does not include a commenter from another noteable1622 #discussion_ids_relation1623 returns ordered discussion_ids1624 #discussion_root_note_ids1625 returns ordered discussion_ids and synthetic note ids1626 filters by comments only1627 filters by system notes only1628 #grouped_diff_discussions1629 includes active discussions1630 does not include outdated discussions1631 groups the discussions by line code1632 discussion status1633 #discussions_resolvable?1634 when all discussions are unresolvable1635 returns false1636 when some discussions are unresolvable and some discussions are resolvable1637 returns true1638 when all discussions are resolvable1639 returns true1640 #discussions_resolved?1641 when discussions are not resolvable1642 returns false1643 when discussions are resolvable1644 when all resolvable discussions are resolved1645 returns true1646 when some resolvable discussions are not resolved1647 returns false1648 #discussions_to_be_resolved1649 includes only discussions that need to be resolved1650 #discussions_can_be_resolved_by?1651 all discussions can be resolved by the user1652 allows a user to resolve the discussions1653 one discussion cannot be resolved by the user1654 allows a user to resolve the discussions1655 .replyable_types1656 exposes the replyable types1657 .resolvable_types1658 exposes the replyable types1659 .email_creatable_types1660 exposes the email creatable types1661 #capped_notes_count1662 notes number < 101663 the number of notes is returned1664 notes number > 101665 10 is returned1666 #has_any_diff_note_positions?1667 returns true when it has diff note positions1668 returns false when it has notes but no diff note positions1669 returns false when it has no notes1670 #creatable_note_email_address1671 incoming email enabled1672 returns the address to create a note1673 returns nil for unsupported types1674 incoming email disabled1675 returns nil1676Ci::Runner1677 behaves like having unique enum values1678 has unique values in "executor_type"1679 has unique values in "access_level"1680 has unique values in "runner_type"1681 has unique values in "registration_type"1682 behaves like it has loose foreign keys1683 has at least one loose foreign key definition1684 has the deletion trigger present1685 records record deletions1686 cleans up record deletions1687 loose foreign key on ci_runners.creator_id1688 behaves like cleanup by a loose foreign key1689 cleans up (delete or nullify) the model1690 groups association1691 does not create a cross-database query1692 projects association1693 does not create a cross-database query1694 acts_as_taggable1695 on save1696 tag does not exist1697 creates a tag1698 creates an association to the tag1699 tag already exists1700 does not create a tag1701 creates an association to the tag1702 validation1703 is expected to validate that :access_level cannot be empty/falsy1704 is expected to validate that :runner_type cannot be empty/falsy1705 is expected to validate that :registration_type cannot be empty/falsy1706 when runner is not allowed to pick untagged jobs1707 when runner does not have tags1708 is not valid1709 when runner has too many tags1710 is not valid1711 when runner has tags1712 is valid1713 #exactly_one_group1714 disallows assigning group if already assigned to a group1715 runner_type validations1716 disallows assigning group to project_type runner1717 disallows assigning group to instance_type runner1718 disallows assigning project to group_type runner1719 disallows assigning project to instance_type runner1720 fails to save a group assigned to a project runner even if the runner is already saved1721 when runner has config1722 is valid1723 when runner has an invalid config1724 is invalid1725 cost factors validations1726 disallows :private_projects_minutes_cost_factor being nil1727 disallows :public_projects_minutes_cost_factor being nil1728 disallows :private_projects_minutes_cost_factor being negative1729 disallows :public_projects_minutes_cost_factor being negative1730 constraints1731 .UPDATE_CONTACT_COLUMN_EVERY1732 #access_level1733 when creating new runner and access_level is nil1734 object is invalid1735 when creating new runner and access_level is defined in enum1736 object is valid1737 when creating new runner and access_level is not defined in enum1738 raises an error1739 .instance_type1740 returns only shared runners1741 .belonging_to_project1742 returns the project runner1743 when use_traversal_ids* are enabled1744 behaves like .belonging_to_parent_groups_of_project1745 returns the group runner1746 with a parent group with a runner1747 returns the group runner from the group and the parent group1748 with multiple project ids1749 raises ArgumentError1750 when use_traversal_ids* are disabled1751 behaves like .belonging_to_parent_groups_of_project1752 returns the group runner1753 with a parent group with a runner1754 returns the group runner from the group and the parent group1755 with multiple project ids1756 raises ArgumentError1757 with instance runners sharing enabled1758 .owned_or_instance_wide1759 returns a shared, project and group runner1760 .group_or_instance_wide1761 returns a globally shared and a group runner1762 with instance runners sharing disabled1763 .owned_or_instance_wide1764 with group runners disabled1765 returns only the project runner1766 with group runners enabled1767 returns a project runner and a group runner1768 .group_or_instance_wide1769 returns a group runner1770 #display_name1771 returns the description if it has a value1772 returns the token if it does not have a description1773 returns the token if the description is an empty string1774 #only_for1775 with matching project1776 is expected to be truthy1777 without matching project1778 is expected to be falsey1779 with runner having multiple projects1780 is expected to be falsey1781 #assign_to1782 with shared_runner1783 raises an error1784 with group runner1785 raises an error1786 with project runner1787 assigns runner to project1788 .recent1789 is expected to eq [#<Ci::Runner id: 32, token: nil, created_at: "2023-02-27 06:06:42.102544446 +0000", updated_at: "202...t: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>]17911st Try error in ./spec/models/ci/runner_spec.rb:500:1792expected: [#<Ci::Runner id: 32, token: nil, created_at: "2023-02-27 06:06:42.102544446 +0000", updated_at: "202...t: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>]1793 got: #<ActiveRecord::Relation [#<Ci::Runner id: 34, token: nil, created_at: "2023-02-27 06:06:42.132588000...: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>]>1794(compared using ==)1795Diff:1796@@ -1,4 +1,94 @@1797-[#<Ci::Runner id: 32, token: nil, created_at: "2023-02-27 06:06:42.102544446 +0000", updated_at: "2023-04-27 06:06:42.112216363 +0000", description: [FILTERED], contacted_at: nil, active: true, name: nil, version: nil, revision: nil, platform: "darwin", architecture: nil, run_untagged: true, locked: false, access_level: "not_protected", ip_address: nil, maximum_timeout: nil, runner_type: "instance_type", token_encrypted: "|7QIltJd4lJP7+XxhOwFXD+sHCtp4ZaBjs2s+ebNL3pgjFQXR0...", public_projects_minutes_cost_factor: 1.0, private_projects_minutes_cost_factor: 1.0, config: {}, executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>,1798- #<Ci::Runner id: 34, token: nil, created_at: "2023-02-27 06:06:42.132588538 +0000", updated_at: "2023-04-27 06:06:42.140613686 +0000", description: [FILTERED], contacted_at: "2023-03-27 06:06:42.132509558 +0000", active: true, name: nil, version: nil, revision: nil, platform: "darwin", architecture: nil, run_untagged: true, locked: false, access_level: "not_protected", ip_address: nil, maximum_timeout: nil, runner_type: "instance_type", token_encrypted: "|bA4+nhe+xHEURm3bhh3ZT7zUZt6UMiGo4dDt25gLWZfQLR5Xb...", public_projects_minutes_cost_factor: 1.0, private_projects_minutes_cost_factor: 1.0, config: {}, executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>,1799- #<Ci::Runner id: 35, token: nil, created_at: "2023-01-27 06:06:42.146952295 +0000", updated_at: "2023-04-27 06:06:42.154530143 +0000", description: [FILTERED], contacted_at: "2023-03-27 06:06:42.146872165 +0000", active: true, name: nil, version: nil, revision: nil, platform: "darwin", architecture: nil, run_untagged: true, locked: false, access_level: "not_protected", ip_address: nil, maximum_timeout: nil, runner_type: "instance_type", token_encrypted: "|cz6ZRSguW34g7UiJ1wHOXqpTiiqnLdKHz6iLedayEdINT+ejc...", public_projects_minutes_cost_factor: 1.0, private_projects_minutes_cost_factor: 1.0, config: {}, executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>]1800+[#<Ci::Runner:0x00007f5ea2d846d81801+ id: 34,1802+ token: nil,1803+ created_at: Mon, 27 Feb 2023 06:06:42.132588000 UTC +00:00,1804+ updated_at: Thu, 27 Apr 2023 06:06:42.140613000 UTC +00:00,1805+ description: "[FILTERED]",1806+ contacted_at: Mon, 27 Mar 2023 06:06:42.132509000 UTC +00:00,1807+ active: true,1808+ name: nil,1809+ version: nil,1810+ revision: nil,1811+ platform: "darwin",1812+ architecture: nil,1813+ run_untagged: true,1814+ locked: false,1815+ access_level: "not_protected",1816+ ip_address: nil,1817+ maximum_timeout: nil,1818+ runner_type: "instance_type",1819+ token_encrypted:1820+ "|bA4+nhe+xHEURm3bhh3ZT7zUZt6UMiGo4dDt25gLWZfQLR5Xba60d01f0070",1821+ public_projects_minutes_cost_factor: 1.0,1822+ private_projects_minutes_cost_factor: 1.0,1823+ config: {},1824+ executor_type: nil,1825+ maintainer_note: nil,1826+ token_expires_at: nil,1827+ allowed_plans: [],1828+ registration_type: "registration_token",1829+ creator_id: nil,1830+ tag_list: nil>,1831+ #<Ci::Runner:0x00007f5ea2d846101832+ id: 35,1833+ token: nil,1834+ created_at: Fri, 27 Jan 2023 06:06:42.146952000 UTC +00:00,1835+ updated_at: Thu, 27 Apr 2023 06:06:42.154530000 UTC +00:00,1836+ description: "[FILTERED]",1837+ contacted_at: Mon, 27 Mar 2023 06:06:42.146872000 UTC +00:00,1838+ active: true,1839+ name: nil,1840+ version: nil,1841+ revision: nil,1842+ platform: "darwin",1843+ architecture: nil,1844+ run_untagged: true,1845+ locked: false,1846+ access_level: "not_protected",1847+ ip_address: nil,1848+ maximum_timeout: nil,1849+ runner_type: "instance_type",1850+ token_encrypted:1851+ "|cz6ZRSguW34g7UiJ1wHOXqpTiiqnLdKHz6iLedayEdINT+ejce6b8c1f7df5",1852+ public_projects_minutes_cost_factor: 1.0,1853+ private_projects_minutes_cost_factor: 1.0,1854+ config: {},1855+ executor_type: nil,1856+ maintainer_note: nil,1857+ token_expires_at: nil,1858+ allowed_plans: [],1859+ registration_type: "registration_token",1860+ creator_id: nil,1861+ tag_list: nil>,1862+ #<Ci::Runner:0x00007f5ea2d845201863+ id: 32,1864+ token: nil,1865+ created_at: Mon, 27 Feb 2023 06:06:42.102544000 UTC +00:00,1866+ updated_at: Thu, 27 Apr 2023 06:06:42.112216000 UTC +00:00,1867+ description: "[FILTERED]",1868+ contacted_at: nil,1869+ active: true,1870+ name: nil,1871+ version: nil,1872+ revision: nil,1873+ platform: "darwin",1874+ architecture: nil,1875+ run_untagged: true,1876+ locked: false,1877+ access_level: "not_protected",1878+ ip_address: nil,1879+ maximum_timeout: nil,1880+ runner_type: "instance_type",1881+ token_encrypted:1882+ "|7QIltJd4lJP7+XxhOwFXD+sHCtp4ZaBjs2s+ebNL3pgjFQXR0fa09b611e05",1883+ public_projects_minutes_cost_factor: 1.0,1884+ private_projects_minutes_cost_factor: 1.0,1885+ config: {},1886+ executor_type: nil,1887+ maintainer_note: nil,1888+ token_expires_at: nil,1889+ allowed_plans: [],1890+ registration_type: "registration_token",1891+ creator_id: nil,1892+ tag_list: nil>]1894RSpec::Retry: 2nd try ./spec/models/ci/runner_spec.rb:5001895 .active1896 with active_value set to false1897 returns inactive runners1898 with active_value set to true1899 returns active runners1900 .paused1901 returns inactive runners1902 .stale1903 returns stale runners1904 #stale?1905 table tests1906 created_at: nil, contacted_at: nil, expected_stale?: false1907 no cache value1908 is expected to eq false1909 with cache value1910 is expected to eq false1911 created_at: Fri, 27 Jan 2023 05:58:37.349609934 UTC +00:00, contacted_at: Fri, 27 Jan 2023 05:58:37.349855794 UTC +00:00, expected_stale?: true1912 no cache value1913 is expected to eq true1914 with cache value1915 is expected to eq true1916 created_at: Fri, 27 Jan 2023 05:58:37.350019864 UTC +00:00, contacted_at: Fri, 27 Jan 2023 06:58:37.350095514 UTC +00:00, expected_stale?: false1917 no cache value1918 is expected to eq false1919 with cache value1920 is expected to eq false1921 created_at: Fri, 27 Jan 2023 05:58:37.350275264 UTC +00:00, contacted_at: nil, expected_stale?: true1922 no cache value1923 is expected to eq true1924 with cache value1925 is expected to eq true1926 created_at: Fri, 27 Jan 2023 06:58:37.350394374 UTC +00:00, contacted_at: nil, expected_stale?: false1927 no cache value1928 is expected to eq false1929 with cache value1930 is expected to eq false1931 .online1932 is expected to contain exactly #<Ci::Runner id: 49, token: nil, created_at: "2023-04-27 06:06:43.000000000 +0000", updated_at: "2023...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>1933 #online?1934 no cache value1935 never contacted1936 is expected to be falsey1937 contacted long time ago1938 is expected to be falsey1939 contacted 1s ago1940 is expected to be truthy1941 with cache value1942 contacted long time ago1943 is expected to be falsey1944 contacted 1s ago1945 is expected to be truthy1946 .offline1947 is expected to eq [#<Ci::Runner id: 50, token: nil, created_at: "2023-04-27 06:06:43.319914539 +0000", updated_at: "202...t: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>]1948 .with_running_builds1949 with no builds running1950 is expected to be empty1951 with single build running on runner21952 is expected to contain exactly #<Ci::Runner id: 53, token: nil, created_at: "2023-04-27 06:06:44.418878922 +0000", updated_at: "2023...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil> and #<Ci::Runner id: 54, token: nil, created_at: "2023-04-27 06:06:44.606681785 +0000", updated_at: "2023...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>1953 #matches_build?1954 when runner does not have tags1955 is expected to be truthy1956 cannot handle build with tags1957 when runner has tags1958 when runner can pick untagged jobs1959 is expected to be truthy1960 behaves like tagged build picker1961 can handle build with matching tags1962 cannot handle build without matching tags1963 when runner cannot pick untagged jobs1964 is expected to be falsey1965 behaves like tagged build picker1966 can handle build with matching tags1967 cannot handle build without matching tags1968 when runner is shared1969 is expected to be truthy1970 does not query for owned or instance runners1971 when runner is locked1972 is expected to be truthy1973 when runner is not shared1974 when runner is assigned to a project1975 is expected to be truthy1976 when runner is assigned to a group1977 is expected to be truthy1978 knows namespace id it is assigned to1979 when access_level of runner is not_protected1980 when build is protected1981 is expected to be truthy1982 when build is unprotected1983 is expected to be truthy1984 when access_level of runner is ref_protected1985 when build is protected1986 is expected to be truthy1987 when build is unprotected1988 is expected to be falsey1989 matches tags1990 run_untagged: true, runner_tags: [], build_tags: [], result: true1991 is expected to eq true1992 run_untagged: true, runner_tags: [], build_tags: ["a"], result: false1993 is expected to eq false1994 run_untagged: true, runner_tags: ["a", "b"], build_tags: ["a"], result: true1995 is expected to eq true1996 run_untagged: true, runner_tags: ["a"], build_tags: ["a", "b"], result: false1997 is expected to eq false1998 run_untagged: true, runner_tags: ["a"], build_tags: ["a"], result: true1999 is expected to eq true2000 run_untagged: false, runner_tags: ["a"], build_tags: ["a"], result: true2001 is expected to eq true2002 run_untagged: false, runner_tags: ["b"], build_tags: ["a"], result: false2003 is expected to eq false2004 run_untagged: false, runner_tags: ["a", "b"], build_tags: ["a"], result: true2005 is expected to eq true2006 #status2007 never connected2008 with legacy_mode enabled2009 is expected to eq :stale2010 with legacy_mode disabled2011 is expected to eq :stale2012 created recently2013 is expected to eq :never_contacted2014 inactive but online2015 with legacy_mode enabled2016 is expected to eq :paused2017 with legacy_mode disabled2018 is expected to eq :online2019 contacted 1s ago2020 is expected to eq :online2021 contacted recently2022 is expected to eq :offline2023 contacted long time ago2024 with legacy_mode enabled2025 is expected to eq :stale2026 with legacy_mode disabled2027 is expected to eq :stale2028 #deprecated_rest_status2029 never connected2030 is expected to eq :never_contacted2031 contacted 1s ago2032 is expected to eq :online2033 contacted long time ago2034 is expected to eq :stale2035 inactive2036 is expected to eq :paused2037 #tick_runner_queue2038 returns a new last_update value2039 sticks the runner to the primary and calls the original method2040 #ensure_runner_queue_value2041 sets a new last_update value when it is called the first time2042 does not change if it is not expired and called again2043 updates runner queue after changing editable value2044 sets a new last_update value2045 does not update runner value after save2046 has an old last_update value2047 #heartbeat2048 when database was updated recently2049 when version is changed2050 updates cache2051 schedules version information update2052 when fetching runner releases is disabled2053 does not schedule version information update2054 with only ip_address specified2055 updates only ip_address2056 with new version having been cached2057 does not lose cached version value2058 when database was not updated recently2059 when version is changed2060 updates redis cache and database2061 with invalid runner2062 still updates redis cache and database2063 with unchanged runner version2064 does not schedule ci_runner_versions update2065 with unknown executor2066 updates with expected executor type2067 with custom executor2068 updates with expected executor type2069 with shell executor2070 updates with expected executor type2071 with docker executor2072 updates with expected executor type2073 with docker-windows executor2074 updates with expected executor type2075 with docker-ssh executor2076 updates with expected executor type2077 with ssh executor2078 updates with expected executor type2079 with parallels executor2080 updates with expected executor type2081 with virtualbox executor2082 updates with expected executor type2083 with docker+machine executor2084 updates with expected executor type2085 with docker-ssh+machine executor2086 updates with expected executor type2087 with kubernetes executor2088 updates with expected executor type2089 with an unknown executor type2090 updates with unknown executor type2091 #destroy2092 when there is a tick in the queue2093 cleans up the queue2094 .assignable_for2095 with already assigned project2096 is expected to be empty2097 with a different project2098 is expected to include #<Ci::Runner id: 113, token: nil, created_at: "2023-04-27 06:06:54.972096834 +0000", updated_at: "202...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>2099 is expected not to include #<Ci::Runner id: 115, token: nil, created_at: "2023-04-27 06:06:55.027178901 +0000", updated_at: "202...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>2100 is expected not to include #<Ci::Runner id: 114, token: nil, created_at: "2023-04-27 06:06:54.997817678 +0000", updated_at: "202...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>2101 is expected not to include #<Ci::Runner id: 116, token: nil, created_at: "2023-04-27 06:06:55.039589037 +0000", updated_at: "202...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>2102 Project-related queries2103 #owner_project2104 with project1 as first project associated with runner2105 is expected to eq #<Project id:182 namespace183/project-183>>2106 with project2 as first project associated with runner2107 is expected to eq #<Project id:183 namespace184/project-184>>2108 #belongs_to_one_project?2109 returns false if there are two projects runner is assigned to2110 returns true if there is only one project runner is assigned to2111 #belongs_to_more_than_one_project?2112 project runner2113 two projects assigned to runner2114 returns true2115 one project assigned to runner2116 returns false2117 group runner2118 returns false2119 shared runner2120 returns false2121 #save_tags2122 saves tags2123 strips tags2124 with BulkInsertableTags.with_bulk_insert_tags2125 does not save_tags2126 over TAG_LIST_MAX_LENGTH2127 fails validation if over tag limit2128 #has_tags?2129 when runner has tags2130 is expected to have tags2131 when runner does not have tags2132 is expected not to have tags2133 .search2134 returns runners with a matching token2135 does not return runners with a partially matching token2136 does not return runners with a matching token with different casing2137 returns runners with a matching description2138 returns runners with a partially matching description2139 returns runners with a matching description regardless of the casing2140 #pick_build!2141 runner can pick the build2142 calls #tick_runner_queue2143 runner cannot pick the build2144 does not call #tick_runner_queue2145 project runner without projects is destroyable2146 does not have projects2147 can be destroyed2148 .order_by2149 supports ordering by the contact date2150 supports ordering by the creation date2151 supports ordering by the token expiration2152 .runner_matchers2153 deduplicates on runner_type2154 creates two matchers2155 deduplicates on public_projects_minutes_cost_factor2156 creates two matchers2157 deduplicates on private_projects_minutes_cost_factor2158 creates two matchers2159 deduplicates on run_untagged2160 creates two matchers2161 deduplicates on access_level2162 creates two matchers2163 deduplicates on tag_list2164 creates two matchers2165 with runner_ids2166 includes runner_ids2167 #runner_matcher2168 is expected to eq [1028]2169 is expected to eq "instance_type"2170 is expected to eq 1.02171 is expected to eq 1.02172 is expected to eq true2173 is expected to eq "not_protected"2174 is expected to contain exactly "tag1" and "tag2"2175 #uncached_contacted_at2176 is expected to eq 2023-04-27 05:06:59.000000000 +00002177 Group-related queries2178 .belonging_to_group2179 with scope set to top_level_group2180 returns the group runners from the top_level_group2181 with scope set to child_group2182 returns the group runners from the child_group2183 .belonging_to_group_and_ancestors2184 returns the group runners from the group and parent group2185 .belonging_to_group_or_project_descendants2186 with scope set to top_level_group2187 returns the expected group and project runners without duplicates2188 with scope set to child_group2189 returns the expected group and project runners without duplicates2190 .usable_from_scope2191 with scope set to top_level_group2192 returns all runners usable from top_level_group without duplicates2193 with scope set to child_group2194 returns all runners usable from child_group2195 with scope set to other_top_level_group2196 returns all runners usable from other_top_level_group2197 #short_sha2198 when registered via command-line2199 is expected not to start with "glrt-"2200 is expected not to start with "glrt-"2201 when creating new runner via UI2202 is expected to start with "glrt-"2203 is expected not to start with "glrt-"2204 #token2205 when runner is registered2206 is expected not to start with "glrt-"2207 when runner is created via UI2208 is expected to start with "glrt-"2209 #token_expires_at2210 no expiration2211 behaves like non-expiring token2212 does not expire2213 system-wide shared expiration2214 behaves like expiring token2215 expires2216 system-wide group expiration2217 behaves like non-expiring token2218 does not expire2219 system-wide project expiration2220 behaves like non-expiring token2221 does not expire2222 group expiration2223 behaves like expiring token2224 expires2225 human-readable group expiration2226 behaves like expiring token2227 expires2228 project expiration2229 behaves like expiring token2230 expires2231 human-readable project expiration2232 behaves like expiring token2233 expires2234 multiple projects2235 behaves like expiring token2236 expires2237 with project runner token expiring2238 project overrides system2239 behaves like expiring token2240 expires2241 system overrides project2242 behaves like expiring token2243 expires2244 with group runner token expiring2245 group overrides system2246 behaves like expiring token2247 expires2248 system overrides group2249 behaves like expiring token2250 expires2251 with group's project runner token expiring2252 parent group overrides subgroup2253 behaves like expiring token2254 expires2255 subgroup overrides parent group2256 behaves like expiring token2257 expires2258 with group's project runner token expiring2259 group overrides project2260 behaves like expiring token2261 expires2262 project overrides group2263 behaves like expiring token2264 expires2265 .with_upgrade_status2266 :unavailable2267 returns runners whose version is assigned :unavailable2268 :available2269 returns runners whose version is assigned :available2270 :recommended2271 returns runners whose version is assigned :recommended2272 composed with other scopes2273 returns runner matching the composed scope2274 .with_creator2275 is expected to contain exactly #<Ci::Runner id: 200, token: nil, created_at: "2023-04-27 06:07:06.783194099 +0000", updated_at: "202...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: 235, tag_list: nil>2276 #ensure_token2277 when runner is initialized without a token2278 with registration_token2279 generates a token2280 with authenticated_user2281 generates a token with prefix2282 when runner is initialized with a token2283 with registration_token2284 does not change the existing token2285 with authenticated_user2286 does not change the existing token2287 #gitlab_hosted?2288 saas: true, runner_type: :instance_type, expected_value: true2289 returns the correct value based on saas and runner type2290 saas: true, runner_type: :group_type, expected_value: false2291 returns the correct value based on saas and runner type2292 saas: true, runner_type: :project_type, expected_value: false2293 returns the correct value based on saas and runner type2294 saas: false, runner_type: :instance_type, expected_value: false2295 returns the correct value based on saas and runner type2296 saas: false, runner_type: :group_type, expected_value: false2297 returns the correct value based on saas and runner type2298 saas: false, runner_type: :project_type, expected_value: false2299 returns the correct value based on saas and runner type2300Projects::ImportService2301 #async?2302 returns true for an asynchronous importer2303 returns false for a regular importer2304 returns false when the importer does not define #async?2305 returns false when the importer does not exist2306 #execute2307 with unknown url2308 succeeds if repository is created successfully2309 fails if repository creation fails2310 when repository creation succeeds2311 does not download lfs files2312 with known url2313 with a Github repository2314 tracks the start of import2315 succeeds if repository import was scheduled2316 fails if repository import was not scheduled2317 when repository import scheduled2318 does not download lfs objects2319 with a non Github repository2320 when importer supports refmap2321 succeeds if repository fetch as mirror is successful2322 fails if repository fetch as mirror fails2323 when importer does not support refmap2324 succeeds if repository import is successful2325 fails if repository import fails2326 when lfs import fails2327 logs the error2328 when repository import scheduled2329 downloads lfs objects if lfs_enabled is enabled for project2330 does not download lfs objects if lfs_enabled is not enabled for project2331 with valid importer2332 succeeds if importer succeeds2333 fails if importer fails2334 when importer2335 has a custom repository importer it does not download lfs objects2336 does not have a custom repository importer downloads lfs objects2337 when lfs import fails2338 logs the error2339 with blocked import_URL2340 fails with localhost2341 fails with port 252342 fails with file scheme2343 when DNS rebind protection is disabled2344 imports repository with url without additional resolved address2345 when DNS rebind protection is enabled2346 when https url is provided2347 imports repository with url and additional resolved address2348 when host resolves to an IPv6 address2349 imports repository with url and additional resolved bare IPv6 address2350 when http url is provided2351 imports repository with url and additional resolved address2352 when git address is provided2353 imports repository with url and without resolved address2354Glfm::UpdateSpecification#process2355 # order random2356 writing output html files2357 renders expected HTML2358 writing output_example_snapshots/snapshot_spec.md2359 with valid glfm_internal_extensions.md2360 replaces the header text with the GitLab version2361 includes header and all examples2362 with invalid non-example content in glfm_internal_extensions.md2363 raises an error2364 retrieving latest GHFM spec.txt2365 when UPDATE_GHFM_SPEC_MD is not true (default)2366 does not download2367 when UPDATE_GHFM_SPEC_MD is true2368 with success2369 downloads and saves2370 with error handling2371 with a version mismatch2372 raises an error2373 with a failed read of file lines2374 raises an error if lines cannot be read2375 with a failed re-read of file string2376 raises an error if file is blank2377 writing output_spec/spec.txt2378 includes only the header and official examples2379Notes::QuickActionsService2380 .noteable_update_service_class2381 returns WorkItems::UpdateService for a note on a work item2382 returns Issues::UpdateService for a note on an issue2383 returns MergeRequests::UpdateService for a note on a merge request2384 returns Commits::TagService for a note on a commit2385 .supported?2386 with a note on an issue2387 returns true2388 with a note on a commit2389 returns false2390 #supported?2391 delegates to the class method2392 #execute2393 behaves like note on noteable that supports quick actions2394 note with only command2395 /close, /label, /assign & /milestone2396 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note2397 /relate2398 user cannot relate issues2399 does not create issue relation2400 user is allowed to relate issues2401 creates issue relation2402 /reopen2403 opens the noteable, and leave no note2404 /spend2405 when note is not persisted2406 adds time to noteable, adds timelog with nil note_id and has no content2407 when note is persisted2408 updates the spent time and populates timelog with note_id2409 adds a system note2410 when not specifying a date2411 does not include the date2412 when specifying a date2413 does include the date2414 /estimate2415 adds time estimate to noteable2416 note with command & text2417 /close, /label, /assign & /milestone2418 closes noteable, sets labels, assigns, and sets milestone to noteable2419 /reopen2420 opens the noteable2421 /milestone2422 on an incident2423 leaves the note empty2424 assigns the milestone2425 on a merge request2426 leaves the note empty2427 assigns the milestone2428 /remove_milestone2429 on an issue2430 leaves the note empty2431 removes the milestone2432 on an incident2433 leaves the note empty2434 removes the milestone2435 on a merge request2436 leaves the note empty2437 removes the milestone2438 behaves like note on noteable that supports quick actions2439 note with only command2440 /close, /label, /assign & /milestone2441 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note2442 /relate2443 user cannot relate issues2444 does not create issue relation2445 user is allowed to relate issues2446 creates issue relation2447 /reopen2448 opens the noteable, and leave no note2449 /spend2450 when note is not persisted2451 adds time to noteable, adds timelog with nil note_id and has no content2452 when note is persisted2453 updates the spent time and populates timelog with note_id2454 adds a system note2455 when not specifying a date2456 does not include the date2457 when specifying a date2458 does include the date2459 /estimate2460 adds time estimate to noteable2461 note with command & text2462 /close, /label, /assign & /milestone2463 closes noteable, sets labels, assigns, and sets milestone to noteable2464 /reopen2465 opens the noteable2466 /milestone2467 on an incident2468 leaves the note empty2469 assigns the milestone2470 on a merge request2471 leaves the note empty2472 assigns the milestone2473 /remove_milestone2474 on an issue2475 leaves the note empty2476 removes the milestone2477 on an incident2478 leaves the note empty2479 removes the milestone2480 on a merge request2481 leaves the note empty2482 removes the milestone2483 behaves like note on noteable that supports quick actions2484 note with only command2485 /close, /label, /assign & /milestone2486 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note2487 /relate2488 user cannot relate issues2489 does not create issue relation2490 user is allowed to relate issues2491 creates issue relation2492 /reopen2493 opens the noteable, and leave no note2494 /spend2495 when note is not persisted2496 adds time to noteable, adds timelog with nil note_id and has no content2497 when note is persisted2498 updates the spent time and populates timelog with note_id2499 adds a system note2500 when not specifying a date2501 does not include the date2502 when specifying a date2503 does include the date2504 /estimate2505 adds time estimate to noteable2506 note with command & text2507 /close, /label, /assign & /milestone2508 closes noteable, sets labels, assigns, and sets milestone to noteable2509 /reopen2510 opens the noteable2511 /milestone2512 on an incident2513 leaves the note empty2514 assigns the milestone2515 on a merge request2516 leaves the note empty2517 assigns the milestone2518 /remove_milestone2519 on an issue2520 leaves the note empty2521 removes the milestone2522 on an incident2523 leaves the note empty2524 removes the milestone2525 on a merge request2526 leaves the note empty2527 removes the milestone2528 note on work item that supports quick actions2529 note with only command2530 /close, /label & /assign2531 closes noteable, sets labels, assigns and leave no note2532 /reopen2533 opens the noteable, and leave no note2534 note with command & text2535 /close, /label, /assign2536 closes noteable, sets labels, assigns, and sets milestone to noteable2537 /reopen2538 opens the noteable2539 CE restriction for issue assignees2540 /assign2541 adds only one assignee from the list2542Gitlab::Ci::Status::Build::Factory2543 when build is successful2544 matches correct core status2545 matches correct extended statuses2546 fabricates a retryable build status2547 fabricates status with correct details2548 when build is erased2549 matches correct core status2550 matches correct extended statuses2551 fabricates a retryable build status2552 fabricates status with correct details2553 when build is failed2554 when build is not allowed to fail2555 matches correct core status2556 matches correct extended statuses2557 fabricates a failed build status2558 fabricates status with correct details2559 when build is allowed to fail2560 matches correct core status2561 matches correct extended statuses2562 fabricates a failed but allowed build status2563 fabricates status with correct details2564 when build has unmet prerequisites2565 matches correct core status2566 matches correct extended statuses2567 fabricates a failed with unmet prerequisites build status2568 fabricates status with correct details2569 when build is a canceled2570 matches correct core status2571 matches correct extended statuses2572 fabricates a retryable build status2573 fabricates status with correct details2574 when build is running2575 matches correct core status2576 matches correct extended statuses2577 fabricates a canceable build status2578 fabricates status with correct details2579 when build is pending2580 matches correct core status2581 matches correct extended statuses2582 fabricates a cancelable build status2583 fabricates status with correct details2584 when build is skipped2585 matches correct core status2586 matches correct extended statuses2587 fabricates a skipped build status2588 fabricates status with correct details2589 when build is a manual action2590 when build is a play action2591 matches correct core status2592 matches correct extended statuses2593 fabricates action detailed status2594 fabricates status with correct details2595 when user has ability to play action2596 fabricates status that has action2597 when user does not have ability to play action2598 fabricates status that has no action2599 when build is an environment stop action2600 matches correct core status2601 matches correct extended statuses2602 fabricates action detailed status2603 when user is not allowed to execute manual action2604 fabricates status with correct details2605 when build is a delayed action2606 matches correct core status2607 matches correct extended statuses2608 fabricates action detailed status2609 fabricates status with correct details2610 when user has ability to play action2611 fabricates status that has action2612 when user does not have ability to play action2613 fabricates status that has no action2614Gitlab::SidekiqMiddleware::ServerMetrics2615 behaves like metrics middleware with worker attribution2616 when workers are not attributed2617 behaves like a metrics middleware2618 with mocked prometheus2619 .initialize_process_metrics2620 sets concurrency metrics2621 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2622 when sidekiq_execution_application_slis FF is turned on2623 initializes sidekiq SLIs for the workers in the current Sidekiq process2624 when sidekiq_execution_application_slis FF is turned off2625 does not initialize sidekiq SLIs2626 when the sidekiq_job_completion_metric_initialize feature flag is disabled2627 sets the concurrency metric2628 does not initialize sidekiq_jobs_completion_seconds2629 does not initializes sidekiq SLIs2630 #call2631 yields block2632 calls BackgroundTransaction2633 sets queue specific metrics2634 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2635 sets the thread name if it was nil2636 when job_duration is not available2637 does not set the queue_duration_seconds histogram2638 when error is raised2639 sets sidekiq_jobs_failed_total and reraises2640 records sidekiq SLI error but does not record sidekiq SLI apdex2641 when job is retried2642 sets sidekiq_jobs_retried_total metric2643 when job is interrupted2644 sets sidekiq_jobs_interrupted_total metric2645 when sidekiq_execution_application_slis FF is turned off2646 does not call record_execution_apdex nor record_execution_error2647 with prometheus integrated2648 #call2649 yields block2650 when error is raised2651 sets sidekiq_jobs_failed_total and reraises2652 when a worker is wrapped into ActiveJob2653 behaves like a metrics middleware2654 with mocked prometheus2655 .initialize_process_metrics2656 sets concurrency metrics2657 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2658 when sidekiq_execution_application_slis FF is turned on2659 initializes sidekiq SLIs for the workers in the current Sidekiq process2660 when sidekiq_execution_application_slis FF is turned off2661 does not initialize sidekiq SLIs2662 when the sidekiq_job_completion_metric_initialize feature flag is disabled2663 sets the concurrency metric2664 does not initialize sidekiq_jobs_completion_seconds2665 does not initializes sidekiq SLIs2666 #call2667 yields block2668 calls BackgroundTransaction2669 sets queue specific metrics2670 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2671 sets the thread name if it was nil2672 when job_duration is not available2673 does not set the queue_duration_seconds histogram2674 when error is raised2675 sets sidekiq_jobs_failed_total and reraises2676 records sidekiq SLI error but does not record sidekiq SLI apdex2677 when job is retried2678 sets sidekiq_jobs_retried_total metric2679 when job is interrupted2680 sets sidekiq_jobs_interrupted_total metric2681 when sidekiq_execution_application_slis FF is turned off2682 does not call record_execution_apdex nor record_execution_error2683 with prometheus integrated2684 #call2685 yields block2686 when error is raised2687 sets sidekiq_jobs_failed_total and reraises2688 when workers are attributed2689 high urgency2690 behaves like a metrics middleware2691 with mocked prometheus2692 .initialize_process_metrics2693 sets concurrency metrics2694 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2695 when sidekiq_execution_application_slis FF is turned on2696 initializes sidekiq SLIs for the workers in the current Sidekiq process2697 when sidekiq_execution_application_slis FF is turned off2698 does not initialize sidekiq SLIs2699 when the sidekiq_job_completion_metric_initialize feature flag is disabled2700 sets the concurrency metric2701 does not initialize sidekiq_jobs_completion_seconds2702 does not initializes sidekiq SLIs2703 #call2704 yields block2705 calls BackgroundTransaction2706 sets queue specific metrics2707 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2708 sets the thread name if it was nil2709 when job_duration is not available2710 does not set the queue_duration_seconds histogram2711 when error is raised2712 sets sidekiq_jobs_failed_total and reraises2713 records sidekiq SLI error but does not record sidekiq SLI apdex2714 when job is retried2715 sets sidekiq_jobs_retried_total metric2716 when job is interrupted2717 sets sidekiq_jobs_interrupted_total metric2718 when sidekiq_execution_application_slis FF is turned off2719 does not call record_execution_apdex nor record_execution_error2720 with prometheus integrated2721 #call2722 yields block2723 when error is raised2724 sets sidekiq_jobs_failed_total and reraises2725 no urgency2726 behaves like a metrics middleware2727 with mocked prometheus2728 .initialize_process_metrics2729 sets concurrency metrics2730 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2731 when sidekiq_execution_application_slis FF is turned on2732 initializes sidekiq SLIs for the workers in the current Sidekiq process2733 when sidekiq_execution_application_slis FF is turned off2734 does not initialize sidekiq SLIs2735 when the sidekiq_job_completion_metric_initialize feature flag is disabled2736 sets the concurrency metric2737 does not initialize sidekiq_jobs_completion_seconds2738 does not initializes sidekiq SLIs2739 #call2740 yields block2741 calls BackgroundTransaction2742 sets queue specific metrics2743 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2744 sets the thread name if it was nil2745 when job_duration is not available2746 does not set the queue_duration_seconds histogram2747 when error is raised2748 sets sidekiq_jobs_failed_total and reraises2749 records sidekiq SLI error but does not record sidekiq SLI apdex2750 when job is retried2751 sets sidekiq_jobs_retried_total metric2752 when job is interrupted2753 sets sidekiq_jobs_interrupted_total metric2754 when sidekiq_execution_application_slis FF is turned off2755 does not call record_execution_apdex nor record_execution_error2756 with prometheus integrated2757 #call2758 yields block2759 when error is raised2760 sets sidekiq_jobs_failed_total and reraises2761 external dependencies2762 behaves like a metrics middleware2763 with mocked prometheus2764 .initialize_process_metrics2765 sets concurrency metrics2766 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2767 when sidekiq_execution_application_slis FF is turned on2768 initializes sidekiq SLIs for the workers in the current Sidekiq process2769 when sidekiq_execution_application_slis FF is turned off2770 does not initialize sidekiq SLIs2771 when the sidekiq_job_completion_metric_initialize feature flag is disabled2772 sets the concurrency metric2773 does not initialize sidekiq_jobs_completion_seconds2774 does not initializes sidekiq SLIs2775 #call2776 yields block2777 calls BackgroundTransaction2778 sets queue specific metrics2779 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2780 sets the thread name if it was nil2781 when job_duration is not available2782 does not set the queue_duration_seconds histogram2783 when error is raised2784 sets sidekiq_jobs_failed_total and reraises2785 records sidekiq SLI error but does not record sidekiq SLI apdex2786 when job is retried2787 sets sidekiq_jobs_retried_total metric2788 when job is interrupted2789 sets sidekiq_jobs_interrupted_total metric2790 when sidekiq_execution_application_slis FF is turned off2791 does not call record_execution_apdex nor record_execution_error2792 with prometheus integrated2793 #call2794 yields block2795 when error is raised2796 sets sidekiq_jobs_failed_total and reraises2797 cpu boundary2798 behaves like a metrics middleware2799 with mocked prometheus2800 .initialize_process_metrics2801 sets concurrency metrics2802 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2803 when sidekiq_execution_application_slis FF is turned on2804 initializes sidekiq SLIs for the workers in the current Sidekiq process2805 when sidekiq_execution_application_slis FF is turned off2806 does not initialize sidekiq SLIs2807 when the sidekiq_job_completion_metric_initialize feature flag is disabled2808 sets the concurrency metric2809 does not initialize sidekiq_jobs_completion_seconds2810 does not initializes sidekiq SLIs2811 #call2812 yields block2813 calls BackgroundTransaction2814 sets queue specific metrics2815 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2816 sets the thread name if it was nil2817 when job_duration is not available2818 does not set the queue_duration_seconds histogram2819 when error is raised2820 sets sidekiq_jobs_failed_total and reraises2821 records sidekiq SLI error but does not record sidekiq SLI apdex2822 when job is retried2823 sets sidekiq_jobs_retried_total metric2824 when job is interrupted2825 sets sidekiq_jobs_interrupted_total metric2826 when sidekiq_execution_application_slis FF is turned off2827 does not call record_execution_apdex nor record_execution_error2828 with prometheus integrated2829 #call2830 yields block2831 when error is raised2832 sets sidekiq_jobs_failed_total and reraises2833 memory boundary2834 behaves like a metrics middleware2835 with mocked prometheus2836 .initialize_process_metrics2837 sets concurrency metrics2838 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2839 when sidekiq_execution_application_slis FF is turned on2840 initializes sidekiq SLIs for the workers in the current Sidekiq process2841 when sidekiq_execution_application_slis FF is turned off2842 does not initialize sidekiq SLIs2843 when the sidekiq_job_completion_metric_initialize feature flag is disabled2844 sets the concurrency metric2845 does not initialize sidekiq_jobs_completion_seconds2846 does not initializes sidekiq SLIs2847 #call2848 yields block2849 calls BackgroundTransaction2850 sets queue specific metrics2851 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2852 sets the thread name if it was nil2853 when job_duration is not available2854 does not set the queue_duration_seconds histogram2855 when error is raised2856 sets sidekiq_jobs_failed_total and reraises2857 records sidekiq SLI error but does not record sidekiq SLI apdex2858 when job is retried2859 sets sidekiq_jobs_retried_total metric2860 when job is interrupted2861 sets sidekiq_jobs_interrupted_total metric2862 when sidekiq_execution_application_slis FF is turned off2863 does not call record_execution_apdex nor record_execution_error2864 with prometheus integrated2865 #call2866 yields block2867 when error is raised2868 sets sidekiq_jobs_failed_total and reraises2869 feature category2870 behaves like a metrics middleware2871 with mocked prometheus2872 .initialize_process_metrics2873 sets concurrency metrics2874 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2875 when sidekiq_execution_application_slis FF is turned on2876 initializes sidekiq SLIs for the workers in the current Sidekiq process2877 when sidekiq_execution_application_slis FF is turned off2878 does not initialize sidekiq SLIs2879 when the sidekiq_job_completion_metric_initialize feature flag is disabled2880 sets the concurrency metric2881 does not initialize sidekiq_jobs_completion_seconds2882 does not initializes sidekiq SLIs2883 #call2884 yields block2885 calls BackgroundTransaction2886 sets queue specific metrics2887 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2888 sets the thread name if it was nil2889 when job_duration is not available2890 does not set the queue_duration_seconds histogram2891 when error is raised2892 sets sidekiq_jobs_failed_total and reraises2893 records sidekiq SLI error but does not record sidekiq SLI apdex2894 when job is retried2895 sets sidekiq_jobs_retried_total metric2896 when job is interrupted2897 sets sidekiq_jobs_interrupted_total metric2898 when sidekiq_execution_application_slis FF is turned off2899 does not call record_execution_apdex nor record_execution_error2900 with prometheus integrated2901 #call2902 yields block2903 when error is raised2904 sets sidekiq_jobs_failed_total and reraises2905 combined2906 behaves like a metrics middleware2907 with mocked prometheus2908 .initialize_process_metrics2909 sets concurrency metrics2910 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process2911 when sidekiq_execution_application_slis FF is turned on2912 initializes sidekiq SLIs for the workers in the current Sidekiq process2913 when sidekiq_execution_application_slis FF is turned off2914 does not initialize sidekiq SLIs2915 when the sidekiq_job_completion_metric_initialize feature flag is disabled2916 sets the concurrency metric2917 does not initialize sidekiq_jobs_completion_seconds2918 does not initializes sidekiq SLIs2919 #call2920 yields block2921 calls BackgroundTransaction2922 sets queue specific metrics2923 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics2924 sets the thread name if it was nil2925 when job_duration is not available2926 does not set the queue_duration_seconds histogram2927 when error is raised2928 sets sidekiq_jobs_failed_total and reraises2929 records sidekiq SLI error but does not record sidekiq SLI apdex2930 when job is retried2931 sets sidekiq_jobs_retried_total metric2932 when job is interrupted2933 sets sidekiq_jobs_interrupted_total metric2934 when sidekiq_execution_application_slis FF is turned off2935 does not call record_execution_apdex nor record_execution_error2936 with prometheus integrated2937 #call2938 yields block2939 when error is raised2940 sets sidekiq_jobs_failed_total and reraises2941 DB load balancing2942 #call2943 when worker declares data consistency2944 increments load balancing counter with defined data consistency2945 when worker does not declare data consistency2946 increments load balancing counter with default data consistency2947 feature attribution2948 when a worker has a feature category2949 uses that category for metrics2950 when a worker does not have a feature category2951 uses the category from the context for metrics2952MergeRequest::CleanupSchedule2953 associations2954 is expected to belong to merge_request required: false2955 validations2956 is expected to validate that :scheduled_at cannot be empty/falsy2957 state machine transitions2958 sets status to unstarted by default2959 #run2960 sets the status to running2961 when previous status is not unstarted2962 does not change status2963 #retry2964 sets the status to unstarted2965 increments failed_count2966 when previous status is not running2967 does not change status2968 #complete2969 sets the status to completed2970 sets the completed_at2971 when previous status is not running2972 does not change status2973 #mark_as_failed2974 sets the status to failed2975 increments failed_count2976 when previous status is not running2977 does not change status2978 .scheduled_and_unstarted2979 returns records that are scheduled before or on current time and unstarted (ordered by scheduled first)2980 .stuck2981 returns records that has been in running state for more than 6 hours2982 .stuck_retry!2983 sets stuck records to unstarted2984 when there are more than 5 stuck schedules2985 only retries 5 stuck schedules at once2986 .start_next2987 finds the next scheduled and unstarted then marked it as running2988Gitlab::Ci::Config::Entry::Job2989 behaves like with inheritable CI config2990 does prepend an Inheritable mixin2991 all inheritable entries are covered2992 all entries do have inherit flag2993 for non-inheritable entries2994 entry_key: :stage2995 inheritable_class does not define entry2996 entry_key: :only2997 inheritable_class does not define entry2998 entry_key: :except2999 inheritable_class does not define entry3000 entry_key: :rules3001 inheritable_class does not define entry3002 entry_key: :variables3003 inheritable_class does not define entry3004 entry_key: :inherit3005 inheritable_class does not define entry3006 entry_key: :script3007 inheritable_class does not define entry3008 entry_key: :needs3009 inheritable_class does not define entry3010 entry_key: :environment3011 inheritable_class does not define entry3012 entry_key: :coverage3013 inheritable_class does not define entry3014 entry_key: :release3015 inheritable_class does not define entry3016 entry_key: :parallel3017 inheritable_class does not define entry3018 entry_key: :allow_failure3019 inheritable_class does not define entry3020 entry_key: :id_tokens3021 inheritable_class does not define entry3022 entry_key: :publish3023 inheritable_class does not define entry3024 entry_key: :dast_configuration3025 inheritable_class does not define entry3026 entry_key: :secrets3027 inheritable_class does not define entry3028 for inheritable entries3029 entry_key: :before_script, entry_class: Gitlab::Ci::Config::Entry::Commands3030 inheritable_class does define entry3031 when is specified3032 does inherit value3033 when entry is specified3034 does not inherit value3035 when inheritable does not specify3036 does not inherit value3037 entry_key: :after_script, entry_class: Gitlab::Ci::Config::Entry::Commands3038 inheritable_class does define entry3039 when is specified3040 does inherit value3041 when entry is specified3042 does not inherit value3043 when inheritable does not specify3044 does not inherit value3045 entry_key: :hooks, entry_class: Gitlab::Ci::Config::Entry::Hooks3046 inheritable_class does define entry3047 when is specified3048 does inherit value3049 when entry is specified3050 does not inherit value3051 when inheritable does not specify3052 does not inherit value3053 entry_key: :cache, entry_class: Gitlab::Ci::Config::Entry::Caches3054 inheritable_class does define entry3055 when is specified3056 does inherit value3057 when entry is specified3058 does not inherit value3059 when inheritable does not specify3060 does not inherit value3061 entry_key: :image, entry_class: Gitlab::Ci::Config::Entry::Image3062 inheritable_class does define entry3063 when is specified3064 does inherit value3065 when entry is specified3066 does not inherit value3067 when inheritable does not specify3068 does not inherit value3069 entry_key: :services, entry_class: Gitlab::Ci::Config::Entry::Services3070 inheritable_class does define entry3071 when is specified3072 does inherit value3073 when entry is specified3074 does not inherit value3075 when inheritable does not specify3076 does not inherit value3077 entry_key: :interruptible, entry_class: Gitlab::Config::Entry::Boolean3078 inheritable_class does define entry3079 when is specified3080 does inherit value3081 when entry is specified3082 does not inherit value3083 when inheritable does not specify3084 does not inherit value3085 entry_key: :timeout, entry_class: Gitlab::Ci::Config::Entry::Timeout3086 inheritable_class does define entry3087 when is specified3088 does inherit value3089 when entry is specified3090 does not inherit value3091 when inheritable does not specify3092 does not inherit value3093 entry_key: :retry, entry_class: Gitlab::Ci::Config::Entry::Retry3094 inheritable_class does define entry3095 when is specified3096 does inherit value3097 when entry is specified3098 does not inherit value3099 when inheritable does not specify3100 does not inherit value3101 entry_key: :tags, entry_class: Gitlab::Ci::Config::Entry::Tags3102 inheritable_class does define entry3103 when is specified3104 does inherit value3105 when entry is specified3106 does not inherit value3107 when inheritable does not specify3108 does not inherit value3109 entry_key: :artifacts, entry_class: Gitlab::Ci::Config::Entry::Artifacts3110 inheritable_class does define entry3111 when is specified3112 does inherit value3113 when entry is specified3114 does not inherit value3115 when inheritable does not specify3116 does not inherit value3117 .nodes3118 when filtering all the entry/node names3119 is expected to include :before_script, :script, :after_script, :hooks, :stage, :cache, :image, :services, :only, :except, :rules, :needs, :variables, :artifacts, :environment, :coverage, :retry, :interruptible, :timeout, :release, :tags, :inherit, and :parallel3120 .matching?3121 when config is not a hash3122 is expected to be falsey3123 when config is a regular job3124 is expected to be truthy3125 when config is a bridge job3126 is expected to be falsey3127 when config is a hidden job3128 is expected to be falsey3129 when using the default job without script3130 is expected to be falsey3131 when using the default job with script3132 is expected to be truthy3133 validations3134 when entry config value is correct3135 #valid?3136 is valid3137 when job name is empty3138 reports error3139 when config uses both "when:" and "rules:"3140 is valid3141 when delayed job3142 when start_in is specified3143 is expected to be valid3144 when has needs3145 is expected to be valid3146 returns scheduling_type as :dag3147 when has dependencies3148 is expected to be valid3149 when it is a release3150 is expected to be valid3151 when rules are used3152 is expected to be valid3153 when entry value is not correct3154 incorrect config value type3155 #errors3156 reports error about a config type3157 when config is empty3158 #valid3159 is invalid3160 when unknown keys detected3161 #valid3162 is not valid3163 when script is not provided3164 returns error about missing script entry3165 when extends key is not a string3166 returns error about wrong value type3167 when parallel value is not correct3168 when it is not a numeric value3169 returns error about invalid type3170 when it is lower than two3171 returns error about value too low3172 when it is an empty hash3173 returns error about missing matrix3174 when delayed job3175 when start_in is specified3176 is expected to be valid3177 when start_in is empty3178 returns error about invalid type3179 when start_in is not formatted as a duration3180 returns error about invalid type3181 when start_in is longer than one week3182 returns error about exceeding the limit3183 when the `when` keyword is not a string3184 when it is an array3185 returns error3186 when it is a boolean3187 returns error3188 when start_in specified without delayed specification3189 returns error about invalid type3190 when it has dependencies3191 that are not a array of strings3192 returns error about invalid type3193 when the job has needs3194 and there are dependencies that are not included in needs3195 returns error about invalid data3196 and they are only cross pipeline needs3197 adds an error for dependency keyword usage3198 when timeout value is not correct3199 when it is higher than instance wide timeout3200 returns error about value too high3201 when it is not a duration3202 returns error about wrong value3203 when timeout value is correct3204 returns correct timeout3205 when it is a release3206 when `release:description` is missing3207 returns error3208 when invalid rules are used3209 with rules nested more than max allowed levels3210 is expected not to be valid3211 with rules with invalid keys3212 is expected not to be valid3213 when only: is used with rules:3214 returns error about mixing only: with rules:3215 and only: is blank3216 is valid:3217 and rules: is blank3218 is valid3219 when except: is used with rules:3220 returns error about mixing except: with rules:3221 and except: is blank3222 is valid3223 and rules: is blank3224 is valid3225 when only: and except: are both used with rules:3226 returns errors about mixing both only: and except: with rules:3227 when only: and except: as both blank3228 is valid3229 when rules: is blank3230 is valid3231 when job is not a pages job3232 if the config contains a publish entry3233 is invalid3234 when job is a pages job3235 when it does not have a publish entry3236 is valid3237 when it has a publish entry3238 is valid3239 #relevant?3240 is a relevant entry3241 #compose!3242 when job config overrides default config3243 overrides default config3244 when job config does not override default config3245 uses config from default entry3246 with workflow rules3247 name: "uses default only", has_workflow_rules?: false, only: nil, rules: nil, result: {:refs=>["branches", "tags"]}3248 RSpec::ExampleGroups::GitlabCiConfigEntryJob::Compose::WithWorkflowRules::NameUsesDefaultOnlyHasWorkflowRulesFalseOnlyNilRulesNilResultRefsBranchesTags3249 name: "uses user only", has_workflow_rules?: false, only: ["branches"], rules: nil, result: {:refs=>["branches"]}3250 RSpec::ExampleGroups::GitlabCiConfigEntryJob::Compose::WithWorkflowRules::NameUsesUserOnlyHasWorkflowRulesFalseOnlyBranchesRulesNilResultRefsBranches3251 name: "does not define only", has_workflow_rules?: false, only: nil, rules: [], result: nil3252 RSpec::ExampleGroups::GitlabCiConfigEntryJob::Compose::WithWorkflowRules::NameDoesNotDefineOnlyHasWorkflowRulesFalseOnlyNilRulesResultNil3253 name: "does not define only", has_workflow_rules?: true, only: nil, rules: nil, result: nil3254 RSpec::ExampleGroups::GitlabCiConfigEntryJob::Compose::WithWorkflowRules::NameDoesNotDefineOnlyHasWorkflowRulesTrueOnlyNilRulesNilResultNil3255 name: "uses user only", has_workflow_rules?: true, only: ["branches"], rules: nil, result: {:refs=>["branches"]}3256 RSpec::ExampleGroups::GitlabCiConfigEntryJob::Compose::WithWorkflowRules::NameUsesUserOnlyHasWorkflowRulesTrueOnlyBranchesRulesNilResultRefsBranches3257 name: "does not define only", has_workflow_rules?: true, only: nil, rules: [], result: nil3258 RSpec::ExampleGroups::GitlabCiConfigEntryJob::Compose::WithWorkflowRules::NameDoesNotDefineOnlyHasWorkflowRulesTrueOnlyNilRulesResultNil3259 when workflow rules is used3260 when rules are used3261 does not define only3262 when rules are not used3263 does not define only3264 when composed3265 #value3266 when entry is correct3267 returns correct value3268 when job is using tags3269 when limit is reached3270 returns error3271 when limit is not reached3272 returns a valid entry3273 #manual_action?3274 when job is a manual action3275 is a manual action3276 when job is not a manual action3277 is not a manual action3278 #delayed?3279 when job is a delayed3280 is a delayed3281 when job is not a delayed3282 is not a delayed3283 #ignored?3284 when job is a manual action3285 when it is not specified if job is allowed to fail3286 is an ignored job3287 when job is allowed to fail3288 is an ignored job3289 when job is not allowed to fail3290 is not an ignored job3291 when job is dynamically allowed to fail3292 is not an ignored job3293 when job is not a manual action3294 when it is not specified if job is allowed to fail3295 is not an ignored job3296 does not return allow_failure3297 when job is allowed to fail3298 is an ignored job3299 does not return allow_failure_criteria3300 when job is not allowed to fail3301 is not an ignored job3302 does not return allow_failure_criteria3303 when job is dynamically allowed to fail3304 is not an ignored job3305 returns allow_failure_criteria3306Gitlab::BitbucketServerImport::Importer3307 #import_repository3308 adds a remote3309 raises a Gitlab::Git::CommandError in the fetch3310 raises an unhandled exception in the fetch3311 #import_pull_requests3312 imports merge event3313 falls back to comments if diff comments fail to validate3314 reports an error if an exception is raised3315 pull request author user mapping3316 when bitbucket_server_user_mapping_by_username feature flag is disabled3317 when email is not present3318 maps user3319 when email is present3320 maps user3321 when bitbucket_server_user_mapping_by_username feature flag is enabled3322 when username is not present3323 maps user3324 when username is present3325 maps user3326 when user is not found3327 maps importer user3328 comments3329 when bitbucket_server_user_mapping_by_username feature flag is disabled3330 imports comments3331 when bitbucket_server_user_mapping_by_username feature flag is enabled3332 imports comments3333 when username is not present3334 defaults to import user3335 when username is present3336 maps by username3337 metrics3338 counts and measures duration of imported projects3339 counts imported pull requests3340 threaded discussions3341 when bitbucket_server_user_mapping_by_username feature flag is disabled3342 imports threaded discussions3343 when bitbucket_server_user_mapping_by_username feature flag is enabled3344 imports threaded discussions3345 when username is not present3346 defaults to import user3347 when user is not found3348 maps importer user3349 import pull requests with caching3350 only imports one Merge Request, as the other on is in the cache3351 inaccessible branches3352 #restore_branches3353 #delete_temp_branches3354 lfs files3355 downloads lfs objects if lfs_enabled is enabled for project3356 adds the error message when the lfs download fails3357Milestone Milestoneish3358 #sorted_issues3359 sorts issues by label priority3360 limits issue count and keeps the ordering3361 with attributes visibility3362 #issue_participants_visible_by_user3363 visibility: :public, user_role: nil, result: [:member]3364 returns the proper participants3365 visibility: :public, user_role: :non_member, result: [:member]3366 returns the proper participants3367 visibility: :public, user_role: :guest, result: [:member]3368 returns the proper participants3369 visibility: :public, user_role: :member, result: [:member, :assignee]3370 returns the proper participants3371 visibility: :internal, user_role: nil, result: []3372 returns the proper participants3373 visibility: :internal, user_role: :non_member, result: [:member]3374 returns the proper participants3375 visibility: :internal, user_role: :guest, result: [:member]3376 returns the proper participants3377 visibility: :internal, user_role: :member, result: [:member, :assignee]3378 returns the proper participants3379 visibility: :private, user_role: nil, result: []3380 returns the proper participants3381 visibility: :private, user_role: :non_member, result: []3382 returns the proper participants3383 visibility: :private, user_role: :guest, result: [:member]3384 returns the proper participants3385 visibility: :private, user_role: :member, result: [:member, :assignee]3386 returns the proper participants3387 #issue_labels_visible_by_user3388 visibility: :public, user_role: nil, result: [:label1]3389 returns the proper participants3390 visibility: :public, user_role: :non_member, result: [:label1]3391 returns the proper participants3392 visibility: :public, user_role: :guest, result: [:label1]3393 returns the proper participants3394 visibility: :public, user_role: :member, result: [:label1, :label2]3395 returns the proper participants3396 visibility: :internal, user_role: nil, result: []3397 returns the proper participants3398 visibility: :internal, user_role: :non_member, result: [:label1]3399 returns the proper participants3400 visibility: :internal, user_role: :guest, result: [:label1]3401 returns the proper participants3402 visibility: :internal, user_role: :member, result: [:label1, :label2]3403 returns the proper participants3404 visibility: :private, user_role: nil, result: []3405 returns the proper participants3406 visibility: :private, user_role: :non_member, result: []3407 returns the proper participants3408 visibility: :private, user_role: :guest, result: [:label1]3409 returns the proper participants3410 visibility: :private, user_role: :member, result: [:label1, :label2]3411 returns the proper participants3412 #sorted_merge_requests3413 sorts merge requests by label priority3414 #merge_requests_visible_to_user3415 when project is private3416 does not return any merge request for a non member3417 returns milestone merge requests for a member3418 when project is public3419 when merge requests are available to anyone3420 returns milestone merge requests for a non member3421 when merge requests are available to project members3422 does not return any merge request for a non member3423 returns milestone merge requests for a member3424 when milestone is at parent level group3425 does not return any merge request for a non member3426 returns milestone merge requests for a member3427 #complete?3428 returns false when has items opened3429 returns true when all items are closed3430 #percent_complete3431 with division by zero3432 is expected to eq 03433 #closed_issues_count3434 counts all closed issues including confidential3435 #total_issues_count3436 counts all issues including confidential3437 #total_merge_requests_count3438 counts merge requests3439 #remaining_days3440 shows 0 if no due date3441 shows 0 if expired3442 shows correct remaining days3443 #elapsed_days3444 shows 0 if no start_date set3445 shows 0 if start_date is a future3446 shows correct amount of days3447 #total_time_spent3448 calculates total time spent3449 includes merge request time spent3450 #human_total_time_spent3451 returns nil if no time has been spent3452 #total_time_estimate3453 calculates total estimate3454 includes merge request time estimate3455 #human_total_time_estimate3456 returns nil if no time has been spent3457ProjectStatistics3458 associations3459 is expected to belong to project required: false3460 is expected to belong to namespace required: false3461 scopes3462 .for_project_ids3463 returns only requested projects3464 statistics columns3465 supports bigint values3466 namespace relatable columns3467 treats the correct columns as namespace relatable3468 #total_repository_size3469 sums repository and LFS object size3470 #wiki_size3471 is initialized with not null value3472 coerces any nil value to 03473 #snippets_size3474 is initialized with not null value3475 coerces any nil value to 03476 #refresh!3477 without arguments3478 sums all counters3479 when passing an only: argument3480 only updates the given columns3481 without repositories3482 does not crash3483 with deleted repositories3484 does not crash3485 when the column is namespace relatable3486 when arguments are passed3487 schedules the aggregation worker3488 when no argument is passed3489 schedules the aggregation worker3490 when the column is not namespace relatable3491 does not schedules an aggregation worker3492 when the database is read-only3493 does nothing3494 behaves like obtaining lease to update database3495 when it is unable to obtain lock3496 logs a warning3497 when feature flag counter_attribute_db_lease_for_update is disabled3498 does not attempt to get a lock3499 #update_commit_count3500 stores the number of commits in the repository3501 #update_repository_size3502 stores the size of the repository3503 #update_wiki_size3504 stores the size of the wiki3505 #update_snippets_size3506 stores the size of snippets3507 when not all snippets has statistics3508 stores the size of snippets with statistics3509 #update_lfs_objects_size3510 stores the size of related LFS objects3511 #update_uploads_size3512 stores the size of related uploaded files3513 #update_container_registry_size3514 stores the project container registry repositories size3515 handles nil values for the repositories size3516 #update_storage_size3517 sums the relevant storage counters3518 excludes the container_registry_size3519 works during wiki_size backfill3520 when nullable columns are nil3521 does not raise any error3522 #refresh_storage_size!3523 recalculates storage size from its components and save it3524 when nullable columns are nil3525 does not raise any error3526 recalculates storage size from its components3527 behaves like obtaining lease to update database3528 when it is unable to obtain lock3529 logs a warning3530 when feature flag counter_attribute_db_lease_for_update is disabled3531 does not attempt to get a lock3532 .increment_statistic3533 when adjusting :build_artifacts_size3534 behaves like a statistic that increases storage_size asynchronously3535 stores the increment temporarily in Redis3536 schedules a worker to update the statistic and storage_size async3537 when the project is pending delete3538 does not change the statistics3539 when adjusting :pipeline_artifacts_size3540 behaves like a statistic that increases storage_size synchronously3541 increases the statistic by that amount3542 increases also storage size by that amount3543 schedules a namespace aggregation worker3544 when the project is pending delete3545 does not change the statistics3546 when adjusting :packages_size3547 behaves like a statistic that increases storage_size asynchronously3548 stores the increment temporarily in Redis3549 schedules a worker to update the statistic and storage_size async3550 when the project is pending delete3551 does not change the statistics3552 when the amount is 03553 does not execute a query3554 when using an invalid column3555 raises an error3556 .bulk_increment_statistic3557 when adjusting :build_artifacts_size3558 behaves like a statistic that increases storage_size asynchronously3559 stores the increment temporarily in Redis3560 schedules a worker to update the statistic and storage_size async3561 when the project is pending delete3562 does not change the statistics3563 when :project_statistics_bulk_increment flag is disabled3564 calls increment_statistic on once with the sum of the increments3565 behaves like a statistic that increases storage_size asynchronously3566 stores the increment temporarily in Redis3567 schedules a worker to update the statistic and storage_size async3568 when the project is pending delete3569 does not change the statistics3570 when adjusting :pipeline_artifacts_size3571 behaves like a statistic that increases storage_size synchronously3572 increases the statistic by that amount3573 increases also storage size by that amount3574 schedules a namespace aggregation worker3575 when the project is pending delete3576 does not change the statistics3577 when adjusting :packages_size3578 behaves like a statistic that increases storage_size asynchronously3579 stores the increment temporarily in Redis3580 schedules a worker to update the statistic and storage_size async3581 when the project is pending delete3582 does not change the statistics3583 when using an invalid column3584 raises an error3585Gitlab::Database::BackgroundMigration::BatchedMigration3586 is expected to be a kind of Gitlab::Database::SharedModel(abstract)3587 associations3588 is expected to have many batched_jobs3589 #last_job3590 returns the batched job with highest max_value3591 validations3592 is expected to validate that :job_arguments is case-sensitively unique within the scope of :job_class_name, :table_name, and :column_name3593 when there are failed jobs3594 raises an exception3595 when the jobs are completed3596 finishes the migration3597 state machine3598 when a migration is executed3599 updates the started_at3600 #pause!3601 when an invalid transition is applied3602 raises an exception3603 raises an exception3604 raises an exception3605 when a valid transition is applied3606 moves to pause3607 moves to pause3608 #execute!3609 when an invalid transition is applied3610 raises an exception3611 raises an exception3612 when a valid transition is applied3613 moves to active3614 moves to active3615 moves to active3616 #finish!3617 when an invalid transition is applied3618 raises an exception3619 when a valid transition is applied3620 moves to active3621 moves to active3622 moves to active3623 moves to active3624 #failure!3625 when an invalid transition is applied3626 raises an exception3627 raises an exception3628 when a valid transition is applied3629 moves to active3630 moves to active3631 moves to active3632 .valid_status3633 returns valid status3634 .queue_order3635 returns batched migrations ordered by their id3636 .ordered_by_created_at_desc3637 returns batched migrations ordered by created_at (DESC)3638 .active_migration3639 when there are no migrations on hold3640 returns the first active migration according to queue order3641 when there are migrations on hold3642 returns the first active migration that is not on hold according to queue order3643 when there are migrations not available for the current connection3644 returns the first active migration that is available for the current connection3645 when there are no active migrations available3646 returns nil3647 .find_executable3648 when the migration does not exist3649 returns nil3650 when the migration is not active3651 returns nil3652 when the migration is on hold3653 returns nil3654 when the migration is not available for the current connection3655 returns nil3656 when ther migration exists and is executable3657 returns the migration3658 .active_migrations_distinct_on_table3659 returns one pending executable migration per table3660 returns epmty collection when there are no pending executable migrations3661 .created_after3662 only returns migrations created after the specified time3663 .queued3664 returns active and paused migrations3665 .finalizing3666 returns only finalizing migrations3667 .successful_rows_counts3668 returns totals from successful jobs3669 #reset_attempts_of_blocked_jobs!3670 sets the number of attempts to zero for blocked jobs3671 #interval_elapsed?3672 when the migration has no last_job3673 returns true3674 when the migration has a last_job3675 when the last_job is less than an interval old3676 returns false3677 when the last_job is exactly an interval old3678 returns true3679 when the last_job is more than an interval old3680 returns true3681 when an interval variance is given3682 when the last job is less than an interval with variance old3683 returns false3684 when the last job is more than an interval with variance old3685 returns true3686 #create_batched_job!3687 creates a batched_job with the correct batch configuration3688 #next_min_value3689 when a previous job exists3690 returns the next value after the previous maximum3691 when a previous job does not exist3692 returns the migration minimum value3693 #job_class3694 returns the class of the job for the migration3695 #batch_class3696 returns the class of the batch strategy for the migration3697 #retry_failed_jobs!3698 when there are failed migration jobs3699 moves the status of the migration to active3700 changes the number of attempts to 03701 when there are no failed migration jobs3702 moves the status of the migration to active3703 #should_stop?3704 when the started_at is nil3705 is expected to be falsey3706 when the number of jobs is lesser than the MINIMUM_JOBS3707 is expected to be falsey3708 when the calculated value is greater than the threshold3709 is expected to be truthy3710 when the calculated value is lesser than the threshold3711 is expected to be falsey3712 #job_class_name=3713 behaves like an attr_writer that assigns class names3714 when a module name exists3715 keeps the class with module name3716 removes leading namespace resolution operator3717 when a module name does not exist3718 does not change the given class name3719 #batch_class_name=3720 behaves like an attr_writer that assigns class names3721 when a module name exists3722 keeps the class with module name3723 removes leading namespace resolution operator3724 when a module name does not exist3725 does not change the given class name3726 #migrated_tuple_count3727 sums the batch_size of succeeded jobs3728 #prometheus_labels3729 returns a hash with labels for the migration3730 #smoothed_time_efficiency3731 when there are not enough jobs3732 returns nil3733 when there are enough jobs3734 example 1: increasing trend, but only recently crossed threshold3735 returns the smoothed time efficiency3736 example 2: increasing trend, crossed threshold a while ago3737 returns the smoothed time efficiency3738 example 3: decreasing trend, but only recently crossed threshold3739 returns the smoothed time efficiency3740 example 4: latest run spiked3741 returns the smoothed time efficiency3742 with preloaded batched migration3743 avoids N+13744 #optimize!3745 calls the BatchOptimizer3746 #hold!3747 updates on_hold_until property3748 defaults to 10 minutes3749 #on_hold?3750 returns false if no on_hold_until is set3751 returns false if on_hold_until has passed3752 returns true if on_hold_until is in the future3753 #progress3754 when the migration is completed3755 returns 1003756 when the status is finished3757 returns 1003758 when the migration does not have jobs3759 returns zero3760 when the `total_tuple_count` is zero3761 returns nil3762 when migration has completed jobs3763 calculates the progress3764 .for_configuration3765 finds the migration matching the given configuration parameters3766 filters by gitlab schemas available for the connection3767 doesn not filter by gitlab schemas available for the connection if the column is nor present3768 .find_for_configuration3769 returns nill if such migration does not exists3770 returns the migration when it exists3771 .for_gitlab_schema3772 finds the migrations matching the given gitlab schema3773PushEvent3774 .created_or_pushed3775 includes events for pushing to existing refs3776 includes events for creating new refs3777 does not include events for removing refs3778 .branch_events3779 includes events for branches3780 does not include events for tags3781 .without_existing_merge_requests3782 includes events that do not have a corresponding merge request3783 does not include events that have a corresponding open merge request3784 includes events that has corresponding closed/merged merge requests3785 does not include events for removed refs3786 does not include events for pushing to tags3787 .sti_name3788 returns the integer representation of the :pushed event action3789 #push_action?3790 returns true3791 #push_with_commits?3792 returns true when both the first and last commit are present3793 returns false when the first commit is missing3794 returns false when the last commit is missing3795 #tag?3796 returns true when pushing to a tag3797 returns false when pushing to a branch3798 #branch?3799 returns true when pushing to a branch3800 returns false when pushing to a tag3801 #valid_push?3802 returns true if a ref exists3803 returns false when no ref is present3804 #new_ref?3805 returns true when pushing a new ref3806 returns false when pushing to an existing ref3807 #rm_ref?3808 returns true when removing an existing ref3809 returns false when pushing to an existing ref3810 #commit_from3811 returns the first commit SHA3812 #commit_to3813 returns the last commit SHA3814 #ref_name3815 returns the name of the ref3816 #ref_type3817 returns the type of the ref3818 #branch_name3819 returns the name of the branch3820 #tag_name3821 returns the name of the tag3822 #commit_title3823 returns the commit message3824 #commit_id3825 returns the SHA of the last commit if present3826 returns the SHA of the first commit if the last commit is not present3827 #commits_count3828 returns the number of commits3829 #validate_push_action3830 adds an error when the action is not PUSHED3831Blob3832 .decorate3833 returns NilClass when given nil3834 .lazy3835 with project3836 behaves like .lazy checks3837 does not fetch blobs when none are accessed3838 fetches all blobs for the same repository when one is accessed3839 does not include blobs from previous requests in later requests3840 with personal snippet3841 behaves like .lazy checks3842 does not fetch blobs when none are accessed3843 fetches all blobs for the same repository when one is accessed3844 does not include blobs from previous requests in later requests3845 with project snippet3846 behaves like .lazy checks3847 does not fetch blobs when none are accessed3848 fetches all blobs for the same repository when one is accessed3849 does not include blobs from previous requests in later requests3850 #data3851 with project3852 behaves like #data checks3853 using a binary blob3854 returns the data as-is3855 using a text blob3856 converts the data to UTF-83857 with personal snippet3858 behaves like #data checks3859 using a binary blob3860 returns the data as-is3861 using a text blob3862 converts the data to UTF-83863 with project snippet3864 behaves like #data checks3865 using a binary blob3866 returns the data as-is3867 using a text blob3868 converts the data to UTF-83869 #external_storage_error?3870 if the blob is stored in LFS3871 when LFS is enabled3872 is expected to be falsy3873 when LFS is not enabled3874 is expected to be truthy3875 if the blob is not stored in LFS3876 is expected to be falsy3877 #stored_externally?3878 if the blob is stored in LFS3879 when LFS is enabled3880 is expected to be truthy3881 when LFS is not enabled3882 is expected to be falsy3883 if the blob is not stored in LFS3884 is expected to be falsy3885 #binary?3886 an lfs object3887 filename: "file.pdf", is_binary: true3888 is expected to eq true3889 filename: "file.md", is_binary: false3890 is expected to eq false3891 filename: "file.txt", is_binary: false3892 is expected to eq false3893 filename: "file.ics", is_binary: false3894 is expected to eq false3895 filename: "file.rb", is_binary: false3896 is expected to eq false3897 filename: "file.exe", is_binary: true3898 is expected to eq true3899 filename: "file.ini", is_binary: false3900 is expected to eq false3901 filename: "file.wtf", is_binary: true3902 is expected to eq true3903 a non-lfs object3904 delegates to binary_in_repo?3905 #symlink?3906 is true for symlinks3907 is false for non-symlinks3908 #executable?3909 is true for executables3910 is false for non-executables3911 #extension3912 returns the extension3913 #file_type3914 returns the file type3915 #simple_viewer3916 when the blob is empty3917 returns an empty viewer3918 when the file represented by the blob is binary3919 returns a download viewer3920 when the file represented by the blob is text-based3921 returns a text viewer3922 #rich_viewer3923 when the blob has an external storage error3924 returns nil3925 when the blob is empty3926 returns nil3927 when the blob is stored externally3928 returns a matching viewer3929 when the blob is binary3930 returns a matching binary viewer3931 when the blob is text-based3932 returns a matching text-based viewer3933 when the blob is video3934 returns a video viewer3935 when the blob is audio3936 returns an audio viewer3937 #auxiliary_viewer3938 when the blob has an external storage error3939 returns nil3940 when the blob is empty3941 returns nil3942 when the blob is stored externally3943 returns a matching viewer3944 when the blob is binary3945 returns nil3946 when the blob is text-based3947 returns a matching text-based viewer3948 #rendered_as_text?3949 when ignoring errors3950 when the simple viewer is text-based3951 is expected to be truthy3952 when the simple viewer is binary3953 is expected to be falsy3954 when not ignoring errors3955 when the viewer has render errors3956 is expected to be falsy3957 when the viewer doesn't have render errors3958 is expected to be truthy3959 policy3960 works with policy3961 when project is nil3962 does not err3963ServiceDeskSetting3964 validations3965 is expected to validate that :project_id cannot be empty/falsy3966 is expected to validate that the length of :outgoing_name is at most 2553967 is expected to validate that the length of :project_key is at most 2553968 is expected to allow :project_key to be ‹"abc123_"›3969 is expected not to allow :project_key to be ‹"abc 12"›, producing a custom validation error on failure3970 is expected not to allow :project_key to be ‹"Big val"›3971 is expected to validate that the length of :custom_email is at most 2553972 #custom_email_enabled3973 is expected to be falsey3974 is expected to be truthy3975 when custom_email_enabled is true3976 is expected to validate that :custom_email cannot be empty/falsy3977 is expected to validate that :custom_email is case-sensitively unique as long as it is not nil3978 is expected to allow :custom_email to be ‹"support@example.com"›3979 is expected to allow :custom_email to be ‹"support@xn--brggen-4ya.de"›3980 is expected to allow :custom_email to be ‹"support1@shop.example.com"›3981 is expected to allow :custom_email to be ‹"support-shop_with.crazy-address@shop.example.com"›3982 is expected not to allow :custom_email to be ‹"support@example@example.com"›3983 is expected not to allow :custom_email to be ‹"support.example.com"›3984 is expected not to allow :custom_email to be ‹"example.com"›3985 is expected not to allow :custom_email to be ‹"example"›3986 is expected not to allow :custom_email to be ‹"\" \"@example.org"›3987 is expected not to allow :custom_email to be ‹"support+12@example.com"›3988 is expected not to allow :custom_email to be ‹"user@[IPv6:2001:db8::1]"›3989 is expected not to allow :custom_email to be ‹"\"><script>alert(1);</script>\"@example.org"›3990 is expected not to allow :custom_email to be ‹"file://example"›3991 is expected not to allow :custom_email to be ‹"no email at all"›3992 #valid_issue_template3993 is not valid if template does not exist3994 is valid if template exists3995 #custom_email_address_for_verification3996 returns nil3997 when custom_email exists3998 returns correct verification address3999 #valid_project_key4000 when project_key exists4001 is valid4002 when project_key is unique for every project slug4003 does not add error4004 when project with same slug and settings project_key exists4005 adds error4006 associations4007 is expected to belong to project required: false4008 can access custom email verification from project4009Gitlab::AlertManagement::Payload::Prometheus4010 behaves like subclass has expected api4011 defines all public methods in the base class4012 #title4013 behaves like parsable alert payload field4014 behaves like parsable alert payload field with fallback4015 without payload4016 is expected to eq nil4017 with annotations/title4018 is expected to eq "some value"4019 with annotations/summary4020 is expected to eq "some value"4021 with labels/alertname4022 is expected to eq "some value"4023 #description4024 behaves like parsable alert payload field4025 behaves like parsable alert payload field with fallback4026 without payload4027 is expected to eq nil4028 with annotations/description4029 is expected to eq "some value"4030 #annotations4031 behaves like parsable alert payload field4032 behaves like parsable alert payload field with fallback4033 without payload4034 is expected to eq nil4035 with annotations4036 is expected to eq "some value"4037 #status4038 behaves like parsable alert payload field4039 behaves like parsable alert payload field with fallback4040 without payload4041 is expected to eq nil4042 with status4043 is expected to eq "some value"4044 #starts_at4045 without payload4046 is expected to eq 2023-04-27 06:13:59.000000000 +00004047 with startsAt4048 is expected to eq 2023-04-27 06:03:59.000000000 +00004049 #ends_at4050 without payload4051 is expected to be nil4052 with endsAt4053 is expected to eq 2023-04-27 06:13:59.000000000 +00004054 #generator_url4055 behaves like parsable alert payload field4056 behaves like parsable alert payload field with fallback4057 without payload4058 is expected to eq nil4059 with generatorURL4060 is expected to eq "some value"4061 #runbook4062 behaves like parsable alert payload field4063 behaves like parsable alert payload field with fallback4064 without payload4065 is expected to eq nil4066 with annotations/runbook4067 is expected to eq "some value"4068 #alert_markdown4069 behaves like parsable alert payload field4070 behaves like parsable alert payload field with fallback4071 without payload4072 is expected to eq nil4073 with annotations/gitlab_incident_markdown4074 is expected to eq "some value"4075 #environment_name4076 behaves like parsable alert payload field4077 behaves like parsable alert payload field with fallback4078 without payload4079 is expected to eq nil4080 with labels/gitlab_environment_name4081 is expected to eq "some value"4082 #gitlab_y_label4083 behaves like parsable alert payload field4084 behaves like parsable alert payload field with fallback4085 without payload4086 is expected to eq nil4087 with annotations/gitlab_y_label4088 is expected to eq "some value"4089 with annotations/title4090 is expected to eq "some value"4091 with annotations/summary4092 is expected to eq "some value"4093 with labels/alertname4094 is expected to eq "some value"4095 #monitoring_tool4096 is expected to eq "Prometheus"4097 #full_query4098 generator_url: nil, expected_query: nil4099 is expected to eq nil4100 generator_url: "http://localhost", expected_query: nil4101 is expected to eq nil4102 generator_url: "invalid url", expected_query: nil4103 is expected to eq nil4104 generator_url: "http://localhost:9090/graph?g1.expr=vector%281%29", expected_query: nil4105 is expected to eq nil4106 generator_url: "http://localhost:9090/graph?g0.expr=vector%281%29", expected_query: "vector(1)"4107 is expected to eq "vector(1)"4108 #environment4109 is expected to be nil4110 with environment_name4111 is expected to be nil4112 with matching environment4113 is expected to eq #<Environment id: 1, project_id: 483, name: "production", created_at: "2023-04-27 06:14:00.209152732 +0000", updated_at: "2023-04-27 06:14:00.209152732 +0000", external_url: "https://env1.example.gitlab.com", environment_type: nil, state: "available", slug: "production", auto_stop_at: nil, auto_delete_at: nil, tier: "production", merge_request_id: nil>4114 #gitlab_fingerprint4115 returns a fingerprint4116 #metrics_dashboard_url4117 is expected to eq "http://localhost/namespace549/project-543/-/environments/2/metrics_dashboard?embed_json=%7B%22panel_groups%22%3A%5B%7B%22panels%22%3A%5B%7B%22type%22%3A%22area-chart%22%2C%22title%22%3A%22title%22%2C%22y_label%22%3A%22y_label%22%2C%22metrics%22%3A%5B%7B%22query_range%22%3A%22avg%28metric%29+%5Cu003e+1.0%22%7D%5D%7D%5D%7D%5D%7D&embedded=true&end=2018-03-12T09%3A36%3A00Z&start=2018-03-12T08%3A36%3A00Z"4118 without environment4119 is expected to be nil4120 without full query4121 is expected to be nil4122 without title4123 is expected to be nil4124 #has_required_attributes?4125 is expected to be truthy4126 without project4127 is expected to be falsey4128 without title4129 is expected to be falsey4130 without startsAt4131 is expected to be falsey4132 without payload4133 is expected to be falsey4134 #severity4135 when set4136 payload_severity: "critical", expected_severity: :critical4137 is expected to eq :critical4138 payload_severity: "high", expected_severity: :high4139 is expected to eq :high4140 payload_severity: "medium", expected_severity: :medium4141 is expected to eq :medium4142 payload_severity: "low", expected_severity: :low4143 is expected to eq :low4144 payload_severity: "info", expected_severity: :info4145 is expected to eq :info4146 payload_severity: "s1", expected_severity: :critical4147 is expected to eq :critical4148 payload_severity: "s2", expected_severity: :high4149 is expected to eq :high4150 payload_severity: "s3", expected_severity: :medium4151 is expected to eq :medium4152 payload_severity: "s4", expected_severity: :low4153 is expected to eq :low4154 payload_severity: "s5", expected_severity: :info4155 is expected to eq :info4156 payload_severity: "p1", expected_severity: :critical4157 is expected to eq :critical4158 payload_severity: "p2", expected_severity: :high4159 is expected to eq :high4160 payload_severity: "p3", expected_severity: :medium4161 is expected to eq :medium4162 payload_severity: "p4", expected_severity: :low4163 is expected to eq :low4164 payload_severity: "p5", expected_severity: :info4165 is expected to eq :info4166 payload_severity: "CRITICAL", expected_severity: :critical4167 is expected to eq :critical4168 payload_severity: "cRiTiCaL", expected_severity: :critical4169 is expected to eq :critical4170 payload_severity: "S1", expected_severity: :critical4171 is expected to eq :critical4172 payload_severity: "unmapped", expected_severity: nil4173 is expected to eq nil4174 payload_severity: 1, expected_severity: nil4175 is expected to eq nil4176 payload_severity: nil, expected_severity: nil4177 is expected to eq nil4178 payload_severity: "debug", expected_severity: :info4179 is expected to eq :info4180 payload_severity: "information", expected_severity: :info4181 is expected to eq :info4182 payload_severity: "notice", expected_severity: :info4183 is expected to eq :info4184 payload_severity: "warn", expected_severity: :low4185 is expected to eq :low4186 payload_severity: "warning", expected_severity: :low4187 is expected to eq :low4188 payload_severity: "minor", expected_severity: :low4189 is expected to eq :low4190 payload_severity: "error", expected_severity: :medium4191 is expected to eq :medium4192 payload_severity: "major", expected_severity: :high4193 is expected to eq :high4194 payload_severity: "emergency", expected_severity: :critical4195 is expected to eq :critical4196 payload_severity: "fatal", expected_severity: :critical4197 is expected to eq :critical4198 payload_severity: "alert", expected_severity: :medium4199 is expected to eq :medium4200 payload_severity: "page", expected_severity: :high4201 is expected to eq :high4202 without key4203 is expected to be nil4204Gitlab::ImportExport::Project::RelationTreeRestorer4205 when inside a group4206 behaves like import project successfully4207 imported project4208 has the project attributes and relations4209 with invalid relations4210 logs the invalid relation and its errors4211Integrations::Prometheus4212 behaves like Integrations::BaseMonitoring4213 default values4214 is expected to eq :monitoring4215 redirects4216 does not follow redirects4217 Validations4218 when manual_configuration is enabled4219 validates presence of api_url4220 when manual configuration is disabled4221 does not validate presence of api_url4222 local connections allowed4223 does not validate presence of api_url4224 when the api_url domain points to localhost or local network4225 cannot query4226 can query when local requests are allowed4227 with self-monitoring project and internal Prometheus4228 allows self-monitoring project to connect to internal Prometheus4229 does not allow self-monitoring project to connect to other local URLs4230 #test4231 success4232 reads the discovery endpoint4233 failure4234 fails to read the discovery endpoint4235 when configuration is not valid4236 returns failure message4237 #prometheus_client4238 manual configuration is enabled4239 calls valid?4240 manual configuration is disabled4241 no client provided4242 when local requests are allowed4243 allows local requests4244 when local requests are blocked4245 blocks local requests4246 with self-monitoring project and internal Prometheus URL4247 allows local requests4248 behind IAP4249 includes the authorization header4250 with invalid IAP JSON4251 does not include authorization header4252 when passed with token_credential_uri4253 param_name: :token_credential_uri4254 does not make any unexpected HTTP requests4255 param_name: :tokencredentialuri4256 does not make any unexpected HTTP requests4257 param_name: :Token_credential_uri4258 does not make any unexpected HTTP requests4259 param_name: :tokenCredentialUri4260 does not make any unexpected HTTP requests4261 #prometheus_available?4262 clusters with enabled prometheus4263 cluster belongs to project4264 returns true4265 cluster belongs to projects group4266 returns true4267 avoids N+1 queries4268 cluster belongs to gitlab instance4269 returns true4270 clusters with prometheus disabled4271 returns false4272 clusters without prometheus4273 returns false4274 no clusters4275 returns false4276 #synchronize_service_state before_save callback4277 no clusters with prometheus are installed4278 when integration is inactive4279 activates integration when manual_configuration is enabled4280 keeps integration inactive when manual_configuration is disabled4281 when integration is active4282 keeps the integration active when manual_configuration is enabled4283 inactivates the integration when manual_configuration is disabled4284 with prometheus installed in the cluster4285 when integration is inactive4286 activates integration when manual_configuration is enabled4287 activates integration when manual_configuration is disabled4288 when integration is active4289 keeps integration active when manual_configuration is enabled4290 keeps integration active when manual_configuration is disabled4291 #track_events after_commit callback4292 enabling manual_configuration4293 tracks enable event4294 tracks disable event4295 #editable?4296 is editable4297 when cluster exists with prometheus enabled4298 remains editable4299 #google_iap_service_account_json4300 with valid JSON4301 masks all JSON values4302 with invalid JSON4303 value: nil4304 is expected to eq nil4305 value: ""4306 is expected to eq ""4307 value: " "4308 is expected to eq " "4309 value: "invalid json"4310 is expected to eq "invalid json"4311API::Entities::User4312 exposes correct attributes4313 exposes created_at if the current user can read the user profile4314 does not expose created_at if the current user cannot read the user profile4315 exposes user as not a bot4316 exposes local_time4317 exposing follow relationships4318 when current user cannot read user profile4319 behaves like does not expose relationship4320 does not expose followers4321 when current user can read user profile4322 behaves like exposes relationship4323 exposes followers4324 when current user can read user profile and disable_follow_users is switched off4325 behaves like exposes relationship4326 exposes followers4327 when current user can read user profile, disable_follow_users is switched on and user disabled it for themself4328 behaves like does not expose relationship4329 does not expose followers4330 when current user can read user profile, disable_follow_users is switched on and current user disabled it for themself4331 behaves like does not expose relationship4332 does not expose followers4333 when current user cannot read user profile4334 behaves like does not expose relationship4335 does not expose following4336 when current user can read user profile4337 behaves like exposes relationship4338 exposes following4339 when current user can read user profile and disable_follow_users is switched off4340 behaves like exposes relationship4341 exposes following4342 when current user can read user profile, disable_follow_users is switched on and user disabled it for themself4343 behaves like does not expose relationship4344 does not expose following4345 when current user can read user profile, disable_follow_users is switched on and current user disabled it for themself4346 behaves like does not expose relationship4347 does not expose following4348 when current user cannot read user profile4349 behaves like does not expose relationship4350 does not expose is_followed4351 when current user can read user profile4352 behaves like exposes relationship4353 exposes is_followed4354 when current user can read user profile and disable_follow_users is switched off4355 behaves like exposes relationship4356 exposes is_followed4357 when current user can read user profile, disable_follow_users is switched on and user disabled it for themself4358 behaves like does not expose relationship4359 does not expose is_followed4360 when current user can read user profile, disable_follow_users is switched on and current user disabled it for themself4361 behaves like does not expose relationship4362 does not expose is_followed4363 with project bot user4364 exposes user as a bot4365 when the requester is not an admin4366 does not expose project bot user name4367 when the requester is nil4368 does not expose project bot user name4369 when the requester is a project maintainer4370 exposes project bot user name4371 when the requester is an admin4372 exposes project bot user name4373 with group bot user4374 exposes user as a bot4375 when the requester is not a group member4376 with a public group4377 exposes group bot user name4378 with a private group4379 does not expose group bot user name4380 when the requester is nil4381 does not expose group bot user name4382 when the requester is a group maintainer4383 exposes group bot user name4384 when the requester is an admin4385 exposes group bot user name4386 with logged-out user4387 exposes is_followed as nil4388Mutations::MergeRequests::SetReviewers4389 #resolve4390 does not change reviewers if the merge_request is not accessible to the reviewers4391 returns an operational error if the merge_request is not accessible to the reviewers4392 when the user does not have permissions4393 behaves like permission level for merge request mutation is correctly verified4394 when the user is not a project member4395 behaves like when the user does not have access to the resource4396 raises an error4397 even if assigned to the merge request4398 does not modify merge request4399 even if reviewer of the merge request4400 raises an error4401 even if author of the merge request4402 raises an error4403 when the user is a project member4404 with guest role4405 behaves like when the user does not have access to the resource4406 raises an error4407 even if assigned to the merge request4408 does not modify merge request4409 even if reviewer of the merge request4410 raises an error4411 even if author of the merge request4412 raises an error4413 with reporter role4414 behaves like when the user does not have access to the resource4415 raises an error4416 even if assigned to the merge request4417 does not modify merge request4418 even if reviewer of the merge request4419 raises an error4420 even if author of the merge request4421 raises an error4422 when the user can update the merge_request4423 replaces the reviewer4424 returns errors when merge_request could not be updated4425 when passing an empty reviewer list4426 removes all reviewers4427 when passing "append" as true4428 is a NO-OP in FOSS4429 when passing "remove" as true4430 removes named reviewer4431 does not remove unnamed reviewer4432Gitlab::GitalyClient::CommitService4433 #diff_from_parent4434 returns a Gitlab::GitalyClient::DiffStitcher4435 encodes paths correctly4436 when a commit has a parent4437 sends an RPC request with the parent ID as left commit4438 when a commit does not have a parent4439 sends an RPC request with empty tree ref as left commit4440 when given a whitespace param4441 and the param is true4442 uses the ignore all white spaces const4443 and the param is false4444 does not set a whitespace param4445 when given no whitespace param4446 does not set a whitespace param4447 #commit_deltas4448 when a commit has a parent4449 sends an RPC request with the parent ID as left commit4450 when a commit does not have a parent4451 sends an RPC request with empty tree ref as left commit4452 #diff_stats4453 sends an RPC request and returns the stats4454 #find_changed_paths4455 sends an RPC request and returns the stats4456 #tree_entries4457 sends a get_tree_entries message with default limit4458 with UTF-8 params strings4459 handles string encodings correctly4460 with pagination parameters4461 responds with a pagination cursor4462 #commit_count4463 sends a commit_count message4464 with UTF-8 params strings4465 handles string encodings correctly4466 #find_commit4467 sends an RPC request4468 caching4469 when passed revision is a branch name4470 calls Gitaly4471 when passed revision is a commit ID4472 returns a cached commit4473 when caching of the ref name is enabled4474 caches negative entries4475 returns a cached commit4476 #list_commits4477 behaves like a ListCommits request4478 sends a list_commits message4479 with multiple revisions4480 behaves like a ListCommits request4481 sends a list_commits message4482 with reverse: true4483 behaves like a ListCommits request4484 sends a list_commits message4485 with commit message, author, before and after4486 behaves like a ListCommits request4487 sends a list_commits message4488 #list_new_commits4489 with hook environment4490 reject commits which exist in target repository4491 behaves like a #list_all_commits message4492 sends a list_all_commits message4493 keep commits which do not exist in target repository4494 behaves like a #list_all_commits message4495 sends a list_all_commits message4496 mixed existing and nonexisting commits4497 behaves like a #list_all_commits message4498 sends a list_all_commits message4499 without hook environment4500 behaves like a #list_commits message4501 sends a list_commits message4502 #commit_stats4503 sends an RPC request4504 #find_commits4505 sends an RPC request with NONE when default4506 sends an RPC request4507 sends an RPC request with an author4508 #object_existence_map4509 with empty request4510 behaves like a CheckObjectsExistRequest4511 returns expected results4512 when revision exists4513 behaves like a CheckObjectsExistRequest4514 returns expected results4515 when revision does not exist4516 behaves like a CheckObjectsExistRequest4517 returns expected results4518 when request contains mixed revisions4519 behaves like a CheckObjectsExistRequest4520 returns expected results4521 when requesting many revisions4522 behaves like a CheckObjectsExistRequest4523 returns expected results4524 #commits_by_message4525 when only the query is provided4526 sends an RPC request with the correct payload4527 when all arguments are provided4528 sends an RPC request with the correct payload4529 when limit and offset are not integers4530 sends an RPC request with the correct payload4531 when revision and path contain non-ASCII characters4532 sends an RPC request with the correct payload4533 #list_commits_by_ref_name4534 lists latest commits grouped by a ref name4535 #raw_blame4536 without a range4537 blames a whole file4538 with a range4539 blames part of a file4540Projects::ImportExport::CreateRelationExportsWorker4541 # order random4542 enqueues a WaitRelationExportsWorker4543 creates relation export records and enqueues a worker for each relation to be exported4544 creates a export_job and sets the status to `started`4545 when job is re-enqueued after an interuption and same JID is used4546 does not start the export process twice4547 behaves like an idempotent worker4548 is labeled as idempotent4549 performs multiple times sequentially without raising an exception4550 behaves like an idempotent worker4551 is labeled as idempotent4552 performs multiple times sequentially without raising an exception4553Ci::JobArtifacts::UpdateUnknownLockedStatusService4554 .execute4555 when artifacts are expired4556 sets artifact_locked when the pipeline is locked4557 destroys the artifact when the pipeline is unlocked4558 does not update ci_job_artifact rows with known locked values4559 logs the counts of affected artifacts4560 in a single iteration4561 due to the LOOP_TIMEOUT4562 affects the earliest expired artifact first4563 reports the number of destroyed artifacts4564 due to @loop_limit4565 affects the most recently expired artifact first4566 reports the number of destroyed artifacts4567 when artifact is not expired4568 does not change the locked status4569 when exclusive lease has already been taken by the other instance4570 raises an error and4571 when there are no unknown status artifacts4572 does not raise error4573 reports the number of destroyed artifacts4574Gitlab::Metrics::RequestsRackMiddleware4575 #call4576 @app.call succeeds with 2004577 tracks request count and duration4578 guarantees SLI metrics are incremented with all the required labels4579 request is a health check endpoint4580 when path is /-/liveness4581 increments health endpoint counter rather than overall counter and does not record duration4582 when path is /-/liveness/4583 increments health endpoint counter rather than overall counter and does not record duration4584 when path is /-/%6D%65%74%72%69%63%734585 increments health endpoint counter rather than overall counter and does not record duration4586 request is not a health check endpoint4587 when path is /-/ordinary-requests4588 increments regular counters and tracks duration4589 when path is /-/4590 increments regular counters and tracks duration4591 when path is /-/health/subpath4592 increments regular counters and tracks duration4593 @app.call returns an error code4594 tracks count and error rate but not duration and apdex4595 @app.call throws exception4596 tracks the correct metrics4597 application context4598 when a context is present4599 adds the feature category to the labels for required metrics4600 does not record a feature category for health check endpoints4601 when application raises an exception when the feature category context is present4602 adds the feature category to the labels for http_requests_total4603 when the context is not available4604 sets the required labels to unknown4605 SLI satisfactory4606 request_urgency_name: :high, duration: 0.1, success: true4607 Grape API handler having expected duration setup4608 captures SLI metrics4609 Rails controller having expected duration setup4610 captures SLI metrics4611 request_urgency_name: :high, duration: 0.25, success: false4612 Grape API handler having expected duration setup4613 captures SLI metrics4614 Rails controller having expected duration setup4615 captures SLI metrics4616 request_urgency_name: :high, duration: 0.3, success: false4617 Grape API handler having expected duration setup4618 captures SLI metrics4619 Rails controller having expected duration setup4620 captures SLI metrics4621 request_urgency_name: :medium, duration: 0.3, success: true4622 Grape API handler having expected duration setup4623 captures SLI metrics4624 Rails controller having expected duration setup4625 captures SLI metrics4626 request_urgency_name: :medium, duration: 0.5, success: false4627 Grape API handler having expected duration setup4628 captures SLI metrics4629 Rails controller having expected duration setup4630 captures SLI metrics4631 request_urgency_name: :medium, duration: 0.6, success: false4632 Grape API handler having expected duration setup4633 captures SLI metrics4634 Rails controller having expected duration setup4635 captures SLI metrics4636 request_urgency_name: :default, duration: 0.6, success: true4637 Grape API handler having expected duration setup4638 captures SLI metrics4639 Rails controller having expected duration setup4640 captures SLI metrics4641 request_urgency_name: :default, duration: 1.0, success: false4642 Grape API handler having expected duration setup4643 captures SLI metrics4644 Rails controller having expected duration setup4645 captures SLI metrics4646 request_urgency_name: :default, duration: 1.2, success: false4647 Grape API handler having expected duration setup4648 captures SLI metrics4649 Rails controller having expected duration setup4650 captures SLI metrics4651 request_urgency_name: :low, duration: 4.5, success: true4652 Grape API handler having expected duration setup4653 captures SLI metrics4654 Rails controller having expected duration setup4655 captures SLI metrics4656 request_urgency_name: :low, duration: 5.0, success: false4657 Grape API handler having expected duration setup4658 captures SLI metrics4659 Rails controller having expected duration setup4660 captures SLI metrics4661 request_urgency_name: :low, duration: 6, success: false4662 Grape API handler having expected duration setup4663 captures SLI metrics4664 Rails controller having expected duration setup4665 captures SLI metrics4666 Grape API without expected duration4667 falls back request's expectation to default (1 second)4668 Rails controller without expected duration4669 falls back request's expectation to default (1 second)4670 A request with urgency set on the env (from ETag-caching)4671 records the request with the correct urgency4672 An unknown request4673 falls back request's expectation to default (1 second)4674 .initialize_metrics4675 sets labels for http_requests_total4676 sets labels for http_request_duration_seconds4677 has every label in config/feature_categories.yml4678MergeRequestPollCachedWidgetEntity4679 has the latest sha of the target branch4680 has blob path data4681 merge_status4682 calls for MergeRequest#check_mergeability4683 has public_merge_status as merge_status4684 diverged_commits_count4685 when MR open and its diverging4686 returns diverged commits count4687 when MR is not open4688 returns 04689 when MR is not diverging4690 returns 04691 diff_head_sha4692 when diff head commit is empty4693 returns nil4694 when diff head commit present4695 returns diff head commit short id4696 metrics4697 when metrics record exists with merged data4698 matches merge request metrics schema4699 returns values from metrics record4700 when metrics record exists with closed data4701 matches merge request metrics schema4702 returns values from metrics record4703 when metrics does not exists4704 when events exists4705 matches merge request metrics schema4706 returns values from events record4707 when events does not exists4708 matches merge request metrics schema4709 commits_without_merge_commits4710 does not include merge commits4711 squash defaults for projects4712 squash_option: "always", value: true, default: true, readonly: true4713 the key reflects the correct value4714 squash_option: "never", value: false, default: false, readonly: true4715 the key reflects the correct value4716 squash_option: "default_on", value: false, default: true, readonly: false4717 the key reflects the correct value4718 squash_option: "default_off", value: false, default: false, readonly: false4719 the key reflects the correct value4720 attributes for squash commit message4721 when merge request is mergeable4722 has default_squash_commit_message and commits_without_merge_commits4723 pipeline4724 when user has access to pipelines4725 when is up to date4726 returns pipeline4727 when user does not have access to pipelines4728 does not have pipeline4729 when is not up to date4730 returns nil4731 merge_pipeline4732 returns nil4733 when is merged4734 returns merge_pipeline4735 when user cannot read pipelines on target project4736 returns nil4737 ci related paths4738 path_field: :terraform_reports_path, method_for_existence_check: :has_terraform_reports?4739 when merge request has reports4740 set the path to poll data4741 when merge request has no reports4742 does not set reports path4743 path_field: :accessibility_report_path, method_for_existence_check: :has_accessibility_reports?4744 when merge request has reports4745 set the path to poll data4746 when merge request has no reports4747 does not set reports path4748 path_field: :exposed_artifacts_path, method_for_existence_check: :has_exposed_artifacts?4749 when merge request has reports4750 set the path to poll data4751 when merge request has no reports4752 does not set reports path4753 path_field: :test_reports_path, method_for_existence_check: :has_test_reports?4754 when merge request has reports4755 set the path to poll data4756 when merge request has no reports4757 does not set reports path4758 path_field: :codequality_reports_path, method_for_existence_check: :has_codequality_reports?4759 when merge request has reports4760 set the path to poll data4761 when merge request has no reports4762 does not set reports path4763 favicon overlay path4764 when merged4765 returns merged favicon overlay4766 with pipeline4767 returns merged favicon overlay4768 when not merged4769 returns no favicon overlay4770 with pipeline4771 returns pipeline favicon overlay4772CreateCommitSignatureWorker4773 when a signature is found4774 calls Gitlab::Gpg::Commit#signature4775 can recover from exception and continue the signature process4776 calls Gitlab::X509::Commit#signature4777 can recover from exception and continue the X509 signature process4778 behaves like an idempotent worker4779 is labeled as idempotent4780 performs multiple times sequentially without raising an exception4781 handles when a string is passed in for the commit SHA4782 creates a signature once4783 when Commit is not found4784 does not raise errors4785 when Project is not found4786 does not raise errors4787 does not call Gitlab::Gpg::Commit#signature4788 does not call Gitlab::X509::Commit#signature4789 fetching signatures4790 X5094791 performs a single query for commit signatures4792 PGP4793 performs a single query for commit signatures4794MergeRequestsHelper4795 #format_mr_branch_names4796 within the same project4797 is expected to eq ["master", "feature"]4798 within different projects4799 is expected to eq ["group69/project-573:master", "namespace579/project-572:feature"]4800 #diffs_tab_pane_data4801 for endpoint_diff_for_path4802 when sub-group project namespace4803 returns expected values4804 #merge_path_description4805 forked with arrow4806 is expected to eq "Project:Branches: group72/project-576:master → namespace581/project-575:feature"4807 forked default4808 is expected to eq "Project:Branches: group73/project-578:master to namespace582/project-577:feature"4809 with arrow4810 is expected to eq "Branches: master → feature"4811 default4812 is expected to eq "Branches: master to feature"4813 #tab_link_for4814 supports the :force_link option4815 removes the data-toggle attributes4816 #user_merge_requests_counts4817 returns assigned, review requested and total merge request counts4818 #reviewers_label4819 when multiple reviewers exist4820 returns reviewer label with reviewer names4821 returns reviewer label only with include_value: false4822 when the name contains a URL4823 returns sanitized name4824 when one reviewer exists4825 returns reviewer label with no names4826 returns reviewer label only with include_value: false4827 when no reviewers exist4828 returns reviewer label with no names4829 returns reviewer label only with include_value: false4830 #merge_request_source_branch4831 when merge request is a fork4832 does show the fork icon4833 when merge request is not a fork4834 does not show the fork icon4835Banzai::ReferenceParser::MergeRequestParser4836 #nodes_visible_to_user4837 when the link has a data-issue attribute4838 behaves like referenced feature visibility4839 when feature is disabled4840 does not create reference4841 when feature is enabled only for team members4842 does not create reference for non member4843 creates reference for member4844 when feature is enabled4845 creates reference4846 #referenced_by4847 when the link has a data-merge-request attribute4848 using an existing merge request ID4849 returns an Array of merge requests4850 using a non-existing merge request ID4851 returns an empty Array4852 when checking multiple merge requests on another project4853 behaves like no N+1 queries4854 avoids N+1 queries in #records_for_nodes4855 behaves like no project N+1 queries4856 avoids N+1 queries in #nodes_visible_to_user4857 #can_read_reference?4858 is expected to be truthy4859 when merge request belongs to the private project4860 prevents user from reading merge request references4861 when user has access to the project4862 is expected to be truthy4863 with memoization4864 when project is the same4865 calls #can? only once4866 when merge requests belong to different projects4867 calls #can? for each project4868Gitlab::Auth::Ldap::User4869 #should_save?4870 marks existing ldap user as changed4871 marks existing non-ldap user if the email matches as changed4872 does not mark existing ldap user as changed4873 #valid_sign_in?4874 returns true4875 returns false if the GitLab user is not valid4876 find or create4877 finds the user if already existing4878 connects to existing non-ldap user if the email matches4879 connects to existing ldap user if the extern_uid changes4880 connects to existing ldap user if the extern_uid changes and email address has upper case characters4881 maintains an identity per provider4882 creates a new user if not found4883 when signup is disabled4884 creates the user4885 when user confirmation email is enabled4886 creates and confirms the user anyway4887 when the current minimum password length is different from the default minimum password length4888 creates the user4889 updating email4890 when LDAP sets an email4891 has a real email4892 has email set as synced4893 has email set as read-only4894 has synced attributes provider set to ldapmain4895 when LDAP doesn't set an email4896 has a temp email4897 has email set as not synced4898 does not have email set as read-only4899 blocking4900 signup4901 dont block on create4902 is expected not to be blocked4903 block on create4904 is expected to be blocked4905 sign-in4906 dont block on create4907 is expected not to be blocked4908 block on create4909 is expected not to be blocked4910Clusters::Agents::Authorizations::CiAccess::RefreshService4911 # order random4912 #execute4913 group authorization4914 refreshes authorizations for the agent4915 config contains too many groups4916 authorizes groups up to the limit4917 config contains no groups4918 removes all authorizations4919 config contains groups outside of the configuration project hierarchy4920 removes all authorizations4921 configuration project does not belong to a group4922 removes all authorizations4923 project authorization4924 refreshes authorizations for the agent4925 project does not belong to a group, and is in the same namespace as the agent4926 creates an authorization record for the project4927 project does not belong to a group, and is authorizing itself4928 creates an authorization record for the project4929 config contains too many projects4930 authorizes projects up to the limit4931 config contains no groups4932 removes all authorizations4933 config contains groups outside of the configuration project hierarchy4934 removes all authorizations4935 configuration project does not belong to a group4936 removes all authorizations4937Security::MergeReportsService#execute4938 copies scanners into target report and eliminates duplicates4939 copies identifiers into target report and eliminates duplicates4940 deduplicates (except cwe and wasc) and sorts the vulnerabilities by severity (desc) then by compare key4941 deduplicates scanned resources4942 errors on target report4943 is expected to contain exactly {:message=>"bar", :type=>"foo"} and {:message=>"baz", :type=>"zoo"}4944 warnings on target report4945 is expected to contain exactly {:message=>"bar", :type=>"foo"} and {:message=>"baz", :type=>"zoo"}4946 ordering reports for sast analyzers4947 when reports are gathered in an unprioritized order4948 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007f5e78658b68 @external_id="bandit", @name="Bandit", @vendor="Security Scanner Vendor", @version="1.0.0", @primary_identifiers=nil, @sort_keys=[1, "bandit", "Bandit", "Security Scanner Vendor"]> and #<Gitlab::Ci::Reports::Security::Scanner:0x00007f5e77d2bb58 @external_id="semgrep", @name="Semgrep", @vendor="Security Scanner Vendor", @version="1.0.0", @primary_identifiers=nil, @sort_keys=[2, "semgrep", "Semgrep", "Security Scanner Vendor"]>4949 is expected to eq 24950 is expected to eql #<Gitlab::Ci::Reports::Security::Identifier:0x00007f5ea7b6a320 @external_id="B403", @external_type="bandit_test_id", @name="bandit_test_id-B403", @url=nil, @fingerprint="9ea39e538d11434f325435e905bf238e7cf1f7a4"> and #<Gitlab::Ci::Reports::Security::Identifier:0x00007f5eaf99a6a0 @external_id="CVE-2019-123", @external_type="cve", @name="cve-CVE-2019-123", @url=nil, @fingerprint="6d834ff5767ac7544bef36b0e9996a9a3d6da5f1">4951 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007f5ea3d62690 @external_id="rules.bandit.B105", @external_type="semgrep_id", @name="semgrep_id-rules.bandit.B105", @url=nil, @fingerprint="86d65bee153188dc92a8fd17263d8319d9fbe4ee">4952 when a custom analyzer is completed before the known analyzers4953 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x00007f5e89e3b478 @external_id="bandit", @name="Bandit", @vendor="Security Scanner Vendor", @version="1.0.0", @primary_identifiers=nil, @sort_keys=[1, "bandit", "Bandit", "Security Scanner Vendor"]>, #<Gitlab::Ci::Reports::Security::Scanner:0x00007f5e869daaf8 @external_id="semgrep", @name="Semgrep", @vendor="Security Scanner Vendor", @version="1.0.0", @primary_identifiers=nil, @sort_keys=[2, "semgrep", "Semgrep", "Security Scanner Vendor"]>, and #<Gitlab::Ci::Reports::Security::Scanner:0x00007f5e8e35f130 @external_id="scanner-2", @name="Scanner 2", @vendor="Security Scanner Vendor", @version="1.0.0", @primary_identifiers=nil, @sort_keys=[Infinity, "scanner-2", "Scanner 2", "Security Scanner Vendor"]>4954 is expected to eq 34955 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x00007f5e74cd37f8 @external_id="VULN-2", @external_type="scanner-2", @name="scanner-2-VULN-2", @url=nil, @fingerprint="8e683704c05c3d223f7572623a39cdf39ecc5f15"> and #<Gitlab::Ci::Reports::Security::Identifier:0x00007f5e74cd0558 @external_id="CVE-2019-456", @external_type="cve", @name="cve-CVE-2019-456", @url=nil, @fingerprint="47c8c718e4355e29c0b8e87fd62c2c7da65911dd">4956RuboCop::CodeReuseHelpers4957 # order random4958 delegates ee? to GitlabEdition4959 delegates jh? to GitlabEdition4960 #in_model?4961 returns true for a node in the models directory4962 returns false for a node outside the models directory4963 #in_spec?4964 returns true for a node in the spec directory4965 returns true for a node in the ee/spec directory4966 returns false for a node outside the spec directory4967 #in_lib_directory?4968 returns true for a directory in the CE lib/ directory4969 returns true for a directory in the EE lib/ directory4970 returns false for a directory in the app/ directory4971 #each_send_node4972 yields every send node to the supplied block4973 #in_graphql?4974 returns true for a node in the FOSS GraphQL directory4975 returns true for a node in the EE GraphQL directory4976 returns false for a node outside the GraphQL directory4977 #in_service_class?4978 returns true for a node in the services directory4979 returns false for a node outside the services directory4980 #in_finder?4981 returns true for a node in the finders directory4982 returns false for a node outside the finders directory4983 #in_graphql_directory?4984 returns true for a directory in the FOSS app/graphql directory4985 returns true for a directory in the EE app/graphql directory4986 returns true for a directory in the EE app/graphql/ee directory4987 returns false for a directory in the FOSS app/graphql directory4988 returns false for a directory in the EE app/graphql directory4989 returns false for a directory in the EE app/graphql/ee directory4990 #in_serializer?4991 returns true for a node in the serializers directory4992 returns false for a node outside the serializers directory4993 #name_of_constant4994 returns the name of a constant4995 #name_of_receiver4996 returns the name of a send receiver4997 #send_receiver_name_ends_with?4998 returns true when the receiver ends with a suffix4999 returns false when the receiver is the same as a suffix5000 #file_path_for_node5001 returns the file path of a node5002 #send_to_constant?5003 returns true when sending to a constant5004 returns false when sending to something other than a constant5005 #in_worker?5006 returns true for a node in the workers directory5007 returns false for a node outside the workers directory5008 #in_presenter?5009 returns true for a node in the presenters directory5010 returns false for a node outside the presenters directory5011 #disallow_send_to5012 disallows sending a message to a constant5013 #in_app_directory?5014 returns true for a directory in the CE app/ directory5015 returns true for a directory in the EE app/ directory5016 returns false for a directory in the lib/ directory5017 #in_api?5018 returns true for a node in the API directory5019 returns false for a node outside the API directory5020 #each_class_method5021 yields every class method to the supplied block5022EachBatch5023 .each_batch5024 orders ascending by default5025 accepts descending order5026 behaves like each_batch handling5027 yields an ActiveRecord::Relation when a block is given5028 yields a batch index as the second argument5029 accepts a custom batch size5030 does not include ORDER BYs in the yielded relations5031 allows updating of the yielded relations5032 behaves like each_batch handling5033 yields an ActiveRecord::Relation when a block is given5034 yields a batch index as the second argument5035 accepts a custom batch size5036 does not include ORDER BYs in the yielded relations5037 allows updating of the yielded relations5038 current scope5039 does not leak current scope to block being executed5040 .distinct_each_batch5041 when iterating over a unique column5042 when using ascending order5043 is expected to eq [1041, 1042, 1043, 1044, 1045]5044 when using larger batch size5045 is expected to eq [1041, 1042, 1043, 1044, 1045]5046 when using larger batch size than the result size5047 is expected to eq [1041, 1042, 1043, 1044, 1045]5048 when using descending order5049 is expected to eq [1045, 1044, 1043, 1042, 1041]5050 when using larger batch size5051 is expected to eq [1045, 1044, 1043, 1042, 1041]5052 when iterating over a non-unique column5053 when only one value is present5054 is expected to eq [0]5055 when duplicated values present5056 is expected to eq [2, 5]5057 when using descending order5058 is expected to eq [5, 2]5059 .each_batch_count5060 counts the records5061 when using a different column5062 returns correct count5063 when stopping and resuming the counting5064 returns the correct count5065IssuableExportCsvWorker5066 when issuable type is Issue5067 emails a CSV5068 ensures that project_id is passed to issues_finder5069 defines the loggable_arguments5070 removes sort parameter5071 calls the issue export service5072 with params5073 allows symbol access for IssuesFinder5074 when issuable type is MergeRequest5075 emails a CSV5076 calls the MR export service5077 calls the MergeRequest finder5078 behaves like export with selected fields5079 calls the export service with selected fields5080 for type WorkItem5081 emails a CSV5082 calls the work item export service5083 calls the WorkItemsFinder5084 behaves like export with selected fields5085 calls the export service with selected fields5086 when issuable type is User5087 is expected to raise ArgumentError5088ProjectAuthorization5089 unique user, project authorizations5090 with duplicate user and project authorization5091 is expected to be invalid5092 after validation5093 contains duplicate error5094 with multiple access levels for the same user and project5095 is expected to be invalid5096 after validation5097 contains duplicate error5098 relations5099 is expected to belong to user required: false5100 is expected to belong to project required: false5101 validations5102 is expected to validate that :project cannot be empty/falsy5103 is expected to validate that :user cannot be empty/falsy5104 is expected to validate that :access_level cannot be empty/falsy5105 is expected to validate that :access_level is either ‹10›, ‹20›, ‹30›, ‹40›, or ‹50›5106 .insert_all5107 skips duplicates and inserts the remaining rows without error5108 .insert_all_in_batches5109 when the total number of records to be inserted is greater than the batch size5110 inserts the rows in batches, as per the `per_batch` size, with a delay between each batch5111 behaves like logs the detail5112 logs the detail5113 when the GitLab installation does not have a replica database configured5114 behaves like inserts the rows in batches, as per the `per_batch` size, without a delay between each batch5115 is expected to contain exactly [1085, 611, 40], [1085, 612, 40], and [1085, 613, 40]5116 behaves like does not log any detail5117 does not log any detail5118 when the total number of records to be inserted is less than the batch size5119 behaves like inserts the rows in batches, as per the `per_batch` size, without a delay between each batch5120 is expected to contain exactly [1085, 611, 40], [1085, 612, 40], and [1085, 613, 40]5121 behaves like does not log any detail5122 does not log any detail5123 .delete_all_in_batches_for_project5124 when the total number of records to be removed is greater than the batch size5125 removes the project authorizations of the specified users in the current project, with a delay between each batch5126 behaves like logs the detail5127 logs the detail5128 when the GitLab installation does not have a replica database configured5129 behaves like removes the project authorizations of the specified users in the current project, without a delay between each batch5130 is expected not to include 1090, 1091, and 10925131 behaves like does not log any detail5132 does not log any detail5133 when the total number of records to be removed is less than the batch size5134 behaves like removes the project authorizations of the specified users in the current project, without a delay between each batch5135 is expected not to include 1090, 1091, and 10925136 behaves like does not log any detail5137 does not log any detail5138 .delete_all_in_batches_for_user5139 when the total number of records to be removed is greater than the batch size5140 removes the project authorizations of the specified projects from the current user, with a delay between each batch5141 behaves like logs the detail5142 logs the detail5143 when the GitLab installation does not have a replica database configured5144 behaves like removes the project authorizations of the specified projects from the current user, without a delay between each batch5145 is expected not to include 615, 616, and 6175146 behaves like does not log any detail5147 does not log any detail5148 when the total number of records to be removed is less than the batch size5149 behaves like removes the project authorizations of the specified projects from the current user, without a delay between each batch5150 is expected not to include 615, 616, and 6175151 behaves like does not log any detail5152 does not log any detail5153BulkImports::Common::Pipelines::MembersPipeline5154 when importing to group5155 #run5156 creates memberships for existing users5157 #load5158 creates new membership5159 when user_id is current user id5160 does not create new membership5161 when data is nil5162 does not create new membership5163 when user membership already exists with the same access level5164 does not create new membership5165 when portable is in a parent group5166 when the same membership exists in parent group5167 does not create new membership5168 when membership with higher access level exists in parent group5169 creates new direct membership5170 when membership with lower access level exists in parent group5171 does not create new membership5172 when importing to project5173 #run5174 creates memberships for existing users5175 #load5176 creates new membership5177 when user_id is current user id5178 does not create new membership5179 when data is nil5180 does not create new membership5181 when user membership already exists with the same access level5182 does not create new membership5183 when portable is in a parent group5184 when the same membership exists in parent group5185 does not create new membership5186 when membership with higher access level exists in parent group5187 creates new direct membership5188 when membership with lower access level exists in parent group5189 does not create new membership5190Ci::PipelineArtifactUploader5191 behaves like builds correct paths5192 #store_dir5193 behaves like matches the method pattern5194 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/5195 #cache_dir5196 behaves like matches the method pattern5197 is expected to match /artifacts\/tmp\/cache/5198 #work_dir5199 behaves like matches the method pattern5200 is expected to match /artifacts\/tmp\/work/5201 #upload_path5202 behaves like matches the method pattern5203 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5204 #relative_path5205 is relative (PENDING: Path not set, skipping.)5206 .absolute_path5207 behaves like matches the method pattern5208 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5209 .base_dir5210 behaves like matches the method pattern5211 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5212 path traversal exploits5213 throws an exception5214 when object store is REMOTE5215 behaves like builds correct paths5216 #store_dir5217 behaves like matches the method pattern5218 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/5219 #cache_dir5220 behaves like matches the method pattern5221 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5222 #work_dir5223 behaves like matches the method pattern5224 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5225 #upload_path5226 behaves like matches the method pattern5227 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5228 #relative_path5229 is relative (PENDING: Path not set, skipping.)5230 .absolute_path5231 behaves like matches the method pattern5232 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5233 .base_dir5234 behaves like matches the method pattern5235 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5236 path traversal exploits5237 throws an exception5238 when file is stored in valid local_path5239 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/artifacts\/\h{2}\/\h{2}\/\h{64}\/pipelines\/86\/artifacts\/17\/code_coverage.json/5240Clusters::BuildKubernetesNamespaceService5241 initializes a new namespace and sets default values5242 sets cluster_project and environment5243 namespace per environment is disabled5244 initializes a new namespace and sets default values5245 does not set environment5246 group cluster5247 initializes a new namespace and sets default values5248 does not set cluster_project5249Clusters::KubernetesNamespaceFinder5250 #execute5251 cluster supports separate namespaces per environment5252 no persisted namespace is present5253 is expected to be nil5254 a namespace with an environment is present5255 environment matches5256 is expected to eq #<Clusters::KubernetesNamespace id: 1, cluster_id: 44, project_id: 658, cluster_project_id: nil, created_at: "2023-04-27 06:17:30.139977951 +0000", updated_at: "2023-04-27 06:17:30.139977951 +0000", encrypted_service_account_token: [FILTERED], encrypted_service_account_token_iv: "4EDfRGp7D3ApH+DkMcUZiw==\n", namespace: "project-723-658-production", service_account_name: "project-723-658-production-service-account", environment_id: 9, service_account_token: nil>5257 project cluster5258 is expected to eq #<Clusters::KubernetesNamespace id: 2, cluster_id: 46, project_id: 659, cluster_project_id: 8, created_at: "2023-04-27 06:17:30.862599756 +0000", updated_at: "2023-04-27 06:17:30.862599756 +0000", encrypted_service_account_token: [FILTERED], encrypted_service_account_token_iv: "C6KRIja35tahI+B1JbXMLA==\n", namespace: "project-724-659-production", service_account_name: "project-724-659-production-service-account", environment_id: 10, service_account_token: nil>5259 service account token is blank5260 is expected to be nil5261 allow_blank_token is true5262 is expected to eq #<Clusters::KubernetesNamespace id: 4, cluster_id: 50, project_id: 661, cluster_project_id: nil, created_at: "2023-04-27 06:17:32.392818589 +0000", updated_at: "2023-04-27 06:17:32.392818589 +0000", encrypted_service_account_token: nil, encrypted_service_account_token_iv: nil, namespace: "project-726-661-production", service_account_name: "project-726-661-production-service-account", environment_id: 12, service_account_token: nil>5263 environment does not match5264 is expected to be nil5265 cluster does not support separate namespaces per environment5266 no persisted namespace is present5267 is expected to be nil5268 a legacy namespace with no environment is present5269 is expected to eq #<Clusters::KubernetesNamespace id: 6, cluster_id: 56, project_id: 664, cluster_project_id: nil, created_at: "2023-04-27 06:17:34.727823011 +0000", updated_at: "2023-04-27 06:17:34.727823011 +0000", encrypted_service_account_token: [FILTERED], encrypted_service_account_token_iv: "8CodsGrCpzkxsLSFuWbD1Q==\n", namespace: "project-729-664", service_account_name: "project-729-664-service-account", environment_id: nil, service_account_token: nil>5270 project cluster5271 is expected to eq #<Clusters::KubernetesNamespace id: 7, cluster_id: 58, project_id: 665, cluster_project_id: 9, created_at: "2023-04-27 06:17:35.459993104 +0000", updated_at: "2023-04-27 06:17:35.459993104 +0000", encrypted_service_account_token: [FILTERED], encrypted_service_account_token_iv: "+UgMqyRcUguXmSZTmJGe0w==\n", namespace: "project-730-665", service_account_name: "project-730-665-service-account", environment_id: nil, service_account_token: nil>5272 service account token is blank5273 is expected to be nil5274 allow_blank_token is true5275 is expected to eq #<Clusters::KubernetesNamespace id: 9, cluster_id: 62, project_id: 667, cluster_project_id: nil, created_at: "2023-04-27 06:17:37.015722812 +0000", updated_at: "2023-04-27 06:17:37.015722812 +0000", encrypted_service_account_token: nil, encrypted_service_account_token_iv: nil, namespace: "project-732-667", service_account_name: "project-732-667-service-account", environment_id: nil, service_account_token: nil>5276NoteEntity5277 behaves like note entity5278 basic note5279 exposes correct elements5280 does not expose elements for specific notes cases5281 exposes author correctly5282 does not expose web_url for author5283 exposes permission fields on current_user5284 exposes the report_abuse_path5285 :can_resolve_discussion5286 discussion is resolvable5287 user can resolve5288 is true5289 user cannot resolve5290 is false5291 discussion is not resolvable5292 is false5293 :outdated_line_change_path5294 when note shows outdated changes5295 returns correct outdated_line_change_namespace_project_note_path5296 when note does not show outdated changes5297 does not expose outdated_line_change_path5298 when note was edited5299 exposes last_edited_at and last_edited_by elements5300 when note is a system note5301 exposes system_note_icon_name element5302QuickActions::TargetService5303 #execute5304 for issue5305 behaves like find target5306 returns the target5307 behaves like build target5308 builds a new target5309 behaves like build target5310 builds a new target5311 for work item5312 behaves like find target5313 returns the target5314 for merge request5315 behaves like find target5316 returns the target5317 behaves like build target5318 builds a new target5319 behaves like build target5320 builds a new target5321 for commit5322 behaves like find target5323 returns the target5324 behaves like no target5325 returns nil5326 with nil target_iid5327 behaves like find target5328 returns the target5329 for unknown type5330 behaves like no target5331 returns nil5332notify/pipeline_fixed_email.html.haml5333 behaves like pipeline status changes email5334 when the pipeline contains a failed job5335 behaves like renders the pipeline status changes email correctly5336 pipeline with user5337 renders the email correctly5338 behaves like correct pipeline information for pipelines for merge requests5339 when pipeline for merge request5340 renders a source ref of the pipeline5341 pipeline without user5342 renders the email correctly5343 when the latest failed job is a bridge job5344 behaves like renders the pipeline status changes email correctly5345 pipeline with user5346 renders the email correctly5347 behaves like correct pipeline information for pipelines for merge requests5348 when pipeline for merge request5349 renders a source ref of the pipeline5350 pipeline without user5351 renders the email correctly5352Ci::RunnerProject5353 behaves like includes Limitable concern5354 #exceeds_limits?5355 without plan limits configured5356 is expected to eq false5357 without plan limits configured5358 is expected to eq false5359 with an existing model5360 is expected to eq true5361 validations5362 is expected to be a kind of Limitable5363 without plan limits configured5364 can create new models5365 with plan limits configured5366 can create new models5367 with an existing model5368 cannot create new models exceeding the plan limits5369 loose foreign key on ci_runner_projects.project_id5370 behaves like cleanup by a loose foreign key5371 cleans up (delete or nullify) the model5372Gitlab::GitalyClient::RepositoryService5373 #exists?5374 sends a repository_exists message5375 #optimize_repository5376 with default parameter5377 behaves like a repository optimization5378 sends a optimize_repository message5379 with heuristical housekeeping strategy5380 behaves like a repository optimization5381 sends a optimize_repository message5382 with eager housekeeping strategy5383 behaves like a repository optimization5384 sends a optimize_repository message5385 #prune_unreachable_objects5386 sends a prune_unreachable_objects message5387 #repository_size5388 sends a repository_size message5389 #get_object_directory_size5390 sends a get_object_directory_size message5391 #apply_gitattributes5392 sends an apply_gitattributes message5393 #info_attributes5394 reads the info attributes5395 #has_local_branches?5396 sends a has_local_branches message5397 #import_repository5398 sends a create_repository_from_url message5399 when http_host is provided5400 sends a create_repository_from_url message with http_host provided in the request5401 #fetch_remote5402 sends a fetch_remote_request message5403 with resolved address5404 sends a fetch_remote_request message5405 SSH auth5406 ssh_mirror_url: false, ssh_key_auth: false, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {}5407 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385408 ssh_mirror_url: false, ssh_key_auth: true, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {}5409 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385410 ssh_mirror_url: true, ssh_key_auth: false, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {:known_hosts=>"known_hosts"}5411 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385412 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: "key", ssh_known_hosts: "known_hosts", expected_params: {:ssh_key=>"key", :known_hosts=>"known_hosts"}5413 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385414 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: "key", ssh_known_hosts: nil, expected_params: {:ssh_key=>"key"}5415 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385416 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: nil, ssh_known_hosts: "known_hosts", expected_params: {:known_hosts=>"known_hosts"}5417 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385418 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: nil, ssh_known_hosts: nil, expected_params: {}5419 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385420 ssh_mirror_url: true, ssh_key_auth: true, ssh_private_key: "", ssh_known_hosts: "", expected_params: {}5421 example at ./spec/lib/gitlab/gitaly_client/repository_service_spec.rb:2385422 #calculate_checksum5423 sends a calculate_checksum message5424 #create_repository5425 sends a create_repository message without arguments5426 sends a create_repository message with default branch5427 sends a create_repository message with default branch containing non ascii chars5428 #create_from_snapshot5429 sends a create_repository_from_snapshot message5430 #raw_changes_between5431 sends a create_repository_from_snapshot message5432 #search_files_by_regexp5433 with ASCII ref5434 behaves like a search for files by regexp5435 sends a search_files_by_name message and returns a flatten array5436 with non-ASCII ref5437 behaves like a search for files by regexp5438 sends a search_files_by_name message and returns a flatten array5439 #disconnect_alternates5440 sends a disconnect_git_alternates message5441 #rename5442 sends a rename_repository message5443 #remove5444 sends a remove_repository message5445 #replicate5446 sends a replicate_repository message5447 #set_full_path5448 sends a set_full_path message5449 #full_path5450 sends a full_path message5451 #find_license5452 sends a find_license request with medium timeout5453Gitlab::Metrics::BackgroundTransaction5454 #run5455 yields the supplied block5456 stores the transaction in the current thread5457 removes the transaction from the current thread upon completion5458 #labels5459 when the worker queue is accessible5460 provides labels with endpoint_id, feature_category and queue5461 when the worker name does not exist5462 provides labels with endpoint_id and feature_category5463 when the worker queue is not accessible5464 provides labels with endpoint_id and feature_category5465 behaves like transaction metrics with labels5466 .prometheus_metric5467 adds a metric5468 #method_call_for5469 returns a MethodCall5470 #add_event5471 adds a metric5472 allows tracking of custom tags5473 with sensitive tags5474 filters tags5475 #increment5476 adds a metric5477 with block5478 overrides docstring5479 overrides labels5480 filters sensitive tags5481 #set5482 adds a metric5483 with block5484 overrides docstring5485 overrides labels5486 filters sensitive tags5487 #observe5488 adds a metric5489 with block5490 overrides docstring5491 overrides labels5492 filters sensitive tags5493Commits::CherryPickService5494 #execute5495 behaves like successful cherry-pick5496 picks the commit into the branch5497 supports a custom commit message5498 when picking a merge-request5499 adds a system note5500 behaves like successful cherry-pick5501 picks the commit into the branch5502 supports a custom commit message5503Packages::TagsFinder5504 #execute5505 is expected to contain exactly #<Packages::Tag id: 1, package_id: 1, name: "tag-1", created_at: "2023-04-27 06:18:20.223612250 +0000", updated_at: "2023-04-27 06:18:20.223612250 +0000"> and #<Packages::Tag id: 2, package_id: 1, name: "tag-2", created_at: "2023-04-27 06:18:20.231335939 +0000", updated_at: "2023-04-27 06:18:20.231335939 +0000">5506 with package type5507 is expected to contain exactly #<Packages::Tag id: 5, package_id: 4, name: "tag-5", created_at: "2023-04-27 06:18:21.054842834 +0000", updated_at: "2023-04-27 06:18:21.054842834 +0000">5508 with blank package type5509 is expected to contain exactly #<Packages::Tag id: 6, package_id: 5, name: "tag-6", created_at: "2023-04-27 06:18:21.457381003 +0000", updated_at: "2023-04-27 06:18:21.457381003 +0000"> and #<Packages::Tag id: 7, package_id: 5, name: "tag-7", created_at: "2023-04-27 06:18:21.462830791 +0000", updated_at: "2023-04-27 06:18:21.462830791 +0000">5510 with nil package type5511 is expected to contain exactly #<Packages::Tag id: 8, package_id: 6, name: "tag-8", created_at: "2023-04-27 06:18:21.857022812 +0000", updated_at: "2023-04-27 06:18:21.857022812 +0000"> and #<Packages::Tag id: 9, package_id: 6, name: "tag-9", created_at: "2023-04-27 06:18:21.861755362 +0000", updated_at: "2023-04-27 06:18:21.861755362 +0000">5512 with unknown package name5513 is expected to be empty5514 #find_by_name5515 is expected to eq #<Packages::Tag id: 12, package_id: 8, name: "tag-12", created_at: "2023-04-27 06:18:22.691016965 +0000", updated_at: "2023-04-27 06:18:22.691016965 +0000">5516 with package type5517 is expected to eq #<Packages::Tag id: 16, package_id: 11, name: "tag-16", created_at: "2023-04-27 06:18:23.436072255 +0000", updated_at: "2023-04-27 06:18:23.436072255 +0000">5518 with unknown tag_name5519 is expected to be nil5520Labels::TransferService5521 behaves like transfer labels5522 #execute5523 recreates missing group labels at project level and assigns them to the issuables5524 recreates missing ancestor group labels at project level and assigns them to the issuables5525 recreates label priorities related to the missing group labels5526 does not recreate missing group labels that are not applied to issues or merge requests5527 does not recreate missing group labels that already exist in the project group5528 updates only label links in the given project5529 when moving within the same ancestor group5530 does not recreate ancestor group labels5531Gitlab::ImportExport::Project::ImportTask5532 when project import is valid5533 performs project import successfully5534 behaves like rake task with disabled object_storage5535 disables direct & background upload only for service call5536 when project import is invalid5537 performs project import successfully5538Gitlab::VisibilityLevel5539 .level_value5540 defaults to PRIVATE when string value is not valid5541 defaults to PRIVATE when integer value is not valid5542 string_value: "private", integer_value: 05543 converts 'private' to integer value 05544 converts string integer '0' to integer value 05545 defaults to PRIVATE when string integer value is not valid5546 defaults to PRIVATE when string value is not valid5547 string_value: "internal", integer_value: 105548 converts 'internal' to integer value 105549 converts string integer '10' to integer value 105550 defaults to PRIVATE when string integer value is not valid5551 defaults to PRIVATE when string value is not valid5552 string_value: "public", integer_value: 205553 converts 'public' to integer value 205554 converts string integer '20' to integer value 205555 defaults to PRIVATE when string integer value is not valid5556 defaults to PRIVATE when string value is not valid5557 when `fallback_value` is set to `nil`5558 returns `nil` when string value is not valid5559 returns `nil` when integer value is not valid5560 .levels_for_user5561 returns INTERNAL and PUBLIC for internal users5562 returns PUBLIC for external users5563 returns PUBLIC when no user is given5564 when admin mode is enabled5565 returns all levels for an admin5566 when admin mode is disabled5567 returns INTERNAL and PUBLIC for an admin5568 .allowed_levels5569 only includes the levels that arent restricted5570 returns all levels when no visibility level was set5571 .closest_allowed_level5572 picks INTERNAL instead of PUBLIC if public is restricted5573 picks PRIVATE if nothing is available5574 .valid_level?5575 returns true when visibility is valid5576 .restricted_level?, .non_restricted_level?, and .public_level_restricted?5577 visibility_levels: nil, expected_status: false5578 returns the expected status5579 visibility_levels: [0], expected_status: false5580 returns the expected status5581 visibility_levels: [0, 10], expected_status: false5582 returns the expected status5583 visibility_levels: [20], expected_status: true5584 returns the expected status5585 visibility_levels: [20, 10], expected_status: true5586 returns the expected status5587 .options5588 keys5589 returns the allowed visibility levels5590 .level_name5591 level_value: 0, level_name: "Private"5592 returns the name of the visibility level5593 level_value: 10, level_name: "Internal"5594 returns the name of the visibility level5595 level_value: 20, level_name: "Public"5596 returns the name of the visibility level5597 level_value: 2147483647, level_name: "Unknown"5598 returns the name of the visibility level5599CustomerRelations::IssueContact5600 is expected to be valid5601 associations5602 is expected to belong to issue required: true5603 is expected to belong to contact required: true5604 factory5605 for root groups5606 uses objects from the same group5607 for subgroups5608 builds using the root ancestor5609 validation5610 fails when the contact group is unrelated to the issue group5611 succeeds when the contact belongs to a root group and is the same as the issue group5612 succeeds when the contact belongs to a root group and it is an ancestor of the issue group5613 #self.find_contact_ids_by_emails5614 returns ids of contacts from issue5615 does not return ids of contacts from other issues5616 raises ArgumentError when called with too many emails5617 .delete_for_project5618 destroys all issue_contacts for project5619 .delete_for_group5620 destroys all issue_contacts for projects in group and subgroups5621Gitlab::GithubImport::Importer::SingleEndpointDiffNotesImporter5622 is expected to includes the Gitlab::GithubImport::ParallelScheduling module5623 is expected to includes the Gitlab::GithubImport::SingleEndpointNotesImporting module5624 is expected to eq Gitlab::GithubImport::Representation::DiffNote5625 is expected to eq Gitlab::GithubImport::Importer::DiffNoteImporter5626 is expected to eq :pull_request_comments5627 is expected to eq :diff_note5628 is expected to eq 15629 #each_object_to_import5630 fetches data5631 skips cached pages5632 skips cached merge requests5633Tags::CreateService5634 #execute5635 creates the tag and returns success5636 when target is invalid5637 returns an error5638 when tag_name is empty5639 returns an error5640 when target is empty5641 returns an error5642 when tag already exists5643 returns an error5644 when tag name is invalid5645 returns an error5646 when pre-receive hook fails5647 returns an error5648Packages::Composer::CacheUploader5649 behaves like builds correct paths5650 #store_dir5651 behaves like matches the method pattern5652 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/5653 #cache_dir5654 behaves like matches the method pattern5655 is expected to match /\/packages\/tmp\/cache/5656 #work_dir5657 behaves like matches the method pattern5658 is expected to match /\/packages\/tmp\/work/5659 #upload_path5660 behaves like matches the method pattern5661 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5662 #relative_path5663 is relative (PENDING: Path not set, skipping.)5664 .absolute_path5665 behaves like matches the method pattern5666 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5667 .base_dir5668 behaves like matches the method pattern5669 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5670 path traversal exploits5671 throws an exception5672 object store is remote5673 behaves like builds correct paths5674 #store_dir5675 behaves like matches the method pattern5676 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/5677 #cache_dir5678 behaves like matches the method pattern5679 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5680 #work_dir5681 behaves like matches the method pattern5682 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5683 #upload_path5684 behaves like matches the method pattern5685 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5686 #relative_path5687 is relative (PENDING: Path not set, skipping.)5688 .absolute_path5689 behaves like matches the method pattern5690 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5691 .base_dir5692 behaves like matches the method pattern5693 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5694 path traversal exploits5695 throws an exception5696 remote file5697 with object storage enabled5698 can store file remotely5699notify/import_work_items_csv_email.html.haml5700 # order random5701 when parse error reported while importing5702 behaves like contains project link5703 is expected to have visible link "Sidney Jones1531 / Project-825 Name" with href "http://test.host/namespace814/project-825"5704 behaves like no records created5705 is expected not to have text "work items successfully imported."5706 behaves like contains parse error5707 is expected to have text "Error parsing CSV file. Please make sure it has the correct format"5708 when CSV contains multiple kinds of work item type errors5709 renders with missing work item message5710 behaves like contains project link5711 is expected to have visible link "Sidney Jones1531 / Project-825 Name" with href "http://test.host/namespace814/project-825"5712 behaves like no records created5713 is expected not to have text "work items successfully imported."5714 behaves like does not contain parse error5715 is expected not to have text "Error parsing CSV file. Please make sure it has the correct format"5716 when work item type column contains disallowed entries5717 renders with missing work item message5718 behaves like contains project link5719 is expected to have visible link "Sidney Jones1531 / Project-825 Name" with href "http://test.host/namespace814/project-825"5720 behaves like no records created5721 is expected not to have text "work items successfully imported."5722 behaves like does not contain parse error5723 is expected not to have text "Error parsing CSV file. Please make sure it has the correct format"5724 when no errors found while importing5725 renders correctly5726 behaves like contains project link5727 is expected to have visible link "Sidney Jones1531 / Project-825 Name" with href "http://test.host/namespace814/project-825"5728 behaves like work item records created5729 is expected to have text "work items successfully imported."5730 behaves like does not contain parse error5731 is expected not to have text "Error parsing CSV file. Please make sure it has the correct format"5732 when import errors reported5733 renders correctly5734 behaves like contains project link5735 is expected to have visible link "Sidney Jones1531 / Project-825 Name" with href "http://test.host/namespace814/project-825"5736 behaves like work item records created5737 is expected to have text "work items successfully imported."5738 behaves like does not contain parse error5739 is expected not to have text "Error parsing CSV file. Please make sure it has the correct format"5740 when work item type column contains blank entries5741 renders with missing work item message5742 behaves like contains project link5743 is expected to have visible link "Sidney Jones1531 / Project-825 Name" with href "http://test.host/namespace814/project-825"5744 behaves like no records created5745 is expected not to have text "work items successfully imported."5746 behaves like does not contain parse error5747 is expected not to have text "Error parsing CSV file. Please make sure it has the correct format"5748 when work item type column contains missing entries5749 renders with missing work item message5750 behaves like contains project link5751 is expected to have visible link "Sidney Jones1531 / Project-825 Name" with href "http://test.host/namespace814/project-825"5752 behaves like no records created5753 is expected not to have text "work items successfully imported."5754 behaves like does not contain parse error5755 is expected not to have text "Error parsing CSV file. Please make sure it has the correct format"5756BulkImports::Groups::Transformers::GroupAttributesTransformer5757 #transform5758 returns original data with some keys transformed5759 when some fields are not present5760 does not include those fields5761 when the destination_slug has invalid characters5762 normalizes the path5763 parent group transformation5764 sets parent id5765 when destination namespace is empty5766 does not set parent id5767 when destination namespace is empty5768 does not transform name5769 when destination namespace is present5770 when destination namespace does not have a group or project with same path5771 does not transform name5772 when destination namespace already has a group or project with the same name5773 makes the name unique by appending a counter5774 when destination namespace already has a group or project with the same path5775 makes the path unique by appending a counter5776 visibility level5777 when public5778 when destination is a public group5779 sets visibility level to public5780 when destination is a internal group5781 sets visibility level to internal5782 when destination is a private group5783 sets visibility level to private5784 when internal5785 when destination is a public group5786 sets visibility level to internal5787 when destination is a internal group5788 sets visibility level to internal5789 when destination is a private group5790 sets visibility level to private5791 when private5792 when destination is a public group5793 sets visibility level to private5794 when destination is a internal group5795 sets visibility level to private5796 when destination is a private group5797 sets visibility level to private5798 when destination is blank5799 when visibility level is public5800 sets visibility level to public5801 when when visibility level is internal5802 sets visibility level to internal5803 when private5804 sets visibility level to private5805 when visibility level is restricted5806 sets visibility level to private5807Gitlab::Ci::Matching::RunnerMatcher5808 .new5809 when attributes are missing5810 is expected to raise KeyError5811 with attributes5812 is expected to eq [1]5813 is expected to eq "instance_type"5814 is expected to eq 05815 is expected to eq 15816 is expected to eq false5817 is expected to eq "ref_protected"5818 is expected to eq ["tag1", "tag2"]5819 #instance_type?5820 is expected to be truthy5821 context with private runners5822 is expected to be falsey5823 #matches?5824 with an instance of BuildMatcher5825 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true5826 is expected to eq true5827 ref_protected: true, build_protected: false, run_untagged: true, runner_tags: [], build_tags: [], result: false5828 is expected to eq false5829 ref_protected: false, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true5830 is expected to eq true5831 ref_protected: false, build_protected: false, run_untagged: true, runner_tags: [], build_tags: [], result: true5832 is expected to eq true5833 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true5834 is expected to eq true5835 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: ["a"], result: false5836 is expected to eq false5837 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a", "b"], build_tags: ["a"], result: true5838 is expected to eq true5839 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a"], build_tags: ["a", "b"], result: false5840 is expected to eq false5841 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a"], build_tags: ["a"], result: true5842 is expected to eq true5843 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["a"], build_tags: ["a"], result: true5844 is expected to eq true5845 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["b"], build_tags: ["a"], result: false5846 is expected to eq false5847 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["a", "b"], build_tags: ["a"], result: true5848 is expected to eq true5849 with an instance of Ci::Build5850 raises ArgumentError5851Security::CiConfiguration::DependencyScanningCreateService5852 # order random5853 #execute5854 user does not belong to project5855 returns an error status5856 does not track a snowplow event5857 user belongs to project5858 does track the snowplow event5859 raises exception if the user does not have permission to create a new branch5860 when exception is raised5861 when branch was created5862 tries to rm branch5863 when branch was not created5864 does not try to rm branch5865 with no parameters5866 returns the path to create a new merge request5867 when the project has a non-default ci config file5868 does track the snowplow event5869 when existing ci config contains anchors/aliases5870 fails with error5871 when parsing existing ci config gives a Psych error5872 fails with error5873 when parsing existing ci config gives any other error5874 is successful5875 when the project is empty5876 returns an error5877Gitlab::Database::Partitioning::MonthlyStrategy5878 #current_partitions5879 detects both partitions5880 #missing_partitions5881 with existing partitions5882 detects the gap and the missing partition in May 20205883 detects the missing partitions at the end of the range and expects a partition for July 20205884 detects the missing partitions at the end of the range and expects a partition for August 20205885 creates partitions 6 months out from now (Sep 2020 through Feb 2021)5886 detects all missing partitions5887 when pruning partitions before June 20205888 does not include the missing partition from May 2020 because it would be dropped5889 detects the missing partition for 1 month ago (July 2020)5890 without existing partitions5891 detects the missing catch-all partition at the beginning5892 detects the missing partition for today and expects a partition for August 20205893 creates partitions 6 months out from now (Sep 2020 through Feb 20215894 detects all missing partitions5895 when pruning partitions before June 20205896 detects exactly the set of partitions from June 2020 to March 20215897 with a regular partition but no catchall (MINVALUE, to) partition5898 detects a missing catch-all partition to add before the existing partition5899 #extra_partitions5900 with existing partitions5901 without a time retention policy5902 has no extra partitions to prune5903 with a time retention policy that excludes no partitions5904 has no extra partitions to prune5905 with a time retention policy of 3 months5906 prunes the unbounded partition ending 2020-05-015907 with a time retention policy of 2 months5908 prunes the unbounded partition and the partition for May-June5909 when the retain_non_empty_partitions is true5910 prunes empty partitions5911 does not prune non-empty partitions5912DeploymentClusterEntity5913 #as_json5914 matches deployment_cluster entity schema5915 exposes the cluster details5916 when the user does not have permission to view the cluster5917 does not include the path nor the namespace5918Milestones::ClosedIssuesCountService5919 counts closed issues including confidential5920 behaves like a counter caching service5921 #count5922 caches the count5923 #refresh_cache5924 refreshes the cache5925 #delete_cache5926 removes the cache5927 #uncached_count5928 does not cache the count5929Gitlab::Ci::Pipeline::Expression::Lexer5930 #tokens5931 returns single value5932 does ignore whitespace characters5933 returns multiple values of the same token5934 returns multiple values with different tokens5935 returns tokens and operators5936 limits statement to specified amount of tokens5937 raises syntax error in case of finding unknown tokens5938 with complex expressions5939 expression: "$PRESENT_VARIABLE =~ /my var/ && $EMPTY_VARIABLE =~ /nope/", tokens: ["$PRESENT_VARIABLE", "=~", "/my var/", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]5940 is expected to eq ["$PRESENT_VARIABLE", "=~", "/my var/", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]5941 expression: "$EMPTY_VARIABLE == \"\" && $PRESENT_VARIABLE", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE"]5942 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE"]5943 expression: "$EMPTY_VARIABLE == \"\" && $PRESENT_VARIABLE != \"nope\"", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE", "!=", "\"nope\""]5944 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE", "!=", "\"nope\""]5945 expression: "$PRESENT_VARIABLE && $EMPTY_VARIABLE", tokens: ["$PRESENT_VARIABLE", "&&", "$EMPTY_VARIABLE"]5946 is expected to eq ["$PRESENT_VARIABLE", "&&", "$EMPTY_VARIABLE"]5947 expression: "$PRESENT_VARIABLE =~ /my var/ || $EMPTY_VARIABLE =~ /nope/", tokens: ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "$EMPTY_VARIABLE", "=~", "/nope/"]5948 is expected to eq ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "$EMPTY_VARIABLE", "=~", "/nope/"]5949 expression: "$EMPTY_VARIABLE == \"\" || $PRESENT_VARIABLE", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE"]5950 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE"]5951 expression: "$EMPTY_VARIABLE == \"\" || $PRESENT_VARIABLE != \"nope\"", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE", "!=", "\"nope\""]5952 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE", "!=", "\"nope\""]5953 expression: "$PRESENT_VARIABLE || $EMPTY_VARIABLE", tokens: ["$PRESENT_VARIABLE", "||", "$EMPTY_VARIABLE"]5954 is expected to eq ["$PRESENT_VARIABLE", "||", "$EMPTY_VARIABLE"]5955 expression: "$PRESENT_VARIABLE && null || $EMPTY_VARIABLE == \"\"", tokens: ["$PRESENT_VARIABLE", "&&", "null", "||", "$EMPTY_VARIABLE", "==", "\"\""]5956 is expected to eq ["$PRESENT_VARIABLE", "&&", "null", "||", "$EMPTY_VARIABLE", "==", "\"\""]5957 with parentheses are used5958 expression: "($PRESENT_VARIABLE =~ /my var/) && $EMPTY_VARIABLE =~ /nope/", tokens: ["(", "$PRESENT_VARIABLE", "=~", "/my var/", ")", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]5959 is expected to eq ["(", "$PRESENT_VARIABLE", "=~", "/my var/", ")", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]5960 expression: "$PRESENT_VARIABLE =~ /my var/ || ($EMPTY_VARIABLE =~ /nope/)", tokens: ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "(", "$EMPTY_VARIABLE", "=~", "/nope/", ")"]5961 is expected to eq ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "(", "$EMPTY_VARIABLE", "=~", "/nope/", ")"]5962 expression: "($PRESENT_VARIABLE && (null || $EMPTY_VARIABLE == \"\"))", tokens: ["(", "$PRESENT_VARIABLE", "&&", "(", "null", "||", "$EMPTY_VARIABLE", "==", "\"\"", ")", ")"]5963 is expected to eq ["(", "$PRESENT_VARIABLE", "&&", "(", "null", "||", "$EMPTY_VARIABLE", "==", "\"\"", ")", ")"]5964 #lexemes5965 returns an array of syntax lexemes5966Groups::UpdateSharedRunnersService5967 #execute5968 when current_user is not the group owner5969 results error and does not call any method5970 when current_user is the group owner5971 enable shared Runners5972 group that its ancestors have shared runners disabled5973 results error5974 root group with shared runners disabled5975 receives correct method and succeeds5976 when group has pending builds5977 updates pending builds for the group5978 when shared runners is not toggled5979 does not update pending builds for the group5980 disable shared Runners5981 receives correct method and succeeds5982 when group has pending builds5983 updates pending builds for the group5984 allow descendants to override5985 top level group5986 receives correct method and succeeds5987 when parent does not allow5988 results error5989 when using DISABLED_WITH_OVERRIDE (deprecated)5990 top level group5991 receives correct method and succeeds5992 when parent does not allow5993 results error5994Tooling::Danger::FeatureFlag5995 #feature_flag_files5996 retrieves added feature flag files5997 with added added feature flag files5998 returns an array of Found objects5999 without added added feature flag files6000 returns an array of Found objects6001 retrieves modified feature flag files6002 with modified modified feature flag files6003 returns an array of Found objects6004 without modified modified feature flag files6005 returns an array of Found objects6006 retrieves deleted feature flag files6007 with deleted deleted feature flag files6008 returns an array of Found objects6009 without deleted deleted feature flag files6010 returns an array of Found objects6011 #stage_label6012 when there is no stage label6013 returns nil6014 when there is a stage label6015 returns the stage label6016 Tooling::Danger::FeatureFlag::Found6017 #name6018 returns value from the YAML6019 #introduced_by_url6020 returns value from the YAML6021 #rollout_issue_url6022 returns value from the YAML6023 #milestone6024 returns value from the YAML6025 #type6026 returns value from the YAML6027 #group6028 returns value from the YAML6029 #default_enabled6030 returns value from the YAML6031 #raw6032 returns the raw YAML6033 #group_match_mr_label?6034 when group is nil6035 is true only if MR has no group label6036 when group is not nil6037 is true only if MR has the same group label6038Projects::ContainerRepository::DestroyService6039 when user has access to registry6040 behaves like executing with permissions6041 deletes the repository6042 sends disable_timeout = true as part of the params as default6043 sends disable_timeout = false as part of the params if it is set to false6044 when deleting the tags fails6045 sets status as deleted_failed6046 logs the error6047 behaves like returning an error status with message6048 returns an error status6049 when destroying the repository fails6050 sets status as deleted_failed6051 logs the error6052 behaves like returning an error status with message6053 returns an error status6054 when user does not have access to registry6055 does not delete a repository6056 behaves like returning an error status with message6057 returns an error status6058 when called during project deletion6059 behaves like executing with permissions6060 deletes the repository6061 sends disable_timeout = true as part of the params as default6062 sends disable_timeout = false as part of the params if it is set to false6063 when deleting the tags fails6064 sets status as deleted_failed6065 logs the error6066 behaves like returning an error status with message6067 returns an error status6068 when destroying the repository fails6069 sets status as deleted_failed6070 logs the error6071 behaves like returning an error status with message6072 returns an error status6073 when there is no user6074 behaves like returning an error status with message6075 returns an error status6076Packages::TerraformModule::CreatePackageService6077 #execute6078 valid package6079 behaves like creating a package6080 creates a package6081 package already exists elsewhere6082 is expected to eq 4036083 is expected to equal "Access Denied"6084 marked as pending_destruction6085 behaves like creating a package6086 creates a package6087 version already exists6088 is expected to eq 4036089 is expected to equal "Package version already exists."6090 marked as pending_destruction6091 behaves like creating a package6092 creates a package6093 with empty version6094 is expected to eq 4006095 is expected to eq "Version is empty."6096Packages::SemVer6097 #parse6098 behaves like #parse with a valid semver6099 with 1.0.06100 returns v1.0.0 with prefix6101 returns 1.0.0 without prefix6102 behaves like #parse with a valid semver6103 with 1.0.0-pre6104 returns v1.0.0-pre with prefix6105 returns 1.0.0-pre without prefix6106 behaves like #parse with a valid semver6107 with 1.0.0+build6108 returns v1.0.0+build with prefix6109 returns 1.0.0+build without prefix6110 behaves like #parse with a valid semver6111 with 1.0.0-pre+build6112 returns v1.0.0-pre+build with prefix6113 returns 1.0.0-pre+build without prefix6114 behaves like #parse with an invalid semver6115 with 01.0.06116 returns nil with prefix6117 returns nil without prefix6118 behaves like #parse with an invalid semver6119 with 0.01.06120 returns nil with prefix6121 returns nil without prefix6122 behaves like #parse with an invalid semver6123 with 0.0.016124 returns nil with prefix6125 returns nil without prefix6126 behaves like #parse with an invalid semver6127 with 1.0.0asdf6128 returns nil with prefix6129 returns nil without prefix6130HashedStorage::ProjectMigrateWorker6131 #perform6132 skips when project no longer exists6133 skips when project is pending delete6134 skips when project is already migrated6135 with exclusive lease available6136 delegates migration to service class6137 delegates migration to service class with correct path in a partially migrated project6138 with exclusive lease taken6139 skips when it cant acquire the exclusive lease6140Ci::CreatePipelineService6141 include:6142 with a local file6143 behaves like including the file6144 includes the job in the file6145 with a local file with rules with a project variable6146 when the rules matches6147 behaves like including the file6148 includes the job in the file6149 when the rules does not match6150 behaves like not including the file6151 does not include the job in the file6152 with a local file with rules with a predefined pipeline variable6153 when the rules matches6154 behaves like including the file6155 includes the job in the file6156 when the rules does not match6157 behaves like not including the file6158 does not include the job in the file6159 with a local file with rules with a run pipeline variable6160 when the rules matches6161 behaves like including the file6162 includes the job in the file6163 when the rules does not match6164 behaves like not including the file6165 does not include the job in the file6166Gitlab::Git::Conflict::Parser6167 .parse6168 when the file has valid conflicts6169 content has LF endings6170 behaves like successful parsing6171 sets our lines as new lines6172 sets their lines as old lines6173 sets non-conflicted lines as both6174 sets consecutive line numbers for line_obj_index, line_old, and line_new6175 content has CRLF endings6176 behaves like successful parsing6177 sets our lines as new lines6178 sets their lines as old lines6179 sets non-conflicted lines as both6180 sets consecutive line numbers for line_obj_index, line_old, and line_new6181 content has mixed LF and CRLF endings6182 behaves like successful parsing6183 sets our lines as new lines6184 sets their lines as old lines6185 sets non-conflicted lines as both6186 sets consecutive line numbers for line_obj_index, line_old, and line_new6187 when the file contents include conflict delimiters6188 raises MissingEndDelimiter when there is no end delimiter at the end6189 when there is a non-start delimiter first6190 raises UnexpectedDelimiter when there is a middle delimiter first6191 raises UnexpectedDelimiter when there is an end delimiter first6192 does not raise when there is an end delimiter for a different path first6193 when a start delimiter is followed by a non-middle delimiter6194 raises UnexpectedDelimiter when it is followed by an end delimiter6195 raises UnexpectedDelimiter when it is followed by another start delimiter6196 does not raise when it is followed by a start delimiter for a different path6197 when a middle delimiter is followed by a non-end delimiter6198 raises UnexpectedDelimiter when it is followed by another middle delimiter6199 raises UnexpectedDelimiter when it is followed by a start delimiter6200 does not raise when it is followed by a start delimiter for another path6201 other file types6202 raises UnmergeableFile when lines is blank, indicating a binary file6203 raises UnmergeableFile when the file is over 200 KB6204 when the file contains UTF-8 characters6205 does not raise6206Sidebars::UserProfile::Menus::OverviewMenu6207 # order random6208 behaves like User profile menu6209 does not contain any sub menu6210 renders the correct link6211 renders the correct title6212 defines correct active route6213 renders if user is logged in6214 when viewed user is blocked6215 when user is not logged in6216 is not allowed to view the menu item6217 when current user has permission6218 is allowed to view the menu item6219 when current user does not have permission6220 is not allowed to view the menu item6221 when viewed user is banned6222 when user is not logged in6223 is not allowed to view the menu item6224 when current user has permission6225 is allowed to view the menu item6226 when current user does not have permission6227 is not allowed to view the menu item6228GroupLabel6229 relationships6230 is expected to belong to group required: false6231 validations6232 is expected to validate that :group cannot be empty/falsy6233 #subject6234 aliases group to subject6235 #to_reference6236 using id6237 returns a String reference to the object6238 using name6239 returns a String reference to the object6240 uses id when name contains double quote6241 cross-project6242 returns a String reference to the object6243 using invalid format6244 raises error6245 #preloaded_parent_container6246 when group is loaded6247 does not invoke a DB query6248 when parent_container is loaded6249 does not invoke a DB query6250 when none of them are loaded6251 invokes a DB query6252FeatureFlags::UpdateService6253 #execute6254 returns success status6255 creates audit event with correct message6256 when Jira Connect subscription does not exist6257 does not sync the feature flag to Jira6258 when Jira Connect subscription exists6259 syncs the feature flag to Jira6260 behaves like update feature flag client6261 updates last feature flag updated at6262 with invalid params6263 returns error status6264 returns error messages6265 does not create audit event6266 does not sync the feature flag to Jira6267 behaves like does not update feature flag client6268 does not update last feature flag updated at6269 when user is reporter6270 returns error status6271 when nothing is changed6272 returns success status6273 does not create audit event6274 description is being changed6275 creates audit event with changed description6276 when flag active state is changed6277 creates audit event about changing active state6278 executes hooks6279ApplicationSettingPolicy6280 update_runners_registration_token6281 when anonymous6282 is expected not to be allowed :update_runners_registration_token6283 regular user6284 is expected not to be allowed :update_runners_registration_token6285 when external6286 is expected not to be allowed :update_runners_registration_token6287 admin6288 when admin mode is enabled6289 is expected to be allowed :update_runners_registration_token6290 when admin mode is disabled6291 is expected to be disallowed :update_runners_registration_token6292GroupGroupLink6293 validation6294 is expected to validate that :shared_group cannot be empty/falsy6295 is expected to validate that :shared_group_id is case-sensitively unique within the scope of :shared_with_group_id, producing a custom validation error on failure6296 is expected to validate that :shared_with_group cannot be empty/falsy6297 is expected to validate that :group_access cannot be empty/falsy6298 is expected to validate that :group_access is either ‹10›, ‹20›, ‹30›, or ‹40›6299 relations6300 is expected to belong to shared_group required: false6301 is expected to belong to shared_with_group required: false6302 scopes6303 for scopes fetching records based on access levels6304 .non_guests6305 returns all records which are greater than Guests access6306 .with_owner_or_maintainer_access6307 returns all records which have OWNER or MAINTAINER access6308 .with_owner_access6309 returns all records which have OWNER access6310 .with_developer_access6311 returns all records which have DEVELOPER access6312 .with_developer_maintainer_owner_access6313 returns all records which have DEVELOPER, MAINTAINER or OWNER access6314 for access via group shares6315 .groups_accessible_via6316 returns other groups that you can get access to, via the group shares of the specified groups6317 .groups_having_access_to6318 returns all other groups that are having access to these specified groups, via group share6319 .distinct_on_shared_with_group_id_with_group_access6320 returns only one group link per group (with max group access)6321 #human_access6322 delegates to Gitlab::Access6323 search by group name6324 is expected to eq [#<GroupGroupLink id: 18, created_at: "2023-04-27 06:19:53.795781001 +0000", updated_at: "2023-04-27 06:19:53.795781001 +0000", shared_group_id: 2395, shared_with_group_id: 2372, expires_at: nil, group_access: 20>]6325 is expected to be empty6326Environments::AutoStopWorker6327 stops the environment6328 executes the stop action6329 when user does not have a permission to play the stop action6330 raises an error6331 when the environment has already been stopped6332 does not execute the stop action6333 when there are no deployments and associted stop actions6334 stops the environment6335 when there are no corresponding environment record6336 ignores the invalid record6337Gitlab::ImportExport::FileImporter6338 normal run6339 removes symlinks in root folder6340 removes hidden symlinks in root folder6341 removes evil symlinks in root folder6342 removes symlinks in subfolders6343 removes symlinks without any file permissions6344 does not remove a valid file6345 does not change a valid file permissions6346 creates the file in the right subfolder6347 when the import file is not remote6348 downloads the file from a remote object storage6349 when the import file is remote6350 downloads the file from a remote object storage6351 error6352 removes symlinks in root folder6353 removes hidden symlinks in root folder6354 removes symlinks in subfolders6355 does not remove a valid file6356 when file exceeds acceptable decompressed size6357 when validate_import_decompressed_archive_size feature flag is enabled6358 returns false6359 when validate_import_decompressed_archive_size feature flag is disabled6360 skips validation6361Gitlab::Graphql::Lazy6362 #force6363 can extract the value6364 can derive new lazy values6365 only evaluates once6366 deals with nested laziness6367 .with_value6368 defers the application of a block to a value6369 evaluates to the application of the block to the value6370 .force6371 when given a plain value6372 unwraps the value6373 when given a wrapped lazy value6374 unwraps the value6375 when the value is from a batchloader6376 syncs the value6377 when the value is a GraphQL lazy6378 forces the evaluation6379 when the value is a promise6380 executes the promise and waits for the value6381Metrics::Dashboard::PodDashboardService6382 #raw_dashboard6383 behaves like #raw_dashboard raises error if dashboard loading fails6384 when yaml is too large6385 raises error6386 when yaml loader returns error6387 raises error6388 when yaml is not a hash6389 returns nil6390 .valid_params?6391 is expected to be truthy6392 missing dashboard_path6393 is expected to be falsey6394 non-matching dashboard_path6395 is expected to be falsey6396 #get_dashboard6397 behaves like valid dashboard service response6398 behaves like valid dashboard service response for schema6399 returns a json representation of the dashboard6400 behaves like caches the unprocessed dashboard for subsequent calls6401 is expected to receive load_raw!(*(any args)) 1 time6402 behaves like refreshes cache when dashboard_version is changed6403 is expected to receive read(#<Pathname:/builds/gitlab-org/gitlab/config/prometheus/pod_metrics.yml>) 2 times6404 behaves like updates gitlab_metrics_dashboard_processing_time_ms metric6405 prometheus6406 behaves like dashboard_version contains SHA256 hash of dashboard file content6407 is expected to eq "3a91b32f91b2dd3d90275333c0ea3630b3f3f37c4296ede5b5eef59bf523d66b"6408 .all_dashboard_paths6409 returns the dashboard attributes6410Gitlab::Ci::Pipeline::Chain::EnsureResourceGroups6411 #perform!6412 when a pipeline contains a job that requires a resource group6413 ensures the resource group existence6414 when a resource group has already been existed6415 ensures the resource group existence6416 when a resource group key contains an invalid character6417 does not create any resource groups6418 when a pipeline does not contain a job that requires a resource group6419 does not create any resource groups6420Gitlab::ImportExport::SnippetsRepoSaver6421 bundle a project Git repo6422 creates the snippet bundles dir if not exists6423 when project does not have any snippet6424 does not perform any action6425 when project has snippets6426 calls the SnippetRepoSaver for each snippet6427 when one snippet cannot be saved6428 returns false and do not process other snippets6429projects/diffs/_viewer.html.haml6430 when there is a render error6431 renders the error6432 when the viewer is collapsed6433 renders the collapsed view6434 when there is no render error6435 prepares the viewer6436 renders the viewer6437gitlab:uploads rake tasks6438 check6439 outputs the integrity check for each batch6440 errors out about missing files on the file system6441 errors out about invalid checksum6442AccessTokenValidationService6443 .include_any_scope?6444 returns true if the required scope is present in the token's scopes6445 returns true if more than one of the required scopes is present in the token's scopes6446 returns true if the list of required scopes is an exact match for the token's scopes6447 returns true if the list of required scopes contains all of the token's scopes, in addition to others6448 returns true if the list of required scopes is blank6449 returns false if there are no scopes in common between the required scopes and the token scopes6450 conditions6451 ignores any scopes whose `if` condition returns false6452 does not ignore scopes whose `if` condition is not set6453 does not ignore scopes whose `if` condition returns true6454Gitlab::JobWaiter6455 .notify6456 pushes the jid to the named queue6457 .generate_key6458 generates and return a new key6459 #wait6460 returns when all jobs have been completed6461 times out if not all jobs complete6462 when a label is provided6463 increments just job_waiter_started_total when all jobs complete6464 increments job_waiter_started_total and job_waiter_timeouts_total when it times out6465ExtractsRef6466 #assign_ref_vars6467 behaves like assigns ref vars6468 assigns the repository var6469 ref contains %206470 is not converted to a space in @id6471 ref contains trailing space6472 strips surrounding space6473 ref contains leading space6474 strips surrounding space6475 path contains space6476 is not converted to %20 in @path6477 subclass overrides get_id6478 uses ref returned by get_id6479 ref and path are nil6480 does not set commit6481 when ref and path have incorrect format6482 does not raise an exception6483 when a ref_type parameter is provided6484 sets a fully_qualified_ref variable6485 behaves like extracts refs6486 #extract_ref6487 returns an empty pair when no repository_container is set6488 without a path6489 extracts a valid branch6490 extracts a valid tag6491 extracts a valid commit ref without a path6492 falls back to a primitive split for an invalid ref6493 does not fetch ref names when there is no slash6494 fetches ref names when there is a slash6495 with a path6496 extracts a valid branch6497 extracts a valid tag6498 extracts a valid commit SHA6499 falls back to a primitive split for an invalid ref6500 extracts the longest matching ref6501 when the repository does not have ambiguous refs6502 does not fetch all ref names when the first path component is a ref6503 fetches all ref names when the first path component is not a ref6504 when the repository has ambiguous refs6505 always fetches all ref names6506Gitlab::ImportExport::RepoRestorer6507 bundle a project Git repo6508 restores the repo successfully6509 when the repository already exists6510 deletes the existing repository before importing6511 restore a wiki Git repo6512 restores the wiki repo successfully6513 no wiki in the bundle6514 does not creates an empty wiki6515 when wiki already exists6516 does not cause an error when restoring6517Resolvers::Ci::TestReportSummaryResolver6518 #resolve6519 when pipeline has build report results6520 returns test report summary data6521 when pipeline does not have build report results6522 renders test report summary data6523Gitlab::Ci::Config::Entry::Product::Matrix6524 validations6525 when entry config value is correct6526 #valid?6527 is expected to be valid6528 when entry config generates too many jobs6529 #valid?6530 is expected not to be valid6531 #errors6532 returns error about too many jobs6533 when entry config has only one variable with multiple values6534 #valid?6535 is expected to be valid6536 #errors6537 returns no errors6538 #value6539 returns the value without raising an error6540 when entry config has only one variable with one value6541 #valid?6542 is expected to be valid6543 #errors6544 returns no errors6545 #value6546 returns the value without raising an error6547 when config value has wrong type6548 #valid?6549 is expected not to be valid6550 #errors6551 returns error about incorrect type6552 .compose!6553 when valid job entries composed6554 #value6555 returns key value6556 #descendants6557 creates valid descendant nodes6558 with empty config6559 #value6560 returns empty value6561 #number_of_generated_jobs6562 with empty config6563 is expected to be zero6564 with only one variable6565 is expected to eq 106566 with two variables6567 is expected to eq 506568 with two sets of variables6569 is expected to eq 566570Gitlab::ImportExport::UploadsSaver6571 bundle a project Git repo6572 legacy storage6573 saves the uploads successfully6574 copies the uploads to the export path6575 hashed storage6576 saves the uploads successfully6577 copies the uploads to the export path6578Gitlab::GithubImport::ImportPullRequestWorker6579 #import6580 imports a pull request6581 #importer_class6582 is expected to eq Gitlab::GithubImport::Importer::PullRequestImporter6583 #representation_class6584 is expected to eq Gitlab::GithubImport::Representation::PullRequest6585 #object_type6586 is expected to eq :pull_request6587 #parallel_import_batch6588 is expected to eq {:delay=>1 minute, :size=>200}6589Packages::Debian::ExtractChangesMetadataService6590 #execute6591 with valid package file6592 extract metadata6593 with invalid package file6594 raise ArgumentError6595 with invalid metadata6596 without Files field6597 raise ArgumentError6598 without Checksums-Sha1 field6599 raise ArgumentError6600 without Checksums-Sha256 field6601 raise ArgumentError6602 with file in Checksums-Sha1 but not in Files6603 raise ArgumentError6604 with different size in Checksums-Sha16605 raise ArgumentError6606 with file in Checksums-Sha256 but not in Files6607 raise ArgumentError6608 with different size in Checksums-Sha2566609 raise ArgumentError6610 with file in Files but not in Checksums-Sha16611 raise ArgumentError6612 with file in Files but not in Checksums-Sha2566613 raise ArgumentError6614 with invalid MD56615 raise ArgumentError6616 with invalid SHA16617 raise ArgumentError6618 with invalid SHA2566619 raise ArgumentError6620 with missing package file6621 raise ArgumentError6622Gitlab::Git::Compare6623 #commits6624 has 8 elements6625 is expected to include "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"6626 is expected not to include "cfe32cf61b73a0d5e9f13e774abde7ff789b1660"6627 non-existing base ref6628 is expected to be empty6629 non-existing head ref6630 is expected to be empty6631 base ref is equal to head ref6632 is expected to be empty6633 providing nil as base ref or head ref6634 is expected to be empty6635 #diffs6636 has 10 elements6637 is expected to include "files/ruby/popen.rb"6638 is expected not to include "LICENSE"6639 non-existing base ref6640 is expected to be empty6641 non-existing head ref6642 is expected to be empty6643 #same6644 is expected to eq false6645 base ref is equal to head ref6646 is expected to eq true6647 #commits straight compare6648 has 8 elements6649 is expected to include "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"6650 is expected not to include "cfe32cf61b73a0d5e9f13e774abde7ff789b1660"6651 #diffs straight compare6652 has 10 elements6653 is expected to include "files/ruby/popen.rb"6654 is expected not to include "LICENSE"6655Gitlab::Analytics::CycleAnalytics::RecordsFetcher6656 #serialized_records6657 for issue based stage6658 returns all records6659 passes a hash with all expected attributes to the serializer6660 when records are loaded by guest6661 filters out confidential issues6662 for merge request based stage6663 returns all records6664 passes a hash with all expected attributes to the serializer6665 pagination6666 limits the results6667 loads the record for the next page6668MergeRequestMetricsService6669 #merge6670 updates metrics6671 #close6672 updates metrics6673 #reopen6674 updates metrics6675ProtectedTags::UpdateService6676 #execute6677 updates a protected tag6678 when updating protected tag with a name that contains HTML tags6679 updates a protected tag6680 without admin_project permissions6681 raises error6682Board6683 relationships6684 is expected to belong to project required: false6685 is expected to have many lists order => {:list_type=>:asc, :position=>:asc} dependent => delete_all inverse_of => board6686 is expected to have many destroyable_lists order => {:list_type=>:asc, :position=>:asc} inverse_of => board6687 validations6688 is expected to validate that :name cannot be empty/falsy6689 is expected to validate that :project cannot be empty/falsy6690 constants6691 is expected to be a kind of Integer6692 #order_by_name_asc6693 returns in case-insensitive alphabetical order and then by ascending id6694 #first_board6695 return the first case-insensitive alphabetical board as a relation6696 raises an error when find is done on a non-existent record6697 #disabled_for?6698 for group board6699 behaves like board disabled_for?6700 when current user cannot create non backlog issues6701 is expected to eq true6702 when user can create backlog issues6703 is expected to eq false6704 when block_issue_repositioning is enabled6705 is expected to eq true6706 for project board6707 behaves like board disabled_for?6708 when current user cannot create non backlog issues6709 is expected to eq true6710 when user can create backlog issues6711 is expected to eq false6712 when block_issue_repositioning is enabled6713 is expected to eq true6714Direct upload support6715 config_name: "artifacts"6716 when object storage is enabled6717 when direct upload is enabled6718 when provider is AWS6719/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6720/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6721/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6722/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6723/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6724/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6725 succeeds6726 when provider is Google6727/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6728/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6729/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6730/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6731/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6732/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6733 succeeds6734 when provider is AzureRM6735/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6736/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6737/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6738/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6739/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6740/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6741 succeeds6742 when connection is empty6743/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6744/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6745/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6746/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6747/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6748/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6749 raises an error6750 when other provider is used6751/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6752/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6753/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6754/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6755/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6756/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6757 raises an error6758 when connection is omitted6759/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6760/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6761/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6762/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6763/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6764/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6765 raises an error6766 when direct upload is disabled6767/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6768/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6769/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6770/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6771/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6772/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6773 succeeds6774 when object storage is disabled6775/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6776/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6777/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6778/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6779/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6780/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6781 succeeds6782 config_name: "lfs"6783 when object storage is enabled6784 when direct upload is enabled6785 when provider is AWS6786/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6787/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6788/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6789/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6790/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6791/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6792 succeeds6793 when provider is Google6794/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6795/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6796/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6797/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6798/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6799/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6800 succeeds6801 when provider is AzureRM6802/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6803/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6804/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6805/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6806/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6807/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6808 succeeds6809 when connection is empty6810/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6811/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6812/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6813/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6814/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6815/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6816 raises an error6817 when other provider is used6818/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6819/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6820/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6821/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6822/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6823/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6824 raises an error6825 when connection is omitted6826/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6827/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6828/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6829/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6830/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6831/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6832 raises an error6833 when direct upload is disabled6834/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6835/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6836/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6837/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6838/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6839/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6840 succeeds6841 when object storage is disabled6842/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6843/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6844/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6845/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6846/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6847/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6848 succeeds6849 config_name: "uploads"6850 when object storage is enabled6851 when direct upload is enabled6852 when provider is AWS6853/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6854/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6855/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6856/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6857/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6858/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6859 succeeds6860 when provider is Google6861/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6862/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6863/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6864/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6865/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6866/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6867 succeeds6868 when provider is AzureRM6869/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6870/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6871/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6872/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6873/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6874/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6875 succeeds6876 when connection is empty6877/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6878/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6879/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6880/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6881/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6882/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6883 raises an error6884 when other provider is used6885/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6886/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6887/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6888/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6889/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6890/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6891 raises an error6892 when connection is omitted6893/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6894/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6895/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6896/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6897/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6898/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6899 raises an error6900 when direct upload is disabled6901/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6902/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6903/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6904/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6905/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6906/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6907 succeeds6908 when object storage is disabled6909/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: already initialized constant DirectUploadsValidator::SUPPORTED_DIRECT_UPLOAD_PROVIDERS6910/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:4: warning: previous definition of SUPPORTED_DIRECT_UPLOAD_PROVIDERS was here6911/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: already initialized constant DirectUploadsValidator::ValidationError6912/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:8: warning: previous definition of ValidationError was here6913/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: already initialized constant CONFIGS6914/builds/gitlab-org/gitlab/config/initializers/direct_upload_support.rb:38: warning: previous definition of CONFIGS was here6915 succeeds6916Integrations::GooglePlay6917 # order random6918 Validations6919 when active6920 is expected to validate that :service_account_key_file_name cannot be empty/falsy6921 is expected to validate that :service_account_key cannot be empty/falsy6922 is expected to validate that :package_name cannot be empty/falsy6923 is expected to allow :service_account_key to be ‹"{\n \"type\": \"service_account\",\n \"project_id\": \"demo-app-123\",\n \"private_key_id\": \"47f0b1700983da548af6fcd37007f42996099999\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDJn8w20WcN+fi5\\nIhO1BEFCv7ExK8J5rW5Pc8XpJgpQoL5cfv6qC6aS+x4maI7S4AG7diqXBLCfjlnA\\nqBzXwCRnnPtQhu+v1ehAj5fGNa7F51f9aacRNmKdHzNmWZEPDuLqq0I/Ewcsotu+\\nnb+tCYk1o2ahyPZau8JtXFZs7oZb7SrfgoSJemccxeVreGm1Dt6SM74/3qJAeHN/\\niK/v0IiQP1GS4Jxgz38XQGo+jiTpNrFcf4S0R...›6924 is expected not to allow :service_account_key to be ‹"{\"name\":\"H5bp\",\"path\":\"h5bp\",\"owner_id\":null,\"created_at\":\"2020-01-09 12:08:57 UTC\",\"updated_at\":\"2020-01-09 12:08:57 UTC\",\"description\":\"A voluptate non sequi temporibus quam at.\",\"avatar\":{\"url\":null},\"membership_lock\":false,\"share_with_group_lock\":false,\"visibility_level\":20,\"request_access_enabled\":true,\"ldap_sync_status\":\"ready\",\"ldap_sync_error\":null,\"ldap_sync_last_update_at\":null,\"ldap_sync_last_successful_update_at\":null,\"ldap_sync_last_sync...›6925 is expected to allow :package_name to be ‹"com.example.myapp"›6926 is expected to allow :package_name to be ‹"com.example.myorg.myapp"›6927 is expected to allow :package_name to be ‹"com_us.example.my_org.my_app"›6928 is expected to allow :package_name to be ‹"a.a.a"›6929 is expected to allow :package_name to be ‹"com.example"›6930 is expected not to allow :package_name to be ‹"com"›6931 is expected not to allow :package_name to be ‹"com.example.my app"›6932 is expected not to allow :package_name to be ‹"1com.example.myapp"›6933 is expected not to allow :package_name to be ‹"com.1example.myapp"›6934 is expected not to allow :package_name to be ‹"com.example._myapp"›6935 when integration is disabled6936 #ci_variables6937 returns an empty array6938 when integration is enabled6939 #fields6940 returns custom fields6941 #test6942 returns true for a successful request6943 returns false for an invalid request6944 #help6945 renders prompt information6946 .to_param6947 returns the name of the integration6948 #ci_variables6949 returns vars when the integration is activated6950gitlab:background_migrations namespace rake tasks6951 finalize6952 without the proper arguments6953 exits without finalizing the migration6954 with the proper arguments6955 finalizes the matching migration6956 with a null parameter6957 finalizes the matching migration6958 when multiple database feature is enabled6959 ignores geo (PENDING: Skipping because ci is shared or doesn't not exist)6960 without the proper arguments6961 exits without finalizing the migration (PENDING: Skipping because ci is shared or doesn't not exist)6962 with the proper arguments6963 finalizes the matching migration (PENDING: Skipping because ci is shared or doesn't not exist)6964 when database name is not passed6965 aborts the rake task (PENDING: Skipping because ci is shared or doesn't not exist)6966 status6967 outputs the status of background migrations6968 when running the rake task against one database in multiple databases setup6969 outputs the status of background migrations6970 when multiple databases are configured6971 with two connections sharing the same database6972 skips the shared database (PENDING: Skipping because database ci exists)6973 ignores geo (PENDING: Skipping because database ci exists)6974 with multiple databases6975 outputs the status for each database6976Gitlab::Ci::Variables::Helpers6977 .merge_variables6978 is expected to contain exactly {:key=>"key1", :value=>"value1"}, {:key=>"key2", :value=>"value22"}, and {:key=>"key3", :value=>"value3"}6979 when new variables is a hash6980 is expected to contain exactly {:key=>"key1", :value=>"value1"}, {:key=>"key2", :value=>"value22"}, and {:key=>"key3", :value=>"value3"}6981 when new variables is a hash with symbol keys6982 is expected to contain exactly {:key=>"key1", :value=>"value1"}, {:key=>"key2", :value=>"value22"}, and {:key=>"key3", :value=>"value3"}6983 when new variables is nil6984 is expected to contain exactly {:key=>"key1", :value=>"value1"} and {:key=>"key2", :value=>"value2"}6985 .transform_to_array6986 when values are strings6987 is expected to contain exactly {:key=>"key1", :value=>"value1"} and {:key=>"key2", :value=>"value2"}6988 when variables is nil6989 is expected to contain exactly6990 when values are hashes6991 is expected to contain exactly {:description=>"var 1", :key=>"key1", :value=>"value1"} and {:key=>"key2", :value=>"value2"}6992 when a value data has `key` as a key6993 ignores the key set with "key"6994 .inherit_yaml_variables6995 is expected to contain exactly {:key=>"key1", :value=>"value1"}, {:key=>"key2", :value=>"value22"}, and {:key=>"key3", :value=>"value3"}6996 when inheritance is false6997 is expected to contain exactly {:key=>"key2", :value=>"value22"} and {:key=>"key3", :value=>"value3"}6998 when inheritance is array6999 is expected to contain exactly {:key=>"key2", :value=>"value22"} and {:key=>"key3", :value=>"value3"}7000Gitaly::Server7001 is expected to respond to #server_version7002 is expected to respond to #git_binary_version7003 is expected to respond to #up_to_date?7004 is expected to respond to #address7005 is expected to respond to #replication_factor7006 .all7007 includes all storages7008 readable?7009 when the storage is readable7010 returns true7011 when the storage is not readable7012 returns false7013 writeable?7014 when the storage is writeable7015 returns true7016 when the storage is not writeable7017 returns false7018 #filesystem_type7019 is expected to be present7020 request memoization7021 when requesting multiple properties7022 uses memoization for the info request7023 when examining disk statistics for a given server7024 #disk_available7025 is expected to be present7026 returns disk available for the storage of the instantiated server7027 #disk_used7028 is expected to be present7029 returns disk used for the storage of the instantiated server7030 #disk_stats7031 is expected to be present7032 returns the storage of the instantiated server7033 #expected_version?7034 expected_version: "1.1.1", server_version: "1.1.1", result: true7035 is expected to eq true7036 expected_version: "1.1.2", server_version: "1.1.1", result: false7037 is expected to eq false7038 expected_version: "1.73.0", server_version: "1.73.0-18-gf756ebe2", result: false7039 is expected to eq false7040 expected_version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", server_version: "1.55.6-45-g594c3ea3", result: true7041 is expected to eq true7042 expected_version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", server_version: "1.55.6-46-gabc123ff", result: false7043 is expected to eq false7044 expected_version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", server_version: "1.55.6", result: false7045 is expected to eq false7046 replication_factor7047 when examining for a given server7048 is expected to eq 27049Projects::RecordTargetPlatformsService#execute7050 when project is an XCode project7051 creates a new setting record for the project7052 returns array of detected target platforms7053 when a project has an existing setting record7054 when target platforms changed7055 updates7056 is expected to contain exactly "ios" and "osx"7057 when target platforms are the same7058 does not update7059 Build iOS guide email experiment7060 experiment candidate7061 executes a Projects::InProductMarketingCampaignEmailsService7062 behaves like tracks experiment assignment event7063 tracks the assignment event7064 experiment control7065 does not execute a Projects::InProductMarketingCampaignEmailsService7066 behaves like tracks experiment assignment event7067 tracks the assignment event7068 when project is not an XCode project7069 does nothing7070 is expected to be nil7071Gitlab::ImportExport::Base::ObjectBuilder7072 #build7073 when object exists7074 when where_clauses are implemented7075 finds existing object instead of creating one7076 when where_clauses are not implemented7077 raises NotImplementedError7078 when object does not exist7079 creates new object7080Mutations::Environments::Stop7081 # order random7082 #resolve7083 when service execution succeeded7084 returns no errors7085 stops the environment7086 when service cannot change the status without force7087 returns an error7088 when force is set to true7089 and state transition would fail without force7090 stops the environment7091 when user is reporter who does not have permission to access the environment7092 raises an error7093Gitlab::Highlight7094 language provided7095 sets correct lexer7096 #highlight7097 highlights7098 returns plain version for unknown lexer context7099 highlights multi-line comments7100 links dependencies via DependencyLinker7101 when content is too long to be highlighted7102 returns plain version for long content7103 diff highlighting7104 highlights each line properly7105 when start line number is set7106 highlights each line properly7107 with CRLF7108 strips extra LFs7109 timeout7110 falls back to plaintext on timeout7111Packages::Go::ModuleVersion7112 #name7113 with ref and name specified7114 returns that name7115 with ref specified and name unspecified7116 returns the name of the ref7117 with ref and name unspecified7118 returns nil7119 #gomod7120 with go.mod missing7121 returns nil7122 with go.mod present7123 returns the contents of go.mod7124 #files7125 with a root module7126 with an empty module path7127 behaves like #files7128 returns all the files7129 with a root module and a submodule7130 with an empty module path7131 behaves like #files7132 returns files excluding the submodule7133 with the submodule's path7134 behaves like #files7135 returns the submodule's files7136 #archive7137 with a root module7138 with an empty module path7139 behaves like #archive7140 returns an archive of all the files7141 with a root module and a submodule7142 with an empty module path7143 behaves like #archive7144 returns an archive of files excluding the submodule7145 with the submodule's path7146 behaves like #archive7147 returns an archive of the submodule's files7148Keys::RevokeService7149 # order random7150 destroys a key7151 unverifies associated signatures7152 does not unverifies signatures if destroy fails7153CustomerRelations::Contacts::UpdateService7154 #execute7155 when the user has no permission7156 returns an error7157 when user has permission7158 when first_name is changed7159 updates the contact7160 when activating7161 updates the contact7162 when deactivating7163 updates the contact7164 when the contact is invalid7165 returns an error7166LoadedInGroupList7167 .with_selects_for_list7168 includes the preloaded counts for groups7169 with project namespaces7170 does not include project_namespaces in the count of subgroups7171 with archived projects7172 counts including archived projects when `true` is passed7173 when not counting archived projects7174 counts projects without archived ones7175 with archived only7176 counts only archived projects when `only` is passed7177 #children_count7178 counts groups and projects7179Gitlab::DependencyLinker::GoSumLinker7180 .support?7181 supports go.sum7182 does not support other files7183 #link7184 links modules7185 links checksums7186Users::BlockService7187 #execute7188 when successful7189 is expected to eq {:status=>:success}7190 change the user's state7191 saves a custom attribute7192 when failed7193 returns error result7194 does not change the user's state7195 when internal user7196 returns error result7197Preloaders::UserMaxAccessLevelInGroupsPreloader7198 when the preloader is used7199 when user has indirect access to groups7200 when traversal_ids feature flag is disabled7201 behaves like executes N max member permission queries to the DB7202 executes the specified max membership queries7203 caches the correct access_level for each group7204 when traversal_ids feature flag is enabled7205 behaves like executes N max member permission queries to the DB7206 executes the specified max membership queries7207 caches the correct access_level for each group7208 for groups arising from group shares7209 sets the right access level in cache for groups arising from group shares7210 when the preloader is not used7211 behaves like executes N max member permission queries to the DB7212 executes the specified max membership queries7213 caches the correct access_level for each group7214AwardEmojis::ToggleService7215 #execute7216 when user has awarded an emoji7217 calls AwardEmojis::DestroyService7218 destroys an AwardEmoji7219 returns the result of DestroyService#execute7220 when user has not awarded an emoji7221 calls AwardEmojis::AddService7222 creates an AwardEmoji7223 returns the result of AddService#execute7224HasEnvironmentScope7225 is expected to allow :environment_scope to be ‹"*"›7226 is expected to allow :environment_scope to be ‹"review/*"›7227 is expected not to allow :environment_scope to be ‹""›7228 is expected not to allow :environment_scope to be ‹"!!()()"›7229 is expected to validate that :key is case-sensitively unique within the scope of :project_id and :environment_scope, producing a custom validation error on failure7230 .on_environment7231 returns scoped objects7232 returns only the most relevant object if relevant_only is true7233 returns scopes ordered by lowest precedence first7234 #environment_scope=7235 when the new environment_scope is nil7236 strips leading and trailing whitespaces7237 when the new environment_scope has leadind and trailing whitespaces7238 strips leading and trailing whitespaces7239 .for_environment7240 when the environment is present7241 is expected to eq [#<Ci::Variable id: 11, key: [FILTERED], value: nil, encrypted_value: "DKX8fkfJa4p5iaEeZmLkYA==\n", encrypted_value_salt: "_QrkVXTtZ8GGDO61XYdY5AA==\n", encrypted_value_iv: "ZT/vIj5p+iv8ukmvvLdgrQ==\n", project_id: 867, protected: false, environment_scope: "*", masked: false, variable_type: "env_var", raw: false>, #<Ci::Variable id: 12, key: [FILTERED], value: nil, encrypted_value: "KEe4VLITe6e/5S9SGSMQ8Q==\n", encrypted_value_salt: "_DPCw9iS5qVJ4YFM2dIxpWQ==\n", encrypted_value_iv: "rC1MOOsGD3PXJzEKbn2eNA==\n", project_id: 867, protected: false, environment_scope: "production/*", masked: false, variable_type: "env_var", raw: false>]7242 when the environment is nil7243 is expected to eq [#<Ci::Variable id: 11, key: [FILTERED], value: nil, encrypted_value: "DKX8fkfJa4p5iaEeZmLkYA==\n", encrypted_value_salt: "_QrkVXTtZ8GGDO61XYdY5AA==\n", encrypted_value_iv: "ZT/vIj5p+iv8ukmvvLdgrQ==\n", project_id: 867, protected: false, environment_scope: "*", masked: false, variable_type: "env_var", raw: false>]7244API::Helpers::PackagesManagerClientsHelpers7245 #find_job_from_http_basic_auth7246 behaves like valid auth header7247 with a valid Authorization header7248 is expected to eq #<Ci::Build status: "running", finished_at: nil, created_at: "2023-04-27 08:50:29.000000000 +0000", updated_at: "2023-04-27 06:21:15.384117737 +0000", started_at: nil, runner_id: nil, coverage: nil, commit_id: 113, name: "test", options: nil, allow_failure: false, stage: "test", trigger_request_id: nil, stage_idx: 0, tag: false, ref: "master", user_id: 1519, type: "Ci::Build", target_url: nil, description: nil, project_id: 869, erased_by_id: nil, erased_at: nil, artifacts_expire_at: nil, environment: nil, when: nil, yaml_variables: nil, queued_at: "2023-04-27 08:50:29.000000000 +0000", lock_version: 0, coverage_regex: nil, auto_canceled_by_id: nil, retried: false, protected: false, failure_reason: "unknown_failure", scheduled_at: nil, token_encrypted: "|MZx35PZYDYEE6et7750GBUdDroVQwvsgXLFAXUZIooXNIzIi6...", upstream_pipeline_id: nil, resource_group_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", id: 127, stage_id: 113, partition_id: 100, tag_list: nil>7249 with an unknown password7250 is expected to equal nil7251 behaves like invalid auth header7252 with an invalid Authorization header7253 is expected to equal nil7254 when the job is not running7255 behaves like valid auth header7256 with a valid Authorization header7257 is expected to eq nil7258 with an unknown password7259 is expected to equal nil7260 #find_deploy_token_from_http_basic_auth7261 behaves like valid auth header7262 with a valid Authorization header7263 is expected to eq #<DeployToken id: 2, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-05-02 06:21:16.330307798 +0000", created_at: "2023-04-27 06:21:16.331539197 +0000", name: "PDT 1", username: nil, token_encrypted: "+e+ufqYXc2DkO9zjLaLsoFHdEaz6cLKqWzUFF3MedFAwfV8a1b...", deploy_token_type: "project_type", write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>7264 with an unknown password7265 is expected to equal nil7266 behaves like invalid auth header7267 with an invalid Authorization header7268 is expected to equal nil7269WikiDirectory7270 validations7271 is expected to validate that :slug cannot be empty/falsy7272 .group_pages7273 returns a nested array of entries7274 #initialize7275 when there are entries7276 sets the slug attribute7277 sets the entries attribute7278 when there are no entries7279 sets the slug attribute7280 sets the entries attribute to an empty array7281 #title7282 returns the basename of the directory, with hyphens replaced by spaces7283 #to_partial_path7284 returns the relative path to the partial to be used7285Gitlab::Ci::Config::Entry::Jobs7286 .all_types7287 is expected to include Gitlab::Ci::Config::Entry::Hidden7288 is expected to include Gitlab::Ci::Config::Entry::Job7289 is expected to include Gitlab::Ci::Config::Entry::Bridge7290 .find_type7291 name: :".hidden_job", type: Gitlab::Ci::Config::Entry::Hidden7292 is expected to eq Gitlab::Ci::Config::Entry::Hidden7293 name: :".hidden_bridge", type: Gitlab::Ci::Config::Entry::Hidden7294 is expected to eq Gitlab::Ci::Config::Entry::Hidden7295 name: :regular_job, type: Gitlab::Ci::Config::Entry::Job7296 is expected to eq Gitlab::Ci::Config::Entry::Job7297 name: :my_trigger, type: Gitlab::Ci::Config::Entry::Bridge7298 is expected to eq Gitlab::Ci::Config::Entry::Bridge7299 name: :invalid_job, type: nil7300 is expected to eq nil7301 validations7302 when entry config value is correct7303 #valid?7304 is valid7305 when entry value is not correct7306 #errors7307 incorrect config value type7308 returns error about incorrect type7309 when job is invalid7310 reports error7311 when the job name cannot be cast directly to a symbol7312 properly parses the job name without raising a NoMethodError7313 when no visible jobs present7314 returns error about no visible jobs defined7315 .compose!7316 when valid job entries composed7317 #value7318 returns key value7319 #descendants7320 creates valid descendant nodes7321 #value7322 returns value of visible jobs only7323Resolvers::ErrorTracking::SentryErrorsResolver7324 is expected to have nullable GraphQL type SentryErrorConnection7325 #resolve7326 with insufficient user permission7327 returns nil7328 with sufficient permission7329 when after arg given7330 gives the cursor arg7331 when no issues fetched7332 returns nil7333 when issues returned7334 sets the issues7335 sets the pagination variables7336 returns an externally paginated array7337Gitlab::GithubImport::Importer::Events::ChangedMilestone7338 #execute7339 with Issue7340 when importing a milestoned event7341 behaves like new event7342 creates a new milestone event7343 when importing demilestoned event7344 behaves like new event7345 creates a new milestone event7346 with MergeRequest7347 when importing a milestoned event7348 behaves like new event7349 creates a new milestone event7350 when importing demilestoned event7351 behaves like new event7352 creates a new milestone event7353Gitlab::AppJsonLogger7354 logs a hash as a JSON7355 logs a string as a JSON7356Gitlab::GithubImport::Importer::LabelLinksImporter7357 #execute7358 creates the label links7359 #create_labels7360 inserts the label links in bulk7361 does not insert label links for non-existing labels7362 does not insert label links for non-existing targets7363 #find_target_id7364 returns the ID of the issuable to create the label link for7365Gitlab::UsageDataCounters::SearchCounter7366 all_searches counter7367 behaves like usage counter with totals7368 increments counter and returns total count7369 navbar_searches counter7370 behaves like usage counter with totals7371 increments counter and returns total count7372 .fetch_supported_event7373 is expected to eq "all_searches"7374Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithMonitorEnabledMetric7375 # order random7376 behaves like a correct instrumented metric value and query7377 behaves like a correct instrumented metric value7378 has correct value7379 behaves like a correct instrumented metric query7380 has correct generate query7381AlertManagement::HttpIntegrationsFinder7382 #execute7383 empty params7384 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-04-27 06:21:26.367812000 +0000", updated_at: "2023-04-27 06:21:26.367812000 +0000", project_id: 882, active: true, encrypted_token: [FILTERED], encrypted_token_iv: "bjQaa34M2xMdqUP+\n", endpoint_identifier: "f3ae2e8c", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>7385 endpoint_identifier param given7386 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-04-27 06:21:26.367812000 +0000", updated_at: "2023-04-27 06:21:26.367812000 +0000", project_id: 882, active: true, encrypted_token: [FILTERED], encrypted_token_iv: "bjQaa34M2xMdqUP+\n", endpoint_identifier: "f3ae2e8c", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>7387 matches an unavailable integration7388 is expected to be empty7389 but unknown7390 is expected to be empty7391 but blank7392 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-04-27 06:21:26.367812000 +0000", updated_at: "2023-04-27 06:21:26.367812000 +0000", project_id: 882, active: true, encrypted_token: [FILTERED], encrypted_token_iv: "bjQaa34M2xMdqUP+\n", endpoint_identifier: "f3ae2e8c", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>7393 active param given7394 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-04-27 06:21:26.367812000 +0000", updated_at: "2023-04-27 06:21:26.367812000 +0000", project_id: 882, active: true, encrypted_token: [FILTERED], encrypted_token_iv: "bjQaa34M2xMdqUP+\n", endpoint_identifier: "f3ae2e8c", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>7395 when integration is disabled7396 is expected to be empty7397 but blank7398 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-04-27 06:21:26.367812000 +0000", updated_at: "2023-04-27 06:21:26.367812000 +0000", project_id: 882, active: true, encrypted_token: [FILTERED], encrypted_token_iv: "bjQaa34M2xMdqUP+\n", endpoint_identifier: "f3ae2e8c", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>7399 project has no integrations7400 is expected to be empty7401Gitlab::ImportExport::Reader7402 #project_tree7403 delegates to AttributesFinder#find_root7404 when exception raised7405 is expected to equal false7406 logs the error7407 #group_members_tree7408 delegates to AttributesFinder#find_root7409Gitlab::Metrics::LooseForeignKeysSlis7410 # order random7411 #initialize_slis!7412 initializes Apdex and ErrorRate SLIs for loose_foreign_key_clean_ups7413 #record_apdex7414 with success: true7415 increments the loose_foreign_key_clean_ups Apdex as a success7416 with success: false7417 increments the loose_foreign_key_clean_ups Apdex as not a success7418 #record_error_rate7419 with error: true7420 increments the loose_foreign_key_clean_ups ErrorRate as an error7421 with error: false7422 increments the loose_foreign_key_clean_ups ErrorRate as not an error7423RuboCop::Cop::Migration::DropTable7424 # order random7425 when outside of migration7426 registers no offense7427 when in deployment migration7428 with drop_table DSL method7429 when in down method7430 does not register an offense7431 when in up method7432 registers an offense7433 when in change method7434 registers an offense7435 with DROP TABLE SQL literal7436 does not register an offense7437 when in up method7438 registers an offense7439 when in change method7440 registers an offense7441 when in post-deployment migration7442 registers no offense7443Integrations::Assembla7444 behaves like Integrations::ResetSecretFields7445 #exposing_secrets_fields7446 returns an array of strings7447 #reset_secret_fields?7448 returns false if no exposing field has changed7449 returns true if any exposing field has changed7450 validation callback7451 when an exposing field has changed7452 clears all secret fields7453 when a secret field has been updated7454 does not clear this secret field7455 when a secret field has been updated with the same value7456 does not clear this secret field7457 when no exposing field has changed7458 does not clear any secret fields7459 Execute7460 calls Assembla API7461Subscription7462 relationships7463 is expected to belong to project required: false7464 is expected to belong to subscribable required: false7465 is expected to belong to user required: false7466 validations7467 is expected to validate that :subscribable cannot be empty/falsy7468 is expected to validate that :user cannot be empty/falsy7469 validates uniqueness of project_id scoped to subscribable_id, subscribable_type, and user_id7470Resolvers::Terraform::StatesResolver7471 is expected to have nullable GraphQL type TerraformStateConnection7472 is expected to be truthy7473 #resolve7474 returns states associated with the agent7475 user does not have permission7476 is expected to be empty7477Resolvers::Terraform::StatesResolver.single7478 is expected to be < Resolvers::Terraform::StatesResolver7479 arguments7480 name7481 is expected to be present7482TreeEntryPresenter7483 .web_url7484 is expected to eq "http://localhost/namespace994/project-1007/-/tree/master/bar"7485 #web_path7486 is expected to eq "/namespace995/project-1008/-/tree/master/bar"7487BulkImports::BatchTracker7488 # order random7489 associations7490 is expected to belong to tracker required: false7491 validations7492 is expected to validate that :batch_number cannot be empty/falsy7493 is expected to validate that :batch_number is case-sensitively unique within the scope of :tracker_id7494Gitlab::Seeders::Ci::VariablesProjectSeeder7495 # order random7496 #seed7497 creates project-level CI variables with default values7498 creates project-level CI variables with custom arguments7499 creates project-level CI variables with unique environment scopes7500ERROR: Project path is invalid.7501 skips seeding when project path is invalid7502WARNING: Project CI Variable with key 'VAR_30' already exists. Skipping to next CI variable...7503 skips CI variable creation if CI variable already exists7504Ci::GroupVariablePresenter7505 inherits from Gitlab::View::Presenter::Delegated7506 #initialize7507 takes a variable and optional params7508 exposes variable7509 forwards missing methods to variable7510 #placeholder7511 is expected to eq "GROUP_VARIABLE"7512 #form_path7513 is expected to eq "/groups/group237/-/settings/ci_cd"7514 #edit_path7515 is expected to eq "/groups/group238/-/variables"7516 #delete_path7517 is expected to eq "/groups/group239/-/variables"7518Create work item hierarchy restrictions in production7519 # order random7520 behaves like work item hierarchy restrictions importer7521 when restrictions are missing7522 behaves like adds restrictions7523OK7524 adds all restrictions if they don't exist7525 when base types are missing7526 behaves like adds restrictions7527OK7528 adds all restrictions if they don't exist7529 when restrictions already exist7530OK7531 upserts restrictions7532 when some restrictions are missing7533OK7534 inserts missing restrictions and does nothing if some already existed7535Resolvers::Projects::ServicesResolver7536 is expected to have nullable GraphQL type ServiceConnection7537 #resolve7538 when project does not have services7539 when user cannot access services7540 when anonymous user7541 behaves like cannot access project services7542 raises error7543 when user developer7544 behaves like cannot access project services7545 raises error7546 when user can read project services7547 behaves like no project services7548 returns empty collection7549 when project has services7550 when user cannot access services7551 when anonymous user7552 behaves like cannot access project services7553 raises error7554 when user developer7555 behaves like cannot access project services7556 raises error7557 when user can read project services7558 returns project services7559Gitlab::GitalyClient::RemoteService7560 #find_remote_root_ref7561 sends an find_remote_root_ref message and returns the root ref7562 ensure ref is a valid UTF-8 string7563 #update_remote_mirror7564 sends an update_remote_mirror message7565 .exists?7566 when the remote doesn't exist7567 returns false7568VulnerabilityFindingSignatureHelpers7569 #priority7570 returns numeric values of the priority string7571 #self.priority7572 returns the numeric value of the provided string7573projects/issues/service_desk/_service_desk_info_content7574 when service desk is disabled7575 when the logged user is at least maintainer7576 shows the info including the project settings link7577 when the logged user is at only a developer7578 shows the info without the project settings link7579 when service desk is enabled7580 when the logged user is at least reporter7581 shows the info including the email address7582 when the logged user is at only a guest7583 shows the info without the email address7584 when user is not logged in7585 shows the info without the email address7586Gitlab::Database::PartitioningMigrationHelpers::BackfillPartitionedTable#perform7587 when the destination table exists7588WARNING: Active Record does not support composite primary key.7589_test_partitioning_backfills_part has composite primary key. Composite primary key is ignored.7590 copies data into the destination table idempotently7591 breaks the assigned batch into smaller batches7592 pauses after copying each sub-batch7593 marks each job record as succeeded after processing7594 returns the number of job records marked as succeeded7595 when the job is run within an explicit transaction block7596 raises an error before copying data7597 when the destination table does not exist7598 exits without attempting to copy data7599 logs a warning message that the job was skipped7600JiraConnect::SyncBranchWorker7601 behaves like worker with data consistency7602 .get_data_consistency_feature_flag_enabled?7603 returns true7604 .get_data_consistency7605 returns correct data consistency7606 #perform7607 calls JiraConnect::SyncService#execute7608 without branch name7609 calls JiraConnect::SyncService#execute7610 without commits7611 calls JiraConnect::SyncService#execute7612 when project no longer exists7613 does not call JiraConnect::SyncService7614Sidebars::Projects::Menus::SecurityComplianceMenu7615 render?7616 when user is not authenticated7617 is expected to be falsey7618 when user is authenticated7619 when the Security and Compliance is disabled7620 is expected to be falsey7621 when the Security and Compliance is not disabled7622 is expected to be truthy7623Sidebars::Groups::Menus::CiCdMenu7624 Menu Items7625 Runners7626 is expected not to be nil7627 when the user does not have access7628 is expected to be nil7629Group::CrmSettings7630 associations7631 is expected to belong to group required: false7632 validations7633 is expected to validate that :group cannot be empty/falsy7634RuboCop::Cop::Gitlab::DocUrl7635 # order random7636 when string literal is added without docs url prefix7637 when inlined7638 does not register an offense7639 when multilined7640 does not register an offense7641 with heredoc7642 does not register an offense7643 when string literal is added with docs url prefix7644 when inlined7645 registers an offense7646 when multilined7647 registers an offense7648 with heredoc7649 registers an offense7650Ci::Catalog::Resource7651 # order random7652 is expected to delegate #name to the #project object7653 is expected to delegate #description to the #project object7654 is expected to belong to project required: false7655 is expected to delegate #avatar_path to the #project object7656 #versions7657 returns releases ordered by released date descending7658 #latest_version7659 returns the latest release7660 .for_projects7661 returns catalog resources for the given project IDs7662Gitlab::ReactiveCacheSetCache7663 #cache_key7664 includes the suffix7665 #read7666 is expected to be empty7667 after item added7668 is expected to contain exactly "test_item"7669 #write7670 writes the value to the cache7671 sets the expiry of the set7672 #clear_cache!7673 deletes the cached items7674 #include?7675 is expected to equal false7676 item added7677 is expected to equal true7678 count7679 is expected to equal 07680 item added7681 is expected to equal 17682Gitlab::LanguageDetection7683 #languages7684 returns the language names7685 #insertions7686 only includes new languages7687 #updates7688 updates the share of languages7689 does not include languages to be removed7690 when silent writes occur7691 doesn't include them in the result7692 #deletions7693 lists undetected languages7694Types::WorkItems::Widgets::StartAndDueDateUpdateInputType7695 is expected to eq "WorkItemWidgetStartAndDueDateUpdateInput"7696 is expected to contain exactly "startDate" and "dueDate"7697InstanceConfigurationHelper7698 #instance_configuration_cell_html7699 boolean are valid values to display7700 if not block is passed7701 returns the parameter if present7702 returns "-" if the parameter is blank7703 if a block is passed7704 returns the result of the block7705 returns "-" if the parameter is blank7706 #instance_configuration_human_size_cell7707 returns "-" if the parameter is blank7708 accepts the value in bytes7709 returns the value in human size readable format7710 #instance_configuration_disabled_cell_html7711 returns "-" if parameter is 07712 return parameter if not 07713Gitlab::Database::SchemaMigrations::Context7714 #schema_directory7715 returns db/schema_migrations7716 CI database7717 returns a directory path that is database specific7718 multiple databases7719 when `schema_migrations_path` is configured as string7720 returns a configured directory path that7721 when `schema_migrations_path` is configured as symbol7722 returns a configured directory path that7723 #versions_to_create7724 migrated versions is the same as migration file versions7725 returns migrated versions7726 migrated versions is subset of migration file versions7727 returns migrated versions7728 migrated versions is superset of migration file versions7729 returns file versions7730 migrated versions has slightly different versions to migration file versions7731 returns the common set7732Users::DismissProjectCalloutService7733 #execute7734 sets the project_id7735 behaves like dismissing user callout7736 creates a new user callout7737 returns a user callout7738 sets the dismissed_at attribute to current time7739 updates an existing callout dismissed_at time7740 does not update an invalid record with dismissed_at time7741MergeRequestSidebarBasicEntity7742 #current_user7743 contains attributes related to the current user77446_validations7745 validate_storages_config7746 with correct settings7747 passes through7748 with invalid storage names7749 throws an error7750Gitlab::SidekiqSignals7751 .install7752 not a process group leader7753 does nothing7754 as a process group leader7755 installs its own signal handlers for TERM and INT only7756 installs a forwarding signal handler for INT7757 raises if sidekiq no longer traps SIGINT7758 installs a forwarding signal handler for TERM7759 raises if sidekiq no longer traps SIGTERM7760MergeRequestSidebarExtrasEntity7761 #assignees7762 contains assignees attributes7763 #reviewers7764 contains reviewers attributes7765Users::MigrateRecordsToGhostUserInBatchesService7766 # order random7767 #execute7768 stops when execution time limit reached7769 calls Users::MigrateRecordsToGhostUserService7770 process jobs ordered by the consume_after timestamp7771 reschedules job in case of an error7772Gitlab::Usage::Metrics::Instrumentations::DormantUserSettingEnabledMetric7773 # order random7774 deactivate_dormant_users_enabled: 0, expected_value: 07775 behaves like a correct instrumented metric value7776 has correct value7777 deactivate_dormant_users_enabled: 1, expected_value: 17778 behaves like a correct instrumented metric value7779 has correct value7780Gitlab::GithubImport::Importer::Attachments::IssuesImporter7781 # order random7782 #sidekiq_worker_class7783 is expected to eq Gitlab::GithubImport::Attachments::ImportIssueWorker7784 #id_for_already_imported_cache7785 is expected to eq 12637786 #object_type7787 is expected to eq :issue_attachment7788 #sequential_import7789 imports each project issue attachments7790 when issue is already processed7791 doesn't import this issue attachments7792 #collection_method7793 is expected to eq :issue_attachments7794Packages::Helm::ExtractFileMetadataService7795 with a valid file7796 is expected to eq {"apiVersion"=>"v2", "description"=>"File, Block, and Object Storage Services for your Cloud-Native Environment", "icon"=>"https://rook.io/images/rook-logo.svg", "name"=>"rook-ceph", "sources"=>["https://github.com/rook/rook"], "version"=>"v1.5.8"}7797 without Chart.yaml7798 is expected to raise Packages::Helm::ExtractFileMetadataService::ExtractionError with "Chart.yaml not found within a directory"7799 with Chart.yaml at root7800 is expected to raise Packages::Helm::ExtractFileMetadataService::ExtractionError with "Chart.yaml not found within a directory"7801 with an invalid YAML7802 is expected to raise Packages::Helm::ExtractFileMetadataService::ExtractionError with "Error while parsing Chart.yaml: (<unknown>): did not find expected node content while parsing a flow node at line 2 column 1"7803 with a corrupted Chart.yaml of incorrect size7804 raises an error with the expected message7805Bitbucket::Representation::PullRequestComment7806 #iid7807 is expected to eq 17808 #file_path7809 is expected to eq "/path"7810 #old_pos7811 is expected to eq 37812 #new_pos7813 is expected to eq 37814 #parent_id7815 is expected to eq 27816 is expected to be nil7817 #inline?7818 is expected to be truthy7819 is expected to be falsey7820 #has_parent?7821 is expected to be truthy7822 is expected to be falsey7823API::Entities::Nuget::Dependency7824 is expected to eq {:@id=>"http://gitlab.com/Sandbox.App/1.0.0.json#dependency", :@type=>"PackageDependency", :id=>"Dependency", :range=>"2.0.0"}7825Katalon.gitlab-ci.yml7826 # order random7827 the created pipeline7828 create katalon tests jobs7829FileStoreMounter7830 # order random7831 .mount_file_store_uploader7832 skip_store_file: true, file_field: :file7833 defines instance methods and registers a callback7834 skip_store_file: false, file_field: :file7835 defines instance methods and registers a callback7836 skip_store_file: false, file_field: :signed_file7837 defines instance methods and registers a callback7838 skip_store_file: true, file_field: :signed_file7839 defines instance methods and registers a callback7840 with an unknown file_field7841 is expected to raise ArgumentError with "file_field not allowed: unknown"7842 with an instance7843 #update_file_store7844 calls update column7845 #store_file_now!7846 calls the dynamic functions7847AuthorizedProjectUpdate::UserRefreshOverUserRangeWorker7848 behaves like worker with data consistency7849 .get_data_consistency_feature_flag_enabled?7850 returns true7851 .get_data_consistency7852 returns correct data consistency7853 #perform7854 checks if project authorization update is required7855 checks if a project_authorization refresh is needed for each of the users7856 when there are project authorization records due for either removal or addition for a specific user7857 enqueues a new project authorization update job for the user7858 when there are no additions or removals to be made to project authorizations for a specific user7859 does not enqueue a new project authorization update job for the user7860Mutations::BaseMutation7861 argument nullability7862 when using a mutation with correct argument declarations7863 when argument is nullable and required7864 is expected to raise ArgumentError with message matching /must be provided: foo/7865 is expected not to raise Exception7866 is expected not to raise Exception7867 when argument is required and NOT nullable7868 is expected to raise ArgumentError with message matching /must be provided/7869 is expected to raise ArgumentError with message matching /must be provided/7870 is expected not to raise Exception7871Gitlab::Pages::CacheControl7872 fails with invalid type7873 .for_namespace7874 behaves like cache_control7875 is expected to match /pages_domain_for_namespace_1_*/7876 #clear_cache7877 clears the cache7878 .for_domain7879 behaves like cache_control7880 is expected to match /pages_domain_for_domain_1_*/7881 #clear_cache7882 clears the cache7883 #cache_key7884 does not change the pages config7885 is based on pages settings7886 is based on the force_pages_access_control settings7887 caches the application settings hash7888UserAgentDetail7889 .submittable?7890 is submittable when not already submitted7891 is not submittable when already submitted7892 .valid?7893 is valid with a subject7894 is invalid without a subject7895Types::ContainerExpirationPolicyType7896 is expected to eq "ContainerExpirationPolicy"7897 is expected to eq "A tag expiration policy designed to keep only the images that matter most"7898 is expected to require graphql authorizations :admin_container_image7899 older_than field7900 returns older_than enum7901 keep n field7902 returns keep enum7903 name_regex field7904 returns untrusted regexp type7905 name_regex_keep field7906 returns untrusted regexp type7907Gitlab::Email::Hook::SilentModeInterceptor7908 # order random7909 when silent mode is enabled7910 prevents mail delivery7911 logs the suppression7912 when silent mode is disabled7913 does not prevent mail delivery7914 debug logs the no-op7915ScheduleMergeRequestCleanupRefsWorker7916 #perform7917 does nothing if the database is read-only7918 retries stuck cleanup schedules7919 is labeled as idempotent7920 performs multiple times sequentially without raising an exception7921 schedules MergeRequestCleanupRefsWorker to be performed with capacity7922 when merge_request_refs_cleanup flag is disabled7923 does not schedule any merge request clean ups7924shared/projects/_inactive_project_deletion_alert7925 without a project7926 behaves like does not render7927 is expected not to have text "Due to inactivity, this project is scheduled to be deleted on 2022-04-01. Why is this scheduled?"7928 with a project7929 when the project is active7930 behaves like does not render7931 is expected not to have text "Due to inactivity, this project is scheduled to be deleted on 2022-04-01. Why is this scheduled?"7932 when the project is inactive7933 does render the alert7934API::Entities::Branch7935 #as_json7936 includes basic fields7937shared/milestones/_top.html.haml7938 does not render a deprecation message for a non-legacy and non-dashboard milestone7939RuboCop::CheckGracefulTask7940 # order random7941 #run7942 without args7943 behaves like rubocop scan7944 invokes a RuboCop scan7945 with adjusted rubocop status7946 with sufficient environment variables7947 notifies slack7948 with when notification fails7949 prints that notification failed7950 with missing environment variables7951 skips slack notification7952 with args7953 does not notify slack7954 behaves like rubocop scan7955 invokes a RuboCop scan7956RuboCop::Cop::Database::MultipleDatabases7957 # order random7958 does not flag use of ActiveRecord::Base.logger7959 flags the use of ActiveRecord::Base.connection7960 does not flag use of ActiveRecord::Base.no_touching7961 flags the use of ::ActiveRecord::Base.connection7962 does not flag use of ActiveRecord::Base.connection_handler7963 does not flag use of ActiveRecord::Base.configurations7964Gitlab::Graphql::Limit::FieldCallCount7965 # order random7966 does not return an error when the field is called multiple times in separte queries7967 allows the call7968 returns an error when the field is called multiple times7969 executes the extension7970 when limit is not specified7971 returns an error7972 when the field is not extended7973 allows the call7974 does not execute the extension7975MilestonesHelper7976 # order random7977 #milestone_counter_class7978 when primary is set to true7979 is expected to eq "gl-text-white"7980 when primary is set to false7981 is expected to eq "gl-text-gray-500"7982 #milestone_header_class7983 primary: true, issuables: [nil], header_color: "gl-bg-blue-500 gl-text-white", header_border: ""7984 is expected to eq "gl-bg-blue-500 gl-text-white gl-display-flex"7985 primary: true, issuables: [], header_color: "gl-bg-blue-500 gl-text-white", header_border: "gl-border-bottom-0 gl-rounded-base"7986 is expected to eq "gl-bg-blue-500 gl-text-white gl-border-bottom-0 gl-rounded-base gl-display-flex"7987 primary: false, issuables: [], header_color: "", header_border: "gl-border-bottom-0 gl-rounded-base"7988 is expected to eq " gl-border-bottom-0 gl-rounded-base gl-display-flex"7989 primary: false, issuables: [nil], header_color: "", header_border: ""7990 is expected to eq " gl-display-flex"7991SafelyChangeColumnDefault7992 # order random7993 prevents writing new default in place of the old default7994 does not write the column without a change7995 does not send the old column value if the default has changed7996 forces the column to be written on a change7997Types::Achievements::AchievementType7998 # order random7999 is expected to have graphql fields "id", "namespace", "name", "avatar_url", "description", "created_at", "updated_at", and "user_achievements"8000 is expected to eq "Achievement"8001 is expected to require graphql authorizations :read_achievement8002 #avatar_url8003 calls Achievement#avatar_url(only_path: false)8004WorkItems::Widgets::Notifications8005 # order random8006 #subscribed?8007 is expected to eq true8008 #type8009 is expected to eq :notifications8010 .type8011 is expected to eq :notifications8012Tooling::Danger::CustomerSuccess8013 customer success danger8014 with data category changes to Ops and no Customer Success::Impact Check label8015 generates correct message8016 with data category changes and Customer Success::Impact Check label8017 generates correct message8018 with metric file changes and no data category changes8019 generates correct message8020 with data category changes from Ops8021 generates correct message8022 with data category removed8023 generates correct message8024 with data category added8025 generates correct message8026 with data category in uppercase8027 generates correct message8028Onboarding::ProgressWorker#perform8029 # order random8030 behaves like does not record an onboarding progress action8031 is expected not to receive new(*(any args)) 0 times8032 behaves like does not record an onboarding progress action8033 is expected not to receive new(*(any args)) 0 times8034 behaves like records an onboarding progress action8035 is expected to receive execute({:action=>:git_pull}) 1 time8036 is labeled as idempotent8037 performs multiple times sequentially without raising an exception8038Gitlab::GithubImport::Stage::ImportBaseDataWorker8039 #import8040 imports the base data of a project8041 raises an error8042Sidebars::Projects::Menus::CiCdMenu8043 #render?8044 when user cannot read builds8045 returns false8046 when user can read builds8047 returns true8048 Menu items8049 Pipelines Editor8050 when user cannot view pipeline editor8051 does not include pipeline editor menu item8052 when user can view pipeline editor8053 includes pipeline editor menu item8054 Artifacts8055 when feature flag :artifacts_management_page is disabled8056 does not include artifacts menu item8057 when feature flag :artifacts_management_page is enabled8058 includes artifacts menu item8059GoogleCloud::EnableCloudRunService8060 when a project does not have any gcp projects8061 returns error8062 when a project has 3 gcp projects8063 enables cloud run, artifacts registry and cloud build8064MergeRequestUserMention8065 associations8066 is expected to belong to merge_request required: false8067 is expected to belong to note required: false8068 behaves like has user mentions8069 #has_mentions?8070 when no mentions8071 returns false8072 when mentioned_users_ids not null8073 returns true8074 when mentioned projects8075 returns true8076 when mentioned groups8077 returns true8078DeleteContainerRepositoryWorker8079 #perform8080 is a no op8081Gitlab::Config::Entry::Validatable8082 .validator8083 returns validator8084 returns only one validator to mitigate leaks8085 when validating entry instance8086 when attribute is valid8087 instance of validator is valid8088 when attribute is not valid8089 instance of validator is invalid8090Resolvers::CommitPipelinesResolver8091 resolves pipelines for commit and ref8092Types::WorkItems::Widgets::DescriptionInputType8093 is expected to eq "WorkItemWidgetDescriptionInput"8094 is expected to contain exactly "description"8095Types::IncidentManagement::TimelineEventType8096 # order random8097 is expected to eq "TimelineEventType"8098 exposes the expected fields8099 is expected to require graphql authorizations :read_incident_management_timeline_event8100Banzai::Filter::ServiceDeskUploadLinkFilter8101 # order random8102 when replace_upload_links enabled8103 when it has only one attachment to replace8104 when filename in text is same as in link8105 replaces the link with original filename in strong8106 when filename in text is not same as in link8107 replaces the link with filename in text & original filename, in strong8108 when it has more than one attachment to replace8109 when all of uploads can be replaced8110 replaces all links with original filename in strong8111 when not all of uploads can be replaced8112 replaces only specific links with original filename in strong8113 when uploads_as_attachments is empty8114 does not replaces the link8115Gitlab::Ci::Config::Entry::Publish8116 # order random8117 .default8118 returns the default value8119 validations8120 when publish config value is correct8121 #config8122 returns the publish directory8123 #valid?8124 is valid8125 when the value has a wrong type8126 reports an error8127shared/ssh_keys/_key_delete.html.haml8128 # order random8129 has text8130UserPreferences::UpdateService8131 #execute8132 successfully updating the record8133 updates the preference and returns a success8134 unsuccessfully updating the record8135 returns an error8136Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies8137 .for8138 returns the right class for `until_executing`8139 returns the right class for `until_executed`8140 returns the right class for `none`8141 raises an UnknownStrategyError when passing an unknown key8142devise/shared/_error_messages8143 # order random8144 Error messages8145 with errors8146 shows errors8147 without errors8148 does not show errors8149Gitlab::GithubImport::ImportReleaseAttachmentsWorker8150 # order random8151 #import8152 imports an issue event8153Gitlab::ErrorTracking::Processor::ContextPayloadProcessor8154 .call8155 merges the context payload into event payload8156Types::GrafanaIntegrationType8157 is expected to eq "GrafanaIntegration"8158 is expected to require graphql authorizations :admin_operations8159 is expected to have graphql fields :id, :grafana_url, :enabled, :created_at, and :updated_at8160Members::StandardMemberBuilder8161 #execute8162 returns member from existing members hash8163 builds a new member8164Gitlab::HealthChecks::Middleware8165 #call8166 handling /readiness requests8167 handles the request8168 handling /liveness requests8169 handles the request8170 handling other requests8171 forwards them to the next middleware8172Gitlab::Import::Errors8173 # order random8174 .merge_nested_errors8175 merges nested collection errors8176Gitlab::Bullet8177 with bullet installed8178 #enabled?8179 with env enabled8180 is enabled8181 with env disabled8182 is not enabled8183 #configure_bullet?8184 with config enabled8185 is configurable8186 with config disabled8187 is not configurable8188sawyer_patch8189 # order random8190 raises error when acessing Sawyer Resource dynamic methods8191 raises error when acessing a method that expects an argument8192Achievements::AchievementsFinder8193 # order random8194 #execute8195 returns all achievements8196 when ids param provided8197 returns specified achievements8198Sidebars::Projects::SuperSidebarMenus::PlanMenu8199 # order random8200 defines list of NilMenuItem placeholders8201 has title and sprite_icon8202Types::ReleaseAssetsInputType8203 is expected to eq "ReleaseAssetsInput"8204 has the correct arguments8205 sets the type of links argument to ReleaseAssetLinkInputType8206Ci::Lint::ResultEntity8207 #represent8208 serializes with lint result entity8209CodequalityReportsComparerSerializer8210 #to_json8211 when base report has error and head has a different error8212 matches the schema8213 when base report has no error and head has errors8214 matches the schema8215Types::CiConfiguration::Sast::AnalyzersEntityInputType8216 is expected to eq "SastCiConfigurationAnalyzersEntityInput"8217 is expected to contain exactly "enabled", "name", and "variables"8218PolicyActor8219 implements all the methods from user8220RuboCop::Cop::Migration::ReferToIndexByName8221 # order random8222 when outside migration8223 registers no offenses8224 when in migration8225 when existing indexes are referred to without an explicit name8226 registers an offense8227Iso8601DateValidator8228 # order random8229 passes a valid date8230 errors on an invalid date8231RuboCop::Cop::UserAdmin8232 # order random8233 flags a method call8234 flags a method call with safe operator8235RuboCop::Cop::Gitlab::ChangeTimezone8236 # order random8237 Time.zone=8238 registers an offense with no 2nd argument8239DatabaseReflection8240 .reflect8241 returns a Reflection instance8242 memoizes the result8243PersonalAccessTokenEntity8244 has the correct attributes8245Types::ReleaseSourceType8246 is expected to require graphql authorizations :read_code8247 has the expected fields8248Gitlab::Metrics::Subscribers::ActionView8249 #render_template8250 tracks rendering of a template8251 observes view rendering time8252Types::Notes::DiffPositionType8253 exposes the expected fields8254WorkItemsHelper8255 # order random8256 #work_items_index_data8257 returns the expected data properties8258DataTransfer::MockedTransferFinder8259 # order random8260 #execute8261 returns mock data8262API::Entities::Ci::JobArtifactFile8263 returns the filename8264 returns the size8265API::Entities::Nuget::PackageMetadataCatalogEntry8266 is expected to eq {:@id=>"http://sandbox.com/json/package", :authors=>"Authors", :dependencyGroups=>[], :iconUrl=>"http://sandbox.com/icon", :id=>"PackageTest", :licenseUrl=>"http://sandbox.com/license", :packageContent=>"http://sandbox.com/archive/package", :projectUrl=>"http://sandbox.com/project", :summary=>"Summary", :tags=>"tag1 tag2 tag3", :version=>"1.2.3"}8267API::Entities::ProjectImportFailedRelation8268 #as_json8269 includes basic fields8270gzip: /builds/gitlab-org/gitlab/query_recorder/rspec-unit-pg13-11-28.ndjson.gz already exists; not overwritten8271Knapsack report was generated. Preview:8272{8273 "spec/models/application_setting_spec.rb": 282.5952858339988,8274 "spec/models/concerns/noteable_spec.rb": 182.33096334199945,8275 "spec/models/ci/runner_spec.rb": 36.93936487499923,8276 "spec/services/projects/import_service_spec.rb": 79.71782536999854,8277 "spec/scripts/lib/glfm/update_specification_spec.rb": 64.31137544600097,8278 "spec/services/notes/quick_actions_service_spec.rb": 49.397855581999465,8279 "spec/lib/gitlab/ci/status/build/factory_spec.rb": 33.166203834000044,8280 "spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb": 8.290603696999824,8281 "spec/models/merge_request/cleanup_schedule_spec.rb": 38.74926967100146,8282 "spec/lib/gitlab/ci/config/entry/job_spec.rb": 6.519788748000792,8283 "spec/lib/gitlab/bitbucket_server_import/importer_spec.rb": 31.64520324499972,8284 "spec/models/concerns/milestoneish_spec.rb": 23.180454985000324,8285 "spec/models/project_statistics_spec.rb": 27.567796867999277,8286 "spec/lib/gitlab/database/background_migration/batched_migration_spec.rb": 6.38688155500131,8287 "spec/models/push_event_spec.rb": 18.234400818999347,8288 "spec/models/blob_spec.rb": 12.344788056001562,8289 "spec/models/service_desk_setting_spec.rb": 11.379418685999553,8290 "spec/lib/gitlab/alert_management/payload/prometheus_spec.rb": 3.925198332999571,8291 "spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb": 19.0025266069988,8292 "spec/models/integrations/prometheus_spec.rb": 10.749703081999542,8293 "spec/lib/api/entities/user_spec.rb": 13.305910940000103,8294 "spec/graphql/mutations/merge_requests/set_reviewers_spec.rb": 10.926488527999027,8295 "spec/lib/gitlab/gitaly_client/commit_service_spec.rb": 5.5929934670002694,8296 "spec/workers/projects/import_export/create_relation_exports_worker_spec.rb": 16.21781895500135,8297 "spec/services/ci/job_artifacts/update_unknown_locked_status_service_spec.rb": 12.606200710000849,8298 "spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb": 8.433564248000039,8299 "spec/serializers/merge_request_poll_cached_widget_entity_spec.rb": 9.729477687998951,8300 "spec/workers/create_commit_signature_worker_spec.rb": 10.650992971999585,8301 "spec/helpers/merge_requests_helper_spec.rb": 10.288097245000245,8302 "spec/lib/banzai/reference_parser/merge_request_parser_spec.rb": 12.192255813000884,8303 "spec/lib/gitlab/auth/ldap/user_spec.rb": 4.050889276999442,8304 "spec/services/clusters/agents/authorizations/ci_access/refresh_service_spec.rb": 6.8775012099995365,8305 "spec/services/security/merge_reports_service_spec.rb": 7.962222803000259,8306 "spec/rubocop/code_reuse_helpers_spec.rb": 1.8258922639997763,8307 "spec/models/concerns/each_batch_spec.rb": 8.85515259299973,8308 "spec/workers/issuable_export_csv_worker_spec.rb": 7.389638926999396,8309 "spec/models/project_authorization_spec.rb": 5.322612393001691,8310 "spec/lib/bulk_imports/common/pipelines/members_pipeline_spec.rb": 8.059073391999846,8311 "spec/uploaders/ci/pipeline_artifact_uploader_spec.rb": 7.217034971999965,8312 "spec/services/clusters/build_kubernetes_namespace_service_spec.rb": 8.852366402999905,8313 "spec/finders/clusters/kubernetes_namespace_finder_spec.rb": 8.766442939999251,8314 "spec/serializers/note_entity_spec.rb": 8.315907641999729,8315 "spec/services/quick_actions/target_service_spec.rb": 8.185642856999038,8316 "spec/views/notify/pipeline_fixed_email.html.haml_spec.rb": 8.184453877000124,8317 "spec/models/ci/runner_project_spec.rb": 6.315682843000104,8318 "spec/lib/gitlab/gitaly_client/repository_service_spec.rb": 3.106065967000177,8319 "spec/lib/gitlab/metrics/background_transaction_spec.rb": 1.58417326199924,8320 "spec/services/commits/cherry_pick_service_spec.rb": 6.596013955999297,8321 "spec/finders/packages/tags_finder_spec.rb": 4.562431885000478,8322 "spec/services/labels/transfer_service_spec.rb": 6.995870175998789,8323 "spec/lib/gitlab/import_export/project/import_task_spec.rb": 7.6284349390007264,8324 "spec/lib/gitlab/visibility_level_spec.rb": 2.2027361980017304,8325 "spec/models/customer_relations/issue_contact_spec.rb": 5.019381993000934,8326 "spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb": 4.072567973000332,8327 "spec/services/tags/create_service_spec.rb": 6.604913934001161,8328 "spec/uploaders/packages/composer/cache_uploader_spec.rb": 2.383465521999824,8329 "spec/views/notify/import_work_items_csv_email.html.haml_spec.rb": 3.2441708389997075,8330 "spec/lib/bulk_imports/groups/transformers/group_attributes_transformer_spec.rb": 4.250171446999957,8331 "spec/lib/gitlab/ci/matching/runner_matcher_spec.rb": 1.36144419700031,8332 "spec/services/security/ci_configuration/dependency_scanning_create_service_spec.rb": 3.934637529999236,8333 "spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb": 1.4447245100000146,8334 "spec/serializers/deployment_cluster_entity_spec.rb": 5.424059131000831,8335 "spec/services/milestones/closed_issues_count_service_spec.rb": 3.9357616500001313,8336 "spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb": 1.308314498000982,8337 "spec/services/groups/update_shared_runners_service_spec.rb": 5.803334715001256,8338 "spec/tooling/danger/feature_flag_spec.rb": 2.1025309480010037,8339 "spec/services/projects/container_repository/destroy_service_spec.rb": 2.722906413000601,8340 "spec/services/packages/terraform_module/create_package_service_spec.rb": 2.1769440429998212,8341 "spec/models/packages/sem_ver_spec.rb": 0.8782460739985254,8342 "spec/workers/hashed_storage/project_migrate_worker_spec.rb": 2.1000096879997727,8343 "spec/services/ci/create_pipeline_service/include_spec.rb": 4.160660065001139,8344 "spec/lib/gitlab/git/conflict/parser_spec.rb": 1.262693226999545,8345 "spec/lib/sidebars/user_profile/menus/overview_menu_spec.rb": 0.851069448999624,8346 "spec/models/group_label_spec.rb": 1.2824422829999094,8347 "spec/services/feature_flags/update_service_spec.rb": 2.768313095000849,8348 "spec/policies/application_setting_policy_spec.rb": 1.4711638749995473,8349 "spec/models/group_group_link_spec.rb": 2.7635580160003883,8350 "spec/workers/environments/auto_stop_worker_spec.rb": 3.710746395001479,8351 "spec/lib/gitlab/import_export/file_importer_spec.rb": 1.7973960689996602,8352 "spec/lib/gitlab/graphql/lazy_spec.rb": 0.8465924600004655,8353 "spec/services/metrics/dashboard/pod_dashboard_service_spec.rb": 2.269833734999338,8354 "spec/lib/gitlab/ci/pipeline/chain/ensure_resource_groups_spec.rb": 3.9491989680009283,8355 "spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb": 2.756667796998954,8356 "spec/views/projects/diffs/_viewer.html.haml_spec.rb": 3.8010968580001645,8357 "spec/tasks/gitlab/uploads/check_rake_spec.rb": 3.495798357998865,8358 "spec/services/access_token_validation_service_spec.rb": 0.5581199779990129,8359 "spec/lib/gitlab/job_waiter_spec.rb": 2.660737865999181,8360 "spec/lib/extracts_ref_spec.rb": 1.9743697740013886,8361 "spec/lib/gitlab/import_export/repo_restorer_spec.rb": 4.150195307000104,8362 "spec/graphql/resolvers/ci/test_report_summary_resolver_spec.rb": 2.463481186001445,8363 "spec/lib/gitlab/ci/config/entry/product/matrix_spec.rb": 1.0224065849997714,8364 "spec/lib/gitlab/import_export/uploads_saver_spec.rb": 1.729539362999276,8365 "spec/workers/gitlab/github_import/import_pull_request_worker_spec.rb": 0.7239878939999471,8366 "spec/services/packages/debian/extract_changes_metadata_service_spec.rb": 1.3807276030001958,8367 "spec/lib/gitlab/git/compare_spec.rb": 1.959432777000984,8368 "spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb": 2.99232573900008,8369 "spec/services/update_merge_request_metrics_service_spec.rb": 3.6263431120005407,8370 "spec/services/protected_tags/update_service_spec.rb": 1.5472899199994572,8371 "spec/models/board_spec.rb": 2.5799127720001707,8372 "spec/initializers/direct_upload_support_spec.rb": 1.269729585001187,8373 "spec/models/integrations/google_play_spec.rb": 1.242010460999154,8374 "spec/tasks/gitlab/background_migrations_rake_spec.rb": 2.640139229999477,8375 "spec/lib/gitlab/ci/variables/helpers_spec.rb": 0.6011802089997218,8376 "spec/lib/gitaly/server_spec.rb": 1.2704022950001672,8377 "spec/services/projects/record_target_platforms_service_spec.rb": 1.0934419599998364,8378 "spec/lib/gitlab/import_export/base/object_builder_spec.rb": 2.8283959430009418,8379 "spec/graphql/mutations/environments/stop_spec.rb": 1.236584831998698,8380 "spec/lib/gitlab/highlight_spec.rb": 1.490763750000042,8381 "spec/models/packages/go/module_version_spec.rb": 2.055883647999508,8382 "spec/services/keys/revoke_service_spec.rb": 1.498324688998764,8383 "spec/services/customer_relations/contacts/update_service_spec.rb": 0.9765164039999945,8384 "spec/models/concerns/loaded_in_group_list_spec.rb": 2.6738450129996636,8385 "spec/lib/gitlab/dependency_linker/go_sum_linker_spec.rb": 0.46037610700113873,8386 "spec/services/users/block_service_spec.rb": 1.4510817790014698,8387 "spec/models/preloaders/user_max_access_level_in_groups_preloader_spec.rb": 1.942231040000479,8388 "spec/services/award_emojis/toggle_service_spec.rb": 2.026314713000829,8389 "spec/models/concerns/has_environment_scope_spec.rb": 1.584369551999771,8390 "spec/lib/api/helpers/packages_manager_clients_helpers_spec.rb": 2.2422744590003276,8391 "spec/models/wiki_directory_spec.rb": 0.6440093609999167,8392 "spec/lib/gitlab/ci/config/entry/jobs_spec.rb": 1.1036637790002715,8393 "spec/graphql/resolvers/error_tracking/sentry_errors_resolver_spec.rb": 1.0886887010001374,8394 "spec/lib/gitlab/github_import/importer/events/changed_milestone_spec.rb": 2.2931989999997313,8395 "spec/lib/gitlab/app_json_logger_spec.rb": 0.39573082999959297,8396 "spec/lib/gitlab/github_import/importer/label_links_importer_spec.rb": 1.9456624399990687,8397 "spec/lib/gitlab/usage_data_counters/search_counter_spec.rb": 0.3751406240007782,8398 "spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_monitor_enabled_metric_spec.rb": 1.2936448310010746,8399 "spec/finders/alert_management/http_integrations_finder_spec.rb": 1.5026587190004648,8400 "spec/lib/gitlab/import_export/reader_spec.rb": 0.6654464059993188,8401 "spec/lib/gitlab/metrics/loose_foreign_keys_slis_spec.rb": 0.5955024510003568,8402 "spec/rubocop/cop/migration/drop_table_spec.rb": 0.8647250659996644,8403 "spec/models/integrations/assembla_spec.rb": 1.5916237309993448,8404 "spec/models/subscription_spec.rb": 1.6613801870007592,8405 "spec/graphql/resolvers/terraform/states_resolver_spec.rb": 1.673750003999885,8406 "spec/presenters/tree_entry_presenter_spec.rb": 1.957433387000492,8407 "spec/models/bulk_imports/batch_tracker_spec.rb": 0.7118278470006771,8408 "spec/lib/gitlab/seeders/ci/variables_project_seeder_spec.rb": 1.2595376379995287,8409 "spec/presenters/ci/group_variable_presenter_spec.rb": 1.4301027430010436,8410 "spec/db/production/create_work_item_hierarchy_restrictions_spec.rb": 0.8824972630009142,8411 "spec/graphql/resolvers/projects/services_resolver_spec.rb": 1.547486598999967,8412 "spec/lib/gitlab/gitaly_client/remote_service_spec.rb": 1.8915610910007672,8413 "spec/models/concerns/vulnerability_finding_signature_helpers_spec.rb": 0.4328982239985635,8414 "spec/views/projects/issues/_service_desk_info_content.html.haml_spec.rb": 1.4910291300002427,8415 "spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb": 1.3141794160001155,8416 "spec/workers/jira_connect/sync_branch_worker_spec.rb": 1.855123557999832,8417 "spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb": 0.6343970920006541,8418 "spec/lib/sidebars/groups/menus/ci_cd_menu_spec.rb": 0.6213217549993715,8419 "spec/models/group/crm_settings_spec.rb": 0.34986120000030496,8420 "spec/rubocop/cop/gitlab/doc_url_spec.rb": 0.5900283909995778,8421 "spec/models/ci/catalog/resource_spec.rb": 1.0368347019993962,8422 "spec/lib/gitlab/reactive_cache_set_cache_spec.rb": 0.8815172230006283,8423 "spec/lib/gitlab/language_detection_spec.rb": 1.2545917780007585,8424 "spec/graphql/types/work_items/widgets/start_and_due_date_update_input_type_spec.rb": 0.3546950990003097,8425 "spec/helpers/instance_configuration_helper_spec.rb": 0.6901987009987351,8426 "spec/lib/gitlab/database/schema_migrations/context_spec.rb": 0.6900181910004903,8427 "spec/services/users/dismiss_project_callout_service_spec.rb": 0.9354259530009585,8428 "spec/serializers/merge_request_sidebar_basic_entity_spec.rb": 1.761773895999795,8429 "spec/initializers/6_validations_spec.rb": 0.5391446419998829,8430 "spec/lib/gitlab/sidekiq_signals_spec.rb": 0.4479598600009922,8431 "spec/serializers/merge_request_sidebar_extras_entity_spec.rb": 1.294549480000569,8432 "spec/services/users/migrate_records_to_ghost_user_in_batches_service_spec.rb": 1.5959887399985746,8433 "spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_setting_enabled_metric_spec.rb": 1.057764588000282,8434 "spec/lib/gitlab/github_import/importer/attachments/issues_importer_spec.rb": 0.9816029329995217,8435 "spec/services/packages/helm/extract_file_metadata_service_spec.rb": 0.9174053560000175,8436 "spec/lib/bitbucket/representation/pull_request_comment_spec.rb": 0.886259341999903,8437 "spec/lib/api/entities/nuget/dependency_spec.rb": 0.306378778999715,8438 "spec/lib/gitlab/ci/templates/katalon_gitlab_ci_yaml_spec.rb": 1.052547068999047,8439 "spec/models/concerns/file_store_mounter_spec.rb": 0.6121650869990845,8440 "spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb": 0.8425731509996695,8441 "spec/graphql/mutations/base_mutation_spec.rb": 0.7986549100005504,8442 "spec/lib/gitlab/pages/cache_control_spec.rb": 0.5815568929992878,8443 "spec/models/user_agent_detail_spec.rb": 0.887146101998951,8444 "spec/graphql/types/container_expiration_policy_type_spec.rb": 0.5991052000008494,8445 "spec/lib/gitlab/email/hook/silent_mode_interceptor_spec.rb": 1.0283669029995508,8446 "spec/workers/schedule_merge_request_cleanup_refs_worker_spec.rb": 0.6943524800008163,8447 "spec/views/shared/projects/_inactive_project_deletion_alert.html.haml_spec.rb": 0.7717442459997983,8448 "spec/lib/api/entities/branch_spec.rb": 1.2123071660007554,8449 "spec/views/shared/milestones/_top.html.haml_spec.rb": 1.233301123000274,8450 "spec/rubocop/check_graceful_task_spec.rb": 0.6064713190007751,8451 "spec/rubocop/cop/database/multiple_databases_spec.rb": 0.5896704709994083,8452 "spec/lib/gitlab/graphql/limit/field_call_count_spec.rb": 0.601592189999792,8453 "spec/helpers/milestones_helper_spec.rb": 0.523658964999413,8454 "spec/models/concerns/safely_change_column_default_spec.rb": 0.6802546330000041,8455 "spec/graphql/types/achievements/achievement_type_spec.rb": 0.6706342850011424,8456 "spec/models/work_items/widgets/notifications_spec.rb": 0.6431871210006648,8457 "spec/tooling/danger/customer_success_spec.rb": 0.5532943690013781,8458 "spec/workers/onboarding/progress_worker_spec.rb": 0.6572003479996056,8459 "spec/workers/gitlab/github_import/stage/import_base_data_worker_spec.rb": 0.6688239260001865,8460 "spec/lib/sidebars/projects/menus/ci_cd_menu_spec.rb": 0.7674421450010414,8461 "spec/services/google_cloud/enable_cloud_run_service_spec.rb": 1.0481401199995162,8462 "spec/models/user_mentions/merge_request_user_mention_spec.rb": 0.5688545159991918,8463 "spec/workers/delete_container_repository_worker_spec.rb": 0.6980222599995614,8464 "spec/lib/gitlab/config/entry/validatable_spec.rb": 0.4131543570001668,8465 "spec/graphql/resolvers/commit_pipelines_resolver_spec.rb": 0.8995329090012092,8466 "spec/graphql/types/work_items/widgets/description_input_type_spec.rb": 0.3239339449992258,8467 "spec/graphql/types/incident_management/timeline_event_type_spec.rb": 0.4394657120010379,8468 "spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb": 0.5551889279995521,8469 "spec/lib/gitlab/ci/config/entry/publish_spec.rb": 0.4006540499995026,8470 "spec/views/shared/ssh_keys/_key_delete.html.haml_spec.rb": 0.39638446000026306,8471 "spec/services/user_preferences/update_service_spec.rb": 0.9881612420012971,8472 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies_spec.rb": 0.4642180470000312,8473 "spec/views/devise/shared/_error_messages.html.haml_spec.rb": 0.5279352540001128,8474 "spec/workers/gitlab/github_import/import_release_attachments_worker_spec.rb": 0.8022525489996042,8475 "spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb": 0.3616996470009326,8476 "spec/graphql/types/grafana_integration_type_spec.rb": 0.42233728599967435,8477 "spec/services/members/standard_member_builder_spec.rb": 0.8716594349989464,8478 "spec/lib/gitlab/health_checks/middleware_spec.rb": 0.5494940999997198,8479 "spec/lib/gitlab/import/errors_spec.rb": 0.9462476199987577,8480 "spec/lib/gitlab/bullet_spec.rb": 0.47429530499903194,8481 "spec/initializers/sawyer_patch_spec.rb": 0.5171646159997181,8482 "spec/finders/achievements/achievements_finder_spec.rb": 0.5151056770009745,8483 "spec/lib/sidebars/projects/super_sidebar_menus/plan_menu_spec.rb": 0.5671413870004471,8484 "spec/graphql/types/release_assets_input_type_spec.rb": 0.5875805919986306,8485 "spec/serializers/ci/lint/result_entity_spec.rb": 0.4728409350009315,8486 "spec/serializers/codequality_reports_comparer_serializer_spec.rb": 0.567446775999997,8487 "spec/graphql/types/ci_configuration/sast/analyzers_entity_input_type_spec.rb": 0.5465340499995364,8488 "spec/policies/concerns/policy_actor_spec.rb": 0.40676212799917266,8489 "spec/rubocop/cop/migration/refer_to_index_by_name_spec.rb": 0.48754357199868537,8490 "spec/validators/iso8601_date_validator_spec.rb": 0.4266047749988502,8491 "spec/rubocop/cop/user_admin_spec.rb": 0.4536140380005236,8492 "spec/rubocop/cop/gitlab/change_timezone_spec.rb": 0.36095122799997625,8493 "spec/models/concerns/database_reflection_spec.rb": 0.5001303789995291,8494 "spec/serializers/personal_access_token_entity_spec.rb": 0.6607010080006148,8495 "spec/graphql/types/release_source_type_spec.rb": 0.5208305150008528,8496 "spec/lib/gitlab/metrics/subscribers/action_view_spec.rb": 0.4592333979999239,8497 "spec/graphql/types/notes/diff_position_type_spec.rb": 0.3211289560003934,8498 "spec/helpers/work_items_helper_spec.rb": 0.34370509999826027,8499 "spec/finders/data_transfer/mocked_transfer_finder_spec.rb": 0.45312872899921786,8500 "spec/lib/api/entities/ci/job_artifact_file_spec.rb": 0.457817888000136,8501 "spec/lib/api/entities/nuget/package_metadata_catalog_entry_spec.rb": 0.3491820600011124,8502 "spec/lib/api/entities/project_import_failed_relation_spec.rb": 0.423273954998876438503}8504Knapsack global time execution for tests: 24m 01s8505Pending: (Failures listed here are expected and do not affect your suite's status)8506 1) Ci::PipelineArtifactUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 8507 # No pattern provided, skipping.8508 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88509 2) Ci::PipelineArtifactUploader behaves like builds correct paths #relative_path is relative8510 # Path not set, skipping.8511 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408512 3) Ci::PipelineArtifactUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 8513 # No pattern provided, skipping.8514 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88515 4) Ci::PipelineArtifactUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8516 # No pattern provided, skipping.8517 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88518 5) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 8519 # No pattern provided, skipping.8520 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88521 6) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 8522 # No pattern provided, skipping.8523 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88524 7) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 8525 # No pattern provided, skipping.8526 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88527 8) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #relative_path is relative8528 # Path not set, skipping.8529 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408530 9) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 8531 # No pattern provided, skipping.8532 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88533 10) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 8534 # No pattern provided, skipping.8535 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88536 11) Packages::Composer::CacheUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 8537 # No pattern provided, skipping.8538 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88539 12) Packages::Composer::CacheUploader behaves like builds correct paths #relative_path is relative8540 # Path not set, skipping.8541 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408542 13) Packages::Composer::CacheUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 8543 # No pattern provided, skipping.8544 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88545 14) Packages::Composer::CacheUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8546 # No pattern provided, skipping.8547 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88548 15) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 8549 # No pattern provided, skipping.8550 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88551 16) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 8552 # No pattern provided, skipping.8553 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88554 17) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 8555 # No pattern provided, skipping.8556 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88557 18) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #relative_path is relative8558 # Path not set, skipping.8559 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408560 19) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8561 # No pattern provided, skipping.8562 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88563 20) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8564 # No pattern provided, skipping.8565 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88566 21) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled ignores geo8567 # Skipping because ci is shared or doesn't not exist8568 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:718569 22) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled without the proper arguments exits without finalizing the migration8570 # Skipping because ci is shared or doesn't not exist8571 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:798572 23) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled with the proper arguments finalizes the matching migration8573 # Skipping because ci is shared or doesn't not exist8574 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:908575 24) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled when database name is not passed aborts the rake task8576 # Skipping because ci is shared or doesn't not exist8577 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:998578 25) gitlab:background_migrations namespace rake tasks status when multiple databases are configured with two connections sharing the same database skips the shared database8579 # Skipping because database ci exists8580 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:1548581 26) gitlab:background_migrations namespace rake tasks status when multiple databases are configured with two connections sharing the same database ignores geo8582 # Skipping because database ci exists8583 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:1628584Finished in 24 minutes 5 seconds (files took 43.87 seconds to load)85853701 examples, 0 failures, 26 pending8586Randomized with seed 227508587[TEST PROF INFO] Time spent in factories: 10:14.109 (42.31% of total time)8588RSpec exited with 0.8589No examples to retry, congrats!8591Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8593Uploading artifacts...8594coverage/: found 5 matching artifact files and directories 8595crystalball/: found 2 matching artifact files and directories 8596WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8597knapsack/: found 4 matching artifact files and directories 8598query_recorder/: found 3 matching artifact files and directories 8599rspec/: found 14 matching artifact files and directories 8600WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8601log/*.log: found 16 matching artifact files and directories 8602WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4187656165/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8603WARNING: Retrying... context=artifacts-uploader error=request redirected8604Uploading artifacts as "archive" to coordinator... 201 Created id=4187656165 responseStatus=201 Created token=64_oLJF-8605Uploading artifacts...8606rspec/junit_rspec.xml: found 1 matching artifact files and directories 8607WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4187656165/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8608WARNING: Retrying... context=artifacts-uploader error=request redirected8609Uploading artifacts as "junit" to coordinator... 201 Created id=4187656165 responseStatus=201 Created token=64_oLJF-8611Job succeeded