rspec unit pg13 5/28
Passed Started
by
@alipniagov

Aleksei Lipniagov
1Running with gitlab-runner 15.9.0~beta.115.g598a7c91 (598a7c91)2 on green-3.shared-gitlab-org.runners-manager.gitlab.com/default EuhiQzPR, system ID: s_360bc95445273 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:13 ...8Pulling docker image postgres:13 ...9Using docker image sha256:ab3945c8cf7160ed1381efd47c6a203ba9a84fc7327a17e4a389601eb3738b3b for postgres:13 with digest postgres@sha256:67edfda7deeecfda8e40c9b00818eae76573a9e9466ba7edbc536662d128173b ...10Starting service redis:6.2-alpine ...11Pulling docker image redis:6.2-alpine ...12Using docker image sha256:3616f0c0705d2a35d30dde109daf3cbe58ae7284121aafa6f5cfa987db98d1a8 for redis:6.2-alpine with digest redis@sha256:63e95f069a7ee668f1fcd0b0f8865e473510f98b56e5db4c8517d6cfbd073470 ...13Waiting for services to be up and running (timeout 30 seconds)...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:667531aab48d3d73584a6ae24a2aea1de3972ab11b24d34d65740089d1635940 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:32a5178f22d0b62740cacea13dc02b6d5a1c9528c0a9af52124abe4455dd0a15 ...18Running on runner-euhiqzpr-project-278964-concurrent-0 via runner-euhiqzpr-shared-gitlab-org-1681308950-8e6a0c28...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 141454, done. 25remote: Counting objects: 100% (141454/141454), done. 26remote: Compressing objects: 100% (90405/90405), done. 27remote: Total 141454 (delta 62786), reused 98969 (delta 45741), pack-reused 0 28Receiving objects: 100% (141454/141454), 122.89 MiB | 23.69 MiB/s, done.29Resolving deltas: 100% (62786/62786), done.31 * [new ref] refs/pipelines/835170457 -> refs/pipelines/83517045732Checking out aa21306d as detached HEAD (ref is refs/merge-requests/116974/merge)...33Skipping Git submodules setup34$ git remote set-url origin "${CI_REPOSITORY_URL}"36Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...37Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-3.0-16...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-3.0-16 41Successfully extracted cache43Downloading artifacts for compile-test-assets (4101394559)...44Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4101394559 responseStatus=200 OK token=64_fq8Ad45Downloading artifacts for detect-tests (4101394577)...46Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4101394577 responseStatus=200 OK token=64_fq8Ad47Downloading artifacts for retrieve-tests-metadata (4101394581)...48Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4101394581 responseStatus=200 OK token=64_fq8Ad49Downloading artifacts for setup-test-env (4101394571)...50Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4101394571 responseStatus=200 OK token=64_fq8Ad52Using docker image sha256:667531aab48d3d73584a6ae24a2aea1de3972ab11b24d34d65740089d1635940 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:32a5178f22d0b62740cacea13dc02b6d5a1c9528c0a9af52124abe4455dd0a15 ...53$ echo $FOSS_ONLY54$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb55$ export GOPATH=$CI_PROJECT_DIR/.go56$ mkdir -p $GOPATH57$ source scripts/utils.sh58$ source scripts/prepare_build.sh711Using decomposed database config (config/database.yml.decomposed-postgresql)712Geo DB won't be set up.713$ setup_db_user_only714CREATE ROLE715GRANT716==> 'setup_db_user_only' succeeded in 0 seconds.717$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes718Dropped database 'gitlabhq_test'719Dropped database 'gitlabhq_test_ci'720Created database 'gitlabhq_test'721Created database 'gitlabhq_test_ci'722main: == [advisory_lock_connection] object_id: 273880, pg_backend_pid: 100723main: == [advisory_lock_connection] object_id: 273880, pg_backend_pid: 100724ci: == [advisory_lock_connection] object_id: 273960, pg_backend_pid: 102725ci: == [advisory_lock_connection] object_id: 273960, pg_backend_pid: 102726==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 52 seconds.727$ setup_db_praefect728SELECT pg_catalog.set_config('search_path', '', false);729CREATE DATABASE praefect_test ENCODING 'UTF8';730==> 'setup_db_praefect' succeeded in 0 seconds.731$ source ./scripts/rspec_helpers.sh732$ run_timed_command "gem install knapsack --no-document"733$ gem install knapsack --no-document734Successfully installed knapsack-4.0.07351 gem installed736==> 'gem install knapsack --no-document' succeeded in 1 seconds.737$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"757$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"758SKIP_FLAKY_TESTS_AUTOMATICALLY: false759RETRY_FAILED_TESTS_IN_NEW_PROCESS: true760KNAPSACK_GENERATE_REPORT: true761FLAKY_RSPEC_GENERATE_REPORT: true762KNAPSACK_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.rb763KNAPSACK_LOG_LEVEL: debug764KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_5_28_report.json765FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json766FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_5_28_report.json767NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_5_28_report.json768SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg13_5_28_report.txt769CRYSTALBALL: 770Knapsack node specs:771spec/services/merge_requests/update_service_spec.rb772spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb773spec/services/projects/destroy_service_spec.rb774spec/lib/gitlab/ci/pipeline/seed/build_spec.rb775spec/models/concerns/deployment_platform_spec.rb776spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb777spec/workers/database/batched_background_migration/ci_database_worker_spec.rb778spec/models/members/project_member_spec.rb779spec/finders/releases/group_releases_finder_spec.rb780spec/serializers/ci/job_entity_spec.rb781spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb782spec/lib/gitlab/background_migration/backfill_draft_status_on_merge_requests_spec.rb783spec/services/projects/update_repository_storage_service_spec.rb784spec/lib/gitlab/file_type_detection_spec.rb785spec/services/work_items/update_service_spec.rb786spec/lib/banzai/pipeline/wiki_pipeline_spec.rb787spec/services/alert_management/create_alert_issue_service_spec.rb788spec/lib/gitlab/path_regex_spec.rb789spec/models/operations/feature_flags/user_list_spec.rb790spec/services/members/create_service_spec.rb791spec/lib/gitlab/background_migration/migrate_remediations_for_vulnerability_findings_spec.rb792spec/models/ci/pipeline_artifact_spec.rb793spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb794spec/services/groups/create_service_spec.rb795spec/models/dev_ops_report/metric_spec.rb796spec/services/merge_requests/update_reviewers_service_spec.rb797spec/lib/banzai/pipeline/gfm_pipeline_spec.rb798spec/lib/gitlab/lets_encrypt/client_spec.rb799spec/services/notes/build_service_spec.rb800spec/services/clusters/integrations/prometheus_health_check_service_spec.rb801spec/models/ml/candidate_spec.rb802spec/lib/api/helpers/caching_spec.rb803spec/services/ci/archive_trace_service_spec.rb804spec/services/metrics/dashboard/custom_dashboard_service_spec.rb805spec/lib/gitlab/git/tag_spec.rb806spec/finders/starred_projects_finder_spec.rb807spec/models/pages_deployment_spec.rb808spec/services/deployments/archive_in_project_service_spec.rb809spec/views/projects/tags/index.html.haml_spec.rb810spec/finders/concerns/finder_with_cross_project_access_spec.rb811spec/finders/contributed_projects_finder_spec.rb812spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb813spec/lib/gitlab/ci/ansi2json_spec.rb814spec/services/error_tracking/issue_update_service_spec.rb815spec/services/groups/update_shared_runners_service_spec.rb816spec/graphql/mutations/merge_requests/create_spec.rb817spec/uploaders/terraform/state_uploader_spec.rb818spec/serializers/issue_sidebar_basic_entity_spec.rb819spec/workers/database/ci_project_mirrors_consistency_check_worker_spec.rb820spec/services/wiki_pages/create_service_spec.rb821spec/models/ci/resource_group_spec.rb822spec/presenters/projects/settings/deploy_keys_presenter_spec.rb823spec/lib/gitlab/ci/config/entry/trigger_spec.rb824spec/models/integrations/redmine_spec.rb825spec/lib/gitlab/auth/ldap/access_spec.rb826spec/services/security/ci_configuration/secret_detection_create_service_spec.rb827spec/services/commits/cherry_pick_service_spec.rb828spec/models/concerns/ci/has_ref_spec.rb829spec/graphql/mutations/namespace/package_settings/update_spec.rb830spec/graphql/resolvers/last_commit_resolver_spec.rb831spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb832spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb833spec/policies/base_policy_spec.rb834spec/models/ci/pipeline_variable_spec.rb835spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb836spec/tasks/gitlab/task_helpers_spec.rb837spec/models/packages/maven/metadatum_spec.rb838spec/finders/design_management/versions_finder_spec.rb839spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb840spec/models/prometheus_alert_event_spec.rb841spec/graphql/resolvers/alert_management/integrations_resolver_spec.rb842spec/views/projects/merge_requests/_commits.html.haml_spec.rb843spec/lib/gitlab/database/reindexing_spec.rb844spec/uploaders/ci/secure_file_uploader_spec.rb845spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb846spec/lib/sidebars/panel_spec.rb847spec/finders/sentry_issue_finder_spec.rb848spec/lib/gitlab/import_export/project/export_task_spec.rb849spec/services/ci/generate_codequality_mr_diff_report_service_spec.rb850spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb851spec/models/concerns/loaded_in_group_list_spec.rb852spec/graphql/resolvers/project_packages_resolver_spec.rb853spec/services/integrations/propagate_service_spec.rb854spec/workers/update_highest_role_worker_spec.rb855spec/graphql/mutations/timelogs/delete_spec.rb856spec/policies/personal_access_token_policy_spec.rb857spec/lib/gitlab/sidekiq_config/worker_spec.rb858spec/lib/gitlab/cluster/mixins/puma_cluster_spec.rb859spec/graphql/resolvers/design_management/version/design_at_version_resolver_spec.rb860spec/finders/abuse_reports_finder_spec.rb861spec/models/ci/pipeline_message_spec.rb862spec/lib/gitlab/harbor/client_spec.rb863spec/lib/gitlab/ci/templates/terraform_module_gitlab_ci_yaml_spec.rb864spec/models/ci/unit_test_spec.rb865spec/validators/public_url_validator_spec.rb866spec/lib/gitlab/utils/override_spec.rb867spec/services/incident_management/pager_duty/process_webhook_service_spec.rb868spec/lib/gitlab/jira_import/base_importer_spec.rb869spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb870spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb871spec/services/projects/lfs_pointers/lfs_import_service_spec.rb872spec/models/bulk_imports/tracker_spec.rb873spec/initializers/00_rails_disable_joins_spec.rb874spec/rubocop/cop/rspec/factories_in_migration_specs_spec.rb875spec/services/projects/move_notification_settings_service_spec.rb876spec/lib/gitlab/background_migration/backfill_note_discussion_id_spec.rb877spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed_spec.rb878spec/lib/gitlab/ci/jwt_spec.rb879spec/workers/external_service_reactive_caching_worker_spec.rb880spec/models/concerns/protected_ref_access_spec.rb881spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb882spec/services/ci/create_pipeline_service/environment_spec.rb883spec/validators/cron_freeze_period_timezone_validator_spec.rb884spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb885spec/finders/lfs_pointers_finder_spec.rb886spec/workers/packages/debian/cleanup_dangling_package_files_worker_spec.rb887spec/models/project_metrics_setting_spec.rb888spec/lib/gitlab/ci/config/entry/needs_spec.rb889spec/models/alert_management/alert_user_mention_spec.rb890spec/workers/gitlab/github_import/refresh_import_jid_worker_spec.rb891spec/lib/gitlab/ci/variables/builder/project_spec.rb892spec/services/groups/deploy_tokens/revoke_service_spec.rb893spec/graphql/resolvers/ci/test_report_summary_resolver_spec.rb894spec/workers/every_sidekiq_worker_spec.rb895spec/lib/gitlab/database/schema_cleaner_spec.rb896spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb897spec/workers/merge_requests/create_approval_note_worker_spec.rb898spec/views/profiles/keys/_key.html.haml_spec.rb899spec/models/postgresql/replication_slot_spec.rb900spec/lib/gitlab/process_memory_cache/helper_spec.rb901spec/lib/gitlab/view/presenter/simple_spec.rb902spec/workers/onboarding/user_added_worker_spec.rb903spec/workers/object_pool/destroy_worker_spec.rb904spec/helpers/groups/observability_helper_spec.rb905spec/models/onboarding/completion_spec.rb906spec/finders/data_transfer/group_data_transfer_finder_spec.rb907spec/services/import/validate_remote_git_endpoint_service_spec.rb908spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb909spec/lib/security/report_schema_version_matcher_spec.rb910spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb911spec/lib/gitlab/graphql/loaders/batch_commit_loader_spec.rb912spec/lib/gitlab/graphql/lazy_spec.rb913spec/services/ci/create_pipeline_service/scripts_spec.rb914spec/graphql/mutations/boards/lists/update_spec.rb915spec/lib/gitlab/jira_import/labels_importer_spec.rb916spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb917spec/views/notify/approved_merge_request_email.html.haml_spec.rb918spec/models/blob_viewer/changelog_spec.rb919spec/tooling/lib/tooling/helm3_client_spec.rb920spec/finders/groups/accepting_project_transfers_finder_spec.rb921spec/graphql/resolvers/crm/organization_state_counts_resolver_spec.rb922spec/models/error_tracking/error_event_spec.rb923spec/rubocop/cop/graphql/json_type_spec.rb924spec/lib/gitlab/usage/metrics/instrumentations/count_users_with_ml_candidates_metric_spec.rb925spec/workers/create_pipeline_worker_spec.rb926spec/views/search/show.html.haml_spec.rb927spec/serializers/merge_request_sidebar_extras_entity_spec.rb928spec/initializers/safe_session_store_patch_spec.rb929spec/services/ci/pipelines/hook_service_spec.rb930spec/lib/api/helpers/label_helpers_spec.rb931spec/services/snippets/repository_validation_service_spec.rb932spec/models/design_management/git_repository_spec.rb933spec/services/google_cloud/create_service_accounts_service_spec.rb934spec/serializers/deploy_keys/deploy_key_entity_spec.rb935spec/lib/gitlab/ci/config/header/input_spec.rb936spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb937spec/services/concerns/audit_event_save_type_spec.rb938spec/lib/gitlab/ci/build/status/reason_spec.rb939spec/lib/gitlab/ci/input/arguments/options_spec.rb940spec/lib/gitlab/auth/ldap/authentication_spec.rb941spec/lib/gitlab/git/conflict/file_spec.rb942spec/initializers/1_acts_as_taggable_spec.rb943spec/graphql/types/packages/cleanup/policy_type_spec.rb944spec/lib/gitlab/database/migrations/lock_retries_helpers_spec.rb945spec/lib/gitlab/database/query_analyzers/ci/partitioning_routing_analyzer_spec.rb946spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb947spec/lib/gitlab/phabricator_import/worker_state_spec.rb948spec/support_specs/matchers/event_store_spec.rb949spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb950spec/services/user_project_access_changed_service_spec.rb951spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb952spec/lib/gitlab/lazy_spec.rb953spec/lib/gitlab/word_diff/line_processor_spec.rb954spec/lib/api/helpers/internal_helpers_spec.rb955spec/graphql/resolvers/concerns/resolves_project_spec.rb956spec/components/pajamas/progress_component_spec.rb957spec/graphql/types/design_management/version_type_spec.rb958spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb959spec/lib/banzai/filter/image_lazy_load_filter_spec.rb960spec/models/shard_spec.rb961spec/models/postgresql/detached_partition_spec.rb962spec/graphql/types/container_repository_details_type_spec.rb963spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb964spec/models/project_import_data_spec.rb965spec/lib/gitlab/view/presenter/factory_spec.rb966spec/lib/gitlab/safe_device_detector_spec.rb967spec/support_specs/helpers/active_record/query_recorder_spec.rb968spec/lib/gitlab/github_import/importer/issue_and_label_links_importer_spec.rb969spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb970spec/lib/gitlab/prometheus/queries/validate_query_spec.rb971spec/lib/gitlab/usage/metrics/instrumentations/service_ping_features_metric_spec.rb972spec/graphql/types/namespace_type_spec.rb973spec/lib/banzai/pipeline/service_desk_email_pipeline_spec.rb974spec/graphql/types/release_source_type_spec.rb975spec/lib/gitlab/dependency_linker/parser/gemfile_spec.rb976spec/lib/api/entities/design_management/design_spec.rb977spec/lib/gitlab/slash_commands/application_help_spec.rb978spec/lib/google_api/auth_spec.rb979spec/workers/self_monitoring_project_delete_worker_spec.rb980spec/models/acts_as_taggable_on/tag_spec.rb981spec/lib/api/validations/validators/absence_spec.rb982spec/graphql/types/ci/runner_setup_type_spec.rb983spec/graphql/types/alert_management/severity_enum_spec.rb984spec/lib/gitlab/ci/pipeline/metrics_spec.rb985spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb986spec/rubocop/cop/database/establish_connection_spec.rb987spec/graphql/types/packages/package_file_type_spec.rb988spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_columns_spec.rb989spec/lib/gitlab/webpack/graphql_known_operations_spec.rb990spec/lib/gitlab/usage/metrics/instrumentations/incoming_email_encrypted_secrets_enabled_metric_spec.rb991spec/lib/api/entities/bulk_imports/entity_spec.rb992spec/lib/gitlab/usage/metrics/instrumentations/service_desk_email_encrypted_secrets_enabled_metric_spec.rb993spec/helpers/terms_helper_spec.rb994spec/serializers/namespace_serializer_spec.rb995spec/routing/directs/milestone_spec.rb996spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb997spec/services/notes/render_service_spec.rb998spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb999spec/helpers/projects/settings/branch_rules_helper_spec.rb1000spec/lib/gitlab/error_tracking/log_formatter_spec.rb1001spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb1002Filter specs:1003Running specs:1004Running all node tests without filter1005spec/services/merge_requests/update_service_spec.rb1006spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb1007spec/services/projects/destroy_service_spec.rb1008spec/lib/gitlab/ci/pipeline/seed/build_spec.rb1009spec/models/concerns/deployment_platform_spec.rb1010spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb1011spec/workers/database/batched_background_migration/ci_database_worker_spec.rb1012spec/models/members/project_member_spec.rb1013spec/finders/releases/group_releases_finder_spec.rb1014spec/serializers/ci/job_entity_spec.rb1015spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb1016spec/lib/gitlab/background_migration/backfill_draft_status_on_merge_requests_spec.rb1017spec/services/projects/update_repository_storage_service_spec.rb1018spec/lib/gitlab/file_type_detection_spec.rb1019spec/services/work_items/update_service_spec.rb1020spec/lib/banzai/pipeline/wiki_pipeline_spec.rb1021spec/services/alert_management/create_alert_issue_service_spec.rb1022spec/lib/gitlab/path_regex_spec.rb1023spec/models/operations/feature_flags/user_list_spec.rb1024spec/services/members/create_service_spec.rb1025spec/lib/gitlab/background_migration/migrate_remediations_for_vulnerability_findings_spec.rb1026spec/models/ci/pipeline_artifact_spec.rb1027spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb1028spec/services/groups/create_service_spec.rb1029spec/models/dev_ops_report/metric_spec.rb1030spec/services/merge_requests/update_reviewers_service_spec.rb1031spec/lib/banzai/pipeline/gfm_pipeline_spec.rb1032spec/lib/gitlab/lets_encrypt/client_spec.rb1033spec/services/notes/build_service_spec.rb1034spec/services/clusters/integrations/prometheus_health_check_service_spec.rb1035spec/models/ml/candidate_spec.rb1036spec/lib/api/helpers/caching_spec.rb1037spec/services/ci/archive_trace_service_spec.rb1038spec/services/metrics/dashboard/custom_dashboard_service_spec.rb1039spec/lib/gitlab/git/tag_spec.rb1040spec/finders/starred_projects_finder_spec.rb1041spec/models/pages_deployment_spec.rb1042spec/services/deployments/archive_in_project_service_spec.rb1043spec/views/projects/tags/index.html.haml_spec.rb1044spec/finders/concerns/finder_with_cross_project_access_spec.rb1045spec/finders/contributed_projects_finder_spec.rb1046spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb1047spec/lib/gitlab/ci/ansi2json_spec.rb1048spec/services/error_tracking/issue_update_service_spec.rb1049spec/services/groups/update_shared_runners_service_spec.rb1050spec/graphql/mutations/merge_requests/create_spec.rb1051spec/uploaders/terraform/state_uploader_spec.rb1052spec/serializers/issue_sidebar_basic_entity_spec.rb1053spec/workers/database/ci_project_mirrors_consistency_check_worker_spec.rb1054spec/services/wiki_pages/create_service_spec.rb1055spec/models/ci/resource_group_spec.rb1056spec/presenters/projects/settings/deploy_keys_presenter_spec.rb1057spec/lib/gitlab/ci/config/entry/trigger_spec.rb1058spec/models/integrations/redmine_spec.rb1059spec/lib/gitlab/auth/ldap/access_spec.rb1060spec/services/security/ci_configuration/secret_detection_create_service_spec.rb1061spec/services/commits/cherry_pick_service_spec.rb1062spec/models/concerns/ci/has_ref_spec.rb1063spec/graphql/mutations/namespace/package_settings/update_spec.rb1064spec/graphql/resolvers/last_commit_resolver_spec.rb1065spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb1066spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb1067spec/policies/base_policy_spec.rb1068spec/models/ci/pipeline_variable_spec.rb1069spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb1070spec/tasks/gitlab/task_helpers_spec.rb1071spec/models/packages/maven/metadatum_spec.rb1072spec/finders/design_management/versions_finder_spec.rb1073spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb1074spec/models/prometheus_alert_event_spec.rb1075spec/graphql/resolvers/alert_management/integrations_resolver_spec.rb1076spec/views/projects/merge_requests/_commits.html.haml_spec.rb1077spec/lib/gitlab/database/reindexing_spec.rb1078spec/uploaders/ci/secure_file_uploader_spec.rb1079spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb1080spec/lib/sidebars/panel_spec.rb1081spec/finders/sentry_issue_finder_spec.rb1082spec/lib/gitlab/import_export/project/export_task_spec.rb1083spec/services/ci/generate_codequality_mr_diff_report_service_spec.rb1084spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb1085spec/models/concerns/loaded_in_group_list_spec.rb1086spec/graphql/resolvers/project_packages_resolver_spec.rb1087spec/services/integrations/propagate_service_spec.rb1088spec/workers/update_highest_role_worker_spec.rb1089spec/graphql/mutations/timelogs/delete_spec.rb1090spec/policies/personal_access_token_policy_spec.rb1091spec/lib/gitlab/sidekiq_config/worker_spec.rb1092spec/lib/gitlab/cluster/mixins/puma_cluster_spec.rb1093spec/graphql/resolvers/design_management/version/design_at_version_resolver_spec.rb1094spec/finders/abuse_reports_finder_spec.rb1095spec/models/ci/pipeline_message_spec.rb1096spec/lib/gitlab/harbor/client_spec.rb1097spec/lib/gitlab/ci/templates/terraform_module_gitlab_ci_yaml_spec.rb1098spec/models/ci/unit_test_spec.rb1099spec/validators/public_url_validator_spec.rb1100spec/lib/gitlab/utils/override_spec.rb1101spec/services/incident_management/pager_duty/process_webhook_service_spec.rb1102spec/lib/gitlab/jira_import/base_importer_spec.rb1103spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb1104spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb1105spec/services/projects/lfs_pointers/lfs_import_service_spec.rb1106spec/models/bulk_imports/tracker_spec.rb1107spec/initializers/00_rails_disable_joins_spec.rb1108spec/rubocop/cop/rspec/factories_in_migration_specs_spec.rb1109spec/services/projects/move_notification_settings_service_spec.rb1110spec/lib/gitlab/background_migration/backfill_note_discussion_id_spec.rb1111spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed_spec.rb1112spec/lib/gitlab/ci/jwt_spec.rb1113spec/workers/external_service_reactive_caching_worker_spec.rb1114spec/models/concerns/protected_ref_access_spec.rb1115spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb1116spec/services/ci/create_pipeline_service/environment_spec.rb1117spec/validators/cron_freeze_period_timezone_validator_spec.rb1118spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb1119spec/finders/lfs_pointers_finder_spec.rb1120spec/workers/packages/debian/cleanup_dangling_package_files_worker_spec.rb1121spec/models/project_metrics_setting_spec.rb1122spec/lib/gitlab/ci/config/entry/needs_spec.rb1123spec/models/alert_management/alert_user_mention_spec.rb1124spec/workers/gitlab/github_import/refresh_import_jid_worker_spec.rb1125spec/lib/gitlab/ci/variables/builder/project_spec.rb1126spec/services/groups/deploy_tokens/revoke_service_spec.rb1127spec/graphql/resolvers/ci/test_report_summary_resolver_spec.rb1128spec/workers/every_sidekiq_worker_spec.rb1129spec/lib/gitlab/database/schema_cleaner_spec.rb1130spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb1131spec/workers/merge_requests/create_approval_note_worker_spec.rb1132spec/views/profiles/keys/_key.html.haml_spec.rb1133spec/models/postgresql/replication_slot_spec.rb1134spec/lib/gitlab/process_memory_cache/helper_spec.rb1135spec/lib/gitlab/view/presenter/simple_spec.rb1136spec/workers/onboarding/user_added_worker_spec.rb1137spec/workers/object_pool/destroy_worker_spec.rb1138spec/helpers/groups/observability_helper_spec.rb1139spec/models/onboarding/completion_spec.rb1140spec/finders/data_transfer/group_data_transfer_finder_spec.rb1141spec/services/import/validate_remote_git_endpoint_service_spec.rb1142spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb1143spec/lib/security/report_schema_version_matcher_spec.rb1144spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb1145spec/lib/gitlab/graphql/loaders/batch_commit_loader_spec.rb1146spec/lib/gitlab/graphql/lazy_spec.rb1147spec/services/ci/create_pipeline_service/scripts_spec.rb1148spec/graphql/mutations/boards/lists/update_spec.rb1149spec/lib/gitlab/jira_import/labels_importer_spec.rb1150spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb1151spec/views/notify/approved_merge_request_email.html.haml_spec.rb1152spec/models/blob_viewer/changelog_spec.rb1153spec/tooling/lib/tooling/helm3_client_spec.rb1154spec/finders/groups/accepting_project_transfers_finder_spec.rb1155spec/graphql/resolvers/crm/organization_state_counts_resolver_spec.rb1156spec/models/error_tracking/error_event_spec.rb1157spec/rubocop/cop/graphql/json_type_spec.rb1158spec/lib/gitlab/usage/metrics/instrumentations/count_users_with_ml_candidates_metric_spec.rb1159spec/workers/create_pipeline_worker_spec.rb1160spec/views/search/show.html.haml_spec.rb1161spec/serializers/merge_request_sidebar_extras_entity_spec.rb1162spec/initializers/safe_session_store_patch_spec.rb1163spec/services/ci/pipelines/hook_service_spec.rb1164spec/lib/api/helpers/label_helpers_spec.rb1165spec/services/snippets/repository_validation_service_spec.rb1166spec/models/design_management/git_repository_spec.rb1167spec/services/google_cloud/create_service_accounts_service_spec.rb1168spec/serializers/deploy_keys/deploy_key_entity_spec.rb1169spec/lib/gitlab/ci/config/header/input_spec.rb1170spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb1171spec/services/concerns/audit_event_save_type_spec.rb1172spec/lib/gitlab/ci/build/status/reason_spec.rb1173spec/lib/gitlab/ci/input/arguments/options_spec.rb1174spec/lib/gitlab/auth/ldap/authentication_spec.rb1175spec/lib/gitlab/git/conflict/file_spec.rb1176spec/initializers/1_acts_as_taggable_spec.rb1177spec/graphql/types/packages/cleanup/policy_type_spec.rb1178spec/lib/gitlab/database/migrations/lock_retries_helpers_spec.rb1179spec/lib/gitlab/database/query_analyzers/ci/partitioning_routing_analyzer_spec.rb1180spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb1181spec/lib/gitlab/phabricator_import/worker_state_spec.rb1182spec/support_specs/matchers/event_store_spec.rb1183spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb1184spec/services/user_project_access_changed_service_spec.rb1185spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb1186spec/lib/gitlab/lazy_spec.rb1187spec/lib/gitlab/word_diff/line_processor_spec.rb1188spec/lib/api/helpers/internal_helpers_spec.rb1189spec/graphql/resolvers/concerns/resolves_project_spec.rb1190spec/components/pajamas/progress_component_spec.rb1191spec/graphql/types/design_management/version_type_spec.rb1192spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb1193spec/lib/banzai/filter/image_lazy_load_filter_spec.rb1194spec/models/shard_spec.rb1195spec/models/postgresql/detached_partition_spec.rb1196spec/graphql/types/container_repository_details_type_spec.rb1197spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb1198spec/models/project_import_data_spec.rb1199spec/lib/gitlab/view/presenter/factory_spec.rb1200spec/lib/gitlab/safe_device_detector_spec.rb1201spec/support_specs/helpers/active_record/query_recorder_spec.rb1202spec/lib/gitlab/github_import/importer/issue_and_label_links_importer_spec.rb1203spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb1204spec/lib/gitlab/prometheus/queries/validate_query_spec.rb1205spec/lib/gitlab/usage/metrics/instrumentations/service_ping_features_metric_spec.rb1206spec/graphql/types/namespace_type_spec.rb1207spec/lib/banzai/pipeline/service_desk_email_pipeline_spec.rb1208spec/graphql/types/release_source_type_spec.rb1209spec/lib/gitlab/dependency_linker/parser/gemfile_spec.rb1210spec/lib/api/entities/design_management/design_spec.rb1211spec/lib/gitlab/slash_commands/application_help_spec.rb1212spec/lib/google_api/auth_spec.rb1213spec/workers/self_monitoring_project_delete_worker_spec.rb1214spec/models/acts_as_taggable_on/tag_spec.rb1215spec/lib/api/validations/validators/absence_spec.rb1216spec/graphql/types/ci/runner_setup_type_spec.rb1217spec/graphql/types/alert_management/severity_enum_spec.rb1218spec/lib/gitlab/ci/pipeline/metrics_spec.rb1219spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb1220spec/rubocop/cop/database/establish_connection_spec.rb1221spec/graphql/types/packages/package_file_type_spec.rb1222spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_columns_spec.rb1223spec/lib/gitlab/webpack/graphql_known_operations_spec.rb1224spec/lib/gitlab/usage/metrics/instrumentations/incoming_email_encrypted_secrets_enabled_metric_spec.rb1225spec/lib/api/entities/bulk_imports/entity_spec.rb1226spec/lib/gitlab/usage/metrics/instrumentations/service_desk_email_encrypted_secrets_enabled_metric_spec.rb1227spec/helpers/terms_helper_spec.rb1228spec/serializers/namespace_serializer_spec.rb1229spec/routing/directs/milestone_spec.rb1230spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb1231spec/services/notes/render_service_spec.rb1232spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb1233spec/helpers/projects/settings/branch_rules_helper_spec.rb1234spec/lib/gitlab/error_tracking/log_formatter_spec.rb1235spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb1236Running all node tests without filter1237Running all node tests without filter1238Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration --default-path spec -- spec/services/merge_requests/update_service_spec.rb spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb spec/services/projects/destroy_service_spec.rb spec/lib/gitlab/ci/pipeline/seed/build_spec.rb spec/models/concerns/deployment_platform_spec.rb spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb spec/workers/database/batched_background_migration/ci_database_worker_spec.rb spec/models/members/project_member_spec.rb spec/finders/releases/group_releases_finder_spec.rb spec/serializers/ci/job_entity_spec.rb spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb spec/lib/gitlab/background_migration/backfill_draft_status_on_merge_requests_spec.rb spec/services/projects/update_repository_storage_service_spec.rb spec/lib/gitlab/file_type_detection_spec.rb spec/services/work_items/update_service_spec.rb spec/lib/banzai/pipeline/wiki_pipeline_spec.rb spec/services/alert_management/create_alert_issue_service_spec.rb spec/lib/gitlab/path_regex_spec.rb spec/models/operations/feature_flags/user_list_spec.rb spec/services/members/create_service_spec.rb spec/lib/gitlab/background_migration/migrate_remediations_for_vulnerability_findings_spec.rb spec/models/ci/pipeline_artifact_spec.rb spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb spec/services/groups/create_service_spec.rb spec/models/dev_ops_report/metric_spec.rb spec/services/merge_requests/update_reviewers_service_spec.rb spec/lib/banzai/pipeline/gfm_pipeline_spec.rb spec/lib/gitlab/lets_encrypt/client_spec.rb spec/services/notes/build_service_spec.rb spec/services/clusters/integrations/prometheus_health_check_service_spec.rb spec/models/ml/candidate_spec.rb spec/lib/api/helpers/caching_spec.rb spec/services/ci/archive_trace_service_spec.rb spec/services/metrics/dashboard/custom_dashboard_service_spec.rb spec/lib/gitlab/git/tag_spec.rb spec/finders/starred_projects_finder_spec.rb spec/models/pages_deployment_spec.rb spec/services/deployments/archive_in_project_service_spec.rb spec/views/projects/tags/index.html.haml_spec.rb spec/finders/concerns/finder_with_cross_project_access_spec.rb spec/finders/contributed_projects_finder_spec.rb spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb spec/lib/gitlab/ci/ansi2json_spec.rb spec/services/error_tracking/issue_update_service_spec.rb spec/services/groups/update_shared_runners_service_spec.rb spec/graphql/mutations/merge_requests/create_spec.rb spec/uploaders/terraform/state_uploader_spec.rb spec/serializers/issue_sidebar_basic_entity_spec.rb spec/workers/database/ci_project_mirrors_consistency_check_worker_spec.rb spec/services/wiki_pages/create_service_spec.rb spec/models/ci/resource_group_spec.rb spec/presenters/projects/settings/deploy_keys_presenter_spec.rb spec/lib/gitlab/ci/config/entry/trigger_spec.rb spec/models/integrations/redmine_spec.rb spec/lib/gitlab/auth/ldap/access_spec.rb spec/services/security/ci_configuration/secret_detection_create_service_spec.rb spec/services/commits/cherry_pick_service_spec.rb spec/models/concerns/ci/has_ref_spec.rb spec/graphql/mutations/namespace/package_settings/update_spec.rb spec/graphql/resolvers/last_commit_resolver_spec.rb spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb spec/policies/base_policy_spec.rb spec/models/ci/pipeline_variable_spec.rb spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb spec/tasks/gitlab/task_helpers_spec.rb spec/models/packages/maven/metadatum_spec.rb spec/finders/design_management/versions_finder_spec.rb spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb spec/models/prometheus_alert_event_spec.rb spec/graphql/resolvers/alert_management/integrations_resolver_spec.rb spec/views/projects/merge_requests/_commits.html.haml_spec.rb spec/lib/gitlab/database/reindexing_spec.rb spec/uploaders/ci/secure_file_uploader_spec.rb spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb spec/lib/sidebars/panel_spec.rb spec/finders/sentry_issue_finder_spec.rb spec/lib/gitlab/import_export/project/export_task_spec.rb spec/services/ci/generate_codequality_mr_diff_report_service_spec.rb spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb spec/models/concerns/loaded_in_group_list_spec.rb spec/graphql/resolvers/project_packages_resolver_spec.rb spec/services/integrations/propagate_service_spec.rb spec/workers/update_highest_role_worker_spec.rb spec/graphql/mutations/timelogs/delete_spec.rb spec/policies/personal_access_token_policy_spec.rb spec/lib/gitlab/sidekiq_config/worker_spec.rb spec/lib/gitlab/cluster/mixins/puma_cluster_spec.rb spec/graphql/resolvers/design_management/version/design_at_version_resolver_spec.rb spec/finders/abuse_reports_finder_spec.rb spec/models/ci/pipeline_message_spec.rb spec/lib/gitlab/harbor/client_spec.rb spec/lib/gitlab/ci/templates/terraform_module_gitlab_ci_yaml_spec.rb spec/models/ci/unit_test_spec.rb spec/validators/public_url_validator_spec.rb spec/lib/gitlab/utils/override_spec.rb spec/services/incident_management/pager_duty/process_webhook_service_spec.rb spec/lib/gitlab/jira_import/base_importer_spec.rb spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb spec/services/projects/lfs_pointers/lfs_import_service_spec.rb spec/models/bulk_imports/tracker_spec.rb spec/initializers/00_rails_disable_joins_spec.rb spec/rubocop/cop/rspec/factories_in_migration_specs_spec.rb spec/services/projects/move_notification_settings_service_spec.rb spec/lib/gitlab/background_migration/backfill_note_discussion_id_spec.rb spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed_spec.rb spec/lib/gitlab/ci/jwt_spec.rb spec/workers/external_service_reactive_caching_worker_spec.rb spec/models/concerns/protected_ref_access_spec.rb spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb spec/services/ci/create_pipeline_service/environment_spec.rb spec/validators/cron_freeze_period_timezone_validator_spec.rb spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb spec/finders/lfs_pointers_finder_spec.rb spec/workers/packages/debian/cleanup_dangling_package_files_worker_spec.rb spec/models/project_metrics_setting_spec.rb spec/lib/gitlab/ci/config/entry/needs_spec.rb spec/models/alert_management/alert_user_mention_spec.rb spec/workers/gitlab/github_import/refresh_import_jid_worker_spec.rb spec/lib/gitlab/ci/variables/builder/project_spec.rb spec/services/groups/deploy_tokens/revoke_service_spec.rb spec/graphql/resolvers/ci/test_report_summary_resolver_spec.rb spec/workers/every_sidekiq_worker_spec.rb spec/lib/gitlab/database/schema_cleaner_spec.rb spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb spec/workers/merge_requests/create_approval_note_worker_spec.rb spec/views/profiles/keys/_key.html.haml_spec.rb spec/models/postgresql/replication_slot_spec.rb spec/lib/gitlab/process_memory_cache/helper_spec.rb spec/lib/gitlab/view/presenter/simple_spec.rb spec/workers/onboarding/user_added_worker_spec.rb spec/workers/object_pool/destroy_worker_spec.rb spec/helpers/groups/observability_helper_spec.rb spec/models/onboarding/completion_spec.rb spec/finders/data_transfer/group_data_transfer_finder_spec.rb spec/services/import/validate_remote_git_endpoint_service_spec.rb spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb spec/lib/security/report_schema_version_matcher_spec.rb spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb spec/lib/gitlab/graphql/loaders/batch_commit_loader_spec.rb spec/lib/gitlab/graphql/lazy_spec.rb spec/services/ci/create_pipeline_service/scripts_spec.rb spec/graphql/mutations/boards/lists/update_spec.rb spec/lib/gitlab/jira_import/labels_importer_spec.rb spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb spec/views/notify/approved_merge_request_email.html.haml_spec.rb spec/models/blob_viewer/changelog_spec.rb spec/tooling/lib/tooling/helm3_client_spec.rb spec/finders/groups/accepting_project_transfers_finder_spec.rb spec/graphql/resolvers/crm/organization_state_counts_resolver_spec.rb spec/models/error_tracking/error_event_spec.rb spec/rubocop/cop/graphql/json_type_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/count_users_with_ml_candidates_metric_spec.rb spec/workers/create_pipeline_worker_spec.rb spec/views/search/show.html.haml_spec.rb spec/serializers/merge_request_sidebar_extras_entity_spec.rb spec/initializers/safe_session_store_patch_spec.rb spec/services/ci/pipelines/hook_service_spec.rb spec/lib/api/helpers/label_helpers_spec.rb spec/services/snippets/repository_validation_service_spec.rb spec/models/design_management/git_repository_spec.rb spec/services/google_cloud/create_service_accounts_service_spec.rb spec/serializers/deploy_keys/deploy_key_entity_spec.rb spec/lib/gitlab/ci/config/header/input_spec.rb spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb spec/services/concerns/audit_event_save_type_spec.rb spec/lib/gitlab/ci/build/status/reason_spec.rb spec/lib/gitlab/ci/input/arguments/options_spec.rb spec/lib/gitlab/auth/ldap/authentication_spec.rb spec/lib/gitlab/git/conflict/file_spec.rb spec/initializers/1_acts_as_taggable_spec.rb spec/graphql/types/packages/cleanup/policy_type_spec.rb spec/lib/gitlab/database/migrations/lock_retries_helpers_spec.rb spec/lib/gitlab/database/query_analyzers/ci/partitioning_routing_analyzer_spec.rb spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb spec/lib/gitlab/phabricator_import/worker_state_spec.rb spec/support_specs/matchers/event_store_spec.rb spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb spec/services/user_project_access_changed_service_spec.rb spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb spec/lib/gitlab/lazy_spec.rb spec/lib/gitlab/word_diff/line_processor_spec.rb spec/lib/api/helpers/internal_helpers_spec.rb spec/graphql/resolvers/concerns/resolves_project_spec.rb spec/components/pajamas/progress_component_spec.rb spec/graphql/types/design_management/version_type_spec.rb spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb spec/lib/banzai/filter/image_lazy_load_filter_spec.rb spec/models/shard_spec.rb spec/models/postgresql/detached_partition_spec.rb spec/graphql/types/container_repository_details_type_spec.rb spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb spec/models/project_import_data_spec.rb spec/lib/gitlab/view/presenter/factory_spec.rb spec/lib/gitlab/safe_device_detector_spec.rb spec/support_specs/helpers/active_record/query_recorder_spec.rb spec/lib/gitlab/github_import/importer/issue_and_label_links_importer_spec.rb spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb spec/lib/gitlab/prometheus/queries/validate_query_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/service_ping_features_metric_spec.rb spec/graphql/types/namespace_type_spec.rb spec/lib/banzai/pipeline/service_desk_email_pipeline_spec.rb spec/graphql/types/release_source_type_spec.rb spec/lib/gitlab/dependency_linker/parser/gemfile_spec.rb spec/lib/api/entities/design_management/design_spec.rb spec/lib/gitlab/slash_commands/application_help_spec.rb spec/lib/google_api/auth_spec.rb spec/workers/self_monitoring_project_delete_worker_spec.rb spec/models/acts_as_taggable_on/tag_spec.rb spec/lib/api/validations/validators/absence_spec.rb spec/graphql/types/ci/runner_setup_type_spec.rb spec/graphql/types/alert_management/severity_enum_spec.rb spec/lib/gitlab/ci/pipeline/metrics_spec.rb spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb spec/rubocop/cop/database/establish_connection_spec.rb spec/graphql/types/packages/package_file_type_spec.rb spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_columns_spec.rb spec/lib/gitlab/webpack/graphql_known_operations_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/incoming_email_encrypted_secrets_enabled_metric_spec.rb spec/lib/api/entities/bulk_imports/entity_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/service_desk_email_encrypted_secrets_enabled_metric_spec.rb spec/helpers/terms_helper_spec.rb spec/serializers/namespace_serializer_spec.rb spec/routing/directs/milestone_spec.rb spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb spec/services/notes/render_service_spec.rb spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb spec/helpers/projects/settings/branch_rules_helper_spec.rb spec/lib/gitlab/error_tracking/log_formatter_spec.rb spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rbKnapsack report generator started!1239warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.1241Run options: exclude {:quarantine=>true, :level=>"background_migration"}1242Test environment set up in 0.76266668 seconds1243MergeRequests::UpdateService1244 execute1245 behaves like issuable update service updating last_edited_at values1246 when updating the title of the issuable1247 does not update last_edited values1248 when updating the description of the issuable1249 updates last_edited values1250 valid params1251 matches base expectations1252 executes hooks with update action1253 creates a resource label event1254 creates system note about title change1255 creates system note about description change1256 creates system note about branch change1257 creates system note about discussion lock1258 usage counters1259 update as expected1260 tracks Draft marking1261 tracks Draft un-marking1262 tracks time estimate and spend time changes1263 tracks milestone change1264 track labels change1265 when MR is locked1266 when locked again1267 does not track discussion locking1268 when unlocked1269 tracks dicussion unlocking1270 when MR is unlocked1271 when unlocked again1272 does not track discussion unlocking1273 when locked1274 tracks dicussion locking1275 reviewers1276 when reviewers changed1277 tracks reviewers changed event1278 when reviewers did not change1279 does not track reviewers changed event1280 updating milestone1281 with milestone_id param1282 sets milestone1283 milestone counters cache reset1284 deletes milestone counters1285 deletes milestone counters when the milestone is removed1286 deletes milestone counters when the milestone was not set1287 with reviewers1288 creates system note about merge_request review request1289 updates the tracking1290 when current user cannot admin issues in the project1291 filters out params that cannot be set without the :admin_merge_request permission1292 updating milestone1293 when milestone_id param1294 behaves like does not update milestone1295 sets milestone1296 when milestone param1297 behaves like does not update milestone1298 sets milestone1299 when not including source branch removal options1300 maintains the original options1301 behaves like reviewer_ids filter1302 filter_reviewer1303 without reviewer_ids1304 contains no reviewer_ids1305 with reviewer_ids1306 when the current user can admin the merge_request1307 with a reviewer who can read the merge_request1308 contains reviewers who can read the merge_request1309 when the current_user cannot admin the merge_request1310 contains no reviewers1311 with an existing reviewer1312 removes reviewers1313 after_save callback to store_mentions1314 when mentionable attributes change1315 saves mentions1316 when mentionable attributes do not change1317 does not call store_mentions1318 when save fails1319 does not call store_mentions1320 merge1321 behaves like correct merge behavior1322 without pipeline1323 merges the MR1324 with finished pipeline1325 merges the MR1326 with active pipeline1327 is expected to receive execute(#<MergeRequest id:44 group41/project46!1>) 1 time1328 with a non-authorised user1329 does not merge the MR1330 MR can not be merged when note sha != MR sha1331 is expected to eq "opened"1332 todos1333 when the title change1334 calls MergeRequest::ResolveTodosService#async_execute1335 does not create any new todos1336 when the description change1337 calls MergeRequest::ResolveTodosService#async_execute1338 creates only 1 new todo1339 triggers GraphQL description updated subscription1340 when decription is not changed1341 does not trigger GraphQL description updated subscription1342 when is reassigned1343 calls MergeRequest::ResolveTodosService#async_execute1344 when reviewers gets changed1345 calls MergeRequest::ResolveTodosService#async_execute1346 creates a pending todo for new review request1347 sends email reviewer change notifications to old and new reviewers1348 updates open merge request counter for reviewers1349 behaves like triggers GraphQL subscription mergeRequestReviewersUpdated1350 is expected to receive merge_request_reviewers_updated(#<MergeRequest id:58 group55/project60!1>) 1 time1351 when reviewers did not change1352 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated1353 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times1354 when the milestone is removed1355 sends notifications for subscribers of changed milestone1356 when the milestone is changed1357 calls MergeRequests::ResolveTodosService#async_execute1358 sends notifications for subscribers of changed milestone1359 when the labels change1360 calls MergeRequests::ResolveTodosService#async_execute1361 updates updated_at1362 when the assignee changes1363 updates open merge request counter for assignees when merge request is reassigned1364 when the target branch changes1365 calls MergeRequests::ResolveTodosService#async_execute1366 does not try to mark as unchecked if it's already unchecked1367 behaves like creates a new pipeline1368 creates a new pipeline1369 when auto merge is enabled and target branch changed1370 calls MergeRequests::ResolveTodosService#async_execute1371 behaves like creates a new pipeline1372 creates a new pipeline1373 when the draft status is changed1374 removing draft status1375 sends notifications for subscribers1376 triggers GraphQL subscription mergeRequestMergeStatusUpdated1377 when removing through wip_event param1378 removes Draft from the title1379 adding draft status1380 does not send notifications1381 triggers GraphQL subscription mergeRequestMergeStatusUpdated1382 when adding through wip_event param1383 adds Draft to the title1384 when the merge request is relabeled1385 sends notifications for subscribers of newly added labels1386 when issue has the `label` label1387 does not send notifications for existing labels1388 does not send notifications for removed labels1389 updating mentions1390 when mentioning a different user1391 in title1392 emails only the newly-mentioned user1393 in description1394 emails only the newly-mentioned user1395 when mentioning a user and a group with access to1396 when group is public1397 behaves like updating attribute with allowed mentions1398 emails group members1399 behaves like updating attribute with allowed mentions1400 emails group members1401 behaves like updating attribute with existing group mention1402 creates todos for only newly mentioned users1403 behaves like updating attribute with existing group mention1404 creates todos for only newly mentioned users1405 when the group is private1406 behaves like updating attribute with allowed mentions1407 emails group members1408 behaves like updating attribute with allowed mentions1409 emails group members1410 behaves like updating attribute with existing group mention1411 creates todos for only newly mentioned users1412 behaves like updating attribute with existing group mention1413 creates todos for only newly mentioned users1414 when mentioning a user and a group without access to1415 when the group is private1416 behaves like updating attribute with not allowed mentions1417 emails mentioned user1418 behaves like updating attribute with not allowed mentions1419 emails mentioned user1420 when MergeRequest has tasks1421 is expected to eq true1422 behaves like updating a single task1423 usage counters1424 update as expected1425 when a task is marked as completed1426 creates system note about task status change1427 when a task is marked as incomplete1428 creates system note about task status change1429 when the task position has been modified1430 raises an exception1431 when the content changes but not task line number1432 creates system note about task status change1433 when tasks are marked as completed1434 creates system note about task status change1435 when tasks are marked as incomplete1436 creates system note about task status change1437 while saving references to issues that the updated merge request closes1438 creates a `MergeRequestsClosingIssues` record for each issue1439 removes `MergeRequestsClosingIssues` records when issues are not closed anymore1440 updating asssignee_ids1441 does not update assignee when assignee_id is invalid1442 unassigns assignee when user id is 01443 saves assignee when user id is valid1444 does not update assignee_id when user cannot read issue1445 :use_specialized_service1446 when true1447 passes the update action to ::MergeRequests::UpdateAssigneesService1448 when false or nil1449 does not pass the update action to ::MergeRequests::UpdateAssigneesService when false1450 does not pass the update action to ::MergeRequests::UpdateAssigneesService when nil1451 when issuable feature is private1452 does not update with unauthorized assignee when project is Internal1453 does not update with unauthorized assignee when project is Public1454 when adding time spent1455 :use_specialized_service1456 when true1457 passes the update action to ::MergeRequests::AddSpentTimeService1458 when false or nil1459 does not pass the update action to ::MergeRequests::UpdateAssigneesService when false1460 does not pass the update action to ::MergeRequests::UpdateAssigneesService when nil1461 behaves like issuable update service1462 changing state1463 to reopened1464 executes hooks1465 to closed1466 executes hooks1467 setting `allow_collaboration`1468 does not allow a maintainer of the target project to set `allow_collaboration`1469 is allowed by a user that can push to the source and can update the merge request1470 updating `force_remove_source_branch`1471 cannot be done by members of the target project when they don't have access1472 can be done by members of the target project if they can push to the source project1473 updating `target_branch`1474 updates to master1475 updates to master because of branch deletion1476 behaves like creates a new pipeline1477 creates a new pipeline1478 behaves like issuable record that supports quick actions1479 with labels in command only1480 attaches labels to issuable1481 with labels in params and command1482 attaches all labels to issuable1483 with assignee and milestone in command only1484 assigns and sets milestone to issuable1485 labels are updated1486 behaves like keeps issuable labels sorted after update1487 when label is changed1488 keeps the labels sorted by title ASC1489 behaves like broadcasting issuable labels updates1490 when label is added1491 triggers the GraphQL subscription1492 when label is removed1493 triggers the GraphQL subscription1494 when label is unchanged1495 does not trigger the GraphQL subscription1496Projects::DestroyService1497 deleting a project with merge requests1498 deletes MergeRequestDiffCommit records of the merge request1499 deletes MergeRequestDiffFile records of the merge request1500 deleting a project with merge request diffs1501 deletes merge request diffs1502 behaves like deleting the project1503 deletes the project1504 publishes a ProjectDeletedEvent1505 personal projects count cache1506 when the executor is the creator of the project itself1507 invalidates personal_project_count cache of the the owner of the personal namespace1508 when the executor is the instance administrator1509 invalidates personal_project_count cache of the the owner of the personal namespace1510 with running pipelines1511 bulks-fails with AbortPipelineService and then executes DestroyPipelineService for each pipelines1512 when project has remote mirrors1513 destroys them1514 when project has exports1515 destroys project and export1516 Sidekiq fake1517 is expected not to include #<Project id:152 user685/project152>>1518 is expected to be falsey1519 when flushing caches fail due to Git errors1520 behaves like deleting the project1521 deletes the project1522 publishes a ProjectDeletedEvent1523 when flushing caches fail due to Redis1524 keeps project team intact upon an error1525 with async_execute1526 async delete of project with private issue visibility1527 behaves like deleting the project1528 deletes the project1529 publishes a ProjectDeletedEvent1530 behaves like deleting the project with pipeline and build1531 with pipeline and build related records1532 deletes build and pipeline related records1533 avoids N+1 queries1534 behaves like deleting the project1535 deletes the project1536 publishes a ProjectDeletedEvent1537 when project is undergoing refresh1538 does not log about artifact deletion but continues to delete artifacts1539 errors1540 when `remove_legacy_registry_tags` fails1541 behaves like handles errors thrown during async destroy1542 does not allow the error to bubble up1543 reports the error1544 unmarks the project as "pending deletion"1545 stores an error message in `projects.delete_error`1546 when `remove_repository` fails1547 behaves like handles errors thrown during async destroy1548 does not allow the error to bubble up1549 reports the error1550 unmarks the project as "pending deletion"1551 stores an error message in `projects.delete_error`1552 when `execute` raises expected error1553 behaves like handles errors thrown during async destroy1554 does not allow the error to bubble up1555 reports the error1556 unmarks the project as "pending deletion"1557 stores an error message in `projects.delete_error`1558 when `execute` raises unexpected error1559 allows error to bubble up and rolls back project deletion1560 for an archived project1561 behaves like deleting the project with pipeline and build1562 with pipeline and build related records1563 deletes build and pipeline related records1564 avoids N+1 queries1565 behaves like deleting the project1566 deletes the project1567 publishes a ProjectDeletedEvent1568 when project is undergoing refresh1569 does not log about artifact deletion but continues to delete artifacts1570 container registry1571 when there are regular container repositories1572 when image repository deletion succeeds1573 returns true1574 when image repository deletion raises an error1575 returns false1576 when image repository deletion fails1577 returns false1578 when registry is disabled1579 does not attempting to remove any tags1580 when there are tags for legacy root repository1581 when image repository tags deletion succeeds1582 removes tags1583 when image repository tags deletion fails1584 raises an exception1585 when there are no tags for legacy root repository1586 does not try to destroy the repository1587 for a forked project with LFS objects1588 destroys the fork1589 as the root of a fork network1590 updates the fork network with the project name1591 repository removal1592 removal of existing repos1593 snippets1594 does not include snippets when deleting in batches1595 calls the bulk snippet destroy service with the skip_authorization param set to true1596 when an error is raised deleting snippets1597 does not delete project1598 when project has webhooks1599 deletes webhooks and logs related to project1600 when an error is raised deleting webhooks1601 behaves like handles errors thrown during async destroy1602 does not allow the error to bubble up1603 reports the error1604 unmarks the project as "pending deletion"1605 stores an error message in `projects.delete_error`1606 when project has project bots1607 deletes bot user as well1608 when project has events1609 deletes events from the project1610 when an error is returned while deleting events1611 does not delete project1612 error while destroying1613 deletes on retry1614 associations destoyed in batches1615 destroys the associations marked as `dependent: :destroy`, in batches1616Gitlab::Ci::Pipeline::Seed::Build1617 #attributes1618 is expected to be a kind of Hash1619 is expected to include :name, :project, and :ref1620 with job:when1621 is expected to include {:when => "on_failure"}1622 with job:when:delayed1623 is expected to include {:when => "delayed", :options => {:start_in => "3 hours"}}1624 with job:rules:[when:]1625 is matched1626 is expected to include {:when => "always"}1627 is not matched1628 is expected to include {:when => "never"}1629 with job:rules:[when:delayed]1630 is matched1631 is expected to include {:when => "delayed", :options => {:start_in => "3 hours"}}1632 is not matched1633 is expected to include {:when => "never"}1634 with job: rules but no explicit when:1635 with a manual job1636 with a matched rule1637 is expected to include {:when => "manual"}1638 is not matched1639 is expected to include {:when => "never"}1640 with an automatic job1641 is matched1642 is expected to include {:when => "on_success"}1643 is not matched1644 is expected to include {:when => "never"}1645 with job:rules:[variables:]1646 is expected to include {:yaml_variables => [{:key => "VAR1", :value => "new var 1"}, {:key => "VAR3", :value => "var 3"}, {:key => "VAR2", :value => "var 2"}]}1647 with job:tags1648 is expected to include {:tag_list => ["static-tag", "value", "$NO_VARIABLE"]}1649 is expected to include {:yaml_variables => [{:key => "VARIABLE", :value => "value"}]}1650 with cache:key1651 is expected to include {:options => {:cache => [(a hash including {:key => "a-value"})]}}1652 with cache:key:files1653 includes cache options1654 with cache:key:prefix1655 is expected to include {:options => {:cache => [(a hash including {:key => "something-default"})]}}1656 with cache:key:files and prefix1657 includes cache options1658 with empty cache1659 is expected to include {}1660 with allow_failure1661 when rules does not override allow_failure1662 is expected to match (a hash including {:options => {:allow_failure_criteria => {:exit_codes => [42]}}})1663 when rules set allow_failure to true1664 is expected to match (a hash including {:options => {:allow_failure_criteria => nil}})1665 when rules set allow_failure to false1666 is expected to match (a hash including {:options => {:allow_failure_criteria => nil}})1667 with workflow:rules:[variables:]1668 when the pipeline has variables1669 when root_variables_inheritance is true1670 returns calculated yaml variables1671 when root_variables_inheritance is false1672 returns job variables1673 when root_variables_inheritance is an array1674 returns calculated yaml variables1675 when the pipeline has not a variable1676 returns seed yaml variables1677 when the job rule depends on variables1678 when the rules use job variables1679 recalculates the variables1680 when the rules use root variables1681 recalculates the variables1682 when the root_variables_inheritance is false1683 does not recalculate the variables1684 #bridge?1685 when job is a downstream bridge1686 is expected to be truthy1687 when trigger definition is empty1688 is expected to be falsey1689 when job is an upstream bridge1690 is expected to be truthy1691 when upstream definition is empty1692 is expected to be falsey1693 when job is not a bridge1694 is expected to be falsey1695 #to_resource1696 memoizes a resource object1697 can not be persisted without explicit assignment1698 applying job inclusion policies1699 when no branch policy is specified1700 is expected to be included1701 when branch policy does not match1702 when using only1703 is expected not to be included1704 when using except1705 is expected to be included1706 with both only and except policies1707 is expected not to be included1708 when branch regexp policy does not match1709 when using only1710 is expected not to be included1711 when using except1712 is expected to be included1713 with both only and except policies1714 is expected not to be included1715 when branch policy matches1716 when using only1717 is expected to be included1718 when using except1719 is expected not to be included1720 when using both only and except policies1721 is expected not to be included1722 when keyword policy matches1723 when using only1724 is expected to be included1725 when using except1726 is expected not to be included1727 when using both only and except policies1728 is expected not to be included1729 when keyword policy does not match1730 when using only1731 is expected not to be included1732 when using except1733 is expected to be included1734 when using both only and except policies1735 is expected not to be included1736 with source-keyword policy1737 matches1738 keyword: "pushes", source: "push"1739 using an only policy1740 is expected to be included1741 using an except policy1742 is expected not to be included1743 using both only and except policies1744 is expected not to be included1745 keyword: "web", source: "web"1746 using an only policy1747 is expected to be included1748 using an except policy1749 is expected not to be included1750 using both only and except policies1751 is expected not to be included1752 keyword: "triggers", source: "trigger"1753 using an only policy1754 is expected to be included1755 using an except policy1756 is expected not to be included1757 using both only and except policies1758 is expected not to be included1759 keyword: "schedules", source: "schedule"1760 using an only policy1761 is expected to be included1762 using an except policy1763 is expected not to be included1764 using both only and except policies1765 is expected not to be included1766 keyword: "api", source: "api"1767 using an only policy1768 is expected to be included1769 using an except policy1770 is expected not to be included1771 using both only and except policies1772 is expected not to be included1773 keyword: "external", source: "external"1774 using an only policy1775 is expected to be included1776 using an except policy1777 is expected not to be included1778 using both only and except policies1779 is expected not to be included1780 non-matches1781 keyword: "pushes", source: "web"1782 using an only policy1783 is expected not to be included1784 using an except policy1785 is expected to be included1786 using both only and except policies1787 is expected not to be included1788 keyword: "pushes", source: "trigger"1789 using an only policy1790 is expected not to be included1791 using an except policy1792 is expected to be included1793 using both only and except policies1794 is expected not to be included1795 keyword: "pushes", source: "schedule"1796 using an only policy1797 is expected not to be included1798 using an except policy1799 is expected to be included1800 using both only and except policies1801 is expected not to be included1802 keyword: "pushes", source: "api"1803 using an only policy1804 is expected not to be included1805 using an except policy1806 is expected to be included1807 using both only and except policies1808 is expected not to be included1809 keyword: "pushes", source: "external"1810 using an only policy1811 is expected not to be included1812 using an except policy1813 is expected to be included1814 using both only and except policies1815 is expected not to be included1816 keyword: "web", source: "push"1817 using an only policy1818 is expected not to be included1819 using an except policy1820 is expected to be included1821 using both only and except policies1822 is expected not to be included1823 keyword: "web", source: "trigger"1824 using an only policy1825 is expected not to be included1826 using an except policy1827 is expected to be included1828 using both only and except policies1829 is expected not to be included1830 keyword: "web", source: "schedule"1831 using an only policy1832 is expected not to be included1833 using an except policy1834 is expected to be included1835 using both only and except policies1836 is expected not to be included1837 keyword: "web", source: "api"1838 using an only policy1839 is expected not to be included1840 using an except policy1841 is expected to be included1842 using both only and except policies1843 is expected not to be included1844 keyword: "web", source: "external"1845 using an only policy1846 is expected not to be included1847 using an except policy1848 is expected to be included1849 using both only and except policies1850 is expected not to be included1851 keyword: "triggers", source: "push"1852 using an only policy1853 is expected not to be included1854 using an except policy1855 is expected to be included1856 using both only and except policies1857 is expected not to be included1858 keyword: "triggers", source: "web"1859 using an only policy1860 is expected not to be included1861 using an except policy1862 is expected to be included1863 using both only and except policies1864 is expected not to be included1865 keyword: "triggers", source: "schedule"1866 using an only policy1867 is expected not to be included1868 using an except policy1869 is expected to be included1870 using both only and except policies1871 is expected not to be included1872 keyword: "triggers", source: "api"1873 using an only policy1874 is expected not to be included1875 using an except policy1876 is expected to be included1877 using both only and except policies1878 is expected not to be included1879 keyword: "triggers", source: "external"1880 using an only policy1881 is expected not to be included1882 using an except policy1883 is expected to be included1884 using both only and except policies1885 is expected not to be included1886 keyword: "schedules", source: "push"1887 using an only policy1888 is expected not to be included1889 using an except policy1890 is expected to be included1891 using both only and except policies1892 is expected not to be included1893 keyword: "schedules", source: "web"1894 using an only policy1895 is expected not to be included1896 using an except policy1897 is expected to be included1898 using both only and except policies1899 is expected not to be included1900 keyword: "schedules", source: "trigger"1901 using an only policy1902 is expected not to be included1903 using an except policy1904 is expected to be included1905 using both only and except policies1906 is expected not to be included1907 keyword: "schedules", source: "api"1908 using an only policy1909 is expected not to be included1910 using an except policy1911 is expected to be included1912 using both only and except policies1913 is expected not to be included1914 keyword: "schedules", source: "external"1915 using an only policy1916 is expected not to be included1917 using an except policy1918 is expected to be included1919 using both only and except policies1920 is expected not to be included1921 keyword: "api", source: "push"1922 using an only policy1923 is expected not to be included1924 using an except policy1925 is expected to be included1926 using both only and except policies1927 is expected not to be included1928 keyword: "api", source: "web"1929 using an only policy1930 is expected not to be included1931 using an except policy1932 is expected to be included1933 using both only and except policies1934 is expected not to be included1935 keyword: "api", source: "trigger"1936 using an only policy1937 is expected not to be included1938 using an except policy1939 is expected to be included1940 using both only and except policies1941 is expected not to be included1942 keyword: "api", source: "schedule"1943 using an only policy1944 is expected not to be included1945 using an except policy1946 is expected to be included1947 using both only and except policies1948 is expected not to be included1949 keyword: "api", source: "external"1950 using an only policy1951 is expected not to be included1952 using an except policy1953 is expected to be included1954 using both only and except policies1955 is expected not to be included1956 keyword: "external", source: "push"1957 using an only policy1958 is expected not to be included1959 using an except policy1960 is expected to be included1961 using both only and except policies1962 is expected not to be included1963 keyword: "external", source: "web"1964 using an only policy1965 is expected not to be included1966 using an except policy1967 is expected to be included1968 using both only and except policies1969 is expected not to be included1970 keyword: "external", source: "trigger"1971 using an only policy1972 is expected not to be included1973 using an except policy1974 is expected to be included1975 using both only and except policies1976 is expected not to be included1977 keyword: "external", source: "schedule"1978 using an only policy1979 is expected not to be included1980 using an except policy1981 is expected to be included1982 using both only and except policies1983 is expected not to be included1984 keyword: "external", source: "api"1985 using an only policy1986 is expected not to be included1987 using an except policy1988 is expected to be included1989 using both only and except policies1990 is expected not to be included1991 when repository path matches1992 when using only1993 is expected to be included1994 when using except1995 is expected not to be included1996 when using both only and except policies1997 is expected not to be included1998 when using both only and except policies1999 is expected not to be included2000 when repository path does not match2001 when using only2002 is expected not to be included2003 when using except2004 is expected to be included2005 when using both only and except policies2006 is expected not to be included2007 using rules:2008 with a matching if: rule2009 with an explicit `when: never`2010 rule_set: [{:if=>"$VARIABLE == null", :when=>"never"}]2011 is expected not to be included2012 still correctly populates when:2013 rule_set: [{:if=>"$VARIABLE == null", :when=>"never"}, {:if=>"$VARIABLE == null", :when=>"always"}]2014 is expected not to be included2015 still correctly populates when:2016 rule_set: [{:if=>"$VARIABLE != \"the wrong value\"", :when=>"never"}, {:if=>"$VARIABLE == null", :when=>"always"}]2017 is expected not to be included2018 still correctly populates when:2019 with an explicit `when: always`2020 rule_set: [{:if=>"$VARIABLE == null", :when=>"always"}]2021 is expected to be included2022 correctly populates when:2023 rule_set: [{:if=>"$VARIABLE == null", :when=>"always"}, {:if=>"$VARIABLE == null", :when=>"never"}]2024 is expected to be included2025 correctly populates when:2026 rule_set: [{:if=>"$VARIABLE != \"the wrong value\"", :when=>"always"}, {:if=>"$VARIABLE == null", :when=>"never"}]2027 is expected to be included2028 correctly populates when:2029 with an explicit `when: on_failure`2030 rule_set: [{:if=>"$CI_JOB_NAME == \"rspec\" && $VAR == null", :when=>"on_failure"}]2031 is expected to be included2032 correctly populates when:2033 rule_set: [{:if=>"$VARIABLE != null", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$CI_JOB_NAME == \"rspec\"", :when=>"on_failure"}]2034 is expected to be included2035 correctly populates when:2036 rule_set: [{:if=>"$VARIABLE == \"the wrong value\"", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$CI_JOB_NAME == \"rspec\"", :when=>"on_failure"}]2037 is expected to be included2038 correctly populates when:2039 when FF `ci_remove_legacy_predefined_variables` is disabled2040 with an explicit `when: on_failure`2041 rule_set: [{:if=>"$CI_JOB_NAME == \"rspec\" && $VAR == null", :when=>"on_failure"}]2042 is expected to be included2043 correctly populates when:2044 rule_set: [{:if=>"$VARIABLE != null", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$CI_JOB_NAME == \"rspec\"", :when=>"on_failure"}]2045 is expected to be included2046 correctly populates when:2047 rule_set: [{:if=>"$VARIABLE == \"the wrong value\"", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$CI_BUILD_NAME == \"rspec\"", :when=>"on_failure"}]2048 is expected to be included2049 correctly populates when:2050 with an explicit `when: delayed`2051 rule_set: [{:if=>"$VARIABLE == null", :when=>"delayed", :start_in=>"1 day"}]2052 is expected to be included2053 correctly populates when:2054 rule_set: [{:if=>"$VARIABLE == null", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$VARIABLE == null", :when=>"never"}]2055 is expected to be included2056 correctly populates when:2057 rule_set: [{:if=>"$VARIABLE != \"the wrong value\"", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$VARIABLE == null", :when=>"never"}]2058 is expected to be included2059 correctly populates when:2060 without an explicit when: value2061 rule_set: [{:if=>"$VARIABLE == null"}]2062 is expected to be included2063 correctly populates when:2064 rule_set: [{:if=>"$VARIABLE == null"}, {:if=>"$VARIABLE == null"}]2065 is expected to be included2066 correctly populates when:2067 rule_set: [{:if=>"$VARIABLE != \"the wrong value\""}, {:if=>"$VARIABLE == null"}]2068 is expected to be included2069 correctly populates when:2070 with a matching changes: rule2071 with an explicit `when: never`2072 rule_set: [{:changes=>{:paths=>["*/**/*.rb"]}, :when=>"never"}, {:changes=>{:paths=>["*/**/*.rb"]}, :when=>"always"}]2073 is expected not to be included2074 correctly populates when:2075 rule_set: [{:changes=>{:paths=>["app/models/ci/pipeline.rb"]}, :when=>"never"}, {:changes=>{:paths=>["app/models/ci/pipeline.rb"]}, :when=>"always"}]2076 is expected not to be included2077 correctly populates when:2078 rule_set: [{:changes=>{:paths=>["spec/**/*.rb"]}, :when=>"never"}, {:changes=>{:paths=>["spec/**/*.rb"]}, :when=>"always"}]2079 is expected not to be included2080 correctly populates when:2081 rule_set: [{:changes=>{:paths=>["*.yml"]}, :when=>"never"}, {:changes=>{:paths=>["*.yml"]}, :when=>"always"}]2082 is expected not to be included2083 correctly populates when:2084 rule_set: [{:changes=>{:paths=>[".*.yml"]}, :when=>"never"}, {:changes=>{:paths=>[".*.yml"]}, :when=>"always"}]2085 is expected not to be included2086 correctly populates when:2087 rule_set: [{:changes=>{:paths=>["**/*"]}, :when=>"never"}, {:changes=>{:paths=>["**/*"]}, :when=>"always"}]2088 is expected not to be included2089 correctly populates when:2090 rule_set: [{:changes=>{:paths=>["*/**/*.rb", "*.yml"]}, :when=>"never"}, {:changes=>{:paths=>["*/**/*.rb", "*.yml"]}, :when=>"always"}]2091 is expected not to be included2092 correctly populates when:2093 rule_set: [{:changes=>{:paths=>[".*.yml", "**/*"]}, :when=>"never"}, {:changes=>{:paths=>[".*.yml", "**/*"]}, :when=>"always"}]2094 is expected not to be included2095 correctly populates when:2096 with an explicit `when: always`2097 rule_set: [{:changes=>{:paths=>["*/**/*.rb"]}, :when=>"always"}, {:changes=>{:paths=>["*/**/*.rb"]}, :when=>"never"}]2098 is expected to be included2099 correctly populates when:2100 rule_set: [{:changes=>{:paths=>["app/models/ci/pipeline.rb"]}, :when=>"always"}, {:changes=>{:paths=>["app/models/ci/pipeline.rb"]}, :when=>"never"}]2101 is expected to be included2102 correctly populates when:2103 rule_set: [{:changes=>{:paths=>["spec/**/*.rb"]}, :when=>"always"}, {:changes=>{:paths=>["spec/**/*.rb"]}, :when=>"never"}]2104 is expected to be included2105 correctly populates when:2106 rule_set: [{:changes=>{:paths=>["*.yml"]}, :when=>"always"}, {:changes=>{:paths=>["*.yml"]}, :when=>"never"}]2107 is expected to be included2108 correctly populates when:2109 rule_set: [{:changes=>{:paths=>[".*.yml"]}, :when=>"always"}, {:changes=>{:paths=>[".*.yml"]}, :when=>"never"}]2110 is expected to be included2111 correctly populates when:2112 rule_set: [{:changes=>{:paths=>["**/*"]}, :when=>"always"}, {:changes=>{:paths=>["**/*"]}, :when=>"never"}]2113 is expected to be included2114 correctly populates when:2115 rule_set: [{:changes=>{:paths=>["*/**/*.rb", "*.yml"]}, :when=>"always"}, {:changes=>{:paths=>["*/**/*.rb", "*.yml"]}, :when=>"never"}]2116 is expected to be included2117 correctly populates when:2118 rule_set: [{:changes=>{:paths=>[".*.yml", "**/*"]}, :when=>"always"}, {:changes=>{:paths=>[".*.yml", "**/*"]}, :when=>"never"}]2119 is expected to be included2120 correctly populates when:2121 without an explicit when: value2122 rule_set: [{:changes=>{:paths=>["*/**/*.rb"]}}]2123 is expected to be included2124 correctly populates when:2125 rule_set: [{:changes=>{:paths=>["app/models/ci/pipeline.rb"]}}]2126 is expected to be included2127 correctly populates when:2128 rule_set: [{:changes=>{:paths=>["spec/**/*.rb"]}}]2129 is expected to be included2130 correctly populates when:2131 rule_set: [{:changes=>{:paths=>["*.yml"]}}]2132 is expected to be included2133 correctly populates when:2134 rule_set: [{:changes=>{:paths=>[".*.yml"]}}]2135 is expected to be included2136 correctly populates when:2137 rule_set: [{:changes=>{:paths=>["**/*"]}}]2138 is expected to be included2139 correctly populates when:2140 rule_set: [{:changes=>{:paths=>["*/**/*.rb", "*.yml"]}}]2141 is expected to be included2142 correctly populates when:2143 rule_set: [{:changes=>{:paths=>[".*.yml", "**/*"]}}]2144 is expected to be included2145 correctly populates when:2146 with no matching rule2147 rule_set: [{:if=>"$VARIABLE != null", :when=>"never"}]2148 is expected not to be included2149 correctly populates when:2150 rule_set: [{:if=>"$VARIABLE != null", :when=>"never"}, {:if=>"$VARIABLE != null", :when=>"always"}]2151 is expected not to be included2152 correctly populates when:2153 rule_set: [{:if=>"$VARIABLE == \"the wrong value\"", :when=>"never"}, {:if=>"$VARIABLE != null", :when=>"always"}]2154 is expected not to be included2155 correctly populates when:2156 rule_set: [{:if=>"$VARIABLE != null", :when=>"always"}]2157 is expected not to be included2158 correctly populates when:2159 rule_set: [{:if=>"$VARIABLE != null", :when=>"always"}, {:if=>"$VARIABLE != null", :when=>"never"}]2160 is expected not to be included2161 correctly populates when:2162 rule_set: [{:if=>"$VARIABLE == \"the wrong value\"", :when=>"always"}, {:if=>"$VARIABLE != null", :when=>"never"}]2163 is expected not to be included2164 correctly populates when:2165 rule_set: [{:if=>"$VARIABLE != null"}]2166 is expected not to be included2167 correctly populates when:2168 rule_set: [{:if=>"$VARIABLE != null"}, {:if=>"$VARIABLE != null"}]2169 is expected not to be included2170 correctly populates when:2171 rule_set: [{:if=>"$VARIABLE == \"the wrong value\""}, {:if=>"$VARIABLE != null"}]2172 is expected not to be included2173 correctly populates when:2174 with a rule using CI_ENVIRONMENT_NAME variable2175 when environment:name satisfies the rule2176 is expected to be included2177 correctly populates when:2178 when environment:name does not satisfy rule2179 is expected not to be included2180 correctly populates when:2181 when environment:name is not set2182 is expected not to be included2183 correctly populates when:2184 with no rules2185 is expected not to be included2186 correctly populates when:2187 with invalid rules raising error2188 is expected not to be included2189 correctly populates when:2190 returns an error2191 applying needs: dependency2192 when build job is not present in prior stages2193 is included2194 returns an error2195 when the needed job is optional2196 does not return an error2197 when build job is part of prior stages2198 is included2199 does not have errors2200 when build job is part of the same stage2201 is included2202 does not have errors2203 when using 101 needs2204 returns an error2205 when ci_needs_size_limit is set to 1002206 returns an error2207 when ci_needs_size_limit is set to 02208 returns an error2209 applying pipeline variables2210 containing variable references2211 does not have errors2212 containing cyclic reference2213 returns an error2214 with job:rules:[if:]2215 included? does not raise2216 included? returns true2217DeploymentPlatform2218 #deployment_platform2219 multiple clusters2220 multiple clusters use the same management project2221 behaves like matching environment scope2222 returns environment specific cluster2223 behaves like certificate_based_clusters is disabled2224 is expected to be nil2225 when project does not have a cluster but has group clusters2226 when environment scope is exactly matched2227 behaves like matching environment scope2228 returns environment specific cluster2229 behaves like certificate_based_clusters is disabled2230 is expected to be nil2231 when environment scope is matched by wildcard2232 behaves like matching environment scope2233 returns environment specific cluster2234 behaves like certificate_based_clusters is disabled2235 is expected to be nil2236 when environment scope does not match2237 behaves like not matching environment scope2238 returns default cluster2239 behaves like certificate_based_clusters is disabled2240 is expected to be nil2241 when group belongs to a parent group2242 when parent_group has a cluster with default scope2243 behaves like matching environment scope2244 returns environment specific cluster2245 behaves like certificate_based_clusters is disabled2246 is expected to be nil2247 when parent_group has a cluster that is an exact match2248 behaves like matching environment scope2249 returns environment specific cluster2250 behaves like certificate_based_clusters is disabled2251 is expected to be nil2252 with instance clusters2253 when environment scope is exactly matched2254 behaves like matching environment scope2255 returns environment specific cluster2256 behaves like certificate_based_clusters is disabled2257 is expected to be nil2258 when environment scope is matched by wildcard2259 behaves like matching environment scope2260 returns environment specific cluster2261 behaves like certificate_based_clusters is disabled2262 is expected to be nil2263 when environment scope does not match2264 behaves like not matching environment scope2265 returns default cluster2266 behaves like certificate_based_clusters is disabled2267 is expected to be nil2268 when environment is specified2269 when environment scope is exactly matched2270 behaves like matching environment scope2271 returns environment specific cluster2272 behaves like certificate_based_clusters is disabled2273 is expected to be nil2274 when environment scope is matched by wildcard2275 behaves like matching environment scope2276 returns environment specific cluster2277 behaves like certificate_based_clusters is disabled2278 is expected to be nil2279 when environment scope does not match2280 behaves like not matching environment scope2281 returns default cluster2282 behaves like certificate_based_clusters is disabled2283 is expected to be nil2284 when environment scope has _2285 does not treat it as wildcard2286 when environment name contains an underscore2287 matches literally for _2288 when environment scope has %2289 does not treat it as wildcard2290 when environment name contains a percent char2291 matches literally for %2292 when perfectly matched cluster exists2293 returns perfectly matched cluster as highest precedence2294 with multiple clusters and multiple environments2295 returns the appropriate cluster2296 with no Kubernetes configuration on CI/CD, no Kubernetes Service2297 is expected to be nil2298 when project is the cluster's management project2299 returns the cluster with management project2300 when project has configured kubernetes from CI/CD > Clusters2301 returns the Kubernetes platform2302 with a group level kubernetes cluster2303 returns the Kubernetes platform from the project cluster2304 when group has configured kubernetes cluster2305 returns the Kubernetes platform2306 when project is the cluster's management project2307 returns the cluster with management project2308 when project is not the cluster's management project2309 returns the group cluster2310 when child group has configured kubernetes cluster2311 returns the Kubernetes platform for the child group2312 deeply nested group2313 returns most nested group cluster Kubernetes platform2314 cluster in the middle of hierarchy is disabled2315 returns closest enabled Kubenetes platform2316 when instance has configured kubernetes cluster2317 returns the Kubernetes platform2318Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces2319 #namespaces_for_paths2320 nested namespaces2321 includes the namespace2322 for child namespaces2323 only returns child namespaces with the correct path2324 has no namespaces that look the same2325 for top levelnamespaces2326 only returns child namespaces with the correct path2327 has no namespaces that just look the same2328 #move_repositories2329 moves a project for a namespace2330 moves a namespace in a subdirectory correctly2331 moves a parent namespace with subdirectories2332 #child_ids_for_parent2333 collects child ids for all levels2334 #rename_namespace2335 renames paths & routes for the namespace2336 tracks the rename2337 renames things related to the namespace2338 #rename_namespace_dependencies2339 moves the repository for a project in the namespace2340 moves the uploads for the namespace2341 moves the pages for the namespace2342 invalidates the markdown cache of related projects2343 doesn't rename users for other namespaces2344 renames the username of a namespace for a user2345 #rename_user2346 renames a username2347 #rename_namespaces2348 renames top level namespaces the namespace2349 renames child namespaces2350 #revert_renames2351 renames the routes back to the previous values2352 moves the repositories back to their original place2353 doesn't break when the namespace was renamed2354Database::BatchedBackgroundMigration::CiDatabaseWorker2355 behaves like it runs batched background migration jobs2356 defining the job attributes2357 defines the data_consistency as always2358 defines the feature_category as database2359 defines the idempotency as true2360 .tracking_database2361 does not raise an error2362 overrides the method to return the tracking database2363 .lease_key2364 does not raise an error2365 returns the lease key2366 .enabled?2367 returns true when execute_batched_migrations_on_schedule feature flag is enabled2368 returns false when execute_batched_migrations_on_schedule feature flag is disabled2369 #perform2370 when the base model does not exist2371 does nothing (PENDING: because the base model for ci exists)2372 logs a message indicating execution is skipped (PENDING: because the base model for ci exists)2373 when the base model does exist2374 when the tracking database is shared2375 does nothing (PENDING: Skipping because database ci exists)2376 when the tracking database is not shared2377 when the feature flag is disabled2378 does nothing2379 when the feature flag is enabled2380 when database config is shared2381 does nothing2382 when no active migrations exist2383 when parallel execution is disabled2384 does nothing2385 when parallel execution is enabled2386 does nothing2387 when active migrations exist2388 when parallel execution is disabled2389 always cleans up the exclusive lease2390 delegetes the execution to ExecutionWorker2391 when the calculated timeout is less than the minimum allowed2392 sets the lease timeout to the minimum value2393 when parallel execution is enabled2394 delegetes the execution to ExecutionWorker2395 executing an entire migration2396 when parallel execution is disabled2397 assigns proper feature category to the context and the worker2398 behaves like batched background migration execution2399 marks the migration record as finished2400 creates job records for each processed batch2401 marks all job records as succeeded2402 updates matching records in the range2403 does not update non-matching records in the range2404 health status2405 puts migration on hold when there is autovaccum activity on related tables2406 puts migration on hold when the pending WAL count is above the limit2407 when parallel execution is enabled2408 behaves like batched background migration execution2409 marks the migration record as finished2410 creates job records for each processed batch2411 marks all job records as succeeded2412 updates matching records in the range2413 does not update non-matching records in the range2414 health status2415 puts migration on hold when there is autovaccum activity on related tables2416 puts migration on hold when the pending WAL count is above the limit2417ProjectMember2418 associations2419 is expected to belong to project required: false2420 validations2421 is expected to allow :source_type to be ‹"Project"›2422 is expected not to allow :source_type to be ‹"Group"›2423 is expected to validate that :access_level is either ‹10›, ‹20›, ‹30›, or ‹40›2424 default values2425 is expected to eq "Project"2426 delegations2427 is expected to delegate #namespace_id to the #project object2428 .access_level_roles2429 returns Gitlab::Access.options2430 #permissible_access_level_roles2431 when member can manage owners2432 returns Gitlab::Access.options_with_owner2433 when member cannot manage owners2434 returns Gitlab::Access.options2435 #real_source_type2436 is expected to eq "Project"2437 #destroy2438 creates an expired event when left due to expiry2439 creates a left event when left due to leave2440 for an orphaned member2441 does not raise an error2442 #holder_of_the_personal_namespace?2443 personal_namespace_holder?: false, expected: false2444 returns expected2445 personal_namespace_holder?: true, expected: true2446 returns expected2447 .import_team2448 is expected to be truthy2449 project 2 should get user 1 as developer. user_2 should not be changed2450 is expected to include #<User id:1169 @user946>2451 is expected to include #<User id:1174 @user949>2452 is expected to be truthy2453 is expected to be truthy2454 project 1 should not be changed2455 is expected to include #<User id:1185 @user954>2456 is expected not to include #<User id:1190 @user957>2457 .truncate_teams2458 is expected to be empty2459 is expected to be empty2460 behaves like members notifications2461 #after_create2462 sends email to user2463 #after_update2464 calls NotificationService.update_project_member2465 does not send an email when the access level has not changed2466 #after_commit2467 on creation of a member requesting access2468 calls NotificationService.new_access_request2469 #accept_request2470 calls NotificationService.new_project_member2471 #accept_invite!2472 calls NotificationService.accept_project_invite2473 #decline_invite!2474 calls NotificationService.decline_project_invite2475 access levels2476 with parent group2477 behaves like inherited access level as a member of entity2478 with root parent_entity developer member2479 is allowed to be a maintainer of the entity2480 is not allowed to be a reporter of the entity2481 is allowed to change to be a developer of the entity2482 is not allowed to change to be a guest of the entity2483 shows an error if the member can't be updated2484 allows changing the level from a non existing member2485 with parent group and a subgroup2486 behaves like inherited access level as a member of entity2487 with root parent_entity developer member2488 is allowed to be a maintainer of the entity2489 is not allowed to be a reporter of the entity2490 is allowed to change to be a developer of the entity2491 is not allowed to change to be a guest of the entity2492 shows an error if the member can't be updated2493 allows changing the level from a non existing member2494 refreshing project_authorizations2495 when the source project of the project member is destroyed2496 refreshes the authorization of user to the project in the group2497 refreshes the authorization without calling AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker2498 when the user of the project member is destroyed2499 refreshes the authorization of user to the project in the group2500 refreshes the authorization without calling `AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker`2501 when importing2502 does not refresh2503 authorization refresh on addition/updation/deletion2504 on create2505 changes access level2506 behaves like calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline to recalculate authorizations2507 calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline2508 behaves like calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations2509 calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker2510 on update2511 changes access level2512 behaves like calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline to recalculate authorizations2513 calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline2514 behaves like calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations2515 calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker2516 on destroy2517 changes access level2518 behaves like calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline to recalculate authorizations2519 calls AuthorizedProjectUpdate::ProjectRecalculatePerUserWorker inline2520 behaves like calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations2521 calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker2522 #set_member_namespace_id2523 on create2524 sets the member_namespace_id2525Releases::GroupReleasesFinder2526 when parent is a group2527 without subgroups2528 behaves like preload2529 preloads associations2530 when preload is false2531 does not preload associations2532 behaves like when the user is not part of the group2533 returns no releases2534 when the user is a project guest on one sibling project2535 does not return any releases2536 when the user is a guest on the group2537 sorts by release date and id2538 with subgroups2539 with a single-level subgroup2540 behaves like when the user is not part of the group2541 returns no releases2542 when the user a project guest in the subgroup project2543 does not return any releases2544 when the user is a guest on the group2545 returns all releases2546 with a multi-level subgroup2547 behaves like when the user is not part of the group2548 returns no releases2549 when the user a project guest in the subgroup and subsubgroup project2550 does not return any releases2551 when the user a project guest in the subsubgroup project2552 does not return any releases2553 performance testing2554 behaves like avoids N+1 queries2555 with subgroups2556 subgroups avoids N+1 queries2557Ci::JobEntity2558 contains started2559 contains complete to indicate if a pipeline is completed2560 contains paths to job page action2561 does not contain sensitive information2562 contains whether it is playable2563 contains timestamps2564 contains details2565 contains queued_at2566 contains queued_duration2567 when job is retryable2568 contains cancel path2569 when job is cancelable2570 contains cancel path2571 when job is a regular job2572 does not contain path to play action2573 is not a playable build2574 when job is a manual action2575 when user is allowed to trigger action2576 contains path to play action2577 is a playable action2578 when user is not allowed to trigger action2579 does not contain path to play action2580 is not a playable action2581 when job is scheduled2582 contains path to unschedule action2583 contains scheduled_at2584 when job is running2585 contains started_at2586 when job is generic commit status2587 contains paths to target action2588 does not contain paths to other action paths2589 contains timestamps2590 contains details2591 when job failed2592 contains details2593 states that it failed2594 indicates the failure reason on tooltip2595 includes a callout message with a verbose output2596 states that it is not recoverable2597 when job is allowed to fail2598 contains details2599 states that it failed2600 indicates the failure reason on tooltip2601 includes a callout message with a verbose output2602 states that it is not recoverable2603 when the job failed with a script failure2604 does not include callout message or recoverable keys2605 when job failed and is recoverable2606 states it is recoverable2607 when job passed2608 does not include callout message or recoverable keys2609 when job is a bridge2610 does not include build path2611 does not include cancel path2612RuboCop::Cop::Migration::CreateTableWithForeignKeys2613 # order random2614 when in a migration2615 without foreign key2616 does not register any offenses2617 with foreign key2618 with just one foreign key2619 when the foreign_key targets a high traffic table2620 when the foreign_key has to_table option set2621 does not register any offenses2622 when the foreign_key does not have to_table option set2623 does not register any offenses2624 when the foreign_key does not target a high traffic table2625 does not register any offenses2626 with more than one foreign keys2627 when the foreign keys are defined as options2628 when there is no target to a high traffic table2629 does not register any offenses2630 behaves like target to high traffic table2631 when the target is defined as option2632 registers an offense2633 when the target has implicit definition2634 registers an offense2635 behaves like target to high traffic table2636 when the target is defined as option2637 registers an offense2638 when the target has implicit definition2639 registers an offense2640 behaves like target to high traffic table2641 when the target is defined as option2642 registers an offense2643 when the target has implicit definition2644 registers an offense2645 behaves like target to high traffic table2646 when the target is defined as option2647 registers an offense2648 when the target has implicit definition2649 registers an offense2650 behaves like target to high traffic table2651 when the target is defined as option2652 registers an offense2653 when the target has implicit definition2654 registers an offense2655 behaves like target to high traffic table2656 when the target is defined as option2657 registers an offense2658 when the target has implicit definition2659 registers an offense2660 behaves like target to high traffic table2661 when the target is defined as option2662 registers an offense2663 when the target has implicit definition2664 registers an offense2665 behaves like target to high traffic table2666 when the target is defined as option2667 registers an offense2668 when the target has implicit definition2669 registers an offense2670 behaves like target to high traffic table2671 when the target is defined as option2672 registers an offense2673 when the target has implicit definition2674 registers an offense2675 behaves like target to high traffic table2676 when the target is defined as option2677 registers an offense2678 when the target has implicit definition2679 registers an offense2680 behaves like target to high traffic table2681 when the target is defined as option2682 registers an offense2683 when the target has implicit definition2684 registers an offense2685 behaves like target to high traffic table2686 when the target is defined as option2687 registers an offense2688 when the target has implicit definition2689 registers an offense2690 behaves like target to high traffic table2691 when the target is defined as option2692 registers an offense2693 when the target has implicit definition2694 registers an offense2695 behaves like target to high traffic table2696 when the target is defined as option2697 registers an offense2698 when the target has implicit definition2699 registers an offense2700 behaves like target to high traffic table2701 when the target is defined as option2702 registers an offense2703 when the target has implicit definition2704 registers an offense2705 behaves like target to high traffic table2706 when the target is defined as option2707 registers an offense2708 when the target has implicit definition2709 registers an offense2710 behaves like target to high traffic table2711 when the target is defined as option2712 registers an offense2713 when the target has implicit definition2714 registers an offense2715 behaves like target to high traffic table2716 when the target is defined as option2717 registers an offense2718 when the target has implicit definition2719 registers an offense2720 behaves like target to high traffic table2721 when the target is defined as option2722 registers an offense2723 when the target has implicit definition2724 registers an offense2725 behaves like target to high traffic table2726 when the target is defined as option2727 registers an offense2728 when the target has implicit definition2729 registers an offense2730 behaves like target to high traffic table2731 when the target is defined as option2732 registers an offense2733 when the target has implicit definition2734 registers an offense2735 behaves like target to high traffic table2736 when the target is defined as option2737 registers an offense2738 when the target has implicit definition2739 registers an offense2740 behaves like target to high traffic table2741 when the target is defined as option2742 registers an offense2743 when the target has implicit definition2744 registers an offense2745 behaves like target to high traffic table2746 when the target is defined as option2747 registers an offense2748 when the target has implicit definition2749 registers an offense2750 behaves like target to high traffic table2751 when the target is defined as option2752 registers an offense2753 when the target has implicit definition2754 registers an offense2755 behaves like target to high traffic table2756 when the target is defined as option2757 registers an offense2758 when the target has implicit definition2759 registers an offense2760 behaves like target to high traffic table2761 when the target is defined as option2762 registers an offense2763 when the target has implicit definition2764 registers an offense2765 behaves like target to high traffic table2766 when the target is defined as option2767 registers an offense2768 when the target has implicit definition2769 registers an offense2770 behaves like target to high traffic table2771 when the target is defined as option2772 registers an offense2773 when the target has implicit definition2774 registers an offense2775 behaves like target to high traffic table2776 when the target is defined as option2777 registers an offense2778 when the target has implicit definition2779 registers an offense2780 behaves like target to high traffic table2781 when the target is defined as option2782 registers an offense2783 when the target has implicit definition2784 registers an offense2785 behaves like target to high traffic table2786 when the target is defined as option2787 registers an offense2788 when the target has implicit definition2789 registers an offense2790 when the foreign keys are defined by standlone migration helper2791 when there is no target to a high traffic table2792 does not register any offenses2793 behaves like target to high traffic table2794 when the target is defined as option2795 registers an offense2796 when the target has implicit definition2797 registers an offense2798 behaves like target to high traffic table2799 when the target is defined as option2800 registers an offense2801 when the target has implicit definition2802 registers an offense2803 behaves like target to high traffic table2804 when the target is defined as option2805 registers an offense2806 when the target has implicit definition2807 registers an offense2808 behaves like target to high traffic table2809 when the target is defined as option2810 registers an offense2811 when the target has implicit definition2812 registers an offense2813 behaves like target to high traffic table2814 when the target is defined as option2815 registers an offense2816 when the target has implicit definition2817 registers an offense2818 behaves like target to high traffic table2819 when the target is defined as option2820 registers an offense2821 when the target has implicit definition2822 registers an offense2823 behaves like target to high traffic table2824 when the target is defined as option2825 registers an offense2826 when the target has implicit definition2827 registers an offense2828 behaves like target to high traffic table2829 when the target is defined as option2830 registers an offense2831 when the target has implicit definition2832 registers an offense2833 behaves like target to high traffic table2834 when the target is defined as option2835 registers an offense2836 when the target has implicit definition2837 registers an offense2838 behaves like target to high traffic table2839 when the target is defined as option2840 registers an offense2841 when the target has implicit definition2842 registers an offense2843 behaves like target to high traffic table2844 when the target is defined as option2845 registers an offense2846 when the target has implicit definition2847 registers an offense2848 behaves like target to high traffic table2849 when the target is defined as option2850 registers an offense2851 when the target has implicit definition2852 registers an offense2853 behaves like target to high traffic table2854 when the target is defined as option2855 registers an offense2856 when the target has implicit definition2857 registers an offense2858 behaves like target to high traffic table2859 when the target is defined as option2860 registers an offense2861 when the target has implicit definition2862 registers an offense2863 behaves like target to high traffic table2864 when the target is defined as option2865 registers an offense2866 when the target has implicit definition2867 registers an offense2868 behaves like target to high traffic table2869 when the target is defined as option2870 registers an offense2871 when the target has implicit definition2872 registers an offense2873 behaves like target to high traffic table2874 when the target is defined as option2875 registers an offense2876 when the target has implicit definition2877 registers an offense2878 behaves like target to high traffic table2879 when the target is defined as option2880 registers an offense2881 when the target has implicit definition2882 registers an offense2883 behaves like target to high traffic table2884 when the target is defined as option2885 registers an offense2886 when the target has implicit definition2887 registers an offense2888 behaves like target to high traffic table2889 when the target is defined as option2890 registers an offense2891 when the target has implicit definition2892 registers an offense2893 behaves like target to high traffic table2894 when the target is defined as option2895 registers an offense2896 when the target has implicit definition2897 registers an offense2898 behaves like target to high traffic table2899 when the target is defined as option2900 registers an offense2901 when the target has implicit definition2902 registers an offense2903 behaves like target to high traffic table2904 when the target is defined as option2905 registers an offense2906 when the target has implicit definition2907 registers an offense2908 behaves like target to high traffic table2909 when the target is defined as option2910 registers an offense2911 when the target has implicit definition2912 registers an offense2913 behaves like target to high traffic table2914 when the target is defined as option2915 registers an offense2916 when the target has implicit definition2917 registers an offense2918 behaves like target to high traffic table2919 when the target is defined as option2920 registers an offense2921 when the target has implicit definition2922 registers an offense2923 behaves like target to high traffic table2924 when the target is defined as option2925 registers an offense2926 when the target has implicit definition2927 registers an offense2928 behaves like target to high traffic table2929 when the target is defined as option2930 registers an offense2931 when the target has implicit definition2932 registers an offense2933 behaves like target to high traffic table2934 when the target is defined as option2935 registers an offense2936 when the target has implicit definition2937 registers an offense2938 behaves like target to high traffic table2939 when the target is defined as option2940 registers an offense2941 when the target has implicit definition2942 registers an offense2943 behaves like target to high traffic table2944 when the target is defined as option2945 registers an offense2946 when the target has implicit definition2947 registers an offense2948 behaves like target to high traffic table2949 when the target is defined as option2950 registers an offense2951 when the target has implicit definition2952 registers an offense2953 outside of a migration2954 does not register any offenses2955Projects::UpdateRepositoryStorageService2956 #execute2957 without wiki and design repository2958 when the move succeeds2959 moves the repository to the new storage and unmarks the repository as read-only2960 when the filesystems are the same2961 updates the database without trying to move the repostory2962 when the move fails2963 unmarks the repository as read-only without updating the repository storage2964 when the cleanup fails2965 sets the correct state2966 when the checksum does not match2967 unmarks the repository as read-only without updating the repository storage2968 when a object pool was joined2969 leaves the pool2970 when the repository move is finished2971 is idempotent2972 when the repository move is failed2973 is idempotent2974 project with no repositories2975 updates the database2976 with wiki repository2977 when the move succeeds2978 moves the project and its wiki repository to the new storage and unmarks the repository as read-only2979 when the filesystems are the same2980 updates the database without trying to move the repostory2981 when the move of the wiki repository fails2982 unmarks the repository as read-only without updating the repository storage2983 when the cleanup of the wiki repository fails2984 sets the correct state2985 when the checksum of the wiki repository does not match2986 unmarks the repository as read-only without updating the repository storage2987 with design repository2988 when the move succeeds2989 moves the project and its design repository to the new storage and unmarks the repository as read-only2990 when the filesystems are the same2991 updates the database without trying to move the repostory2992 when the move of the design repository fails2993 unmarks the repository as read-only without updating the repository storage2994 when the cleanup of the design repository fails2995 sets the correct state2996 when the checksum of the design repository does not match2997 unmarks the repository as read-only without updating the repository storage2998Gitlab::FileTypeDetection2999 .extension_match?3000 returns false when filename is blank3001 returns true when filename matches extensions3002 returns false when filename does not match extensions3003 can match case insensitive filenames3004 can match filenames with periods3005 can match filenames with directories3006 when class is an uploader3007 #image?3008 returns true for an image file3009 returns false if filename has a dangerous image extension3010 returns false for a video file3011 returns false for an audio file3012 returns false if filename is blank3013 #video?3014 returns true for a video file3015 returns false for an image file3016 returns false for an audio file3017 returns false if file has a dangerous image extension3018 returns false if filename is blank3019 #audio?3020 returns true for an audio file3021 returns false for an image file3022 returns false for a video file3023 returns false if file has a dangerous image extension3024 returns false if filename is blank3025 #embeddable?3026 returns true for an image file3027 returns true for a video file3028 returns true for an audio file3029 returns false if not an embeddable file3030 returns false if filename has a dangerous image extension3031 returns false if filename is blank3032 #image_safe_for_scaling?3033 returns true for allowed image formats3034 returns false for other files3035 #dangerous_image?3036 returns true if filename has a dangerous extension3037 returns false for an image file3038 returns false for a video file3039 returns false for an audio file3040 returns false if filename is blank3041 #dangerous_video?3042 returns false for a safe video file3043 returns false if filename is a dangerous image extension3044 returns false for an image file3045 returns false for an audio file3046 returns false if filename is blank3047 #dangerous_audio?3048 returns false for a safe audio file3049 returns false if filename is a dangerous image extension3050 returns false for an image file3051 returns false for an video file3052 returns false if filename is blank3053 #dangerous_embeddable?3054 returns true if filename has a dangerous image extension3055 returns false for an image file3056 returns false for a video file3057 returns false for an audio file3058 returns false for a non-embeddable file3059 returns false if filename is blank3060 when class is a regular class3061 #image?3062 returns true for an image file3063 returns false if file has a dangerous image extension3064 returns false for a video file3065 returns false for an audio file3066 returns false if filename is blank3067 #image_safe_for_scaling?3068 returns false if filename is blank3069 filename: "img.jpg", expectation: true3070 returns expected result3071 filename: "img.jpeg", expectation: true3072 returns expected result3073 filename: "img.png", expectation: true3074 returns expected result3075 filename: "img.svg", expectation: false3076 returns expected result3077 #video?3078 returns true for a video file3079 returns false for an image file3080 returns false for an audio file3081 returns false if file has a dangerous image extension3082 returns false if filename is blank3083 #audio?3084 returns true for an audio file3085 returns false for an image file3086 returns false for a video file3087 returns false if file has a dangerous image extension3088 returns false if filename is blank3089 #embeddable?3090 returns true for an image file3091 returns true for a video file3092 returns true for an audio file3093 returns false if not an embeddable file3094 returns false if filename has a dangerous image extension3095 returns false if filename is blank3096 #dangerous_image?3097 returns true if file has a dangerous image extension3098 returns false for an image file3099 returns false for a video file3100 returns false for an audio file3101 returns false if filename is blank3102 #dangerous_video?3103 returns false for a safe video file3104 returns false for an image file3105 returns false for an audio file3106 returns false if file has a dangerous image extension3107 returns false if filename is blank3108 #dangerous_audio?3109 returns false for a safe audio file3110 returns false for an image file3111 returns false for a video file3112 returns false if file has a dangerous image extension3113 returns false if filename is blank3114 #dangerous_embeddable?3115 returns true if file has a dangerous image extension3116 returns false for an image file3117 returns false for a video file3118 returns false for an audio file3119 returns false for a non-embeddable file3120 returns false if filename is blank3121WorkItems::UpdateService3122 #execute3123 when title is changed3124 triggers issuable_title_updated graphql subscription3125 behaves like issue_edit snowplow tracking3126 behaves like Snowplow event tracking with RedisHLL context3127 behaves like Snowplow event tracking3128 is emitted3129 when title is not changed3130 does not trigger issuable_title_updated graphql subscription3131 does not emit Snowplow event3132 when dates are changed3133 tracks users updating work item dates3134 when decription is changed3135 triggers GraphQL description updated subscription3136 when decription is not changed3137 does not trigger GraphQL description updated subscription3138 when updating state_event3139 when state_event is close3140 closes the work item3141 when state_event is reopen3142 reopens the work item3143 behaves like work item widgetable service3144 executes callbacks for expected widgets3145 when updating widgets3146 when widget service is not present3147 ignores widget param3148 when the widget does not support update callback3149 ignores widget param3150 for the description widget3151 updates the description of the work item3152 with mentions3153 when description contains a user mention3154 behaves like creates the todo and sends email3155 creates a todo and sends email3156 when title contains a user mention3157 behaves like creates the todo and sends email3158 creates a todo and sends email3159 when work item validation fails3160 returns validation errors3161 does not execute after-update widgets3162 for start and due date widget3163 when due_date is updated3164 behaves like update service that triggers graphql dates updated subscription3165 triggers graphql subscription issueableDatesUpdated3166 when start_date is updated3167 behaves like update service that triggers graphql dates updated subscription3168 triggers graphql subscription issueableDatesUpdated3169 when no date param is updated3170 does not trigger date updated subscription3171 for the hierarchy widget3172 updates the children of the work item3173 when child type is invalid3174 returns error status3175 does not update work item attributes3176 when work item validation fails3177 returns validation errors3178 does not execute after-update widgets3179 for milestone widget3180 when milestone is updated3181 triggers 'issuableMilestoneUpdated'3182 when milestone remains unchanged3183 does not trigger 'issuableMilestoneUpdated'3184 label updates3185 when labels are changed3186 tracks users updating work item labels3187 behaves like broadcasting issuable labels updates3188 when label is added3189 triggers the GraphQL subscription3190 when label is removed3191 triggers the GraphQL subscription3192 when label is unchanged3193 does not trigger the GraphQL subscription3194 when labels are not changed3195 when labels param is not provided3196 behaves like work item update that does not track label updates3197 does not track users updating work item labels3198 when labels param is provided but labels remain unchanged3199 behaves like work item update that does not track label updates3200 does not track users updating work item labels3201 when labels param is provided invalid values3202 behaves like work item update that does not track label updates3203 does not track users updating work item labels3204Banzai::Pipeline::WikiPipeline3205 TableOfContents3206 replaces the tag with the TableOfContentsFilter result3207 is not case-sensitive3208 works with alternative [toc] tag3209 handles an empty pipeline result3210 Links3211 when GitLab is hosted at a root URL3212 linking to pages within the wiki3213 when creating hierarchical links to the current directory3214 rewrites non-file links to be at the scope of the current directory3215 rewrites file links to be at the scope of the current directory3216 when creating hierarchical links to the parent directory3217 rewrites non-file links to be at the scope of the parent directory3218 rewrites file links to be at the scope of the parent directory3219 when creating hierarchical links to a sub-directory3220 rewrites non-file links to be at the scope of the sub-directory3221 rewrites file links to be at the scope of the sub-directory3222 when creating non-hierarchical links3223 rewrites non-file links to be at the scope of the wiki root3224 rewrites non-file links (with spaces) to be at the scope of the wiki root3225 rewrites file links to be at the scope of the current directory3226 rewrites links with anchor3227 rewrites links (with spaces) with anchor3228 when creating root links3229 rewrites non-file links to be at the scope of the wiki root3230 rewrites file links to be at the scope of the wiki root3231 linking to pages outside the wiki (absolute)3232 doesn't rewrite links3233 when GitLab is hosted at a relative URL3234 linking to pages within the wiki3235 when creating hierarchical links to the current directory3236 rewrites non-file links to be at the scope of the current directory3237 rewrites file links to be at the scope of the current directory3238 when creating hierarchical links to the parent directory3239 rewrites non-file links to be at the scope of the parent directory3240 rewrites file links to be at the scope of the parent directory3241 when creating hierarchical links to a sub-directory3242 rewrites non-file links to be at the scope of the sub-directory3243 rewrites file links to be at the scope of the sub-directory3244 when creating non-hierarchical links3245 rewrites non-file links to be at the scope of the wiki root3246 rewrites non-file links (with spaces) to be at the scope of the wiki root3247 rewrites file links to be at the scope of the current directory3248 rewrites links with anchor3249 rewrites links (with spaces) with anchor3250 when creating root links3251 rewrites non-file links to be at the scope of the wiki root3252 rewrites file links to be at the scope of the wiki root3253 linking to pages outside the wiki (absolute)3254 doesn't rewrite links3255 checking slug validity when assembling links3256 with a valid slug3257 includes the slug in a (.) relative link3258 includeds the slug in a (..) relative link3259 when the slug is deemed unsafe or invalid3260 with the invalid slug javascript:3261 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3262 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3263 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3264 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3265 with the invalid slug JaVaScRiPt:3266 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3267 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3268 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3269 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3270 with the invalid slug javascript:3271 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3272 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3273 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3274 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3275 with the invalid slug javascript :3276 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3277 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3278 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3279 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3280 with the invalid slug javascript:3281 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3282 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3283 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3284 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3285 with the invalid slug javascript :3286 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3287 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3288 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3289 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3290 with the invalid slug :javascript:3291 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3292 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3293 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3294 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3295 with the invalid slug javascript:3296 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3297 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3298 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3299 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3300 with the invalid slug javascript:3301 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3302 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3303 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3304 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3305 with the invalid slug javascript:3306 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3307 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3308 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3309 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3310 with the invalid slug javascript:3311 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3312 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3313 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3314 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3315 with the invalid slug javascript:3316 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3317 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3318 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3319 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3320 with the invalid slug  javascript:3321 doesn't include a prohibited slug in a (.) relative link 'alert(1);'3322 doesn't include a prohibited slug in a (..) relative link 'alert(1);'3323 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'3324 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'3325 videos and audio3326 generates video html structure3327 rewrites and replaces video links names with white spaces to %203328 generates audio html structure3329 rewrites and replaces audio links names with white spaces to %203330 gollum tag filters3331 when local image file exists3332 sets the proper attributes for the image3333AlertManagement::CreateAlertIssueService3334 #execute3335 when a user is allowed to create an issue3336 checks permissions3337 with alert severity3338 alert_severity: "critical", incident_severity: "critical"3339 sets the correct severity level3340 alert_severity: "high", incident_severity: "high"3341 sets the correct severity level3342 alert_severity: "medium", incident_severity: "medium"3343 sets the correct severity level3344 alert_severity: "low", incident_severity: "low"3345 sets the correct severity level3346 alert_severity: "info", incident_severity: "unknown"3347 sets the correct severity level3348 alert_severity: "unknown", incident_severity: "unknown"3349 sets the correct severity level3350 when the alert is prometheus alert3351 behaves like creating an alert issue3352 creates an issue3353 returns a created issue3354 has a successful status3355 sets alert.issue_id in the same ActiveRecord query execution3356 creates a system note3357 behaves like setting an issue attributes3358 sets issue author to the current user3359 sets the issue title3360 sets the issue description3361 when the alert is generic3362 behaves like creating an alert issue3363 creates an issue3364 returns a created issue3365 has a successful status3366 sets alert.issue_id in the same ActiveRecord query execution3367 creates a system note3368 behaves like setting an issue attributes3369 sets issue author to the current user3370 sets the issue title3371 sets the issue description3372 when alert title matches the default title exactly3373 updates issue title with the IID3374 when the alert title contains the default title3375 does not change issue title3376 when issue cannot be created3377 has an unsuccessful status3378 when alert cannot be updated3379 responds with error3380 when alert already has an attached issue3381 does not create yet another issue3382 responds with error3383 when a user is not allowed to create an issue3384 checks permissions3385 responds with error3386Gitlab::PathRegex3387 TOP_LEVEL_ROUTES3388 includes all the top level namespaces3389 does not allow expansion3390 GROUP_ROUTES3391 don't contain a second wildcard3392 does not allow expansion3393 PROJECT_WILDCARD_ROUTES3394 includes all paths that can be used after a namespace/project path3395 does not allow expansion3396 .root_namespace_route_regex3397 rejects top level routes3398 accepts project wildcard routes3399 accepts group routes3400 is not case sensitive3401 does not allow extra slashes3402 .full_namespace_path_regex3403 is not case sensitive3404 does not allow extra slashes3405 at the top level3406 when the final level3407 rejects top level routes3408 accepts project wildcard routes3409 accepts group routes3410 when more levels follow3411 rejects top level routes3412 accepts project wildcard routes3413 accepts group routes3414 at the second level3415 when the final level3416 accepts top level routes3417 rejects project wildcard routes3418 rejects group routes3419 when more levels follow3420 accepts top level routes3421 rejects project wildcard routes3422 rejects group routes3423 .project_route_regex3424 accepts top level routes3425 rejects project wildcard routes3426 accepts group routes3427 is not case sensitive3428 does not allow extra slashes3429 .full_project_path_regex3430 accepts top level routes3431 rejects project wildcard routes3432 accepts group routes3433 is not case sensitive3434 does not allow extra slashes3435 .namespace_format_regex3436 is expected to match "gitlab-ce"3437 is expected to match "gitlab_git"3438 is expected to match "_underscore.js"3439 is expected to match "100px.com"3440 is expected to match "gitlab.org"3441 is expected not to match "?gitlab"3442 is expected not to match "git lab"3443 is expected not to match "gitlab.git"3444 is expected not to match "gitlab.org."3445 is expected not to match "gitlab.org/"3446 is expected not to match "/gitlab.org"3447 is expected not to match "gitlab git"3448 is expected not to match "gitlab?"3449 is expected to match "gitlab.org-"3450 is expected to match "gitlab.org_"3451 .project_path_format_regex3452 is expected to match "gitlab-ce"3453 is expected to match "gitlab_git"3454 is expected to match "_underscore.js"3455 is expected to match "100px.com"3456 is expected not to match "?gitlab"3457 is expected not to match "git lab"3458 is expected not to match "gitlab.git"3459 is expected not to match "gitlab?"3460 is expected not to match "gitlab git"3461 is expected to match "gitlab.org"3462 is expected to match "gitlab.org-"3463 is expected to match "gitlab.org_"3464 is expected to match "gitlab.org."3465 is expected not to match "gitlab.org/"3466 is expected not to match "/gitlab.org"3467 repository routes3468 .repository_route_regex3469 matches the expected paths3470 .repository_git_route_regex3471 matches the expected paths3472 .repository_git_lfs_route_regex3473 matches the expected paths3474 .repository_wiki_git_route_regex3475 matches the expected paths3476 is expected not to match "snippets/1.wiki.git"3477 .full_snippets_repository_path_regex3478 matches the expected paths3479 is expected not to match "root/snippets/1"3480 is expected not to match "gitlab-org/gitlab-test/snippets/foo"3481 .container_image_regex3482 is expected to match "gitlab-foss"3483 is expected to match "gitlab_foss"3484 is expected to match "gitlab-org/gitlab-foss"3485 is expected to match "a/b/c/d/e"3486 is expected to match "100px.com/100px.ruby"3487 does not match beyond 4 slashes3488 does not match other non-word characters3489 .container_image_blob_sha_regex3490 is expected to match "sha256:asdf1234567890ASDF"3491 is expected to match "foo:123"3492 is expected to match "a12bc3f590szp"3493 is expected not to match ""3494 does not match malicious characters3495 .dependency_proxy_route_regex3496 is expected to match "/v2/group1/dependency_proxy/containers/alpine/manifests/latest"3497 is expected to match "/v2/group1/dependency_proxy/containers/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"3498 is expected not to match ""3499 is expected not to match "/v3/group1/dependency_proxy/containers/alpine/manifests/latest"3500 is expected not to match "/v2/group1/dependency_proxy/container/alpine/manifests/latest"3501 is expected not to match "/v2/group1/dependency_prox/containers/alpine/manifests/latest"3502 is expected not to match "/v2/group1/dependency_proxy/containers/alpine/manifest/latest"3503 is expected not to match "/v2/group1/dependency_proxy/containers/alpine/manifest/la%2Ftest"3504 is expected not to match "/v2/group1/dependency_proxy/containers/alpine/manifest/latest/../one"3505 is expected not to match "/v3/group1/dependency_proxy/containers/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"3506 is expected not to match "/v2/group1/dependency_proxy/container/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"3507 is expected not to match "/v2/group1/dependency_prox/containers/alpine/blobs/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"3508 is expected not to match "/v2/group1/dependency_proxy/containers/alpine/blob/sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab"3509 is expected not to match "/v2/group1/dependency_proxy/containers/alpine/blob/sha256:F14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab/../latest"3510 is expected not to match "/v2/group1/dependency_proxy/containers/alpine/blob/sha256:F14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab/latest"3511Operations::FeatureFlags::UserList3512 validations3513 is expected to validate that :project cannot be empty/falsy3514 is expected to validate that :name cannot be empty/falsy3515 is expected to validate that :name is case-sensitively unique within the scope of :project_id3516 is expected to validate that the length of :name is between 1 and 2553517 user_xids3518 valid_value: ""3519 is valid with a string of comma separated values3520 valid_value: "sam"3521 is valid with a string of comma separated values3522 valid_value: "1"3523 is valid with a string of comma separated values3524 valid_value: "a"3525 is valid with a string of comma separated values3526 valid_value: "uuid-of-some-kind"3527 is valid with a string of comma separated values3528 valid_value: "sam,fred,tom,jane,joe,mike"3529 is valid with a string of comma separated values3530 valid_value: "gitlab@example.com"3531 is valid with a string of comma separated values3532 valid_value: "123,4"3533 is valid with a string of comma separated values3534 valid_value: "UPPER,Case,charActeRS"3535 is valid with a string of comma separated values3536 valid_value: "0"3537 is valid with a string of comma separated values3538 valid_value: "$valid$email#2345\#$%..{}+=-)?\\/@example.com"3539 is valid with a string of comma separated values3540 valid_value: "spaces allowed"3541 is valid with a string of comma separated values3542 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"3543 is valid with a string of comma separated values3544 valid_value: "a,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,ccc"3545 is valid with a string of comma separated values3546 valid_value: "many spaces"3547 is valid with a string of comma separated values3548 typecast_value: 13549 automatically casts values of other types3550 typecast_value: 2.53551 automatically casts values of other types3552 typecast_value: {}3553 automatically casts values of other types3554 typecast_value: []3555 automatically casts values of other types3556 invalid_value: nil3557 is invalid3558 invalid_value: "123\n456"3559 is invalid3560 invalid_value: "1,2,3,12\t3"3561 is invalid3562 invalid_value: "\n"3563 is invalid3564 invalid_value: "\n\r"3565 is invalid3566 invalid_value: "joe\r,sam"3567 is invalid3568 invalid_value: "1,2,2"3569 is invalid3570 invalid_value: "1,,2"3571 is invalid3572 invalid_value: "1,2,,,,"3573 is invalid3574 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"3575 is invalid3576 invalid_value: "1, ,2"3577 is invalid3578 invalid_value: "tim, ,7"3579 is invalid3580 invalid_value: " "3581 is invalid3582 invalid_value: " "3583 is invalid3584 invalid_value: " ,1"3585 is invalid3586 invalid_value: "1, "3587 is invalid3588 invalid_value: " leading,1"3589 is invalid3590 invalid_value: "1,trailing "3591 is invalid3592 invalid_value: "1, both ,2"3593 is invalid3594 url_helpers3595 generates paths based on the internal id3596 #destroy3597 deletes the model if it is not associated with any feature flag strategies3598 does not delete the model if it is associated with a feature flag strategy3599 .for_name_like3600 returns a found name3601 returns an empty array when no lists match the query3602 behaves like AtomicInternalId3603 .has_internal_id3604 Module inclusion3605 is expected to includes the AtomicInternalId module3606 Validation3607 when presence validation is required3608 when creating an object3609 raises an error if the internal id is blank3610 when updating an object3611 raises an error if the internal id is blank3612 when presence validation is not required3613 when creating an object3614 does not raise an error if the internal id is blank (PENDING: No reason given)3615 when updating an object3616 does not raise an error if the internal id is blank (PENDING: No reason given)3617 Creating an instance3618 saves a new instance properly3619 internal id generation3620 calls InternalId.generate_next and sets internal id attribute3621 does not overwrite an existing internal id3622 when the instance has an internal ID set3623 calls InternalId.update_last_value and sets the `last_value` to that of the instance3624 unsetting the instance internal id on rollback3625 when the internal id has been changed3626 when the internal id is automatically set3627 clears it on the instance3628 when the internal id is manually set3629 does not clear it on the instance3630 when the internal id has not been changed3631 preserves the value on the instance3632 supply of internal ids3633 provides a persistent supply of IID values, sensitive to the current state3634 #reset_scope_internal_id_attribute3635 rewinds the allocated IID3636 allocates the same IID3637Members::CreateService3638 when the current user does not have permission to create members3639 raises a Gitlab::Access::AccessDeniedError3640 when a project maintainer attempts to add owners3641 raises a Gitlab::Access::AccessDeniedError3642 when passing an invalid source3643 raises a RuntimeError3644 when passing valid parameters3645 adds a user to members3646 when user_id is passed as an integer3647 successfully creates member3648 with user_id as an array of integers3649 successfully creates members3650 with user_id as an array of strings3651 successfully creates members3652 when executing on a group3653 adds a user to members3654 triggers a members added event3655 when only one user fails validations3656 triggers the members added event3657 when all users fail validations3658 does not trigger the members added event3659 when passing no user ids3660 does not add a member3661 when passing many user ids3662 limits the number of users to 1003663 when passing an invalid access level3664 does not add a member3665 when passing an existing invite user id3666 allows already invited members to be re-invited by email and updates the member access3667 when adding a project_bot3668 when project_bot is already a member3669 does not update the member3670 when project_bot is not already a member3671 adds the member3672 when tracking the invite source3673 when invite_source is not passed3674 raises an error3675 when invite_source is passed3676 tracks the invite source from params3677 with an already existing member3678 tracks the invite source from params3679 when it is a net_new_user3680 tracks the invite source from params3681 when assigning tasks to be done3682 creates 2 task issues3683 when it is an invite by email passed to user_id3684 does not create task issues3685 when passing many user ids3686 still creates 2 task issues3687 when a `tasks_project_id` is missing3688 does not create task issues3689 when `tasks_to_be_done` are missing3690 does not create task issues3691 when invalid `tasks_to_be_done` are passed3692 does not create task issues3693 when invalid `tasks_project_id` is passed3694 does not create task issues3695 when a member was already invited3696 does not create task issues3697Ci::PipelineArtifact3698 associations3699 is expected to belong to pipeline required: false3700 is expected to belong to project required: false3701 behaves like having unique enum values3702 has unique values in "file_format"3703 has unique values in "locked"3704 has unique values in "file_type"3705 behaves like UpdateProjectStatistics3706 is expected to be a new record3707 validations3708 is expected to validate that :pipeline cannot be empty/falsy3709 is expected to validate that :project cannot be empty/falsy3710 is expected to validate that :file_type cannot be empty/falsy3711 is expected to validate that :file_format cannot be empty/falsy3712 is expected to validate that :size cannot be empty/falsy3713 is expected to validate that :file cannot be empty/falsy3714 when attributes are valid3715 returns no errors3716 when file_store is invalid3717 returns errors3718 when size is over 10 megabytes3719 returns errors3720 scopes3721 .unlocked3722 when pipeline is locked3723 returns an empty collection3724 when pipeline is unlocked3725 returns unlocked artifacts3726 file is being stored3727 when existing object has local store3728 behaves like mounted file in local store3729 is stored locally3730 when direct upload is enabled3731 when file is stored3732 behaves like mounted file in object store3733 is stored remotely3734 when file contains multi-byte characters3735 sets the size in bytesize3736 .report_exists?3737 when file_type is code_coverage3738 when pipeline artifact has a coverage report3739 returns true3740 when pipeline artifact does not have a coverage report3741 returns false3742 when file_type is code_quality_mr_diff3743 when pipeline artifact has a codequality mr diff report3744 returns true3745 when pipeline artifact does not have a codequality mr diff report3746 returns false3747 when file_type is nil3748 returns false3749 .find_by_file_type3750 when file_type is code_coverage3751 when pipeline artifact has a coverage report3752 returns a pipeline artifact with a coverage report3753 when pipeline artifact does not have a coverage report3754 returns nil3755 when file_type is code_quality_mr_diff3756 when pipeline artifact has a quality report3757 returns a pipeline artifact with a quality report3758 when pipeline artifact does not have a quality report3759 returns nil3760 when file_type is nil3761 returns nil3762 .create_or_replace_for_pipeline!3763 when there is no existing record3764 creates a new pipeline artifact for the given parameters3765 creates a new pipeline artifact with pipeline's locked state3766 when there are existing records with different types3767 replaces the existing pipeline artifact record with the given file type3768 when ActiveRecordError is raised3769 tracks and raise the exception3770 #present3771 when file_type is code_coverage3772 uses code coverage presenter3773 when file_type is code_quality_mr_diff3774 uses code codequality mr diff presenter3775 loose foreign key on ci_pipeline_artifacts.project_id3776 behaves like cleanup by a loose foreign key3777 cleans up (delete or nullify) the model3778Gitlab::Ci::Pipeline::Chain::Validate::External3779 #perform!3780 respects the defined payload schema3781 with configuration values in ApplicationSetting3782 uses those values rather than env vars or defaults3783 with EXTERNAL_VALIDATION_SERVICE_TIMEOUT defined3784 with valid value3785 uses defined timeout3786 with invalid value3787 uses default timeout3788 when EXTERNAL_VALIDATION_SERVICE_TOKEN is set3789 passes token in X-Gitlab-Token header3790 when validation returns 200 OK3791 behaves like successful external authorization3792 does not drop the pipeline3793 does not break the chain3794 logs the authorization3795 returns expected payload3796 with existing jobs from other project's alive pipelines3797 returns the expected total_builds_count3798 credit_card3799 with no registered credit_card3800 returns the expected credit card counts3801 with a registered credit card3802 returns the expected credit card counts3803 with similar credit cards registered by other users3804 returns the expected credit card counts3805 with similar holder names registered by other users3806 returns the expected credit card counts3807 when validation returns 404 Not Found3808 behaves like successful external authorization3809 does not drop the pipeline3810 does not break the chain3811 logs the authorization3812 returns expected payload3813 with existing jobs from other project's alive pipelines3814 returns the expected total_builds_count3815 credit_card3816 with no registered credit_card3817 returns the expected credit card counts3818 with a registered credit card3819 returns the expected credit card counts3820 with similar credit cards registered by other users3821 returns the expected credit card counts3822 with similar holder names registered by other users3823 returns the expected credit card counts3824 when validation returns 500 Internal Server Error3825 behaves like successful external authorization3826 does not drop the pipeline3827 does not break the chain3828 logs the authorization3829 returns expected payload3830 with existing jobs from other project's alive pipelines3831 returns the expected total_builds_count3832 credit_card3833 with no registered credit_card3834 returns the expected credit card counts3835 with a registered credit card3836 returns the expected credit card counts3837 with similar credit cards registered by other users3838 returns the expected credit card counts3839 with similar holder names registered by other users3840 returns the expected credit card counts3841 when validation raises exceptions3842 logs exceptions3843 behaves like successful external authorization3844 does not drop the pipeline3845 does not break the chain3846 logs the authorization3847 returns expected payload3848 with existing jobs from other project's alive pipelines3849 returns the expected total_builds_count3850 credit_card3851 with no registered credit_card3852 returns the expected credit card counts3853 with a registered credit card3854 returns the expected credit card counts3855 with similar credit cards registered by other users3856 returns the expected credit card counts3857 with similar holder names registered by other users3858 returns the expected credit card counts3859 when validation returns 406 Not Acceptable3860 drops the pipeline3861 breaks the chain3862 logs the authorization3863 when save_incompleted is false3864 adds errors to the pipeline without dropping it3865 breaks the chain3866 logs the authorization3867Groups::CreateService#execute3868 visibility level restrictions3869 create groups without restricted visibility level3870 is expected to be persisted3871 cannot create group with restricted visibility level3872 is expected not to be persisted3873 when `setup_for_company:true` is passed3874 creates group with the specified setup_for_company3875 creating a group with `default_branch_protection` attribute3876 for users who have the ability to create a group with `default_branch_protection`3877 creates group with the specified branch protection level3878 for users who do not have the ability to create a group with `default_branch_protection`3879 does not create the group with the specified branch protection level3880 creating a group with `allow_mfa_for_subgroups` attribute3881 creates group without error3882 creating a top level group3883 when user can create a group3884 is expected to be persisted3885 with before_commit callback3886 behaves like has sync-ed traversal_ids3887 is expected to eq [2341]3888 when user can not create a group3889 is expected not to be persisted3890 creating subgroup3891 as group owner3892 is expected to be persisted3893 behaves like has sync-ed traversal_ids3894 is expected to eq [2347, 2348]3895 as guest3896 does not save group and returns an error3897 as owner3898 is expected to be persisted3899 as maintainer3900 is expected to be persisted3901 when visibility level is passed as a string3902 assigns the correct visibility level3903 creating a mattermost team3904 create the chat team with the group3905 creating a setting record3906 create the settings record connected to the group3907 creating a details record3908 create the details record connected to the group3909 create service for the group3910 with an active instance-level integration3911 creates a service from the instance-level integration3912 with an active group-level integration3913 creates a service from the group-level integration3914 with an active subgroup3915 creates a service from the subgroup-level integration3916 shared runners configuration3917 parent group present3918 shared_runners_config: true, descendants_override_disabled_shared_runners_config: false3919 creates group following the parent config3920 shared_runners_config: false, descendants_override_disabled_shared_runners_config: false3921 creates group following the parent config3922 shared_runners_config: false, descendants_override_disabled_shared_runners_config: true3923 creates group following the parent config3924 root group3925 follows default config3926DevOpsReport::Metric3927 validations3928 is expected to validate that :leader_issues cannot be empty/falsy3929 is expected to validate that :leader_issues looks like a number greater than or equal to 03930 is expected to validate that :instance_issues cannot be empty/falsy3931 is expected to validate that :instance_issues looks like a number greater than or equal to 03932 is expected to validate that :percentage_issues cannot be empty/falsy3933 is expected to validate that :percentage_issues looks like a number greater than or equal to 03934 is expected to validate that :leader_notes cannot be empty/falsy3935 is expected to validate that :leader_notes looks like a number greater than or equal to 03936 is expected to validate that :instance_notes cannot be empty/falsy3937 is expected to validate that :instance_notes looks like a number greater than or equal to 03938 is expected to validate that :percentage_notes cannot be empty/falsy3939 is expected to validate that :percentage_notes looks like a number greater than or equal to 03940 is expected to validate that :leader_milestones cannot be empty/falsy3941 is expected to validate that :leader_milestones looks like a number greater than or equal to 03942 is expected to validate that :instance_milestones cannot be empty/falsy3943 is expected to validate that :instance_milestones looks like a number greater than or equal to 03944 is expected to validate that :percentage_milestones cannot be empty/falsy3945 is expected to validate that :percentage_milestones looks like a number greater than or equal to 03946 is expected to validate that :leader_boards cannot be empty/falsy3947 is expected to validate that :leader_boards looks like a number greater than or equal to 03948 is expected to validate that :instance_boards cannot be empty/falsy3949 is expected to validate that :instance_boards looks like a number greater than or equal to 03950 is expected to validate that :percentage_boards cannot be empty/falsy3951 is expected to validate that :percentage_boards looks like a number greater than or equal to 03952 is expected to validate that :leader_merge_requests cannot be empty/falsy3953 is expected to validate that :leader_merge_requests looks like a number greater than or equal to 03954 is expected to validate that :instance_merge_requests cannot be empty/falsy3955 is expected to validate that :instance_merge_requests looks like a number greater than or equal to 03956 is expected to validate that :percentage_merge_requests cannot be empty/falsy3957 is expected to validate that :percentage_merge_requests looks like a number greater than or equal to 03958 is expected to validate that :leader_ci_pipelines cannot be empty/falsy3959 is expected to validate that :leader_ci_pipelines looks like a number greater than or equal to 03960 is expected to validate that :instance_ci_pipelines cannot be empty/falsy3961 is expected to validate that :instance_ci_pipelines looks like a number greater than or equal to 03962 is expected to validate that :percentage_ci_pipelines cannot be empty/falsy3963 is expected to validate that :percentage_ci_pipelines looks like a number greater than or equal to 03964 is expected to validate that :leader_environments cannot be empty/falsy3965 is expected to validate that :leader_environments looks like a number greater than or equal to 03966 is expected to validate that :instance_environments cannot be empty/falsy3967 is expected to validate that :instance_environments looks like a number greater than or equal to 03968 is expected to validate that :percentage_environments cannot be empty/falsy3969 is expected to validate that :percentage_environments looks like a number greater than or equal to 03970 is expected to validate that :leader_deployments cannot be empty/falsy3971 is expected to validate that :leader_deployments looks like a number greater than or equal to 03972 is expected to validate that :instance_deployments cannot be empty/falsy3973 is expected to validate that :instance_deployments looks like a number greater than or equal to 03974 is expected to validate that :percentage_deployments cannot be empty/falsy3975 is expected to validate that :percentage_deployments looks like a number greater than or equal to 03976 is expected to validate that :leader_projects_prometheus_active cannot be empty/falsy3977 is expected to validate that :leader_projects_prometheus_active looks like a number greater than or equal to 03978 is expected to validate that :instance_projects_prometheus_active cannot be empty/falsy3979 is expected to validate that :instance_projects_prometheus_active looks like a number greater than or equal to 03980 is expected to validate that :percentage_projects_prometheus_active cannot be empty/falsy3981 is expected to validate that :percentage_projects_prometheus_active looks like a number greater than or equal to 03982 is expected to validate that :leader_service_desk_issues cannot be empty/falsy3983 is expected to validate that :leader_service_desk_issues looks like a number greater than or equal to 03984 is expected to validate that :instance_service_desk_issues cannot be empty/falsy3985 is expected to validate that :instance_service_desk_issues looks like a number greater than or equal to 03986 is expected to validate that :percentage_service_desk_issues cannot be empty/falsy3987 is expected to validate that :percentage_service_desk_issues looks like a number greater than or equal to 03988 #percentage_score3989 returns stored percentage score3990MergeRequests::UpdateReviewersService3991 execute3992 when the parameters are valid3993 updates the MR3994 creates system note about merge_request review request3995 creates a pending todo for new review request3996 sends email reviewer change notifications to old and new reviewers3997 updates open merge request counter for reviewers3998 updates the tracking3999 tracks reviewers changed event4000 calls MergeRequest::ResolveTodosService#async_execute4001 executes hooks with update action4002 does not update the reviewers if they do not have access4003 when using sentinel values4004 behaves like removing all reviewers4005 removes all reviewers4006 when the reviewer_ids parameter is the empty list4007 behaves like removing all reviewers4008 removes all reviewers4009 behaves like triggers GraphQL subscription mergeRequestReviewersUpdated4010 is expected to receive merge_request_reviewers_updated(#<MergeRequest id:136 group276/project535!1>) 1 time4011 when reviewers did not change4012 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated4013 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times4014Banzai::Pipeline::GfmPipeline4015 integration between parsing regular and external issue references4016 when internal issue tracker is enabled4017 executes :each_node only once for first reference filter4018 allows to use long external reference syntax for Redmine4019 parses cross-project references to regular issues4020 when shorthand pattern #ISSUE_ID is used4021 links an internal issues and keep updated nodes in result[:reference_filter_nodes]4022 when shorthand pattern #ISSUE_ID is used4023 links an internal issue if it exists4024 does not link any issue if it does not exist on GitLab4025 when internal issue tracker is disabled4026 allows to use shorthand external reference syntax for Redmine4027 allows to use long external reference syntax for Redmine4028 parses cross-project references to regular issues4029 markdown link or image urls having spaces4030 rewrites links with spaces in url4031 rewrites images with spaces in url4032 sanitizes the fixed link4033 emoji in references4034 renders a label reference with emoji inside4035 renders a milestone reference with emoji inside4036 asset proxy4037 replaces a lazy loaded img src4038 autolinks images to the proxy4039 properly adds tooltips to link for IDN images4040Gitlab::LetsEncrypt::Client4041 #new_order4042 ensures account registration4043 generates and stores private key and initialize acme client with it4044 returns order4045 when private key is saved in settings4046 uses current value of private key4047 when acme integration is disabled4048 raises error4049 #load_order4050 ensures account registration4051 generates and stores private key and initialize acme client with it4052 loads order4053 when private key is saved in settings4054 uses current value of private key4055 when acme integration is disabled4056 raises error4057 #load_challenge4058 ensures account registration4059 generates and stores private key and initialize acme client with it4060 loads challenge4061 when private key is saved in settings4062 uses current value of private key4063 when acme integration is disabled4064 raises error4065 #terms_of_service_url4066 returns valid url4067Notes::BuildService4068 #execute4069 when in_reply_to_discussion_id is specified4070 when a note with that original discussion ID exists4071 sets the note up to be in reply to that note4072 when discussion is resolved4073 resolves the note4074 when a note with that discussion ID exists4075 sets the note up to be in reply to that note4076 when no note with that discussion ID exists4077 sets an error4078 when user has no access to discussion4079 sets an error4080 personal snippet note4081 when a snippet is public4082 creates a reply note4083 when a snippet is private4084 creates a reply note when the author replies4085 sets an error when another user replies4086 when a snippet is internal4087 creates a reply note when the author replies4088 creates a reply note when a regular user replies4089 sets an error when an external user replies4090 when replying to individual note4091 sets the note up to be in reply to that note4092 when noteable does not support replies4093 builds another individual note4094 confidential comments4095 when creating a new confidential comment4096 reporter4097 behaves like user allowed to set comment as confidential4098 is expected to be truthy4099 issuable author4100 behaves like user not allowed to set comment as confidential4101 is expected to be falsey4102 issuable assignee4103 behaves like user not allowed to set comment as confidential4104 is expected to be falsey4105 admin4106 behaves like user allowed to set comment as confidential4107 is expected to be truthy4108 external4109 behaves like user not allowed to set comment as confidential4110 is expected to be falsey4111 guest4112 behaves like user not allowed to set comment as confidential4113 is expected to be falsey4114 when replying to a confidential comment4115 with reporter access4116 behaves like confidential set to `true`4117 `confidential` param is ignored to match the parent note confidentiality4118 with admin access4119 behaves like confidential set to `true`4120 `confidential` param is ignored to match the parent note confidentiality4121 with noteable author4122 behaves like returns `Discussion to reply to cannot be found` error4123 is expected to equal true4124 with noteable assignee4125 behaves like returns `Discussion to reply to cannot be found` error4126 is expected to equal true4127 with guest access4128 behaves like returns `Discussion to reply to cannot be found` error4129 is expected to equal true4130 with external user4131 behaves like returns `Discussion to reply to cannot be found` error4132 is expected to equal true4133 when replying to a public comment4134 `confidential` param is ignored and set to `false`4135 when noteable is not set4136 builds a note without saving it4137Clusters::Integrations::PrometheusHealthCheckService#execute4138 when cluster is not project_type4139 is expected to raise RuntimeError with "Invalid cluster type. Only project types are allowed."4140 when cluster is project_type4141 when prometheus not enabled4142 is expected to eq nil4143 does not send alert4144 when prometheus enabled4145 when newly unhealthy4146 sends an alert4147 stores the correct health of prometheus4148 when newly healthy4149 does not send alert4150 stores the correct health of prometheus4151 when continuously unhealthy4152 does not send alert4153 stores the correct health of prometheus4154 when continuously healthy4155 does not send alert4156 stores the correct health of prometheus4157 when first health check and healthy4158 does not send alert4159 stores the correct health of prometheus4160 when first health check and not healthy4161 sends an alert4162 stores the correct health of prometheus4163Ml::Candidate4164 associations4165 is expected to belong to experiment required: false4166 is expected to belong to project required: false4167 is expected to belong to user required: false4168 is expected to belong to package required: false4169 is expected to have many params4170 is expected to have many metrics4171 is expected to have many metadata4172 modules4173 behaves like AtomicInternalId4174 .has_internal_id4175 Module inclusion4176 is expected to includes the AtomicInternalId module4177 Validation4178 when presence validation is required4179 when creating an object4180 raises an error if the internal id is blank4181 when updating an object4182 raises an error if the internal id is blank4183 when presence validation is not required4184 when creating an object4185 does not raise an error if the internal id is blank (PENDING: No reason given)4186 when updating an object4187 does not raise an error if the internal id is blank (PENDING: No reason given)4188 Creating an instance4189 saves a new instance properly4190 internal id generation4191 calls InternalId.generate_next and sets internal id attribute4192 does not overwrite an existing internal id4193 when the instance has an internal ID set4194 calls InternalId.update_last_value and sets the `last_value` to that of the instance4195 unsetting the instance internal id on rollback4196 when the internal id has been changed4197 when the internal id is automatically set4198 clears it on the instance4199 when the internal id is manually set4200 does not clear it on the instance4201 when the internal id has not been changed4202 preserves the value on the instance4203 supply of internal ids4204 provides a persistent supply of IID values, sensitive to the current state4205 #reset_scope_internal_id_attribute4206 rewinds the allocated IID4207 allocates the same IID4208 default values4209 is expected to be present4210 .destroy4211 destroys metrics, params and metadata, but not the artifact4212 .artifact_root4213 is expected to eq "/ml_experiment_1/1/"4214 .package_version4215 is expected to eq 14216 .eid4217 is expected to eq "3c1ec896-7edd-4a1b-9088-873ca736e10a"4218 .artifact4219 when has logged artifacts4220 returns the package4221 when does not have logged artifacts4222 is expected to be nil4223 #by_project_id_and_eid4224 when eid exists and belongs to project4225 is expected to eq #<Ml::Candidate id: 1, created_at: "2023-04-12 14:55:47.016405769 +0000", updated_at: "2023-04-12 14:...date0", package_id: 1, eid: "c79b9f54-53ca-434c-8cdf-a40a75f745ff", project_id: 525, internal_id: 1>4226 when eid exists and does not belong to project4227 is expected to be nil4228 when eid does not exist4229 is expected to be nil4230 #by_project_id_and_iid4231 when internal_id exists and belongs to project4232 is expected to eq #<Ml::Candidate id: 1, created_at: "2023-04-12 14:55:47.016405769 +0000", updated_at: "2023-04-12 14:...date0", package_id: 1, eid: "c79b9f54-53ca-434c-8cdf-a40a75f745ff", project_id: 525, internal_id: 1>4233 when internal_id exists and does not belong to project4234 is expected to be nil4235 when internal_id does not exist4236 is expected to be nil4237 #latest_metrics4238 fetches only the last metric for the name4239 #including_relationships4240 loads latest metrics and params4241 #by_name4242 when name matches4243 gets the correct candidates4244 when name matches partially4245 gets the correct candidates4246 when name does not match4247 does not fetch any candidate4248 #order_by_metric4249 orders correctly4250 when direction is asc4251 orders correctly4252API::Helpers::Caching4253 #present_cached4254 single object4255 behaves like object cache helper4256 is expected to be a kind of Gitlab::Json::PrecompiledJson4257 uses the presenter4258 is valid JSON4259 fetches from the cache4260 when a cache context is supplied4261 uses the context to augment the cache key4262 when expires_in is supplied4263 sets the expiry when accessing the cache4264 when a caller id is present4265 increments the counter4266 collection of objects4267 behaves like collection cache helper4268 is expected to be a kind of Gitlab::Json::PrecompiledJson4269 uses the presenter4270 is valid JSON4271 fetches from the cache4272 when a cache context is supplied4273 uses the context to augment the cache key4274 expires_in is supplied4275 sets the expiry when accessing the cache4276 when a caller id is present4277 when presentable has a group by clause4278 returns the presentables4279 when the presentables all miss4280 increments the counters4281 when the presents hit4282 increments the counters4283 #cache_action4284 is expected to be a kind of Gitlab::Json::PrecompiledJson4285 represents the correct data4286 only calls the expensive action once4287 handles nested cache calls4288 Cache versioning4289 returns cache based on version parameter4290 Cache for pagination headers4291 X-Per-Page4292 stores and recovers pagination headers from cache4293 prefers headers from request than from cache4294 X-Page4295 stores and recovers pagination headers from cache4296 prefers headers from request than from cache4297 X-Next-Page4298 stores and recovers pagination headers from cache4299 prefers headers from request than from cache4300 X-Prev-Page4301 stores and recovers pagination headers from cache4302 prefers headers from request than from cache4303 Link4304 stores and recovers pagination headers from cache4305 prefers headers from request than from cache4306 X-Total4307 stores and recovers pagination headers from cache4308 prefers headers from request than from cache4309 X-Total-Pages4310 stores and recovers pagination headers from cache4311 prefers headers from request than from cache4312 #cache_action_if4313 conditional is truthy4314 is expected to be a kind of Gitlab::Json::PrecompiledJson4315 caches the block4316 conditional is falsey4317 is expected to eq {:foo=>"bar"}4318 doesn't cache the block4319 #cache_action_unless4320 conditional is truthy4321 is expected to eq {:foo=>"bar"}4322 doesn't cache the block4323 conditional is falsey4324 is expected to be a kind of Gitlab::Json::PrecompiledJson4325 caches the block4326Ci::ArchiveTraceService#execute4327 when job is finished4328 creates an archived trace4329 integration hooks4330 is expected not to raise Exception4331 when trace is already archived4332 ignores an exception4333 does not create an archived trace4334 when live trace chunks still exist4335 removes the trace chunks4336 when associated data does not exist4337 removes the trace artifact and builds a new one4338 when job does not have trace4339 leaves a warning message in sidekiq log4340 when the job is out of archival attempts4341 skips archiving4342 leaves a warning message in sidekiq log4343 job has archive and chunks4344 removes trace chunks4345 archive is not completed4346 cleanups any stale archive data4347 when the archival process is backed off4348 skips archiving4349 leaves a warning message in sidekiq log4350 when job failed to archive trace but did not raise an exception4351 leaves a warning message in sidekiq log4352 when job is running4353 increments Prometheus counter, sends crash report to Sentry and ignore an error for continuing to archive4354 #batch_execute4355 archives multiple traces4356 processes traces independently4357 when timeout is reached4358 stops executing traces4359 when loop limit is reached4360 skips archiving4361 stops executing traces4362Metrics::Dashboard::CustomDashboardService4363 #raw_dashboard4364 behaves like #raw_dashboard raises error if dashboard loading fails4365 when yaml is too large4366 raises error4367 when yaml loader returns error4368 raises error4369 when yaml is not a hash4370 returns nil4371 #get_dashboard4372 when the dashboard does not exist4373 does not update gitlab_metrics_dashboard_processing_time_ms metric4374 behaves like misconfigured dashboard service response4375 returns an appropriate message and status code4376 behaves like raises error for users with insufficient permissions4377 when the user does not have sufficient access4378 behaves like misconfigured dashboard service response4379 returns an appropriate message and status code4380 when the user is anonymous4381 behaves like misconfigured dashboard service response4382 returns an appropriate message and status code4383 when the dashboard exists4384 caches the unprocessed dashboard for subsequent calls4385 tracks panel type4386 behaves like valid dashboard service response4387 behaves like valid dashboard service response for schema4388 returns a json representation of the dashboard4389 behaves like updates gitlab_metrics_dashboard_processing_time_ms metric4390 prometheus4391 with metric in database4392 includes metric_id4393 and the dashboard is then deleted4394 does not return the previously cached dashboard4395 when the dashboard is configured incorrectly4396 behaves like misconfigured dashboard service response4397 returns an appropriate message and status code4398 .all_dashboard_paths4399 when there are no project dashboards4400 returns an empty array4401 when there are project dashboards available4402 returns the dashboard attributes4403 caches repo file list4404 .valid_params?4405 is expected to be truthy4406 missing dashboard_path4407 is expected to be falsey4408 empty dashboard_path4409 is expected to be falsey4410Gitlab::Git::Tag4411 #tags4412 is expected to be > 04413 unsigned tag4414 is expected to eq "v1.0.0"4415 is expected to eq "f4e6814c3e4e7a0de82a9e7cd20c626cc963a2f8"4416 is expected to eq "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"4417 is expected to eq "Release"4418 is expected to be falsey4419 is expected to eq :NONE4420 is expected to be nil4421 is expected to eq "Dmitriy Zaporozhets"4422 is expected to eq "dmitriy.zaporozhets@gmail.com"4423 is expected to eq <Google::Protobuf::Timestamp: seconds: 1393491299, nanos: 0>4424 is expected to eq "+0200"4425 signed tag4426 is expected to eq "v1.1.1"4427 is expected to eq "8f03acbcd11c53d9c9468078f32a2622005a4841"4428 is expected to eq "189a6c924013fc3fe40d6f1ec1dc20214183bc97"4429 is expected to eq "x509 signed tag\n-----BEGIN SIGNED MESSAGE-----\nMIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQM...dZmMbJ7jNk1FbewSwWO\nSDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=\n-----END SIGNED MESSAGE-----"4430 is expected to be truthy4431 is expected to eq :X5094432 is expected not to be nil4433 is expected to eq "Roger Meier"4434 is expected to eq "r.meier@siemens.com"4435 is expected to eq <Google::Protobuf::Timestamp: seconds: 1574261780, nanos: 0>4436 is expected to eq "+0100"4437 .get_message4438 gets tag messages4439 gets messages in one batch4440 .extract_signature_lazily4441 when the tag is signed4442 returns signature and signed text4443 when the tag has no signature4444 returns empty signature and message as signed text4445 when the tag cannot be found4446 raises GRPC::Internal4447 when the tag ID is invalid4448 raises GRPC::Internal4449 when loading signatures in batch once4450 fetches signatures in batch once4451 tag into from Gitaly tag4452 message_size != message.size4453 message_size less than threshold4454 fetches tag message separately4455 message_size greater than threshold4456 returns a notice about message size4457 #cache_key4458 returns a cache key that changes based on changeable values4459StarredProjectsFinder4460 #execute4461 user has a public profile4462 as same user4463 is expected to contain exactly #<Project id:586 namespace521/project629>>, #<Project id:587 namespace522/project630>>, and #<Project id:588 namespace523/project631>>4464 as other user4465 is expected to contain exactly #<Project id:589 namespace524/project632>> and #<Project id:590 namespace525/project633>>4466 as no user4467 is expected to contain exactly #<Project id:592 namespace527/project635>> and #<Project id:593 namespace528/project636>>4468 user has a private profile4469 as same user4470 is expected to contain exactly #<Project id:595 namespace530/project638>>, #<Project id:596 namespace531/project639>>, and #<Project id:597 namespace532/project640>>4471 as other user4472 user does not have access to view the private profile4473 is expected to be empty4474 user has access to view the private profile4475 is expected to contain exactly #<Project id:601 namespace536/project644>>, #<Project id:602 namespace537/project645>>, and #<Project id:603 namespace538/project646>>4476 as no user4477 is expected to be empty4478PagesDeployment4479 saves size along with the file4480 associations4481 is expected to belong to project required: true4482 is expected to belong to ci_build optional: true4483 validations4484 is expected to validate that :file cannot be empty/falsy4485 is expected to validate that :size cannot be empty/falsy4486 is expected to validate that :size looks like an integer greater than 04487 is expected to validate that :file_count cannot be empty/falsy4488 is expected to validate that :file_count looks like an integer greater than or equal to 04489 is expected to validate that :file_sha256 cannot be empty/falsy4490 is expected to validate that :file_store is either ‹1› or ‹2›4491 is valid when created from the factory4492 .migrated_from_legacy_storage4493 only returns migrated deployments4494 with deployments stored locally and remotely4495 .with_files_stored_locally4496 only returns deployments with files stored locally4497 .with_files_stored_remotely4498 only returns deployments with files stored remotely4499 when uploading the file4500 #store_after_commit?4501 when feature flag pages_deploy_upload_file_outside_transaction is disabled4502 returns false4503 when feature flag pages_deploy_upload_file_outside_transaction is enabled4504 returns true4505 when feature flag pages_deploy_upload_file_outside_transaction is disabled4506 stores the file within the transaction4507 when feature flag pages_deploy_upload_file_outside_transaction is enabled4508 stores the file outsize of the transaction4509 does nothing when the file did not change4510 #migrated?4511 returns false for normal deployment4512 returns true for migrated deployment4513 default for file_store4514 uses local store when object storage is not enabled4515 uses remote store when object storage is enabled4516 .older_than4517 returns deployments with lower id4518Deployments::ArchiveInProjectService4519 #execute4520 when there are archivable deployments4521 returns result code4522 archives the deployment4523 when ref does not exist by some reason4524 does not raise an error4525 when there are no archivable deployments4526 returns result code4527projects/tags/index.html.haml4528 when tag is associated with a release4529 when name does not contain a backslash4530 renders a link to the release page4531 when name contains backslash4532 renders a link to the release page with backslash escaped4533 when the most recent build for a tag has artifacts4534 renders the Artifacts section in the download list4535 renders artifact download links4536 when the most recent build for a tag has expired artifacts4537 does not render the Artifacts section in the download list4538 does not render artifact download links4539 build stats4540 shows build status or placeholder when pipelines present4541 shows no build status or placeholder when no pipelines present4542 shows no build status or placeholder when pipelines are private4543 when Gitaly is unavailable4544 renders an error4545FinderWithCrossProjectAccess4546 when the user cannot read cross project4547 #execute4548 returns a issue if the check is disabled4549 returns an empty relation when the check is enabled4550 only queries once when check is enabled4551 only queries once when check is disabled4552 #find4553 checks the accessibility of the subject directly4554 returns the issue4555 #find_by4556 checks the accessibility of the subject directly4557 #find_by!4558 checks the accessibility of the subject directly4559 re-enables the check after the find failed4560 when the user can read cross project4561 returns the result4562 when specifying a model4563 .finder_model4564 is set correctly4565ContributedProjectsFinder4566 activity without a current user4567 does only return public projects4568 does return all projects when visibility gets ignored4569 activity with a current user4570 is expected to contain exactly #<Project id:644 namespace579/project687>>, #<Project id:645 namespace580/project688>>, and #<Project id:643 namespace578/project686>>4571 user with private profile4572 does not return contributed projects4573Gitlab::Ci::Ansi2json4574 lines4575 prints non-ansi as-is4576 recognizes color changing ANSI sequences4577 recognizes color changing ANSI sequences across multiple lines4578 recognizes background and foreground colors4579 recognizes style changes within the same line4580 verify_state4581 uses SignedState when true4582 uses State when false4583 new lines4584 adds new line when encountering \n4585 adds new line when encountering \r\n4586 ignores empty newlines4587 replace the current line when encountering \r4588 with section markers4589 marks the first line of the section as header4590 does not marks the other lines of the section as header4591 marks the last line of the section as footer4592 marks the first line as header and footer if is the only line in the section4593 does not add sections attribute to lines after the section is closed4594 ignores section_end marker if no section_start exists4595 prints HTML tags as is4596 when section name contains .-_ and capital letters4597 sanitizes the section name4598 when section name includes $4599 ignores the section4600 when section name includes <4601 ignores the section4602 with nested section4603 adds multiple sections to the lines inside the nested section4604 adds multiple sections to the lines inside the nested section and closes all sections together4605 with section options4606 provides section options when set4607 incremental updates4608 with split word4609 returns the full line4610 with split word on second line4611 returns all lines since last partially processed line4612 with split sequence across multiple lines4613 returns the line since last partially processed line4614 with split partial sequence4615 returns the line since last partially processed line4616 with split new line4617 returns a blank line and the next line4618 with split section4619 with split section body4620 returns the full line4621 with split section where header is also split4622 returns the full line4623 with split section end4624 returns the full line4625 trucates4626 returns truncated output4627 does not append output4628ErrorTracking::IssueUpdateService4629 #execute4630 with authorized user4631 when update_issue returns success4632 returns the response4633 updates any related issue4634 clears the reactive cache4635 with related issue and resolving4636 closes the issue4637 when issue gets closed4638 creates a system note4639 returns a response with closed issue4640 when issue is already closed4641 does not call the close issue service4642 does not create system note4643 when status is not resolving4644 does not call the close issue service4645 does not create system note4646 when update_issue returns error4647 returns the error4648 with integrated error tracking4649 resolves the error and responds with expected format4650 with unauthorized user4651 returns error4652 with error tracking disabled4653 raises error4654Groups::UpdateSharedRunnersService4655 #execute4656 when current_user is not the group owner4657 results error and does not call any method4658 when current_user is the group owner4659 enable shared Runners4660 group that its ancestors have shared runners disabled4661 results error4662 root group with shared runners disabled4663 receives correct method and succeeds4664 when group has pending builds4665 updates pending builds for the group4666 when shared runners is not toggled4667 does not update pending builds for the group4668 disable shared Runners4669 receives correct method and succeeds4670 when group has pending builds4671 updates pending builds for the group4672 allow descendants to override4673 top level group4674 receives correct method and succeeds4675 when parent does not allow4676 results error4677 when using DISABLED_WITH_OVERRIDE (deprecated)4678 top level group4679 receives correct method and succeeds4680 when parent does not allow4681 results error4682Mutations::MergeRequests::Create4683 #resolve4684 when user is not a project member4685 behaves like resource not available4686 raises an error4687 when user is a direct project member4688 and user is a guest4689 behaves like resource not available4690 raises an error4691 and user is a developer4692 creates a new merge request4693 returns a new merge request4694 when optional description field is set4695 returns a new merge request with a description4696 when optional labels field is set4697 returns a new merge request with labels4698 when service cannot create a merge request4699 does not create a new merge request4700 returns errors4701 when user is an inherited member from the group4702 when project is public with private merge requests4703 and user is a guest4704 behaves like resource not available4705 raises an error4706 when project is private4707 and user is a guest4708 behaves like resource not available4709 raises an error4710Terraform::StateUploader4711 #filename4712 contains the version of the terraform state record4713 legacy state with versioning disabled4714 contains the UUID of the terraform state record4715 #store_dir4716 hashes the project ID and UUID4717 legacy state with versioning disabled4718 contains the ID of the project4719 #key4720 creates a digest with a secret key and the project id4721 encryption4722 encrypts the stored file4723 decrypts the file when reading4724 .direct_upload_enabled?4725 returns false4726 .proxy_download_enabled?4727 returns true4728 .default_store4729 when object storage is enabled4730 returns REMOTE4731 when object storage is disabled4732 returns LOCAL4733IssueSidebarBasicEntity4734 contains keys related to issuables4735 contains attributes related to the issue4736 current_user4737 contains attributes related to the current user4738 can_update_escalation_status4739 for a standard issue4740 is not present4741 for an incident issue4742 is present and true4743 without permissions4744 is present and false4745 show_crm_contacts4746 is_reporter: false, contacts_exist_for_group: false, expected: false4747 sets proper boolean value for show_crm_contacts4748 is_reporter: false, contacts_exist_for_group: true, expected: false4749 sets proper boolean value for show_crm_contacts4750 is_reporter: true, contacts_exist_for_group: false, expected: false4751 sets proper boolean value for show_crm_contacts4752 is_reporter: true, contacts_exist_for_group: true, expected: true4753 sets proper boolean value for show_crm_contacts4754 in subgroup4755 with crm enabled4756 is true4757 with crm disabled4758 is false4759Database::CiProjectMirrorsConsistencyCheckWorker4760 #perform4761 executes the consistency check on projects4762 logs should contain the detailed mismatches4763 reports the differences to the logs4764 calls the consistency_fix_service to fix the inconsistencies4765WikiPages::CreateService4766 behaves like WikiPages::CreateService#execute4767 creates wiki page with valid attributes4768 executes webhooks4769 counts wiki page creation4770 the new page is at the top level4771 creates appropriate events4772 the new page is in a subsection4773 creates appropriate events4774 when the options are bad4775 does not count a creation event4776 does not record the activity4777 reports the error4778 #execute4779 when wiki create fails due to git error4780 catches the thrown error and returns a ServiceResponse error4781Ci::ResourceGroup4782 behaves like cleanup by a loose foreign key4783 cleans up (delete or nullify) the model4784 validation4785 valids when key includes allowed character4786 invalids when key includes invalid character4787 #ensure_resource4788 creates one resource when resource group is created4789 #assign_resource_to4790 retains resource for the processable (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)4791 when there are no free resources4792 fails to retain resource (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)4793 when the build has already retained a resource4794 fails to retain resource (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)4795 #release_resource_from4796 when the build has already retained a resource4797 releases resource from the build (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)4798 when the build has already released a resource4799 fails to release resource (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)4800 #upcoming_processables4801 when process mode is unordered4802 returns correct jobs in an indeterministic order4803 when process mode is oldest_first4804 returns correct jobs in a specific order4805 when process mode is newest_first4806 returns correct jobs in a specific order4807 when process mode is unknown4808 returns empty4809 #current_processable4810 when resource is retained by a build4811 is expected to eq #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-04-12 08:50:29.000000000 +0000", u...rocessed: false, scheduling_type: "stage", id: 195, stage_id: 106, partition_id: 100, tag_list: nil>4812 when resource is not retained by a build4813 is expected to be nil4814Projects::Settings::DeployKeysPresenter4815 inherits from Gitlab::View::Presenter::Simple4816 deploy key groups4817 with enabled keys4818 returns correct deploy keys4819 with available keys4820 returns correct deploy keys4821 with available project keys4822 returns correct deploy keys4823 with available public keys4824 returns correct deploy keys4825 #enabled_keys4826 returns currently enabled keys4827 does not contain enabled_keys inside available_keys4828 returns the enabled_keys size4829 #available_keys/#available_project_keys4830 returns the current available_keys4831 returns the current available_project_keys4832 returns the available_project_keys size4833 prevent N + 1 queries4834 returns correct counts4835 does not increase the query count4836Gitlab::Ci::Config::Entry::Trigger4837 when trigger config is a non-empty string4838 #valid?4839 is expected to be valid4840 #value4841 returns a trigger configuration hash4842 when trigger config an empty string4843 #valid?4844 is expected not to be valid4845 #errors4846 returns an error about an empty config4847 when trigger is a hash - cross-project4848 when project is a string4849 when project is a non-empty string4850 is valid4851 when project is an empty string4852 returns error4853 when project is not a string4854 when project is an array4855 returns error4856 when project is a boolean4857 returns error4858 when branch is provided4859 #valid?4860 is expected to be valid4861 #value4862 returns a trigger configuration hash4863 when strategy is provided4864 when strategy is depend4865 #valid?4866 is expected to be valid4867 #value4868 returns a trigger configuration hash4869 when strategy is invalid4870 #valid?4871 is expected not to be valid4872 #errors4873 returns an error about unknown config key4874 when config contains unknown keys4875 #valid?4876 is expected not to be valid4877 #errors4878 returns an error about unknown config key4879 with forward4880 is expected to be valid4881 returns a trigger configuration hash4882 when trigger is a hash - parent-child4883 with simple include4884 is expected to be valid4885 returns a trigger configuration hash4886 with project4887 is expected not to be valid4888 returns an error4889 with branch4890 is expected not to be valid4891 returns an error4892 with forward4893 is expected to be valid4894 returns a trigger configuration hash4895 when trigger configuration is not valid4896 when branch is not provided4897 #valid?4898 is expected not to be valid4899 #errors4900 returns an error message4901Integrations::Redmine4902 Validations4903 when integration is active4904 is expected to validate that :project_url cannot be empty/falsy4905 is expected to validate that :issues_url cannot be empty/falsy4906 is expected to validate that :new_issue_url cannot be empty/falsy4907 behaves like issue tracker integration URL attribute4908 is expected to allow :project_url to be ‹"https://example.com"›4909 is expected not to allow :project_url to be ‹"example.com"›4910 is expected not to allow :project_url to be ‹"ftp://example.com"›4911 is expected not to allow :project_url to be ‹"herp-and-derp"›4912 behaves like issue tracker integration URL attribute4913 is expected to allow :issues_url to be ‹"https://example.com"›4914 is expected not to allow :issues_url to be ‹"example.com"›4915 is expected not to allow :issues_url to be ‹"ftp://example.com"›4916 is expected not to allow :issues_url to be ‹"herp-and-derp"›4917 behaves like issue tracker integration URL attribute4918 is expected to allow :new_issue_url to be ‹"https://example.com"›4919 is expected not to allow :new_issue_url to be ‹"example.com"›4920 is expected not to allow :new_issue_url to be ‹"ftp://example.com"›4921 is expected not to allow :new_issue_url to be ‹"herp-and-derp"›4922 when integration is inactive4923 is expected not to validate that :project_url cannot be empty/falsy4924 is expected not to validate that :issues_url cannot be empty/falsy4925 is expected not to validate that :new_issue_url cannot be empty/falsy4926 #reference_pattern4927 does allow # on the reference4928 behaves like allows project key on reference pattern4929 allows underscores in the project name4930 allows numbers in the project name4931 requires the project name to begin with A-Z4932 does not allow issue number to finish with a letter4933Gitlab::Auth::Ldap::Access4934 .allowed?4935 updates the user's `last_credential_check_at`4936 does not update user's `last_credential_check_at` when in a read-only GitLab instance4937 #allowed?4938 when the user cannot be found4939 returns false4940 blocks user in GitLab4941 logs the reason4942 when the user is found4943 and the user is disabled via active directory4944 returns false4945 blocks user in GitLab4946 logs the reason4947 and has no disabled flag in active directory4948 is expected to be truthy4949 when auto-created users are blocked4950 does not unblock user in GitLab4951 when auto-created users are not blocked4952 unblocks user in GitLab4953 logs the reason4954 without ActiveDirectory enabled4955 returns true4956 when user cannot be found4957 returns false4958 blocks user in GitLab4959 logs the reason4960 when user was previously ldap_blocked4961 unblocks the user if it exists4962 logs the reason4963 when the connection fails4964 does not block the user4965 denies access4966Security::CiConfiguration::SecretDetectionCreateService4967 #execute4968 user does not belong to project4969 returns an error status4970 does not track a snowplow event4971 user belongs to project4972 does track the snowplow event4973 raises exception if the user does not have permission to create a new branch4974 when exception is raised4975 when branch was created4976 tries to rm branch4977 when branch was not created4978 does not try to rm branch4979 with no parameters4980 returns the path to create a new merge request4981 when the project has a non-default ci config file4982 does track the snowplow event4983 when existing ci config contains anchors/aliases4984 fails with error4985 when parsing existing ci config gives a Psych error4986 fails with error4987 when parsing existing ci config gives any other error4988 is successful4989 when the project is empty4990 returns an error4991Commits::CherryPickService4992 #execute4993 behaves like successful cherry-pick4994 picks the commit into the branch4995 supports a custom commit message4996 when picking a merge-request4997 adds a system note4998 behaves like successful cherry-pick4999 picks the commit into the branch5000 supports a custom commit message5001Ci::HasRef5002 #branch?5003 is not a tag5004 return true when tag is set to false5005 when it was triggered by merge request5006 returns false5007 is not a tag5008 return false when tag is set to true5009 #git_ref5010 when tag is true5011 returns a tag ref5012 when tag is false5013 returns a branch ref5014 when tag is nil5015 returns a branch ref5016 when it is triggered by a merge request5017 returns nil5018Mutations::Namespace::PackageSettings::Update5019 is expected to require graphql authorizations :admin_package5020 #resolve5021 with existing namespace package setting5022 user_role: :maintainer, shared_examples_name: "updating the namespace package setting"5023 behaves like updating the namespace package setting5024 behaves like updating the namespace package setting attributes5025 updates the namespace package setting5026 behaves like not creating the namespace package setting5027 doesn't create the namespace package setting5028 behaves like returning a success5029 returns the namespace package setting with no errors5030 with invalid params5031 doesn't update the maven_duplicates_allowed5032 returns an error5033 behaves like not creating the namespace package setting5034 doesn't create the namespace package setting5035 user_role: :developer, shared_examples_name: "denying access to namespace package setting"5036 behaves like denying access to namespace package setting5037 raises Gitlab::Graphql::Errors::ResourceNotAvailable5038 user_role: :reporter, shared_examples_name: "denying access to namespace package setting"5039 behaves like denying access to namespace package setting5040 raises Gitlab::Graphql::Errors::ResourceNotAvailable5041 user_role: :guest, shared_examples_name: "denying access to namespace package setting"5042 behaves like denying access to namespace package setting5043 raises Gitlab::Graphql::Errors::ResourceNotAvailable5044 user_role: :anonymous, shared_examples_name: "denying access to namespace package setting"5045 behaves like denying access to namespace package setting5046 raises Gitlab::Graphql::Errors::ResourceNotAvailable5047 without existing namespace package setting5048 user_role: :maintainer, shared_examples_name: "creating the namespace package setting"5049 behaves like creating the namespace package setting5050 creates a new package setting5051 saves the settings5052 behaves like returning a success5053 returns the namespace package setting with no errors5054 user_role: :developer, shared_examples_name: "denying access to namespace package setting"5055 behaves like denying access to namespace package setting5056 raises Gitlab::Graphql::Errors::ResourceNotAvailable5057 user_role: :reporter, shared_examples_name: "denying access to namespace package setting"5058 behaves like denying access to namespace package setting5059 raises Gitlab::Graphql::Errors::ResourceNotAvailable5060 user_role: :guest, shared_examples_name: "denying access to namespace package setting"5061 behaves like denying access to namespace package setting5062 raises Gitlab::Graphql::Errors::ResourceNotAvailable5063 user_role: :anonymous, shared_examples_name: "denying access to namespace package setting"5064 behaves like denying access to namespace package setting5065 raises Gitlab::Graphql::Errors::ResourceNotAvailable5066Resolvers::LastCommitResolver5067 #resolve5068 last commit is a merge commit5069 resolves to the merge commit5070 last commit for a different branch and path5071 resolves commit5072 last commit for a wildcard pathspec5073 returns nil5074 last commit with pathspec characters5075 resolves commit5076 last commit does not exist5077 returns nil5078Gitlab::Ci::PipelineObjectHierarchy5079 #base_and_ancestors5080 includes the base and its ancestors5081 can find ancestors upto a certain level5082 hierarchy_order option5083 :asc5084 orders by child to ancestor5085 :desc5086 orders by ancestor to child5087 #base_and_descendants5088 includes the base and its descendants5089 when project_condition: :different5090 includes the base and other project pipelines5091 when project_condition: nil5092 includes the base and its descendants with other project pipeline5093 when with_depth is true5094 includes depth in the results5095 #all_objects5096 when passing ancestors_base5097 when project_condition: :same5098 includes its ancestors and descendants5099 when project_condition: :different5100 includes the base and other project pipelines5101 when passing ancestors_base and descendants_base5102 when project_condition: :same5103 returns all family tree5104 when project_condition: :different5105 includes the base and other project pipelines5106Sidebars::Groups::Menus::PackagesRegistriesMenu5107 behaves like not serializable as super_sidebar_menu_args5108 returns nil5109 #render?5110 when menu has menu items to show5111 returns true5112 when menu does not have any menu item to show5113 returns false5114 #link5115 when Packages Registry is visible5116 menu link points to Packages Registry page5117 when Packages Registry is not visible5118 menu link points to Container Registry page5119 when Container Registry is not visible5120 menu link points to Harbor Registry page5121 when Harbor Registry is not visible5122 menu link points to Dependency Proxy page5123 Menu items5124 Packages Registry5125 when user can read packages5126 when config package setting is disabled5127 behaves like the menu entry is not available5128 the menu item is not added to list of menu items5129 when config package setting is enabled5130 behaves like the menu entry is available5131 the menu item is added to list of menu items5132 Container Registry5133 when user can read container images5134 when config registry setting is disabled5135 behaves like the menu entry is not available5136 the menu item is not added to list of menu items5137 when config registry setting is enabled5138 behaves like the menu entry is available5139 the menu item is added to list of menu items5140 when user cannot read container images5141 behaves like the menu entry is not available5142 the menu item is not added to list of menu items5143 Dependency Proxy5144 when user can read dependency proxy5145 when config dependency_proxy is enabled5146 behaves like the menu entry is available5147 the menu item is added to list of menu items5148 when the group settings exist5149 behaves like the menu entry is available5150 the menu item is added to list of menu items5151 when the proxy is disabled at the group level5152 behaves like the menu entry is not available5153 the menu item is not added to list of menu items5154 when config dependency_proxy is not enabled5155 behaves like the menu entry is not available5156 the menu item is not added to list of menu items5157 when user cannot read dependency proxy5158 behaves like the menu entry is not available5159 the menu item is not added to list of menu items5160 Harbor Registry5161 when config harbor registry setting is disabled5162 behaves like the menu entry is not available5163 the menu item is not added to list of menu items5164 when config harbor registry setting is enabled5165 behaves like the menu entry is available5166 the menu item is added to list of menu items5167 when config harbor registry setting is not activated5168 behaves like the menu entry is not available5169 the menu item is not added to list of menu items5170BasePolicy5171 .class_for5172 detects policy class based on the subject ancestors5173 detects policy class for a presented subject5174 uses GlobalPolicy when :global is given5175 read cross project5176 is expected to be allowed :read_cross_project5177 for anonymous5178 is expected to be allowed :read_cross_project5179 when an external authorization service is enabled5180 behaves like admin only access5181 is expected not to be allowed :read_cross_project5182 with an admin5183 allowed when in admin mode5184 prevented when not in admin mode5185 with anonymous5186 is expected not to be allowed :read_cross_project5187 bypassing the session for sessionless login5188 changes from prevented to allowed5189 full private access: read_all_resources5190 behaves like admin only access5191 is expected not to be allowed :read_all_resources5192 with an admin5193 allowed when in admin mode5194 prevented when not in admin mode5195 with anonymous5196 is expected not to be allowed :read_all_resources5197 bypassing the session for sessionless login5198 changes from prevented to allowed5199 full private access: admin_all_resources5200 behaves like admin only access5201 is expected not to be allowed :admin_all_resources5202 with an admin5203 allowed when in admin mode5204 prevented when not in admin mode5205 with anonymous5206 is expected not to be allowed :admin_all_resources5207 bypassing the session for sessionless login5208 changes from prevented to allowed5209 change_repository_storage5210 behaves like admin only access5211 is expected not to be allowed :change_repository_storage5212 with an admin5213 allowed when in admin mode5214 prevented when not in admin mode5215 with anonymous5216 is expected not to be allowed :change_repository_storage5217 bypassing the session for sessionless login5218 changes from prevented to allowed5219Ci::PipelineVariable5220 is expected to validate that :key cannot be empty/falsy5221 behaves like CI variable5222 is expected to includes the Ci::HasVariable module5223 strips whitespaces when assigning key5224 can convert to runner variable5225 variable type5226 defines variable types5227 defaults variable type to env_var5228 supports variable type file5229 #hook_attrs5230 is expected to be a kind of Hash5231 is expected to eq {:key=>"foo", :value=>"bar"}5232 partitioning5233 with pipeline5234 copies the partition_id from pipeline5235 without pipeline5236 is expected to validate that :partition_id cannot be empty/falsy5237 does not change the partition_id value5238Gitlab::Ci::Reports::TestSuiteSummary5239 #name5240 when test suite summary has several build report results5241 returns the suite name5242 #build_ids5243 when test suite summary has several build report results5244 returns the build ids5245 #total_time5246 when test suite summary has several build report results5247 returns the total time5248 #success_count5249 when test suite summary has several build report results5250 returns the total success5251 #failed_count5252 when test suite summary has several build report results5253 returns the total failed5254 #error_count5255 when test suite summary has several build report results5256 returns the total errored5257 #skipped_count5258 when test suite summary has several build report results5259 returns the total skipped5260 #total_count5261 when test suite summary has several build report results5262 returns the total count5263 #suite_error5264 when there are no build report results with suite errors5265 is expected to be nil5266 when there are build report results with suite errors5267 includes the first suite error from the collection of build report results5268 #to_h5269 when test suite summary has several build report results5270 returns the total as a hash5271Gitlab::TaskHelpers5272 #checkout_or_clone_version5273 checkout the version and reset to it5274 accepts clone_opts5275 target_dir doesn't exist5276 clones the repo5277 target_dir exists5278 doesn't clone the repository5279 #clone_repo5280 clones the repo in the target dir5281 accepts clone_opts5282 #checkout_version5283 clones the repo in the target dir5284 #run_command5285 runs command and return the output5286 returns empty string when command doesnt exist5287 #run_command!5288 runs command and return the output5289 returns and exception when command exit with non zero code5290 #get_version5291 version: "1.1.1", result: "v1.1.1"5292 is expected to eq "v1.1.1"5293 version: "master", result: "master"5294 is expected to eq "master"5295 version: "12.4.0-rc7", result: "v12.4.0-rc7"5296 is expected to eq "v12.4.0-rc7"5297 version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", result: "594c3ea3e0e5540e5915bd1c49713a0381459dd6"5298 is expected to eq "594c3ea3e0e5540e5915bd1c49713a0381459dd6"5299Packages::Maven::Metadatum5300 relationships5301 is expected to belong to package required: false5302 validations5303 is expected to validate that :package cannot be empty/falsy5304 #app_name5305 is expected to allow :app_name to be ‹"my-app"›5306 is expected not to allow :app_name to be ‹"my/app"›5307 is expected not to allow :app_name to be ‹"my(app)"›5308 #app_group5309 is expected to allow :app_group to be ‹"my.domain.com"›5310 is expected not to allow :app_group to be ‹"my/domain/com"›5311 is expected not to allow :app_group to be ‹"my(domain)"›5312 #path5313 is expected to allow :path to be ‹"my/domain/com/my-app"›5314 is expected to allow :path to be ‹"my/domain/com/my-app/1.0-SNAPSHOT"›5315 is expected not to allow :path to be ‹"my(domain)com.my-app"›5316 #maven_package_type5317 will not allow a package with a different package_type5318 with a package5319 .for_package_ids5320 is expected to contain exactly #<Packages::Maven::Metadatum id: 1, package_id: 3, created_at: "2023-04-12 14:59:01.853800223 +0000",...y.app", app_name: "my-app", app_version: "1.0-SNAPSHOT", path: "my/company/app/my-app/1.0-SNAPSHOT">, #<Packages::Maven::Metadatum id: 2, package_id: 3, created_at: "2023-04-12 14:59:01.860527022 +0000",...y.app", app_name: "my-app", app_version: "1.0-SNAPSHOT", path: "my/company/app/my-app/1.0-SNAPSHOT">, and #<Packages::Maven::Metadatum id: 3, package_id: 3, created_at: "2023-04-12 14:59:01.864328041 +0000",...y.app", app_name: "my-app", app_version: "1.0-SNAPSHOT", path: "my/company/app/my-app/1.0-SNAPSHOT">5321 .order_created5322 is expected to eq [#<Packages::Maven::Metadatum id: 4, package_id: 3, created_at: "2023-04-12 14:59:01.914725568 +0000"....app", app_name: "my-app", app_version: "1.0-SNAPSHOT", path: "my/company/app/my-app/1.0-SNAPSHOT">]5323 .pluck_app_name5324 is expected to contain exactly "one", "two", and "three"5325 .with_path5326 is expected to contain exactly #<Packages::Maven::Metadatum id: 12, package_id: 3, created_at: "2023-04-12 14:59:02.047680343 +0000"...3 +0000", app_group: "my.company.app", app_name: "my-app", app_version: "1.0-SNAPSHOT", path: "two">5327DesignManagement::VersionsFinder5328 #execute5329 when user cannot read designs of an issue5330 returns no results when passed a DesignCollection5331 when passed a Design5332 returns no results when passed a Design5333 when user can read designs of an issue5334 when design management feature is disabled5335 returns no results when passed a DesignCollection5336 when passed a Design5337 returns no results when passed a Design5338 when design management feature is enabled5339 passing a DesignCollection or a Design for the initial scoping5340 returns the versions scoped to the DesignCollection5341 when passed a Design5342 returns the versions scoped to the Design5343 returning versions earlier or equal to a version5344 when argument is the first version5345 is expected to eq [#<DesignManagement::Version id: 1, sha: "894c4e0edf0c836a260eaa4bf9452944a1079ce9", issue_id: 79, created_at: "2023-04-12 14:59:02.878738000 +0000", author_id: 2071>]5346 when argument is the second version5347 is expected to contain exactly #<DesignManagement::Version id: 1, sha: "894c4e0edf0c836a260eaa4bf9452944a1079ce9", issue_id: 79, created_at: "2023-04-12 14:59:02.878738000 +0000", author_id: 2071> and #<DesignManagement::Version id: 2, sha: "1c5a3ab6caa0c94541f450e0b894b972b40e87e5", issue_id: 79, created_at: "2023-04-12 14:59:02.977673000 +0000", author_id: 2071>5348 returning versions by SHA5349 when argument is the first version5350 is expected to contain exactly #<DesignManagement::Version id: 1, sha: "894c4e0edf0c836a260eaa4bf9452944a1079ce9", issue_id: 79, created_at: "2023-04-12 14:59:02.878738000 +0000", author_id: 2071>5351 when argument is the second version5352 is expected to contain exactly #<DesignManagement::Version id: 2, sha: "1c5a3ab6caa0c94541f450e0b894b972b40e87e5", issue_id: 79, created_at: "2023-04-12 14:59:02.977673000 +0000", author_id: 2071>5353 returning versions by ID5354 when argument is the first version5355 is expected to contain exactly #<DesignManagement::Version id: 1, sha: "894c4e0edf0c836a260eaa4bf9452944a1079ce9", issue_id: 79, created_at: "2023-04-12 14:59:02.878738000 +0000", author_id: 2071>5356 when argument is the second version5357 is expected to contain exactly #<DesignManagement::Version id: 2, sha: "1c5a3ab6caa0c94541f450e0b894b972b40e87e5", issue_id: 79, created_at: "2023-04-12 14:59:02.977673000 +0000", author_id: 2071>5358 mixing id and sha5359 when arguments are consistent5360 is expected to contain exactly #<DesignManagement::Version id: 1, sha: "894c4e0edf0c836a260eaa4bf9452944a1079ce9", issue_id: 79, created_at: "2023-04-12 14:59:02.878738000 +0000", author_id: 2071>5361 when arguments are in-consistent5362 is expected to be empty5363Gitlab::Database::LoadBalancing::ServiceDiscovery5364 #initialize5365 :record_type5366 with a supported type5367 is expected to eq 335368 with an unsupported type5369 raises an argument error5370 #start5371 starts service discovery in a new thread5372 #perform_service_discovery5373 without any failures5374 runs once5375 with failures5376 retries service discovery when under the retry limit5377 does not retry service discovery after exceeding the limit5378 reports exceptions to Sentry5379 #refresh_if_necessary5380 when a refresh is necessary5381 refreshes the load balancer hosts5382 when a refresh is not necessary5383 does not refresh the load balancer hosts5384 #replace_hosts5385 replaces the hosts of the load balancer5386 disconnects the old connections5387 #addresses_from_dns5388 with an A record5389 returns a TTL and ordered list of IP addresses5390 with an SRV record5391 returns a TTL and ordered list of hosts5392 when max_replica_pools is set5393 when the number of addresses exceeds max_replica_pools5394 limits to max_replica_pools5395 when the number of addresses is less than max_replica_pools5396 returns all addresses5397 when the resolver returns an empty response5398 raises EmptyDnsResponse5399 #new_wait_time_for5400 returns the DNS TTL if greater than the default interval5401 returns the default interval if greater than the DNS TTL5402 returns the default interval if no resources are given5403 #addresses_from_load_balancer5404 returns the ordered host names of the load balancer5405 #resolver5406 without predefined resolver5407 fetches a new resolver and assigns it to the instance variable5408 with predefined resolver5409 when nameserver's TTL is in the future5410 returns the existing resolver5411 when nameserver's TTL is in the past5412 fetches new resolver5413PrometheusAlertEvent5414 associations5415 is expected to belong to prometheus_alert required: true5416 validations5417 is expected to be valid5418 is expected to validate that :prometheus_alert cannot be empty/falsy, producing a custom validation error on failure5419 is expected to validate that :payload_key is case-sensitively unique within the scope of :prometheus_alert_id5420 is expected to validate that :started_at cannot be empty/falsy5421 payload_key & ended_at5422 absent if firing?5423 is expected to validate that :payload_key cannot be empty/falsy5424 is expected not to validate that :ended_at cannot be empty/falsy5425 present if resolved?5426 is expected not to validate that :payload_key cannot be empty/falsy5427 is expected to validate that :ended_at cannot be empty/falsy5428 #title5429 delegates to alert5430 prometheus_metric_id5431 delegates to alert5432 transaction5433 fire5434 when status is none5435 fires an event5436 when firing5437 cannot fire again5438 resolve5439 when firing5440 resolves an event5441 when resolved5442 cannot resolve again5443Resolvers::AlertManagement::IntegrationsResolver5444 is expected to have nullable GraphQL type AlertManagementIntegrationConnection5445 user does not have permission5446 is expected to be empty5447 user has permission5448 is expected to contain exactly #<AlertManagement::HttpIntegration id: 2, created_at: "2023-04-12 14:59:09.972964413 +0000", updated_...tifier: "5fb24217", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil> and #<Integrations::Prometheus id: 20, project_id: 781, created_at: "2023-04-12 14:59:09.966043805 +0000"...pted_properties_iv: "\x02\xCEB\xA2\xB0\x98$[\xFE\xA9!\x11", incident_events: false, properties: nil>5449 when HTTP Integration ID is given5450 when integration is from the current project5451 is expected to contain exactly #<AlertManagement::HttpIntegration id: 3, created_at: "2023-04-12 14:59:09.976538312 +0000", updated_...tifier: "644821f5", name: "DataDog", payload_example: {}, payload_attribute_mapping: {}, token: nil>5452 when integration is from other project5453 is expected to be empty5454 when Prometheus Integration ID is given5455 when integration is from the current project5456 is expected to contain exactly #<Integrations::Prometheus id: 20, project_id: 781, created_at: "2023-04-12 14:59:09.966043805 +0000"...pted_properties_iv: "\x02\xCEB\xA2\xB0\x98$[\xFE\xA9!\x11", incident_events: false, properties: nil>5457 when integration is from other project5458 is expected to be empty5459projects/merge_requests/_commits.html.haml5460 shows commits from source project5461 shows signature verification badge5462Gitlab::Database::Reindexing5463 .invoke5464 cleans up any leftover indexes5465 executes async index destruction prior to any reindexing actions5466 when there is an error raised5467 logs and re-raise5468 when async index creation is enabled5469 executes async index creation prior to any reindexing actions5470 when async index creation is disabled5471 does not execute async index creation5472 calls automatic reindexing5473 uses all candidate indexes5474 when explicit database is given5475 skips other databases5476 when async FK validation is enabled5477 executes FK validation for each database prior to any reindexing actions5478 when async FK validation is disabled5479 does not execute FK validation5480 .automatic_reindexing5481 cleans up leftovers, before consuming the queue5482 with records in the queue5483 with enough records in the queue to reach limit5484 does not perform reindexing with heuristic5485 without enough records in the queue to reach limit5486 continues if the queue did not have enough records5487 .perform_with_heuristic5488 delegates to Coordinator5489 .perform_from_queue5490 consumes the queue in order of created_at and applies the limit5491 updates queued action and sets state to done5492 updates queued action upon error and sets state to failed5493 .cleanup_leftovers!5494 drops both leftover indexes5495Ci::SecureFileUploader5496 #key5497 creates a digest with a secret key and the project id5498 .checksum5499 returns a SHA256 checksum for the unencrypted file5500 encryption5501 encrypts the stored file5502 decrypts the file when reading5503 .direct_upload_enabled?5504 returns false5505 .default_store5506 when object storage is enabled5507 returns REMOTE5508 when object storage is disabled5509 returns LOCAL5510Gitlab::Instrumentation::RedisInterceptor5511 read and write5512 setup: [], command: [:set, "foo", "bar"], expect_write: 9, expect_read: 25513 counts bytes read and written5514 setup: [[:set, "foobar", 1000]], command: [:incr, "foobar"], expect_write: 10, expect_read: 45515 counts bytes read and written5516 setup: [], command: [:hgetall, "foobar"], expect_write: 13, expect_read: 05517 counts bytes read and written5518 setup: [[:hset, "myhash", "field", "hello world"]], command: [:hgetall, "myhash"], expect_write: 13, expect_read: 165519 counts bytes read and written5520 setup: [[:set, "foo", "barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar"]], command: [:get, "foo"], expect_write: 6, expect_read: 3005521 counts bytes read and written5522 setup: [[:zadd, "myset", 0, "foo"], [:zadd, "myset", 1, "bar"]], command: [:zrange, "myset", 0, -1, "withscores"], expect_write: 24, expect_read: 85523 counts bytes read and written5524 counting5525 counts successful requests5526 counts successful pipelined requests5527 when encountering exceptions5528 generic exception5529 counts exception5530 moved redirection5531 counts exception5532 ask redirection5533 counts exception5534 in production environment5535 counts disallowed cross-slot requests5536 does not count allowed cross-slot requests5537 skips count for non-cross-slot requests5538 without active RequestStore5539 still runs cross-slot validation5540 latency5541 commands in the apdex5542 command: [:get, "foobar"]5543 measures requests we want in the apdex5544 command: ["GET", "foobar"]5545 measures requests we want in the apdex5546 with pipelined commands5547 measures requests that do not have blocking commands5548 raises error when keys are not from the same slot5549 commands not in the apdex5550 setup: [["rpush", "foobar", 1]], command: ["brpop", "foobar", 0]5551 skips requests we do not want in the apdex5552 setup: [["rpush", "foobar", 1]], command: ["blpop", "foobar", 0]5553 skips requests we do not want in the apdex5554 setup: [["rpush", "{abc}foobar", 1]], command: ["brpoplpush", "{abc}foobar", "{abc}bazqux", 0]5555 skips requests we do not want in the apdex5556 setup: [["rpush", "{abc}foobar", 1]], command: ["brpoplpush", "{abc}foobar", "{abc}bazqux", 0]5557 skips requests we do not want in the apdex5558 setup: [["zadd", "foobar", 1, "a"]], command: ["bzpopmin", "foobar", 0]5559 skips requests we do not want in the apdex5560 setup: [["zadd", "foobar", 1, "a"]], command: ["bzpopmax", "foobar", 0]5561 skips requests we do not want in the apdex5562 setup: [["xadd", "mystream", 1, "myfield", "mydata"]], command: ["xread", "block", 1, "streams", "mystream", "0-0"]5563 skips requests we do not want in the apdex5564 setup: [["xadd", "foobar", 1, "myfield", "mydata"], ["xgroup", "create", "foobar", "mygroup", 0]], command: ["xreadgroup", "group", "mygroup", "myconsumer", "block", 1, "streams", "foobar", "0-0"]5565 skips requests we do not want in the apdex5566 with pipelined commands5567 skips requests that have blocking commands5568Sidebars::Panel5569 #renderable_menus5570 returns only renderable menus5571 #super_sidebar_menu_items5572 serializes every renderable menu and returns a flattened result5573 #super_sidebar_context_header5574 raises `NotImplementedError`5575 #has_renderable_menus?5576 returns false when no renderable menus5577 returns true when no renderable menus5578 #add_element5579 adds the element to the last position of the list5580 does not add nil elements5581 #insert_element_before5582 adds element before the specific element class5583 does not add nil elements5584 when reference element does not exist5585 adds the element to the top of the list5586 #insert_element_after5587 adds element after the specific element class5588 does not add nil elements5589 when reference element does not exist5590 adds the element to the end of the list5591 #replace_element5592 replace existing element in the list5593 does not add nil elements5594 does not add the element if the other element is not found5595SentryIssueFinder5596 #execute5597 when the user is not part of the project5598 is expected to be nil5599 when the user is a project developer5600 is expected to eq #<SentryIssue id: 9, issue_id: 81, sentry_issue_identifier: 10000009>5601 when identifier is incorrect5602 is expected to be nil5603 when accessing another projects identifier5604 is expected to be nil5605Gitlab::ImportExport::Project::ExportTask5606 when project is found5607 performs project export successfully5608 behaves like rake task with disabled object_storage5609 disables direct & background upload only for service call5610 when project is not found5611 logs an error5612 returns false5613 when file path is invalid5614 logs an error5615 returns false5616 when after export strategy fails5617 error is logged5618 when saving services fail5619 error is logged5620Ci::GenerateCodequalityMrDiffReportService5621 #execute5622 when head pipeline has codequality mr diff report5623 returns status and data5624 when head pipeline does not have a codequality mr diff report5625 returns status and error message5626 when head pipeline has codequality mr diff report and no merge request associated5627 returns status and error message5628Gitlab::Ci::Config::Entry::Rules::Rule::Changes5629 .new5630 when using a string array5631 is expected to be valid5632 when using an integer array5633 is expected not to be valid5634 returns errors5635 when using a string5636 is expected not to be valid5637 reports an error about invalid policy5638 when using a long array5639 is expected not to be valid5640 returns errors5641 when clause is empty5642 is expected to be valid5643 when policy strategy does not match5644 is expected not to be valid5645 returns information about errors5646 with paths5647 when paths is an array of strings5648 is expected to be valid5649 when paths is not an array5650 is expected not to be valid5651 returns information about errors5652 when paths is an array of integers5653 is expected not to be valid5654 returns information about errors5655 when paths is an array of long strings5656 is expected not to be valid5657 returns information about errors5658 when paths is nil5659 is expected not to be valid5660 returns information about errors5661 with paths and compare_to5662 is expected to be valid5663 when compare_to is not a string5664 is expected not to be valid5665 returns information about errors5666 #value5667 when using a string array5668 is expected to eq {:paths=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}5669 with paths5670 is expected to eq {:paths=>["app/", "lib/"]}5671 with paths and compare_to5672 is expected to eq {:compare_to=>"branch1", :paths=>["app/", "lib/"]}5673LoadedInGroupList5674 .with_selects_for_list5675 includes the preloaded counts for groups5676 with project namespaces5677 does not include project_namespaces in the count of subgroups5678 with archived projects5679 counts including archived projects when `true` is passed5680 when not counting archived projects5681 counts projects without archived ones5682 with archived only5683 counts only archived projects when `only` is passed5684 #children_count5685 counts groups and projects5686Resolvers::ProjectPackagesResolver5687 #resolve5688 behaves like group and projects packages resolver5689 without sort5690 returns the proper packages5691 with sorting and filtering5692 CREATED_DESC5693 is expected to eq [#<Packages::Package id: 8, project_id: 808, created_at: "2023-04-12 13:59:39.179236607 +0000", updat...sion: "1.0.0", package_type: "conan", creator_id: 2109, status: "default", last_downloaded_at: nil>]5694 NAME_DESC5695 is expected to eq [#<Packages::Package id: 8, project_id: 808, created_at: "2023-04-12 13:59:39.179236607 +0000", updat...sion: "1.0.0", package_type: "conan", creator_id: 2109, status: "default", last_downloaded_at: nil>]5696 VERSION_DESC5697 is expected to eq [#<Packages::Package id: 8, project_id: 808, created_at: "2023-04-12 13:59:39.179236607 +0000", updat...sion: "1.0.0", package_type: "conan", creator_id: 2109, status: "default", last_downloaded_at: nil>]5698 TYPE_ASC5699 is expected to eq [#<Packages::Package id: 8, project_id: 808, created_at: "2023-04-12 13:59:39.179236607 +0000", updat...sion: "1.0.0", package_type: "conan", creator_id: 2109, status: "default", last_downloaded_at: nil>]5700 CREATED_ASC5701 is expected to eq [#<Packages::Package id: 6, project_id: 808, created_at: "2023-04-11 14:59:38.785958972 +0000", updat...ersion: "2.0.0", package_type: "maven", creator_id: 2109, status: "error", last_downloaded_at: nil>]5702 NAME_ASC5703 is expected to eq [#<Packages::Package id: 6, project_id: 808, created_at: "2023-04-11 14:59:38.785958972 +0000", updat...ersion: "2.0.0", package_type: "maven", creator_id: 2109, status: "error", last_downloaded_at: nil>]5704 VERSION_ASC5705 is expected to eq [#<Packages::Package id: 6, project_id: 808, created_at: "2023-04-11 14:59:38.785958972 +0000", updat...ersion: "2.0.0", package_type: "maven", creator_id: 2109, status: "error", last_downloaded_at: nil>]5706 TYPE_DESC5707 is expected to eq [#<Packages::Package id: 6, project_id: 808, created_at: "2023-04-11 14:59:38.785958972 +0000", updat...ersion: "2.0.0", package_type: "maven", creator_id: 2109, status: "error", last_downloaded_at: nil>]5708 filter by package_name5709 is expected to eq [#<Packages::Package id: 6, project_id: 808, created_at: "2023-04-11 14:59:38.785958972 +0000", updat...sion: "1.0.0", package_type: "conan", creator_id: 2109, status: "default", last_downloaded_at: nil>]5710 filter by package_type5711 is expected to eq [#<Packages::Package id: 6, project_id: 808, created_at: "2023-04-11 14:59:38.785958972 +0000", updat...sion: "1.0.0", package_type: "conan", creator_id: 2109, status: "default", last_downloaded_at: nil>]5712 filter by status5713 is expected to eq [#<Packages::Package id: 8, project_id: 808, created_at: "2023-04-12 13:59:39.179236607 +0000", updat...ersion: "2.0.0", package_type: "maven", creator_id: 2109, status: "error", last_downloaded_at: nil>]5714 include_versionless5715 is expected to include #<Packages::Package id: 10, project_id: 808, created_at: "2023-04-12 14:58:39.480251357 +0000", updat..., version: nil, package_type: "maven", creator_id: 2109, status: "default", last_downloaded_at: nil>5716Integrations::PropagateService5717 .propagate5718 with inherited integration5719 calls to PropagateIntegrationProjectWorker5720 with a project without integration5721 calls to PropagateIntegrationProjectWorker5722 with a group without integration5723 calls to PropagateIntegrationProjectWorker5724 for a group-level integration5725 with a project without integration5726 calls to PropagateIntegrationProjectWorker5727 with a subgroup without integration5728 calls to PropagateIntegrationGroupWorker5729 with a subgroup with integration5730 calls to PropagateIntegrationInheritDescendantWorker5731UpdateHighestRoleWorker5732 #perform5733 when user is not found5734 does not update or deletes any highest role5735 when user is found5736 when user is active and not internal5737 when user highest role exists5738 updates the highest role for the user5739 when user highest role does not exist5740 creates the highest role for the user5741 when user is either inactive or internal5742 additional_attributes: {:state=>"blocked"}5743 deletes highest role5744 additional_attributes: {:user_type=>:alert_bot}5745 deletes highest role5746 when user highest role does not exist5747 does not delete a highest role5748Mutations::Timelogs::Delete5749 #resolve5750 when the timelog id is not valid5751 raises Gitlab::Graphql::Errors::ResourceNotAvailable5752 when the current user is not the timelog's author, not a maintainer and not an admin5753 raises Gitlab::Graphql::Errors::ResourceNotAvailable5754 when the current user is the timelog's author5755 deletes the timelog5756 returns the deleted timelog5757 returns no errors5758 when the current user is not the timelog's author but a maintainer of the project5759 deletes the timelog5760 returns the deleted timelog5761 returns no errors5762 when the current user is not the timelog's author, not a maintainer but an admin5763 deletes the timelog5764 returns the deleted timelog5765 returns no errors5766PersonalAccessTokenPolicy5767 current_user is an administrator5768 not the owner of the token5769 is expected to be allowed :read_token5770 is expected to be allowed :revoke_token5771 owner of the token5772 is expected to be allowed :read_token5773 is expected to be allowed :revoke_token5774 current_user is not an administrator5775 not the owner of the token5776 is expected to be disallowed :read_token5777 is expected to be disallowed :revoke_token5778 owner of the token5779 is expected to be allowed :read_token5780 is expected to be allowed :revoke_token5781 subject of the impersonated token5782 is expected to be disallowed :read_token5783 is expected to be disallowed :revoke_token5784 current_user is a blocked administrator5785 owner of the token5786 is expected to be disallowed :read_token5787 is expected to be disallowed :revoke_token5788 not the owner of the token5789 is expected to be disallowed :read_token5790 is expected to be disallowed :revoke_token5791Gitlab::SidekiqConfig::Worker5792 #ee?5793 returns the EE status set on creation5794 #jh?5795 returns the JH status set on creation5796 #==5797 defines two workers as equal if their YAML representations are equal5798 returns true when a worker is compared with its YAML representation5799 delegations5800 delegates feature_category_not_owned? to the worker class5801 delegates generated_queue_name to the worker class5802 delegates get_feature_category to the worker class5803 delegates get_weight to the worker class5804 delegates get_worker_resource_boundary to the worker class5805 delegates get_urgency to the worker class5806 delegates queue_namespace to the worker class5807 delegates worker_has_external_dependencies? to the worker class5808 sorting5809 sorts queues with a namespace before those without a namespace5810 sorts alphabetically by queue5811 YAML encoding5812 encodes the worker in YAML as a hash of the queue5813 #namespace_and_weight5814 returns a namespace, weight pair for the worker5815 #queue_and_weight5816 returns a queue, weight pair for the worker5817Gitlab::Cluster::Mixins::PumaCluster5818 when running Puma in Cluster-mode5819 signal: :USR1, exitstatus: 140, termsig: nil5820 properly handles process lifecycle5821 signal: :USR2, exitstatus: 140, termsig: nil5822 properly handles process lifecycle5823 signal: :INT, exitstatus: 140, termsig: nil5824 properly handles process lifecycle5825 signal: :HUP, exitstatus: 140, termsig: nil5826 properly handles process lifecycle5827 signal: :TERM, exitstatus: nil, termsig: 155828 properly handles process lifecycle5829Resolvers::DesignManagement::Version::DesignAtVersionResolver5830 #resolve5831 passing combinations of arguments5832 passing no arguments5833 behaves like a bad argument5834 generates an error5835 passing all arguments5836 behaves like a bad argument5837 generates an error5838 passing any two arguments5839 behaves like a bad argument5840 generates an error5841 passing id5842 finds the design5843 when the user cannot see designs5844 returns nothing5845 passing design_id5846 finds the design5847 when the user cannot see designs5848 returns nothing5849 passing filename5850 finds the design5851 when the user cannot see designs5852 returns nothing5853 attempting to retrieve an object not visible at this version5854 passing id5855 does not find the design5856 passing design_id5857 does not find the design5858 passing filename5859 does not find the design5860AbuseReportsFinder#execute5861 when params is empty5862 returns all abuse reports5863 when params[:user_id] is present5864 returns abuse reports for the specified user5865 when params[:user] is present5866 behaves like returns filtered reports5867 returns abuse reports filtered by user_id5868 when no user has username = params[:user]5869 returns all abuse reports5870 when params[:reporter] is present5871 behaves like returns filtered reports5872 returns abuse reports filtered by reporter_id5873 when no user has username = params[:reporter]5874 returns all abuse reports5875 when params[:status] is present5876 when value is "open"5877 returns only open abuse reports5878 when value is "closed"5879 returns only closed abuse reports5880 when value is not a valid status5881 defaults to returning open abuse reports5882 when abuse_reports_list feature flag is disabled5883 does not filter by status5884 when params[:category] is present5885 returns abuse reports with the specified category5886 sorting5887 returns reports sorted by the specified sort attribute5888 when sort is not specified5889 returns reports sorted by created_at_desc5890 when sort is not supported5891 returns reports sorted by created_at_desc5892 when abuse_reports_list feature flag is disabled5893 returns reports sorted by id in descending order5894Ci::PipelineMessage5895 validations5896 when message content is longer than the limit5897 is truncated with ellipsis5898 when message is not present5899 returns an error5900 when message content is valid5901 is saved with default error severity5902 is persist the defined severity5903Gitlab::Harbor::Client5904 #initialize5905 if integration is nil5906 raises ConfigError5907 integration is provided5908 is initialized successfully5909 #get_repositories5910 with valid params5911 get repositories5912 when harbor project does not exist5913 raises Gitlab::Harbor::Client::Error5914 with invalid response5915 raises Gitlab::Harbor::Client::Error5916 #get_artifacts5917 with valid params5918 get artifacts5919 when harbor repository does not exist5920 raises Gitlab::Harbor::Client::Error5921 with invalid response5922 raises Gitlab::Harbor::Client::Error5923 #get_tags5924 with valid params5925 get tags5926 when harbor artifact does not exist5927 raises Gitlab::Harbor::Client::Error5928 with invalid response5929 raises Gitlab::Harbor::Client::Error5930 #ping5931 calls api/v2.0/ping successfully5932Terraform-Module.gitlab-ci.yml5933 # order random5934 the created pipeline5935 when on default branch5936 behaves like on any branch5937 creates fmt and kics job5938 does not create a deploy job5939 when outside the default branch5940 behaves like on any branch5941 creates fmt and kics job5942 does not create a deploy job5943 when on tag5944 creates fmt and deploy job5945Ci::UnitTest5946 behaves like cleanup by a loose foreign key5947 cleans up (delete or nullify) the model5948 relationships5949 is expected to belong to project required: false5950 is expected to have many unit_test_failures5951 validations5952 is expected to validate that :project cannot be empty/falsy5953 is expected to validate that :key_hash cannot be empty/falsy5954 is expected to validate that :name cannot be empty/falsy5955 is expected to validate that :suite_name cannot be empty/falsy5956 .find_or_create_by_batch5957 finds or creates records for the given unit test keys5958 when a given name or suite_name exceeds the string size limit5959 truncates the values before storing the information5960PublicUrlValidator5961 #validate5962 with no options5963 allows http,https schemes by default5964 checks that the url structure is valid5965 with schemes5966 allows urls with the defined schemes5967 add error if the url scheme does not match the selected ones5968 by default5969 blocks urls pointing to localhost5970 blocks urls pointing to the local network5971 when local requests are allowed5972 does not block urls pointing to localhost5973 does not block urls pointing to the local network5974Gitlab::Utils::Override5975 # order random5976 #override5977 when instance is klass.new(0)5978 when STATIC_VERIFICATION is set5979 when subject is a class5980 behaves like checking as intended5981 checks ok for overriding method5982 checks ok for overriding method using negative arity5983 raises NotImplementedError when it is not overriding anything5984 raises NotImplementedError when overriding a method with different arity5985 when subject is a module, and class is prepending it5986 behaves like checking as intended5987 checks ok for overriding method5988 checks ok for overriding method using negative arity5989 raises NotImplementedError when it is not overriding anything5990 raises NotImplementedError when overriding a method with different arity5991 when subject is a module, and class is including it5992 behaves like checking as intended, nothing was overridden5993 raises NotImplementedError because it is not overriding it5994 raises NotImplementedError when it is not overriding anything5995 when ActiveSupport::Concern and class_methods are used5996 when it is defining a overriding method5997 verifies5998 when it is not defining a overriding method5999 raises NotImplementedError6000 when STATIC_VERIFICATION is not set6001 when subject is a class6002 behaves like nothing happened6003 does not complain when it is overriding something6004 does not complain when it is not overriding anything6005 when subject is a module, and class is prepending it6006 behaves like nothing happened6007 does not complain when it is overriding something6008 does not complain when it is not overriding anything6009 when subject is a module, and class is including it6010 does not complain when it is overriding something6011 does not complain when it is not overriding anything6012 when instance is klass6013 when STATIC_VERIFICATION is set6014 when subject is a module, and class is prepending it6015 behaves like checking as intended6016 checks ok for overriding method6017 checks ok for overriding method using negative arity6018 raises NotImplementedError when it is not overriding anything6019 raises NotImplementedError when overriding a method with different arity6020 when subject is a module, and class is extending it6021 behaves like checking as intended, nothing was overridden6022 raises NotImplementedError because it is not overriding it6023 raises NotImplementedError when it is not overriding anything6024IncidentManagement::PagerDuty::ProcessWebhookService6025 # order random6026 #execute6027 when PagerDuty webhook setting is active6028 when token is valid6029 when webhook payload has acceptable size6030 responds with Accepted6031 processes issues6032 when webhook payload is too big6033 responds with Bad Request6034 behaves like does not process incidents6035 does not process incidents6036 when webhook payload is blank6037 responds with Accepted6038 behaves like does not process incidents6039 does not process incidents6040 when token is invalid6041 responds with Unauthorized6042 behaves like does not process incidents6043 does not process incidents6044 when both tokens are nil6045 responds with Unauthorized6046 behaves like does not process incidents6047 does not process incidents6048 when PagerDuty webhook setting is not active6049 responds with Forbidden6050 behaves like does not process incidents6051 does not process incidents6052Gitlab::JiraImport::BaseImporter6053 with any inheriting class6054 when project validation is ok6055 when Jira service exists6056 when Jira import data is not present6057 raises exception6058 when import data exists6059 when #imported_items_cache_key is not implemented6060 is expected to raise NotImplementedError6061 when #imported_items_cache_key is implemented6062 #imported_items_cache_key6063 is expected to eq "dumb-importer-key"6064 #mark_as_imported6065 stores id in redis cache6066 #already_imported?6067 returns false if value is not in cache6068 returns true if value already stored in cache6069TokenAuthenticatableStrategies::Encrypted6070 #token_fields6071 includes the encrypted field6072 #find_token_authenticatable6073 when encryption is required6074 behaves like finds the resource with/without setting require_prefix_for_validation6075 behaves like finds the resource6076 finds the resource by cleartext6077 when a require_prefix_for_validation is provided6078 behaves like does not find any resource6079 does not find any resource by cleartext6080 when token starts with prefix6081 behaves like finds the resource6082 finds the resource by cleartext6083 when encryption is optional6084 uses insecure strategy when encrypted token cannot be found6085 behaves like finds the resource with/without setting require_prefix_for_validation6086 behaves like finds the resource6087 finds the resource by cleartext6088 when a require_prefix_for_validation is provided6089 behaves like does not find any resource6090 does not find any resource by cleartext6091 when token starts with prefix6092 behaves like finds the resource6093 finds the resource by cleartext6094 when encryption is migrating6095 behaves like finds the resource with/without setting require_prefix_for_validation6096 behaves like finds the resource6097 finds the resource by cleartext6098 when a require_prefix_for_validation is provided6099 behaves like does not find any resource6100 does not find any resource by cleartext6101 when token starts with prefix6102 behaves like finds the resource6103 finds the resource by cleartext6104 #get_token6105 when encryption is required6106 returns decrypted token when an encrypted with static iv token is present6107 returns decrypted token when an encrypted token is present6108 when encryption is optional6109 returns decrypted token when an encrypted token is present6110 returns decrypted token when an encrypted with static iv token is present6111 returns the plaintext token when encrypted token is not present6112 when encryption is migrating6113 returns cleartext token when an encrypted token is present6114 returns the cleartext token when encrypted token is not present6115 #set_token6116 when encryption is required6117 writes encrypted token and returns it6118 when encryption is optional6119 writes encrypted token and removes plaintext token and returns it6120 when encryption is migrating6121 writes encrypted token and writes plaintext token6122ResourceEvents::SyntheticMilestoneNotesBuilderService6123 #execute6124 builds milestone notes for resource milestone events6125 behaves like filters by paginated notes6126 only returns given notes6127 when paginated notes is empty6128 does not return any notes6129Projects::LfsPointers::LfsImportService6130 when lfs is enabled for the project6131 downloads lfs objects6132 when no downloadable lfs object links6133 does not call LfsDownloadService6134 when an exception is raised6135 returns error6136 when lfs is not enabled for the project6137 does not download lfs objects6138BulkImports::Tracker6139 associations6140 is expected to belong to entity class_name => BulkImports::Entity required: true inverse_of => trackers6141 validations6142 is expected to validate that :relation cannot be empty/falsy6143 is expected to validate that :relation is case-sensitively unique within the scope of :bulk_import_entity_id6144 is expected to validate that :stage cannot be empty/falsy6145 when has_next_page is true6146 validates presence of `next_page`6147 .stage_running?6148 returns true if there is any unfinished pipeline in the given stage6149 returns false if there are no unfinished pipeline in the given stage6150 .next_pipeline_trackers_for6151 returns empty when all the stages pipelines are finished6152 returns the not started pipeline trackers from the minimum stage number6153 #pipeline_class6154 returns the pipeline class6155 raises an error when the pipeline is not valid6156DisableJoins6157 passing disable_joins as an association option6158 when the association is a bare has_one6159 disallows the disable_joins option6160 when the association is a belongs_to6161 disallows the disable_joins option6162 when the association is has_one :through6163 allows the disable_joins option6164 when the association is a bare has_many6165 disallows the disable_joins option6166 when the association is a has_many :through6167 allows the disable_joins option6168 querying has_one :through when disable_joins is set6169 when disable_joins evaluates to true6170 executes separate queries6171 when disable_joins evalutes to false6172 executes a single query6173 querying has_many :through when disable_joins is set6174 when disable_joins evaluates to true6175 executes separate queries6176 when disable_joins evalutes to false6177 executes a single query6178 querying STI relationships6179 filters correctly by the STI type across multiple queries6180 querying polymorphic relationships6181 filters correctly by the polymorphic type across multiple queries6182RuboCop::Cop::RSpec::FactoriesInMigrationSpecs6183 # order random6184 behaves like an offensive factory call6185 registers an offense for build(:user)6186 registers an offense for build_list(:user)6187 registers an offense for create(:user)6188 registers an offense for create_list(:user)6189 registers an offense for attributes_for(:user)6190 behaves like an offensive factory call6191 registers an offense for FactoryBot.build(:user)6192 registers an offense for FactoryBot.build_list(:user)6193 registers an offense for FactoryBot.create(:user)6194 registers an offense for FactoryBot.create_list(:user)6195 registers an offense for FactoryBot.attributes_for(:user)6196Projects::MoveNotificationSettingsService6197 #execute6198 does not move existent notification settings in the current project6199 with notification settings6200 moves the user's notification settings from one project to another6201 rollbacks changes if transaction fails6202 when remove_remaining_elements is false6203 does not remove remaining notification settings6204Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::UntilExecuted6205 behaves like deduplicating jobs when scheduling6206 #schedule6207 checks for duplicates before yielding6208 checks worker options for scheduled jobs6209 job marking6210 adds the jid of the existing job to the job hash6211 scheduled jobs6212 scheduled in the past6213 adds the jid of the existing job to the job hash6214 scheduled in the future6215 adds the jid of the existing job to the job hash6216 when the job is not duplicate6217 does not return false nor drop the job6218 when the job is droppable6219 updates latest wal location6220 returns false to drop the job6221 logs that the job was dropped6222 logs the deduplication options of the worker6223 #perform6224 updates job hash with dedup_wal_locations6225 when latest_wal_location is empty6226 does not update job hash with dedup_wal_locations6227 #perform6228 deletes the lock after executing6229 deletes the lock even if an error occurs6230 does not reschedule the job even if deduplication happened6231 when job is reschedulable6232 reschedules the job if deduplication happened6233 does not reschedule the job if an error occurs6234Gitlab::Ci::Jwt6235 #payload6236 has correct values for the standard JWT attributes6237 has correct values for the custom attributes6238 skips user related custom attributes if build has no user assigned6239 ref type6240 branches6241 is "branch"6242 tags6243 is "tag"6244 merge requests6245 is "branch"6246 ref_protected6247 is false when ref is not protected6248 is true when ref is protected6249 environment6250 has correct values for environment attributes6251 deployment_tier6252 when build options specifies a different deployment_tier6253 uses deployment_tier from build options6254 .for_build6255 when ci_jwt_signing_key is present6256 behaves like generating JWT for build6257 when signing key is present6258 generates JWT with key id6259 generates JWT for the given job with ttl equal to build timeout6260 generates JWT for the given job with default ttl if build timeout is not set6261 when signing key is missing6262 raises NoSigningKeyError6263ExternalServiceReactiveCachingWorker6264 behaves like reactive cacheable worker6265 #perform6266 when reactive cache worker class is found6267 calls #exclusively_update_reactive_cache!6268 when ReactiveCaching::ExceededReactiveCacheLimit is raised6269 avoids failing the job and tracks via Gitlab::ErrorTracking6270 when reactive cache worker class is not found6271 raises no error6272 when reactive cache worker class is invalid6273 raises no error6274 worker context6275 sets the related class on the job6276 sets the related class on the job when it was passed as a class6277ProtectedRefAccess6278 #check_access6279 is always true for admins6280 is true for maintainers6281 is for developers of the project6282 external authorization6283 is false if external authorization denies access6284Ci::CreatePipelineService6285 creation errors and warnings6286 when created successfully6287 when warnings are raised6288 contains only warnings6289 when no warnings are raised6290 contains no warnings6291 when failed to create the pipeline6292 when errors are raised and masked variables are involved6293 contains errors and masks variables6294 when warnings are raised6295 contains both errors and warnings6296 when no warnings are raised6297 contains only errors6298Ci::CreatePipelineService6299 #execute6300 with deployment tier6301 creates the environment with the expected tier6302 when tier is testing6303 creates the environment with the expected tier6304 when branch pipeline creates a dynamic environment6305 does not associate merge request with the environment6306 when variables are dependent on stage name6307 creates the pipeline successfully6308CronFreezePeriodTimezoneValidator6309 freeze_start: "0 23 * * 5", freeze_end: "0 7 * * 1", is_valid: true6310 crontab validation6311 freeze_start: "0 23 * * 5", freeze_end: "invalid", is_valid: false6312 crontab validation6313 freeze_start: "invalid", freeze_end: "0 7 * * 1", is_valid: false6314 crontab validation6315Gitlab::Ci::Parsers::Terraform::Tfplan6316 #parse!6317 when data is invalid6318 when data is not a JSON file6319 reports an invalid_json_format error6320 when JSON is missing a required key6321 reports an invalid_json_keys error6322 when artifact is invalid6323 reports an :unknown_error6324 when job is invalid6325 reports an :unknown_error6326 when data is valid6327 parses JSON and returns a report6328 parses JSON when extra keys are present6329LfsPointersFinder6330 #execute6331 when path has no LFS files6332 is expected to eq []6333 when path points to LFS file6334 returns LFS blob ids6335 when path points to directory with LFS files6336 returns LFS blob ids6337 when repository is empty6338 is expected to eq []6339Packages::Debian::CleanupDanglingPackageFilesWorker6340 # order random6341 #perform6342 when debian_packages flag is disabled6343 does nothing6344 with mocked service returning success6345 calls MarkPackageFilesForDestructionService6346 with mocked service returning error6347 ignore error6348 when the service raises an error6349 logs exception6350 with valid parameters6351 behaves like an idempotent worker6352 is labeled as idempotent6353 performs multiple times sequentially without raising an exception6354 mark dangling package files as pending destruction6355ProjectMetricsSetting6356 Associations6357 is expected to belong to project required: false6358 Validations6359 when external_dashboard_url is over 255 chars6360 fails validation6361 with unsafe url6362 is expected to be invalid6363 non ascii chars in external_dashboard_url6364 is expected to be invalid6365 internal url in external_dashboard_url6366 is expected to be valid6367 dashboard_timezone6368 is expected to define :dashboard_timezone as an enum backed by an integer with values ‹{local: 0, utc: 1}›6369 defaults to local6370 #dashboard_timezone=6371 downcases string6372Gitlab::Ci::Config::Entry::Needs6373 validations6374 when entry config value is correct6375 #valid?6376 is expected to be valid6377 when config value has wrong type6378 #valid?6379 is expected not to be valid6380 #errors6381 returns error about incorrect type6382 when wrong needs type is used6383 #valid?6384 is expected not to be valid6385 #errors6386 returns error about incorrect type6387 when wrong needs type is used6388 #valid?6389 is expected not to be valid6390 #errors6391 returns error about incorrect type6392 with too many cross pipeline dependencies6393 #valid?6394 is expected not to be valid6395 #errors6396 returns error about incorrect type6397 .compose!6398 when valid job entries composed6399 #value6400 returns key value6401 behaves like entry with descendant nodes6402 #descendants6403 creates valid descendant nodes6404 with complex job entries composed6405 #value6406 returns key value6407 behaves like entry with descendant nodes6408 #descendants6409 creates valid descendant nodes6410 with mixed job entries composed6411 #value6412 returns key value6413 behaves like entry with descendant nodes6414 #descendants6415 creates valid descendant nodes6416 with empty config6417 #value6418 returns empty value6419AlertManagement::AlertUserMention6420 associations6421 is expected to belong to alert class_name => ::AlertManagement::Alert required: false inverse_of => user_mentions6422 is expected to belong to note required: false6423 behaves like has user mentions6424 #has_mentions?6425 when no mentions6426 returns false6427 when mentioned_users_ids not null6428 returns true6429 when mentioned projects6430 returns true6431 when mentioned groups6432 returns true6433Gitlab::GithubImport::RefreshImportJidWorker6434 .perform_in_the_future6435 schedules a job in the future6436 #perform6437 when the project does not exist6438 does nothing6439 when the job is running6440 refreshes the import JID and reschedules itself6441 when the job is no longer running6442 returns6443 #find_import_state6444 returns a ProjectImportState6445 returns nil for a import state for which the import process failed6446 returns nil for a non-existing find_import_state6447Gitlab::Ci::Variables::Builder::Project6448 #secret_variables6449 when the ref is protected6450 contains all the variables6451 when the ref is not protected6452 contains only the unprotected variables6453 when environment name is specified6454 when environment scope is exactly matched6455 is expected to contain exactly #<Gitlab::Ci::Variables::Collection::Item:0x00007f600129ffa0 @variable={:key=>"VARIABLE_1", :value=>"secret", :public=>false, :file=>false, :masked=>false, :raw=>false}>6456 when environment scope is matched by wildcard6457 is expected to contain exactly #<Gitlab::Ci::Variables::Collection::Item:0x00007f600270fdc8 @variable={:key=>"VARIABLE_1", :value=>"secret", :public=>false, :file=>false, :masked=>false, :raw=>false}>6458 when environment scope does not match6459 is expected not to contain exactly #<Gitlab::Ci::Variables::Collection::Item:0x00007f5ffc832c38 @variable={:key=>"VARIABLE_1", :value=>"secret", :public=>false, :file=>false, :masked=>false, :raw=>false}>6460 when environment scope has _6461 does not treat it as wildcard6462 when environment name contains underscore6463 matches literally for _6464 when environment scope has %6465 does not treat it as wildcard6466 when environment name contains a percent6467 matches literally for _6468 when variables with the same name have different environment scopes6469 puts variables matching environment scope more in the end6470Groups::DeployTokens::RevokeService6471 #execute6472 revokes a group deploy token6473 invalid token id6474 raises an error6475Resolvers::Ci::TestReportSummaryResolver6476 #resolve6477 when pipeline has build report results6478 returns test report summary data6479 when pipeline does not have build report results6480 renders test report summary data6481Every Sidekiq worker6482 does not use the default queue6483 uses the cronjob queue when the worker runs as a cronjob6484 has its queue in Gitlab::SidekiqConfig::QUEUE_CONFIG_PATHS6485 has its queue or namespace in config/sidekiq_queues.yml6486 has a value for loggable_arguments6487 feature category declarations6488 has a feature_category attribute6489 has a feature_category that maps to a value in feature_categories.yml6490 is (exclusively) memory-bound or high urgency, not both6491 has (exclusively) external dependencies or is high urgency, not both6492 retries6493 uses the default number of retries for new jobs6494 uses zero retries for cronjobs6495 uses specified numbers of retries for workers with exceptions encoded here6496Gitlab::Database::SchemaCleaner6497 removes comments on extensions6498 no assumption about public being the default schema6499 cleans up all the gitlab_schema_prevent_write table triggers6500 keeps the lock_writes trigger functions6501 cleans up the full schema as expected (blackbox test with example)6502Gitlab::ImportExport::DecompressedArchiveSizeValidator6503 #valid?6504 when file does not exceed allowed decompressed size6505 returns true6506 when waiter thread no longer exists6507 does not raise exception6508 when file exceeds allowed decompressed size6509 logs error message returns false6510 when exception occurs during decompression6511 when timeout occurs6512 logs raised exception and terminates validator process group6513 when exception occurs6514 logs raised exception and terminates validator process group6515 archive path validation6516 when archive path is traversed6517 returns false6518 when archive path is not a string6519 returns false6520 which archive path is a symlink6521 returns false6522 when archive path is not a file6523 returns false6524MergeRequests::CreateApprovalNoteWorker6525 calls SystemNoteService.approve_mr6526 behaves like subscribes to event6527 consumes the published event6528 behaves like an idempotent worker6529 is labeled as idempotent6530 performs multiple times sequentially without raising an exception6531 when the user does not exist6532 behaves like when object does not exist6533 logs and does not call SystemNoteService.approve_mr6534 when the merge request does not exist6535 behaves like when object does not exist6536 logs and does not call SystemNoteService.approve_mr6537profiles/keys/_key.html.haml6538 when the key partial is used6539 displays the correct values6540 when disable_ssh_key_used_tracking is enabled6541 renders "Unavailable" for last used6542 when disable_ssh_key_used_tracking is disabled6543 displays the correct last used date6544 when the key has not been used6545 renders "Never" for last used6546 displays the usage type6547 usage_type: :auth, usage_type_text: "Authentication", displayed_buttons: ["Remove"], hidden_buttons: ["Revoke"]6548 renders usage type text and remove/revoke buttons6549 usage_type: :auth_and_signing, usage_type_text: "Authentication & Signing", displayed_buttons: ["Remove", "Revoke"], hidden_buttons: []6550 renders usage type text and remove/revoke buttons6551 usage_type: :signing, usage_type_text: "Signing", displayed_buttons: ["Remove", "Revoke"], hidden_buttons: []6552 renders usage type text and remove/revoke buttons6553 when the key does not have an expiration date6554 renders "Never" for expires6555 when the key has expired6556 renders "Expired:" as the expiration date label6557 when the key is not deletable6558 does not render the partial6559 icon tooltip6560 valid: false, expiry: Fri, 14 Apr 2023 14:37:59.580411965 UTC +00:00, result: "Key type is forbidden. Must be DSA, ECDSA, ED25519, ECDSA_SK, or ED25519_SK"6561 renders the correct icon6562 valid: true, expiry: Fri, 14 Apr 2023 14:37:59.580873035 UTC +00:00, result: ""6563 renders the correct icon6564Postgresql::ReplicationSlot6565 is expected to be a kind of Gitlab::Database::SharedModel(abstract)6566 .in_use?6567 returns true when replication slots are present6568 returns false when replication slots are not present6569 returns false if the existence check is invalid6570 .lag_too_great?6571 does not raise an exception6572 returns true when replication lag is too great6573 returns false when more than one replicas is up to date enough6574 returns false when replication lag is not too great6575 returns false when there is a nil replication lag6576 #max_replication_slots6577 returns the maximum number of replication slots6578 with enough slots available6579 #slots_count6580 returns the number of replication slots6581 #unused_slots_count6582 returns the number of unused replication slots6583 #max_retained_wal6584 returns the retained WAL size6585 #slots_retained_bytes6586 returns the number of retained bytes6587Gitlab::ProcessMemoryCache::Helper6588 .fetch_memory_cache6589 memoizes the result6590 resets the cache when the shared key is missing6591 does not set the shared timestamp if it is already present6592 .invalidate_memory_cache6593 invalidates the cache6594Gitlab::View::Presenter::Simple6595 includes Gitlab::View::Presenter::Base6596 #initialize6597 takes arbitrary key/values and exposes them6598 override the presentee attributes6599 delegation6600 does not forward missing methods to subject6601Onboarding::UserAddedWorker#perform6602 # order random6603 behaves like records an onboarding progress action6604 is expected to receive execute({:action=>:user_added}) 1 time6605ObjectPool::DestroyWorker6606 #perform6607 when no pool is in the database6608 doesn't raise an error6609 when a pool is present6610 requests Gitaly to remove the object pool6611 destroys the pool6612Groups::ObservabilityHelper6613 # order random6614 #observability_iframe_src6615 returns the iframe src for action: dashboards6616 returns the iframe src for action: manage6617 returns the iframe src for action: explore6618 returns the iframe src for action: datasources6619 returns the iframe src when action is not recognised6620 returns the iframe src when observability_path is missing6621 #observability_page_title6622 returns the title for action: dashboards6623 returns the title for action: manage6624 returns the title for action: explore6625 returns the title for action: datasources6626 returns the default title for unknown action6627Onboarding::Completion6628 # order random6629 #percentage6630 when no onboarding_progress exists6631 is expected to eq 06632 when no action has been completed6633 is expected to eq 06634 when all tracked actions have been completed6635 is expected to eq 1006636 with security_actions_continuous_onboarding experiment6637 when control6638 is expected to eq 106639 when candidate6640 is expected to eq 86641 #completed?6642 when code_added6643 when commit_count > 16644 is expected to eq true6645 when branch_count > 16646 is expected to eq true6647 when empty repository6648 is expected to eq false6649 when security_scan_enabled6650 when is completed6651 is expected to eq true6652 when is not completed6653 is expected to eq false6654DataTransfer::GroupDataTransferFinder6655 # order random6656 #execute6657 returns the correct number of egress6658 returns the correct values grouped by date6659 when there are no results for specified namespace6660 returns nothing6661 when there are no results for specified dates6662 returns nothing6663 when dates are not provided6664 return all values for a namespace6665 when user does not have permissions6666 returns nothing6667Import::ValidateRemoteGitEndpointService6668 #execute6669 correctly handles URLs with fragment6670 passes basic auth when credentials are provided6671 when uri is using git:// protocol6672 returns success6673 when uri is using an invalid protocol6674 reports error when invalid URL is provided6675 when uri is invalid6676 reports error when invalid URL is provided6677 when receiving HTTP response6678 returns success when HTTP response is valid and contains correct payload6679 reports error when status code is not 2006680 reports error when invalid URL is provided6681 reports error when required header is missing6682 reports error when body is in invalid format6683 reports error when exception is raised6684Gitlab::GithubImport::ImportDiffNoteWorker6685 #import6686 imports a diff note6687Security::ReportSchemaVersionMatcher6688 #call6689 when minor version matches6690 and report schema patch version does not match any vendored schema versions6691 and report version is 14.1.16692 returns 14.1.06693 and report version is 14.0.326694 returns 14.0.26695 when report minor version does not match6696 does not return a version6697Gitlab::JiraImport::Stage::StartImportWorker6698 modules6699 behaves like include import workers modules6700 is expected to includes the ApplicationWorker module6701 is expected to includes the Gitlab::JiraImport::QueueOptions module6702 is expected to includes the ProjectStartImport module6703 is expected to includes the ProjectImportOptions module6704 #perform6705 when import is not scheduled6706 exits because import not started6707 when import is scheduled6708 advances to importing labels6709 when import is started6710 when this is the same worker that stated import6711 advances to importing labels6712 when this is a different worker that stated import6713 advances to importing labels6714 when import is finished6715 advances to importing labels6716Gitlab::Graphql::Loaders::BatchCommitLoader6717 #find6718 finds a commit by id6719 only queries once6720Gitlab::Graphql::Lazy6721 #force6722 can extract the value6723 can derive new lazy values6724 only evaluates once6725 deals with nested laziness6726 .with_value6727 defers the application of a block to a value6728 evaluates to the application of the block to the value6729 .force6730 when given a plain value6731 unwraps the value6732 when given a wrapped lazy value6733 unwraps the value6734 when the value is from a batchloader6735 syncs the value6736 when the value is a GraphQL lazy6737 forces the evaluation6738 when the value is a promise6739 executes the promise and waits for the value6740Ci::CreatePipelineService6741 # order random6742 when job has hooks and default hooks6743 creates jobs with hook data6744 when job has script and nested before_script and after_script6745 creates a job with script data6746Mutations::Boards::Lists::Update6747 on group issue boards6748 behaves like update board list mutation6749 #resolve6750 with permission to admin board lists6751 updates the list position and collapsed state as expected6752 with permission to read board lists6753 updates the list collapsed state but not the list position6754 without permission to read board lists6755 raises Resource Not Found error6756Gitlab::JiraImport::LabelsImporter6757 #execute6758 when label is missing from jira import6759 raises error6760 when jira import label exists6761 when labels are returned from jira6762 caches import label6763 calls Gitlab::JiraImport::HandleLabelsService6764 when there are no labels to be handled6765 when the labels field is empty6766 behaves like no labels handling6767 does not call Gitlab::JiraImport::HandleLabelsService6768 when the labels field is missing6769 behaves like no labels handling6770 does not call Gitlab::JiraImport::HandleLabelsService6771 when the isLast argument is missing6772 behaves like no labels handling6773 does not call Gitlab::JiraImport::HandleLabelsService6774Resolvers::Environments::NestedEnvironmentsResolver6775 # order random6776 #resolve6777 finds the nested environments when status matches6778 finds the nested environments when searching by name6779 finds the nested environments when name matches exactly6780notify/approved_merge_request_email.html.haml6781 # order random6782 contains approval information6783BlobViewer::Changelog6784 #render_error6785 when there are no tags6786 returns :no_tags6787 when there are tags6788 returns nil6789Tooling::Helm3Client6790 #releases6791Running command: `helm list --max 256 --offset 0 --output json`6792 raises an error if the Helm command fails6793Running command: `helm list --max 256 --offset 0 --output json`6794Ignoring this JSON parsing error: unexpected token at ''6795Response was:6796 calls helm list with default arguments6797Running command: `helm list --max 256 --offset 0 --output json --deployed`6798Ignoring this JSON parsing error: unexpected token at ''6799Response was:6800 calls helm list with extra arguments6801Running command: `helm list --max 256 --offset 0 --output json --deployed`6802Running command: `helm list --max 256 --offset 256 --output json --deployed`6803 returns a list of Release objects6804Running command: `helm list --max 256 --offset 0 --output json`6805Running command: `helm list --max 256 --offset 256 --output json`6806Running command: `helm list --max 256 --offset 512 --output json`6807 automatically paginates releases6808 #delete6809Running command: `helm uninstall --namespace my-release my-release`6810 raises an error if the Helm command fails6811Running command: `helm uninstall --namespace my-release my-release`6812 calls helm uninstall with default arguments6813 with multiple release names6814Running command: `helm uninstall --namespace my-release my-release`6815 raises an error if the Helm command fails6816Running command: `helm uninstall --namespace namespace my-release`6817Running command: `helm uninstall --namespace namespace my-release-2`6818 calls helm uninstall with multiple release names and a namespace6819Running command: `helm uninstall --namespace my-release my-release`6820Running command: `helm uninstall --namespace my-release-2 my-release-2`6821 calls helm uninstall with multiple release names and no namespace6822Groups::AcceptingProjectTransfersFinder6823 #execute6824 only returns groups where the user has access to transfer projects to6825Resolvers::Crm::OrganizationStateCountsResolver6826 #resolve6827 with unauthorized user6828 does not raise an error and returns nil6829 with authorized user6830 without parent6831 returns nil6832 with a group6833 when no filter is provided6834 returns the count of all organizations6835 when search term is provided6836 returns the correct counts6837ErrorTracking::ErrorEvent6838 relationships6839 is expected to belong to error required: false6840 validations6841 is expected to validate that :description cannot be empty/falsy6842 is expected to validate that the length of :description is at most 10246843 is expected to validate that :occurred_at cannot be empty/falsy6844 is expected to validate that the length of :level is at most 2556845 is expected to validate that the length of :environment is at most 2556846 #stacktrace6847 builds a stacktrace6848 #to_sentry_error_event6849 is expected to be a kind of Gitlab::ErrorTracking::ErrorEvent6850RuboCop::Cop::Graphql::JSONType6851 # order random6852 does not add an offense for uses outside of field or argument6853 arguments6854 adds an offense when GraphQL::Types::JSON is used6855 adds an offense when GraphQL::Types::JSON is used with other keywords6856 does not add an offense for other types6857 fields6858 adds an offense when GraphQL::Types::JSON is used6859 adds an offense when GraphQL::Types::JSON is used with other keywords6860 does not add an offense for other types6861Gitlab::Usage::Metrics::Instrumentations::CountUsersWithMlCandidatesMetric6862 # order random6863 behaves like a correct instrumented metric value and query6864 behaves like a correct instrumented metric value6865 has correct value6866 behaves like a correct instrumented metric query6867 has correct generate query6868CreatePipelineWorker6869 #perform6870 when a project not found6871 does not call the Service6872 when a user not found6873 does not call the Service6874 when everything is ok6875 calls the Service6876search/show6877 when search term is supplied6878 renders the results partial6879 when the search page is opened6880 displays the title6881 does not render the results partial6882 unfurling support6883 search with full count6884 renders meta tags for a group6885 renders meta tags for both group and project6886 search without full count6887 renders meta tags for a group6888 renders meta tags for both group and project6889MergeRequestSidebarExtrasEntity6890 #assignees6891 contains assignees attributes6892 #reviewers6893 contains reviewers attributes6894safe_sesion_store_patch6895 # order random6896 with ActionController::TestSession6897 behaves like safe session store6898 allows storing a String6899 raises error when session attempts to store an unsafe object6900 allows instance double of OneLogin::RubySaml::Response6901 raises an error for instance double of REXML::Document6902 with ActionDispatch::Request::Session6903 behaves like safe session store6904 allows storing a String6905 raises error when session attempts to store an unsafe object6906 allows instance double of OneLogin::RubySaml::Response6907 raises an error for instance double of REXML::Document6908Ci::Pipelines::HookService6909 #execute_hooks6910 HOOK_NAME6911 is expected to eq :pipeline_hooks6912 with pipeline hooks enabled6913 calls pipeline.project.execute_hooks and pipeline.project.execute_integrations6914 with pipeline hooks and integrations disabled6915 does not call pipeline.project.execute_hooks and pipeline.project.execute_integrations6916API::Helpers::LabelHelpers6917 create_service_params6918 when a project is given6919 returns the expected params6920 when a group is given6921 returns the expected params6922 when something else is given6923 raises a type error6924Snippets::RepositoryValidationService6925 #execute6926 returns error when the repository has more than one branch6927 returns error when existing branch name is not the default one6928 returns error when the repository has tags6929 returns error when the repository has more file than the limit6930 returns error when the repository has no files6931 returns error when the repository size is over the limit6932 returns success when no validation errors are raised6933DesignManagement::GitRepository6934 # order random6935 #info_attributes6936 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}6937 #attributes_at6938 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}6939 #attributes6940 confirms that all files are LFS enabled6941 #gitattribute6942 returns a gitattribute when path has gitattributes6943 returns nil when path has no gitattributes6944 #copy_gitattributes6945 always returns regardless of whether given a valid or invalid ref6946GoogleCloud::CreateServiceAccountsService6947 #execute6948 creates unprotected vars6949 creates protected vars6950DeployKeys::DeployKeyEntity6951 returns deploy keys with projects a user can read6952 is expected to eq {:almost_orphaned=>false, :can_edit=>false, :created_at=>2023-04-12 15:01:42.626982737 +0000, :deploy...", :id=>35, :title=>"My title 187", :updated_at=>2023-04-12 15:01:42.626982737 +0000, :user_id=>nil}6953Gitlab::Ci::Config::Header::Input6954 # order random6955 when has a default value6956 behaves like a valid input6957 passes validations6958 returns the value6959 when contains unknown keywords6960 behaves like an invalid input6961 fails validations6962 returns the value6963 when is a required required input6964 behaves like a valid input6965 passes validations6966 returns the value6967 when has invalid name6968 behaves like an invalid input6969 fails validations6970 returns the value6971Gitlab::GithubImport::Importer::CollaboratorsImporter6972 # order random6973 #sequential_import6974 imports each collaborator in sequence6975 #parallel?6976 when parallel option is true6977 is expected to be parallel6978 when parallel option is false6979 is expected not to be parallel6980 #parallel_import6981 imports each collaborator in parallel6982 when collaborator is already imported6983 doesn't run importer on it6984 #execute6985 when running in parallel mode6986 imports collaborators in parallel6987 when running in sequential mode6988 imports collaborators in sequence6989 #id_for_already_imported_cache6990 returns the ID of the given note6991AuditEventSaveType6992 #should_save_database? and #should_save_stream?6993 query_method: :should_save_stream?, query_param: :stream, result: true6994 returns corresponding results according to the query_method and query_param6995 query_method: :should_save_stream?, query_param: :database_and_stream, result: true6996 returns corresponding results according to the query_method and query_param6997 query_method: :should_save_database?, query_param: :database, result: true6998 returns corresponding results according to the query_method and query_param6999 query_method: :should_save_database?, query_param: :database_and_stream, result: true7000 returns corresponding results according to the query_method and query_param7001 query_method: :should_save_stream?, query_param: :database, result: false7002 returns corresponding results according to the query_method and query_param7003 query_method: :should_save_stream?, query_param: nil, result: false7004 returns corresponding results according to the query_method and query_param7005 query_method: :should_save_database?, query_param: :stream, result: false7006 returns corresponding results according to the query_method and query_param7007 query_method: :should_save_database?, query_param: nil, result: false7008 returns corresponding results according to the query_method and query_param7009Gitlab::Ci::Build::Status::Reason7010 .fabricate7011 when failure symbol reason is being passed7012 correctly fabricates a status reason object7013 when another status reason object is being passed7014 correctly fabricates a status reason object7015 #failure_reason_enum7016 exposes a failure reason enum7017 #force_allow_failure?7018 when build is not allowed to fail7019 when build is allowed to fail with a given exit code7020 returns true7021 when build is not allowed to fail regardless of an exit code7022 returns false7023 when an exit code is not specified7024 returns false7025Gitlab::Ci::Input::Arguments::Options7026 # order random7027 returns an empty value if it is allowlisted7028 returns an error if specification is using a hash7029 returns an error if specification is not correct7030 returns a user-provided value if it is an allowed one7031 returns an error if user-provided value is not allowlisted7032 .matches?7033 matches specs with options configuration7034 does not match specs different configuration keyword7035Gitlab::Auth::Ldap::Authentication7036 login7037 finds the user if authentication is successful7038 is false if the user does not exist7039 is false if authentication fails7040 fails if ldap is disabled7041 fails if no login is supplied7042 fails if no password is supplied7043Gitlab::Git::Conflict::File7044 #lines7045 when the content contains non-UTF-8 characters7046 raises UnsupportedEncoding7047 when the content can be converted to UTF-87048 sets lines to the lines7049 sets the type to text7050 #content7051 when the content contains non-UTF-8 characters7052 raises UnsupportedEncoding7053 when the content can be converted to UTF-87054 returns a valid UTF-8 string7055 #path7056 returns our_path7057 when our_path is not present7058 returns their_path7059ActsAsTaggableOn::Tag7060 .find_or_create_all_with_like_by_name7061 creates a tag7062 returns the Tag record7063 some tags already existing7064 creates only the missing tag7065 returns the Tag records7066 all tags already existing7067 does not create new tags7068 returns the Tag records7069Types::Packages::Cleanup::PolicyType7070 is expected to eq "PackagesCleanupPolicy"7071 is expected to eq "A packages cleanup policy designed to keep only packages and packages assets that matter most"7072 is expected to require graphql authorizations :admin_package7073 keep_n_duplicated_package_files7074 is expected to have non-null GraphQL type PackagesCleanupKeepDuplicatedPackageFilesEnum7075 next_run_at7076 is expected to have nullable GraphQL type Time7077Gitlab::Database::Migrations::LockRetriesHelpers7078 # order random7079 #with_lock_retries7080 sets the migration class name in the logs7081 does not raise on exhaustion by default7082 defaults to allowing subtransactions7083 raise_on_exhaustion: true7084 sets raise_on_exhaustion as requested7085 raise_on_exhaustion: false7086 sets raise_on_exhaustion as requested7087Gitlab::Database::QueryAnalyzers::Ci::PartitioningRoutingAnalyzer7088 # order random7089 when ci_partitioning_analyze_queries is enabled7090 when analyzing targeted tables7091 when querying a non routing table7092 tracks exception7093 raises RoutingTableNotUsedError7094 when updating a record7095 raises RoutingTableNotUsedError7096 when inserting a record7097 raises RoutingTableNotUsedError7098 when analyzing non targeted table7099 does not raise error7100 when ci_partitioning_analyze_queries is disabled7101 does not analyze the query7102RuboCop::Cop::UsageData::InstrumentationSuperclass7103 # order random7104 with dynamic class definition7105 when inheriting from allowed superclass7106 does not register an offense7107 when inheriting from some other superclass7108 registers an offense7109 when not inheriting7110 does not register an offense7111 with class definition7112 when inheriting from allowed superclass7113 does not register an offense7114 when inheriting from some other superclass7115 registers an offense7116 when not inheriting7117 does not register an offense7118Gitlab::PhabricatorImport::WorkerState7119 #add_job7120 increments the counter for jobs7121 #remove_job7122 decrements the counter for jobs7123 #running_count7124 reads the value7125 returns 0 when nothing was set7126event store matchers7127 # order random7128 publish_event7129 requires a block matcher7130 validates the event type7131 validates the event data7132 not_publish_event7133 requires a block matcher7134 does not permit .with7135 validates the event type7136BulkImports::Common::Extractors::NdjsonExtractor7137 #extract7138 returns ExtractedData7139 #remove_tmpdir7140 removes tmp dir7141UserProjectAccessChangedService7142 #execute7143 permits high-priority operation7144 permits medium-priority operation7145 sets the current caller_id as related_class in the context of all the enqueued jobs7146 for low priority operation7147 does not perform low-priority operation7148 when the feature flag `do_not_run_safety_net_auth_refresh_jobs` is disabled7149 permits low-priority operation7150 with load balancing enabled7151 sticks all the updated users and returns the original result7152 avoids N+1 cached queries7153Gitlab::Git::WrapsGitalyErrors7154 #wrapped_gitaly_errors7155 wraps GRPC::NotFound in a Gitlab::Git::Repository::NoRepository7156 wraps GRPC::InvalidArgument in a ArgumentError7157 wraps GRPC::DeadlineExceeded in a Gitlab::Git::CommandTimedOut7158 wraps GRPC::BadStatus in a Gitlab::Git::CommandError7159 does not swallow other errors7160Gitlab::Lazy7161 when not calling any methods7162 does not call the supplied block7163 when calling a method on the object7164 lazy loads the value returned by the block7165 #respond_to?7166 returns true for a method defined on the wrapped object7167 returns false for a method not defined on the wrapped object7168Gitlab::WordDiff::LineProcessor7169 #extract7170 when line is a diff hunk7171 returns DiffHunk segment7172 when line has a newline delimiter7173 returns Newline segment7174 when line has only space7175 returns nil7176 when line has content7177 returns Chunk segment7178API::Helpers::InternalHelpers7179 # order random7180 log user git operation activity7181 when git pull/fetch/clone action7182 with log the user activity7183 behaves like handles log git operation activity7184 log the user activity7185 when git push action7186 does not log the user activity when log_user_git_push_activity is disabled7187 with log the user activity when log_user_git_push_activity is enabled7188 behaves like handles log git operation activity7189 log the user activity7190ResolvesProject7191 can resolve projects by path7192 can resolve projects by id7193 complains when both are present7194 complains when neither is present7195Pajamas::ProgressComponent7196 # order random7197 variant7198 variant: :primary7199 adds variant class7200 variant: :success7201 adds variant class7202 with unknown variant7203 adds the default variant class7204 value7205 sets the width of the progressbar7206Types::DesignManagement::VersionType7207 is expected to require graphql authorizations :read_design7208 has the expected fields7209BatchedBackgroundMigration::BatchedBackgroundMigrationGenerator7210 # order random7211 without required arguments7212 throws table_name is required error7213 throws column_name is required error7214 throws feature_category is required error7215 with valid arguments7216 generates expected files7217Banzai::Filter::ImageLazyLoadFilter7218 adds a class attribute7219 appends to the current class attribute7220 adds a async decoding attribute7221 transforms the image src to a data-src7222 works with external images7223Shard7224 .populate!7225 creates shards based on the config file7226 .by_name7227 returns an existing shard7228 creates a new shard7229 returns existing record if creation races7230Postgresql::DetachedPartition7231 #ready_to_drop7232 includes partitions that should be dropped before now7233 does not include partitions that should be dropped after now7234Types::ContainerRepositoryDetailsType7235 is expected to eq "ContainerRepositoryDetails"7236 is expected to eq "Details of a container repository"7237 is expected to require graphql authorizations :read_container_image7238 is expected to have graphql fields :id, :name, :path, :location, :created_at, :updated_at, :expiration_policy_started_at, :status, :tags_count, :can_delete, :expiration_policy_cleanup_status, :tags, :size, :project, :migration_state, and :last_cleanup_deleted_tags_count7239 tags field7240 returns tags connection type7241Types::ErrorTracking::SentryErrorCollectionType7242 is expected to eq "SentryErrorCollection"7243 is expected to require graphql authorizations :read_sentry_issue7244 exposes the expected fields7245 errors field7246 returns errors7247ProjectImportData7248 #merge_data7249 writes the Hash to the attribute if it is nil7250 merges the Hash into an existing Hash if one was present7251 #merge_credentials7252 writes the Hash to the attribute if it is nil7253 merges the Hash into an existing Hash if one was present7254 #clear_credentials7255 clears out the Hash7256Gitlab::View::Presenter::Factory7257 #initialize7258 without optional parameters7259 takes a subject and optional params7260 with optional parameters7261 takes a subject and optional params7262 #fabricate!7263 detects the presenter based on the given subject7264 uses the presenter_class if given on #initialize7265Gitlab::SafeDeviceDetector7266 # order random7267 retains the behavior for normal user agents7268 truncates big user agents7269ActiveRecord::QueryRecorder7270 includes duration information7271 printing to the log7272 prints SQL, duration and backtrace, all prefixed with QueryRecorder7273 detecting the right number of calls and their origin7274 detects two separate queries7275Gitlab::GithubImport::Importer::IssueAndLabelLinksImporter7276 #execute7277 imports an issue and its labels7278BulkImports::Projects::Pipelines::ContainerExpirationPolicyPipeline7279 #run7280 imports project feature7281Gitlab::Prometheus::Queries::ValidateQuery7282 valid query7283 passess query to prometheus7284 invalid query7285 returns invalid7286 when exceptions occur7287 Gitlab::HTTP::BlockedUrlError7288 catches exception and returns invalid7289Gitlab::Usage::Metrics::Instrumentations::ServicePingFeaturesMetric7290 usage_ping_features_enabled: true, expected_value: true7291 behaves like a correct instrumented metric value7292 has correct value7293 usage_ping_features_enabled: false, expected_value: false7294 behaves like a correct instrumented metric value7295 has correct value7296Types::NamespaceType7297 is expected to eq "Namespace"7298 has the expected fields7299 is expected to require graphql authorizations :read_namespace7300Banzai::Pipeline::ServiceDeskEmailPipeline7301 # order random7302 .filters7303 returns the expected type7304 excludes ServiceDeskUploadLinkFilter7305Types::ReleaseSourceType7306 is expected to require graphql authorizations :read_code7307 has the expected fields7308Gitlab::DependencyLinker::Parser::Gemfile7309 #parse7310 returns parsed packages7311 packages respond to name and external_ref accordingly7312API::Entities::DesignManagement::Design7313 has the correct attributes7314Gitlab::SlashCommands::ApplicationHelp7315 #execute7316 displays the help section7317 with incident declare command7318 when feature flag is enabled7319 displays the declare command7320 when feature flag is disabled7321 does not displays the declare command7322GoogleApi::Auth7323 #authorize_url7324 returns authorize_url7325 #get_token7326 returns token and expires_at7327 expects the client to receive default options7328SelfMonitoringProjectDeleteWorker7329 #perform7330 behaves like executes service7331 runs the service7332 .status7333 behaves like returns in_progress based on Sidekiq::Status7334 returns true when job is enqueued7335 returns false when job does not exist7336ActsAsTaggableOn::Tag7337 has the same connection as Ci::ApplicationRecord7338 has the same sticking as Ci::ApplicationRecord7339API::Validations::Validators::Absence7340 empty param7341 does not raise a validation error7342 invalid parameters7343 raises a validation error7344Types::Ci::RunnerSetupType7345 is expected to eq "RunnerSetup"7346 exposes the expected fields7347Types::AlertManagement::SeverityEnum7348 is expected to eq "AlertManagementSeverity"7349 exposes all the severity values7350Gitlab::Ci::Pipeline::Metrics7351 .pipeline_creation_step_duration_histogram7352 adds the step to the step duration histogram7353RuboCop::Cop::RSpec::HTTPartyBasicAuth7354 # order random7355 when passing `basic_auth: { user: ... }`7356 registers an offense and corrects7357 when passing `basic_auth: { username: ... }`7358 does not register an offense7359RuboCop::Cop::Database::EstablishConnection7360 # order random7361 flags the use of ActiveRecord::Base.establish_connection7362 flags the use of ActiveRecord::Base.establish_connection with arguments7363 flags the use of SomeModel.establish_connection7364Types::Packages::PackageFileType7365 includes package file fields7366Gitlab::Pagination::Keyset::InOperatorOptimization::OrderByColumns7367 #array_aggregated_column_names7368 is expected to eq ["issues_relative_position_array", "issues_id_array"]7369 #original_column_names7370 is expected to eq ["relative_position", "id"]7371 #cursor_values7372 returns the keyset pagination cursor values from the column arrays as SQL expression7373Gitlab::Webpack::GraphqlKnownOperations7374 .load7375 when file loader returns7376 returns memoized value7377 when file loader errors7378 returns empty array7379Gitlab::Usage::Metrics::Instrumentations::IncomingEmailEncryptedSecretsEnabledMetric7380 # order random7381 behaves like a correct instrumented metric value7382 has correct value7383API::Entities::BulkImports::Entity7384 has the correct attributes7385Gitlab::Usage::Metrics::Instrumentations::ServiceDeskEmailEncryptedSecretsEnabledMetric7386 # order random7387 behaves like a correct instrumented metric value7388 has correct value7389TermsHelper7390 #terms_data7391 returns correct json7392NamespaceSerializer7393 represents NamespaceBasicEntity entities7394Custom URLs milestone7395 # order random7396 milestone7397 with project7398 creates directs7399 with group7400 creates directs7401Gitlab::Metrics::Dashboard::Validator::CustomFormats7402 #format_handlers7403 add_to_metric_id_cache7404 adds data to metric id cache7405Notes::RenderService7406 #execute7407 renders a Note7408Atlassian::JiraConnect::Serializers::BaseEntity7409 generates the update_sequence_id7410 with update_sequence_id option7411 uses the custom update_sequence_id7412Projects::Settings::BranchRulesHelper7413 # order random7414 #branch_rules_data7415 returns branch rules data7416Gitlab::ErrorTracking::LogFormatter7417 appends error-related log fields and filters sensitive Sidekiq arguments7418Gitlab::Kubernetes::Kubeconfig::Entry::User7419 #to_h7420 is expected to eq {:name=>"name", :user=>{:token=>"token"}}7421Knapsack report was generated. Preview:7422{7423 "spec/services/merge_requests/update_service_spec.rb": 413.46505101699995,7424 "spec/services/projects/destroy_service_spec.rb": 105.66142793599988,7425 "spec/lib/gitlab/ci/pipeline/seed/build_spec.rb": 27.088374798999894,7426 "spec/models/concerns/deployment_platform_spec.rb": 70.02585902999999,7427 "spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb": 68.01672377699992,7428 "spec/workers/database/batched_background_migration/ci_database_worker_spec.rb": 49.11621068799991,7429 "spec/models/members/project_member_spec.rb": 41.51049071399984,7430 "spec/finders/releases/group_releases_finder_spec.rb": 40.507022349999716,7431 "spec/serializers/ci/job_entity_spec.rb": 33.954086692000146,7432 "spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb": 8.19995677399993,7433 "spec/services/projects/update_repository_storage_service_spec.rb": 20.017899810000017,7434 "spec/lib/gitlab/file_type_detection_spec.rb": 4.21957939999993,7435 "spec/services/work_items/update_service_spec.rb": 19.1318379129998,7436 "spec/lib/banzai/pipeline/wiki_pipeline_spec.rb": 5.829636532999757,7437 "spec/services/alert_management/create_alert_issue_service_spec.rb": 21.67163738399995,7438 "spec/lib/gitlab/path_regex_spec.rb": 4.86806063999984,7439 "spec/models/operations/feature_flags/user_list_spec.rb": 10.22451288900038,7440 "spec/services/members/create_service_spec.rb": 17.467468710999583,7441 "spec/models/ci/pipeline_artifact_spec.rb": 11.162500246000036,7442 "spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb": 12.33275162999962,7443 "spec/services/groups/create_service_spec.rb": 13.566628321999815,7444 "spec/models/dev_ops_report/metric_spec.rb": 3.4380416539997896,7445 "spec/services/merge_requests/update_reviewers_service_spec.rb": 12.114736739999898,7446 "spec/lib/banzai/pipeline/gfm_pipeline_spec.rb": 16.160913790999984,7447 "spec/lib/gitlab/lets_encrypt/client_spec.rb": 10.070019372999923,7448 "spec/services/notes/build_service_spec.rb": 9.183655264000208,7449 "spec/services/clusters/integrations/prometheus_health_check_service_spec.rb": 12.734560261000297,7450 "spec/models/ml/candidate_spec.rb": 8.384861180999906,7451 "spec/lib/api/helpers/caching_spec.rb": 5.875045793000027,7452 "spec/services/ci/archive_trace_service_spec.rb": 9.491876534000312,7453 "spec/services/metrics/dashboard/custom_dashboard_service_spec.rb": 10.291943125999751,7454 "spec/lib/gitlab/git/tag_spec.rb": 7.1236498680000295,7455 "spec/finders/starred_projects_finder_spec.rb": 11.490272133999952,7456 "spec/models/pages_deployment_spec.rb": 5.305182780999985,7457 "spec/services/deployments/archive_in_project_service_spec.rb": 9.406236175999766,7458 "spec/views/projects/tags/index.html.haml_spec.rb": 6.904835905999789,7459 "spec/finders/concerns/finder_with_cross_project_access_spec.rb": 7.027682533000188,7460 "spec/finders/contributed_projects_finder_spec.rb": 6.2023107390000405,7461 "spec/lib/gitlab/ci/ansi2json_spec.rb": 1.844478251000055,7462 "spec/services/error_tracking/issue_update_service_spec.rb": 4.657848539000042,7463 "spec/services/groups/update_shared_runners_service_spec.rb": 6.36308810599985,7464 "spec/graphql/mutations/merge_requests/create_spec.rb": 7.133882225999969,7465 "spec/uploaders/terraform/state_uploader_spec.rb": 6.401079416000357,7466 "spec/serializers/issue_sidebar_basic_entity_spec.rb": 5.892215228999703,7467 "spec/workers/database/ci_project_mirrors_consistency_check_worker_spec.rb": 6.489107442999739,7468 "spec/services/wiki_pages/create_service_spec.rb": 5.318333597999754,7469 "spec/models/ci/resource_group_spec.rb": 7.0637837039998885,7470 "spec/presenters/projects/settings/deploy_keys_presenter_spec.rb": 6.8159331090000705,7471 "spec/lib/gitlab/ci/config/entry/trigger_spec.rb": 1.5049974779999502,7472 "spec/models/integrations/redmine_spec.rb": 2.0455597189998116,7473 "spec/lib/gitlab/auth/ldap/access_spec.rb": 3.9648876889996245,7474 "spec/services/security/ci_configuration/secret_detection_create_service_spec.rb": 4.16088500900014,7475 "spec/services/commits/cherry_pick_service_spec.rb": 6.821282186999724,7476 "spec/models/concerns/ci/has_ref_spec.rb": 4.764480401999663,7477 "spec/graphql/mutations/namespace/package_settings/update_spec.rb": 3.6340348649996486,7478 "spec/graphql/resolvers/last_commit_resolver_spec.rb": 4.206751146999977,7479 "spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb": 2.8605189959998825,7480 "spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb": 1.880349722000119,7481 "spec/policies/base_policy_spec.rb": 1.7161938939998436,7482 "spec/models/ci/pipeline_variable_spec.rb": 2.7976397830002497,7483 "spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb": 5.845490561000133,7484 "spec/tasks/gitlab/task_helpers_spec.rb": 2.8832345499999974,7485 "spec/models/packages/maven/metadatum_spec.rb": 1.4827651949999563,7486 "spec/finders/design_management/versions_finder_spec.rb": 2.97658817599995,7487 "spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb": 1.2392185480002809,7488 "spec/models/prometheus_alert_event_spec.rb": 2.7802205369998774,7489 "spec/graphql/resolvers/alert_management/integrations_resolver_spec.rb": 2.2012179579996882,7490 "spec/views/projects/merge_requests/_commits.html.haml_spec.rb": 4.716315963999932,7491 "spec/lib/gitlab/database/reindexing_spec.rb": 2.1906259500001397,7492 "spec/uploaders/ci/secure_file_uploader_spec.rb": 2.062153923999631,7493 "spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb": 1.4814220249995742,7494 "spec/lib/sidebars/panel_spec.rb": 0.9516148120001162,7495 "spec/finders/sentry_issue_finder_spec.rb": 5.197837950999656,7496 "spec/lib/gitlab/import_export/project/export_task_spec.rb": 2.9483500609999282,7497 "spec/services/ci/generate_codequality_mr_diff_report_service_spec.rb": 3.2436472720000893,7498 "spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb": 1.499548221999703,7499 "spec/models/concerns/loaded_in_group_list_spec.rb": 2.5258596710000347,7500 "spec/graphql/resolvers/project_packages_resolver_spec.rb": 2.5870245400001295,7501 "spec/services/integrations/propagate_service_spec.rb": 2.7253984379999565,7502 "spec/workers/update_highest_role_worker_spec.rb": 1.4944294020001507,7503 "spec/graphql/mutations/timelogs/delete_spec.rb": 2.303899827999885,7504 "spec/policies/personal_access_token_policy_spec.rb": 1.191815631999816,7505 "spec/lib/gitlab/sidekiq_config/worker_spec.rb": 0.9584564309998314,7506 "spec/lib/gitlab/cluster/mixins/puma_cluster_spec.rb": 4.560158593000324,7507 "spec/graphql/resolvers/design_management/version/design_at_version_resolver_spec.rb": 2.9074529479999,7508 "spec/finders/abuse_reports_finder_spec.rb": 1.812666118999914,7509 "spec/models/ci/pipeline_message_spec.rb": 1.7006578979999176,7510 "spec/lib/gitlab/harbor/client_spec.rb": 1.578937527999642,7511 "spec/lib/gitlab/ci/templates/terraform_module_gitlab_ci_yaml_spec.rb": 3.1563352560001476,7512 "spec/models/ci/unit_test_spec.rb": 3.0860921980001876,7513 "spec/validators/public_url_validator_spec.rb": 1.506082620000143,7514 "spec/lib/gitlab/utils/override_spec.rb": 1.2145053680001183,7515 "spec/services/incident_management/pager_duty/process_webhook_service_spec.rb": 1.7593046090000826,7516 "spec/lib/gitlab/jira_import/base_importer_spec.rb": 2.575926553000045,7517 "spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb": 0.9428478929999073,7518 "spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb": 3.0625136520002343,7519 "spec/services/projects/lfs_pointers/lfs_import_service_spec.rb": 1.6340309590000288,7520 "spec/models/bulk_imports/tracker_spec.rb": 2.0488824300000488,7521 "spec/initializers/00_rails_disable_joins_spec.rb": 1.4276026129996353,7522 "spec/rubocop/cop/rspec/factories_in_migration_specs_spec.rb": 0.6924784950001595,7523 "spec/services/projects/move_notification_settings_service_spec.rb": 3.117634502999863,7524 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed_spec.rb": 0.9874696560000302,7525 "spec/lib/gitlab/ci/jwt_spec.rb": 1.643449167000199,7526 "spec/workers/external_service_reactive_caching_worker_spec.rb": 2.004279547999886,7527 "spec/models/concerns/protected_ref_access_spec.rb": 2.6305046029997357,7528 "spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb": 2.2401109890001862,7529 "spec/services/ci/create_pipeline_service/environment_spec.rb": 2.81780345199968,7530 "spec/validators/cron_freeze_period_timezone_validator_spec.rb": 1.2593331210000542,7531 "spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb": 2.7514756229998056,7532 "spec/finders/lfs_pointers_finder_spec.rb": 1.3049790539998867,7533 "spec/workers/packages/debian/cleanup_dangling_package_files_worker_spec.rb": 1.3982529080003587,7534 "spec/models/project_metrics_setting_spec.rb": 0.856384337000236,7535 "spec/lib/gitlab/ci/config/entry/needs_spec.rb": 0.997447824000119,7536 "spec/models/alert_management/alert_user_mention_spec.rb": 0.7232510799999545,7537 "spec/workers/gitlab/github_import/refresh_import_jid_worker_spec.rb": 1.7491553299996667,7538 "spec/lib/gitlab/ci/variables/builder/project_spec.rb": 1.5349531150000075,7539 "spec/services/groups/deploy_tokens/revoke_service_spec.rb": 0.5940209219997996,7540 "spec/graphql/resolvers/ci/test_report_summary_resolver_spec.rb": 2.341293270999813,7541 "spec/workers/every_sidekiq_worker_spec.rb": 1.8106583800004046,7542 "spec/lib/gitlab/database/schema_cleaner_spec.rb": 0.5177338849998705,7543 "spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb": 1.01268310200021,7544 "spec/workers/merge_requests/create_approval_note_worker_spec.rb": 1.4993012310001177,7545 "spec/views/profiles/keys/_key.html.haml_spec.rb": 1.3557890550000593,7546 "spec/models/postgresql/replication_slot_spec.rb": 0.7774786710001536,7547 "spec/lib/gitlab/process_memory_cache/helper_spec.rb": 0.49665447699999277,7548 "spec/lib/gitlab/view/presenter/simple_spec.rb": 0.41869260000021313,7549 "spec/workers/onboarding/user_added_worker_spec.rb": 0.39188277499988544,7550 "spec/workers/object_pool/destroy_worker_spec.rb": 1.954423535999922,7551 "spec/helpers/groups/observability_helper_spec.rb": 0.7477143959999921,7552 "spec/models/onboarding/completion_spec.rb": 0.8165044050001597,7553 "spec/finders/data_transfer/group_data_transfer_finder_spec.rb": 1.600330285000382,7554 "spec/services/import/validate_remote_git_endpoint_service_spec.rb": 1.0239084000004368,7555 "spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb": 0.7096194119999382,7556 "spec/lib/security/report_schema_version_matcher_spec.rb": 0.44379853600003116,7557 "spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb": 1.2022729410000466,7558 "spec/lib/gitlab/graphql/loaders/batch_commit_loader_spec.rb": 1.9429746680002609,7559 "spec/lib/gitlab/graphql/lazy_spec.rb": 0.7547683450002296,7560 "spec/services/ci/create_pipeline_service/scripts_spec.rb": 1.9324826500001109,7561 "spec/graphql/mutations/boards/lists/update_spec.rb": 1.5698770399999376,7562 "spec/lib/gitlab/jira_import/labels_importer_spec.rb": 1.4196878249999827,7563 "spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb": 1.220313668000017,7564 "spec/views/notify/approved_merge_request_email.html.haml_spec.rb": 1.9061561139997139,7565 "spec/models/blob_viewer/changelog_spec.rb": 1.9250916710002457,7566 "spec/tooling/lib/tooling/helm3_client_spec.rb": 0.6674672999997711,7567 "spec/finders/groups/accepting_project_transfers_finder_spec.rb": 1.4602410480001708,7568 "spec/graphql/resolvers/crm/organization_state_counts_resolver_spec.rb": 1.2454850330000227,7569 "spec/models/error_tracking/error_event_spec.rb": 0.970567318999656,7570 "spec/rubocop/cop/graphql/json_type_spec.rb": 0.7257762700000967,7571 "spec/lib/gitlab/usage/metrics/instrumentations/count_users_with_ml_candidates_metric_spec.rb": 1.6820352009999624,7572 "spec/workers/create_pipeline_worker_spec.rb": 1.5362440249996325,7573 "spec/views/search/show.html.haml_spec.rb": 0.8126302850000684,7574 "spec/serializers/merge_request_sidebar_extras_entity_spec.rb": 1.2101349110002957,7575 "spec/initializers/safe_session_store_patch_spec.rb": 0.6163147769998432,7576 "spec/services/ci/pipelines/hook_service_spec.rb": 1.5283847430000606,7577 "spec/lib/api/helpers/label_helpers_spec.rb": 0.8812994889999572,7578 "spec/services/snippets/repository_validation_service_spec.rb": 0.9928140279998843,7579 "spec/models/design_management/git_repository_spec.rb": 0.9808777489997738,7580 "spec/services/google_cloud/create_service_accounts_service_spec.rb": 1.1636625510000158,7581 "spec/serializers/deploy_keys/deploy_key_entity_spec.rb": 1.417631134000203,7582 "spec/lib/gitlab/ci/config/header/input_spec.rb": 0.584786720000011,7583 "spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb": 0.7961662590000742,7584 "spec/services/concerns/audit_event_save_type_spec.rb": 0.6647954620002565,7585 "spec/lib/gitlab/ci/build/status/reason_spec.rb": 0.7150243070000215,7586 "spec/lib/gitlab/ci/input/arguments/options_spec.rb": 0.8083505670001614,7587 "spec/lib/gitlab/auth/ldap/authentication_spec.rb": 0.7301483850001205,7588 "spec/lib/gitlab/git/conflict/file_spec.rb": 0.6122892570001568,7589 "spec/initializers/1_acts_as_taggable_spec.rb": 0.6059858379999241,7590 "spec/graphql/types/packages/cleanup/policy_type_spec.rb": 0.5898798089997399,7591 "spec/lib/gitlab/database/migrations/lock_retries_helpers_spec.rb": 0.6495062240001062,7592 "spec/lib/gitlab/database/query_analyzers/ci/partitioning_routing_analyzer_spec.rb": 0.5009069279999494,7593 "spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb": 0.8049739670000235,7594 "spec/lib/gitlab/phabricator_import/worker_state_spec.rb": 0.6088787669996236,7595 "spec/support_specs/matchers/event_store_spec.rb": 0.5753848200001812,7596 "spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb": 0.6158935670000574,7597 "spec/services/user_project_access_changed_service_spec.rb": 0.6904463390001183,7598 "spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb": 0.8021146969999791,7599 "spec/lib/gitlab/lazy_spec.rb": 0.7839472599998771,7600 "spec/lib/gitlab/word_diff/line_processor_spec.rb": 0.46811678199992457,7601 "spec/lib/api/helpers/internal_helpers_spec.rb": 0.7616900009998062,7602 "spec/graphql/resolvers/concerns/resolves_project_spec.rb": 0.8253611149998505,7603 "spec/components/pajamas/progress_component_spec.rb": 0.6552618229998188,7604 "spec/graphql/types/design_management/version_type_spec.rb": 0.33358161499972994,7605 "spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb": 0.4219523169999775,7606 "spec/lib/banzai/filter/image_lazy_load_filter_spec.rb": 0.5684474609997778,7607 "spec/models/shard_spec.rb": 0.46433867299992926,7608 "spec/models/postgresql/detached_partition_spec.rb": 0.7287304850001419,7609 "spec/graphql/types/container_repository_details_type_spec.rb": 0.49218589900010556,7610 "spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb": 0.6476988940003139,7611 "spec/models/project_import_data_spec.rb": 0.5753749909999897,7612 "spec/lib/gitlab/view/presenter/factory_spec.rb": 0.6106854870004099,7613 "spec/lib/gitlab/safe_device_detector_spec.rb": 0.4436745839998366,7614 "spec/support_specs/helpers/active_record/query_recorder_spec.rb": 0.5162935670000479,7615 "spec/lib/gitlab/github_import/importer/issue_and_label_links_importer_spec.rb": 0.3239756859998124,7616 "spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb": 0.7651860119999583,7617 "spec/lib/gitlab/prometheus/queries/validate_query_spec.rb": 0.6760841899999832,7618 "spec/lib/gitlab/usage/metrics/instrumentations/service_ping_features_metric_spec.rb": 0.393002389999765,7619 "spec/graphql/types/namespace_type_spec.rb": 0.37678791200005435,7620 "spec/lib/banzai/pipeline/service_desk_email_pipeline_spec.rb": 0.3174294569998892,7621 "spec/graphql/types/release_source_type_spec.rb": 0.3086120079997272,7622 "spec/lib/gitlab/dependency_linker/parser/gemfile_spec.rb": 0.5085001279999233,7623 "spec/lib/api/entities/design_management/design_spec.rb": 0.5650471819999439,7624 "spec/lib/gitlab/slash_commands/application_help_spec.rb": 0.6709160209998117,7625 "spec/lib/google_api/auth_spec.rb": 0.5485681639997892,7626 "spec/workers/self_monitoring_project_delete_worker_spec.rb": 0.6362394549996679,7627 "spec/models/acts_as_taggable_on/tag_spec.rb": 0.5446196739999323,7628 "spec/lib/api/validations/validators/absence_spec.rb": 0.5893485190003958,7629 "spec/graphql/types/ci/runner_setup_type_spec.rb": 0.3328568560000349,7630 "spec/graphql/types/alert_management/severity_enum_spec.rb": 0.43833259500024724,7631 "spec/lib/gitlab/ci/pipeline/metrics_spec.rb": 0.3263713970000026,7632 "spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb": 0.6161184870002216,7633 "spec/rubocop/cop/database/establish_connection_spec.rb": 0.5021351279997361,7634 "spec/graphql/types/packages/package_file_type_spec.rb": 0.47123248200023227,7635 "spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_columns_spec.rb": 0.6024972479999633,7636 "spec/lib/gitlab/webpack/graphql_known_operations_spec.rb": 0.5814768400000503,7637 "spec/lib/gitlab/usage/metrics/instrumentations/incoming_email_encrypted_secrets_enabled_metric_spec.rb": 0.554688723000254,7638 "spec/lib/api/entities/bulk_imports/entity_spec.rb": 0.4878978800002187,7639 "spec/lib/gitlab/usage/metrics/instrumentations/service_desk_email_encrypted_secrets_enabled_metric_spec.rb": 0.5112483369998699,7640 "spec/helpers/terms_helper_spec.rb": 0.4257420860003549,7641 "spec/serializers/namespace_serializer_spec.rb": 0.46508232299993324,7642 "spec/routing/directs/milestone_spec.rb": 0.3472627440000906,7643 "spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb": 0.4071504379999169,7644 "spec/services/notes/render_service_spec.rb": 0.34422353399986605,7645 "spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb": 0.4060174879996339,7646 "spec/helpers/projects/settings/branch_rules_helper_spec.rb": 0.48759472999972786,7647 "spec/lib/gitlab/error_tracking/log_formatter_spec.rb": 0.38855297999998584,7648 "spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb": 0.37693357100033617649}7650Knapsack global time execution for tests: 24m 15s7651Pending: (Failures listed here are expected and do not affect your suite's status)7652 1) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does not exist does nothing7653 # because the base model for ci exists7654 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:667655 2) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does not exist logs a message indicating execution is skipped7656 # because the base model for ci exists7657 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:737658 3) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does exist when the tracking database is shared does nothing7659 # Skipping because database ci exists7660 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:967661 4) Operations::FeatureFlags::UserList behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank7662 # No reason given7663 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:497664 5) Operations::FeatureFlags::UserList behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank7665 # No reason given7666 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:577667 6) Ml::Candidate modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank7668 # No reason given7669 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:497670 7) Ml::Candidate modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank7671 # No reason given7672 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:577673 8) Ci::ResourceGroup#assign_resource_to retains resource for the processable7674 # Skipping partitioning tests until `ci_builds` is partitioned7675 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'7676 RSpec::Core::Pending::SkipDeclaredInExample7677 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'7678 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7679 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7680 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7681 9) Ci::ResourceGroup#assign_resource_to when there are no free resources fails to retain resource7682 # Skipping partitioning tests until `ci_builds` is partitioned7683 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'7684 RSpec::Core::Pending::SkipDeclaredInExample7685 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'7686 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7687 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7688 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7689 10) Ci::ResourceGroup#assign_resource_to when the build has already retained a resource fails to retain resource7690 # Skipping partitioning tests until `ci_builds` is partitioned7691 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'7692 RSpec::Core::Pending::SkipDeclaredInExample7693 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'7694 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7695 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7696 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7697 11) Ci::ResourceGroup#release_resource_from when the build has already retained a resource releases resource from the build7698 # Skipping partitioning tests until `ci_builds` is partitioned7699 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'7700 RSpec::Core::Pending::SkipDeclaredInExample7701 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'7702 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7703 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7704 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7705 12) Ci::ResourceGroup#release_resource_from when the build has already released a resource fails to release resource7706 # Skipping partitioning tests until `ci_builds` is partitioned7707 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'7708 RSpec::Core::Pending::SkipDeclaredInExample7709 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'7710 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7711 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7712 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7713Finished in 24 minutes 19 seconds (files took 47.62 seconds to load)77143115 examples, 0 failures, 12 pending7715Randomized with seed 416357716[TEST PROF INFO] Time spent in factories: 12:19.282 (50.44% of total time)7717RSpec exited with 0.7718No examples to retry, congrats!7720Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy7721Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-3.0-16 due to policy7723Uploading artifacts...7724coverage/: found 5 matching artifact files and directories 7725crystalball/: found 2 matching artifact files and directories 7726WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7727knapsack/: found 3 matching artifact files and directories 7728WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7729rspec/: found 14 matching artifact files and directories 7730WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7731log/*.log: found 17 matching artifact files and directories 7732WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4101394769/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7733WARNING: Retrying... context=artifacts-uploader error=request redirected7734Uploading artifacts as "archive" to coordinator... 201 Created id=4101394769 responseStatus=201 Created token=64_fq8Ad7735Uploading artifacts...7736rspec/junit_rspec.xml: found 1 matching artifact files and directories 7737WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4101394769/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7738WARNING: Retrying... context=artifacts-uploader error=request redirected7739Uploading artifacts as "junit" to coordinator... 201 Created id=4101394769 responseStatus=201 Created token=64_fq8Ad7741Job succeeded