There was an error fetching the job.
rspec unit pg13 single-db 4/28
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 15.9.0~beta.212.g8ccc65e7 (8ccc65e7)2 on green-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 4bq1s9yM, system ID: s_9d15f3e4e7ae3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:13 ...8Pulling docker image postgres:13 ...9Using docker image sha256:dd421ca1f7f13d81c5c145d77d97d8d84cd0e6f1e045936ee506ce0f50ee397a for postgres:13 with digest postgres@sha256:00f455399f30cc3f2fe4185476601438b7a4959c74653665582d7c313a783d51 ...10Starting service redis:6.2-alpine ...11Pulling docker image redis:6.2-alpine ...12Using docker image sha256:3616f0c0705d2a35d30dde109daf3cbe58ae7284121aafa6f5cfa987db98d1a8 for redis:6.2-alpine with digest redis@sha256:edddbcad5a41d58df2f142d68439922f1860ea902903d016257337c3342f30fc ...13Waiting for services to be up and running (timeout 30 seconds)...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:7a1b51158a1ee23b080b514ce6ebbf52ac51585877198fb52709e5cd01805a77 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13@sha256:412d55913d43377094427ced549cb422ed2f2c7223e6a605d0d3e0151cb892b0 ...18Running on runner-4bq1s9ym-project-278964-concurrent-0 via runner-4bq1s9ym-private-1680167071-aa6dfdde...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 135903, done. 25remote: Counting objects: 100% (135903/135903), done. 26remote: Compressing objects: 100% (88560/88560), done. 27remote: Total 135903 (delta 58315), reused 94618 (delta 42152), pack-reused 0 28Receiving objects: 100% (135903/135903), 121.35 MiB | 30.09 MiB/s, done.29Resolving deltas: 100% (58315/58315), done.31 * [new ref] refs/pipelines/822866544 -> refs/pipelines/82286654432Checking out 523abdde as detached HEAD (ref is refs/merge-requests/116270/merge)...33Skipping Git submodules setup34$ git remote set-url origin "${CI_REPOSITORY_URL}"36Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...37cache.zip is up to date 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-3.0-16...40cache.zip is up to date 41Successfully extracted cache43Downloading artifacts for compile-test-assets (4031138198)...44Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138198 responseStatus=200 OK token=64_XUfYm45Downloading artifacts for detect-tests (4031138213)...46Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138213 responseStatus=200 OK token=64_XUfYm47Downloading artifacts for retrieve-tests-metadata (4031138217)...48Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138217 responseStatus=200 OK token=64_XUfYm49Downloading artifacts for setup-test-env (4031138204)...50Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138204 responseStatus=200 OK token=64_XUfYm52Using docker image sha256:7a1b51158a1ee23b080b514ce6ebbf52ac51585877198fb52709e5cd01805a77 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.18-rust-1.65-node-16.14-postgresql-13@sha256:412d55913d43377094427ced549cb422ed2f2c7223e6a605d0d3e0151cb892b0 ...53$ echo $FOSS_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.sh709Using decomposed database config (config/database.yml.postgresql)710Geo DB won't be set up.711$ setup_db_user_only712CREATE ROLE713GRANT714==> 'setup_db_user_only' succeeded in 0 seconds.715$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes716Dropped database 'gitlabhq_test'717Created database 'gitlabhq_test'718==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 33 seconds.719$ setup_db_praefect720SELECT pg_catalog.set_config('search_path', '', false);721CREATE DATABASE praefect_test ENCODING 'UTF8';722==> 'setup_db_praefect' succeeded in 0 seconds.723$ source ./scripts/rspec_helpers.sh724$ run_timed_command "gem install knapsack --no-document"725$ gem install knapsack --no-document726Successfully installed knapsack-4.0.07271 gem installed728==> 'gem install knapsack --no-document' succeeded in 0 seconds.729$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"833$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"834SKIP_FLAKY_TESTS_AUTOMATICALLY: false835RETRY_FAILED_TESTS_IN_NEW_PROCESS: true836KNAPSACK_GENERATE_REPORT: true837FLAKY_RSPEC_GENERATE_REPORT: true838KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,components}{,/**/}*_spec.rb839KNAPSACK_LOG_LEVEL: debug840KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_single-db_4_28_report.json841FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json842FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_single-db_4_28_report.json843NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_single-db_4_28_report.json844SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg13_single-db_4_28_report.txt845CRYSTALBALL: 846Knapsack node specs:847spec/finders/merge_requests_finder_spec.rb848spec/finders/snippets_finder_spec.rb849spec/finders/issues_finder_spec.rb850spec/policies/ci/build_policy_spec.rb851spec/services/boards/issues/move_service_spec.rb852spec/services/notes/quick_actions_service_spec.rb853spec/uploaders/file_uploader_spec.rb854spec/tasks/gitlab/seed/group_seed_rake_spec.rb855spec/workers/packages/maven/metadata/sync_worker_spec.rb856spec/serializers/ci/job_entity_spec.rb857spec/models/alert_management/alert_spec.rb858spec/lib/gitlab/background_migration/backfill_issue_search_data_spec.rb859spec/uploaders/avatar_uploader_spec.rb860spec/lib/backup/repositories_spec.rb861spec/models/ability_spec.rb862spec/lib/gitlab/background_migration/backfill_topics_title_spec.rb863spec/models/operations/feature_flag_spec.rb864spec/services/todos/destroy/group_private_service_spec.rb865spec/policies/issuable_policy_spec.rb866spec/models/projects/build_artifacts_size_refresh_spec.rb867spec/lib/gitlab/database/background_migration/batched_job_spec.rb868spec/models/namespace/root_storage_statistics_spec.rb869spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb870spec/lib/gitlab/repository_cache_adapter_spec.rb871spec/lib/gitlab/gfm/uploads_rewriter_spec.rb872spec/lib/banzai/reference_parser/user_parser_spec.rb873spec/services/ci/update_build_state_service_spec.rb874spec/services/preview_markdown_service_spec.rb875spec/lib/gitlab/search/abuse_detection_spec.rb876spec/models/ci/trigger_spec.rb877spec/models/dev_ops_report/metric_spec.rb878spec/services/ci/reset_skipped_jobs_service_spec.rb879spec/models/personal_access_token_spec.rb880spec/lib/gitlab/redis/trace_chunks_spec.rb881spec/lib/gitlab/git/object_pool_spec.rb882spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb883spec/lib/gitlab/diff/diff_refs_spec.rb884spec/services/projects/operations/update_service_spec.rb885spec/lib/gitlab/data_builder/pipeline_spec.rb886spec/models/ci/build_trace_chunks/fog_spec.rb887spec/services/issues/resolve_discussions_spec.rb888spec/lib/gitlab/doctor/secrets_spec.rb889spec/workers/merge_requests/update_head_pipeline_worker_spec.rb890spec/presenters/snippet_blob_presenter_spec.rb891spec/lib/gitlab/deploy_key_access_spec.rb892spec/models/ci/variable_spec.rb893spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb894spec/models/customer_relations/issue_contact_spec.rb895spec/lib/gitlab/quick_actions/extractor_spec.rb896spec/models/alert_management/http_integration_spec.rb897spec/finders/concerns/finder_with_group_hierarchy_spec.rb898spec/services/notification_recipients/builder/default_spec.rb899spec/serializers/ci/dag_job_entity_spec.rb900spec/models/uploads/fog_spec.rb901spec/finders/groups/accepting_group_transfers_finder_spec.rb902spec/finders/crm/contacts_finder_spec.rb903spec/lib/gitlab/instrumentation/redis_cluster_validator_spec.rb904spec/models/integrations/emails_on_push_spec.rb905spec/lib/gitlab/git/push_spec.rb906spec/tooling/lib/tooling/mappings/view_to_js_mappings_spec.rb907spec/lib/gitlab/ci/ansi2json_spec.rb908spec/lib/gitlab/x509/certificate_spec.rb909spec/finders/joined_groups_finder_spec.rb910spec/uploaders/packages/composer/cache_uploader_spec.rb911spec/lib/gitlab/jwt_authenticatable_spec.rb912spec/models/namespace_statistics_spec.rb913spec/graphql/mutations/alert_management/create_alert_issue_spec.rb914spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb915spec/lib/gitlab/instrumentation_helper_spec.rb916spec/models/packages/nuget/metadatum_spec.rb917spec/lib/bulk_imports/common/pipelines/milestones_pipeline_spec.rb918spec/services/ci/create_pipeline_service/parameter_content_spec.rb919spec/workers/bulk_imports/export_request_worker_spec.rb920spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb921spec/graphql/resolvers/base_resolver_spec.rb922spec/tasks/gitlab/background_migrations_rake_spec.rb923spec/models/project_ci_cd_setting_spec.rb924spec/services/users/dismiss_group_callout_service_spec.rb925spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb926spec/services/projects/move_project_group_links_service_spec.rb927spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb928spec/uploaders/object_storage/cdn/google_cdn_spec.rb929spec/lib/gitlab/database_importers/work_items/base_type_importer_spec.rb930spec/lib/gitlab/ci/badge/coverage/template_spec.rb931spec/lib/sidebars/projects/menus/repository_menu_spec.rb932spec/lib/gitlab/usage/metrics/instrumentations/generic_metric_spec.rb933spec/services/personal_access_tokens/revoke_service_spec.rb934spec/services/ci/find_exposed_artifacts_service_spec.rb935spec/tasks/gitlab/refresh_project_statistics_build_artifacts_size_rake_spec.rb936spec/lib/api/helpers/members_helpers_spec.rb937spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb938spec/validators/qualified_domain_array_validator_spec.rb939spec/models/legacy_diff_note_spec.rb940spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb941spec/graphql/mutations/todos/create_spec.rb942spec/lib/gitlab/hook_data/group_member_builder_spec.rb943spec/lib/csv_builder_spec.rb944spec/services/ci/compare_codequality_reports_service_spec.rb945spec/lib/security/ci_configuration/sast_build_action_spec.rb946spec/models/packages/debian/group_component_spec.rb947spec/lib/safe_zip/entry_spec.rb948spec/workers/gitlab_shell_worker_spec.rb949spec/lib/generators/gitlab/usage_metric_generator_spec.rb950spec/services/users/signup_service_spec.rb951spec/lib/gitlab/ci/status/stage/play_manual_spec.rb952spec/graphql/types/incident_management/escalation_status_enum_spec.rb953spec/services/error_tracking/issue_latest_event_service_spec.rb954spec/models/bulk_import_spec.rb955spec/models/label_priority_spec.rb956spec/rubocop/cop/gitlab/service_response_spec.rb957spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb958spec/lib/gitlab/ci/config/normalizer/number_strategy_spec.rb959spec/policies/incident_management/timeline_event_policy_spec.rb960spec/graphql/mutations/issues/move_spec.rb961spec/services/ci/runners/process_runner_version_update_service_spec.rb962spec/graphql/types/ci/pipeline_counts_type_spec.rb963spec/models/users/banned_user_spec.rb964spec/models/preloaders/merge_request_diff_preloader_spec.rb965spec/models/concerns/redis_cacheable_spec.rb966spec/policies/resource_milestone_event_policy_spec.rb967spec/lib/gitlab/phabricator_import/conduit/response_spec.rb968spec/views/profiles/show.html.haml_spec.rb969spec/services/discussions/unresolve_service_spec.rb970spec/lib/gitlab/usage/metrics/query_spec.rb971spec/lib/gitlab/database/postgres_hll/batch_distinct_counter_spec.rb972spec/helpers/graph_helper_spec.rb973spec/views/dashboard/projects/_blank_state_welcome.html.haml_spec.rb974spec/services/ci/pipeline_schedule_service_spec.rb975spec/graphql/resolvers/recent_boards_resolver_spec.rb976spec/policies/group_deploy_keys_group_policy_spec.rb977spec/lib/gitlab/ci/config/entry/kubernetes_spec.rb978spec/lib/gitlab/hook_data/project_builder_spec.rb979spec/lib/gitlab/config/entry/composable_hash_spec.rb980spec/helpers/explore_helper_spec.rb981spec/lib/gitlab/database/partitioning/ci_sliding_list_strategy_spec.rb982spec/lib/declarative_enum_spec.rb983spec/policies/clusters/agent_policy_spec.rb984spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb985spec/services/todos/destroy/destroyed_issuable_service_spec.rb986spec/lib/gitlab/search/query_spec.rb987spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb988spec/policies/protected_branch_access_policy_spec.rb989spec/lib/gitlab/external_authorization/client_spec.rb990spec/services/system_notes/zoom_service_spec.rb991spec/lib/gitlab/lets_encrypt_spec.rb992spec/lib/gitlab/phabricator_import/importer_spec.rb993spec/serializers/issue_board_entity_spec.rb994spec/models/operations/feature_flags_client_spec.rb995spec/lib/gitlab/bitbucket_import/wiki_formatter_spec.rb996spec/graphql/types/design_management/design_at_version_type_spec.rb997spec/presenters/pages_domain_presenter_spec.rb998spec/workers/import_issues_csv_worker_spec.rb999spec/rubocop/cop/migration/datetime_spec.rb1000spec/services/customer_relations/contacts/update_service_spec.rb1001spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb1002spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb1003spec/helpers/time_helper_spec.rb1004spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb1005spec/graphql/resolvers/work_items/types_resolver_spec.rb1006spec/models/list_user_preference_spec.rb1007spec/lib/gitlab/pagination/keyset_spec.rb1008spec/lib/gitlab/middleware/memory_report_spec.rb1009spec/services/feature_flags/hook_service_spec.rb1010spec/lib/atlassian/jira_connect_spec.rb1011spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb1012spec/lib/banzai/commit_renderer_spec.rb1013spec/lib/gitlab/mailgun/webhook_processors/failure_logger_spec.rb1014spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb1015spec/services/packages/rubygems/create_dependencies_service_spec.rb1016spec/lib/gitlab/search/abuse_validators/no_abusive_coercion_from_string_validator_spec.rb1017spec/models/exported_protected_branch_spec.rb1018spec/rubocop/cop/graphql/enum_values_spec.rb1019spec/rubocop/cop/migration/versioned_migration_class_spec.rb1020spec/serializers/project_access_token_serializer_spec.rb1021spec/initializers/validate_database_config_spec.rb1022spec/tooling/lib/tooling/helpers/file_handler_spec.rb1023spec/lib/gitlab/utils/uniquify_spec.rb1024spec/workers/dependency_proxy/cleanup_blob_worker_spec.rb1025spec/models/data_list_spec.rb1026spec/lib/gitlab/memory/watchdog/sidekiq_event_reporter_spec.rb1027spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb1028spec/lib/gitlab/exception_log_formatter_spec.rb1029spec/lib/gitlab/string_range_marker_spec.rb1030spec/lib/gitlab/etag_caching/router/graphql_spec.rb1031spec/uploaders/content_type_whitelist_spec.rb1032spec/models/performance_monitoring/prometheus_panel_group_spec.rb1033spec/graphql/types/namespace/package_settings_type_spec.rb1034spec/services/groups/deploy_tokens/destroy_service_spec.rb1035spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb1036spec/workers/issues/reschedule_stuck_issue_rebalances_worker_spec.rb1037spec/workers/gitlab/github_import/stage/import_base_data_worker_spec.rb1038spec/views/admin/application_settings/repository.html.haml_spec.rb1039spec/lib/bitbucket/page_spec.rb1040spec/workers/gitlab/phabricator_import/import_tasks_worker_spec.rb1041spec/graphql/types/ci/config/group_type_spec.rb1042spec/presenters/releases/link_presenter_spec.rb1043spec/helpers/projects/cluster_agents_helper_spec.rb1044spec/serializers/analytics_merge_request_serializer_spec.rb1045spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb1046spec/graphql/types/kas/agent_connection_type_spec.rb1047spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb1048spec/graphql/types/metrics/dashboards/annotation_type_spec.rb1049spec/services/protected_tags/destroy_service_spec.rb1050spec/workers/users/create_statistics_worker_spec.rb1051spec/lib/gitlab/ci/reports/security/link_spec.rb1052spec/lib/gitlab/middleware/request_context_spec.rb1053spec/tooling/danger/config_files_spec.rb1054spec/workers/groups/update_statistics_worker_spec.rb1055spec/services/base_container_service_spec.rb1056spec/services/ci/job_artifacts/delete_project_artifacts_service_spec.rb1057spec/lib/gitlab/database/postgres_hll/buckets_spec.rb1058spec/serializers/prometheus_alert_entity_spec.rb1059spec/services/users/banned_user_base_service_spec.rb1060spec/lib/gitlab/ci/ansi2json/result_spec.rb1061spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb1062spec/graphql/types/ci/job_artifact_type_spec.rb1063spec/lib/omni_auth/strategies/bitbucket_spec.rb1064spec/db/development/add_security_training_providers_spec.rb1065spec/lib/gitlab/import_export/model_configuration_spec.rb1066spec/lib/gitlab/audit/deploy_key_author_spec.rb1067spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb1068spec/graphql/types/permission_types/ci/runner_spec.rb1069spec/lib/gitlab/utils/merge_hash_spec.rb1070spec/workers/database/drop_detached_partitions_worker_spec.rb1071spec/helpers/routing/packages_helper_spec.rb1072spec/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker_spec.rb1073spec/workers/todos_destroyer/private_features_worker_spec.rb1074spec/graphql/types/ci/freeze_period_status_enum_spec.rb1075spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb1076spec/graphql/types/packages/package_group_sort_enum_spec.rb1077spec/lib/sidebars/groups/super_sidebar_menus/monitor_menu_spec.rb1078Filter specs:1079Running specs:1080Running all node tests without filter1081spec/finders/merge_requests_finder_spec.rb1082spec/finders/snippets_finder_spec.rb1083spec/finders/issues_finder_spec.rb1084spec/policies/ci/build_policy_spec.rb1085spec/services/boards/issues/move_service_spec.rb1086spec/services/notes/quick_actions_service_spec.rb1087spec/uploaders/file_uploader_spec.rb1088spec/tasks/gitlab/seed/group_seed_rake_spec.rb1089spec/workers/packages/maven/metadata/sync_worker_spec.rb1090spec/serializers/ci/job_entity_spec.rb1091spec/models/alert_management/alert_spec.rb1092spec/lib/gitlab/background_migration/backfill_issue_search_data_spec.rb1093spec/uploaders/avatar_uploader_spec.rb1094spec/lib/backup/repositories_spec.rb1095spec/models/ability_spec.rb1096spec/lib/gitlab/background_migration/backfill_topics_title_spec.rb1097spec/models/operations/feature_flag_spec.rb1098spec/services/todos/destroy/group_private_service_spec.rb1099spec/policies/issuable_policy_spec.rb1100spec/models/projects/build_artifacts_size_refresh_spec.rb1101spec/lib/gitlab/database/background_migration/batched_job_spec.rb1102spec/models/namespace/root_storage_statistics_spec.rb1103spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb1104spec/lib/gitlab/repository_cache_adapter_spec.rb1105spec/lib/gitlab/gfm/uploads_rewriter_spec.rb1106spec/lib/banzai/reference_parser/user_parser_spec.rb1107spec/services/ci/update_build_state_service_spec.rb1108spec/services/preview_markdown_service_spec.rb1109spec/lib/gitlab/search/abuse_detection_spec.rb1110spec/models/ci/trigger_spec.rb1111spec/models/dev_ops_report/metric_spec.rb1112spec/services/ci/reset_skipped_jobs_service_spec.rb1113spec/models/personal_access_token_spec.rb1114spec/lib/gitlab/redis/trace_chunks_spec.rb1115spec/lib/gitlab/git/object_pool_spec.rb1116spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb1117spec/lib/gitlab/diff/diff_refs_spec.rb1118spec/services/projects/operations/update_service_spec.rb1119spec/lib/gitlab/data_builder/pipeline_spec.rb1120spec/models/ci/build_trace_chunks/fog_spec.rb1121spec/services/issues/resolve_discussions_spec.rb1122spec/lib/gitlab/doctor/secrets_spec.rb1123spec/workers/merge_requests/update_head_pipeline_worker_spec.rb1124spec/presenters/snippet_blob_presenter_spec.rb1125spec/lib/gitlab/deploy_key_access_spec.rb1126spec/models/ci/variable_spec.rb1127spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb1128spec/models/customer_relations/issue_contact_spec.rb1129spec/lib/gitlab/quick_actions/extractor_spec.rb1130spec/models/alert_management/http_integration_spec.rb1131spec/finders/concerns/finder_with_group_hierarchy_spec.rb1132spec/services/notification_recipients/builder/default_spec.rb1133spec/serializers/ci/dag_job_entity_spec.rb1134spec/models/uploads/fog_spec.rb1135spec/finders/groups/accepting_group_transfers_finder_spec.rb1136spec/finders/crm/contacts_finder_spec.rb1137spec/lib/gitlab/instrumentation/redis_cluster_validator_spec.rb1138spec/models/integrations/emails_on_push_spec.rb1139spec/lib/gitlab/git/push_spec.rb1140spec/tooling/lib/tooling/mappings/view_to_js_mappings_spec.rb1141spec/lib/gitlab/ci/ansi2json_spec.rb1142spec/lib/gitlab/x509/certificate_spec.rb1143spec/finders/joined_groups_finder_spec.rb1144spec/uploaders/packages/composer/cache_uploader_spec.rb1145spec/lib/gitlab/jwt_authenticatable_spec.rb1146spec/models/namespace_statistics_spec.rb1147spec/graphql/mutations/alert_management/create_alert_issue_spec.rb1148spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb1149spec/lib/gitlab/instrumentation_helper_spec.rb1150spec/models/packages/nuget/metadatum_spec.rb1151spec/lib/bulk_imports/common/pipelines/milestones_pipeline_spec.rb1152spec/services/ci/create_pipeline_service/parameter_content_spec.rb1153spec/workers/bulk_imports/export_request_worker_spec.rb1154spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb1155spec/graphql/resolvers/base_resolver_spec.rb1156spec/tasks/gitlab/background_migrations_rake_spec.rb1157spec/models/project_ci_cd_setting_spec.rb1158spec/services/users/dismiss_group_callout_service_spec.rb1159spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb1160spec/services/projects/move_project_group_links_service_spec.rb1161spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb1162spec/uploaders/object_storage/cdn/google_cdn_spec.rb1163spec/lib/gitlab/database_importers/work_items/base_type_importer_spec.rb1164spec/lib/gitlab/ci/badge/coverage/template_spec.rb1165spec/lib/sidebars/projects/menus/repository_menu_spec.rb1166spec/lib/gitlab/usage/metrics/instrumentations/generic_metric_spec.rb1167spec/services/personal_access_tokens/revoke_service_spec.rb1168spec/services/ci/find_exposed_artifacts_service_spec.rb1169spec/tasks/gitlab/refresh_project_statistics_build_artifacts_size_rake_spec.rb1170spec/lib/api/helpers/members_helpers_spec.rb1171spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb1172spec/validators/qualified_domain_array_validator_spec.rb1173spec/models/legacy_diff_note_spec.rb1174spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb1175spec/graphql/mutations/todos/create_spec.rb1176spec/lib/gitlab/hook_data/group_member_builder_spec.rb1177spec/lib/csv_builder_spec.rb1178spec/services/ci/compare_codequality_reports_service_spec.rb1179spec/lib/security/ci_configuration/sast_build_action_spec.rb1180spec/models/packages/debian/group_component_spec.rb1181spec/lib/safe_zip/entry_spec.rb1182spec/workers/gitlab_shell_worker_spec.rb1183spec/lib/generators/gitlab/usage_metric_generator_spec.rb1184spec/services/users/signup_service_spec.rb1185spec/lib/gitlab/ci/status/stage/play_manual_spec.rb1186spec/graphql/types/incident_management/escalation_status_enum_spec.rb1187spec/services/error_tracking/issue_latest_event_service_spec.rb1188spec/models/bulk_import_spec.rb1189spec/models/label_priority_spec.rb1190spec/rubocop/cop/gitlab/service_response_spec.rb1191spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb1192spec/lib/gitlab/ci/config/normalizer/number_strategy_spec.rb1193spec/policies/incident_management/timeline_event_policy_spec.rb1194spec/graphql/mutations/issues/move_spec.rb1195spec/services/ci/runners/process_runner_version_update_service_spec.rb1196spec/graphql/types/ci/pipeline_counts_type_spec.rb1197spec/models/users/banned_user_spec.rb1198spec/models/preloaders/merge_request_diff_preloader_spec.rb1199spec/models/concerns/redis_cacheable_spec.rb1200spec/policies/resource_milestone_event_policy_spec.rb1201spec/lib/gitlab/phabricator_import/conduit/response_spec.rb1202spec/views/profiles/show.html.haml_spec.rb1203spec/services/discussions/unresolve_service_spec.rb1204spec/lib/gitlab/usage/metrics/query_spec.rb1205spec/lib/gitlab/database/postgres_hll/batch_distinct_counter_spec.rb1206spec/helpers/graph_helper_spec.rb1207spec/views/dashboard/projects/_blank_state_welcome.html.haml_spec.rb1208spec/services/ci/pipeline_schedule_service_spec.rb1209spec/graphql/resolvers/recent_boards_resolver_spec.rb1210spec/policies/group_deploy_keys_group_policy_spec.rb1211spec/lib/gitlab/ci/config/entry/kubernetes_spec.rb1212spec/lib/gitlab/hook_data/project_builder_spec.rb1213spec/lib/gitlab/config/entry/composable_hash_spec.rb1214spec/helpers/explore_helper_spec.rb1215spec/lib/gitlab/database/partitioning/ci_sliding_list_strategy_spec.rb1216spec/lib/declarative_enum_spec.rb1217spec/policies/clusters/agent_policy_spec.rb1218spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb1219spec/services/todos/destroy/destroyed_issuable_service_spec.rb1220spec/lib/gitlab/search/query_spec.rb1221spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb1222spec/policies/protected_branch_access_policy_spec.rb1223spec/lib/gitlab/external_authorization/client_spec.rb1224spec/services/system_notes/zoom_service_spec.rb1225spec/lib/gitlab/lets_encrypt_spec.rb1226spec/lib/gitlab/phabricator_import/importer_spec.rb1227spec/serializers/issue_board_entity_spec.rb1228spec/models/operations/feature_flags_client_spec.rb1229spec/lib/gitlab/bitbucket_import/wiki_formatter_spec.rb1230spec/graphql/types/design_management/design_at_version_type_spec.rb1231spec/presenters/pages_domain_presenter_spec.rb1232spec/workers/import_issues_csv_worker_spec.rb1233spec/rubocop/cop/migration/datetime_spec.rb1234spec/services/customer_relations/contacts/update_service_spec.rb1235spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb1236spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb1237spec/helpers/time_helper_spec.rb1238spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb1239spec/graphql/resolvers/work_items/types_resolver_spec.rb1240spec/models/list_user_preference_spec.rb1241spec/lib/gitlab/pagination/keyset_spec.rb1242spec/lib/gitlab/middleware/memory_report_spec.rb1243spec/services/feature_flags/hook_service_spec.rb1244spec/lib/atlassian/jira_connect_spec.rb1245spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb1246spec/lib/banzai/commit_renderer_spec.rb1247spec/lib/gitlab/mailgun/webhook_processors/failure_logger_spec.rb1248spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb1249spec/services/packages/rubygems/create_dependencies_service_spec.rb1250spec/lib/gitlab/search/abuse_validators/no_abusive_coercion_from_string_validator_spec.rb1251spec/models/exported_protected_branch_spec.rb1252spec/rubocop/cop/graphql/enum_values_spec.rb1253spec/rubocop/cop/migration/versioned_migration_class_spec.rb1254spec/serializers/project_access_token_serializer_spec.rb1255spec/initializers/validate_database_config_spec.rb1256spec/tooling/lib/tooling/helpers/file_handler_spec.rb1257spec/lib/gitlab/utils/uniquify_spec.rb1258spec/workers/dependency_proxy/cleanup_blob_worker_spec.rb1259spec/models/data_list_spec.rb1260spec/lib/gitlab/memory/watchdog/sidekiq_event_reporter_spec.rb1261spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb1262spec/lib/gitlab/exception_log_formatter_spec.rb1263spec/lib/gitlab/string_range_marker_spec.rb1264spec/lib/gitlab/etag_caching/router/graphql_spec.rb1265spec/uploaders/content_type_whitelist_spec.rb1266spec/models/performance_monitoring/prometheus_panel_group_spec.rb1267spec/graphql/types/namespace/package_settings_type_spec.rb1268spec/services/groups/deploy_tokens/destroy_service_spec.rb1269spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb1270spec/workers/issues/reschedule_stuck_issue_rebalances_worker_spec.rb1271spec/workers/gitlab/github_import/stage/import_base_data_worker_spec.rb1272spec/views/admin/application_settings/repository.html.haml_spec.rb1273spec/lib/bitbucket/page_spec.rb1274spec/workers/gitlab/phabricator_import/import_tasks_worker_spec.rb1275spec/graphql/types/ci/config/group_type_spec.rb1276spec/presenters/releases/link_presenter_spec.rb1277spec/helpers/projects/cluster_agents_helper_spec.rb1278spec/serializers/analytics_merge_request_serializer_spec.rb1279spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb1280spec/graphql/types/kas/agent_connection_type_spec.rb1281spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb1282spec/graphql/types/metrics/dashboards/annotation_type_spec.rb1283spec/services/protected_tags/destroy_service_spec.rb1284spec/workers/users/create_statistics_worker_spec.rb1285spec/lib/gitlab/ci/reports/security/link_spec.rb1286spec/lib/gitlab/middleware/request_context_spec.rb1287spec/tooling/danger/config_files_spec.rb1288spec/workers/groups/update_statistics_worker_spec.rb1289spec/services/base_container_service_spec.rb1290spec/services/ci/job_artifacts/delete_project_artifacts_service_spec.rb1291spec/lib/gitlab/database/postgres_hll/buckets_spec.rb1292spec/serializers/prometheus_alert_entity_spec.rb1293spec/services/users/banned_user_base_service_spec.rb1294spec/lib/gitlab/ci/ansi2json/result_spec.rb1295spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb1296spec/graphql/types/ci/job_artifact_type_spec.rb1297spec/lib/omni_auth/strategies/bitbucket_spec.rb1298spec/db/development/add_security_training_providers_spec.rb1299spec/lib/gitlab/import_export/model_configuration_spec.rb1300spec/lib/gitlab/audit/deploy_key_author_spec.rb1301spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb1302spec/graphql/types/permission_types/ci/runner_spec.rb1303spec/lib/gitlab/utils/merge_hash_spec.rb1304spec/workers/database/drop_detached_partitions_worker_spec.rb1305spec/helpers/routing/packages_helper_spec.rb1306spec/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker_spec.rb1307spec/workers/todos_destroyer/private_features_worker_spec.rb1308spec/graphql/types/ci/freeze_period_status_enum_spec.rb1309spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb1310spec/graphql/types/packages/package_group_sort_enum_spec.rb1311spec/lib/sidebars/groups/super_sidebar_menus/monitor_menu_spec.rb1312Running all node tests without filter1313Running all node tests without filter1314Running 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/finders/merge_requests_finder_spec.rb spec/finders/snippets_finder_spec.rb spec/finders/issues_finder_spec.rb spec/policies/ci/build_policy_spec.rb spec/services/boards/issues/move_service_spec.rb spec/services/notes/quick_actions_service_spec.rb spec/uploaders/file_uploader_spec.rb spec/tasks/gitlab/seed/group_seed_rake_spec.rb spec/workers/packages/maven/metadata/sync_worker_spec.rb spec/serializers/ci/job_entity_spec.rb spec/models/alert_management/alert_spec.rb spec/lib/gitlab/background_migration/backfill_issue_search_data_spec.rb spec/uploaders/avatar_uploader_spec.rb spec/lib/backup/repositories_spec.rb spec/models/ability_spec.rb spec/lib/gitlab/background_migration/backfill_topics_title_spec.rb spec/models/operations/feature_flag_spec.rb spec/services/todos/destroy/group_private_service_spec.rb spec/policies/issuable_policy_spec.rb spec/models/projects/build_artifacts_size_refresh_spec.rb spec/lib/gitlab/database/background_migration/batched_job_spec.rb spec/models/namespace/root_storage_statistics_spec.rb spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb spec/lib/gitlab/repository_cache_adapter_spec.rb spec/lib/gitlab/gfm/uploads_rewriter_spec.rb spec/lib/banzai/reference_parser/user_parser_spec.rb spec/services/ci/update_build_state_service_spec.rb spec/services/preview_markdown_service_spec.rb spec/lib/gitlab/search/abuse_detection_spec.rb spec/models/ci/trigger_spec.rb spec/models/dev_ops_report/metric_spec.rb spec/services/ci/reset_skipped_jobs_service_spec.rb spec/models/personal_access_token_spec.rb spec/lib/gitlab/redis/trace_chunks_spec.rb spec/lib/gitlab/git/object_pool_spec.rb spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb spec/lib/gitlab/diff/diff_refs_spec.rb spec/services/projects/operations/update_service_spec.rb spec/lib/gitlab/data_builder/pipeline_spec.rb spec/models/ci/build_trace_chunks/fog_spec.rb spec/services/issues/resolve_discussions_spec.rb spec/lib/gitlab/doctor/secrets_spec.rb spec/workers/merge_requests/update_head_pipeline_worker_spec.rb spec/presenters/snippet_blob_presenter_spec.rb spec/lib/gitlab/deploy_key_access_spec.rb spec/models/ci/variable_spec.rb spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb spec/models/customer_relations/issue_contact_spec.rb spec/lib/gitlab/quick_actions/extractor_spec.rb spec/models/alert_management/http_integration_spec.rb spec/finders/concerns/finder_with_group_hierarchy_spec.rb spec/services/notification_recipients/builder/default_spec.rb spec/serializers/ci/dag_job_entity_spec.rb spec/models/uploads/fog_spec.rb spec/finders/groups/accepting_group_transfers_finder_spec.rb spec/finders/crm/contacts_finder_spec.rb spec/lib/gitlab/instrumentation/redis_cluster_validator_spec.rb spec/models/integrations/emails_on_push_spec.rb spec/lib/gitlab/git/push_spec.rb spec/tooling/lib/tooling/mappings/view_to_js_mappings_spec.rb spec/lib/gitlab/ci/ansi2json_spec.rb spec/lib/gitlab/x509/certificate_spec.rb spec/finders/joined_groups_finder_spec.rb spec/uploaders/packages/composer/cache_uploader_spec.rb spec/lib/gitlab/jwt_authenticatable_spec.rb spec/models/namespace_statistics_spec.rb spec/graphql/mutations/alert_management/create_alert_issue_spec.rb spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb spec/lib/gitlab/instrumentation_helper_spec.rb spec/models/packages/nuget/metadatum_spec.rb spec/lib/bulk_imports/common/pipelines/milestones_pipeline_spec.rb spec/services/ci/create_pipeline_service/parameter_content_spec.rb spec/workers/bulk_imports/export_request_worker_spec.rb spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb spec/graphql/resolvers/base_resolver_spec.rb spec/tasks/gitlab/background_migrations_rake_spec.rb spec/models/project_ci_cd_setting_spec.rb spec/services/users/dismiss_group_callout_service_spec.rb spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb spec/services/projects/move_project_group_links_service_spec.rb spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb spec/uploaders/object_storage/cdn/google_cdn_spec.rb spec/lib/gitlab/database_importers/work_items/base_type_importer_spec.rb spec/lib/gitlab/ci/badge/coverage/template_spec.rb spec/lib/sidebars/projects/menus/repository_menu_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/generic_metric_spec.rb spec/services/personal_access_tokens/revoke_service_spec.rb spec/services/ci/find_exposed_artifacts_service_spec.rb spec/tasks/gitlab/refresh_project_statistics_build_artifacts_size_rake_spec.rb spec/lib/api/helpers/members_helpers_spec.rb spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb spec/validators/qualified_domain_array_validator_spec.rb spec/models/legacy_diff_note_spec.rb spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb spec/graphql/mutations/todos/create_spec.rb spec/lib/gitlab/hook_data/group_member_builder_spec.rb spec/lib/csv_builder_spec.rb spec/services/ci/compare_codequality_reports_service_spec.rb spec/lib/security/ci_configuration/sast_build_action_spec.rb spec/models/packages/debian/group_component_spec.rb spec/lib/safe_zip/entry_spec.rb spec/workers/gitlab_shell_worker_spec.rb spec/lib/generators/gitlab/usage_metric_generator_spec.rb spec/services/users/signup_service_spec.rb spec/lib/gitlab/ci/status/stage/play_manual_spec.rb spec/graphql/types/incident_management/escalation_status_enum_spec.rb spec/services/error_tracking/issue_latest_event_service_spec.rb spec/models/bulk_import_spec.rb spec/models/label_priority_spec.rb spec/rubocop/cop/gitlab/service_response_spec.rb spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb spec/lib/gitlab/ci/config/normalizer/number_strategy_spec.rb spec/policies/incident_management/timeline_event_policy_spec.rb spec/graphql/mutations/issues/move_spec.rb spec/services/ci/runners/process_runner_version_update_service_spec.rb spec/graphql/types/ci/pipeline_counts_type_spec.rb spec/models/users/banned_user_spec.rb spec/models/preloaders/merge_request_diff_preloader_spec.rb spec/models/concerns/redis_cacheable_spec.rb spec/policies/resource_milestone_event_policy_spec.rb spec/lib/gitlab/phabricator_import/conduit/response_spec.rb spec/views/profiles/show.html.haml_spec.rb spec/services/discussions/unresolve_service_spec.rb spec/lib/gitlab/usage/metrics/query_spec.rb spec/lib/gitlab/database/postgres_hll/batch_distinct_counter_spec.rb spec/helpers/graph_helper_spec.rb spec/views/dashboard/projects/_blank_state_welcome.html.haml_spec.rb spec/services/ci/pipeline_schedule_service_spec.rb spec/graphql/resolvers/recent_boards_resolver_spec.rb spec/policies/group_deploy_keys_group_policy_spec.rb spec/lib/gitlab/ci/config/entry/kubernetes_spec.rb spec/lib/gitlab/hook_data/project_builder_spec.rb spec/lib/gitlab/config/entry/composable_hash_spec.rb spec/helpers/explore_helper_spec.rb spec/lib/gitlab/database/partitioning/ci_sliding_list_strategy_spec.rb spec/lib/declarative_enum_spec.rb spec/policies/clusters/agent_policy_spec.rb spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb spec/services/todos/destroy/destroyed_issuable_service_spec.rb spec/lib/gitlab/search/query_spec.rb spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb spec/policies/protected_branch_access_policy_spec.rb spec/lib/gitlab/external_authorization/client_spec.rb spec/services/system_notes/zoom_service_spec.rb spec/lib/gitlab/lets_encrypt_spec.rb spec/lib/gitlab/phabricator_import/importer_spec.rb spec/serializers/issue_board_entity_spec.rb spec/models/operations/feature_flags_client_spec.rb spec/lib/gitlab/bitbucket_import/wiki_formatter_spec.rb spec/graphql/types/design_management/design_at_version_type_spec.rb spec/presenters/pages_domain_presenter_spec.rb spec/workers/import_issues_csv_worker_spec.rb spec/rubocop/cop/migration/datetime_spec.rb spec/services/customer_relations/contacts/update_service_spec.rb spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb spec/helpers/time_helper_spec.rb spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb spec/graphql/resolvers/work_items/types_resolver_spec.rb spec/models/list_user_preference_spec.rb spec/lib/gitlab/pagination/keyset_spec.rb spec/lib/gitlab/middleware/memory_report_spec.rb spec/services/feature_flags/hook_service_spec.rb spec/lib/atlassian/jira_connect_spec.rb spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb spec/lib/banzai/commit_renderer_spec.rb spec/lib/gitlab/mailgun/webhook_processors/failure_logger_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb spec/services/packages/rubygems/create_dependencies_service_spec.rb spec/lib/gitlab/search/abuse_validators/no_abusive_coercion_from_string_validator_spec.rb spec/models/exported_protected_branch_spec.rb spec/rubocop/cop/graphql/enum_values_spec.rb spec/rubocop/cop/migration/versioned_migration_class_spec.rb spec/serializers/project_access_token_serializer_spec.rb spec/initializers/validate_database_config_spec.rb spec/tooling/lib/tooling/helpers/file_handler_spec.rb spec/lib/gitlab/utils/uniquify_spec.rb spec/workers/dependency_proxy/cleanup_blob_worker_spec.rb spec/models/data_list_spec.rb spec/lib/gitlab/memory/watchdog/sidekiq_event_reporter_spec.rb spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb spec/lib/gitlab/exception_log_formatter_spec.rb spec/lib/gitlab/string_range_marker_spec.rb spec/lib/gitlab/etag_caching/router/graphql_spec.rb spec/uploaders/content_type_whitelist_spec.rb spec/models/performance_monitoring/prometheus_panel_group_spec.rb spec/graphql/types/namespace/package_settings_type_spec.rb spec/services/groups/deploy_tokens/destroy_service_spec.rb spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb spec/workers/issues/reschedule_stuck_issue_rebalances_worker_spec.rb spec/workers/gitlab/github_import/stage/import_base_data_worker_spec.rb spec/views/admin/application_settings/repository.html.haml_spec.rb spec/lib/bitbucket/page_spec.rb spec/workers/gitlab/phabricator_import/import_tasks_worker_spec.rb spec/graphql/types/ci/config/group_type_spec.rb spec/presenters/releases/link_presenter_spec.rb spec/helpers/projects/cluster_agents_helper_spec.rb spec/serializers/analytics_merge_request_serializer_spec.rb spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb spec/graphql/types/kas/agent_connection_type_spec.rb spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb spec/graphql/types/metrics/dashboards/annotation_type_spec.rb spec/services/protected_tags/destroy_service_spec.rb spec/workers/users/create_statistics_worker_spec.rb spec/lib/gitlab/ci/reports/security/link_spec.rb spec/lib/gitlab/middleware/request_context_spec.rb spec/tooling/danger/config_files_spec.rb spec/workers/groups/update_statistics_worker_spec.rb spec/services/base_container_service_spec.rb spec/services/ci/job_artifacts/delete_project_artifacts_service_spec.rb spec/lib/gitlab/database/postgres_hll/buckets_spec.rb spec/serializers/prometheus_alert_entity_spec.rb spec/services/users/banned_user_base_service_spec.rb spec/lib/gitlab/ci/ansi2json/result_spec.rb spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb spec/graphql/types/ci/job_artifact_type_spec.rb spec/lib/omni_auth/strategies/bitbucket_spec.rb spec/db/development/add_security_training_providers_spec.rb spec/lib/gitlab/import_export/model_configuration_spec.rb spec/lib/gitlab/audit/deploy_key_author_spec.rb spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb spec/graphql/types/permission_types/ci/runner_spec.rb spec/lib/gitlab/utils/merge_hash_spec.rb spec/workers/database/drop_detached_partitions_worker_spec.rb spec/helpers/routing/packages_helper_spec.rb spec/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker_spec.rb spec/workers/todos_destroyer/private_features_worker_spec.rb spec/graphql/types/ci/freeze_period_status_enum_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb spec/graphql/types/packages/package_group_sort_enum_spec.rb spec/lib/sidebars/groups/super_sidebar_menus/monitor_menu_spec.rbKnapsack report generator started!1315Run options: exclude {:quarantine=>true, :level=>"background_migration"}1316Test environment set up in 0.664154205 seconds1317MergeRequestsFinder1318 multiple projects with merge requests1319 #execute1320 filters by scope1321 filters by project_id1322 filters by projects1323 filters by non_archived1324 filters by source project id1325 filters by state1326 does not raise any exception with complex filters1327 filtering by author1328 using OR1329 returns merge requests created by any of the given users1330 when feature flag is disabled1331 does not add any filter1332 with nonexistent author ID and MR term using CTE for search1333 returns no results1334 filtering by not author ID1335 returns merge requests not created by that user1336 filters by commit sha1337 when commit belongs to the merge request1338 filters by commit sha1339 when commit is a squash commit1340 filters by commit sha1341 when commit is a merge commit1342 filters by commit sha1343 filters by merged_at date1344 merged_after1345 is expected to eq [#<MergeRequest id:58 group1/project1!1>]1346 merged_before1347 is expected to eq [#<MergeRequest id:63 group1/project1!2>]1348 when both merged_after and merged_before is given1349 is expected to eq [#<MergeRequest id:67 group1/project1!2>]1350 when project_id is given1351 is expected to eq [#<MergeRequest id:71 group1/project1!2>]1352 queries merge_request_metrics.target_project_id table1353 filtering by group1354 includes all merge requests when user has access excluding merge requests from projects the user does not have access to1355 filters by group including subgroups1356 filters by group projects including subgroups1357 :iid parameter1358 behaves like scalar or array parameter1359 takes scalar values1360 takes array values1361 source_branch parameter1362 behaves like scalar or array parameter1363 takes scalar values1364 takes array values1365 target_branch parameter1366 behaves like scalar or array parameter1367 takes scalar values1368 takes array values1369 :label_name parameter1370 accepts a single label1371 accepts an array of labels, all of which must match1372 draft state1373 returns all items if no valid wip param exists1374 returns all items if no valid draft param exists1375 behaves like draft MRs filtering1376 filters by wip => 11377 behaves like draft MRs filtering1378 filters by wip => 11379 behaves like draft MRs filtering1380 filters by wip => true1381 behaves like draft MRs filtering1382 filters by wip => true1383 behaves like draft MRs filtering1384 filters by wip => yes1385 behaves like draft MRs filtering1386 filters by wip => 01387 behaves like draft MRs filtering1388 filters by wip => 01389 behaves like draft MRs filtering1390 filters by wip => false1391 behaves like draft MRs filtering1392 filters by wip => false1393 behaves like draft MRs filtering1394 filters by wip => no1395 behaves like draft MRs filtering1396 filters by wip => 11397 behaves like draft MRs filtering1398 filters by wip => 11399 behaves like draft MRs filtering1400 filters by wip => true1401 behaves like draft MRs filtering1402 filters by wip => true1403 behaves like draft MRs filtering1404 filters by wip => yes1405 behaves like draft MRs filtering1406 filters by wip => 01407 behaves like draft MRs filtering1408 filters by wip => 01409 behaves like draft MRs filtering1410 filters by wip => false1411 behaves like draft MRs filtering1412 filters by wip => false1413 behaves like draft MRs filtering1414 filters by wip => no1415 behaves like draft MRs filtering1416 filters by wip => 11417 behaves like draft MRs filtering1418 filters by wip => 11419 behaves like draft MRs filtering1420 filters by wip => true1421 behaves like draft MRs filtering1422 filters by wip => true1423 behaves like draft MRs filtering1424 filters by wip => yes1425 behaves like draft MRs filtering1426 filters by wip => 01427 behaves like draft MRs filtering1428 filters by wip => 01429 behaves like draft MRs filtering1430 filters by wip => false1431 behaves like draft MRs filtering1432 filters by wip => false1433 behaves like draft MRs filtering1434 filters by wip => no1435 behaves like draft MRs filtering1436 filters by draft => 11437 behaves like draft MRs filtering1438 filters by draft => 11439 behaves like draft MRs filtering1440 filters by draft => true1441 behaves like draft MRs filtering1442 filters by draft => true1443 behaves like draft MRs filtering1444 filters by draft => yes1445 behaves like draft MRs filtering1446 filters by draft => 01447 behaves like draft MRs filtering1448 filters by draft => 01449 behaves like draft MRs filtering1450 filters by draft => false1451 behaves like draft MRs filtering1452 filters by draft => false1453 behaves like draft MRs filtering1454 filters by draft => no1455 behaves like draft MRs filtering1456 filters by draft => 11457 behaves like draft MRs filtering1458 filters by draft => 11459 behaves like draft MRs filtering1460 filters by draft => true1461 behaves like draft MRs filtering1462 filters by draft => true1463 behaves like draft MRs filtering1464 filters by draft => yes1465 behaves like draft MRs filtering1466 filters by draft => 01467 behaves like draft MRs filtering1468 filters by draft => 01469 behaves like draft MRs filtering1470 filters by draft => false1471 behaves like draft MRs filtering1472 filters by draft => false1473 behaves like draft MRs filtering1474 filters by draft => no1475 behaves like draft MRs filtering1476 filters by draft => 11477 behaves like draft MRs filtering1478 filters by draft => 11479 behaves like draft MRs filtering1480 filters by draft => true1481 behaves like draft MRs filtering1482 filters by draft => true1483 behaves like draft MRs filtering1484 filters by draft => yes1485 behaves like draft MRs filtering1486 filters by draft => 01487 behaves like draft MRs filtering1488 filters by draft => 01489 behaves like draft MRs filtering1490 filters by draft => false1491 behaves like draft MRs filtering1492 filters by draft => false1493 behaves like draft MRs filtering1494 filters by draft => no1495 behaves like draft MRs filtering1496 filters by draft => 11497 behaves like draft MRs filtering1498 filters by draft => 11499 behaves like draft MRs filtering1500 filters by draft => true1501 behaves like draft MRs filtering1502 filters by draft => true1503 behaves like draft MRs filtering1504 filters by draft => yes1505 behaves like draft MRs filtering1506 filters by draft => 01507 behaves like draft MRs filtering1508 filters by draft => 01509 behaves like draft MRs filtering1510 filters by draft => false1511 behaves like draft MRs filtering1512 filters by draft => false1513 behaves like draft MRs filtering1514 filters by draft => no1515 filter by deployment1516 returns the relevant merge requests1517 when a deployment does not contain any merge requests1518 returns an empty result1519 .scalar_params1520 contains scalar params related to merge requests1521 assignee filtering1522 behaves like assignee ID filter1523 returns issuables assigned to that user1524 behaves like assignee NOT ID filter1525 returns issuables not assigned to that user1526 behaves like assignee username filter1527 returns issuables assigned to those users1528 behaves like assignee NOT username filter1529 returns issuables not assigned to those users1530 behaves like no assignee filter1531 returns issuables not assigned to any assignee1532 returns issuables not assigned to any assignee1533 behaves like any assignee filter1535 returns issuables assigned to any assignee1536 returns issuables assigned to any assignee1537 reviewer filtering1538 by reviewer_id1539 is expected to contain exactly #<MergeRequest id:466 group1/project1!1> and #<MergeRequest id:467 group1/project1!2>1540 by NOT reviewer_id1541 is expected to contain exactly #<MergeRequest id:472 group231/project244!1>, #<MergeRequest id:473 group232/project245!1>, and #<MergeRequest id:1 group1/group2/project2!1>1542 by reviewer_username1543 is expected to contain exactly #<MergeRequest id:474 group1/project1!1> and #<MergeRequest id:475 group1/project1!2>1544 by NOT reviewer_username1545 is expected to contain exactly #<MergeRequest id:480 group235/project248!1>, #<MergeRequest id:481 group236/project249!1>, and #<MergeRequest id:1 group1/group2/project2!1>1546 by reviewer_id=None1547 is expected to contain exactly #<MergeRequest id:485 group238/project251!1> and #<MergeRequest id:1 group1/group2/project2!1>1548 by reviewer_id=Any1549 is expected to contain exactly #<MergeRequest id:486 group1/project1!1>, #<MergeRequest id:487 group1/project1!2>, and #<MergeRequest id:488 group239/project252!1>1550 by reviewer_id with unknown user1551 is expected to be empty1552 by NOT reviewer_id with unknown user1553 is expected to be empty1554 filtering by group milestone1555 returns merge requests assigned to that group milestone1556 using NOT1557 returns MRs not assigned to that group milestone1558 filtering by approved1559 for approved1560 for not approved1561 filtering by approved by username1562 sort: nil1563 returns merge requests approved by that user1564 sort: "milestone"1565 returns merge requests approved by that user1566 sort: "merged_at"1567 returns merge requests approved by that user1568 sort: "merged_at_desc"1569 returns merge requests approved by that user1570 sort: "closed_at"1571 returns merge requests approved by that user1572 sort: "closed_at_desc"1573 returns merge requests approved by that user1574 not filter1575 returns merge requests not approved by that user1576 when filtering by author and not approved by1577 returns merge requests authored by user and not approved by user21578 filtering by approved by user ID1579 returns merge requests approved by that user1580 with sorting by milestone1581 returns merge requests approved by that user1582 filtering by created_at/updated_at1583 filters by created_after1584 filters by created_before1585 filters by created_after and created_before1586 filters by updated_after1587 filters by updated_before1588 filters by updated_after and updated_before1589 filtering by the merge request deployments1590 filters merge requests deployed to a given environment1591 filters merge requests deployed before a given date1592 filters merge requests ignoring empty deployed_before1593 filters merge requests ignoring invalid deployed_before1594 filters merge requests deployed after a given date1595 filters merge requests ignoring empty deployed_after1596 filters merge requests ignoring invalid deployed_after1597 filtering by search text1598 returns matching merge requests1599 #row_count1600 returns the number of rows for the default state1601 returns the number of rows for a given state1602 returns -1 if the query times out1603 external authorization1604 behaves like a finder with external authorization service1605 finds the subject1606 with an external authorization service1607 does not include the subject when no project was given1608 includes the subject when a project id was given1609 when projects require different access levels for merge requests1610 with admin user1611 when admin mode is enabled1612 returns all merge requests1613 when admin mode is disabled1614 returns public and internal merge requests1615 when project restricts merge requests1616 returns nothing to to non members1617 with external user1618 returns only public merge requests1619 with authenticated user1620 returns public and internal merge requests1621 being added to the private project1622 as a guest1623 does not return merge requests from the private project1624 as a developer1625 returns merge requests from the private project1626 being added to the public project with private repo access1627 as a guest1628 returns merge requests from the project1629 as a reporter1630 returns merge requests from the project1631 being added to the internal project with private repo access1632 as a guest1633 returns merge requests from the project1634 as a reporter1635 returns merge requests from the project1636 #count_by_state1637 when filtering by multiple labels1638 returns the correnct counts1639 when filtering by approved_by_usernames1640 returns the correnct counts1641 when the author of a merge request is banned1642 is expected not to include #<MergeRequest id:722 namespace27/project337!1>1643 when the user is an admin1644 is expected to include #<MergeRequest id:722 namespace27/project337!1>1645 when the `hide_merge_requests_from_banned_users` feature flag is disabled1646 is expected to include #<MergeRequest id:722 namespace27/project337!1>1647SnippetsFinder1648 #initialize1649 raises ArgumentError when a project and author are given1650 #execute1651 filter by scope1652 returns all snippets for 'all' scope1653 returns all snippets for 'are_private' scope1654 returns all snippets for 'are_internal' scope1655 returns all snippets for 'are_public' scope1656 filter by author1657 returns internal snippets1658 returns private snippets1659 returns public snippets1660 returns all snippets1661 returns only public snippets if unauthenticated user1662 returns all snippets for an admin in admin mode1663 returns all public and internal snippets for an admin without admin mode1664 when the author is a User object1665 returns all public and internal snippets1666 when the author is the User id1667 returns all public and internal snippets1668 when author is not valid1669 returns quickly1670 filter by project1671 returns public and internal snippets for non project members1672 returns public snippets for non project members1673 returns internal snippets for non project members1674 does not return private snippets for non project members1675 returns all snippets for project members1676 returns private snippets for project members1677 returns all snippets for an admin in admin mode1678 returns public and internal snippets for an admin without admin mode1679 when project is a Project object1680 returns public personal and project snippets for unauthorized user1681 when project is a Project id1682 returns public personal and project snippets for unauthorized user1683 filter by author1684 returns all snippets for project members1685 when project is not valid1686 returns quickly1687 filter by snippet type1688 when filtering by only_personal snippet1689 returns all personal snippets for the admin1690 returns only personal snippets visible by user1691 returns only internal or public personal snippets for user without snippets1692 filtering by ids1693 returns only personal snippet1694 explore snippets1695 returns only public personal snippets for unauthenticated users1696 also returns internal personal snippets for authenticated users1697 returns all personal snippets for admins when in admin mode1698 also returns internal personal snippets for admins without admin mode1699 when the user cannot read cross project1700 returns only personal snippets when the user cannot read cross project1701 when only project snippets are required1702 returns no records1703 when project snippets are disabled1704 returns quickly1705 no sort param is provided1706 returns snippets sorted by id1707 sort param is provided1708 returns snippets sorted by sort param1709 behaves like snippet visibility1710 For project snippets1711 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: true1712 For project and unauthenticated users1713 returns proper outcome1714 Without a given project and unauthenticated users1715 returns proper outcome1716 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1717 For project and unauthenticated users1718 returns proper outcome1719 Without a given project and unauthenticated users1720 returns proper outcome1721 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1722 For project and unauthenticated users1723 returns proper outcome1724 Without a given project and unauthenticated users1725 returns proper outcome1726 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true1727 For project and external users1728 returns proper outcome1729 Without a given project and external users1730 returns proper outcome1731 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false1732 For project and external users1733 returns proper outcome1734 Without a given project and external users1735 returns proper outcome1736 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false1737 For project and external users1738 returns proper outcome1739 Without a given project and external users1740 returns proper outcome1741 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true1742 For project and non_member users1743 returns proper outcome1744 Without a given project and non_member users1745 returns proper outcome1746 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true1747 For project and non_member users1748 returns proper outcome1749 Without a given project and non_member users1750 returns proper outcome1751 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false1752 For project and non_member users1753 returns proper outcome1754 Without a given project and non_member users1755 returns proper outcome1756 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true1757 For project and member users1758 returns proper outcome1759 Without a given project and member users1760 returns proper outcome1761 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true1762 For project and member users1763 returns proper outcome1764 Without a given project and member users1765 returns proper outcome1766 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true1767 For project and member users1768 returns proper outcome1769 Without a given project and member users1770 returns proper outcome1771 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true1772 For project and author users1773 returns proper outcome1774 Without a given project and author users1775 returns proper outcome1776 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true1777 For project and author users1778 returns proper outcome1779 Without a given project and author users1780 returns proper outcome1781 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true1782 For project and author users1783 returns proper outcome1784 Without a given project and author users1785 returns proper outcome1786 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1787 For project and unauthenticated users1788 returns proper outcome1789 Without a given project and unauthenticated users1790 returns proper outcome1791 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1792 For project and unauthenticated users1793 returns proper outcome1794 Without a given project and unauthenticated users1795 returns proper outcome1796 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1797 For project and unauthenticated users1798 returns proper outcome1799 Without a given project and unauthenticated users1800 returns proper outcome1801 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false1802 For project and external users1803 returns proper outcome1804 Without a given project and external users1805 returns proper outcome1806 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false1807 For project and external users1808 returns proper outcome1809 Without a given project and external users1810 returns proper outcome1811 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false1812 For project and external users1813 returns proper outcome1814 Without a given project and external users1815 returns proper outcome1816 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false1817 For project and non_member users1818 returns proper outcome1819 Without a given project and non_member users1820 returns proper outcome1821 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false1822 For project and non_member users1823 returns proper outcome1824 Without a given project and non_member users1825 returns proper outcome1826 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false1827 For project and non_member users1828 returns proper outcome1829 Without a given project and non_member users1830 returns proper outcome1831 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true1832 For project and member users1833 returns proper outcome1834 Without a given project and member users1835 returns proper outcome1836 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true1837 For project and member users1838 returns proper outcome1839 Without a given project and member users1840 returns proper outcome1841 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true1842 For project and member users1843 returns proper outcome1844 Without a given project and member users1845 returns proper outcome1846 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true1847 For project and author users1848 returns proper outcome1849 Without a given project and author users1850 returns proper outcome1851 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true1852 For project and author users1853 returns proper outcome1854 Without a given project and author users1855 returns proper outcome1856 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true1857 For project and author users1858 returns proper outcome1859 Without a given project and author users1860 returns proper outcome1861 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1862 For project and unauthenticated users1863 returns proper outcome1864 Without a given project and unauthenticated users1865 returns proper outcome1866 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1867 For project and unauthenticated users1868 returns proper outcome1869 Without a given project and unauthenticated users1870 returns proper outcome1871 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1872 For project and unauthenticated users1873 returns proper outcome1874 Without a given project and unauthenticated users1875 returns proper outcome1876 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false1877 For project and external users1878 returns proper outcome1879 Without a given project and external users1880 returns proper outcome1881 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false1882 For project and external users1883 returns proper outcome1884 Without a given project and external users1885 returns proper outcome1886 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false1887 For project and external users1888 returns proper outcome1889 Without a given project and external users1890 returns proper outcome1891 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false1892 For project and non_member users1893 returns proper outcome1894 Without a given project and non_member users1895 returns proper outcome1896 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false1897 For project and non_member users1898 returns proper outcome1899 Without a given project and non_member users1900 returns proper outcome1901 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false1902 For project and non_member users1903 returns proper outcome1904 Without a given project and non_member users1905 returns proper outcome1906 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false1907 For project and member users1908 returns proper outcome1909 Without a given project and member users1910 returns proper outcome1911 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false1912 For project and member users1913 returns proper outcome1914 Without a given project and member users1915 returns proper outcome1916 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false1917 For project and member users1918 returns proper outcome1919 Without a given project and member users1920 returns proper outcome1921 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false1922 For project and author users1923 returns proper outcome1924 Without a given project and author users1925 returns proper outcome1926 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false1927 For project and author users1928 returns proper outcome1929 Without a given project and author users1930 returns proper outcome1931 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false1932 For project and author users1933 returns proper outcome1934 Without a given project and author users1935 returns proper outcome1936 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1937 For project and unauthenticated users1938 returns proper outcome1939 Without a given project and unauthenticated users1940 returns proper outcome1941 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1942 For project and unauthenticated users1943 returns proper outcome1944 Without a given project and unauthenticated users1945 returns proper outcome1946 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1947 For project and unauthenticated users1948 returns proper outcome1949 Without a given project and unauthenticated users1950 returns proper outcome1951 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: false1952 For project and external users1953 returns proper outcome1954 Without a given project and external users1955 returns proper outcome1956 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false1957 For project and external users1958 returns proper outcome1959 Without a given project and external users1960 returns proper outcome1961 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false1962 For project and external users1963 returns proper outcome1964 Without a given project and external users1965 returns proper outcome1966 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true1967 For project and non_member users1968 returns proper outcome1969 Without a given project and non_member users1970 returns proper outcome1971 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true1972 For project and non_member users1973 returns proper outcome1974 Without a given project and non_member users1975 returns proper outcome1976 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false1977 For project and non_member users1978 returns proper outcome1979 Without a given project and non_member users1980 returns proper outcome1981 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true1982 For project and member users1983 returns proper outcome1984 Without a given project and member users1985 returns proper outcome1986 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true1987 For project and member users1988 returns proper outcome1989 Without a given project and member users1990 returns proper outcome1991 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true1992 For project and member users1993 returns proper outcome1994 Without a given project and member users1995 returns proper outcome1996 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true1997 For project and author users1998 returns proper outcome1999 Without a given project and author users2000 returns proper outcome2001 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true2002 For project and author users2003 returns proper outcome2004 Without a given project and author users2005 returns proper outcome2006 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true2007 For project and author users2008 returns proper outcome2009 Without a given project and author users2010 returns proper outcome2011 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2012 For project and unauthenticated users2013 returns proper outcome2014 Without a given project and unauthenticated users2015 returns proper outcome2016 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2017 For project and unauthenticated users2018 returns proper outcome2019 Without a given project and unauthenticated users2020 returns proper outcome2021 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2022 For project and unauthenticated users2023 returns proper outcome2024 Without a given project and unauthenticated users2025 returns proper outcome2026 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false2027 For project and external users2028 returns proper outcome2029 Without a given project and external users2030 returns proper outcome2031 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false2032 For project and external users2033 returns proper outcome2034 Without a given project and external users2035 returns proper outcome2036 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false2037 For project and external users2038 returns proper outcome2039 Without a given project and external users2040 returns proper outcome2041 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false2042 For project and non_member users2043 returns proper outcome2044 Without a given project and non_member users2045 returns proper outcome2046 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false2047 For project and non_member users2048 returns proper outcome2049 Without a given project and non_member users2050 returns proper outcome2051 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false2052 For project and non_member users2053 returns proper outcome2054 Without a given project and non_member users2055 returns proper outcome2056 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true2057 For project and member users2058 returns proper outcome2059 Without a given project and member users2060 returns proper outcome2061 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true2062 For project and member users2063 returns proper outcome2064 Without a given project and member users2065 returns proper outcome2066 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true2067 For project and member users2068 returns proper outcome2069 Without a given project and member users2070 returns proper outcome2071 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true2072 For project and author users2073 returns proper outcome2074 Without a given project and author users2075 returns proper outcome2076 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true2077 For project and author users2078 returns proper outcome2079 Without a given project and author users2080 returns proper outcome2081 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true2082 For project and author users2083 returns proper outcome2084 Without a given project and author users2085 returns proper outcome2086 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2087 For project and unauthenticated users2088 returns proper outcome2089 Without a given project and unauthenticated users2090 returns proper outcome2091 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2092 For project and unauthenticated users2093 returns proper outcome2094 Without a given project and unauthenticated users2095 returns proper outcome2096 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2097 For project and unauthenticated users2098 returns proper outcome2099 Without a given project and unauthenticated users2100 returns proper outcome2101 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false2102 For project and external users2103 returns proper outcome2104 Without a given project and external users2105 returns proper outcome2106 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false2107 For project and external users2108 returns proper outcome2109 Without a given project and external users2110 returns proper outcome2111 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false2112 For project and external users2113 returns proper outcome2114 Without a given project and external users2115 returns proper outcome2116 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false2117 For project and non_member users2118 returns proper outcome2119 Without a given project and non_member users2120 returns proper outcome2121 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2122 For project and non_member users2123 returns proper outcome2124 Without a given project and non_member users2125 returns proper outcome2126 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false2127 For project and non_member users2128 returns proper outcome2129 Without a given project and non_member users2130 returns proper outcome2131 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false2132 For project and member users2133 returns proper outcome2134 Without a given project and member users2135 returns proper outcome2136 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false2137 For project and member users2138 returns proper outcome2139 Without a given project and member users2140 returns proper outcome2141 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false2142 For project and member users2143 returns proper outcome2144 Without a given project and member users2145 returns proper outcome2146 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false2147 For project and author users2148 returns proper outcome2149 Without a given project and author users2150 returns proper outcome2151 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false2152 For project and author users2153 returns proper outcome2154 Without a given project and author users2155 returns proper outcome2156 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false2157 For project and author users2158 returns proper outcome2159 Without a given project and author users2160 returns proper outcome2161 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2162 For project and unauthenticated users2163 returns proper outcome2164 Without a given project and unauthenticated users2165 returns proper outcome2166 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2167 For project and unauthenticated users2168 returns proper outcome2169 Without a given project and unauthenticated users2170 returns proper outcome2171 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2172 For project and unauthenticated users2173 returns proper outcome2174 Without a given project and unauthenticated users2175 returns proper outcome2176 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true2177 For project and external users2178 returns proper outcome2179 Without a given project and external users2180 returns proper outcome2181 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: true2182 For project and external users2183 returns proper outcome2184 Without a given project and external users2185 returns proper outcome2186 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: true2187 For project and external users2188 returns proper outcome2189 Without a given project and external users2190 returns proper outcome2191 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: false2192 For project and non_member users2193 returns proper outcome2194 Without a given project and non_member users2195 returns proper outcome2196 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2197 For project and non_member users2198 returns proper outcome2199 Without a given project and non_member users2200 returns proper outcome2201 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false2202 For project and non_member users2203 returns proper outcome2204 Without a given project and non_member users2205 returns proper outcome2206 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true2207 For project and member users2208 returns proper outcome2209 Without a given project and member users2210 returns proper outcome2211 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true2212 For project and member users2213 returns proper outcome2214 Without a given project and member users2215 returns proper outcome2216 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true2217 For project and member users2218 returns proper outcome2219 Without a given project and member users2220 returns proper outcome2221 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true2222 For project and author users2223 returns proper outcome2224 Without a given project and author users2225 returns proper outcome2226 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true2227 For project and author users2228 returns proper outcome2229 Without a given project and author users2230 returns proper outcome2231 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true2232 For project and author users2233 returns proper outcome2234 Without a given project and author users2235 returns proper outcome2236 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2237 For project and unauthenticated users2238 returns proper outcome2239 Without a given project and unauthenticated users2240 returns proper outcome2241 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2242 For project and unauthenticated users2243 returns proper outcome2244 Without a given project and unauthenticated users2245 returns proper outcome2246 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2247 For project and unauthenticated users2248 returns proper outcome2249 Without a given project and unauthenticated users2250 returns proper outcome2251 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: true2252 For project and external users2253 returns proper outcome2254 Without a given project and external users2255 returns proper outcome2256 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: true2257 For project and external users2258 returns proper outcome2259 Without a given project and external users2260 returns proper outcome2261 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: true2262 For project and external users2263 returns proper outcome2264 Without a given project and external users2265 returns proper outcome2266 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false2267 For project and non_member users2268 returns proper outcome2269 Without a given project and non_member users2270 returns proper outcome2271 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false2272 For project and non_member users2273 returns proper outcome2274 Without a given project and non_member users2275 returns proper outcome2276 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false2277 For project and non_member users2278 returns proper outcome2279 Without a given project and non_member users2280 returns proper outcome2281 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true2282 For project and member users2283 returns proper outcome2284 Without a given project and member users2285 returns proper outcome2286 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true2287 For project and member users2288 returns proper outcome2289 Without a given project and member users2290 returns proper outcome2291 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true2292 For project and member users2293 returns proper outcome2294 Without a given project and member users2295 returns proper outcome2296 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true2297 For project and author users2298 returns proper outcome2299 Without a given project and author users2300 returns proper outcome2301 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true2302 For project and author users2303 returns proper outcome2304 Without a given project and author users2305 returns proper outcome2306 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true2307 For project and author users2308 returns proper outcome2309 Without a given project and author users2310 returns proper outcome2311 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2312 For project and unauthenticated users2313 returns proper outcome2314 Without a given project and unauthenticated users2315 returns proper outcome2316 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2317 For project and unauthenticated users2318 returns proper outcome2319 Without a given project and unauthenticated users2320 returns proper outcome2321 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2322 For project and unauthenticated users2323 returns proper outcome2324 Without a given project and unauthenticated users2325 returns proper outcome2326 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false2327 For project and external users2328 returns proper outcome2329 Without a given project and external users2330 returns proper outcome2331 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false2332 For project and external users2333 returns proper outcome2334 Without a given project and external users2335 returns proper outcome2336 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false2337 For project and external users2338 returns proper outcome2339 Without a given project and external users2340 returns proper outcome2341 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false2342 For project and non_member users2343 returns proper outcome2344 Without a given project and non_member users2345 returns proper outcome2346 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2347 For project and non_member users2348 returns proper outcome2349 Without a given project and non_member users2350 returns proper outcome2351 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false2352 For project and non_member users2353 returns proper outcome2354 Without a given project and non_member users2355 returns proper outcome2356 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false2357 For project and member users2358 returns proper outcome2359 Without a given project and member users2360 returns proper outcome2361 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false2362 For project and member users2363 returns proper outcome2364 Without a given project and member users2365 returns proper outcome2366 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false2367 For project and member users2368 returns proper outcome2369 Without a given project and member users2370 returns proper outcome2371 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false2372 For project and author users2373 returns proper outcome2374 Without a given project and author users2375 returns proper outcome2376 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false2377 For project and author users2378 returns proper outcome2379 Without a given project and author users2380 returns proper outcome2381 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false2382 For project and author users2383 returns proper outcome2384 Without a given project and author users2385 returns proper outcome2386 For personal snippets2387 snippet_visibility: :public, user_type: :unauthenticated, outcome: true2388 For personal and public snippets with unauthenticated user2389 returns proper outcome2390 snippet_visibility: :public, user_type: :external, outcome: true2391 For personal and public snippets with external user2392 returns proper outcome2393 snippet_visibility: :public, user_type: :non_member, outcome: true2394 For personal and public snippets with non_member user2395 returns proper outcome2396 snippet_visibility: :public, user_type: :author, outcome: true2397 For personal and public snippets with author user2398 returns proper outcome2399 snippet_visibility: :internal, user_type: :unauthenticated, outcome: false2400 For personal and internal snippets with unauthenticated user2401 returns proper outcome2402 snippet_visibility: :internal, user_type: :external, outcome: false2403 For personal and internal snippets with external user2404 returns proper outcome2405 snippet_visibility: :internal, user_type: :non_member, outcome: true2406 For personal and internal snippets with non_member user2407 returns proper outcome2408 snippet_visibility: :internal, user_type: :author, outcome: true2409 For personal and internal snippets with author user2410 returns proper outcome2411 snippet_visibility: :private, user_type: :unauthenticated, outcome: false2412 For personal and private snippets with unauthenticated user2413 returns proper outcome2414 snippet_visibility: :private, user_type: :external, outcome: false2415 For personal and private snippets with external user2416 returns proper outcome2417 snippet_visibility: :private, user_type: :non_member, outcome: false2418 For personal and private snippets with non_member user2419 returns proper outcome2420 snippet_visibility: :private, user_type: :author, outcome: true2421 For personal and private snippets with author user2422 returns proper outcome2423 when the user cannot read cross project2424 returns only personal snippets2425 external authorization2426 includes the result if the external service allows access2427 does not include any results if the external service denies access2428 behaves like a finder with external authorization service2429 finds the subject2430 with an external authorization service2431 does not include the subject when no project was given2432 includes the subject when a project id was given2433IssuesFinder2434 behaves like issues or work items finder2435 #execute2436 scope: all2437 returns all items2438 finds items user can access due to group2439 user does not have read permissions2440 when filtering by project id2441 returns no items2442 when filtering by group id2443 returns no items2444 assignee filtering2445 behaves like assignee ID filter2446 returns issuables assigned to that user2447 behaves like assignee NOT ID filter2448 returns issuables not assigned to that user2449 behaves like assignee OR filter2450 returns issuables assigned to the given users2451 when assignee_id does not exist2452 behaves like assignee NOT ID filter2453 returns issuables not assigned to that user2454 filter by username2455 behaves like assignee username filter2456 returns issuables assigned to those users2457 behaves like assignee NOT username filter2458 returns issuables not assigned to those users2459 behaves like assignee OR filter2460 returns issuables assigned to the given users2461 when assignee_username does not exist2462 behaves like assignee NOT username filter2463 returns issuables not assigned to those users2464 behaves like no assignee filter2465 returns issuables not assigned to any assignee2466 returns issuables not assigned to any assignee2467 behaves like any assignee filter2469 returns issuables assigned to any assignee2470 returns issuables assigned to any assignee2471 filtering by release2472 when filter by none2473 returns items without releases2474 when sort by milestone2475 returns items without any releases2476 when filter by any2477 returns items with any releases2478 when sort by milestone2479 returns items without any releases2480 when filter by a release_tag2481 returns the items associated with the release tag2482 when sort by milestone2483 returns the items associated with the release tag2484 when filter by a negated release_tag2485 returns the items not associated with the release2486 when sort by milestone2487 returns the items not associated with the release2488 filtering by projects2489 when projects are passed in a list of ids2490 returns the item belonging to the projects2491 when projects are passed in a subquery2492 returns the item belonging to the projects2493 filtering by group_id2494 when include_subgroup param not set2495 returns all group items2496 when projects outside the group are passed2497 returns no items2498 when projects of the group are passed2499 returns the item within the group and projects2500 when projects of the group are passed as a subquery2501 returns the item within the group and projects2502 when release_tag is passed as a parameter2503 ignores the release_tag parameter2504 when include_subgroup param is true2505 returns all group and subgroup items2506 when mixed projects are passed2507 returns the item within the group and projects2508 filtering by author2509 by author ID2510 returns items created by that user2511 using OR2512 returns items created by any of the given users2513 when feature flag is disabled2514 does not add any filter2515 filtering by NOT author ID2516 returns items not created by that user2517 filtering by nonexistent author ID and issue term using CTE for search2518 returns no results2519 filtering by milestone2520 returns items assigned to that milestone2521 filtering by not milestone2522 returns items not assigned to that milestone2523 with multiple milestones2524 returns items not assigned to both milestones2525 filtering by group milestone2526 returns items assigned to that group milestone2527 using NOT2528 returns items not assigned to that group milestone2529 filtering by no milestone2530 returns items with no milestone2531 returns items with no milestone (deprecated)2532 filtering by any milestone2533 returns items with any assigned milestone2534 returns items with any assigned milestone (deprecated)2535 filtering by upcoming milestone2536 returns items in the upcoming milestone for each project or group2537 using NOT2538 returns items not in upcoming milestones for each project or group, but must have a due date2539 filtering by started milestone2540 returns items in the started milestones for each project2541 using NOT2542 returns items not in the started milestones for each project2543 filtering by label2544 returns items with that label2545 using NOT2546 returns items that do not have that label2547 shadowing the same outside param2548 does not take precedence over labels outside NOT2549 further filtering outside params2550 further filters on the returned resultset2551 filtering by multiple labels2552 returns the unique items with all those labels2553 using NOT2554 returns items that do not have any of the labels provided2555 using OR2556 returns items that have at least one of the given labels2557 when feature flag is disabled2558 does not add any filter2559 filtering by a label that includes any or none in the title2560 returns the unique items with all those labels2561 using NOT2562 returns items that do not have ANY ONE of the labels provided2563 filtering by no label2564 returns items with no labels2565 filtering by any label2566 returns items that have one or more label2567 when the same label exists on project and group levels2568 finds both item records2569 filtering by item term2570 with latin search term2571 returns matching items2572 with non-latin search term2573 returns matching items2574 when full-text search is disabled2575 allows partial word matches2576 filtering by item term in title2577 returns items with title match for search term2578 filtering by items iids2579 returns items where iids match2580 using NOT2581 returns items with no iids match2582 filtering by state2583 with opened2584 returns only opened items2585 with closed2586 returns only closed items2587 with all2588 returns all items2589 with invalid state2590 returns all items2591 filtering by created_at2592 through created_after2593 returns items created on or after the given date2594 through created_before2595 returns items created on or before the given date2596 through created_after and created_before2597 returns items created between the given dates2598 filtering by updated_at2599 through updated_after2600 returns items updated on or after the given date2601 through updated_before2602 returns items updated on or before the given date2603 through updated_after and updated_before2604 returns items updated between the given dates2605 filtering by closed_at2606 through closed_after2607 returns items closed on or after the given date2608 through closed_before2609 returns items closed on or before the given date2610 through closed_after and closed_before2611 returns items closed between the given dates2612 filtering by reaction name2613 user searches by no reaction2614 returns items that the user did not react to2615 user searches by any reaction2616 returns items that the user reacted to2617 user searches by "thumbsup" reaction2618 returns items that the user thumbsup to2619 using NOT2620 returns items that the user did not thumbsup to2621 user2 searches by "thumbsup" reaction2622 returns items that the user2 thumbsup to2623 using NOT2624 returns items that the user2 thumbsup to2625 user searches by "thumbsdown" reaction2626 returns items that the user thumbsdown to2627 using NOT2628 returns items that the user thumbsdown to2629 filtering by confidential2630 no filtering2631 returns all items2632 user filters confidential items2633 returns only confidential items2634 user filters only public items2635 returns only public items2636 filtering by item type2637 no type given2638 returns all items2639 incident type2640 returns incident items2641 objective type2642 returns incident items2643 key_result type2644 returns incident items2645 item type2646 returns all items with type issue2647 multiple params2648 returns all items2649 without array2650 returns incident items2651 invalid params2652 returns no items2653 crm filtering2654 filtering by crm contact2655 when the user can read crm contacts2656 returns for that contact2657 when the user can not read crm contacts2658 does not filter by contact2659 filtering by crm organization2660 when the user can read crm organization2661 returns for that organization2662 when the user can not read crm organization2663 does not filter by organization2664 when the user is unauthorized2665 returns no results2666 when the user can see some, but not all, items2667 returns only items they can see2668 personal scope2669 returns item assigned to the user2670 filtering by project2671 returns items assigned to the user in that project2672 when project restricts items2673 doesn't return team-only items to non team members2674 doesn't return items if feature disabled2675 external authorization2676 behaves like a finder with external authorization service2677 finds the subject2678 with an external authorization service2679 does not include the subject when no project was given2680 includes the subject when a project id was given2681 filtering by due date2682 with param set to no due date2683 returns items with no due date2684 with param set to any due date2685 returns items with any due date2686 with param set to due today2687 returns items due today2688 with param set to due tomorrow2689 returns items due today2690 with param set to overdue2691 returns overdue items2692 with param set to next month and previous two weeks2693 returns items due in the previous two weeks and next month2694 with invalid param2695 returns no items2696 #row_count2697 returns -1 if the query times out2698 when admin mode is enabled2699 returns the number of rows for the default state2700 returns the number of rows for a given state2701 when admin mode is disabled2702 returns no rows2703 #with_confidentiality_access_check2704 when no project filter is given2705 for an anonymous user2706 behaves like returns public, does not return hidden or confidential2707 returns only public items2708 for a user without project membership2709 behaves like returns public, does not return hidden or confidential2710 returns only public items2711 for a guest user2712 behaves like returns public, does not return hidden or confidential2713 returns only public items2714 for a project member with access to view confidential items2715 behaves like returns public and confidential, does not return hidden2716 returns only public and confidential items2717 for an admin2718 when admin mode is enabled2719 behaves like returns public, confidential, and hidden2720 returns all items2721 when admin mode is disabled2722 behaves like returns public, does not return hidden or confidential2723 returns only public items2724 when searching within a specific project2725 for an anonymous user2726 does not filter by confidentiality2727 behaves like returns public, does not return hidden or confidential2728 returns only public items2729 for a user without project membership2730 filters by confidentiality2731 behaves like returns public, does not return hidden or confidential2732 returns only public items2733 for a guest user2734 filters by confidentiality2735 behaves like returns public, does not return hidden or confidential2736 returns only public items2737 for a project member with access to view confidential items2738 does not filter by confidentiality2739 behaves like returns public and confidential, does not return hidden2740 returns only public and confidential items2741 for an admin2742 when admin mode is enabled2743 does not filter by confidentiality2744 behaves like returns public, confidential, and hidden2745 returns all items2746 when admin mode is disabled2747 filters by confidentiality2748 behaves like returns public, does not return hidden or confidential2749 returns only public items2750 #use_cte_for_search?2751 when there is no search param2752 returns false2753 when the force_cte param is falsey2754 returns false2755 when a non-simple sort is given2756 returns false2757 when all conditions are met2758 uses group search optimization2759 returns true2760 uses project search optimization2761 returns true2762 with simple sort2763 returns true2764 with simple sort as a symbol2765 returns true2766 #parent_param=2767 klass: :Project, param: :project_id2768 sets the params2769 klass: :Group, param: :group_id2770 sets the params2771 unexpected parent2772 raises an error2773Ci::BuildPolicy2774 #rules2775 when user does not have access to the project2776 when public builds are enabled2777 does not include ability to read build2778 when public builds are disabled2779 does not include ability to read build2780 when anonymous user has access to the project2781 when public builds are enabled2782 includes ability to read build2783 when public builds are disabled2784 does not include ability to read build2785 when team member has access to the project2786 team member is a guest2787 when public builds are enabled2788 includes ability to read build2789 when public builds are disabled2790 does not include ability to read build2791 team member is a reporter2792 when public builds are enabled2793 includes ability to read build2794 when public builds are disabled2795 does not include ability to read build2796 when maintainer is allowed to push to pipeline branch2797 enables update_build if user is maintainer2798 rules for protected ref2799 when no one can push or merge to the branch2800 does not include ability to update build2801 when developers can push to the branch2802 includes ability to update build2803 when no one can create the tag2804 does not include ability to update build2805 when no one can create the tag but it is not a tag2806 includes ability to update build2807 rules for erase build2808 when a developer erases a build2809 when developers can push to the branch2810 when the build was created by the developer2811 when the build was created for a protected ref2812 is expected to be disallowed :erase_build2813 when the build was created for an unprotected ref2814 is expected to be allowed :erase_build2815 when the build was created by the other2816 is expected to be disallowed :erase_build2817 when no one can push or merge to the branch2818 is expected to be disallowed :erase_build2819 when a maintainer erases a build2820 when maintainers can push to the branch2821 when the build was created by the maintainer2822 is expected to be allowed :erase_build2823 when the build was created by the other2824 is expected to be allowed :erase_build2825 when no one can push or merge to the branch2826 is expected to be disallowed :erase_build2827 when an admin erases a build2828 when the build was created for a protected branch2829 is expected to be allowed :erase_build2830 when the build was created for a protected tag2831 is expected to be allowed :erase_build2832 when the build was created for an unprotected ref2833 is expected to be allowed :erase_build2834 manage a web ide terminal2835 when create_web_ide_terminal access enabled2836 with admin2837 when admin mode enabled2838 is expected to be allowed :create_build_service_proxy2839 when admin mode disabled2840 is expected not to be allowed :create_build_service_proxy2841 when build is not from a webide pipeline2842 is expected not to be allowed :create_build_service_proxy2843 when build has no runner terminal2844 when admin mode enabled2845 is expected to be allowed :update_web_ide_terminal2846 is expected not to be allowed :create_build_service_proxy2847 when admin mode disabled2848 is expected not to be allowed :update_web_ide_terminal2849 is expected not to be allowed :create_build_service_proxy2850 feature flag "build_service_proxy" is disabled2851 is expected not to be allowed :create_build_service_proxy2852 with owner2853 behaves like allowed build owner access2854 is expected not to be allowed :create_build_service_proxy2855 when user is the owner of the job2856 is expected to be allowed :create_build_service_proxy2857 with maintainer2858 behaves like allowed build owner access2859 is expected not to be allowed :create_build_service_proxy2860 when user is the owner of the job2861 is expected to be allowed :create_build_service_proxy2862 with developer2863 behaves like forbidden access2864 is expected not to be allowed :create_build_service_proxy2865 when user is the owner of the job2866 is expected not to be allowed :create_build_service_proxy2867 with reporter2868 behaves like forbidden access2869 is expected not to be allowed :create_build_service_proxy2870 when user is the owner of the job2871 is expected not to be allowed :create_build_service_proxy2872 with guest2873 behaves like forbidden access2874 is expected not to be allowed :create_build_service_proxy2875 when user is the owner of the job2876 is expected not to be allowed :create_build_service_proxy2877 with non member2878 behaves like forbidden access2879 is expected not to be allowed :create_build_service_proxy2880 when user is the owner of the job2881 is expected not to be allowed :create_build_service_proxy2882 ability :create_build_terminal2883 when user can update_build2884 when job has terminal2885 when current user is the job owner2886 is expected to be allowed :create_build_terminal2887 when current user is not the job owner2888 is expected not to be allowed :create_build_terminal2889 when job does not have terminal2890 is expected not to be allowed :create_build_terminal2891 when user cannot update build2892 is expected not to be allowed :create_build_terminal2893Boards::Issues::MoveService2894 #execute2895 when parent is a project2896 behaves like issues move service2897 when moving an issue between lists2898 delegates the label changes to Issues::UpdateService2899 removes the label from the list it came from and adds the label of the list it goes to2900 behaves like updating timestamps2901 updates updated_at2902 when moving to closed2903 delegates the close proceedings to Issues::CloseService2904 removes all list-labels from boards and close the issue2905 behaves like updating timestamps2906 updates updated_at2907 when moving to backlog2908 keeps labels and milestone2909 behaves like updating timestamps2910 updates updated_at2911 when moving from closed2912 delegates the re-open proceedings to Issues::ReopenService2913 adds the label of the list it goes to and reopen the issue2914 behaves like updating timestamps2915 updates updated_at2916 when moving to same list2917 returns nil2918 keeps issues labels2919 keeps issues assignees2920 sorts issues2921 does not update updated_at2922 when moving to a specific list position2923 moves issue to the top of the list2924 moves issue to a position in the middle of the list2925 moves issue to the bottom of the list2926 when given position is greater than number of issues in the list2927 moves the issue to the bottom of the list2928 when parent is a group2929 behaves like issues move service2930 when moving an issue between lists2931 delegates the label changes to Issues::UpdateService2932 removes the label from the list it came from and adds the label of the list it goes to2933 behaves like updating timestamps2934 updates updated_at2935 when moving to closed2936 delegates the close proceedings to Issues::CloseService2937 removes all list-labels from boards and close the issue2938 behaves like updating timestamps2939 updates updated_at2940 when moving to backlog2941 keeps labels and milestone2942 behaves like updating timestamps2943 updates updated_at2944 when moving from closed2945 delegates the re-open proceedings to Issues::ReopenService2946 adds the label of the list it goes to and reopen the issue2947 behaves like updating timestamps2948 updates updated_at2949 when moving to same list2950 returns nil2951 keeps issues labels2952 keeps issues assignees2953 sorts issues2954 does not update updated_at2955 when moving to a specific list position2956 moves issue to the top of the list2957 moves issue to a position in the middle of the list2958 moves issue to the bottom of the list2959 when given position is greater than number of issues in the list2960 moves the issue to the bottom of the list2961 #execute_multiple2962 returns the expected result if list of issues is empty2963 moving multiple issues2964 moves multiple issues from one list to another2965 moving a single issue2966 moves one issue2967 moving issues visually after an existing issue2968 moves one issue2969 moving issues visually before an existing issue2970 moves one issue2971Notes::QuickActionsService2972 .noteable_update_service_class2973 returns WorkItems::UpdateService for a note on a work item2974 returns Issues::UpdateService for a note on an issue2975 returns MergeRequests::UpdateService for a note on a merge request2976 returns Commits::TagService for a note on a commit2977 .supported?2978 with a note on an issue2979 returns true2980 with a note on a commit2981 returns false2982 #supported?2983 delegates to the class method2984 #execute2985 behaves like note on noteable that supports quick actions2986 note with only command2987 /close, /label, /assign & /milestone2988 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note2989 /relate2990 user cannot relate issues2991 does not create issue relation2992 user is allowed to relate issues2993 creates issue relation2994 /reopen2995 opens the noteable, and leave no note2996 /spend2997 when note is not persisted2998 adds time to noteable, adds timelog with nil note_id and has no content2999 when note is persisted3000 updates the spent time and populates timelog with note_id3001 adds a system note3002 when not specifying a date3003 does not include the date3004 when specifying a date3005 does include the date3006 /estimate3007 adds time estimate to noteable3008 note with command & text3009 /close, /label, /assign & /milestone3010 closes noteable, sets labels, assigns, and sets milestone to noteable3011 /reopen3012 opens the noteable3013 /milestone3014 on an incident3015 leaves the note empty3016 assigns the milestone3017 on a merge request3018 leaves the note empty3019 assigns the milestone3020 /remove_milestone3021 on an issue3022 leaves the note empty3023 removes the milestone3024 on an incident3025 leaves the note empty3026 removes the milestone3027 on a merge request3028 leaves the note empty3029 removes the milestone3030 behaves like note on noteable that supports quick actions3031 note with only command3032 /close, /label, /assign & /milestone3033 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note3034 /relate3035 user cannot relate issues3036 does not create issue relation3037 user is allowed to relate issues3038 creates issue relation3039 /reopen3040 opens the noteable, and leave no note3041 /spend3042 when note is not persisted3043 adds time to noteable, adds timelog with nil note_id and has no content3044 when note is persisted3045 updates the spent time and populates timelog with note_id3046 adds a system note3047 when not specifying a date3048 does not include the date3049 when specifying a date3050 does include the date3051 /estimate3052 adds time estimate to noteable3053 note with command & text3054 /close, /label, /assign & /milestone3055 closes noteable, sets labels, assigns, and sets milestone to noteable3056 /reopen3057 opens the noteable3058 /milestone3059 on an incident3060 leaves the note empty3061 assigns the milestone3062 on a merge request3063 leaves the note empty3064 assigns the milestone3065 /remove_milestone3066 on an issue3067 leaves the note empty3068 removes the milestone3069 on an incident3070 leaves the note empty3071 removes the milestone3072 on a merge request3073 leaves the note empty3074 removes the milestone3075 behaves like note on noteable that supports quick actions3076 note with only command3077 /close, /label, /assign & /milestone3078 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note3079 /relate3080 user cannot relate issues3081 does not create issue relation3082 user is allowed to relate issues3083 creates issue relation3084 /reopen3085 opens the noteable, and leave no note3086 /spend3087 when note is not persisted3088 adds time to noteable, adds timelog with nil note_id and has no content3089 when note is persisted3090 updates the spent time and populates timelog with note_id3091 adds a system note3092 when not specifying a date3093 does not include the date3094 when specifying a date3095 does include the date3096 /estimate3097 adds time estimate to noteable3098 note with command & text3099 /close, /label, /assign & /milestone3100 closes noteable, sets labels, assigns, and sets milestone to noteable3101 /reopen3102 opens the noteable3103 /milestone3104 on an incident3105 leaves the note empty3106 assigns the milestone3107 on a merge request3108 leaves the note empty3109 assigns the milestone3110 /remove_milestone3111 on an issue3112 leaves the note empty3113 removes the milestone3114 on an incident3115 leaves the note empty3116 removes the milestone3117 on a merge request3118 leaves the note empty3119 removes the milestone3120 note on work item that supports quick actions3121 note with only command3122 /close, /label & /assign3123 closes noteable, sets labels, assigns and leave no note3124 /reopen3125 opens the noteable, and leave no note3126 note with command & text3127 /close, /label, /assign3128 closes noteable, sets labels, assigns, and sets milestone to noteable3129 /reopen3130 opens the noteable3131 CE restriction for issue assignees3132 /assign3133 adds only one assignee from the list3134FileUploader3135 legacy storage3136 behaves like builds correct legacy storage paths3137 #store_dir3138 behaves like matches the method pattern3139 is expected to match /awesome\/project\/\h+/3140 #cache_dir3141 behaves like matches the method pattern3142 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3143 #work_dir3144 behaves like matches the method pattern3145 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3146 #upload_path3147 behaves like matches the method pattern3148 is expected to match /\h+\/<filename>/3149 #relative_path3150 is relative (PENDING: Path not set, skipping.)3151 .absolute_path3152 behaves like matches the method pattern3153 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/awesome\/project\/55dc16aa0edd05693fd98b5051e83321\/foo.jpg/3154 .base_dir3155 behaves like matches the method pattern3156 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3157 path traversal exploits3158 throws an exception3159 uses hashed storage3160 when rolled out attachments3161 #store_dir3162 behaves like matches the method pattern3163 is expected to match /@hashed\/\h{2}\/\h{2}\/\h+/3164 #cache_dir3165 behaves like matches the method pattern3166 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3167 #work_dir3168 behaves like matches the method pattern3169 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3170 #upload_path3171 behaves like matches the method pattern3172 is expected to match /\h+\/<filename>/3173 #relative_path3174 is relative (PENDING: Path not set, skipping.)3175 .absolute_path3176 behaves like matches the method pattern3177 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3178 .base_dir3179 behaves like matches the method pattern3180 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3181 path traversal exploits3182 throws an exception3183 when only repositories are rolled out3184 behaves like builds correct legacy storage paths3185 #store_dir3186 behaves like matches the method pattern3187 is expected to match /awesome\/project\/\h+/3188 #cache_dir3189 behaves like matches the method pattern3190 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3191 #work_dir3192 behaves like matches the method pattern3193 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3194 #upload_path3195 behaves like matches the method pattern3196 is expected to match /\h+\/<filename>/3197 #relative_path3198 is relative (PENDING: Path not set, skipping.)3199 .absolute_path3200 behaves like matches the method pattern3201 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/awesome\/project\/55dc16aa0edd05693fd98b5051e83321\/foo.jpg/3202 .base_dir3203 behaves like matches the method pattern3204 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3205 path traversal exploits3206 throws an exception3207 object store is remote3208 behaves like builds correct paths3209 #store_dir3210 behaves like matches the method pattern3211 is expected to match /@hashed\/\h{2}\/\h{2}\/\h+/3212 #cache_dir3213 behaves like matches the method pattern3214 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3215 #work_dir3216 behaves like matches the method pattern3217 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3218 #upload_path3219 behaves like matches the method pattern3220 is expected to match /@hashed\/\h{2}\/\h{2}\/\h+\/\h+\/<filename>/3221 #relative_path3222 is relative (PENDING: Path not set, skipping.)3223 .absolute_path3224 behaves like matches the method pattern3225 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3226 .base_dir3227 behaves like matches the method pattern3228 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3229 path traversal exploits3230 throws an exception3231 initialize3232 accepts a secret parameter3233 callbacks3234 #prune_store_dir after :remove3235 is called3236 prune the store directory3237 copy_to3238 files are stored locally3239 copies the file to the correct location3240 returned uploader3241 generates a new secret3242 creates new upload correctly3243 copies the file3244 files are stored remotely3245 copies the file to the correct location3246 returned uploader3247 generates a new secret3248 creates new upload correctly3249 copies the file3250 .extract_dynamic_path3251 with an absolute path without a slash in the beginning3252 behaves like a valid secret3253 with a 32-byte hexadecimal secret3254 extracts the secret3255 extracts the identifier3256 with a 10-byte hexadecimal secret3257 extracts the secret3258 extracts the identifier3259 with an invalid secret3260 returns nil3261 with an absolute path with a slash in the beginning3262 behaves like a valid secret3263 with a 32-byte hexadecimal secret3264 extracts the secret3265 extracts the identifier3266 with a 10-byte hexadecimal secret3267 extracts the secret3268 extracts the identifier3269 with an invalid secret3270 returns nil3271 with an relative path without a slash in the beginning3272 behaves like a valid secret3273 with a 32-byte hexadecimal secret3274 extracts the secret3275 extracts the identifier3276 with a 10-byte hexadecimal secret3277 extracts the secret3278 extracts the identifier3279 with an invalid secret3280 returns nil3281 with an relative path with a slash in the beginning3282 behaves like a valid secret3283 with a 32-byte hexadecimal secret3284 extracts the secret3285 extracts the identifier3286 with a 10-byte hexadecimal secret3287 extracts the secret3288 extracts the identifier3289 with an invalid secret3290 returns nil3291 #secret3292 generates a secret if none is provided3293 validation3294 32-byte hexadecimal3295 returns the secret3296 10-byte hexadecimal3297 returns the secret3298 invalid secret supplied3299 raises an exception3300 #migrate!3301 behaves like migrates3302 returns corresponding file type3303 does nothing when migrating to the current store3304 migrate to the specified store3305 removes the original file after the migration3306 can access to the original file during migration3307 when migrate! is not occupied by another process3308 executes migrate!3309 executes use_file3310 when migrate! is occupied by another process3311 does not execute migrate!3312 does not execute use_file3313 migration is unsuccessful3314 when the store is not supported3315 does not update the object_store3316 does not delete the original file3317 upon a fog failure3318 does not update the object_store3319 does not delete the original file3320 upon a database failure3321 does not update the object_store3322 does not delete the original file3323 behaves like migrates3324 returns corresponding file type3325 does nothing when migrating to the current store3326 migrate to the specified store3327 removes the original file after the migration3328 can access to the original file during migration3329 when migrate! is not occupied by another process3330 executes migrate!3331 executes use_file3332 when migrate! is occupied by another process3333 does not execute migrate!3334 does not execute use_file3335 migration is unsuccessful3336 when the store is not supported3337 does not update the object_store3338 does not delete the original file3339 upon a fog failure3340 does not update the object_store3341 does not delete the original file3342 upon a database failure3343 does not update the object_store3344 does not delete the original file3345 #upload=3346 handles nil3347 extract the uploader context from it3348 #replace_file_without_saving!3349 replaces an existing file without changing its metadata3350 when remote file is used3351 #cache!3352 file is stored remotely in permament location with sanitized name3353 #to_h3354 generates URL using original file name instead of filename returned by object storage3355gitlab:seed:group_seed rake task3356 performs group seed successfully3357Packages::Maven::Metadata::SyncWorker3358 #perform3359 with a jar3360 with a valid package name3361 logs the message from the service3362 behaves like an idempotent worker3363 is labeled as idempotent3364 performs multiple times sequentially without raising an exception3365 creates the updated metadata files3366 not in the passed project3367 does not create the updated metadata files3368 with a user with not enough permissions3369 does not create the updated metadata files3370 with a maven plugin3371 with a valid package name3372 logs the message from the service3373 behaves like an idempotent worker3374 is labeled as idempotent3375 performs multiple times sequentially without raising an exception3376 creates the updated metadata files3377 not in the passed project3378 does not create the updated metadata files3379 with a user with not enough permissions3380 does not create the updated metadata files3381 with no package name3382 does not run3383 with no user id3384 does not run3385 with no project id3386 does not run3387Ci::JobEntity3388 contains started3389 contains complete to indicate if a pipeline is completed3390 contains paths to job page action3391 does not contain sensitive information3392 contains whether it is playable3393 contains timestamps3394 contains details3395 contains queued_at3396 contains queued_duration3397 when job is retryable3398 contains cancel path3399 when job is cancelable3400 contains cancel path3401 when job is a regular job3402 does not contain path to play action3403 is not a playable build3404 when job is a manual action3405 when user is allowed to trigger action3406 contains path to play action3407 is a playable action3408 when user is not allowed to trigger action3409 does not contain path to play action3410 is not a playable action3411 when job is scheduled3412 contains path to unschedule action3413 contains scheduled_at3414 when job is running3415 contains started_at3416 when job is generic commit status3417 contains paths to target action3418 does not contain paths to other action paths3419 contains timestamps3420 contains details3421 when job failed3422 contains details3423 states that it failed3424 indicates the failure reason on tooltip3425 includes a callout message with a verbose output3426 states that it is not recoverable3427 when job is allowed to fail3428 contains details3429 states that it failed3430 indicates the failure reason on tooltip3431 includes a callout message with a verbose output3432 states that it is not recoverable3433 when the job failed with a script failure3434 does not include callout message or recoverable keys3435 when job failed and is recoverable3436 states it is recoverable3437 when job passed3438 does not include callout message or recoverable keys3439 when job is a bridge3440 does not include build path3441 does not include cancel path3442AlertManagement::Alert3443 associations3444 is expected to belong to project required: false3445 is expected to belong to issue optional: true3446 is expected to belong to prometheus_alert optional: true3447 is expected to belong to environment optional: true3448 is expected to have many assignees through alert_assignees3449 is expected to have many notes inverse_of => noteable3450 is expected to have many ordered_notes class_name => Note inverse_of => noteable3451 is expected to have many user_mentions class_name => AlertManagement::AlertUserMention inverse_of => alert3452 validations3453 is expected to validate that :title cannot be empty/falsy3454 is expected to validate that :events cannot be empty/falsy3455 is expected to validate that :severity cannot be empty/falsy3456 is expected to validate that :status cannot be empty/falsy3457 is expected to validate that :started_at cannot be empty/falsy3458 is expected to validate that the length of :title is at most 2003459 is expected to validate that the length of :description is at most 10003460 is expected to validate that the length of :service is at most 1003461 is expected to validate that the length of :monitoring_tool is at most 1003462 fingerprint3463 adding an alert with the same fingerprint3464 same project, various states3465 existing_status_event: :resolve, new_status: :triggered, valid: true3466 is expected to be valid3467 existing_status_event: :resolve, new_status: :acknowledged, valid: true3468 is expected to be valid3469 existing_status_event: :resolve, new_status: :ignored, valid: true3470 is expected to be valid3471 existing_status_event: :resolve, new_status: :resolved, valid: true3472 is expected to be valid3473 existing_status_event: :trigger, new_status: :triggered, valid: false3474 is expected to be invalid3475 existing_status_event: :trigger, new_status: :acknowledged, valid: false3476 is expected to be invalid3477 existing_status_event: :trigger, new_status: :ignored, valid: false3478 is expected to be invalid3479 existing_status_event: :trigger, new_status: :resolved, valid: true3480 is expected to be valid3481 existing_status_event: :acknowledge, new_status: :triggered, valid: false3482 is expected to be invalid3483 existing_status_event: :acknowledge, new_status: :acknowledged, valid: false3484 is expected to be invalid3485 existing_status_event: :acknowledge, new_status: :ignored, valid: false3486 is expected to be invalid3487 existing_status_event: :acknowledge, new_status: :resolved, valid: true3488 is expected to be valid3489 existing_status_event: :ignore, new_status: :triggered, valid: false3490 is expected to be invalid3491 existing_status_event: :ignore, new_status: :acknowledged, valid: false3492 is expected to be invalid3493 existing_status_event: :ignore, new_status: :ignored, valid: false3494 is expected to be invalid3495 existing_status_event: :ignore, new_status: :resolved, valid: true3496 is expected to be valid3497 different project3498 is expected to be valid3499 hosts3500 over 255 total chars3501 is expected not to be valid3502 under 255 chars3503 is expected to be valid3504 nested array3505 is expected not to be valid3506 enums3507 is expected to define :severity as an enum backed by an integer with values ‹{critical: 0, high: 1, medium: 2, low: 3, info: 4, unknown: 5}›3508 scopes3509 .for_iid3510 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3511 .for_fingerprint3512 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3513 .for_environment3514 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3515 .for_assignee_username3516 when matching assignee_username3517 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3518 when unknown assignee_username3519 is expected to be empty3520 with empty assignee_username3521 is expected to be empty3522 .order_severity_with_open_prometheus_alert3523 is expected to eq [#<AlertManagement::Alert id:8 namespace244/project598^alert#2>, #<AlertManagement::Alert id:9 namespace244/project598^alert#3>]3524 .counts_by_project_id3525 is expected to eq {665=>2, 666=>2}3526 .not_resolved3527 is expected to contain exactly #<AlertManagement::Alert id:2 namespace241/project595^alert#2>, #<AlertManagement::Alert id:1 namespace241/project595^alert#1>, and #<AlertManagement::Alert id:4 namespace242/project596^alert#2>3528 behaves like a model including Escalatable3529 validations3530 is expected to validate that :status cannot be empty/falsy3531 when status is triggered3532 when resolved_at is blank3533 is expected to be valid3534 when resolved_at is present3535 is expected to be invalid3536 when status is acknowledged3537 when resolved_at is blank3538 is expected to be valid3539 when resolved_at is present3540 is expected to be invalid3541 when status is resolved3542 when resolved_at is blank3543 is expected to be invalid3544 when resolved_at is present3545 is expected to be valid3546 when status is ignored3547 when resolved_at is blank3548 is expected to be valid3549 when resolved_at is present3550 is expected to be invalid3551 scopes3552 .order_status3553 descending3554 is expected to eq [#<AlertManagement::Alert id:10 namespace245/project599^alert#1>, #<AlertManagement::Alert id:11 name...2 namespace247/project601^alert#1>, #<AlertManagement::Alert id:13 namespace248/project602^alert#1>]3555 ascending3556 is expected to eq [#<AlertManagement::Alert id:13 namespace248/project602^alert#1>, #<AlertManagement::Alert id:12 name...1 namespace246/project600^alert#1>, #<AlertManagement::Alert id:10 namespace245/project599^alert#1>]3557 .open3558 is expected to contain exactly #<AlertManagement::Alert id:11 namespace246/project600^alert#1> and #<AlertManagement::Alert id:10 namespace245/project599^alert#1>3559 .status_value3560 status: :triggered, status_value: 03561 returns status value by its name3562 status: :acknowledged, status_value: 13563 returns status value by its name3564 status: :resolved, status_value: 23565 returns status value by its name3566 status: :ignored, status_value: 33567 returns status value by its name3568 status: :unknown, status_value: nil3569 returns status value by its name3570 .status_name3571 raw_status: 0, status: :triggered3572 returns status name by its values3573 raw_status: 1, status: :acknowledged3574 returns status name by its values3575 raw_status: 2, status: :resolved3576 returns status name by its values3577 raw_status: 3, status: :ignored3578 returns status name by its values3579 raw_status: -1, status: nil3580 returns status name by its values3581 .open_status?3582 status: :triggered, is_open_status: true3583 returns true when the status is open status3584 status: :acknowledged, is_open_status: true3585 returns true when the status is open status3586 status: :resolved, is_open_status: false3587 returns true when the status is open status3588 status: :ignored, is_open_status: false3589 returns true when the status is open status3590 status: nil, is_open_status: false3591 returns true when the status is open status3592 #trigger3593 when escalatable is in triggered state3594 does not change the escalatable status3595 when escalatable is not in triggered state3596 changes the escalatable status to triggered3597 resets resolved at3598 #acknowledge3599 changes the escalatable status to acknowledged3600 resets ended at3601 #resolve3602 when escalatable is already resolved3603 does not change the escalatable status3604 when escalatable is not resolved3605 changes escalatable status to "resolved"3606 #ignore3607 changes the escalatable status to ignored3608 resets ended at3609 #status_event_for3610 for_status: :triggered, event: :trigger3611 returns event by status name3612 for_status: "triggered", event: :trigger3613 returns event by status name3614 for_status: :acknowledged, event: :acknowledge3615 returns event by status name3616 for_status: "acknowledged", event: :acknowledge3617 returns event by status name3618 for_status: :resolved, event: :resolve3619 returns event by status name3620 for_status: "resolved", event: :resolve3621 returns event by status name3622 for_status: :ignored, event: :ignore3623 returns event by status name3624 for_status: "ignored", event: :ignore3625 returns event by status name3626 for_status: :unknown, event: nil3627 returns event by status name3628 for_status: nil, event: nil3629 returns event by status name3630 for_status: "", event: nil3631 returns event by status name3632 for_status: 1, event: nil3633 returns event by status name3634 #open?3635 returns true when the status is open status3636 .counts_by_status3637 is expected to eq {:acknowledged=>1, :ignored=>1, :resolved=>1, :triggered=>1}3638 .find_unresolved_alert3639 is expected to eq #<AlertManagement::Alert id:16 namespace241/project595^alert#4>3640 .last_prometheus_alert_by_project_id3641 returns the latest alert for each project3642 .search3643 does not contain search string3644 is expected to be empty3645 title includes query3646 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3647 description includes query3648 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3649 service includes query3650 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3651 monitoring tool includes query3652 is expected to contain exactly #<AlertManagement::Alert id:1 namespace241/project595^alert#1>3653 .reference_pattern3654 is expected to match "gitlab-org/gitlab^alert#123"3655 .link_reference_pattern3656 is expected to match "http://localhost/namespace241/project595/-/alert_management/1/details"3657 is expected not to match "http://localhost/gitlab-org/gitlab/alert_management/123"3658 is expected not to match "http://localhost/gitlab-org/gitlab/issues/123"3659 is expected not to match "gitlab-org/gitlab/-/alert_management/123"3660 .reference_valid?3661 ref: "123456", result: true3662 is expected to eq true3663 ref: "1", result: true3664 is expected to eq true3665 ref: "-1", result: false3666 is expected to eq false3667 ref: nil, result: false3668 is expected to eq false3669 ref: "123456891012345678901234567890", result: false3670 is expected to eq false3671 #to_reference3672 is expected to eq "^alert#1"3673 #register_new_event!3674 increments the events count by 13675 #resolved_at3676 is expected to eq 2023-03-30 11:50:18.748251000 +00003677 #resolved_at=3678 sets ended_at3679AvatarUploader3680 behaves like builds correct paths3681 #store_dir3682 behaves like matches the method pattern3683 is expected to match /uploads\/-\/system\/user\/avatar\//3684 #cache_dir3685 behaves like matches the method pattern3686 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3687 #work_dir3688 behaves like matches the method pattern3689 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3690 #upload_path3691 behaves like matches the method pattern3692 is expected to match /uploads\/-\/system\/user\/avatar\//3693 #relative_path3694 is relative (PENDING: Path not set, skipping.)3695 .absolute_path3696 behaves like matches the method pattern3697 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/user\/avatar\//3698 .base_dir3699 behaves like matches the method pattern3700 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3701 path traversal exploits3702 throws an exception3703 object_store is REMOTE3704 behaves like builds correct paths3705 #store_dir3706 behaves like matches the method pattern3707 is expected to match /user\/avatar\//3708 #cache_dir3709 behaves like matches the method pattern3710 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3711 #work_dir3712 behaves like matches the method pattern3713 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3714 #upload_path3715 behaves like matches the method pattern3716 is expected to match /user\/avatar\//3717 #relative_path3718 is relative (PENDING: Path not set, skipping.)3719 .absolute_path3720 behaves like matches the method pattern3721 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3722 .base_dir3723 behaves like matches the method pattern3724 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3725 path traversal exploits3726 throws an exception3727 with a file3728 sets the right absolute path3729 behaves like migrates3730 returns corresponding file type3731 does nothing when migrating to the current store3732 migrate to the specified store3733 removes the original file after the migration3734 can access to the original file during migration3735 when migrate! is not occupied by another process3736 executes migrate!3737 executes use_file3738 when migrate! is occupied by another process3739 does not execute migrate!3740 does not execute use_file3741 migration is unsuccessful3742 when the store is not supported3743 does not update the object_store3744 does not delete the original file3745 upon a fog failure3746 does not update the object_store3747 does not delete the original file3748 upon a database failure3749 does not update the object_store3750 does not delete the original file3751 behaves like migrates3752 returns corresponding file type3753 does nothing when migrating to the current store3754 migrate to the specified store3755 removes the original file after the migration3756 can access to the original file during migration3757 when migrate! is not occupied by another process3758 executes migrate!3759 executes use_file3760 when migrate! is occupied by another process3761 does not execute migrate!3762 does not execute use_file3763 migration is unsuccessful3764 when the store is not supported3765 does not update the object_store3766 does not delete the original file3767 upon a fog failure3768 does not update the object_store3769 does not delete the original file3770 upon a database failure3771 does not update the object_store3772 does not delete the original file3773 accept whitelist file content type3774 mime_type: "image/png"3775 behaves like accepted carrierwave upload3776 will accept upload3777 will cache uploaded file3778 mime_type: "image/jpeg"3779 behaves like accepted carrierwave upload3780 will accept upload3781 will cache uploaded file3782 mime_type: "image/gif"3783 behaves like accepted carrierwave upload3784 will accept upload3785 will cache uploaded file3786 mime_type: "image/bmp"3787 behaves like accepted carrierwave upload3788 will accept upload3789 will cache uploaded file3790 mime_type: "image/tiff"3791 behaves like accepted carrierwave upload3792 will accept upload3793 will cache uploaded file3794 mime_type: "image/vnd.microsoft.icon"3795 behaves like accepted carrierwave upload3796 will accept upload3797 will cache uploaded file3798 upload non-whitelisted file content type3799 behaves like denied carrierwave upload3800 will deny upload3801 upload misnamed non-whitelisted file content type3802 behaves like denied carrierwave upload3803 will deny upload3804Backup::Repositories3805 #dump3806 avoids N+1 database queries3807 hashed storage3808 behaves like creates repository bundles3809 calls enqueue for each repository type3810 legacy storage3811 behaves like creates repository bundles3812 calls enqueue for each repository type3813 command failure3814 enqueue_project raises an error3815 project query raises an error3816 storages3817 calls enqueue for all repositories on the specified storage3818 paths3819 project path3820 calls enqueue for all repositories on the specified project3821 group path3822 calls enqueue for all repositories on all descendant projects3823 #restore3824 calls enqueue for each repository type3825 restoring object pools3826 schedules restoring of the pool3827 skips pools when no source project is found3828 cleanup snippets3829 shows the appropriate error3830 removes the snippets from the DB3831 removes the repository from disk3832 storages3833 calls enqueue for all repositories on the specified storage3834 paths3835 project path3836 calls enqueue for all repositories on the specified project3837 group path3838 calls enqueue for all repositories on all descendant projects3839Ability3840 using a nil subject3841 has no permissions3842 .users_that_can_read_project3843 using a public project3844 returns all the users3845 using an internal project3846 returns users that are administrators3847 returns internal users while skipping external users3848 returns external users if they are the project owner3849 returns external users if they are project members3850 returns an empty Array if all users are external users without access3851 using a private project3852 returns users that are administrators when admin mode is enabled3853 does not return users that are administrators when admin mode is disabled3854 returns external users if they are the project owner3855 returns external users if they are project members3856 returns an empty Array if all users are internal users without access3857 returns an empty Array if all users are external users without access3858 .users_that_can_read_personal_snippet3859 private snippet is readable only by its author3860 public snippet is readable by all users3861 .users_that_can_read_internal_note3862 for groups3863 behaves like filtering users that can read internal note3864 returns users that can read internal notes3865 for projects3866 behaves like filtering users that can read internal note3867 returns users that can read internal notes3868 .merge_requests_readable_by_user3869 with an admin when admin mode is enabled3870 returns all merge requests3871 with an admin when admin mode is disabled3872 returns merge_requests that are publicly visible3873 without a user3874 returns merge_requests that are publicly visible3875 with a user3876 returns projects visible to the user3877 when a user cannot read cross project and a filter is passed3878 returns only MRs of the specified project without checking access on others3879 .issues_readable_by_user3880 with an admin when admin mode is enabled3881 returns all given issues3882 with an admin when admin mode is disabled3883 returns the issues readable by the admin3884 returns no issues when not given access3885 with a regular user3886 returns the issues readable by the user3887 returns an empty Array when no issues are readable3888 without a regular user3889 returns issues that are publicly visible3890 when the user cannot read cross project3891 excludes issues from other projects whithout checking separatly when passing a scope3892 .feature_flags_readable_by_user3893 without a user3894 returns no feature flags3895 with a user3896 returns feature flags visible to the user3897 when a user cannot read cross project and a filter is passed3898 returns only feature flags of the specified project without checking access on others3899 .project_disabled_features_rules3900 wiki named abilities3901 disables wiki abilities if the project has no wiki3902 forgetting3903 allows us to discard specific values from the DeclarativePolicy cache3904 when bypassing the session3905 allows us to have re-entrant evaluation of admin-only permissions3906Operations::FeatureFlag3907 behaves like includes Limitable concern3908 #exceeds_limits?3909 without plan limits configured3910 is expected to eq false3911 without plan limits configured3912 is expected to eq false3913 with an existing model3914 is expected to eq true3915 validations3916 is expected to be a kind of Limitable3917 without plan limits configured3918 can create new models3919 with plan limits configured3920 can create new models3921 with an existing model3922 cannot create new models exceeding the plan limits3923 associations3924 is expected to belong to project required: false3925 is expected to have many strategies3926 default values3927 is expected to be active3928 is expected to eq "new_version_flag"3929 .reference_pattern3930 is expected to match "[feature_flag:123]"3931 is expected to match "[feature_flag:gitlab-org/gitlab/123]"3932 .link_reference_pattern3933 is expected to match "http://localhost/gitlab-org/gitlab/-/feature_flags/123/edit"3934 is expected not to match "http://localhost/gitlab-org/gitlab/issues/123/edit"3935 is expected not to match "gitlab-org/gitlab/-/feature_flags/123/edit"3936 #to_reference3937 returns feature flag id3938 returns complete path to the feature flag with full: true3939 validations3940 is expected to validate that :project cannot be empty/falsy3941 is expected to validate that :name cannot be empty/falsy3942 is expected to validate that :name is case-sensitively unique within the scope of :project_id3943 is expected to define :version as an enum backed by an integer with values ‹{new_version_flag: 2}›3944 a version 2 feature flag3945 is valid if associated with Operations::FeatureFlags::Strategy models3946 behaves like AtomicInternalId3947 .has_internal_id3948 Module inclusion3949 is expected to includes the AtomicInternalId module3950 Validation3951 when presence validation is required3952 when creating an object3953 raises an error if the internal id is blank3954 when updating an object3955 raises an error if the internal id is blank3956 when presence validation is not required3957 when creating an object3958 does not raise an error if the internal id is blank (PENDING: No reason given)3959 when updating an object3960 does not raise an error if the internal id is blank (PENDING: No reason given)3961 Creating an instance3962 saves a new instance properly3963 internal id generation3964 calls InternalId.generate_next and sets internal id attribute3965 does not overwrite an existing internal id3966 when the instance has an internal ID set3967 calls InternalId.update_last_value and sets the `last_value` to that of the instance3968 unsetting the instance internal id on rollback3969 when the internal id has been changed3970 when the internal id is automatically set3971 clears it on the instance3972 when the internal id is manually set3973 does not clear it on the instance3974 when the internal id has not been changed3975 preserves the value on the instance3976 supply of internal ids3977 provides a persistent supply of IID values, sensitive to the current state3978 #reset_scope_internal_id_attribute3979 rewinds the allocated IID3980 allocates the same IID3981 .enabled3982 when the feature flag is active3983 returns the flag3984 when the feature flag is inactive3985 does not return the flag3986 .disabled3987 when the feature flag is active3988 does not return the flag3989 when the feature flag is inactive3990 returns the flag3991 .for_unleash_client3992 matches wild cards in the scope3993 matches wild cards case sensitively3994 returns feature flags ordered by id3995 #hook_attrs3996 includes expected attributes3997Todos::Destroy::GroupPrivateService3998 #execute3999 when a group set to private4000 removes todos only for users who are not group users4001 with nested groups4002 removes todos only for users who are not group users4003 when group is not private4004 does not remove any todos4005IssuablePolicy4006 #rules4007 when user is author of issuable4008 allows resolving notes4009 does not allow reading internal notes4010 when user is able to read project4011 enables user to read and update issuables4012 Timeline events4013 allows non-members to read time line events4014 disallows reporters from managing timeline events4015 allows developers to manage timeline events4016 when project is private4017 disallows user from reading and updating issuables from that project4018 when user belongs to the projects team4019 enables user to read and update issuables4020 Timeline events4021 disallows non-members from reading timeline events4022 allows guests to read time line events4023 disallows reporters from managing timeline events4024 allows developers to manage timeline events4025 when user is assignee of issuable4026 does not allow reading internal notes4027 when discussion is locked for the issuable4028 when the user is not a project member4029 can not create a note nor award emojis4030 does not allow resolving note4031 when the user is a project member4032 can create a note and award emojis4033 allows resolving notes4034 when user is anonymous4035 does not allow timelogs creation4036 when user is not a member of the project4037 does not allow timelogs creation4038 when user is not a member of the project but the author of the issuable4039 does not allow timelogs creation4040 does not allow reading internal notes4041 when user is a guest member of the project4042 does not allow timelogs creation4043 does not allow reading internal notes4044 when user is a guest member of the project and the author of the issuable4045 does not allow timelogs creation4046 when user is at least reporter of the project4047 allows timelogs creation4048 allows reading internal notes4049 when subject is a Merge Request4050 when can_read_merge_request is false4051 does not allow :read_issuable4052 when can_read_merge_request is true4053 allows :read_issuable4054 when subject is an Issue4055 when can_read_issue is false4056 does not allow :read_issuable4057 when can_read_issue is true4058 allows :read_issuable4059Projects::BuildArtifactsSizeRefresh4060 associations4061 is expected to belong to project required: false4062 validations4063 is expected to validate that :project cannot be empty/falsy4064 scopes4065 stale4066 returns records in running state and has not been updated for more than 2 hours4067 remaining4068 returns stale, created and pending records4069 does not include finalizing4070 processing_queue4071 prioritizes pending -> stale -> created4072 does not include finalizing4073 state machine4074 initial state4075 defaults to created4076 #process!4077 when refresh state is created4078 transitions the state to running4079 sets the refresh_started_at4080 sets last_job_artifact_id_on_refresh_start4081 bumps the updated_at4082 resets the build artifacts size stats4083 resets the buffered counter value to zero4084 when refresh state is pending4085 transitions the state to running4086 bumps the updated_at4087 when refresh state is running4088 keeps the state at running4089 bumps the updated_at4090 #requeue!4091 transitions refresh state from running to pending4092 bumps updated_at4093 updates last_job_artifact_id4094 #schedule_finalize!4095 transitions refresh state from running to finalizing4096 schedules Projects::FinalizeProjectStatisticsRefreshWorker4097 .process_next_refresh!4098 picks the first record from the remaining work4099 .enqueue_refresh4100 creates refresh records for each given project, skipping duplicates4101 #finalize!4102 stores the refresh amount into the buffered counter4103 destroys the refresh record4104 #next_batch4105 returns the job artifact records that were created not later than the refresh_started_at and IDs greater than the last_job_artifact_id4106 when created_at is set before artifact id is persisted4107 returns ordered job artifacts4108 #started?4109 refresh_state: :created, result: false4110 is expected to eq false4111 refresh_state: :pending, result: true4112 is expected to eq true4113 refresh_state: :running, result: true4114 is expected to eq true4115 callbacks4116 when destroyed4117 enqueues a Namespaces::ScheduleAggregationWorker4118Gitlab::Database::BackgroundMigration::BatchedJob4119 is expected to be a kind of Gitlab::Database::SharedModel(abstract)4120 is expected to contain exactly ActiveRecord::StatementTimeout, ActiveRecord::ConnectionTimeoutError, ActiveRecord::AdapterTimeout, ActiveRecord::LockWaitTimeout, and ActiveRecord::QueryCanceled4121 associations4122 is expected to belong to batched_migration required: false4123 is expected to have many batched_job_transition_logs4124 state machine4125 is expected to eql :pending, :running, :failed, and :succeeded4126 when a job is running4127 logs the transition4128 when a job succeed4129 logs the transition4130 updates the finished_at4131 creates a new transition log4132 when a job fails the number of max times4133 when job can be split4134 splits the job into two retriable jobs4135 when the job cannot be split4136 does not split the job4137 keeps the same job attributes4138 logs the error4139 when a job fails4140 logs the transition4141 tracks the exception4142 updates the finished_at4143 creates a new transition log4144 when job fails during sub batch processing4145 when sub batch size can be reduced in 25%4146 is expected to change `job.sub_batch_size` to 74147 when retries exceeds 2 attempts4148 calls split_and_retry! once sub_batch_size cannot be decreased anymore4149 is expected not to change `job.sub_batch_size`4150 scopes4151 .except_succeeded4152 returns not succeeded jobs4153 .active4154 returns active jobs4155 .stuck4156 returns stuck jobs4157 .retriable4158 returns retriable jobs4159 .created_since4160 returns jobs since a given time4161 .blocked_by_max_attempts4162 returns blocked jobs4163 delegated batched_migration attributes4164 #migration_job_class4165 returns the migration job_class4166 #migration_table_name4167 returns the migration table_name4168 #migration_column_name4169 returns the migration column_name4170 #migration_job_arguments4171 returns the migration job_arguments4172 #migration_job_class_name4173 returns the migration job_class_name4174 .extract_transition_options4175 args: [], expected_result: []4176 matches expected keys and result4177 args: [{:error=>StandardError}], expected_result: [StandardError, nil]4178 matches expected keys and result4179 args: [{:error=>StandardError, :from_sub_batch=>true}], expected_result: [StandardError, true]4180 matches expected keys and result4181 #can_split?4182 when the number of attempts is greater than the limit and the batch_size is greater than the sub_batch_size4183 when is a timeout exception4184 is expected to be truthy4185 when is a QueryCanceled exception4186 is expected to be truthy4187 when is not a timeout exception4188 is expected to be falsey4189 when the number of attempts is lower than the limit and the batch_size is greater than the sub_batch_size4190 when is a timeout exception4191 is expected to be falsey4192 when is not a timeout exception4193 is expected to be falsey4194 when the batch_size is lower than the sub_batch_size4195 is expected to be falsey4196 when the batch_size is 14197 is expected to be falsey4198 #can_reduce_sub_batch_size?4199 feature_flag_state: true, within_boundaries: true, outside_boundaries: false, limit_reached: false4200 when the number of attempts is lower than the limit and batch size are within boundaries4201 is expected to equal true4202 when the number of attempts is lower than the limit and batch size are outside boundaries4203 is expected to equal false4204 when the number of attempts is greater than the limit and batch size are within boundaries4205 is expected to equal false4206 feature_flag_state: false, within_boundaries: false, outside_boundaries: false, limit_reached: false4207 when the number of attempts is lower than the limit and batch size are within boundaries4208 is expected to equal false4209 when the number of attempts is lower than the limit and batch size are outside boundaries4210 is expected to equal false4211 when the number of attempts is greater than the limit and batch size are within boundaries4212 is expected to equal false4213 #time_efficiency4214 when job has not yet succeeded4215 returns nil4216 when finished_at is not set4217 returns nil4218 when started_at is not set4219 returns nil4220 when job has finished4221 returns ratio of duration to interval, here: 0.54222 returns ratio of duration to interval, here: 14223 #split_and_retry!4224 when job can be split4225 sets the correct attributes4226 splits the jobs into retriable jobs4227 when job is not failed4228 raises an exception4229 when batch size is already 14230DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is4231deprecated without replacement. If the `throw` came from4232`Timeout.timeout(duration)`, pass an exception class as a second4233argument so it doesn't use `throw` to abort its block. This results4234in the transaction being committed, but in the next release of Rails4235it will rollback.4236 (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)4237 keeps the same batch size4238DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is4239deprecated without replacement. If the `throw` came from4240`Timeout.timeout(duration)`, pass an exception class as a second4241argument so it doesn't use `throw` to abort its block. This results4242in the transaction being committed, but in the next release of Rails4243it will rollback.4244 (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)4245 resets the number of attempts4246 when computed midpoint is larger than the max value of the batch4247 lowers the batch size and resets the number of attempts4248 #reduce_sub_batch_size!4249 when the job sub batch size can be reduced4250 reduces sub batch size in 25%4251 log the changes4252 when reduced sub_batch_size is greater than sub_batch4253 doesn't allow sub_batch_size to greater than sub_batch4254 when sub_batch_size is already 14255 updates sub_batch_size to it's minimum value4256 when job has not failed4257 raises an exception4258 when the amount to be reduced exceeds the threshold4259 prevents sub batch size to be reduced4260Namespace::RootStorageStatistics4261 is expected to belong to namespace required: false4262 is expected to have one route through namespace4263 is expected to delegate #all_projects to the #namespace object4264 scopes4265 .for_namespace_ids4266 returns only requested namespaces4267 #recalculate!4268 behaves like project data refresh4269 aggregates project statistics4270 aggregates container_repositories_size and storage_size4271 works when there are no projects4272 behaves like does not include personal snippets4273 is expected not to receive from_personal_snippets(*(any args)) 0 times4274 with subgroups4275 behaves like project data refresh4276 aggregates project statistics4277 aggregates container_repositories_size and storage_size4278 works when there are no projects4279 behaves like does not include personal snippets4280 is expected not to receive from_personal_snippets(*(any args)) 0 times4281 with a group namespace4282 aggregates namespace statistics4283 works when there are no namespace statistics4284 with a personal namespace4285 does not aggregate namespace statistics4286 behaves like project data refresh4287 aggregates project statistics4288 aggregates container_repositories_size and storage_size4289 works when there are no projects4290 when user has personal snippets4291 aggregates personal and project snippets size4292 when personal snippets do not have statistics4293 does not raise any error4294Gitlab::Ci::Pipeline::Seed::Stage4295 #size4296 returns a number of jobs in the stage4297 #attributes4298 returns hash attributes of a stage4299 #included?4300 when it contains builds seeds4301 is expected to be included4302 when it does not contain build seeds4303 is expected not to be included4304 #seeds4305 returns build seeds4306 returns build seeds including valid attributes4307 filters seeds using only/except policies4308 when a legacy trigger exists4309 returns build seeds including legacy trigger4310 when a ref is protected4311 returns protected builds4312 when a ref is not protected4313 returns unprotected builds4314 #seeds_names4315 returns all job names4316 returns a set4317 #seeds_errors4318 returns all errors from seeds4319 #to_resource4320 builds a valid stage object with all builds4321 can not be persisted without explicit pipeline assignment4322Gitlab::RepositoryCacheAdapter4323 .cache_method_output_as_redis_set4324 with an existing repository4325 caches the output, sorting the results4326 membership checks4327 when the cache key does not exist4328 calls the original method and populates the cache4329 when the cache key exists4330 calls #try_include? on the set cache4331 memoizes the result4332 #cache_method_output4333 with a non-existing repository4334 returns the fallback value4335 avoids calling the original method4336 with a method throwing a non-existing-repository error4337 returns the fallback value4338 does not cache the data4339 with an existing repository4340 caches the output4341 #cache_method_output_asymmetrically4342 with a non-existing repository4343 returns the output of the original method4344 with a method throwing a non-existing-repository error4345 returns nil4346 does not cache the data4347 with an existing repository4348 when it returns truthy4349 caches the output in RequestStore4350 caches the output in RepositoryCache4351 when it returns false4352 caches the output in RequestStore4353 does NOT cache the output in RepositoryCache4354 #memoize_method_output4355 with a non-existing repository4356 returns the fallback value4357 avoids calling the original method4358 does not set the instance variable4359 with a method throwing a non-existing-repository error4360 returns the fallback value4361 does not set the instance variable4362 with an existing repository4363 sets the instance variable4364 #expire_method_caches4365 expires the caches of the given methods4366 does not expire caches for non-existent methods4367Gitlab::Gfm::UploadsRewriter4368 text contains links to uploads4369 does not rewrite plain links as embedded4370 does not casue a timeout on pathological text4371 file are stored locally4372 #rewrite4373 rewrites content4374 copies files4375 does not remove old files4376 generates a new secret for each file4377 skips nil files do4378 skips non-existant files4379 files are stored remotely4380 #rewrite4381 rewrites content4382 copies files4383 does not remove old files4384 generates a new secret for each file4385 skips nil files do4386 skips non-existant files4387 #needs_rewrite?4388 is expected to eq true4389Banzai::ReferenceParser::UserParser4390 #referenced_by4391 when the link has a data-group attribute4392 using an existing group ID4393 returns an empty Array when the group has no users4394 when group has members4395 returns the users of the group4396 returns an empty Array when the group has mentions disabled4397 using a non-existing group ID4398 returns an empty Array4399 when the link has a data-user attribute4400 returns an Array of users4401 when RequestStore is active4402 does not return users from the first call in the second4403 when the link has a data-project attribute4404 using an existing project ID4405 returns the members of a project4406 using a non-existing project ID4407 returns an empty Array4408 #nodes_visible_to_user4409 when the link has a data-group attribute4410 using an existing group ID4411 returns the nodes if the user can read the group4412 returns an empty Array if the user can not read the group4413 when the link does not have a data-group attribute4414 with a data-project attribute4415 returns the nodes if the attribute value equals the current project ID4416 returns the nodes if the user can read the project4417 returns an empty Array if the user can not read the project4418 without a data-project attribute4419 returns the nodes4420 #nodes_user_can_reference4421 when the link has a data-author attribute4422 returns the nodes when the user is a member of the project4423 returns an empty Array when the project could not be found4424 returns an empty Array when the user could not be found4425 returns an empty Array when the user is not a team member4426 returns the nodes if the project attribute value equals the current project ID4427 when the link does not have a data-author attribute4428 returns the nodes4429Ci::UpdateBuildStateService4430 when build has unknown failure reason4431 updates a build status4432 when build has failed4433 sends a build failed event to Snowplow4434 when build does not have checksum4435 when state has changed4436 updates a state of a running build4437 returns 200 OK status4438 does not increment finalized trace metric4439 when it is a heartbeat request4440 updates a build timestamp4441 when state is unknown4442 responds with 400 bad request4443 when build has a checksum4444 when build does not have associated trace chunks4445 updates a build status4446 updates the allow_failure flag4447 does not increment invalid trace metric4448 does not increment chunks_invalid_checksum trace metric4449 when build trace has been migrated4450 updates a build state4451 updates the allow_failure flag4452 responds with 200 OK status4453 does not set a backoff value4454 increments trace finalized operation metric4455 records migration duration in a histogram4456 when trace checksum is not valid4457 increments invalid trace metric4458 increments chunks_invalid_checksum trace metric4459 when trace checksum is valid4460 does not increment invalid or corrupted trace metric4461 when using deprecated parameters4462 does not increment invalid or corrupted trace metric4463 when trace checksum is invalid and the log is corrupted4464 increments invalid and corrupted trace metrics4465 when trace checksum is invalid but the log seems fine4466 does not increment corrupted trace metric4467 when failed to acquire a build trace lock4468 accepts a state update request4469 increment locked trace metric4470 when build trace has not been migrated yet4471 does not update a build state4472 responds with 202 accepted4473 sets a request backoff value4474 schedules live chunks for migration4475 creates a pending state record4476 increments trace accepted operation metric4477 does not increment invalid trace metric4478 when build pending state is outdated4479 responds with 200 OK4480 updates build state4481 increments discarded traces metric4482 does not increment finalized trace metric4483 when build pending state has changes4484 uses stored state and responds with 200 OK4485 increments conflict trace metric4486 when live traces are disabled4487 responds with 200 OK4488PreviewMarkdownService4489 user references4490 returns users referenced in text4491 suggestions4492 when preview markdown param is present4493 returns suggestions referenced in text4494 when user is not authorized4495 returns no suggestions4496 when preview markdown param is not present4497 returns suggestions referenced in text4498 new note with quick actions4499 removes quick actions from text4500 explains quick actions effect4501 merge request description4502 removes quick actions from text4503 explains quick actions effect4504 commit description4505 removes quick actions from text4506 explains quick actions effect4507 note with multiple quick actions4508 renders quick actions on multiple lines4509 work item quick action types4510 renders the quick action preview4511Gitlab::Search::AbuseDetection4512 abusive scopes validation4513 allows only approved scopes4514 disallows anything not approved4515 abusive character matching4516 does match refs permitted by git refname: main4517 does NOT match refs with special characters: main4518 does match refs permitted by git refname: тест4519 does NOT match refs with special characters: тест4520 does match refs permitted by git refname: maiñ4521 does NOT match refs with special characters: maiñ4522 does match refs permitted by git refname: main1234523 does NOT match refs with special characters: main1234524 does match refs permitted by git refname: main-v1234525 does NOT match refs with special characters: main-v1234526 does match refs permitted by git refname: main-v12.34527 does NOT match refs with special characters: main-v12.34528 does match refs permitted by git refname: feature/it_works4529 does NOT match refs with special characters: feature/it_works4530 does match refs permitted by git refname: really_important!4531 does NOT match refs with special characters: really_important!4532 does match refs permitted by git refname: 测试4533 does NOT match refs with special characters: 测试4534 numericality validation4535 considers non Integers to be invalid4536 considers Integers to be valid4537 query_string validation4538 search: "a", errors: {:query_string=>["stopword only abusive search detected"]}4539 validates query string for pointless search4540 search: "an", errors: {:query_string=>["stopword only abusive search detected"]}4541 validates query string for pointless search4542 search: "and", errors: {:query_string=>["stopword only abusive search detected"]}4543 validates query string for pointless search4544 search: "are", errors: {:query_string=>["stopword only abusive search detected"]}4545 validates query string for pointless search4546 search: "as", errors: {:query_string=>["stopword only abusive search detected"]}4547 validates query string for pointless search4548 search: "at", errors: {:query_string=>["stopword only abusive search detected"]}4549 validates query string for pointless search4550 search: "be", errors: {:query_string=>["stopword only abusive search detected"]}4551 validates query string for pointless search4552 search: "but", errors: {:query_string=>["stopword only abusive search detected"]}4553 validates query string for pointless search4554 search: "by", errors: {:query_string=>["stopword only abusive search detected"]}4555 validates query string for pointless search4556 search: "for", errors: {:query_string=>["stopword only abusive search detected"]}4557 validates query string for pointless search4558 search: "if", errors: {:query_string=>["stopword only abusive search detected"]}4559 validates query string for pointless search4560 search: "in", errors: {:query_string=>["stopword only abusive search detected"]}4561 validates query string for pointless search4562 search: "into", errors: {:query_string=>["stopword only abusive search detected"]}4563 validates query string for pointless search4564 search: "is", errors: {:query_string=>["stopword only abusive search detected"]}4565 validates query string for pointless search4566 search: "it", errors: {:query_string=>["stopword only abusive search detected"]}4567 validates query string for pointless search4568 search: "no", errors: {:query_string=>["stopword only abusive search detected"]}4569 validates query string for pointless search4570 search: "not", errors: {:query_string=>["stopword only abusive search detected"]}4571 validates query string for pointless search4572 search: "of", errors: {:query_string=>["stopword only abusive search detected"]}4573 validates query string for pointless search4574 search: "on", errors: {:query_string=>["stopword only abusive search detected"]}4575 validates query string for pointless search4576 search: "or", errors: {:query_string=>["stopword only abusive search detected"]}4577 validates query string for pointless search4578 search: "such", errors: {:query_string=>["stopword only abusive search detected"]}4579 validates query string for pointless search4580 search: "that", errors: {:query_string=>["stopword only abusive search detected"]}4581 validates query string for pointless search4582 search: "the", errors: {:query_string=>["stopword only abusive search detected"]}4583 validates query string for pointless search4584 search: "their", errors: {:query_string=>["stopword only abusive search detected"]}4585 validates query string for pointless search4586 search: "then", errors: {:query_string=>["stopword only abusive search detected"]}4587 validates query string for pointless search4588 search: "there", errors: {:query_string=>["stopword only abusive search detected"]}4589 validates query string for pointless search4590 search: "these", errors: {:query_string=>["stopword only abusive search detected"]}4591 validates query string for pointless search4592 search: "they", errors: {:query_string=>["stopword only abusive search detected"]}4593 validates query string for pointless search4594 search: "this", errors: {:query_string=>["stopword only abusive search detected"]}4595 validates query string for pointless search4596 search: "to", errors: {:query_string=>["stopword only abusive search detected"]}4597 validates query string for pointless search4598 search: "was", errors: {:query_string=>["stopword only abusive search detected"]}4599 validates query string for pointless search4600 search: "will", errors: {:query_string=>["stopword only abusive search detected"]}4601 validates query string for pointless search4602 search: "with", errors: {:query_string=>["stopword only abusive search detected"]}4603 validates query string for pointless search4604 search: "x", errors: {:query_string=>["abusive tiny search detected"]}4605 validates query string for pointless search4606 search: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", errors: {:query_string=>["abusive term length detected"]}4607 validates query string for pointless search4608 search: "", errors: {}4609 validates query string for pointless search4610 search: "*", errors: {}4611 validates query string for pointless search4612 search: "ruby", errors: {}4613 validates query string for pointless search4614 abusive type coercion from string validation4615 considers anything not a String invalid4616 considers Strings to be valid4617Ci::Trigger4618 associations4619 is expected to belong to project required: false4620 is expected to belong to owner required: false4621 is expected to have many trigger_requests4622 validations4623 is expected to validate that :owner cannot be empty/falsy4624 before_validation4625 sets an random token if none provided4626 does not set a random token if one provided4627 #short_token4628 returns shortened token without prefix4629 token does not have a prefix4630 returns shortened token4631 #can_access_project?4632 and is member of the project4633 is expected to eq true4634 and is not member of the project4635 is expected to eq false4636 behaves like includes Limitable concern4637 #exceeds_limits?4638 without plan limits configured4639 is expected to eq false4640 without plan limits configured4641 is expected to eq false4642 with an existing model4643 is expected to eq true4644 validations4645 is expected to be a kind of Limitable4646 without plan limits configured4647 can create new models4648 with plan limits configured4649 can create new models4650 with an existing model4651 cannot create new models exceeding the plan limits4652 loose foreign key on ci_triggers.owner_id4653 behaves like cleanup by a loose foreign key4654 cleans up (delete or nullify) the model4655 loose foreign key on ci_triggers.project_id4656 behaves like cleanup by a loose foreign key4657 cleans up (delete or nullify) the model4658 encrypted_token4659 when token is not provided4660 encrypts the generated token4661 when token is provided4662 encrypts the given token4663 when token is being updated4664 encrypts the given token4665DevOpsReport::Metric4666 validations4667 is expected to validate that :leader_issues cannot be empty/falsy4668 is expected to validate that :leader_issues looks like a number greater than or equal to 04669 is expected to validate that :instance_issues cannot be empty/falsy4670 is expected to validate that :instance_issues looks like a number greater than or equal to 04671 is expected to validate that :percentage_issues cannot be empty/falsy4672 is expected to validate that :percentage_issues looks like a number greater than or equal to 04673 is expected to validate that :leader_notes cannot be empty/falsy4674 is expected to validate that :leader_notes looks like a number greater than or equal to 04675 is expected to validate that :instance_notes cannot be empty/falsy4676 is expected to validate that :instance_notes looks like a number greater than or equal to 04677 is expected to validate that :percentage_notes cannot be empty/falsy4678 is expected to validate that :percentage_notes looks like a number greater than or equal to 04679 is expected to validate that :leader_milestones cannot be empty/falsy4680 is expected to validate that :leader_milestones looks like a number greater than or equal to 04681 is expected to validate that :instance_milestones cannot be empty/falsy4682 is expected to validate that :instance_milestones looks like a number greater than or equal to 04683 is expected to validate that :percentage_milestones cannot be empty/falsy4684 is expected to validate that :percentage_milestones looks like a number greater than or equal to 04685 is expected to validate that :leader_boards cannot be empty/falsy4686 is expected to validate that :leader_boards looks like a number greater than or equal to 04687 is expected to validate that :instance_boards cannot be empty/falsy4688 is expected to validate that :instance_boards looks like a number greater than or equal to 04689 is expected to validate that :percentage_boards cannot be empty/falsy4690 is expected to validate that :percentage_boards looks like a number greater than or equal to 04691 is expected to validate that :leader_merge_requests cannot be empty/falsy4692 is expected to validate that :leader_merge_requests looks like a number greater than or equal to 04693 is expected to validate that :instance_merge_requests cannot be empty/falsy4694 is expected to validate that :instance_merge_requests looks like a number greater than or equal to 04695 is expected to validate that :percentage_merge_requests cannot be empty/falsy4696 is expected to validate that :percentage_merge_requests looks like a number greater than or equal to 04697 is expected to validate that :leader_ci_pipelines cannot be empty/falsy4698 is expected to validate that :leader_ci_pipelines looks like a number greater than or equal to 04699 is expected to validate that :instance_ci_pipelines cannot be empty/falsy4700 is expected to validate that :instance_ci_pipelines looks like a number greater than or equal to 04701 is expected to validate that :percentage_ci_pipelines cannot be empty/falsy4702 is expected to validate that :percentage_ci_pipelines looks like a number greater than or equal to 04703 is expected to validate that :leader_environments cannot be empty/falsy4704 is expected to validate that :leader_environments looks like a number greater than or equal to 04705 is expected to validate that :instance_environments cannot be empty/falsy4706 is expected to validate that :instance_environments looks like a number greater than or equal to 04707 is expected to validate that :percentage_environments cannot be empty/falsy4708 is expected to validate that :percentage_environments looks like a number greater than or equal to 04709 is expected to validate that :leader_deployments cannot be empty/falsy4710 is expected to validate that :leader_deployments looks like a number greater than or equal to 04711 is expected to validate that :instance_deployments cannot be empty/falsy4712 is expected to validate that :instance_deployments looks like a number greater than or equal to 04713 is expected to validate that :percentage_deployments cannot be empty/falsy4714 is expected to validate that :percentage_deployments looks like a number greater than or equal to 04715 is expected to validate that :leader_projects_prometheus_active cannot be empty/falsy4716 is expected to validate that :leader_projects_prometheus_active looks like a number greater than or equal to 04717 is expected to validate that :instance_projects_prometheus_active cannot be empty/falsy4718 is expected to validate that :instance_projects_prometheus_active looks like a number greater than or equal to 04719 is expected to validate that :percentage_projects_prometheus_active cannot be empty/falsy4720 is expected to validate that :percentage_projects_prometheus_active looks like a number greater than or equal to 04721 is expected to validate that :leader_service_desk_issues cannot be empty/falsy4722 is expected to validate that :leader_service_desk_issues looks like a number greater than or equal to 04723 is expected to validate that :instance_service_desk_issues cannot be empty/falsy4724 is expected to validate that :instance_service_desk_issues looks like a number greater than or equal to 04725 is expected to validate that :percentage_service_desk_issues cannot be empty/falsy4726 is expected to validate that :percentage_service_desk_issues looks like a number greater than or equal to 04727 #percentage_score4728 returns stored percentage score4729Ci::ResetSkippedJobsService4730 # order random4731 with stage-dag mixed pipeline with some same-stage needs4732 marks subsequent skipped jobs as processable4733 with a stage-dag mixed pipeline4734 marks subsequent skipped jobs as processable4735 when executed by a different user than the original owner4736 reassigns jobs with updated statuses to the retryer4737 with same-stage needs4738 marks subsequent skipped jobs as processable4739PersonalAccessToken4740 .build4741 is a valid personal access token4742 ensures that the token is generated4743 scopes4744 .project_access_tokens4745 is expected to contain exactly #<PersonalAccessToken id: 2, user_id: 1133, name: "PAT 3", revoked: false, expires_at: "2023-04-04", ...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4746 .owner_is_human4747 is expected to contain exactly #<PersonalAccessToken id: 3, user_id: 1137, name: "PAT 4", revoked: false, expires_at: "2023-04-04", ...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4748 .for_user4749 returns personal access tokens of specified user only4750 .for_users4751 returns personal access tokens for the specified users only4752 .created_before4753 is expected to contain exactly #<PersonalAccessToken id: 14, user_id: 1147, name: "PAT 15", revoked: false, expires_at: "2023-04-04"...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, #<PersonalAccessToken id: 15, user_id: 1148, name: "PAT 16", revoked: false, expires_at: "2023-04-04"...se, last_used_at: "2023-02-28 10:59:00.000000000 +0000", after_expiry_notification_delivered: false>, and #<PersonalAccessToken id: 16, user_id: 1149, name: "PAT 17", revoked: false, expires_at: "2023-04-04"...se, last_used_at: "2023-03-30 11:53:36.407636141 +0000", after_expiry_notification_delivered: false>4754 .last_used_before4755 last_used_*4756 does not return token that is last_used_at after given date4757 .last_used_before4758 returns personal access tokens used before the specified date only4759 .last_used_after4760 returns personal access tokens used after the specified date only4761 .last_used_before_or_unused4762 is expected to contain exactly #<PersonalAccessToken id: 21, user_id: 1154, name: "PAT 22", revoked: false, expires_at: "2023-04-04"...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false> and #<PersonalAccessToken id: 22, user_id: 1155, name: "PAT 23", revoked: false, expires_at: "2023-04-04"...se, last_used_at: "2023-02-28 10:59:00.000000000 +0000", after_expiry_notification_delivered: false>4763 .active?4764 returns false if the personal_access_token is revoked4765 returns false if the personal_access_token is expired4766 returns true if the personal_access_token is not revoked and not expired4767 revoke!4768 revokes the token4769 validations4770 requires at least one scope4771 allows creating a token with API scopes4772 allows creating a token with `admin_mode` scope4773 rejects creating a token with unavailable scopes4774 with feature flag disabled4775 allows creating a token with `admin_mode` scope4776 when registry is disabled4777 rejects creating a token with read_registry scope4778 allows revoking a token with read_registry scope4779 when registry is enabled4780 allows creating a token with read_registry scope4781 scopes4782 .active4783 includes non-revoked and non-expired tokens4784 .expiring_and_not_notified4785 in one day4786 doesn't have any tokens4787 in three days4788 only includes a valid token4789 .expired_today_and_not_notified4790 returns tokens that have expired today4791 .without_impersonation4792 returns only non-impersonation tokens4793 revoke scopes4794 .revoked4795 is expected to contain exactly #<PersonalAccessToken id: 44, user_id: 1177, name: "PAT 55", revoked: true, expires_at: "2023-04-04",...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4796 .not_revoked4797 is expected to contain exactly #<PersonalAccessToken id: 45, user_id: 1178, name: "PAT 56", revoked: false, expires_at: "2023-04-04"...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false> and #<PersonalAccessToken id: 46, user_id: 1179, name: "PAT 57", revoked: nil, expires_at: "2023-04-04", ...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4798 .simple_sorts4799 includes overridden keys4800 ordering by expires_at4801 .order_expires_at_asc_id_desc4802 returns ordered list in combination of expires_at ascending and id descending4803 `admin_mode scope4804 with feature flag enabled4805 with administrator user4806 does not add `admin_mode` scope before created4807 with normal user4808 does not add `admin_mode` scope before created4809 with feature flag disabled4810 with administrator user4811 adds `admin_mode` scope before created4812 with normal user4813 does not add `admin_mode` scope before created4814 token format4815 generates a token4816 when there is an existing token4817 does not change the existing token4818Gitlab::Redis::TraceChunks4819 behaves like redis_shared_examples4820 .config_file_name4821 when there is no config file anywhere4822 is expected to be nil4823 and there is a global env override4824 is expected to eq "global override"4825 and there is an instance specific config file4826 is expected to eq "/tmp/d20230330-358-14q2e0/config/redis.trace_chunks.yml"4827 returns a path that exists4828 and there is a specific env override4829 is expected to eq "instance specific override"4830 .store4831 with old format4832 behaves like redis store4833 instantiates Redis::Store4834 with the namespace4835 uses specified namespace4836 with new format4837 behaves like redis store4838 instantiates Redis::Store4839 with the namespace4840 uses specified namespace4841 .params4842 withstands mutation4843 when url contains unix socket reference4844 with old format4845 returns path key instead4846 with new format4847 returns path key instead4848 when url is host based4849 with old format4850 returns hash with host, port, db, and password4851 with new format4852 rails_env: "development", host: "development-host"4853 returns hash with host, port, db, and password4854 rails_env: "test", host: "test-host"4855 returns hash with host, port, db, and password4856 rails_env: "production", host: "production-host"4857 returns hash with host, port, db, and password4858 with redis cluster format4859 rails_env: "development", host: "development-master"4860 returns hash with cluster and password4861 rails_env: "test", host: "test-master"4862 returns hash with cluster and password4863 rails_env: "production", host: "production-master"4864 returns hash with cluster and password4865 .url4866 withstands mutation4867 when yml file with env variable4868 reads redis url from env variable4869 .version4870 returns a version4871 .with4872 when running on single-threaded runtime4873 instantiates a connection pool with size 54874 when running on multi-threaded runtime4875 instantiates a connection pool with a size based on the concurrency of the worker4876 when there is no config at all4877 can run an empty block4878 #db4879 with old format4880 returns the correct db4881 with new format4882 returns the correct db4883 with cluster-mode4884 returns the correct db4885 #sentinels4886 when sentinels are defined4887 rails_env: "development", hosts: ["development-replica1", "development-replica2"]4888 returns an array of hashes with host and port keys4889 rails_env: "test", hosts: ["test-replica1", "test-replica2"]4890 returns an array of hashes with host and port keys4891 rails_env: "production", hosts: ["production-replica1", "production-replica2"]4892 returns an array of hashes with host and port keys4893 when sentinels are not defined4894 returns nil4895 when cluster is defined4896 returns nil4897 #sentinels?4898 when sentinels are defined4899 returns true4900 when sentinels are not defined4901 is expected to eq nil4902 when cluster is defined4903 returns false4904 #raw_config_hash4905 returns old-style single url config in a hash4906 returns cluster config without url key in a hash4907 #fetch_config4908 raises an exception when the config file contains invalid yaml4909 has a value for the legacy default URL4910 when redis.yml exists4911 uses config/redis.yml4912 when no config file exsits4913 returns nil4914 but resque.yml exists4915 returns the config from resque.yml4916 .config_file_name4917 and there is a global env override4918 is expected to eq "global override"4919 and SharedState has a different config file4920 is expected to eq "fallback config file"4921 #fetch_config4922 when redis.yml exists4923 when the fallback has a redis.yml entry4924 is expected to eq {"fallback redis.yml"=>123}4925 and an instance config file exists4926 is expected to eq {"instance specific file"=>456}4927 and the instance has a redis.yml entry4928 is expected to eq {"instance redis.yml"=>789}4929 when no redis config file exsits4930 returns nil4931 when resque.yml exists4932 returns the config from resque.yml4933Gitlab::Git::ObjectPool4934 #storage4935 equals the pool repository's shard name4936 #create4937 when the pool doesn't exist yet4938 creates the pool4939 when the pool already exists4940 raises an FailedPrecondition4941 #exists?4942 when the object pool doesn't exist4943 returns false4944 when the object pool exists4945 returns true4946 #link4947 when linked for the first time4948 sets a remote4949 when the remote is already set4950 doesn't raise an error4951 #fetch4952 when the object pool repository exists4953 without changes4954 does not raise an error4955 with new commit in source repository4956 fetches objects from the source repository4957MergeRequests::MarkReviewerReviewedService4958 #execute4959 invalid permissions4960 behaves like failed service execution4961 returns an error4962 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated4963 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times4964 reviewer does not exist4965 behaves like failed service execution4966 returns an error4967 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated4968 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times4969 reviewer exists4970 returns success4971 updates reviewers state4972 behaves like triggers GraphQL subscription mergeRequestReviewersUpdated4973 is expected to receive merge_request_reviewers_updated(#<MergeRequest id:761 namespace612/project993!1>) 1 time4974Gitlab::Diff::DiffRefs4975 #==4976 when shas are missing4977 returns false4978 when shas are equal4979 returns true4980 when shas are unequal4981 returns false4982 when shas are truncated4983 when sha prefixes are too short4984 returns false4985 when sha prefixes are equal4986 returns true4987 when sha prefixes are unequal4988 returns false4989 #compare_in4990 with diff refs for the initial commit4991 returns an appropriate comparison4992 with diff refs for a commit4993 returns an appropriate comparison4994 with diff refs for a comparison through the base4995 returns an appropriate comparison4996 with diff refs for a straight comparison4997 returns an appropriate comparison4998Projects::Operations::UpdateService4999 #execute5000 alerting setting5001 with valid params5002 when regenerate_token is not set5003 with an existing setting5004 ignores provided token5005 without an existing setting5006 behaves like setting creation5007 creates a setting5008 when regenerate_token is set5009 with an existing setting5010 regenerates token5011 without an existing setting5012 behaves like setting creation5013 creates a setting5014 with insufficient permissions5015 behaves like no operation5016 does nothing5017 with empty params5018 behaves like no operation5019 does nothing5020 metrics dashboard setting5021 without existing metrics dashboard setting5022 creates a setting5023 with existing metrics dashboard setting5024 updates the settings5025 with blank external_dashboard_url5026 updates dashboard_timezone5027 error tracking5028 with existing error tracking setting5029 updates the settings5030 disable error tracking5031 can set api_url to nil5032 without an existing error tracking setting5033 creates a setting5034 partial_update5035 with setting5036 service succeeds5037 updates attributes5038 only updates enabled attribute5039 with integrated attribute5040 updates integrated attribute5041 only updates enabled and integrated attributes5042 without setting5043 creates setting with default values5044 with masked param token5045 does not update token5046 with invalid parameters5047 does nothing5048 with inappropriate params5049 ignores params5050 grafana integration5051 without existing grafana integration5052 creates an integration5053 with an existing grafana integration5054 updates the settings5055 with all grafana attributes blank in params5056 destroys the metrics_setting entry in DB5057 prometheus integration5058 prometheus params were passed into service5059WARNING: You're overriding a previous stub implementation of `new`. Called from /builds/gitlab-org/gitlab/spec/services/projects/operations/update_service_spec.rb:441:in `block (5 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/services/projects/operations/update_service_spec.rb:441:in `block (5 levels) in <top (required)>'.5060 uses Project#find_or_initialize_integration to include instance defined defaults and pass them to Projects::UpdateService5061 when prometheus params are not passed into service5062 does not pass any prometheus params into Projects::UpdateService5063Gitlab::DataBuilder::Pipeline5064 .build5065 has correct attributes5066 build with runner5067 has runner attributes5068 pipeline without variables5069 has empty variables hash5070 pipeline with variables5071 is expected to be a kind of Array5072 is expected to contain exactly {:key=>"TRIGGER_KEY_1", :value=>"TRIGGER_VALUE_1"}5073 when pipeline is a detached merge request pipeline5074 returns a source ref5075 returns merge request5076 when pipeline has retried builds5077 does not contain retried builds in payload5078 contains retried builds if requested5079 build with environment5080 has environment attributes5081 when the pipeline has an upstream5082 in same project5083 behaves like source pipeline attributes5084 has source pipeline attributes5085 in different project5086 is expected not to eq 10495087 behaves like source pipeline attributes5088 has source pipeline attributes5089 avoids N+1 database queries5090 with multiple builds5091 with multiple retried builds5092 .build failed5093 has failure_reason5094Ci::BuildTraceChunks::Fog5095 #available?5096 when object storage is enabled5097 is expected to be truthy5098 when object storage is disabled5099 is expected to be falsy5100 #data5101 when data exists5102 returns the data5103 when data does not exist5104 returns nil5105 #set_data5106 when data exists5107 overwrites data5108 when data does not exist5109 sets new data5110 when S3 server side encryption is enabled5111 creates a file with attributes5112 #append_data5113 appends ASCII data5114 appends UTF-8 data5115 when initial data is UTF-85116 appends ASCII data5117 #delete_data5118 when data exists5119 deletes data5120 when data does not exist5121 does nothing5122 #size5123 when data exists5124 returns data bytesize correctly5125 when data does not exist5126 returns zero5127 #keys5128 returns keys5129 #delete_keys5130 deletes multiple data5131Issues::ResolveDiscussions5132 for resolving discussions5133 #merge_request_for_resolving_discussion5134 finds the merge request5135 only queries for the merge request once5136 #discussions_to_resolve5137 contains a single discussion when matching merge request and discussion are passed5138 contains all discussions when only a merge request is passed5139 contains only unresolved discussions5140 is empty when a discussion and another merge request are passed5141Gitlab::Doctor::Secrets5142 when not ran in a Rake runtime5143 raises an error5144 when encrypted attributes are properly set5145 detects decryptable secrets5146 when attr_encrypted values are not decrypting5147 marks undecryptable values as bad5148 when TokenAuthenticatable values are not decrypting5149 marks undecryptable values as bad5150 when initializers attempt to use encrypted data5151 skips the initializers and detects bad data5152 resets the initializers after the task runs5153 when GrafanaIntegration token is set via private method5154 can access GrafanaIntegration token value5155MergeRequests::UpdateHeadPipelineWorker5156 behaves like subscribes to event5157 consumes the published event5158 behaves like an idempotent worker5159 is labeled as idempotent5160 performs multiple times sequentially without raising an exception5161 when merge requests already exist for this source branch5162 when the head pipeline sha equals merge request sha5163 updates head pipeline of each merge request5164 when the merge request is not open5165 only updates the open merge requests5166 when the head pipeline sha does not equal merge request sha5167 does not update the head piepeline of MRs5168 when there is no pipeline for source branch5169 does not update merge request head pipeline5170 when merge request target project is different from source project5171 updates head pipeline for merge request5172 when the pipeline is not the latest for the branch5173 does not update merge request head pipeline5174 when pipeline has errors5175 updates merge request head pipeline reference5176SnippetBlobPresenter5177 #rich_data5178 with PersonalSnippet5179 when blob is binary5180 returns the HTML associated with the binary5181 with markdown format5182 returns rich markdown content5183 with notebook format5184 returns rich notebook content5185 with openapi format5186 returns rich openapi content5187 with svg format5188 returns rich svg content5189 with other format5190 does not return no rich content5191 route helpers5192 #raw_path5193 behaves like snippet blob raw path5194 for PersonalSnippets5195 returns the raw personal snippet blob path5196 for ProjectSnippets5197 returns the raw project snippet blob path5198 with a snippet without a repository5199 with ProjectSnippet5200 returns the raw project snippet path5201 with PersonalSnippet5202 returns the raw personal snippet path5203 #raw_plain_data5204 with a plain file5205 shows raw data for non binary files5206 with a binary file5207 returns nil5208 #raw_url5209 behaves like snippet blob raw url5210 for PersonalSnippets5211 returns the raw personal snippet blob url5212 for ProjectSnippets5213 returns the raw project snippet blob url5214 with a snippet without a repository5215 with ProjectSnippet5216 returns the raw project snippet url5217 with PersonalSnippet5218 returns the raw personal snippet url5219Gitlab::DeployKeyAccess5220 #can_create_tag?5221 when no-one can create tag5222 returns false5223 when deploy_key_for_protected_tags FF is disabled5224 allows to push the tag5225 push tag that matches a protected tag pattern via a deploy key5226 allows to push the tag5227 #can_push_for_ref?5228 push to a protected branch of this project via a deploy key5229 when the project has active deploy key owned by this user5230 returns true5231 when the project has active deploy keys, but not by this user5232 returns false5233 when there is another branch no one can push to5234 returns false when trying to push to that other branch5235 and the deploy key added for the first protected branch is also added for this other branch5236 returns true for both protected branches5237Ci::Variable5238 behaves like CI variable5239 is expected to includes the Ci::HasVariable module5240 strips whitespaces when assigning key5241 can convert to runner variable5242 variable type5243 defines variable types5244 defaults variable type to env_var5245 supports variable type file5246 behaves like includes Limitable concern5247 #exceeds_limits?5248 without plan limits configured5249 is expected to eq false5250 without plan limits configured5251 is expected to eq false5252 with an existing model5253 is expected to eq true5254 validations5255 is expected to be a kind of Limitable5256 without plan limits configured5257 can create new models5258 with plan limits configured5259 can create new models5260 with an existing model5261 cannot create new models exceeding the plan limits5262 validations5263 is expected to includes the Presentable module5264 is expected to includes the Ci::Maskable module5265 is expected to includes the HasEnvironmentScope module5266 is expected to validate that :key is case-sensitively unique within the scope of :project_id and :environment_scope, producing a custom validation error on failure5267 .by_environment_scope5268 is expected to contain exactly #<Ci::Variable id: 6, key: [FILTERED], value: nil, encrypted_value: "7fKjplgmjhPkaIkPfVPVbA==\n", enc...tected: false, environment_scope: "production", masked: false, variable_type: "env_var", raw: false>5269 .unprotected5270 when variable is protected5271 returns nothing5272 when variable is not protected5273 returns the variable5274 loose foreign key on ci_variables.project_id5275 behaves like cleanup by a loose foreign key5276 cleans up (delete or nullify) the model5277 #audit_details5278 equals to the variable's key5279layouts/nav/sidebar/_admin5280 on home page5281 behaves like page has active tab5282 activates Overview tab5283 behaves like has nav sidebar5284 has collapsed nav sidebar on mobile5285 on projects5286 behaves like page has active tab5287 activates Overview tab5288 behaves like page has active sub tab5289 activates Projects sub tab5290 on groups5291 behaves like page has active tab5292 activates Overview tab5293 behaves like page has active sub tab5294 activates Groups sub tab5295 on users5296 behaves like page has active tab5297 activates Overview tab5298 behaves like page has active sub tab5299 activates Users sub tab5300 on topics5301 behaves like page has active tab5302 activates Overview tab5303 behaves like page has active sub tab5304 activates Topics sub tab5305 on runners5306 behaves like page has active tab5307 activates CI/CD tab5308 behaves like page has active sub tab5309 activates Runners sub tab5310 on jobs5311 behaves like page has active tab5312 activates CI/CD tab5313 behaves like page has active sub tab5314 activates Jobs sub tab5315 on messages5316 behaves like page has active tab5317 activates Messages tab5318 on analytics5319 behaves like page has active tab5320 activates Analytics tab5321 on hooks5322 behaves like page has active tab5323 activates Hooks tab5324 on background jobs5325 behaves like page has active tab5326 activates Monitoring tab5327 behaves like page has active sub tab5328 activates Background Jobs sub tab5329 on settings5330 includes General link5331 when GitLab.com5332 does not include Integrations link5333 when not GitLab.com5334 includes Integrations link5335 when GitLab FOSS5336 does not include Templates link5337CustomerRelations::IssueContact5338 is expected to be valid5339 associations5340 is expected to belong to issue required: true5341 is expected to belong to contact required: true5342 factory5343 for root groups5344 uses objects from the same group5345 for subgroups5346 builds using the root ancestor5347 validation5348 fails when the contact group is unrelated to the issue group5349 succeeds when the contact belongs to a root group and is the same as the issue group5350 succeeds when the contact belongs to a root group and it is an ancestor of the issue group5351 #self.find_contact_ids_by_emails5352 returns ids of contacts from issue5353 does not return ids of contacts from other issues5354 raises ArgumentError when called with too many emails5355 .delete_for_project5356 destroys all issue_contacts for project5357 .delete_for_group5358 destroys all issue_contacts for projects in group and subgroups5359Gitlab::QuickActions::Extractor5360 #extract_commands5361 extracts command with multiple arguments and various prefixes5362 extracts command case insensitive5363 does not extract noop commands5364 extracts and performs substitution commands5365 extracts and performs substitution commands5366 extracts and performs multiple substitution commands5367 does not extract substitution command in inline code5368 extracts and performs substitution commands case insensitive5369 extracts and performs substitution commands with comments5370 extracts multiple commands5371 does not alter original content if no command is found5372 does not get confused if command comes before an inline code5373 does not get confused if command comes before a blockcode5374 does not extract commands inside a blockcode5375 does not extract commands inside a blockquote5376 does not extract commands inside a HTML tag5377 does not extract commands in multiline inline code on seperated rows5378 does not extract commands in multiline inline code starting from text5379 does not extract commands in inline code5380 limits to passed commands when they are passed5381 fails fast for strings with many newlines5382 command with no argument5383 at the start of content5384 behaves like command with no argument5385 extracts command5386 in the middle of content5387 behaves like command with no argument5388 extracts command5389 in the middle of a line5390 does not extract command5391 at the end of content5392 behaves like command with no argument5393 extracts command5394 command with a single argument5395 at the start of content5396 allows slash in command arguments5397 behaves like command with a single argument5398 extracts command5399 in the middle of content5400 behaves like command with a single argument5401 extracts command5402 in the middle of a line5403 does not extract command5404 at the end of content5405 behaves like command with a single argument5406 extracts command5407 when argument is not separated with a space5408 does not extract command5409 command with multiple arguments5410 at the start of content5411 behaves like command with multiple arguments5412 extracts command5413 in the middle of content5414 behaves like command with multiple arguments5415 extracts command5416 in the middle of a line5417 does not extract command5418 at the end of content5419 behaves like command with multiple arguments5420 extracts command5421 when argument is not separated with a space5422 does not extract command5423 #redact_commands5424 text: "hello\n/labels ~label1 ~label2\nworld", expected: "hello\n`/labels ~label1 ~label2`\nworld"5425 encloses quick actions with code span markdown5426 text: "hello\n/open\n/labels ~label1\nworld", expected: "hello\n`/open`\n`/labels ~label1`\nworld"5427 encloses quick actions with code span markdown5428 text: "hello\n/reopen\nworld", expected: "hello\n`/reopen`\nworld"5429 encloses quick actions with code span markdown5430 text: "/reopen\nworld", expected: "`/reopen`\nworld"5431 encloses quick actions with code span markdown5432 text: "hello\n/open", expected: "hello\n`/open`"5433 encloses quick actions with code span markdown5434AlertManagement::HttpIntegration5435 associations5436 is expected to belong to project required: false5437 default values5438 is expected to be present5439 is expected to eq "test"5440 validations5441 is expected to validate that :project cannot be empty/falsy5442 is expected to validate that :name cannot be empty/falsy5443 is expected to validate that the length of :name is at most 2555444 when active5445 is expected to validate that :endpoint_identifier is case-sensitively unique within the scope of :project_id and :active5446 when inactive5447 is expected not to validate that :endpoint_identifier is case-sensitively unique within the scope of :project_id and :active5448 payload_attribute_mapping5449 with valid JSON schema5450 is expected to be valid5451 with invalid JSON schema5452 when property is not an object5453 behaves like is invalid record5454 is expected to eq ["must be a valid json schema"]5455 when property missing required attributes5456 behaves like is invalid record5457 is expected to eq ["must be a valid json schema"]5458 when property has extra attributes5459 behaves like is invalid record5460 is expected to eq ["must be a valid json schema"]5461 before validation5462 #ensure_payload_example_not_nil5463 when the payload_example is nil5464 sets the payload_example to empty JSON5465 when the payload_example is not nil5466 sets the payload_example to specified value5467 #token5468 when unsaved5469 when assigned5470 is expected not to eq "random_token"5471 behaves like valid token5472 is expected to match /\A\h{32}\z/5473 when persisted5474 behaves like valid token5475 is expected to match /\A\h{32}\z/5476 when resetting5477 is expected not to eq "04dad3348d2f1206951d26976efa353a"5478 behaves like valid token5479 is expected to match /\A\h{32}\z/5480 when reassigning5481 is expected to eq "363185e22b85872a0e7aa09173544573"5482 behaves like valid token5483 is expected to match /\A\h{32}\z/5484 #endpoint_identifier5485 when defined on initialize5486 is expected to match /\A\h{16}\z/5487 when included in initialization args5488 is expected to eq "legacy"5489 when reassigning5490 does not allow reassignment5491 #url5492 is expected to eq "http://localhost/namespace702/project1085/alerts/notify/datadog/a115da8b.json"5493 when name is not defined5494 is expected to eq "http://localhost/namespace681/project1064/alerts/notify/http-endpoint/43aea6f58572f39f.json"5495 for a legacy integration5496 is expected to eq "http://localhost/namespace703/project1086/alerts/notify.json"5497FinderWithGroupHierarchy5498 when specifying group5499 returns only the group by default5500 when specifying group_id5501 returns only the group by default5502 when including items from group ancestors5503 returns group and its ancestors5504 ignores groups which user can not read5505 returns them all when skip_authorization is true5506 when including items from group descendants5507 returns items from group and its descendants5508 ignores items from groups which user can not read5509 returns them all when skip_authorization is true5510 with N+1 query check5511 does not produce N+1 query5512 when preload_max_access_levels_for_labels_finder is disabled5513 when specifying group5514 returns only the group by default5515 when specifying group_id5516 returns only the group by default5517 when including items from group ancestors5518 returns group and its ancestors5519 ignores groups which user can not read5520 returns them all when skip_authorization is true5521 when including items from group descendants5522 returns items from group and its descendants5523 ignores items from groups which user can not read5524 returns them all when skip_authorization is true5525NotificationRecipients::Builder::Default5526 #build!5527 participants and project watchers5528 adds all participants and watchers5529 subscribers5530 adds all subscribers5531 custom notifications5532 behaves like custom notification recipients5533 with project custom notification setting5534 adds the user to the recipients5535 with the project custom notification setting in another project5536 does not add the user to the recipients5537 with group custom notification setting5538 adds the user to the recipients5539 with the group custom notification setting in another group5540 does not add the user to the recipients5541 with project global custom notification setting5542 with global custom notification setting5543 adds the user to the recipients5544 without global custom notification setting5545 does not add the user to the recipients5546 with group global custom notification setting5547 with global custom notification setting5548 adds the user to the recipients5549 without global custom notification setting5550 does not add the user to the recipients5551 with group custom notification setting in deeply nested parent group5552 adds the user to the recipients5553 without a project or group5554 does not add the user to the recipients5555Ci::DagJobEntity5556 #as_json5557 contains the name5558 behaves like matches schema5559 matches schema5560 when job is stage scheduled5561 contains the name scheduling_type5562 does not expose needs5563 behaves like matches schema5564 matches schema5565 when job is dag scheduled5566 contains the name scheduling_type5567 behaves like matches schema5568 matches schema5569 when job has needs5570 exposes the array of needs5571 behaves like matches schema5572 matches schema5573 when job has empty needs5574 exposes an empty array of needs5575 behaves like matches schema5576 matches schema5577Uploads::Fog5578 #available?5579 when object storage is enabled5580 is expected to be truthy5581 when object storage is disabled5582[fog][WARNING] Your region 'eu-central-1' does not match the default region 'us-east-1'5583 is expected to be falsy5584 model with uploads5585 Fog provider acceptance tests5586 with AWS provider5587 behaves like Fog provider5588 #get_object5589[fog][WARNING] Your region 'eu-central-1' does not match the default region 'us-east-1'5590 returns a Hash with a body5591 #delete_object5592[fog][WARNING] Your region 'eu-central-1' does not match the default region 'us-east-1'5593 returns true5594 with Google provider5595 behaves like Fog provider5596 #get_object5597 returns a Hash with a body5598 #delete_object5599 returns true5600 with AzureRM provider5601 behaves like Fog provider5602 #get_object5603 returns a Hash with a body5604 #delete_object5605 returns true5606 #keys5607[fog][WARNING] Your region 'eu-central-1' does not match the default region 'us-east-1'5608 returns keys5609 #delete_keys5610[fog][WARNING] Your region 'eu-central-1' does not match the default region 'us-east-1'5611 deletes multiple data5612 with bucket prefix5613[fog][WARNING] Your region 'eu-central-1' does not match the default region 'us-east-1'5614 deletes multiple data5615 when one of keys is missing5616[fog][WARNING] Your region 'eu-central-1' does not match the default region 'us-east-1'5617 deletes only existing keys5618Groups::AcceptingGroupTransfersFinder5619 # order random5620 #execute5621 when the user does not have the rights to transfer the group5622 returns empty result5623 when the user has the rights to transfer the group5624 does not return empty result5625 excludes the descendants of the group to be transferred5626 excludes the immediate parent of the group to be transferred5627 excludes the groups where the user does not have OWNER access5628 excludes the groups arising from group shares where the user does not have OWNER access5629 includes ancestors, except immediate parent of the group to be transferred5630 includes the other groups where the user has OWNER access5631 includes the other groups where the user has OWNER access through inherited membership5632 includes the groups where the user has OWNER access through group shares5633 on searching with a specific term5634 includes only the groups where the term matches the group name or path5635Crm::ContactsFinder5636 #execute5637 when customer relations feature is enabled for the group5638 when user does not have permissions to see contacts in the group5639 returns an empty array5640 when user is member of the root group5641 when feature flag is enabled5642 returns all group contacts5643 when user is member of the sub group5644 returns an empty array5645 when customer relations feature is disabled for the group5646 returns an empty array5647 with search informations5648 when search term is empty5649 returns all group contacts alphabetically ordered5650 when search term is not empty5651 searches for first name ignoring casing5652 searches for last name ignoring casing5653 searches for email5654 searches for description ignoring casing5655 fuzzy searches for email and last name5656 when searching for contacts state5657 returns only inactive contacts5658 returns only active contacts5659 when searching for contacts ids5660 returns the expected contacts5661 when sorting5662 returns the contacts sorted by email in ascending order5663 returns the contacts sorted by description in ascending order5664 returns the contacts sorted by organization in ascending order5665 .counts_by_state5666 returns correct counts5667Gitlab::Instrumentation::RedisClusterValidator5668 .validate5669 command: :rename, arguments: ["foo", "bar"], keys: 2, is_valid: false5670 is expected to eq 25671 command: :RENAME, arguments: ["foo", "bar"], keys: 2, is_valid: false5672 is expected to eq 25673 command: "rename", arguments: ["foo", "bar"], keys: 2, is_valid: false5674 is expected to eq 25675 command: "RENAME", arguments: ["foo", "bar"], keys: 2, is_valid: false5676 is expected to eq 25677 command: :rename, arguments: ["iaa", "ahy"], keys: 2, is_valid: true5678 is expected to eq 25679 command: :rename, arguments: ["{foo}:1", "{foo}:2"], keys: 2, is_valid: true5680 is expected to eq 25681 command: :rename, arguments: ["foo", "foo", "bar"], keys: 2, is_valid: true5682 is expected to eq 25683 command: :mget, arguments: ["foo", "bar"], keys: 2, is_valid: false5684 is expected to eq 25685 command: :mget, arguments: ["foo", "foo", "bar"], keys: 3, is_valid: false5686 is expected to eq 35687 command: :mget, arguments: ["foo", "foo"], keys: 2, is_valid: true5688 is expected to eq 25689 command: :blpop, arguments: ["foo", "bar", "1"], keys: 2, is_valid: false5690 is expected to eq 25691 command: :blpop, arguments: ["foo", "foo", "1"], keys: 2, is_valid: true5692 is expected to eq 25693 command: :mset, arguments: ["foo", "a", "bar", "a"], keys: 2, is_valid: false5694 is expected to eq 25695 command: :mset, arguments: ["foo", "a", "foo", "a"], keys: 2, is_valid: true5696 is expected to eq 25697 command: :del, arguments: ["foo", "bar"], keys: 2, is_valid: false5698 is expected to eq 25699 command: :del, arguments: [["foo", "bar"]], keys: 2, is_valid: false5700 is expected to eq 25701 command: :del, arguments: ["foo", "foo"], keys: 2, is_valid: true5702 is expected to eq 25703 command: :hset, arguments: ["foo", "bar"], keys: 1, is_valid: nil5704 is expected to eq nil5705 command: :get, arguments: ["foo"], keys: 1, is_valid: nil5706 is expected to eq nil5707 command: :mget, arguments: [], keys: 0, is_valid: true5708 is expected to eq 05709 arguments: [[:get, "foo"], [:get, "bar"]], should_raise: true, output: {:valid=>false, :key_count=>2, :command_name=>"PIPELINE/MULTI", :allowed=>false}5710 is expected to eq {:allowed=>false, :command_name=>"PIPELINE/MULTI", :key_count=>2, :valid=>false}5711 arguments: [[:get, "foo"], [:mget, "foo", "bar"]], should_raise: true, output: {:valid=>false, :key_count=>3, :command_name=>"PIPELINE/MULTI", :allowed=>false}5712 is expected to eq {:allowed=>false, :command_name=>"PIPELINE/MULTI", :key_count=>3, :valid=>false}5713 arguments: [[:get, "{foo}:name"], [:get, "{foo}:profile"]], should_raise: false, output: {:valid=>true, :key_count=>2, :command_name=>"PIPELINE/MULTI", :allowed=>false}5714 is expected to eq {:allowed=>false, :command_name=>"PIPELINE/MULTI", :key_count=>2, :valid=>true}5715 arguments: [[:del, "foo"], [:del, "bar"]], should_raise: true, output: {:valid=>false, :key_count=>2, :command_name=>"PIPELINE/MULTI", :allowed=>false}5716 is expected to eq {:allowed=>false, :command_name=>"PIPELINE/MULTI", :key_count=>2, :valid=>false}5717 arguments: [], should_raise: false, output: nil5718 is expected to eq nil5719 .allow_cross_slot_commands5720 skips validation for allowed commands5721 allows nested invocation5722Integrations::EmailsOnPush5723 Validations5724 when integration is active5725 is expected to validate that :recipients cannot be empty/falsy5726 when integration is inactive5727 is expected not to validate that :recipients cannot be empty/falsy5728 validates number of recipients5729 valid number of recipients5730 does not count duplicates and invalid emails5731 invalid number of recipients5732 is expected not to be valid5733 adds an error message5734 when integration is not active5735 is expected to be valid5736 .new5737 when properties is missing branches_to_be_notified5738 sets the default value to all5739 when branches_to_be_notified is already set5740 does not overwrite it with the default value5741 .valid_recipients5742 removes invalid email addresses and removes duplicates by keeping the original capitalization5743 #execute5744 when emails are disabled on the project5745 does not send emails5746 when emails are enabled on the project5747 pushing to a random branch and notification configured for all branches5748 sends email5749 pushing to the default branch and notification configured for all branches5750 sends email5751 pushing to a protected branch and notification configured for all branches5752 sends email5753 pushing to a random branch and notification configured for default branch only5754 does not send email5755 pushing to the default branch and notification configured for default branch only5756 sends email5757 pushing to a protected branch and notification configured for default branch only5758 does not send email5759 pushing to a random branch and notification configured for protected branches only5760 does not send email5761 pushing to the default branch and notification configured for protected branches only5762 does not send email5763 pushing to a protected branch and notification configured for protected branches only5764 sends email5765 pushing to a random branch and notification configured for default and protected branches only5766 does not send email5767 pushing to the default branch and notification configured for default and protected branches only5768 sends email5769 pushing to a protected branch and notification configured for default and protected branches only5770 sends email5771Gitlab::Git::Push5772 #branch_name5773 when it is a branch push5774 returns branch name5775 when it is a tag push5776 returns nil5777 #branch_push?5778 when pushing a branch ref5779 is expected to be branch push5780 when it is a tag push5781 is expected not to be branch push5782 #branch_updated?5783 when it is a branch push with correct old and new revisions5784 is expected to be branch updated5785 when it is not a branch push5786 is expected not to be branch updated5787 when old revision is blank5788 is expected not to be branch updated5789 when it is not a branch push5790 is expected not to be branch updated5791 when oldrev is nil5792 is expected not to be branch updated5793 #force_push?5794 when old revision is an ancestor of the new revision5795 is expected not to be force push5796 when old revision is not an ancestor of the new revision5797 is expected to be force push5798 when called mulitiple times5799 does not make make multiple calls to the force push check5800 #branch_added?5801 when old revision is defined5802 is expected not to be branch added5803 when old revision is not defined5804 is expected to be branch added5805 #branch_removed?5806 when new revision is defined5807 is expected not to be branch removed5808 when new revision is not defined5809 is expected to be branch removed5810 #modified_paths5811 when a push is a branch update5812 returns modified paths5813 when a push is not a branch update5814 raises an error5815 #oldrev5816 when a valid oldrev is provided5817 returns oldrev5818 when a nil valud is provided5819 returns blank SHA5820 #newrev5821 when valid newrev is provided5822 returns newrev5823 when a nil valud is provided5824 returns blank SHA5825Tooling::Mappings::ViewToJsMappings5826 # order random5827 #execute5828 when no view files have been changed5829 does not change the output file5830 when some view files have been changed5831 when they do not contain the HTML attribute value we search for5832 does not change the output file5833 when they contain the HTML attribute value we search for5834 when no matching JS files are found5835 does not change the output file5836 when some matching JS files are found5837 adds the matching JS files to the output5838 when rails partials are included in the file5839 scans those partials for the HTML attribute value5840 #find_partials5841 when the file includes a partial5842 when the partial is in the same folder as the view file5843 returns the partial file path5844 when the partial is in a subfolder5845 returns the partials file path5846 when the file does not include a partial5847 returns an empty array5848 #find_pattern_in_file5849 when the file contains the pattern5850 returns the pattern once5851 when the file does not contain the pattern5852 returns an empty array5853 #filter_files5854 when no files were changed5855 returns an empty array5856 when no view files were changed5857 returns an empty array5858 when view files were changed5859 returns the path to the view files5860 when view files are deleted5861 returns an empty array5862Gitlab::Ci::Ansi2json5863 lines5864 prints non-ansi as-is5865 recognizes color changing ANSI sequences5866 recognizes color changing ANSI sequences across multiple lines5867 recognizes background and foreground colors5868 recognizes style changes within the same line5869 new lines5870 adds new line when encountering \n5871 adds new line when encountering \r\n5872 ignores empty newlines5873 replace the current line when encountering \r5874 with section markers5875 marks the first line of the section as header5876 does not marks the other lines of the section as header5877 marks the last line of the section as footer5878 marks the first line as header and footer if is the only line in the section5879 does not add sections attribute to lines after the section is closed5880 ignores section_end marker if no section_start exists5881 prints HTML tags as is5882 when section name contains .-_ and capital letters5883 sanitizes the section name5884 when section name includes $5885 ignores the section5886 when section name includes <5887 ignores the section5888 with nested section5889 adds multiple sections to the lines inside the nested section5890 adds multiple sections to the lines inside the nested section and closes all sections together5891 with section options5892 provides section options when set5893 incremental updates5894 with split word5895 returns the full line5896 with split word on second line5897 returns all lines since last partially processed line5898 with split sequence across multiple lines5899 returns the line since last partially processed line5900 with split partial sequence5901 returns the line since last partially processed line5902 with split new line5903 returns a blank line and the next line5904 with split section5905 with split section body5906 returns the full line5907 with split section where header is also split5908 returns the full line5909 with split section end5910 returns the full line5911 trucates5912 returns truncated output5913 does not append output5914Gitlab::X509::Certificate5915 testing environment setup5916 generate_root5917 generates a root CA that expires a long way in the future5918 generate_intermediate5919 generates an intermediate CA that expires a long way in the future5920 generates an intermediate CA properly signed by the root CA5921 generate_cert5922 generates a cert properly signed by the intermediate CA5923 generates a cert that expires soon5924 generates a cert intended for email signing5925 passing in INFINITE_EXPIRY5926 generates a cert that expires a long way in the future5927 .from_strings5928 parses correctly a certificate and key5929 .from_files5930 parses correctly a certificate and key5931 with optional ca_certs5932 parses correctly certificate, key and ca_certs5933 with no intermediate CA5934 parses correctly a certificate and key5935 .default_cert_dir5936 when SSL_CERT_DIR env variable is not set5937 returns default directory from OpenSSL5938 when SSL_CERT_DIR env variable is set5939 returns specified directory5940 .default_cert_file5941 when SSL_CERT_FILE env variable is not set5942 returns default file from OpenSSL5943 when SSL_CERT_FILE env variable is set5944 returns specified file5945 .ca_certs_paths5946 returns all files specified by OpenSSL defaults5947 .ca_certs_bundle5948 skips certificates if OpenSSLError is raised and report it5949 returns a list certificates as strings5950 .load_ca_certs_bundle5951 loads a PEM-encoded certificate bundle into an OpenSSL::X509::Certificate array5952JoinedGroupsFinder5953 #execute5954 without a user5955 only shows public groups from profile owner5956 with a user5957 when the profile visitor is in the private group5958 only shows groups where both users are authorized to see5959 if profile visitor is in one of the private group projects5960 shows group5961 external users5962 if not a member5963 does not show internal groups5964 if authorized5965 shows internal groups if authorized5966Packages::Composer::CacheUploader5967 behaves like builds correct paths5968 #store_dir5969 behaves like matches the method pattern5970 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/5971 #cache_dir5972 behaves like matches the method pattern5973 is expected to match /\/packages\/tmp\/cache/5974 #work_dir5975 behaves like matches the method pattern5976 is expected to match /\/packages\/tmp\/work/5977 #upload_path5978 behaves like matches the method pattern5979 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5980 #relative_path5981 is relative (PENDING: Path not set, skipping.)5982 .absolute_path5983 behaves like matches the method pattern5984 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5985 .base_dir5986 behaves like matches the method pattern5987 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5988 path traversal exploits5989 throws an exception5990 object store is remote5991 behaves like builds correct paths5992 #store_dir5993 behaves like matches the method pattern5994 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/5995 #cache_dir5996 behaves like matches the method pattern5997 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5998 #work_dir5999 behaves like matches the method pattern6000 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6001 #upload_path6002 behaves like matches the method pattern6003 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6004 #relative_path6005 is relative (PENDING: Path not set, skipping.)6006 .absolute_path6007 behaves like matches the method pattern6008 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6009 .base_dir6010 behaves like matches the method pattern6011 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6012 path traversal exploits6013 throws an exception6014 remote file6015 with object storage enabled6016 can store file remotely6017Gitlab::JwtAuthenticatable6018 .secret6019 behaves like reading secret from the secret path6020 returns 32 bytes6021 accepts a trailing newline6022 raises an exception if the secret file cannot be read6023 raises an exception if the secret file contains the wrong number of bytes6024 .read_secret6025 behaves like reading secret from the secret path6026 returns 32 bytes6027 accepts a trailing newline6028 raises an exception if the secret file cannot be read6029 raises an exception if the secret file contains the wrong number of bytes6030 .write_secret6031 without an input6032 uses mode 06006033 writes base64 data6034 with an input6035 uses mode 06006036 writes base64 data6037 .decode_jwt6038 use included class secret6039 accepts a correct header6040 raises an error when the JWT is not signed6041 raises an error when the header is signed with the wrong secret6042 use an input secret6043 accepts a correct header6044 raises an error when the JWT is not signed6045 raises an error when the header is signed with the wrong secret6046 issuer option6047 returns decoded payload if issuer is correct6048 raises an error when the issuer is incorrect6049 iat_after option6050 returns decoded payload if iat is valid6051 raises an error if iat is invalid6052 raises an error if iat is absent6053 raises an error if iat is too far in the past6054NamespaceStatistics6055 is expected to belong to namespace required: false6056 is expected to validate that :namespace cannot be empty/falsy6057 #refresh!6058 when database is read_only6059 does not save the object6060 when namespace belong to a user6061 does not save the object6062 when invalid option is passed6063 does not update any column6064 behaves like creates the namespace statistics6065 is expected to receive save!(*(any args)) 1 time6066 when no option is passed6067 updates the dependency proxy size6068 behaves like creates the namespace statistics6069 is expected to receive save!(*(any args)) 1 time6070 when dependency_proxy_size option is passed6071 updates the dependency proxy size6072 behaves like creates the namespace statistics6073 is expected to receive save!(*(any args)) 1 time6074 #update_storage_size6075 sets storage_size to the dependency_proxy_size6076 #update_dependency_proxy_size6077 updates the dependency proxy size6078 when namespace does not belong to a group6079 does not update the dependency proxy size6080 before saving statistics6081 updates storage size6082 after saving statistics6083 when storage_size is not updated6084 does not enqueue the job to update root storage statistics6085 when storage_size is updated6086 enqueues the job to update root storage statistics6087 when namespace does not belong to a group6088 does not enqueue the job to update root storage statistics6089 when other columns are updated6090 does not enqueue the job to update root storage statistics6091 after destroy statistics6092 enqueues the job to update root storage statistics6093 when namespace belongs to a group6094 does not enqueue the job to update root storage statistics6095Mutations::AlertManagement::CreateAlertIssue6096 is expected to require graphql authorizations :update_alert_management_alert6097 #resolve6098 user has access to project6099 when CreateAlertIssueService responds with success6100 returns the issue with no errors6101 behaves like an incident management tracked event6102 .track_event6103 tracks the event using redis6104 behaves like an incident management tracked event6105 .track_event6106 tracks the event using redis6107 behaves like Snowplow event tracking with RedisHLL context6108 behaves like Snowplow event tracking6109 is emitted6110 when CreateAlertIssue responds with an error6111 returns errors6112 behaves like Snowplow event tracking with RedisHLL context6113 behaves like Snowplow event tracking6114 is emitted6115 when resource is not accessible to the user6116 raises an error if the resource is not accessible to the user6117Gitlab::Analytics::CycleAnalytics::StageEvents::IssueDeployedToProduction6118 behaves like value stream analytics event6119 is expected to be a kind of String6120 is expected to be a kind of Symbol6121 is expected to include ApplicationRecord(abstract)6122 is expected to respond to #timestamp_projection6123 is expected to respond to #html_description6124 is expected to be a kind of Array6125 #apply_query_customization6126 expects an ActiveRecord::Relation object as argument and returns a modified version of it6127 #hash_code6128 returns a hash that uniquely identifies an event6129 does not differ when the same object is built with the same params6130 behaves like LEFT JOIN-able value stream analytics event6131 can use the event as LEFT JOIN6132 when looking at the record with data6133 contains the timestamp expression6134 when looking at the record without data6135 returns nil for the timestamp expression6136Gitlab::InstrumentationHelper6137 .add_instrumentation_data6138 includes DB counts6139 logs cpu_s duration6140 logs the process ID6141 logs the worker ID6142 includes DB counts6143 when Gitaly calls are made6144 adds Gitaly and Redis data6145 when Redis calls are made6146 adds Redis data and omits Gitaly data6147 when LDAP requests are made6148 adds LDAP data6149 when the request matched a Rack::Attack safelist6150 logs the safelist name6151 rate-limiting gates6152 when the request did not pass through any rate-limiting gates6153 logs an empty array of gates6154 when the request passed through rate-limiting gates6155 logs an array of gates used6156 when logging memory allocations6157 logs memory usage metrics6158 when replica caught up search was made6159 includes related metrics6160 when only a single counter was updated6161 includes only that counter into logging6162 when there is an uploaded file6163 adds upload data6164 when an api call to the search api is made6165 adds search data6166Packages::Nuget::Metadatum6167 relationships6168 is expected to belong to package required: false inverse_of => nuget_metadatum6169 validations6170 is expected to validate that :package cannot be empty/falsy6171 #license_url6172 is expected to allow :license_url to be ‹"http://sandbox.com"›6173 is expected to allow :license_url to be ‹"https://sandbox.com"›6174 is expected not to allow :license_url to be ‹"123"›6175 is expected not to allow :license_url to be ‹"sandbox.com"›6176 #ensure_at_least_one_field_supplied6177 rejects unfilled metadatum6178 #ensure_nuget_package_type6179 rejects if not linked to a nuget package6180 #project_url6181 is expected to allow :project_url to be ‹"http://sandbox.com"›6182 is expected to allow :project_url to be ‹"https://sandbox.com"›6183 is expected not to allow :project_url to be ‹"123"›6184 is expected not to allow :project_url to be ‹"sandbox.com"›6185 #ensure_at_least_one_field_supplied6186 rejects unfilled metadatum6187 #ensure_nuget_package_type6188 rejects if not linked to a nuget package6189 #icon_url6190 is expected to allow :icon_url to be ‹"http://sandbox.com"›6191 is expected to allow :icon_url to be ‹"https://sandbox.com"›6192 is expected not to allow :icon_url to be ‹"123"›6193 is expected not to allow :icon_url to be ‹"sandbox.com"›6194 #ensure_at_least_one_field_supplied6195 rejects unfilled metadatum6196 #ensure_nuget_package_type6197 rejects if not linked to a nuget package6198BulkImports::Common::Pipelines::MilestonesPipeline6199 group milestone6200 behaves like bulk_imports milestones pipeline6201 #run6202 imports milestones into destination6203 #load6204 when milestone is not persisted6205 saves the milestone6206 when milestone is missing6207 returns6208 project milestone6209 behaves like bulk_imports milestones pipeline6210 imports events6211 #run6212 imports milestones into destination6213 #load6214 when milestone is not persisted6215 saves the milestone6216 when milestone is missing6217 returns6218Ci::CreatePipelineService6219 #execute6220 when source is a dangling build6221 parameter config content6222 creates a pipeline6223 creates builds with the correct names6224 creates stages with the correct names6225 sets the correct config source6226BulkImports::ExportRequestWorker6227 #perform6228 when entity is group6229 behaves like requests relations export for api resource6230 behaves like an idempotent worker6231 is labeled as idempotent6232 performs multiple times sequentially without raising an exception6233 requests relations export & schedules entity worker6234 when source id is nil6235 updates entity source id & requests export using source id6236 when something goes wrong during source id fetch6237 logs the error & requests relations export using full path url6238 when entity is project6239 behaves like requests relations export for api resource6240 behaves like an idempotent worker6241 is labeled as idempotent6242 performs multiple times sequentially without raising an exception6243 requests relations export & schedules entity worker6244 when source id is nil6245 updates entity source id & requests export using source id6246 when something goes wrong during source id fetch6247 logs the error & requests relations export using full path url6248 #sidekiq_retries_exhausted6249 logs export failure and marks entity as failed6250Gitlab::Ci::Reports::TestReportsComparer6251 #suite_comparers6252 when head and base reports include two test suites6253 returns test suite comparers with specified values6254 #total_status6255 when all tests cases are success in head suites6256 returns the total status6257 when there is a failed test case in head suites6258 returns the total status in head suite6259 when there is an error test case in head suites6260 returns the total status in head suite6261 #total_count6262 returns the total test counts in head suites6263 #resolved_count6264 when there is a resolved failure test case in head suites6265 returns the correct count6266 when there is a resolved error test case in head suites6267 returns the correct count6268 when there are no resolved test cases in head suites6269 returns the correct count6270 #failed_count6271 when there is a failed test case in head suites6272 returns the correct count6273 when there are no failed test cases in head suites6274 returns the correct count6275 #error_count6276 when there is an error test case in head suites6277 returns the correct count6278 when there are no error test cases in head suites6279 returns the correct count6280Resolvers::BaseResolver6281 .singular_type6282 for a connection of scalars6283 is expected to eq GraphQL::Types::Int6284 for a connection of objects6285 is expected to eq #<Class:0x00007f95a477b3c0>6286 for a list type6287 is expected to eq GraphQL::Types::String6288 for a scalar type6289 is expected to eq GraphQL::Types::Boolean6290 .single6291 returns a subclass from the resolver6292 has the correct (singular) type6293 returns the same subclass every time6294 returns a resolver that gives the first result from the original resolver6295 .when_single6296 does not apply the block to the resolver6297 applies the block to the single version of the resolver6298 multiple when_single blocks6299 applies both blocks to the single version of the resolver6300 inheritance6301 applies both blocks to the single version of the resolver6302 when the resolver returns early6303 runs correctly in our test framework6304 single selects the first early return value6305 last selects the last early return value6306 .last6307 returns a subclass from the resolver6308 returns the same subclass every time6309 returns a resolver that gives the last result from the original resolver6310 when field is a connection6311 increases complexity based on arguments6312 does not increase complexity when filtering by iids6313 #object6314 returns object6315 when object is a presenter6316 returns presented object6317 #offset_pagination6318 is sugar for OffsetPaginatedRelation.new6319gitlab:background_migrations namespace rake tasks6320 finalize6321 without the proper arguments6322 exits without finalizing the migration6323 with the proper arguments6324 finalizes the matching migration6325 with a null parameter6326 finalizes the matching migration6327 when multiple database feature is enabled6328 ignores geo (PENDING: Skipping because ci is shared or doesn't not exist)6329 without the proper arguments6330 exits without finalizing the migration (PENDING: Skipping because ci is shared or doesn't not exist)6331 with the proper arguments6332 finalizes the matching migration (PENDING: Skipping because ci is shared or doesn't not exist)6333 when database name is not passed6334 aborts the rake task (PENDING: Skipping because ci is shared or doesn't not exist)6335 status6336 outputs the status of background migrations6337 when running the rake task against one database in multiple databases setup6338 outputs the status of background migrations (PENDING: Skipping because ci is shared or doesn't not exist)6339 when multiple databases are configured6340 with two connections sharing the same database6341 skips the shared database (PENDING: Skipping because none of the extra databases [:ci] are setup)6342 ignores geo (PENDING: Skipping because none of the extra databases [:ci] are setup)6343 with multiple databases6344 outputs the status for each database (PENDING: Skipping because none of the extra databases [:ci] are setup)6345ProjectCiCdSetting6346 validations6347 validates default_git_depth is between 0 and 1000 or nil6348 #forward_deployment_enabled6349 is true by default6350 #separated_caches6351 is true by default6352 #default_for_inbound_job_token_scope_enabled6353 is expected to be inbound job token scope enabled6354 #default_git_depth6355 sets default value for new records6356 does not set default value if present6357 #keep_latest_artifacts_available?6358 without application setting record6359 project_enabled: false, result_keep_latest_artifact: false6360 is expected to eq false6361 project_enabled: true, result_keep_latest_artifact: true6362 is expected to eq true6363 with application setting record6364 instance_enabled: false, project_enabled: false, result_keep_latest_artifact: false6365 is expected to eq false6366 instance_enabled: false, project_enabled: true, result_keep_latest_artifact: false6367 is expected to eq false6368 instance_enabled: true, project_enabled: false, result_keep_latest_artifact: false6369 is expected to eq false6370 instance_enabled: true, project_enabled: true, result_keep_latest_artifact: true6371 is expected to eq true6372Users::DismissGroupCalloutService6373 #execute6374 sets the group_id6375 behaves like dismissing user callout6376 creates a new user callout6377 returns a user callout6378 sets the dismissed_at attribute to current time6379 updates an existing callout dismissed_at time6380 does not update an invalid record with dismissed_at time6381Atlassian::JiraConnect::Jwt::Asymmetric6382 #valid?6383 returns true when verified with public key from CDN6384 JWT does not contain a key ID6385 is expected not to be valid6386 JWT contains a key ID that is not a valid UUID46387 is expected not to be valid6388 public key can not be retrieved6389 is expected not to be valid6390 retrieving the public raises an error6391 is expected not to be valid6392 token decoding raises an error6393 is expected not to be valid6394 when iss could not be verified6395 is expected not to be valid6396 when qsh could not be verified6397 is expected not to be valid6398 with jira_connect_proxy_url setting6399 requests the settings CDN6400 when the setting is an empty string6401 requests the default CDN6402 #iss_claim6403 is expected to eq nil6404 when jwt is verified6405 is expected to eq "client_key"6406Projects::MoveProjectGroupLinksService6407 #execute6408 moves the group links from one project to another6409 does not move existent group links in the current project6410 rollbacks changes if transaction fails6411 when remove_remaining_elements is false6412 does not remove remaining project group links6413Metrics::Dashboard::ClusterMetricsEmbedService6414 .valid_params?6415 is expected to be truthy6416 returns false with missing param6417 returns false with missing param6418 returns false with missing param6419 returns false with missing param6420 returns false with missing param6421 missing all params6422 is expected to be falsy6423 #get_dashboard6424 returns one panel6425 returns panel by title and y_label6426 behaves like valid embedded dashboard service response6427 behaves like valid dashboard service response for schema6428 returns a json representation of the dashboard6429 behaves like caches the unprocessed dashboard for subsequent calls6430 is expected to receive load_raw!(*(any args)) 1 time6431ObjectStorage::CDN::GoogleCDN6432 # order random6433 #signed_url6434 with UTF-8 characters in path6435 returns a valid signed URL6436 with default query parameters6437 returns a valid signed URL6438 with nil query parameters6439 returns a valid signed URL6440 with extra query parameters6441 returns a valid signed URL6442 #use_cdn?6443 ip_address: "34.80.0.1", expected: false6444 is expected to eq false6445 ip_address: "18.245.0.42", expected: true6446 is expected to eq true6447 ip_address: "2500:1900:4180:0000:0000:0000:0000:0000", expected: true6448 is expected to eq true6449 ip_address: "2600:1900:4180:0000:0000:0000:0000:0000", expected: false6450 is expected to eq false6451 ip_address: "10.10.1.5", expected: false6452 is expected to eq false6453 ip_address: "fc00:0000:0000:0000:0000:0000:0000:0000", expected: false6454 is expected to eq false6455 ip_address: "127.0.0.1", expected: false6456 is expected to eq false6457 ip_address: "169.254.0.0", expected: false6458 is expected to eq false6459 when the key name is missing6460 returns false6461 when the key is missing6462 returns false6463 when the key is invalid6464 returns false6465 when the URL is missing6466 returns false6467 when URL is a domain6468 returns false6469 when URL uses HTTP6470 returns false6471Gitlab::DatabaseImporters::WorkItems::BaseTypeImporter6472 behaves like work item base types importer6473 creates all base work item types if they don't exist6474 creates all default widget definitions6475 upserts base work item types if they already exist6476 upserts default widget definitions if they already exist and type changes6477 does not change default widget definitions if they already exist with changed disabled status6478 executes single INSERT query per types and widget definitions6479 when some base types exist6480 inserts all types and does nothing if some already existed6481 when some widget definitions exist6482 inserts all widget definitions and does nothing if some already existed6483Gitlab::Ci::Badge::Coverage::Template6484 behaves like a badge template6485 #key_text6486 says coverage by default6487 when custom key_text is defined6488 returns custom value6489 when its size is larger than the max allowed value6490 returns default value6491 #key_width6492 is fixed by default6493 when custom key_width is defined6494 returns custom value6495 when it is larger than the max allowed value6496 returns default value6497 #value_text6498 when coverage is known6499 returns coverage percentage6500 when coverage is known to many digits6501 returns rounded coverage percentage6502 when coverage is unknown6503 returns string that says coverage is unknown6504 #value_width6505 when coverage is known6506 is narrower when coverage is known6507 when coverage is unknown6508 is wider when coverage is unknown to fit text6509 #key_color6510 always has the same color6511 #value_color6512 when coverage is good6513 is green6514 when coverage is acceptable6515 is green-orange6516 when coverage is medium6517 is orange-yellow6518 when coverage is low6519 is red6520 when coverage is unknown6521 is grey6522 #width6523 when coverage is known6524 returns the key width plus value width6525 when coverage is unknown6526 returns key width plus wider value width6527Sidebars::Projects::Menus::RepositoryMenu6528 #render?6529 when project repository is empty6530 returns false6531 when project repository is not empty6532 when user can download code6533 returns true6534 when user cannot download code6535 returns false6536 for menu items6537 Files6538 behaves like repository menu item with different super sidebar title6539 is expected to eq "Files"6540 when inside the super sidebar6541 is expected to eq "Repository"6542 Commits6543 behaves like repository menu item link for6544 ref_type: nil, link: lazy { "#{route}?ref_type=heads" }6545 has a link with the fully qualifed ref route6546 ref_type: "heads", link: lazy { "#{route}?ref_type=heads" }6547 has a link with the fully qualifed ref route6548 ref_type: "tags", link: lazy { "#{route}?ref_type=tags" }6549 has a link with the fully qualifed ref route6550 when ref is not the default6551 and ref_type is not provided6552 is expected to eq "/namespace753/project1144/-/commits/nonmain"6553 and ref_type is provided6554 is expected to eq "/namespace753/project1144/-/commits/nonmain?ref_type=heads"6555 Contributor statistics6556 when analytics is disabled6557 is expected to be nil6558 when analytics is enabled6559 behaves like repository menu item link for6560 ref_type: nil, link: lazy { "#{route}?ref_type=heads" }6561 has a link with the fully qualifed ref route6562 ref_type: "heads", link: lazy { "#{route}?ref_type=heads" }6563 has a link with the fully qualifed ref route6564 ref_type: "tags", link: lazy { "#{route}?ref_type=tags" }6565 has a link with the fully qualifed ref route6566 when ref is not the default6567 and ref_type is not provided6568 is expected to eq "/namespace753/project1144/-/graphs/nonmain"6569 and ref_type is provided6570 is expected to eq "/namespace753/project1144/-/graphs/nonmain?ref_type=heads"6571 Network6572 behaves like repository menu item link for6573 ref_type: nil, link: lazy { "#{route}?ref_type=heads" }6574 has a link with the fully qualifed ref route6575 ref_type: "heads", link: lazy { "#{route}?ref_type=heads" }6576 has a link with the fully qualifed ref route6577 ref_type: "tags", link: lazy { "#{route}?ref_type=tags" }6578 has a link with the fully qualifed ref route6579 when ref is not the default6580 and ref_type is not provided6581 is expected to eq "/namespace753/project1144/-/network/nonmain"6582 and ref_type is provided6583 is expected to eq "/namespace753/project1144/-/network/nonmain?ref_type=heads"6584 behaves like repository menu item with different super sidebar title6585 is expected to eq "Graph"6586 when inside the super sidebar6587 is expected to eq "Repository graph"6588Gitlab::Usage::Metrics::Instrumentations::GenericMetric6589 with default fallback6590 #value6591 gives the correct value6592 when raising an exception6593 with should_raise_for_dev? false6594 return the default fallback6595 with should_raise_for_dev? true6596 raises an error6597 with custom fallback -26598 behaves like custom fallback6599 #value6600 gives the correct value6601 when raising an exception6602 with should_raise_for_dev? false6603 return the custom fallback6604 with should_raise_for_dev? true6605 raises an error6606 with custom fallback nil6607 behaves like custom fallback6608 #value6609 gives the correct value6610 when raising an exception6611 with should_raise_for_dev? false6612 return the custom fallback6613 with should_raise_for_dev? true6614 raises an error6615 with custom fallback false6616 behaves like custom fallback6617 #value6618 gives the correct value6619 when raising an exception6620 with should_raise_for_dev? false6621 return the custom fallback6622 with should_raise_for_dev? true6623 raises an error6624 with custom fallback true6625 behaves like custom fallback6626 #value6627 gives the correct value6628 when raising an exception6629 with should_raise_for_dev? false6630 return the custom fallback6631 with should_raise_for_dev? true6632 raises an error6633 with custom fallback []6634 behaves like custom fallback6635 #value6636 gives the correct value6637 when raising an exception6638 with should_raise_for_dev? false6639 return the custom fallback6640 with should_raise_for_dev? true6641 raises an error6642 with custom fallback { major: -1 }6643 behaves like custom fallback6644 #value6645 gives the correct value6646 when raising an exception6647 with should_raise_for_dev? false6648 return the custom fallback6649 with should_raise_for_dev? true6650 raises an error6651PersonalAccessTokens::RevokeService6652 #execute6653 when current_user is an administrator6654 when admin mode is enabled6655 behaves like a successfully revoked token6656 is expected to equal true6657 is expected to equal true6658 logs the event6659 when admin mode is disabled6660 behaves like an unsuccessfully revoked token6661 is expected to equal false6662 is expected to equal false6663 when current_user is not an administrator6664 token belongs to a different user6665 behaves like an unsuccessfully revoked token6666 is expected to equal false6667 is expected to equal false6668 token belongs to current_user6669 behaves like a successfully revoked token6670 is expected to equal true6671 is expected to equal true6672 logs the event6673 when source6674 when source is valid6675 behaves like a successfully revoked token6676 is expected to equal true6677 is expected to equal true6678 logs the event6679 when source is invalid6680 raises ArgumentError6681 when source is missing6682 raises ArgumentError6683Ci::FindExposedArtifactsService6684 #for_pipeline6685 with jobs having no exposed artifacts6686 behaves like does not find any matches6687 returns empty array6688 with jobs having no artifacts (metadata)6689 behaves like does not find any matches6690 returns empty array6691 with jobs having at most 1 matching exposed artifact6692 behaves like finds a single match6693 returns the artifact with exact location6694 with jobs having more than 1 matching exposed artifacts6695 behaves like finds multiple matches6696 returns the path to the artifacts browser6697 with jobs having more than 1 matching exposed artifacts inside a directory6698 behaves like finds multiple matches6699 returns the path to the artifacts browser6700 with jobs having paths with glob expression6701 behaves like finds a single match6702 returns the artifact with exact location6703 limiting results6704 returns first 2 results6705 cross-project MR6706 returns the correct path for cross-project MRs6707gitlab:refresh_project_statistics_build_artifacts_size rake task6708 enqueuing build artifacts size statistics refresh for given list of project IDs6709 when given a remote CSV file6710 behaves like recalculates project statistics successfully6711 enqueues the projects for refresh6712 inserts refreshes in batches with a sleep6713 behaves like raises error for invalid header6714 returns an error message6715 when given a local CSV file6716 behaves like recalculates project statistics successfully6717 enqueues the projects for refresh6718 inserts refreshes in batches with a sleep6719 behaves like raises error for invalid header6720 returns an error message6721API::Helpers::MembersHelpers6722 # order random6723 #source_members6724 for a group6725 behaves like returns all direct members6726 is expected to contain exactly #<GroupMember id: 1753, access_level: 50, source_id: 3200, source_type: "Namespace", user_id: 1439, n...erride: false, state: 0, invite_email_success: true, member_namespace_id: 3200, member_role_id: nil> and #<GroupMember id: 1754, access_level: 50, source_id: 3200, source_type: "Namespace", user_id: 1440, n...erride: false, state: 0, invite_email_success: true, member_namespace_id: 3200, member_role_id: nil>6727 behaves like query with source filters6728 is expected to include "source_id" and "source_type"6729 for a project6730 behaves like returns all direct members6731 is expected to contain exactly #<ProjectMember id: 1756, access_level: 40, source_id: 1170, source_type: "Project", user_id: 1443, n...erride: false, state: 0, invite_email_success: true, member_namespace_id: 3208, member_role_id: nil> and #<ProjectMember id: 1758, access_level: 40, source_id: 1170, source_type: "Project", user_id: 1445, n...erride: false, state: 0, invite_email_success: true, member_namespace_id: 3208, member_role_id: nil>6732 behaves like query without source filters6733 is expected not to include "source_id" and "source_type"6734Gitlab::UsageDataCounters::EditorUniqueCounter6735 for web IDE edit actions6736 behaves like tracks and counts action6737 is expected to eq 36738 track snowplow event6739 does not track edit actions if author is not present6740 for SFE edit actions6741 behaves like tracks and counts action6742 is expected to eq 36743 track snowplow event6744 does not track edit actions if author is not present6745 for snippet editor edit actions6746 behaves like tracks and counts action6747 is expected to eq 36748 track snowplow event6749 does not track edit actions if author is not present6750QualifiedDomainArrayValidator6751 validations6752 returns error when attribute is nil6753 allows when domain is valid6754 returns error when domain contains unicode6755 returns error when entry is larger than 255 chars6756 returns error when entry contains HTML tags6757 behaves like can be blank6758 allows when attribute is blank6759 when allow_nil is set to true6760 behaves like can be nil6761 allows when attribute is nil6762 behaves like can be blank6763 allows when attribute is blank6764 when allow_blank is set to true6765 behaves like can be nil6766 allows when attribute is nil6767 behaves like can be blank6768 allows when attribute is blank6769LegacyDiffNote6770 #to_ability_name6771 is expected to eq "note"6772 callbacks6773 #set_diff6774 when not importing6775 updates st_diff6776 when importing6777 does not update st_diff6778 when st_diff is blank6779 updates st_diff6780Ci::CreatePipelineService6781 # order random6782 when project has exceeded the active jobs limit6783 fails the pipeline before populating it6784 when project has not exceeded the active jobs limit6785 creates the pipeline successfully6786Mutations::Todos::Create6787 #resolve6788 when target does not support todos6789 raises error6790 with issue as target6791 behaves like create todo mutation6792 when user does not have permission to create todo6793 raises error6794 when user has permission to create todo6795 creates a todo6796 with merge request as target6797 behaves like create todo mutation6798 when user does not have permission to create todo6799 raises error6800 when user has permission to create todo6801 creates a todo6802 with design as target6803 behaves like create todo mutation6804 when user does not have permission to create todo6805 raises error6806 when user has permission to create todo6807 creates a todo6808Gitlab::HookData::GroupMemberBuilder6809 #build6810 data6811 on create6812 is expected to eq "user_add_to_group"6813 behaves like includes the required attributes6814 includes the required attributes6815 on update6816 is expected to eq "user_update_for_group"6817 behaves like includes the required attributes6818 includes the required attributes6819 on destroy6820 is expected to eq "user_remove_from_group"6821 behaves like includes the required attributes6822 includes the required attributes6823CsvBuilder6824 generates a csv6825 uses a temporary file to reduce memory allocation6826 counts the number of rows6827 avoids loading all data in a single query6828 uses hash keys as headers6829 gets data by calling method provided as hash value6830 allows lamdas to look up more complicated data6831 rows_expected6832 uses rows_written if CSV rendered successfully6833 falls back to calling .count before rendering begins6834 truncation6835 occurs after given number of bytes6836 is ignored by default6837 causes rows_expected to fall back to .count6838 excel sanitization6839 sanitizes dangerous characters at the beginning of a column6840 does not sanitize safe symbols at the beginning of a column6841 when dangerous characters are after a line break6842 does not append single quote to description6843Ci::CompareCodequalityReportsService6844 #execute6845 when head pipeline has a codequality report6846 returns status and data6847 when base and head pipelines have codequality reports6848 returns status and data6849Security::CiConfiguration::SastBuildAction6850 with existing .gitlab-ci.yml6851 sast has not been included6852 template includes are array6853 generates the correct YML6854 template include is not an array6855 generates the correct YML6856 reports defaults have been overwritten6857 sast template include is not an array6858 generates the correct YML6859 with default values6860 generates the correct YML6861 reports defaults have not been overwritten6862 analyzer section6863 generates the correct YML6864 analyzers are disabled6865 writes SAST_EXCLUDED_ANALYZERS6866 all analyzers are enabled6867 does not write SAST_EXCLUDED_ANALYZERS6868 with update stage and SEARCH_MAX_DEPTH and set SECURE_ANALYZERS_PREFIX to default6869 generates the correct YML6870 with no existing variables6871 generates the correct YML6872 with no existing sast config6873 generates the correct YML6874 with no existing sast variables6875 generates the correct YML6876 with no .gitlab-ci.yml6877 autodevops disabled6878 with one empty parameter6879 generates the correct YML6880 with all parameters6881 generates the correct YML6882 with autodevops enabled6883 generates the correct YML6884Packages::Debian::GroupComponent6885 behaves like Debian Distribution Component6886 relationships6887 is expected to belong to distribution class_name => Packages::Debian::GroupDistribution required: false inverse_of => components6888 is expected to have many files class_name => Packages::Debian::GroupComponentFile inverse_of => component6889 validations6890 #distribution6891 is expected to validate that :distribution cannot be empty/falsy6892 #name6893 is expected to validate that :name cannot be empty/falsy6894 is expected to allow :name to be ‹"main"›6895 is expected to allow :name to be ‹"non-free"›6896 is expected to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›6897 is expected not to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›6898 is expected not to allow :name to be ‹"non/free"›6899 is expected not to allow :name to be ‹"hé"›6900 scopes6901 .ordered_by_name6902 sorts by name6903 .with_distribution6904 does not return other distributions6905 .with_name6906 does not return other distributions6907SafeZip::Entry6908 #path_dir6909 is expected to eq "/tmp/safe-zip20230330-358-alpx0e/public/folder"6910 #exist?6911 when entry does not exist6912 is expected not to be truthy6913 when entry does exist6914 is expected to be truthy6915 #extract6916 when entry does not match the filtered directories6917 entry_name: "assets/folder/index.html"6918 does not extract file6919 entry_name: "public/../folder/index.html"6920 does not extract file6921 entry_name: "public/../../../../../index.html"6922 does not extract file6923 entry_name: "../../../../../public/index.html"6924 does not extract file6925 entry_name: "/etc/passwd"6926 does not extract file6927 when entry does not match the filtered files6928 entry_name: "assets/folder/index.html"6929 does not extract file6930 entry_name: "public/../folder/index.html"6931 does not extract file6932 entry_name: "public/../../../../../index.html"6933 does not extract file6934 entry_name: "../../../../../public/index.html"6935 does not extract file6936 entry_name: "/etc/passwd"6937 does not extract file6938 when there is an existing extracted entry6939 raises an exception6940 when entry type is unknown6941 raises an exception6942 when entry is valid6943 and is file6944 does extract file6945 behaves like secured symlinks6946 when we try to extract entry into symlinked folder6947 raises an exception6948 and is directory6949 does create directory6950 behaves like secured symlinks6951 when we try to extract entry into symlinked folder6952 raises an exception6953 and is symlink6954 when source is within target6955 but does not exist6956 raises an exception6957 and does exist6958 behaves like a valid symlink6959 does create symlink6960 when source points outside of target6961 raises an exception6962 when source points to /etc/passwd6963 raises an exception6964GitlabShellWorker6965 #perform6966 with the mv_repository action6967 forwards the message to Gitlab::Shell6968 with the remove_repository action6969 forwards the message to Gitlab::Shell6970 with the add_namespace action6971 forwards the message to Gitlab::Shell6972 with the rm_namespace action6973 forwards the message to Gitlab::Shell6974 with the mv_namespace action6975 forwards the message to Gitlab::Shell6976 with the repository_exists? action6977 forwards the message to Gitlab::Shell6978 all other commands6979 raises ArgumentError6980Gitlab::UsageMetricGenerator6981 Creating metric instrumentation files6982 creates CE metric instrumentation files using the template6983 with EE flag true6984 creates EE metric instrumentation files using the template6985 for database type6986 creates the metric instrumentation file using the template6987 for numbers type6988 creates the metric instrumentation file using the template6989 with type option missing6990 raises an ArgumentError6991 with type option value not included in approved superclasses6992 raises an ArgumentError6993 without operation for database metric6994 raises an ArgumentError6995 with wrong operation for database metric6996 raises an ArgumentError6997 without operation for numbers metric6998 raises an ArgumentError6999 with wrong operation for numbers metric7000 raises an ArgumentError7001Users::SignupService7002 #execute7003 when updating name7004 updates the name attribute7005 returns an error result when name is missing7006 when updating role7007 updates the role attribute7008 returns an error result when role is missing7009 when updating setup_for_company7010 updates the setup_for_company attribute7011 when on SaaS7012 returns an error result when setup_for_company is missing7013 when not on .com7014 returns success when setup_for_company is blank7015Gitlab::Ci::Status::Stage::PlayManual7016 #action_icon7017 is expected to eq "play"7018 #action_button_title7019 is expected to eq "Play all manual"7020 #action_title7021 is expected to eq "Play all manual"7022 #action_path7023 is expected to eq "/namespace781/project1172/-/pipelines/178/stages/test/play_manual"7024 #action_method7025 is expected to eq :post7026 .matches?7027 when stage is skipped7028 is expected to be truthy7029 when stage is manual7030 is expected to be truthy7031 when stage is scheduled7032 is expected to be truthy7033 when stage is success7034 and does not have manual builds7035 is expected to be falsy7036Types::IncidentManagement::EscalationStatusEnum7037 # order random7038 is expected to eq "IssueEscalationStatus"7039 statuses7040 status_name: "TRIGGERED", status_value: :triggered7041 exposes a status with the correct value7042 status_name: "ACKNOWLEDGED", status_value: :acknowledged7043 exposes a status with the correct value7044 status_name: "RESOLVED", status_value: :resolved7045 exposes a status with the correct value7046 status_name: "IGNORED", status_value: :ignored7047 exposes a status with the correct value7048 status_name: "INVALID", status_value: nil7049 exposes a status with the correct value7050ErrorTracking::IssueLatestEventService7051 #execute7052 with authorized user7053 when issue_latest_event returns an error event7054 returns the error event7055 when issue_latest_event returns nil7056 result is not ready7057 when issue_latest_event returns error7058 returns the error7059 when issue_latest_event returns error with http_status7060 returns the error with correct http_status7061 with integrated error tracking7062 returns the latest event in expected format7063 when error does not exist7064 returns the error in detailed format7065 with unauthorized user7066 returns error7067 with error tracking disabled7068 raises error7069BulkImport7070 associations7071 is expected to belong to user required: true7072 is expected to have one configuration7073 is expected to have many entities7074 validations7075 is expected to validate that :source_type cannot be empty/falsy7076 is expected to validate that :status cannot be empty/falsy7077 is expected to define :source_type as an enum backed by an integer with values ‹[:gitlab]›7078 .stale scope7079 is expected to contain exactly #<BulkImport id: 13, user_id: 1482, source_type: "gitlab", status: 0, created_at: "2023-03-27 11:58:2... 11:58:22.463700727 +0000", source_version: "14.4.0", source_enterprise: false, has_failures: false> and #<BulkImport id: 14, user_id: 1483, source_type: "gitlab", status: 1, created_at: "2023-03-27 11:58:2... 11:58:22.534902927 +0000", source_version: "14.4.0", source_enterprise: false, has_failures: false>7080 .all_human_statuses7081 returns all human readable entity statuses7082 .min_gl_version_for_project7083 is expected to be a kind of Gitlab::VersionInfo7084 is expected to eq "14.4.0"7085 #source_version_info7086 returns source_version as Gitlab::VersionInfo7087 #update_has_failures7088 when entity has failures7089 sets has_failures flag to true7090 when entity does not have failures7091 sets has_failures flag to false7092LabelPriority7093 relationships7094 is expected to belong to project required: false7095 is expected to belong to label required: false7096 validations7097 is expected to validate that :project cannot be empty/falsy7098 is expected to validate that :label cannot be empty/falsy7099 is expected to validate that :priority looks like an integer greater than or equal to 07100 validates uniqueness of label_id scoped to project_id7101 when importing7102 is expected not to validate that :label cannot be empty/falsy7103RuboCop::Cop::Gitlab::ServiceResponse7104 # order random7105 does not flag calls without params7106 does not flag the offense when `http_status` is not used7107 flags the use of `http_status:` parameter in ServiceResponse in success7108 flags the use of `http_status:` parameter in ServiceResponse in initializer7109 does not flag the `http_status:` param on a homonym method7110 flags the use of `http_status:` parameter in ServiceResponse in error7111Metrics::Dashboard::PruneOldAnnotationsWorker7112 #perform7113 removes all annotations older than cut off7114 batch to be deleted is bigger than upper limit7115 schedules second job to clear remaining records7116Gitlab::Ci::Config::Normalizer::NumberStrategy7117 .applies_to?7118 with numbers7119 is expected to be truthy7120 with hash that has :number key7121 is expected to be truthy7122 with a float number7123 is expected to be falsey7124 with hash that does not have :number key7125 is expected to be falsey7126 .build_from7127 with numbers7128 behaves like parallelized job7129 is expected to eq 37130 has attributes7131 has parallelized name7132 with hash that has :number key7133 behaves like parallelized job7134 is expected to eq 37135 has attributes7136 has parallelized name7137IncidentManagement::TimelineEventPolicy7138 # order random7139 #rules7140 when a user is not able to manage timeline events7141 when timeline event is editable7142 does not allow to edit the timeline event7143 when a user is able to manage timeline events7144 when timeline event is editable7145 allows to edit the timeline event7146 when timeline event is not editable7147 does not allow to edit the timeline event7148Mutations::Issues::Move7149 #resolve7150 raises an error if the resource is not accessible to the user7151 when user does not have permissions7152 returns error message7153 when user has sufficient permissions7154 moves issue7155Ci::Runners::ProcessRunnerVersionUpdateService7156 #execute7157 with upgrade check returning error7158 does not update ci_runner_versions records7159 when fetching runner releases is disabled7160 does not update ci_runner_versions records7161 with successful result from upgrade check7162 with no existing ci_runner_version record7163 creates ci_runner_versions record7164 with existing ci_runner_version record7165 updates ci_runner_versions record7166 with up-to-date ci_runner_version record7167 does not update ci_runner_versions record7168Types::Ci::PipelineCountsType7169 is expected to eq "PipelineCounts"7170 has the expected fields7171 behaves like pipeline counts query7172 returns pipeline counts7173 behaves like pipeline counts query7174 returns pipeline counts7175 behaves like pipeline counts query7176 returns pipeline counts7177 behaves like pipeline counts query7178 returns pipeline counts7179Users::BannedUser7180 relationships7181 is expected to belong to user required: false7182 validations7183 is expected to validate that :user cannot be empty/falsy7184 validates uniqueness of banned user id7185Preloaders::MergeRequestDiffPreloader7186 does not trigger N+1 queries7187RedisCacheable7188 #cached_attribute7189 gets the cache attribute7190 #cache_attributes7191 sets the cache attributes7192 with existing cached attributes7193 sets the cache attributes7194 #merge_cache_attributes7195 with different attribute values7196 merges the cache attributes with existing values7197 with no new or changed attribute values7198 does not try to set Redis key7199 #cached_attr_reader7200 always returns the latest values7201 when there is no cached value7202 reads the attribute7203 when there is a cached value7204 reads the cached value7205 #cast_value_from_cache7206 with runner contacted_at7207 converts cache string to appropriate type7208ResourceMilestoneEventPolicy7209 # order random7210 #read_milestone7211 allows to read deleted milestone7212 allows to read accessible milestone7213 does not allow to read not accessible milestone7214 #read_resource_milestone_event7215 with non-member user7216 does not allow to read event7217 with member user7218 allows to read event for accessible milestone7219 does not allow to read event for not accessible milestone7220Gitlab::PhabricatorImport::Conduit::Response7221 .parse!7222 raises a ResponseError if the http response was not successfull7223 raises a ResponseError if the response contained a Phabricator error7224 raises a ResponseError if JSON parsing failed7225 returns a parsed response for valid input7226 #success?7227 is expected to be success7228 is expected not to be success7229 #error_code7230 is expected to eq "ERR-INVALID-AUTH"7231 is expected to be nil7232 #error_info7233 returns the correct error info7234 is expected to be nil7235 #data7236 is expected to be nil7237 is expected to be a kind of Array7238 #pagination7239 is expected to be nil7240 builds the pagination correctly7241profiles/show7242 when the profile page is opened7243 displays the correct elements7244 renders required hidden inputs for set status form7245Discussions::UnresolveService7246 #execute7247 unresolves the discussion7248 counts the unresolve event7249 sends GraphQL triggers7250 when there are existing unresolved discussions7251 does not send a GraphQL triggers7252 when the noteable is not a merge request7253 does not send a GraphQL triggers7254Gitlab::Usage::Metrics::Query7255 .count7256 returns the raw SQL7257 does not mix a nil column with keyword arguments7258 removes order from passed relation7259 returns valid raw SQL for join relations7260 returns valid raw SQL for join relations with joined columns7261 .distinct_count7262 returns the raw SQL7263 does not mix a nil column with keyword arguments7264 removes order from passed relation7265 returns valid raw SQL for join relations7266 returns valid raw SQL for join relations with joined columns7267 .sum7268 returns the raw SQL7269 .average7270 returns the raw SQL7271 estimate_batch_distinct_count7272 returns the raw SQL7273 .histogram7274 returns the histogram sql7275 other7276 raise ArgumentError error7277Gitlab::Database::PostgresHll::BatchDistinctCounter7278 unit test for different counting parameters7279 #execute7280 builds hll buckets7281 defaults batch size to 100007282 when a transaction is open7283 raises an error7284 disallowed configurations7285 raises WRONG_CONFIGURATION_ERROR if start is bigger than finish7286 raises WRONG_CONFIGURATION_ERROR if data volume exceeds upper limit7287 raises WRONG_CONFIGURATION_ERROR if batch size is less than min required7288GraphHelper7289 #get_refs7290 filters our refs used by GitLab7291 #should_render_dora_charts7292 always returns false7293 #should_render_quality_summary7294 always returns false7295dashboard/projects/_blank_state_welcome.html.haml7296 with regular user7297 with project creation enabled7298 has a doc_url7299 shows create project panel7300 with project creation disabled7301 doesn't show create project panel7302 shows an alert7303 with external user7304 doesn't show create project panel7305 shows an alert7306Ci::PipelineScheduleService7307 #execute7308 schedules next run7309 runs RunPipelineScheduleWorker7310 when owner is nil7311 does not raise an error7312 when the project is missing7313 does not raise an exception7314 does not run RunPipelineScheduleWorker7315Resolvers::RecentBoardsResolver7316 #resolve7317 when there is no parent7318 returns none if parent is nil7319 when project boards7320 behaves like group and project recent boards resolver7321 calls ::Boards::VisitsFinder7322 avoids N+1 queries7323 returns most recent visited boards7324 returns a set number of boards7325 when group boards7326 behaves like group and project recent boards resolver7327 calls ::Boards::VisitsFinder7328 avoids N+1 queries7329 returns most recent visited boards7330 returns a set number of boards7331GroupDeployKeysGroupPolicy7332 edit a group deploy key for a given group7333 is allowed when the user is an owner of this group7334 is not allowed when the user is not an owner of this group7335Gitlab::Ci::Config::Entry::Kubernetes7336 attributes7337 is expected to respond to #namespace7338 is expected to respond to #has_namespace?7339 validations7340 config7341 is a hash containing known keys7342 is expected to be valid7343 is a hash containing an unknown key7344 is expected not to be valid7345 is a string7346 is expected not to be valid7347 namespace7348 is a string7349 is expected to be valid7350 is a hash7351 is expected not to be valid7352 is not present7353 is expected not to be valid7354Gitlab::HookData::ProjectBuilder7355 #build7356 data7357 on create7358 is expected to eq "project_create"7359 behaves like includes the required attributes7360 includes the required attributes7361 behaves like does not include `old_path_with_namespace` attribute7362 does not include `old_path_with_namespace` attribute7363 on destroy7364 is expected to eq "project_destroy"7365 behaves like includes the required attributes7366 includes the required attributes7367 behaves like does not include `old_path_with_namespace` attribute7368 does not include `old_path_with_namespace` attribute7369 on rename7370 is expected to eq "project_rename"7371 behaves like includes the required attributes7372 includes the required attributes7373 behaves like includes `old_path_with_namespace` attribute7374 includes `old_path_with_namespace` attribute7375 on transfer7376 is expected to eq "project_transfer"7377 behaves like includes the required attributes7378 includes the required attributes7379 behaves like includes `old_path_with_namespace` attribute7380 includes `old_path_with_namespace` attribute7381Gitlab::Config::Entry::ComposableHash7382 when ComposableHash is instantiated7383 behaves like composes a hash7384 #valid?7385 is valid7386 is invalid7387 is expected not to be valid7388 #value7389 when config is a hash7390 returns key value7391 #compose!7392 composes child entry with configured value7393 composes child entries with configured values7394 #descendants7395 creates descendant nodes7396 when ComposableHash entry is configured in the parent class7397 creates entry with configuration from parent class7398 behaves like composes a hash7399 #valid?7400 is valid7401 is invalid7402 is expected not to be valid7403 #value7404 when config is a hash7405 returns key value7406 #compose!7407 composes child entry with configured value7408 composes child entries with configured values7409 #descendants7410 creates descendant nodes7411ExploreHelper7412 #explore_nav_links7413 has all the expected links by default7414 #public_visibility_restricted?7415 delegates to Gitlab::VisibilityLevel7416 #projects_filter_items7417 returns correct dropdown items7418 #projects_filter_selected7419 when visibility_level is present7420 returns corresponding item7421 when visibility_level is empty7422 returns corresponding item7423Gitlab::Database::Partitioning::CiSlidingListStrategy7424 # order random7425 #extra_partitions7426 when all partitions are true for detach_partition_if7427 is expected to be empty7428 when all partitions are false for detach_partition_if7429 is expected to be empty7430 #missing_partitions7431 when next_partition_if returns true7432 is a partition definition for the next partition in the series7433 when next_partition_if returns false7434 is empty7435 when there are no partitions for the table7436 returns a partition for value 17437 #current_partitions7438 detects both partitions7439 #initial_partition7440 starts with the value 1007441 with routing tables7442 removes the prefix7443 #next_partition7444 is one after the active partition7445 with routing tables7446 removes the prefix7447 #validate_and_fix7448 does not call change_column_default7449 #active_partition7450 is the partition with the largest value7451 #ensure_partitioning_column_ignored_or_readonly!7452 does not raise when the column is not ignored7453DeclarativeEnum7454 .key7455 when the argument is set7456 changes the key7457 when the argument is `nil`7458 is expected to eq :my_enum7459 .name7460 when the argument is set7461 changes the name7462 when the argument is `nil`7463 is expected to eq "MyEnumName"7464 .description7465 when the argument is set7466 changes the description7467 when the argument is `nil`7468 is expected to eq "Enum description"7469 .define7470 when there is a block given7471 when the given block tries to register the same key7472 raises a `KeyCollisionError`7473 when the given block does not try to register the same key7474 appends the new definition7475 when there is no block given7476 raises a LocalJumpError7477 .definition7478 is expected to eq {:bar=>{:description=>"description of bar", :value=>1}, :foo=>{:description=>"description of foo", :value=>0}}7479 extending the enum module7480 extends the values of the base enum module7481Clusters::AgentPolicy7482 rules7483 when developer7484 is expected to be disallowed :admin_cluster7485 when maintainer7486 is expected to be allowed :admin_cluster7487MergeRequests::Mergeability::CheckBrokenStatusService7488 #execute7489 when the merge request is broken7490 returns a check result with status failed7491 when the merge request is not broken7492 returns a check result with status success7493 #skip?7494 returns false7495 #cacheable?7496 returns false7497Todos::Destroy::DestroyedIssuableService7498 #execute7499 when target is merge request7500 deletes todos for specified target ID and type7501 invalidates todos cache counts of todo users7502 when target is an work item7503 deletes todos7504Gitlab::Search::Query7505 is expected to be < SimpleDelegator7506 leaves undefined filters in the main query7507 parses filters7508 with an empty filter7509 ignores empty filters7510 with a pipe7511 does not escape the pipe7512 with an exclusive filter7513 negates the filter7514 with filter value in quotes7515 does not break the filter value in quotes7516 with extra white spaces between the query words7517 removes the extra whitespace between tokens7518 with mutliple filename filters7519 creates a filter for each filename in query7520 when multiple extension filters are added7521 creates a filter for each filename and extension in query7522ExceedQueryLimitHelpers7523 can count queries7524 can select specific queries7525 can filter specific models7526 can ignore specific queries7527 can perform inclusion and exclusion7528 does not contain marginalia annotations7529 #diff_query_group_message7530 prints a group helpfully7531 #diff_query_counts7532 merges two query counts, showing only diffs7533 can show common queries if so desired7534 #count_queries7535 handles queries with suffixes over multiple lines7536 can aggregate queries7537ProtectedBranchAccessPolicy7538 # order random7539 as maintainers7540 can be read7541 as guests7542 can not be read7543Gitlab::ExternalAuthorization::Client7544 #request_access7545 performs requests to the configured endpoint7546 adds the correct params for the user to the body of the request7547 respects the the timeout7548 adds the mutual tls params when they are present7549 returns an expected response7550 wraps exceptions if the request fails7551 passes local request setting to Gitlab::HTTP7552 for ldap users7553 includes the ldap dn and identities for ldap users7554 for non-ldap users with identities7555 includes all the identities7556SystemNotes::ZoomService7557 #zoom_link_added7558 sets the zoom link added note text7559 behaves like a system note7560 has the correct attributes7561 #zoom_link_removed7562 sets the zoom link removed note text7563 behaves like a system note7564 has the correct attributes7565Gitlab::LetsEncrypt7566 .enabled?7567 when terms of service are accepted7568 is expected to eq true7569 when terms of service are not accepted7570 is expected to eq false7571 .terms_of_service_url7572 returns the url7573Gitlab::PhabricatorImport::Importer7574 is expected to be async7575 acts like it's importing repositories7576 #execute7577 sets a custom jid that will be kept up to date7578 starts importing tasks7579 marks the import as failed when something goes wrong7580IssueBoardEntity7581 has basic attributes7582 has path and endpoints7583 has milestone attributes7584 has assignee attributes7585 has label attributes7586 type7587 has an issue type7588 real_path7589 has an issue path7590 when issue is of type task7591 has a work item path with iid7592Operations::FeatureFlagsClient7593 associations7594 is expected to belong to project required: false7595 validations7596 is expected to validate that :project cannot be empty/falsy7597 #token7598 ensures that token is always set7599 .update_last_feature_flag_updated_at!7600 updates the last_feature_flag_updated_at of the project client7601 #unleash_api_version7602 is expected to eq 17603 #unleash_api_features7604 fetches7605 when unleash app name is not set7606 does not fetch7607 #unleash_api_cache_key7608 constructs the cache key7609 when unleash app name is not set7610 constructs the cache key without unleash app name7611Gitlab::BitbucketImport::WikiFormatter7612 #disk_path7613 appends .wiki to disk path7614 #full_path7615 appends .wiki to project path7616 #import_url7617 returns URL of the wiki repository7618Types::DesignManagement::DesignAtVersionType7619 behaves like a GraphQL type with design fields7620 is expected to require graphql authorizations :read_design7621 exposes the expected design fields7622 #image7623 resolves to the design image URL7624 has better than O(N) peformance7625PagesDomainPresenter7626 needs_validation?7627 pages_verification_enabled: false, traits: :unverified, expected: false7628 is expected to eq false7629 pages_verification_enabled: false, traits: [], expected: false7630 is expected to eq false7631 pages_verification_enabled: true, traits: :unverified, expected: true7632 is expected to eq true7633 pages_verification_enabled: true, traits: [], expected: false7634 is expected to eq false7635 show_auto_ssl_failed_warning?7636 is expected to eq false7637 when we failed to obtain Let's Encrypt's certificate7638 is expected to eq true7639 when Let's Encrypt integration is disabled7640 is expected to eq false7641 when domain is unverified7642 is expected to eq false7643ImportIssuesCsvWorker7644 #perform7645 calls #execute on Issues::ImportCsvService and destroys upload7646 behaves like an idempotent worker7647 is labeled as idempotent7648 performs multiple times sequentially without raising an exception7649RuboCop::Cop::Migration::Datetime7650 # order random7651 when in migration7652 registers an offense when the ":datetime" data type is used on create_table7653 registers an offense when the ":timestamp" data type is used on create_table7654 does not register an offense when the ":datetime" data type is not used on create_table7655 does not register an offense when the ":datetime_with_timezone" data type is used on create_table7656 registers an offense when the ":datetime" data type is used on add_column7657 registers an offense when the ":timestamp" data type is used on add_column7658 does not register an offense when the ":datetime" data type is not used on add_column7659 does not register an offense when the ":datetime_with_timezone" data type is used on add_column7660 when outside of migration7661 registers no offense7662CustomerRelations::Contacts::UpdateService7663 #execute7664 when the user has no permission7665 returns an error7666 when user has permission7667 when first_name is changed7668 updates the contact7669 when activating7670 updates the contact7671 when deactivating7672 updates the contact7673 when the contact is invalid7674 returns an error7675Mutations::AlertManagement::PrometheusIntegration::ResetToken7676 is expected to require graphql authorizations :admin_project7677 #resolve7678 user has sufficient access to project7679 when ::Projects::Operations::UpdateService responds with success7680 returns the integration with no errors7681 when ::Projects::Operations::UpdateService responds with an error7682 returns errors7683 when resource is not accessible to the user7684 raises an error if the resource is not accessible to the user7685Mutations::AlertManagement::PrometheusIntegration::Update7686 is expected to require graphql authorizations :admin_project7687 #resolve7688 user has sufficient access to project7689 when ::Projects::Operations::UpdateService responds with success7690 returns the integration with no errors7691 when ::Projects::Operations::UpdateService responds with an error7692 returns errors7693 when resource is not accessible to the user7694 raises an error if the resource is not accessible to the user7695TimeHelper7696 #time_interval_in_words7697 returns minutes and seconds7698 #duration_in_numbers7699 duration: 0, formatted_string: "00:00"7700 is expected to eq "00:00"7701 duration: 1 second, formatted_string: "00:01"7702 is expected to eq "00:01"7703 duration: 42 seconds, formatted_string: "00:42"7704 is expected to eq "00:42"7705 duration: 2 minutes and 1 second, formatted_string: "02:01"7706 is expected to eq "02:01"7707 duration: 3 hours, 2 minutes, and 1 second, formatted_string: "03:02:01"7708 is expected to eq "03:02:01"7709 duration: 30 hours, formatted_string: "30:00:00"7710 is expected to eq "30:00:00"7711 #time_in_milliseconds7712 returns the time in milliseconds7713Resolvers::Environments::NestedEnvironmentsResolver7714 # order random7715 #resolve7716 finds the nested environments when status matches7717 finds the nested environments when searching by name7718 finds the nested environments when name matches exactly7719Resolvers::WorkItems::TypesResolver7720 #resolve7721 when parent is a group7722 behaves like a work item type resolver7723 returns all default work item types7724 when requesting taskable types7725 returns only taskable types7726 when parent is a project7727 behaves like a work item type resolver7728 returns all default work item types7729 when requesting taskable types7730 returns only taskable types7731ListUserPreference7732 relationships7733 is expected to belong to list required: false7734 is expected to belong to user required: false7735 is expected to validate that :user_id is case-sensitively unique within the scope of :list_id, producing a custom validation error on failure7736Gitlab::Pagination::Keyset7737 .available_for_type?7738 returns true for Project7739 return false for other types of relations7740 .available?7741 with order-by id asc7742 behaves like keyset pagination is available7743 returns true for Project7744 return false for other types of relations7745 with order-by id desc7746 behaves like keyset pagination is available7747 returns true for Project7748 return false for other types of relations7749 with other order-by columns7750 returns false for Project7751 return false for other types of relations7752Gitlab::Middleware::MemoryReport7753 #call7754 when the Rails environment is not development7755 behaves like returns original response7756 returns original response7757 does not call the MemoryProfiler7758 when the Rails environment is development7759 when memory report is not requested7760 behaves like returns original response7761 returns original response7762 does not call the MemoryProfiler7763 when memory report is requested7764 returns a memory report7765 when something goes wrong with creating the report7766 logs the error7767 returns the error7768FeatureFlags::HookService7769 #execute_hooks7770 calls feature_flag.project.execute_hooks7771 HOOK_NAME7772 is expected to eq :feature_flag_hooks7773Atlassian::JiraConnect7774 .app_name7775 is expected to eq "GitLab for Jira (localhost)"7776 .app_key7777 is expected to eq "gitlab-jira-connect-localhost"7778 host name is too long7779 truncates the key to be no longer than 64 characters7780 with jira_connect_proxy_url setting7781 is expected to eq "gitlab-jira-connect-example.com"7782Sidebars::UserSettings::Menus::AuthenticationLogMenu7783 # order random7784 behaves like User settings menu7785 does not contain any sub menu7786 renders the correct link7787 renders the correct title7788 renders the correct icon7789 defines correct active route7790 behaves like User settings menu #render? method7791 #render?7792 when user is logged in7793 renders7794 when user is not logged in7795 does not render7796Banzai::CommitRenderer7797 .render7798 renders a commit description and title7799Gitlab::Mailgun::WebhookProcessors::FailureLogger7800 #execute7801 on permanent failure7802 when threshold is not exceeded7803 increments counter but does not log the failure7804 when threshold is exceeded7805 increments counter and logs the failure7806 on temporary failure7807 when threshold is not exceeded7808 increments counter but does not log the failure7809 when threshold is exceeded7810 increments counter and logs the failure7811 on other events7812 does nothing7813Gitlab::Usage::Metrics::Instrumentations::DormantUserPeriodSettingMetric7814 # order random7815 deactivate_dormant_users_period_value: 365, expected_value: 3657816 behaves like a correct instrumented metric value7817 has correct value7818 deactivate_dormant_users_period_value: 90, expected_value: 907819 behaves like a correct instrumented metric value7820 has correct value7821Packages::Rubygems::CreateDependenciesService7822 #execute7823 creates dependencies7824 links dependencies to the package7825Gitlab::Search::AbuseValidators::NoAbusiveCoercionFromStringValidator7826 attribute_value: ["this is an arry"], valid?: false7827 is expected to receive message chain errors.add7828 attribute_value: {:this=>"is a hash"}, valid?: false7829 is expected to receive message chain errors.add7830 attribute_value: 123, valid?: false7831 is expected to receive message chain errors.add7832 attribute_value: 456.78, valid?: false7833 is expected to receive message chain errors.add7834 attribute_value: "now this is a string", valid?: true7835 is expected not to receive errors(*(any args)) 0 times7836ExportedProtectedBranch7837 Associations7838 is expected to have many push_access_levels7839 .push_access_levels7840 returns the correct push access levels7841RuboCop::Cop::Graphql::EnumValues7842 # order random7843 adds an offense when enum value is not uppercase7844 when values are set dynamically7845 adds an offense when enum value is set without `:upcase`7846 adds no offense when enum value is deprecated7847 adds no offense when enum value is uppercased literally7848 adds no offense when enum value is calling upcased7849RuboCop::Cop::Migration::VersionedMigrationClass7850 # order random7851 in migration7852 in an old migration7853 behaves like a disabled cop7854 does not register any offenses7855 that is recent7856 adds an offence if inheriting from ActiveRecord::Migration7857 adds an offence if inheriting from old version of Gitlab::Database::Migration7858 adds an offence if including Gitlab::Database::MigrationHelpers directly7859 excludes ActiveRecord classes defined inside the migration7860 outside of a migration7861 behaves like a disabled cop7862 does not register any offenses7863ProjectAccessTokenSerializer7864 #represent7865 can render a single token7866 can render a collection of tokens7867validate database config7868 when config/database.yml is valid7869 validates configuration without errors and warnings7870 when config/database.yml is invalid7871 uses unknown connection name7872 raises exception7873 behaves like with SKIP_DATABASE_CONFIG_VALIDATION=true7874 does not raise exception7875 uses replica configuration7876 raises exception7877 behaves like with SKIP_DATABASE_CONFIG_VALIDATION=true7878 does not raise exception7879 main is not a first entry7880 raises exception7881 behaves like with SKIP_DATABASE_CONFIG_VALIDATION=true7882 does not raise exception7883Tooling::Helpers::FileHandler7884 # order random7885 #write_array_to_file7886 when the output file does not exist7887 creates the file7888 when the output file is empty7889 writes the correct content to the file7890 when the output file is not empty7891 appends the correct content to the file7892 #read_array_from_file7893 when the input file does not exist7894 creates the file7895 when the input file is not empty7896 returns the content of the file in an array7897Gitlab::Utils::Uniquify7898 # order random7899 #string7900 returns the given string if it does not exist7901 returns the given string with a counter attached if the string exists7902 increments the counter for each candidate string that also exists7903 allows to pass an initial value for the counter7904 allows passing in a base function that defines the location of the counter7905DependencyProxy::CleanupBlobWorker7906 behaves like dependency_proxy_cleanup_worker7907 #perform_work7908 with no work to do7909 is expected to be nil7910 with work to do7911 deletes the oldest artifact pending destruction based on updated_at7912 #max_running_jobs7913 is expected to eq 57914 #remaining_work_count7915 is expected to eq 37916DataList7917 #to_array7918 returns current data7919Gitlab::Memory::Watchdog::SidekiqEventReporter7920 # order random7921 #strikes_exceeded7922 delegates #strikes_exceeded with correct arguments7923 increment running jobs counter7924 delegations7925 is expected to delegate #started to the #event_reporter object7926 is expected to delegate #stopped to the #event_reporter object7927 is expected to delegate #threshold_violated to the #event_reporter object7928 is expected to delegate #logger to the #event_reporter object7929Gitlab::ApplicationRateLimiter::BaseStrategy7930 #increment7931 raises NotImplementedError7932 #read7933 raises NotImplementedError7934Gitlab::ExceptionLogFormatter7935 .format!7936 adds exception data to log7937 cleans the exception message7938 when exception is ActiveRecord::StatementInvalid7939 adds the normalized SQL query to payload7940 when the ActiveRecord::StatementInvalid is wrapped in another exception7941 adds the cause_class to payload7942 adds the normalized SQL query to payload7943 when the ActiveRecord::StatementInvalid is a bad query7944 adds the query as-is to payload7945Gitlab::StringRangeMarker7946 #mark7947 when the rich text is html safe7948 marks the inline diffs7949 when the rich text is not html safe7950 when rich text equals raw text7951 marks the inline diffs7952 when rich text doeas not equal raw text7953 marks the inline diffs7954Gitlab::EtagCaching::Router::Graphql7955 matches pipelines endpoint7956 has a valid feature category for every route7957 applies the default urgency for every route7958 .cache_key7959 uses request path and headers as cache key7960 when the header is missing7961 does not raise errors7962ContentTypeWhitelist7963 upload whitelisted file content type7964 behaves like accepted carrierwave upload7965 will accept upload7966 will cache uploaded file7967 behaves like upload with content type7968 will not change upload file content type7969 upload non-whitelisted file content type7970 behaves like denied carrierwave upload7971 will deny upload7972 upload misnamed non-whitelisted file content type7973 behaves like denied carrierwave upload7974 will deny upload7975PerformanceMonitoring::PrometheusPanelGroup7976 .from_json7977 creates a PrometheusPanelGroup object7978 validations7979 json_content is not a hash7980 is expected to raise ActiveModel::ValidationError7981 when group is missing7982 is expected to raise ActiveModel::ValidationError7983 when panels are missing7984 is expected to raise ActiveModel::ValidationError7985Types::Namespace::PackageSettingsType7986 is expected to eq "PackageSettings"7987 is expected to eq "Namespace-level Package Registry settings"7988 is expected to require graphql authorizations :admin_package7989 includes package setting fields7990 maven_duplicate_exception_regex field7991 is expected to have graphql type Types::UntrustedRegexp7992Groups::DeployTokens::DestroyService7993 behaves like a deploy token deletion service7994 #execute7995 destroys a token record and it's associated DeployToken7996 invalid token id7997 raises an error7998BulkImports::Projects::Pipelines::ContainerExpirationPolicyPipeline7999 #run8000 imports project feature8001Issues::RescheduleStuckIssueRebalancesWorker8002 #perform8003 does not schedule a rebalance8004 schedules a rebalance in case there are any rebalances started8005Gitlab::GithubImport::Stage::ImportBaseDataWorker8006 #import8007 imports the base data of a project8008 raises an error8009admin/application_settings/repository.html.haml8010 default initial branch name8011 has the setting section8012 renders the correct setting section content8013Bitbucket::Page8014 #items8015 returns collection of needed objects8016 #attrs8017 returns attributes8018 #next?8019 returns true8020 returns false8021 #next8022 returns next attribute8023Gitlab::PhabricatorImport::ImportTasksWorker8024 #perform8025 calls the correct importer8026Types::Ci::Config::GroupType8027 is expected to eq "CiConfigGroup"8028 exposes the expected fields8029Releases::LinkPresenter8030 #direct_asset_url8031 when filepath is provided8032 is expected to eq "http://localhost/namespace861/project1252/-/releases/v1.1.0/downloads/bin/bigfile.exe"8033 when filepath is not provided8034 is expected to eq "https://google.com/-/jobs/140463678/artifacts/download"8035Projects::ClusterAgentsHelper8036 #js_cluster_agent_details_data8037 is expected to match {:agent_name=>"agent-name", :project_path=>"namespace862/project1253", :activity_empty_state_image=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f9564ce8960 @klass=String>, :empty_state_svg_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f9564ce8910 @klass=String>, :can_admin_vulnerability=>"true", :kas_address=>"wss://kas.example.com", :kas_version=>#<Gitlab::VersionInfo:0x00007f9564ce8780 @major=15, @minor=11, @patch=0, @suffix_s="-rc1", @suffix=["pre", "rc", 1]>, :can_admin_cluster=>"false"}8038 user has admin cluster permissions8039 displays that the user can admin cluster8040AnalyticsMergeRequestSerializer8041 when there is a single object provided8042 contains important elements of the merge request8043BulkImports::Projects::Pipelines::ProtectedBranchesPipeline8044 #run8045 imports protected branch information8046Types::Kas::AgentConnectionType8047 is expected to eq "ConnectedAgent"8048 is expected to eq "Connection details for an Agent"8049 is expected to have graphql fields :connected_at, :connection_id, and :metadata8050 #connected_at8051 converts the seconds value to a timestamp8052Gitlab::GrapeLogging::Loggers::CloudflareLogger8053 #parameters8054 with no Cloudflare headers8055 returns an empty hash8056 with Cloudflare headers8057 returns the correct duration in seconds8058Types::Metrics::Dashboards::AnnotationType8059 is expected to eq "MetricsDashboardAnnotation"8060 has the expected fields8061 is expected to require graphql authorizations :read_metrics_dashboard_annotation8062ProtectedTags::DestroyService8063 #execute8064 destroy a protected tag8065Users::CreateStatisticsWorker8066 #perform8067 when successful8068 create an users statistics entry8069 when unsuccessful8070 logs an error8071Gitlab::Ci::Reports::Security::Link8072 #initialize8073 when all params are given8074 initializes an instance8075 #to_hash8076 returns expected hash8077Gitlab::Middleware::RequestContext8078 #call8079 setting the client ip8080 with X-Forwarded-For headers8081 returns the load balancer IP8082 request8083 sets the `client_ip`8084 sets the `request_start_time`8085Tooling::Danger::ConfigFiles8086 # order random8087 #new_config_files8088 returns added, modified, and renamed_after files by default8089 #add_suggestion_for_missing_introduced_by_url8090 when config file has an empty introduced_by_url line8091 adds suggestions at the correct line8092 when config file has an introduced_by_url line with value8093 does not add suggestion8094Groups::UpdateStatisticsWorker8095 #perform8096 updates the group statistics8097 when group id does not exist8098 ends gracefully8099BaseContainerService8100 #initialize8101 accepts container and current_user8102 treats current_user as optional8103Ci::JobArtifacts::DeleteProjectArtifactsService8104 #execute8105 enqueues a Ci::ExpireProjectBuildArtifactsWorker8106Gitlab::Database::PostgresHll::Buckets8107 #estimated_distinct_count8108 provides estimated cardinality8109 #merge_hash!8110 merges two hashes together into union of two sets8111 #to_json8112 serialize HyperLogLog buckets as hash8113PrometheusAlertEntity8114 when user can read prometheus alerts8115 exposes prometheus_alert attributes8116Users::BannedUserBaseService8117 #initialize8118 sets the current_user instance value8119Gitlab::Ci::Ansi2json::Result8120 #size8121 when offset is at the start8122 returns the full size8123 when offset is not zero8124 returns the remaining size8125 #total8126 returns size of stread8127Gitlab::Metrics::Exporter::GcRequestMiddleware8128 #call8129 runs a major GC after the next middleware is called8130Types::Ci::JobArtifactType8131 has the correct fields8132OmniAuth::Strategies::Bitbucket8133 # order random8134 #callback_url8135 when script name is not present8136 has the correct default callback path8137 when script name is present8138 sets the callback path with script_name8139Create security training providers in development8140 # order random8141 behaves like security training providers importer8142OK8143 upserts security training providers8144Import/Export model configuration8145 has no new models8146Gitlab::Audit::DeployKeyAuthor8147 #initialize8148 sets correct attributes8149 sets default name when it is not provided8150Gitlab::Database::PostgresqlDatabaseTasks::LoadSchemaVersionsMixin8151 calls SchemaMigrations load_all8152Types::PermissionTypes::Ci::Runner8153 is expected to have graphql field :assign_runner8154Gitlab::Utils::MergeHash8155 # order random8156 .elements8157 deep merges an array of elements8158 .crush8159 can flatten a hash to each element8160Database::DropDetachedPartitionsWorker8161 #perform8162 drops detached partitions8163 reports partition metrics8164Routing::PackagesHelper8165 # order random8166 #package_path8167 creates package's path8168Gitlab::GithubImport::Stage::ImportPullRequestsReviewRequestsWorker8169 # order random8170 #import8171 imports all PR review requests8172TodosDestroyer::PrivateFeaturesWorker8173 calls the Todos::Destroy::PrivateFeaturesService with the params it was given8174Types::Ci::FreezePeriodStatusEnum8175 # order random8176 exposes all freeze period statuses8177Gitlab::Usage::Metrics::Instrumentations::GitlabDedicatedMetric8178 # order random8179 behaves like a correct instrumented metric value8180 has correct value8181Types::Packages::PackageGroupSortEnum8182 exposes all package group sort values8183Sidebars::Groups::SuperSidebarMenus::MonitorMenu8184 # order random8185 has title and sprite_icon8186 defines list of NilMenuItem placeholders8187Knapsack report was generated. Preview:8188{8189 "spec/finders/merge_requests_finder_spec.rb": 263.41532404200007,8190 "spec/finders/snippets_finder_spec.rb": 42.61103768099929,8191 "spec/finders/issues_finder_spec.rb": 37.903667932001554,8192 "spec/policies/ci/build_policy_spec.rb": 45.65218507499958,8193 "spec/services/boards/issues/move_service_spec.rb": 44.08478042100069,8194 "spec/services/notes/quick_actions_service_spec.rb": 48.37476278900067,8195 "spec/uploaders/file_uploader_spec.rb": 27.569869705999736,8196 "spec/tasks/gitlab/seed/group_seed_rake_spec.rb": 47.39883051099969,8197 "spec/workers/packages/maven/metadata/sync_worker_spec.rb": 32.04629185699923,8198 "spec/serializers/ci/job_entity_spec.rb": 32.6959720699997,8199 "spec/models/alert_management/alert_spec.rb": 8.765912995999315,8200 "spec/uploaders/avatar_uploader_spec.rb": 15.159995047999473,8201 "spec/lib/backup/repositories_spec.rb": 34.15695446599966,8202 "spec/models/ability_spec.rb": 16.51160241800062,8203 "spec/models/operations/feature_flag_spec.rb": 11.451540705998923,8204 "spec/services/todos/destroy/group_private_service_spec.rb": 17.488400127000205,8205 "spec/policies/issuable_policy_spec.rb": 18.800338271001237,8206 "spec/models/projects/build_artifacts_size_refresh_spec.rb": 14.85551587000009,8207 "spec/lib/gitlab/database/background_migration/batched_job_spec.rb": 4.47198907100028,8208 "spec/models/namespace/root_storage_statistics_spec.rb": 16.180545761999383,8209 "spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb": 15.66623526100011,8210 "spec/lib/gitlab/repository_cache_adapter_spec.rb": 16.35096483000052,8211 "spec/lib/gitlab/gfm/uploads_rewriter_spec.rb": 10.944107773999349,8212 "spec/lib/banzai/reference_parser/user_parser_spec.rb": 11.529762194999421,8213 "spec/services/ci/update_build_state_service_spec.rb": 4.1370223659996554,8214 "spec/services/preview_markdown_service_spec.rb": 15.060025012000551,8215 "spec/lib/gitlab/search/abuse_detection_spec.rb": 2.543999678999171,8216 "spec/models/ci/trigger_spec.rb": 7.666863521999403,8217 "spec/models/dev_ops_report/metric_spec.rb": 2.9900034890015377,8218 "spec/services/ci/reset_skipped_jobs_service_spec.rb": 11.243865933998677,8219 "spec/models/personal_access_token_spec.rb": 6.205509108000115,8220 "spec/lib/gitlab/redis/trace_chunks_spec.rb": 1.7364759369993408,8221 "spec/lib/gitlab/git/object_pool_spec.rb": 10.468924746999619,8222 "spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb": 10.795099103001121,8223 "spec/lib/gitlab/diff/diff_refs_spec.rb": 9.8017753059994,8224 "spec/services/projects/operations/update_service_spec.rb": 6.334351131999938,8225 "spec/lib/gitlab/data_builder/pipeline_spec.rb": 5.93756314500024,8226 "spec/models/ci/build_trace_chunks/fog_spec.rb": 5.646537144000831,8227 "spec/services/issues/resolve_discussions_spec.rb": 9.336373709000327,8228 "spec/lib/gitlab/doctor/secrets_spec.rb": 7.206119213999045,8229 "spec/workers/merge_requests/update_head_pipeline_worker_spec.rb": 6.275817679999818,8230 "spec/presenters/snippet_blob_presenter_spec.rb": 4.160548092999306,8231 "spec/lib/gitlab/deploy_key_access_spec.rb": 7.3339343770003325,8232 "spec/models/ci/variable_spec.rb": 4.003522332999637,8233 "spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb": 3.707197552999787,8234 "spec/models/customer_relations/issue_contact_spec.rb": 4.26010991899966,8235 "spec/lib/gitlab/quick_actions/extractor_spec.rb": 1.6242175019997376,8236 "spec/models/alert_management/http_integration_spec.rb": 3.395273755000744,8237 "spec/finders/concerns/finder_with_group_hierarchy_spec.rb": 5.677803929998845,8238 "spec/services/notification_recipients/builder/default_spec.rb": 2.96516000200063,8239 "spec/serializers/ci/dag_job_entity_spec.rb": 4.163408800999605,8240 "spec/models/uploads/fog_spec.rb": 5.018836516999727,8241 "spec/finders/groups/accepting_group_transfers_finder_spec.rb": 3.0296498740008246,8242 "spec/finders/crm/contacts_finder_spec.rb": 3.4718339049995848,8243 "spec/lib/gitlab/instrumentation/redis_cluster_validator_spec.rb": 1.7361903169985453,8244 "spec/models/integrations/emails_on_push_spec.rb": 3.0402135730000737,8245 "spec/lib/gitlab/git/push_spec.rb": 1.9963094830000045,8246 "spec/tooling/lib/tooling/mappings/view_to_js_mappings_spec.rb": 0.770208817000821,8247 "spec/lib/gitlab/ci/ansi2json_spec.rb": 1.2762391489995935,8248 "spec/lib/gitlab/x509/certificate_spec.rb": 4.041001158999279,8249 "spec/finders/joined_groups_finder_spec.rb": 7.1171049759996095,8250 "spec/uploaders/packages/composer/cache_uploader_spec.rb": 2.521542911999859,8251 "spec/lib/gitlab/jwt_authenticatable_spec.rb": 1.2220504369997798,8252 "spec/models/namespace_statistics_spec.rb": 1.5127951980011858,8253 "spec/graphql/mutations/alert_management/create_alert_issue_spec.rb": 2.934070357001474,8254 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb": 2.5130419039996923,8255 "spec/lib/gitlab/instrumentation_helper_spec.rb": 1.3337489210007334,8256 "spec/models/packages/nuget/metadatum_spec.rb": 1.7420689860009588,8257 "spec/lib/bulk_imports/common/pipelines/milestones_pipeline_spec.rb": 5.398811086999558,8258 "spec/services/ci/create_pipeline_service/parameter_content_spec.rb": 2.5944004520006274,8259 "spec/workers/bulk_imports/export_request_worker_spec.rb": 1.231791924999925,8260 "spec/lib/gitlab/ci/reports/test_reports_comparer_spec.rb": 0.9160141369993653,8261 "spec/graphql/resolvers/base_resolver_spec.rb": 1.4065755810006522,8262 "spec/tasks/gitlab/background_migrations_rake_spec.rb": 1.4096187409995764,8263 "spec/models/project_ci_cd_setting_spec.rb": 2.01839475000088,8264 "spec/services/users/dismiss_group_callout_service_spec.rb": 0.7583495179987949,8265 "spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb": 1.2479993530014326,8266 "spec/services/projects/move_project_group_links_service_spec.rb": 4.559767479000584,8267 "spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb": 1.9151349429994298,8268 "spec/uploaders/object_storage/cdn/google_cdn_spec.rb": 1.4874501710000914,8269 "spec/lib/gitlab/database_importers/work_items/base_type_importer_spec.rb": 0.7085164950003673,8270 "spec/lib/gitlab/ci/badge/coverage/template_spec.rb": 0.8909021710005618,8271 "spec/lib/sidebars/projects/menus/repository_menu_spec.rb": 2.1865454170001613,8272 "spec/lib/gitlab/usage/metrics/instrumentations/generic_metric_spec.rb": 0.9863713380000263,8273 "spec/services/personal_access_tokens/revoke_service_spec.rb": 1.4097468510008184,8274 "spec/services/ci/find_exposed_artifacts_service_spec.rb": 1.8063301980000688,8275 "spec/tasks/gitlab/refresh_project_statistics_build_artifacts_size_rake_spec.rb": 1.8593407999996998,8276 "spec/lib/api/helpers/members_helpers_spec.rb": 1.917994823999834,8277 "spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb": 0.8440798470001027,8278 "spec/validators/qualified_domain_array_validator_spec.rb": 0.5942986110003403,8279 "spec/models/legacy_diff_note_spec.rb": 1.5483503619998373,8280 "spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb": 3.5034417000006215,8281 "spec/graphql/mutations/todos/create_spec.rb": 3.320969786000205,8282 "spec/lib/gitlab/hook_data/group_member_builder_spec.rb": 0.7110548950004159,8283 "spec/lib/csv_builder_spec.rb": 0.6688166900003125,8284 "spec/services/ci/compare_codequality_reports_service_spec.rb": 2.7001711990014883,8285 "spec/lib/security/ci_configuration/sast_build_action_spec.rb": 0.8448027670001466,8286 "spec/models/packages/debian/group_component_spec.rb": 0.946534172999236,8287 "spec/lib/safe_zip/entry_spec.rb": 0.9221032759996888,8288 "spec/workers/gitlab_shell_worker_spec.rb": 0.5303562989993225,8289 "spec/lib/generators/gitlab/usage_metric_generator_spec.rb": 0.8468916170004377,8290 "spec/services/users/signup_service_spec.rb": 1.2138565780005592,8291 "spec/lib/gitlab/ci/status/stage/play_manual_spec.rb": 2.232771300999957,8292 "spec/graphql/types/incident_management/escalation_status_enum_spec.rb": 0.6785851989989169,8293 "spec/services/error_tracking/issue_latest_event_service_spec.rb": 2.662647573999493,8294 "spec/models/bulk_import_spec.rb": 1.4841130009990593,8295 "spec/models/label_priority_spec.rb": 1.6007484660003684,8296 "spec/rubocop/cop/gitlab/service_response_spec.rb": 0.7768143270004657,8297 "spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb": 4.0356017500016605,8298 "spec/lib/gitlab/ci/config/normalizer/number_strategy_spec.rb": 0.6068938179996621,8299 "spec/policies/incident_management/timeline_event_policy_spec.rb": 1.9771939069996733,8300 "spec/graphql/mutations/issues/move_spec.rb": 2.435397825000109,8301 "spec/services/ci/runners/process_runner_version_update_service_spec.rb": 1.2197678169995925,8302 "spec/graphql/types/ci/pipeline_counts_type_spec.rb": 1.9679384139999456,8303 "spec/models/users/banned_user_spec.rb": 1.0685702570008289,8304 "spec/models/preloaders/merge_request_diff_preloader_spec.rb": 4.699550242999976,8305 "spec/models/concerns/redis_cacheable_spec.rb": 0.6581257760008157,8306 "spec/policies/resource_milestone_event_policy_spec.rb": 1.7820432120006444,8307 "spec/lib/gitlab/phabricator_import/conduit/response_spec.rb": 0.687572241999078,8308 "spec/views/profiles/show.html.haml_spec.rb": 1.426709067000047,8309 "spec/services/discussions/unresolve_service_spec.rb": 2.8874594689987134,8310 "spec/lib/gitlab/usage/metrics/query_spec.rb": 0.8782229280004685,8311 "spec/lib/gitlab/database/postgres_hll/batch_distinct_counter_spec.rb": 1.9078679439990083,8312 "spec/helpers/graph_helper_spec.rb": 2.0846362030006276,8313 "spec/views/dashboard/projects/_blank_state_welcome.html.haml_spec.rb": 0.9066471330006607,8314 "spec/services/ci/pipeline_schedule_service_spec.rb": 1.4989033980000386,8315 "spec/graphql/resolvers/recent_boards_resolver_spec.rb": 1.306493643000067,8316 "spec/policies/group_deploy_keys_group_policy_spec.rb": 1.0148145799994381,8317 "spec/lib/gitlab/ci/config/entry/kubernetes_spec.rb": 0.7100687490001292,8318 "spec/lib/gitlab/hook_data/project_builder_spec.rb": 0.902326114999596,8319 "spec/lib/gitlab/config/entry/composable_hash_spec.rb": 0.7558058329996129,8320 "spec/helpers/explore_helper_spec.rb": 0.6818333320006786,8321 "spec/lib/gitlab/database/partitioning/ci_sliding_list_strategy_spec.rb": 0.894363434999832,8322 "spec/lib/declarative_enum_spec.rb": 0.6203756499999145,8323 "spec/policies/clusters/agent_policy_spec.rb": 1.5938492860004772,8324 "spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb": 0.850739840998358,8325 "spec/services/todos/destroy/destroyed_issuable_service_spec.rb": 2.4987172490000376,8326 "spec/lib/gitlab/search/query_spec.rb": 0.5514113190001808,8327 "spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb": 0.7488914740006294,8328 "spec/policies/protected_branch_access_policy_spec.rb": 1.4045233399992867,8329 "spec/lib/gitlab/external_authorization/client_spec.rb": 0.8825529660007305,8330 "spec/services/system_notes/zoom_service_spec.rb": 1.842310603999067,8331 "spec/lib/gitlab/lets_encrypt_spec.rb": 1.4226334370014229,8332 "spec/lib/gitlab/phabricator_import/importer_spec.rb": 1.436937295999087,8333 "spec/serializers/issue_board_entity_spec.rb": 1.1014645989998826,8334 "spec/models/operations/feature_flags_client_spec.rb": 0.8734074379990489,8335 "spec/lib/gitlab/bitbucket_import/wiki_formatter_spec.rb": 1.5574527110002236,8336 "spec/graphql/types/design_management/design_at_version_type_spec.rb": 1.6253140310000163,8337 "spec/presenters/pages_domain_presenter_spec.rb": 0.7219450270004018,8338 "spec/workers/import_issues_csv_worker_spec.rb": 1.5841034470013255,8339 "spec/rubocop/cop/migration/datetime_spec.rb": 0.6408090879995143,8340 "spec/services/customer_relations/contacts/update_service_spec.rb": 0.9288154409987328,8341 "spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb": 1.2269508530007442,8342 "spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb": 1.1955439959983778,8343 "spec/helpers/time_helper_spec.rb": 0.6938626310002292,8344 "spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb": 1.575155418000577,8345 "spec/graphql/resolvers/work_items/types_resolver_spec.rb": 0.8868729360001453,8346 "spec/models/list_user_preference_spec.rb": 1.1426696830003493,8347 "spec/lib/gitlab/pagination/keyset_spec.rb": 0.537817960999746,8348 "spec/lib/gitlab/middleware/memory_report_spec.rb": 0.8345761230011703,8349 "spec/services/feature_flags/hook_service_spec.rb": 1.6597845560008864,8350 "spec/lib/atlassian/jira_connect_spec.rb": 0.6364849080000567,8351 "spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb": 0.6526524659984716,8352 "spec/lib/banzai/commit_renderer_spec.rb": 1.2761634159996902,8353 "spec/lib/gitlab/mailgun/webhook_processors/failure_logger_spec.rb": 0.4654617300002428,8354 "spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb": 0.9345664600004966,8355 "spec/services/packages/rubygems/create_dependencies_service_spec.rb": 1.2610461380008928,8356 "spec/lib/gitlab/search/abuse_validators/no_abusive_coercion_from_string_validator_spec.rb": 0.4228449760012154,8357 "spec/models/exported_protected_branch_spec.rb": 0.9998630620011681,8358 "spec/rubocop/cop/graphql/enum_values_spec.rb": 0.5811301350004214,8359 "spec/rubocop/cop/migration/versioned_migration_class_spec.rb": 0.48914750699987053,8360 "spec/serializers/project_access_token_serializer_spec.rb": 0.8987216549994628,8361 "spec/initializers/validate_database_config_spec.rb": 0.5420597299998917,8362 "spec/tooling/lib/tooling/helpers/file_handler_spec.rb": 0.5580474679991312,8363 "spec/lib/gitlab/utils/uniquify_spec.rb": 0.696739090999472,8364 "spec/workers/dependency_proxy/cleanup_blob_worker_spec.rb": 0.6271678789998987,8365 "spec/models/data_list_spec.rb": 1.187725537998631,8366 "spec/lib/gitlab/memory/watchdog/sidekiq_event_reporter_spec.rb": 0.5963306529993133,8367 "spec/lib/gitlab/application_rate_limiter/base_strategy_spec.rb": 0.504128815000513,8368 "spec/lib/gitlab/exception_log_formatter_spec.rb": 0.435375634000593,8369 "spec/lib/gitlab/string_range_marker_spec.rb": 0.5041644859993539,8370 "spec/lib/gitlab/etag_caching/router/graphql_spec.rb": 0.38841472099920793,8371 "spec/uploaders/content_type_whitelist_spec.rb": 0.5251365730000543,8372 "spec/models/performance_monitoring/prometheus_panel_group_spec.rb": 0.5177964540016546,8373 "spec/graphql/types/namespace/package_settings_type_spec.rb": 0.47458259999984875,8374 "spec/services/groups/deploy_tokens/destroy_service_spec.rb": 0.7171876979991794,8375 "spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb": 0.6991184199996496,8376 "spec/workers/issues/reschedule_stuck_issue_rebalances_worker_spec.rb": 0.652365435998945,8377 "spec/workers/gitlab/github_import/stage/import_base_data_worker_spec.rb": 0.9711383449994173,8378 "spec/views/admin/application_settings/repository.html.haml_spec.rb": 0.7316084360008972,8379 "spec/lib/bitbucket/page_spec.rb": 0.4583871510003519,8380 "spec/workers/gitlab/phabricator_import/import_tasks_worker_spec.rb": 1.0320225479990768,8381 "spec/graphql/types/ci/config/group_type_spec.rb": 0.4577798209993489,8382 "spec/presenters/releases/link_presenter_spec.rb": 0.8122644760005642,8383 "spec/helpers/projects/cluster_agents_helper_spec.rb": 0.7151491579988942,8384 "spec/serializers/analytics_merge_request_serializer_spec.rb": 0.7053898989997833,8385 "spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb": 0.754860742999881,8386 "spec/graphql/types/kas/agent_connection_type_spec.rb": 0.4626658409997617,8387 "spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb": 0.762356572000499,8388 "spec/graphql/types/metrics/dashboards/annotation_type_spec.rb": 0.3783439510007156,8389 "spec/services/protected_tags/destroy_service_spec.rb": 0.7557731329998205,8390 "spec/workers/users/create_statistics_worker_spec.rb": 0.5444470300008106,8391 "spec/lib/gitlab/ci/reports/security/link_spec.rb": 0.3550871139996161,8392 "spec/lib/gitlab/middleware/request_context_spec.rb": 0.5353074510003353,8393 "spec/tooling/danger/config_files_spec.rb": 0.38348693100124365,8394 "spec/workers/groups/update_statistics_worker_spec.rb": 0.5719118369997886,8395 "spec/services/base_container_service_spec.rb": 0.40543419900131994,8396 "spec/services/ci/job_artifacts/delete_project_artifacts_service_spec.rb": 0.48315898699911486,8397 "spec/lib/gitlab/database/postgres_hll/buckets_spec.rb": 0.5206549829999858,8398 "spec/serializers/prometheus_alert_entity_spec.rb": 0.47513627899934363,8399 "spec/services/users/banned_user_base_service_spec.rb": 0.5274362130003283,8400 "spec/lib/gitlab/ci/ansi2json/result_spec.rb": 0.44532919300036156,8401 "spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb": 0.29490862199963885,8402 "spec/graphql/types/ci/job_artifact_type_spec.rb": 0.30736863000129233,8403 "spec/lib/omni_auth/strategies/bitbucket_spec.rb": 0.4056190980008978,8404 "spec/db/development/add_security_training_providers_spec.rb": 0.4599035510000249,8405 "spec/lib/gitlab/import_export/model_configuration_spec.rb": 0.5174853530006658,8406 "spec/lib/gitlab/audit/deploy_key_author_spec.rb": 0.4749638789999153,8407 "spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb": 0.4843394179988536,8408 "spec/graphql/types/permission_types/ci/runner_spec.rb": 0.3276933880006254,8409 "spec/lib/gitlab/utils/merge_hash_spec.rb": 0.32158912899831193,8410 "spec/workers/database/drop_detached_partitions_worker_spec.rb": 0.5602668690007704,8411 "spec/helpers/routing/packages_helper_spec.rb": 0.39135424900086946,8412 "spec/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker_spec.rb": 0.36484899199967913,8413 "spec/workers/todos_destroyer/private_features_worker_spec.rb": 0.4316819650011894,8414 "spec/graphql/types/ci/freeze_period_status_enum_spec.rb": 0.5288481719999254,8415 "spec/lib/gitlab/usage/metrics/instrumentations/gitlab_dedicated_metric_spec.rb": 0.4645920800012391,8416 "spec/graphql/types/packages/package_group_sort_enum_spec.rb": 0.29698741200081713,8417 "spec/lib/sidebars/groups/super_sidebar_menus/monitor_menu_spec.rb": 0.406660708000345048418}8419Knapsack global time execution for tests: 20m 20s8420Pending: (Failures listed here are expected and do not affect your suite's status)8421 1) FileUploader legacy storage behaves like builds correct legacy storage paths #cache_dir behaves like matches the method pattern 8422 # No pattern provided, skipping.8423 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88424 2) FileUploader legacy storage behaves like builds correct legacy storage paths #work_dir behaves like matches the method pattern 8425 # No pattern provided, skipping.8426 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88427 3) FileUploader legacy storage behaves like builds correct legacy storage paths #relative_path is relative8428 # Path not set, skipping.8429 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408430 4) FileUploader legacy storage behaves like builds correct legacy storage paths .base_dir behaves like matches the method pattern 8431 # No pattern provided, skipping.8432 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88433 5) FileUploader legacy storage uses hashed storage when rolled out attachments #cache_dir behaves like matches the method pattern 8434 # No pattern provided, skipping.8435 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88436 6) FileUploader legacy storage uses hashed storage when rolled out attachments #work_dir behaves like matches the method pattern 8437 # No pattern provided, skipping.8438 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88439 7) FileUploader legacy storage uses hashed storage when rolled out attachments #relative_path is relative8440 # Path not set, skipping.8441 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408442 8) FileUploader legacy storage uses hashed storage when rolled out attachments .absolute_path behaves like matches the method pattern 8443 # No pattern provided, skipping.8444 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88445 9) FileUploader legacy storage uses hashed storage when rolled out attachments .base_dir behaves like matches the method pattern 8446 # No pattern provided, skipping.8447 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88448 10) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths #cache_dir behaves like matches the method pattern 8449 # No pattern provided, skipping.8450 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88451 11) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths #work_dir behaves like matches the method pattern 8452 # No pattern provided, skipping.8453 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88454 12) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths #relative_path is relative8455 # Path not set, skipping.8456 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408457 13) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths .base_dir behaves like matches the method pattern 8458 # No pattern provided, skipping.8459 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88460 14) FileUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 8461 # No pattern provided, skipping.8462 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88463 15) FileUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 8464 # No pattern provided, skipping.8465 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88466 16) FileUploader object store is remote behaves like builds correct paths #relative_path is relative8467 # Path not set, skipping.8468 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408469 17) FileUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8470 # No pattern provided, skipping.8471 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88472 18) FileUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8473 # No pattern provided, skipping.8474 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88475 19) AvatarUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 8476 # No pattern provided, skipping.8477 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88478 20) AvatarUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 8479 # No pattern provided, skipping.8480 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88481 21) AvatarUploader behaves like builds correct paths #relative_path is relative8482 # Path not set, skipping.8483 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408484 22) AvatarUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8485 # No pattern provided, skipping.8486 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88487 23) AvatarUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 8488 # No pattern provided, skipping.8489 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88490 24) AvatarUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 8491 # No pattern provided, skipping.8492 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88493 25) AvatarUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative8494 # Path not set, skipping.8495 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408496 26) AvatarUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 8497 # No pattern provided, skipping.8498 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88499 27) AvatarUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 8500 # No pattern provided, skipping.8501 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88502 28) Operations::FeatureFlag validations 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 blank8503 # No reason given8504 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:498505 29) Operations::FeatureFlag validations 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 blank8506 # No reason given8507 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:578508 30) Packages::Composer::CacheUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 8509 # No pattern provided, skipping.8510 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88511 31) Packages::Composer::CacheUploader behaves like builds correct paths #relative_path is relative8512 # Path not set, skipping.8513 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408514 32) Packages::Composer::CacheUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 8515 # No pattern provided, skipping.8516 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88517 33) Packages::Composer::CacheUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8518 # No pattern provided, skipping.8519 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88520 34) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 8521 # No pattern provided, skipping.8522 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88523 35) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 8524 # No pattern provided, skipping.8525 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88526 36) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 8527 # No pattern provided, skipping.8528 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88529 37) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #relative_path is relative8530 # Path not set, skipping.8531 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408532 38) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8533 # No pattern provided, skipping.8534 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88535 39) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8536 # No pattern provided, skipping.8537 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88538 40) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled ignores geo8539 # Skipping because ci is shared or doesn't not exist8540 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:718541 41) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled without the proper arguments exits without finalizing the migration8542 # Skipping because ci is shared or doesn't not exist8543 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:798544 42) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled with the proper arguments finalizes the matching migration8545 # Skipping because ci is shared or doesn't not exist8546 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:908547 43) gitlab:background_migrations namespace rake tasks finalize when multiple database feature is enabled when database name is not passed aborts the rake task8548 # Skipping because ci is shared or doesn't not exist8549 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:998550 44) gitlab:background_migrations namespace rake tasks status when running the rake task against one database in multiple databases setup outputs the status of background migrations8551 # Skipping because ci is shared or doesn't not exist8552 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:1358553 45) gitlab:background_migrations namespace rake tasks status when multiple databases are configured with two connections sharing the same database skips the shared database8554 # Skipping because none of the extra databases [:ci] are setup8555 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:1548556 46) gitlab:background_migrations namespace rake tasks status when multiple databases are configured with two connections sharing the same database ignores geo8557 # Skipping because none of the extra databases [:ci] are setup8558 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:1628559 47) gitlab:background_migrations namespace rake tasks status when multiple databases are configured with multiple databases outputs the status for each database8560 # Skipping because none of the extra databases [:ci] are setup8561 # ./spec/tasks/gitlab/background_migrations_rake_spec.rb:1798562Finished in 20 minutes 22 seconds (files took 38.04 seconds to load)85633275 examples, 0 failures, 47 pending8564Randomized with seed 592748565[TEST PROF INFO] Time spent in factories: 11:37.455 (56.83% of total time)8566RSpec exited with 0.8567No examples to retry, congrats!8569Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8570Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8572Uploading artifacts...8573coverage/: found 5 matching artifact files and directories 8574crystalball/: found 2 matching artifact files and directories 8575deprecations/: found 6 matching artifact files and directories 8576knapsack/: found 3 matching artifact files and directories 8577WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8578rspec/: found 14 matching artifact files and directories 8579WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8580log/*.log: found 17 matching artifact files and directories 8581WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138443/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8582WARNING: Retrying... context=artifacts-uploader error=request redirected8583Uploading artifacts as "archive" to coordinator... 201 Created id=4031138443 responseStatus=201 Created token=64_XUfYm8584Uploading artifacts...8585rspec/junit_rspec.xml: found 1 matching artifact files and directories 8586WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138443/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8587WARNING: Retrying... context=artifacts-uploader error=request redirected8588Uploading artifacts as "junit" to coordinator... 201 Created id=4031138443 responseStatus=201 Created token=64_XUfYm8590Job succeeded