There was an error fetching the job.
rspec unit pg13 7/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-1680167171-db59d4a7...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 | 32.56 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_18fx645Downloading artifacts for detect-tests (4031138213)...46Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138213 responseStatus=200 OK token=64_18fx647Downloading artifacts for retrieve-tests-metadata (4031138217)...48Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138217 responseStatus=200 OK token=64_18fx649Downloading artifacts for setup-test-env (4031138204)...50Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4031138204 responseStatus=200 OK token=64_18fx652Using 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.decomposed-postgresql)710Geo DB won't be set up.711$ setup_db_user_only712CREATE ROLE713GRANT714==> 'setup_db_user_only' succeeded in 1 seconds.715$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes716Dropped database 'gitlabhq_test'717Dropped database 'gitlabhq_test_ci'718Created database 'gitlabhq_test'719Created database 'gitlabhq_test_ci'720==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 49 seconds.721$ setup_db_praefect722SELECT pg_catalog.set_config('search_path', '', false);723CREATE DATABASE praefect_test ENCODING 'UTF8';724==> 'setup_db_praefect' succeeded in 0 seconds.725$ source ./scripts/rspec_helpers.sh726$ run_timed_command "gem install knapsack --no-document"727$ gem install knapsack --no-document728Successfully installed knapsack-4.0.07291 gem installed730==> 'gem install knapsack --no-document' succeeded in 0 seconds.731$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"835$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"836SKIP_FLAKY_TESTS_AUTOMATICALLY: false837RETRY_FAILED_TESTS_IN_NEW_PROCESS: true838KNAPSACK_GENERATE_REPORT: true839FLAKY_RSPEC_GENERATE_REPORT: true840KNAPSACK_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.rb841KNAPSACK_LOG_LEVEL: debug842KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_7_28_report.json843FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json844FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_7_28_report.json845NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_7_28_report.json846SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg13_7_28_report.txt847CRYSTALBALL: 848Knapsack node specs:849spec/lib/gitlab/import_export/project/tree_restorer_spec.rb850spec/lib/gitlab/regex_spec.rb851spec/services/projects/destroy_service_spec.rb852spec/lib/gitlab/project_search_results_spec.rb853spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb854spec/models/milestone_spec.rb855spec/workers/database/batched_background_migration/ci_database_worker_spec.rb856spec/lib/gitlab/email/handler/service_desk_handler_spec.rb857spec/services/ci/retry_pipeline_service_spec.rb858spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb859spec/helpers/submodule_helper_spec.rb860spec/helpers/blob_helper_spec.rb861spec/services/merge_requests/rebase_service_spec.rb862spec/finders/template_finder_spec.rb863spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_values_on_projects_spec.rb864spec/services/merge_requests/approval_service_spec.rb865spec/services/issues/zoom_link_service_spec.rb866spec/models/concerns/token_authenticatable_spec.rb867spec/lib/gitlab/database/tables_locker_spec.rb868spec/helpers/users_helper_spec.rb869spec/finders/group_descendants_finder_spec.rb870spec/models/commit_collection_spec.rb871spec/services/ci/process_build_service_spec.rb872spec/lib/gitlab/ci/badge/pipeline/status_spec.rb873spec/lib/banzai/filter/math_filter_spec.rb874spec/models/integrations/pumble_spec.rb875spec/lib/gitlab/ci/config/external/processor_spec.rb876spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb877spec/services/ci/pipeline_trigger_service_spec.rb878spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb879spec/models/concerns/reactive_caching_spec.rb880spec/lib/gitlab/gpg_spec.rb881spec/models/plan_limits_spec.rb882spec/services/wiki_pages/update_service_spec.rb883spec/workers/incident_management/process_alert_worker_v2_spec.rb884spec/lib/gitlab/group_search_results_spec.rb885spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb886spec/lib/gitlab/redis/shared_state_spec.rb887spec/models/project_import_state_spec.rb888spec/services/ci/pipeline_artifacts/destroy_all_expired_service_spec.rb889spec/lib/gitlab/cache/helpers_spec.rb890spec/services/files/update_service_spec.rb891spec/graphql/types/base_field_spec.rb892spec/services/clusters/cleanup/project_namespace_service_spec.rb893spec/services/commits/commit_patch_service_spec.rb894spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb895spec/graphql/types/merge_request_type_spec.rb896spec/views/projects/commit/show.html.haml_spec.rb897spec/models/release_spec.rb898spec/tasks/rubocop_rake_spec.rb899spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb900spec/models/clusters/providers/gcp_spec.rb901spec/lib/gitlab/issuable_metadata_spec.rb902spec/policies/achievements/user_achievement_policy_spec.rb903spec/services/packages/rpm/repository_metadata/update_xml_service_spec.rb904spec/lib/sidebars/menu_spec.rb905spec/models/product_analytics_event_spec.rb906spec/models/integrations/ewm_spec.rb907spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb908spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb909spec/lib/gitaly/server_spec.rb910spec/services/packages/conan/search_service_spec.rb911spec/lib/gitlab/diff/file_collection/commit_spec.rb912spec/lib/banzai/reference_parser/milestone_parser_spec.rb913spec/serializers/merge_request_serializer_spec.rb914spec/tooling/lib/tooling/kubernetes_client_spec.rb915spec/config/inject_enterprise_edition_module_spec.rb916spec/lib/gitlab/database/migrations/observers/transaction_duration_spec.rb917spec/components/diffs/overflow_warning_component_spec.rb918spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb919spec/workers/jira_connect/sync_project_worker_spec.rb920spec/services/packages/debian/process_changes_service_spec.rb921spec/models/ci/group_variable_spec.rb922spec/lib/gitlab/ci/config/entry/commands_spec.rb923spec/models/commit_signatures/x509_commit_signature_spec.rb924spec/finders/user_group_notification_settings_finder_spec.rb925spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb926spec/lib/gitlab/kas_spec.rb927spec/tasks/gitlab/pages_rake_spec.rb928spec/lib/gitlab/safe_request_loader_spec.rb929spec/tasks/gitlab/gitaly_rake_spec.rb930spec/services/authorized_project_update/periodic_recalculate_service_spec.rb931spec/models/achievements/user_achievement_spec.rb932spec/lib/gitlab/metrics/system_spec.rb933spec/models/integrations/chat_message/alert_message_spec.rb934spec/services/groups/merge_requests_count_service_spec.rb935spec/rubocop/cop/gitlab/namespaced_class_spec.rb936spec/initializers/secret_token_spec.rb937spec/finders/projects/prometheus/alerts_finder_spec.rb938spec/services/loose_foreign_keys/cleaner_service_spec.rb939spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb940spec/rubocop/formatter/todo_formatter_spec.rb941spec/tasks/gitlab/setup_rake_spec.rb942spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb943spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb944spec/models/snippets/repository_storage_move_spec.rb945spec/finders/projects/ml/candidate_finder_spec.rb946spec/lib/gitlab/api_authentication/token_locator_spec.rb947spec/uploaders/ci/secure_file_uploader_spec.rb948spec/tasks/gitlab/lfs/migrate_rake_spec.rb949spec/lib/bulk_imports/pipeline/runner_spec.rb950spec/lib/gitlab/git/pre_receive_error_spec.rb951spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb952spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb953spec/lib/gitlab/ci/config/entry/id_token_spec.rb954spec/lib/gitlab/metrics/method_call_spec.rb955spec/tasks/gitlab/password_rake_spec.rb956spec/lib/gitlab/ci/build/artifacts/adapters/raw_stream_spec.rb957spec/workers/merge_requests/resolve_todos_worker_spec.rb958spec/lib/banzai/pipeline/plain_markdown_pipeline_spec.rb959spec/initializers/forbid_sidekiq_in_transactions_spec.rb960spec/components/pajamas/checkbox_component_spec.rb961spec/presenters/issue_email_participant_presenter_spec.rb962spec/lib/gitlab/usage_data_counters/gitlab_cli_activity_unique_counter_spec.rb963spec/lib/gitlab/themes_spec.rb964spec/graphql/types/merge_requests/reviewer_type_spec.rb965spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb966spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb967spec/lib/gitlab/background_migration/mailers/unconfirm_mailer_spec.rb968spec/services/protected_branches/create_service_spec.rb969spec/lib/gitlab/database/schema_cleaner_spec.rb970spec/lib/api/entities/draft_note_spec.rb971spec/services/members/import_project_team_service_spec.rb972spec/models/users/project_callout_spec.rb973spec/lib/gitlab/health_checks/db_check_spec.rb974spec/lib/gitlab/hook_data/user_builder_spec.rb975spec/lib/release_highlights/validator/entry_spec.rb976spec/lib/gitlab/ci/reports/reports_comparer_spec.rb977spec/lib/gitlab/github_import/representation_spec.rb978spec/services/packages/nuget/sync_metadatum_service_spec.rb979spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb980spec/models/token_with_iv_spec.rb981spec/rubocop/cop/performance/ar_count_each_spec.rb982spec/lib/gitlab/email/message/in_product_marketing/base_spec.rb983spec/lib/gitlab/ci/trace/backoff_spec.rb984spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb985spec/lib/gitlab/seeders/ci/runner/runner_fleet_pipeline_seeder_spec.rb986spec/graphql/resolvers/concerns/looks_ahead_spec.rb987spec/lib/mattermost/team_spec.rb988spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb989spec/views/layouts/profile.html.haml_spec.rb990spec/models/fork_network_member_spec.rb991spec/views/help/instance_configuration.html.haml_spec.rb992spec/lib/gitlab/reactive_cache_set_cache_spec.rb993spec/lib/api/entities/snippets/repository_storage_move_spec.rb994spec/models/integrations/chat_message/wiki_page_message_spec.rb995spec/graphql/types/description_version_type_spec.rb996spec/lib/gitlab/slash_commands/presenters/issue_close_spec.rb997spec/lib/gitlab/database/migrations/lock_retry_mixin_spec.rb998spec/helpers/import_helper_spec.rb999spec/presenters/alert_management/alert_presenter_spec.rb1000spec/finders/uploader_finder_spec.rb1001spec/views/layouts/group.html.haml_spec.rb1002spec/lib/gitlab/github_gists_import/representation/gist_spec.rb1003spec/lib/gitlab/github_import/importer/issues_importer_spec.rb1004spec/models/blob_viewer/gitlab_ci_yml_spec.rb1005spec/policies/project_hook_policy_spec.rb1006spec/graphql/mutations/terraform/state/delete_spec.rb1007spec/lib/gitlab/database/load_balancing/setup_spec.rb1008spec/views/layouts/project.html.haml_spec.rb1009spec/lib/gitlab/ci/config/entry/release/assets_spec.rb1010spec/lib/gitlab/word_diff/segments/diff_hunk_spec.rb1011spec/rubocop/cop/api/ensure_string_detail_spec.rb1012spec/lib/gitlab/auth/blocked_user_tracker_spec.rb1013spec/lib/bitbucket/representation/comment_spec.rb1014spec/lib/gitlab/instrumentation/rate_limiting_gates_spec.rb1015spec/lib/gitlab/ci/config/entry/release/assets/link_spec.rb1016spec/lib/api/helpers/merge_requests_helpers_spec.rb1017spec/rubocop/cop/scalability/cron_worker_context_spec.rb1018spec/models/concerns/integrations/reset_secret_fields_spec.rb1019spec/models/badges/project_badge_spec.rb1020spec/rubocop/cop/migration/background_migration_missing_active_concern_spec.rb1021spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb1022spec/rubocop/cop/rspec/top_level_describe_path_spec.rb1023spec/services/metrics/users_starred_dashboards/delete_service_spec.rb1024spec/lib/sidebars/projects/menus/shimo_menu_spec.rb1025spec/lib/gitlab/email/message/in_product_marketing/admin_verify_spec.rb1026spec/models/integrations/jira_tracker_data_spec.rb1027spec/models/blob_viewer/go_mod_spec.rb1028spec/lib/gitlab/github_import/attachments_downloader_spec.rb1029spec/models/project_import_data_spec.rb1030spec/views/admin/application_settings/_package_registry.html.haml_spec.rb1031spec/workers/ci/pipeline_bridge_status_worker_spec.rb1032spec/lib/gitlab/tracking/destinations/snowplow_spec.rb1033spec/db/development/import_common_metrics_spec.rb1034spec/services/bulk_push_event_payload_service_spec.rb1035spec/models/performance_monitoring/prometheus_metric_spec.rb1036spec/models/ml/experiment_metadata_spec.rb1037spec/lib/gitlab/memory/watchdog/monitor/heap_fragmentation_spec.rb1038spec/lib/gitlab/health_checks/server_spec.rb1039spec/lib/gitlab/memory/watchdog/monitor/unique_memory_growth_spec.rb1040spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb1041spec/graphql/types/kas/agent_metadata_type_spec.rb1042spec/graphql/types/packages/package_type_spec.rb1043spec/lib/gitlab/auth/otp/strategies/forti_authenticator/push_otp_spec.rb1044spec/lib/gitlab/sidekiq_versioning/worker_spec.rb1045spec/workers/propagate_integration_worker_spec.rb1046spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb1047spec/workers/environments/auto_stop_cron_worker_spec.rb1048spec/workers/jira_connect/retry_request_worker_spec.rb1049spec/helpers/admin/abuse_reports_helper_spec.rb1050spec/lib/gitlab/graphql/timeout_spec.rb1051spec/lib/api/entities/design_management/design_spec.rb1052spec/graphql/types/kas/agent_configuration_type_spec.rb1053spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb1054spec/graphql/types/member_access_level_enum_spec.rb1055spec/lib/gitlab/audit/null_target_spec.rb1056spec/graphql/types/issuable_state_enum_spec.rb1057spec/lib/gitlab/graphql_logger_spec.rb1058spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb1059spec/lib/gitlab/github_import/importer/attachments/base_importer_spec.rb1060spec/lib/gitlab/import_export/import_test_coverage_spec.rb1061spec/graphql/types/ci/test_suite_summary_type_spec.rb1062spec/graphql/types/clusters/agent_type_spec.rb1063spec/graphql/types/user_callout_type_spec.rb1064spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb1065spec/services/keys/destroy_service_spec.rb1066spec/graphql/types/notes/noteable_interface_spec.rb1067spec/initializers/mailer_retries_spec.rb1068spec/lib/gitlab/usage/metrics/instrumentations/index_inconsistencies_metric_spec.rb1069spec/lib/gitlab/kubernetes/role_binding_spec.rb1070spec/models/namespaces/user_namespace_spec.rb1071spec/lib/gitlab/memory/reports_uploader_spec.rb1072spec/lib/gitlab/api_authentication/token_type_builder_spec.rb1073spec/lib/gitlab/kubernetes/tls_secret_spec.rb1074spec/lib/gitlab/language_data_spec.rb1075spec/workers/ci_platform_metrics_update_cron_worker_spec.rb1076spec/graphql/types/ci/variable_sort_enum_spec.rb1077spec/lib/gitlab/ci/parsers/instrumentation_spec.rb1078spec/graphql/resolvers/packages_base_resolver_spec.rb1079spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb1080Filter specs:1081Running specs:1082Running all node tests without filter1083spec/lib/gitlab/import_export/project/tree_restorer_spec.rb1084spec/lib/gitlab/regex_spec.rb1085spec/services/projects/destroy_service_spec.rb1086spec/lib/gitlab/project_search_results_spec.rb1087spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb1088spec/models/milestone_spec.rb1089spec/workers/database/batched_background_migration/ci_database_worker_spec.rb1090spec/lib/gitlab/email/handler/service_desk_handler_spec.rb1091spec/services/ci/retry_pipeline_service_spec.rb1092spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb1093spec/helpers/submodule_helper_spec.rb1094spec/helpers/blob_helper_spec.rb1095spec/services/merge_requests/rebase_service_spec.rb1096spec/finders/template_finder_spec.rb1097spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_values_on_projects_spec.rb1098spec/services/merge_requests/approval_service_spec.rb1099spec/services/issues/zoom_link_service_spec.rb1100spec/models/concerns/token_authenticatable_spec.rb1101spec/lib/gitlab/database/tables_locker_spec.rb1102spec/helpers/users_helper_spec.rb1103spec/finders/group_descendants_finder_spec.rb1104spec/models/commit_collection_spec.rb1105spec/services/ci/process_build_service_spec.rb1106spec/lib/gitlab/ci/badge/pipeline/status_spec.rb1107spec/lib/banzai/filter/math_filter_spec.rb1108spec/models/integrations/pumble_spec.rb1109spec/lib/gitlab/ci/config/external/processor_spec.rb1110spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb1111spec/services/ci/pipeline_trigger_service_spec.rb1112spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb1113spec/models/concerns/reactive_caching_spec.rb1114spec/lib/gitlab/gpg_spec.rb1115spec/models/plan_limits_spec.rb1116spec/services/wiki_pages/update_service_spec.rb1117spec/workers/incident_management/process_alert_worker_v2_spec.rb1118spec/lib/gitlab/group_search_results_spec.rb1119spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb1120spec/lib/gitlab/redis/shared_state_spec.rb1121spec/models/project_import_state_spec.rb1122spec/services/ci/pipeline_artifacts/destroy_all_expired_service_spec.rb1123spec/lib/gitlab/cache/helpers_spec.rb1124spec/services/files/update_service_spec.rb1125spec/graphql/types/base_field_spec.rb1126spec/services/clusters/cleanup/project_namespace_service_spec.rb1127spec/services/commits/commit_patch_service_spec.rb1128spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb1129spec/graphql/types/merge_request_type_spec.rb1130spec/views/projects/commit/show.html.haml_spec.rb1131spec/models/release_spec.rb1132spec/tasks/rubocop_rake_spec.rb1133spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb1134spec/models/clusters/providers/gcp_spec.rb1135spec/lib/gitlab/issuable_metadata_spec.rb1136spec/policies/achievements/user_achievement_policy_spec.rb1137spec/services/packages/rpm/repository_metadata/update_xml_service_spec.rb1138spec/lib/sidebars/menu_spec.rb1139spec/models/product_analytics_event_spec.rb1140spec/models/integrations/ewm_spec.rb1141spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb1142spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb1143spec/lib/gitaly/server_spec.rb1144spec/services/packages/conan/search_service_spec.rb1145spec/lib/gitlab/diff/file_collection/commit_spec.rb1146spec/lib/banzai/reference_parser/milestone_parser_spec.rb1147spec/serializers/merge_request_serializer_spec.rb1148spec/tooling/lib/tooling/kubernetes_client_spec.rb1149spec/config/inject_enterprise_edition_module_spec.rb1150spec/lib/gitlab/database/migrations/observers/transaction_duration_spec.rb1151spec/components/diffs/overflow_warning_component_spec.rb1152spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb1153spec/workers/jira_connect/sync_project_worker_spec.rb1154spec/services/packages/debian/process_changes_service_spec.rb1155spec/models/ci/group_variable_spec.rb1156spec/lib/gitlab/ci/config/entry/commands_spec.rb1157spec/models/commit_signatures/x509_commit_signature_spec.rb1158spec/finders/user_group_notification_settings_finder_spec.rb1159spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb1160spec/lib/gitlab/kas_spec.rb1161spec/tasks/gitlab/pages_rake_spec.rb1162spec/lib/gitlab/safe_request_loader_spec.rb1163spec/tasks/gitlab/gitaly_rake_spec.rb1164spec/services/authorized_project_update/periodic_recalculate_service_spec.rb1165spec/models/achievements/user_achievement_spec.rb1166spec/lib/gitlab/metrics/system_spec.rb1167spec/models/integrations/chat_message/alert_message_spec.rb1168spec/services/groups/merge_requests_count_service_spec.rb1169spec/rubocop/cop/gitlab/namespaced_class_spec.rb1170spec/initializers/secret_token_spec.rb1171spec/finders/projects/prometheus/alerts_finder_spec.rb1172spec/services/loose_foreign_keys/cleaner_service_spec.rb1173spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb1174spec/rubocop/formatter/todo_formatter_spec.rb1175spec/tasks/gitlab/setup_rake_spec.rb1176spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb1177spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb1178spec/models/snippets/repository_storage_move_spec.rb1179spec/finders/projects/ml/candidate_finder_spec.rb1180spec/lib/gitlab/api_authentication/token_locator_spec.rb1181spec/uploaders/ci/secure_file_uploader_spec.rb1182spec/tasks/gitlab/lfs/migrate_rake_spec.rb1183spec/lib/bulk_imports/pipeline/runner_spec.rb1184spec/lib/gitlab/git/pre_receive_error_spec.rb1185spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb1186spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb1187spec/lib/gitlab/ci/config/entry/id_token_spec.rb1188spec/lib/gitlab/metrics/method_call_spec.rb1189spec/tasks/gitlab/password_rake_spec.rb1190spec/lib/gitlab/ci/build/artifacts/adapters/raw_stream_spec.rb1191spec/workers/merge_requests/resolve_todos_worker_spec.rb1192spec/lib/banzai/pipeline/plain_markdown_pipeline_spec.rb1193spec/initializers/forbid_sidekiq_in_transactions_spec.rb1194spec/components/pajamas/checkbox_component_spec.rb1195spec/presenters/issue_email_participant_presenter_spec.rb1196spec/lib/gitlab/usage_data_counters/gitlab_cli_activity_unique_counter_spec.rb1197spec/lib/gitlab/themes_spec.rb1198spec/graphql/types/merge_requests/reviewer_type_spec.rb1199spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb1200spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb1201spec/lib/gitlab/background_migration/mailers/unconfirm_mailer_spec.rb1202spec/services/protected_branches/create_service_spec.rb1203spec/lib/gitlab/database/schema_cleaner_spec.rb1204spec/lib/api/entities/draft_note_spec.rb1205spec/services/members/import_project_team_service_spec.rb1206spec/models/users/project_callout_spec.rb1207spec/lib/gitlab/health_checks/db_check_spec.rb1208spec/lib/gitlab/hook_data/user_builder_spec.rb1209spec/lib/release_highlights/validator/entry_spec.rb1210spec/lib/gitlab/ci/reports/reports_comparer_spec.rb1211spec/lib/gitlab/github_import/representation_spec.rb1212spec/services/packages/nuget/sync_metadatum_service_spec.rb1213spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb1214spec/models/token_with_iv_spec.rb1215spec/rubocop/cop/performance/ar_count_each_spec.rb1216spec/lib/gitlab/email/message/in_product_marketing/base_spec.rb1217spec/lib/gitlab/ci/trace/backoff_spec.rb1218spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb1219spec/lib/gitlab/seeders/ci/runner/runner_fleet_pipeline_seeder_spec.rb1220spec/graphql/resolvers/concerns/looks_ahead_spec.rb1221spec/lib/mattermost/team_spec.rb1222spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb1223spec/views/layouts/profile.html.haml_spec.rb1224spec/models/fork_network_member_spec.rb1225spec/views/help/instance_configuration.html.haml_spec.rb1226spec/lib/gitlab/reactive_cache_set_cache_spec.rb1227spec/lib/api/entities/snippets/repository_storage_move_spec.rb1228spec/models/integrations/chat_message/wiki_page_message_spec.rb1229spec/graphql/types/description_version_type_spec.rb1230spec/lib/gitlab/slash_commands/presenters/issue_close_spec.rb1231spec/lib/gitlab/database/migrations/lock_retry_mixin_spec.rb1232spec/helpers/import_helper_spec.rb1233spec/presenters/alert_management/alert_presenter_spec.rb1234spec/finders/uploader_finder_spec.rb1235spec/views/layouts/group.html.haml_spec.rb1236spec/lib/gitlab/github_gists_import/representation/gist_spec.rb1237spec/lib/gitlab/github_import/importer/issues_importer_spec.rb1238spec/models/blob_viewer/gitlab_ci_yml_spec.rb1239spec/policies/project_hook_policy_spec.rb1240spec/graphql/mutations/terraform/state/delete_spec.rb1241spec/lib/gitlab/database/load_balancing/setup_spec.rb1242spec/views/layouts/project.html.haml_spec.rb1243spec/lib/gitlab/ci/config/entry/release/assets_spec.rb1244spec/lib/gitlab/word_diff/segments/diff_hunk_spec.rb1245spec/rubocop/cop/api/ensure_string_detail_spec.rb1246spec/lib/gitlab/auth/blocked_user_tracker_spec.rb1247spec/lib/bitbucket/representation/comment_spec.rb1248spec/lib/gitlab/instrumentation/rate_limiting_gates_spec.rb1249spec/lib/gitlab/ci/config/entry/release/assets/link_spec.rb1250spec/lib/api/helpers/merge_requests_helpers_spec.rb1251spec/rubocop/cop/scalability/cron_worker_context_spec.rb1252spec/models/concerns/integrations/reset_secret_fields_spec.rb1253spec/models/badges/project_badge_spec.rb1254spec/rubocop/cop/migration/background_migration_missing_active_concern_spec.rb1255spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb1256spec/rubocop/cop/rspec/top_level_describe_path_spec.rb1257spec/services/metrics/users_starred_dashboards/delete_service_spec.rb1258spec/lib/sidebars/projects/menus/shimo_menu_spec.rb1259spec/lib/gitlab/email/message/in_product_marketing/admin_verify_spec.rb1260spec/models/integrations/jira_tracker_data_spec.rb1261spec/models/blob_viewer/go_mod_spec.rb1262spec/lib/gitlab/github_import/attachments_downloader_spec.rb1263spec/models/project_import_data_spec.rb1264spec/views/admin/application_settings/_package_registry.html.haml_spec.rb1265spec/workers/ci/pipeline_bridge_status_worker_spec.rb1266spec/lib/gitlab/tracking/destinations/snowplow_spec.rb1267spec/db/development/import_common_metrics_spec.rb1268spec/services/bulk_push_event_payload_service_spec.rb1269spec/models/performance_monitoring/prometheus_metric_spec.rb1270spec/models/ml/experiment_metadata_spec.rb1271spec/lib/gitlab/memory/watchdog/monitor/heap_fragmentation_spec.rb1272spec/lib/gitlab/health_checks/server_spec.rb1273spec/lib/gitlab/memory/watchdog/monitor/unique_memory_growth_spec.rb1274spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb1275spec/graphql/types/kas/agent_metadata_type_spec.rb1276spec/graphql/types/packages/package_type_spec.rb1277spec/lib/gitlab/auth/otp/strategies/forti_authenticator/push_otp_spec.rb1278spec/lib/gitlab/sidekiq_versioning/worker_spec.rb1279spec/workers/propagate_integration_worker_spec.rb1280spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb1281spec/workers/environments/auto_stop_cron_worker_spec.rb1282spec/workers/jira_connect/retry_request_worker_spec.rb1283spec/helpers/admin/abuse_reports_helper_spec.rb1284spec/lib/gitlab/graphql/timeout_spec.rb1285spec/lib/api/entities/design_management/design_spec.rb1286spec/graphql/types/kas/agent_configuration_type_spec.rb1287spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb1288spec/graphql/types/member_access_level_enum_spec.rb1289spec/lib/gitlab/audit/null_target_spec.rb1290spec/graphql/types/issuable_state_enum_spec.rb1291spec/lib/gitlab/graphql_logger_spec.rb1292spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb1293spec/lib/gitlab/github_import/importer/attachments/base_importer_spec.rb1294spec/lib/gitlab/import_export/import_test_coverage_spec.rb1295spec/graphql/types/ci/test_suite_summary_type_spec.rb1296spec/graphql/types/clusters/agent_type_spec.rb1297spec/graphql/types/user_callout_type_spec.rb1298spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb1299spec/services/keys/destroy_service_spec.rb1300spec/graphql/types/notes/noteable_interface_spec.rb1301spec/initializers/mailer_retries_spec.rb1302spec/lib/gitlab/usage/metrics/instrumentations/index_inconsistencies_metric_spec.rb1303spec/lib/gitlab/kubernetes/role_binding_spec.rb1304spec/models/namespaces/user_namespace_spec.rb1305spec/lib/gitlab/memory/reports_uploader_spec.rb1306spec/lib/gitlab/api_authentication/token_type_builder_spec.rb1307spec/lib/gitlab/kubernetes/tls_secret_spec.rb1308spec/lib/gitlab/language_data_spec.rb1309spec/workers/ci_platform_metrics_update_cron_worker_spec.rb1310spec/graphql/types/ci/variable_sort_enum_spec.rb1311spec/lib/gitlab/ci/parsers/instrumentation_spec.rb1312spec/graphql/resolvers/packages_base_resolver_spec.rb1313spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb1314Running all node tests without filter1315Running all node tests without filter1316Running 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/lib/gitlab/import_export/project/tree_restorer_spec.rb spec/lib/gitlab/regex_spec.rb spec/services/projects/destroy_service_spec.rb spec/lib/gitlab/project_search_results_spec.rb spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb spec/models/milestone_spec.rb spec/workers/database/batched_background_migration/ci_database_worker_spec.rb spec/lib/gitlab/email/handler/service_desk_handler_spec.rb spec/services/ci/retry_pipeline_service_spec.rb spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb spec/helpers/submodule_helper_spec.rb spec/helpers/blob_helper_spec.rb spec/services/merge_requests/rebase_service_spec.rb spec/finders/template_finder_spec.rb spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_values_on_projects_spec.rb spec/services/merge_requests/approval_service_spec.rb spec/services/issues/zoom_link_service_spec.rb spec/models/concerns/token_authenticatable_spec.rb spec/lib/gitlab/database/tables_locker_spec.rb spec/helpers/users_helper_spec.rb spec/finders/group_descendants_finder_spec.rb spec/models/commit_collection_spec.rb spec/services/ci/process_build_service_spec.rb spec/lib/gitlab/ci/badge/pipeline/status_spec.rb spec/lib/banzai/filter/math_filter_spec.rb spec/models/integrations/pumble_spec.rb spec/lib/gitlab/ci/config/external/processor_spec.rb spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb spec/services/ci/pipeline_trigger_service_spec.rb spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb spec/models/concerns/reactive_caching_spec.rb spec/lib/gitlab/gpg_spec.rb spec/models/plan_limits_spec.rb spec/services/wiki_pages/update_service_spec.rb spec/workers/incident_management/process_alert_worker_v2_spec.rb spec/lib/gitlab/group_search_results_spec.rb spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb spec/lib/gitlab/redis/shared_state_spec.rb spec/models/project_import_state_spec.rb spec/services/ci/pipeline_artifacts/destroy_all_expired_service_spec.rb spec/lib/gitlab/cache/helpers_spec.rb spec/services/files/update_service_spec.rb spec/graphql/types/base_field_spec.rb spec/services/clusters/cleanup/project_namespace_service_spec.rb spec/services/commits/commit_patch_service_spec.rb spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb spec/graphql/types/merge_request_type_spec.rb spec/views/projects/commit/show.html.haml_spec.rb spec/models/release_spec.rb spec/tasks/rubocop_rake_spec.rb spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb spec/models/clusters/providers/gcp_spec.rb spec/lib/gitlab/issuable_metadata_spec.rb spec/policies/achievements/user_achievement_policy_spec.rb spec/services/packages/rpm/repository_metadata/update_xml_service_spec.rb spec/lib/sidebars/menu_spec.rb spec/models/product_analytics_event_spec.rb spec/models/integrations/ewm_spec.rb spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb spec/lib/gitaly/server_spec.rb spec/services/packages/conan/search_service_spec.rb spec/lib/gitlab/diff/file_collection/commit_spec.rb spec/lib/banzai/reference_parser/milestone_parser_spec.rb spec/serializers/merge_request_serializer_spec.rb spec/tooling/lib/tooling/kubernetes_client_spec.rb spec/config/inject_enterprise_edition_module_spec.rb spec/lib/gitlab/database/migrations/observers/transaction_duration_spec.rb spec/components/diffs/overflow_warning_component_spec.rb spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb spec/workers/jira_connect/sync_project_worker_spec.rb spec/services/packages/debian/process_changes_service_spec.rb spec/models/ci/group_variable_spec.rb spec/lib/gitlab/ci/config/entry/commands_spec.rb spec/models/commit_signatures/x509_commit_signature_spec.rb spec/finders/user_group_notification_settings_finder_spec.rb spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb spec/lib/gitlab/kas_spec.rb spec/tasks/gitlab/pages_rake_spec.rb spec/lib/gitlab/safe_request_loader_spec.rb spec/tasks/gitlab/gitaly_rake_spec.rb spec/services/authorized_project_update/periodic_recalculate_service_spec.rb spec/models/achievements/user_achievement_spec.rb spec/lib/gitlab/metrics/system_spec.rb spec/models/integrations/chat_message/alert_message_spec.rb spec/services/groups/merge_requests_count_service_spec.rb spec/rubocop/cop/gitlab/namespaced_class_spec.rb spec/initializers/secret_token_spec.rb spec/finders/projects/prometheus/alerts_finder_spec.rb spec/services/loose_foreign_keys/cleaner_service_spec.rb spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb spec/rubocop/formatter/todo_formatter_spec.rb spec/tasks/gitlab/setup_rake_spec.rb spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb spec/models/snippets/repository_storage_move_spec.rb spec/finders/projects/ml/candidate_finder_spec.rb spec/lib/gitlab/api_authentication/token_locator_spec.rb spec/uploaders/ci/secure_file_uploader_spec.rb spec/tasks/gitlab/lfs/migrate_rake_spec.rb spec/lib/bulk_imports/pipeline/runner_spec.rb spec/lib/gitlab/git/pre_receive_error_spec.rb spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb spec/lib/gitlab/ci/config/entry/id_token_spec.rb spec/lib/gitlab/metrics/method_call_spec.rb spec/tasks/gitlab/password_rake_spec.rb spec/lib/gitlab/ci/build/artifacts/adapters/raw_stream_spec.rb spec/workers/merge_requests/resolve_todos_worker_spec.rb spec/lib/banzai/pipeline/plain_markdown_pipeline_spec.rb spec/initializers/forbid_sidekiq_in_transactions_spec.rb spec/components/pajamas/checkbox_component_spec.rb spec/presenters/issue_email_participant_presenter_spec.rb spec/lib/gitlab/usage_data_counters/gitlab_cli_activity_unique_counter_spec.rb spec/lib/gitlab/themes_spec.rb spec/graphql/types/merge_requests/reviewer_type_spec.rb spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb spec/lib/gitlab/background_migration/mailers/unconfirm_mailer_spec.rb spec/services/protected_branches/create_service_spec.rb spec/lib/gitlab/database/schema_cleaner_spec.rb spec/lib/api/entities/draft_note_spec.rb spec/services/members/import_project_team_service_spec.rb spec/models/users/project_callout_spec.rb spec/lib/gitlab/health_checks/db_check_spec.rb spec/lib/gitlab/hook_data/user_builder_spec.rb spec/lib/release_highlights/validator/entry_spec.rb spec/lib/gitlab/ci/reports/reports_comparer_spec.rb spec/lib/gitlab/github_import/representation_spec.rb spec/services/packages/nuget/sync_metadatum_service_spec.rb spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb spec/models/token_with_iv_spec.rb spec/rubocop/cop/performance/ar_count_each_spec.rb spec/lib/gitlab/email/message/in_product_marketing/base_spec.rb spec/lib/gitlab/ci/trace/backoff_spec.rb spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb spec/lib/gitlab/seeders/ci/runner/runner_fleet_pipeline_seeder_spec.rb spec/graphql/resolvers/concerns/looks_ahead_spec.rb spec/lib/mattermost/team_spec.rb spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb spec/views/layouts/profile.html.haml_spec.rb spec/models/fork_network_member_spec.rb spec/views/help/instance_configuration.html.haml_spec.rb spec/lib/gitlab/reactive_cache_set_cache_spec.rb spec/lib/api/entities/snippets/repository_storage_move_spec.rb spec/models/integrations/chat_message/wiki_page_message_spec.rb spec/graphql/types/description_version_type_spec.rb spec/lib/gitlab/slash_commands/presenters/issue_close_spec.rb spec/lib/gitlab/database/migrations/lock_retry_mixin_spec.rb spec/helpers/import_helper_spec.rb spec/presenters/alert_management/alert_presenter_spec.rb spec/finders/uploader_finder_spec.rb spec/views/layouts/group.html.haml_spec.rb spec/lib/gitlab/github_gists_import/representation/gist_spec.rb spec/lib/gitlab/github_import/importer/issues_importer_spec.rb spec/models/blob_viewer/gitlab_ci_yml_spec.rb spec/policies/project_hook_policy_spec.rb spec/graphql/mutations/terraform/state/delete_spec.rb spec/lib/gitlab/database/load_balancing/setup_spec.rb spec/views/layouts/project.html.haml_spec.rb spec/lib/gitlab/ci/config/entry/release/assets_spec.rb spec/lib/gitlab/word_diff/segments/diff_hunk_spec.rb spec/rubocop/cop/api/ensure_string_detail_spec.rb spec/lib/gitlab/auth/blocked_user_tracker_spec.rb spec/lib/bitbucket/representation/comment_spec.rb spec/lib/gitlab/instrumentation/rate_limiting_gates_spec.rb spec/lib/gitlab/ci/config/entry/release/assets/link_spec.rb spec/lib/api/helpers/merge_requests_helpers_spec.rb spec/rubocop/cop/scalability/cron_worker_context_spec.rb spec/models/concerns/integrations/reset_secret_fields_spec.rb spec/models/badges/project_badge_spec.rb spec/rubocop/cop/migration/background_migration_missing_active_concern_spec.rb spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb spec/rubocop/cop/rspec/top_level_describe_path_spec.rb spec/services/metrics/users_starred_dashboards/delete_service_spec.rb spec/lib/sidebars/projects/menus/shimo_menu_spec.rb spec/lib/gitlab/email/message/in_product_marketing/admin_verify_spec.rb spec/models/integrations/jira_tracker_data_spec.rb spec/models/blob_viewer/go_mod_spec.rb spec/lib/gitlab/github_import/attachments_downloader_spec.rb spec/models/project_import_data_spec.rb spec/views/admin/application_settings/_package_registry.html.haml_spec.rb spec/workers/ci/pipeline_bridge_status_worker_spec.rb spec/lib/gitlab/tracking/destinations/snowplow_spec.rb spec/db/development/import_common_metrics_spec.rb spec/services/bulk_push_event_payload_service_spec.rb spec/models/performance_monitoring/prometheus_metric_spec.rb spec/models/ml/experiment_metadata_spec.rb spec/lib/gitlab/memory/watchdog/monitor/heap_fragmentation_spec.rb spec/lib/gitlab/health_checks/server_spec.rb spec/lib/gitlab/memory/watchdog/monitor/unique_memory_growth_spec.rb spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb spec/graphql/types/kas/agent_metadata_type_spec.rb spec/graphql/types/packages/package_type_spec.rb spec/lib/gitlab/auth/otp/strategies/forti_authenticator/push_otp_spec.rb spec/lib/gitlab/sidekiq_versioning/worker_spec.rb spec/workers/propagate_integration_worker_spec.rb spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb spec/workers/environments/auto_stop_cron_worker_spec.rb spec/workers/jira_connect/retry_request_worker_spec.rb spec/helpers/admin/abuse_reports_helper_spec.rb spec/lib/gitlab/graphql/timeout_spec.rb spec/lib/api/entities/design_management/design_spec.rb spec/graphql/types/kas/agent_configuration_type_spec.rb spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb spec/graphql/types/member_access_level_enum_spec.rb spec/lib/gitlab/audit/null_target_spec.rb spec/graphql/types/issuable_state_enum_spec.rb spec/lib/gitlab/graphql_logger_spec.rb spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb spec/lib/gitlab/github_import/importer/attachments/base_importer_spec.rb spec/lib/gitlab/import_export/import_test_coverage_spec.rb spec/graphql/types/ci/test_suite_summary_type_spec.rb spec/graphql/types/clusters/agent_type_spec.rb spec/graphql/types/user_callout_type_spec.rb spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb spec/services/keys/destroy_service_spec.rb spec/graphql/types/notes/noteable_interface_spec.rb spec/initializers/mailer_retries_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/index_inconsistencies_metric_spec.rb spec/lib/gitlab/kubernetes/role_binding_spec.rb spec/models/namespaces/user_namespace_spec.rb spec/lib/gitlab/memory/reports_uploader_spec.rb spec/lib/gitlab/api_authentication/token_type_builder_spec.rb spec/lib/gitlab/kubernetes/tls_secret_spec.rb spec/lib/gitlab/language_data_spec.rb spec/workers/ci_platform_metrics_update_cron_worker_spec.rb spec/graphql/types/ci/variable_sort_enum_spec.rb spec/lib/gitlab/ci/parsers/instrumentation_spec.rb spec/graphql/resolvers/packages_base_resolver_spec.rb spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rbKnapsack report generator started!1317Run options: exclude {:quarantine=>true, :level=>"background_migration"}1318Test environment set up in 2.296089753 seconds1319Gitlab::ImportExport::Project::TreeRestorer1320 enable ndjson import1321 behaves like project tree restorer work properly1322 restore project tree1323 JSON1324 restores models based on JSON1325 restore correct project features1326 has the project description1327 has the same label associated to two issues1328 has milestones associated to two separate issues1329 does not import ci config path1330 creates a valid pipeline note1331 pipeline has the correct user ID1332 restores pipelines with missing ref1333 restores pipeline for merge request1334 restores pipelines based on ascending id order1335 restores pipeline metadata1336 preserves updated_at on issues1337 has multiple issue assignees1338 restores timelogs for issues1339 contains the merge access levels on a protected branch1340 contains the push access levels on a protected branch1341 contains the create access levels on a protected tag1342 restores issue resource label events1343 restores issue resource milestone events1344 restores issue resource state events1345 restores merge requests resource label events1346 restores merge request resource milestone events1347 restores merge request resource state events1348 restores suggestion1349 has the correct data for merge request diff files1350 has the correct data for merge request diff commits1351 assigns committer and author details to all diff commits1352 assigns the correct commit users to different diff commits1353 has the correct data for merge request latest_merge_request_diff1354 has multiple merge request assignees1355 has multiple merge request reviewers1356 has labels associated to label links, associated to issues1357 has project labels1358 has merge request approvals1359 has no group labels1360 has issue boards1361 has lists associated with the issue board1362 has a project feature1363 has custom attributes1364 has badges1365 has snippets1366 has award emoji for a snippet1367 snippet has notes1368 snippet has award emojis on notes1369 restores `ci_cd_settings` : `group_runners_enabled` setting1370 restores `auto_devops`1371 restores zoom meetings1372 restores sentry issues1373 has award emoji for an issue1374 has award emoji for a note in an issue1375 restores container_expiration_policy1376 restores error_tracking_setting1377 restores external pull requests1378 restores pipeline schedules1379 restores commit notes1380 when importing a project with cached_markdown_version and note_html1381 for an Issue1382 does not import note_html1383 for a Merge Request1384 does not import note_html1385 merge request system note metadata1386 restores title action for unmark wip1387 restores commit action and commit count for pushing 3 commits1388 event at forth level of the tree1389 restores the event1390 has the action1391 event belongs to note, belongs to merge request, belongs to a project1392 restores releases1393 with links & milestones1394 with author1395 as ghost user when imported release author is empty1396 as existing member when imported release author is matched with existing user1397 as import user when imported release author cannot be matched1398 Merge requests1399 always has the new project as a target1400 has the same source project as originally if source/target are the same1401 has the new project as target if source/target differ1402 has no source if source/target differ1403 has award emoji1404 notes1405 has award emoji1406 tokens are regenerated1407 has new CI trigger tokens1408 has a new CI build token1409 has restored the correct number of records1410 has the correct number of merge requests1411 does not restore triggers1412 has the correct number of pipelines and statuses1413 when restoring hierarchy of pipeline, stages and jobs1414 restores pipelines1415 restores pipeline stages1416 correctly restores association between stage and a pipeline1417 restores builds1418 restores bridges1419 restores generic commit statuses1420 correctly restores association between a stage and a job1421 correctly restores association between a pipeline and a job1422 restores a Hash for CommitStatus options1423 restores external pull request for the restored pipeline1424 has no import failures1425 project.json file access check1426 does not read a symlink1427 Light JSON1428 with a simple project1429 issue system note metadata restored successfully1430 when there is an existing build with build token1431 behaves like restores project successfully1432 restores the project1433 has labels1434 has label priorities1435 has milestones1436 has issues1437 has ci pipelines1438 has external pull requests1439 does not set params that are excluded from import_export settings1440 records exact number of import failures1441 multiple pipelines reference the same external pull request1442 restores external pull request for the restored pipelines1443 behaves like restores project successfully1444 restores the project1445 has labels1446 has label priorities1447 has milestones1448 has issues1449 has ci pipelines1450 has external pull requests1451 does not set params that are excluded from import_export settings1452 records exact number of import failures1453 when post import action throw non-retriable exception1454 report post import error1455 when post import action throw retriable exception one time1456 records the failures in the database1457 behaves like restores project successfully1458 restores the project1459 has labels1460 has label priorities1461 has milestones1462 has issues1463 has ci pipelines1464 has external pull requests1465 does not set params that are excluded from import_export settings1466 records exact number of import failures1467 when the project has overridden params in import data1468 handles string versions of visibility_level1469 overwrites the params stored in the JSON1470 does not allow setting params that are excluded from import_export settings1471 overrides project feature access levels1472 with a project that has a group1473 restores issue states1474 behaves like restores project successfully1475 restores the project1476 has labels1477 has label priorities1478 has milestones1479 has issues1480 has ci pipelines1481 has external pull requests1482 does not set params that are excluded from import_export settings1483 records exact number of import failures1484 behaves like restores group correctly1485 has group label1486 has group milestone1487 has the correct visibility level1488 with existing group models1489 imports labels1490 imports milestones1491 with clashing milestones on IID1492 preserves the project milestone IID1493 with external authorization classification labels1494 converts empty external classification authorization labels to nil1495 preserves valid external classification authorization labels1496 Minimal JSON1497 no group visibility1498 uses the project visibility1499 with restricted internal visibility1500 internal project1501 uses private visibility1502 with group visibility1503 private group visibility1504 uses the group visibility1505 public group visibility1506 uses the project visibility1507 internal group visibility1508 uses the group visibility1509 with restricted internal visibility1510 sets private visibility1511 with project members1512 restores project members1513 JSON with invalid records1514 when failures occur because a relation fails to be processed1515 records the failures in the database1516 behaves like restores project successfully1517 restores the project1518 has labels1519 has label priorities1520 has milestones1521 has issues1522 has ci pipelines1523 has external pull requests1524 does not set params that are excluded from import_export settings1525 records exact number of import failures1526 JSON with design management data1527 restores project associations correctly1528 behaves like restores project successfully1529 restores the project1530 has labels1531 has label priorities1532 has milestones1533 has issues1534 has ci pipelines1535 has external pull requests1536 does not set params that are excluded from import_export settings1537 records exact number of import failures1538 restores issue associations correctly1539 index: 0, design_filenames: ["chirrido3.jpg", "jonathan_richman.jpg", "mariavontrap.jpeg"], version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"], events: ["creation", "creation", "creation", "modification", "modification", "deletion"], author_emails: ["user_1@gitlabexample.com", "user_1@gitlabexample.com", "user_2@gitlabexample.com"]1540 is expected to contain exactly "user_1@gitlabexample.com", "user_1@gitlabexample.com", and "user_2@gitlabexample.com"1541 index: 1, design_filenames: ["1 (1).jpeg", "2099743.jpg", "a screenshot (1).jpg", "chirrido3.jpg"], version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4", "8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8", "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"], events: ["creation", "creation", "creation", "creation", "modification"], author_emails: ["user_1@gitlabexample.com", "user_2@gitlabexample.com", "user_2@gitlabexample.com"]1542 is expected to contain exactly "user_1@gitlabexample.com", "user_2@gitlabexample.com", and "user_2@gitlabexample.com"1543 restores design version associations correctly1544 index: 0, version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4", "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"]1545 is expected to contain exactly "73f871b4c8c1d65c62c460635e023179fb53abc4" and "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"1546 index: 1, version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4"]1547 is expected to contain exactly "73f871b4c8c1d65c62c460635e023179fb53abc4"1548 index: 2, version_shas: ["c9b5f067f3e892122a4b12b0a25a8089192f3ac8"]1549 is expected to contain exactly "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"1550 index: 3, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"]1551 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", and "e1a4a501bcb42f291f84e5d04c8f927821542fb6"1552 index: 4, version_shas: ["8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8"]1553 is expected to contain exactly "8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8"1554 index: 5, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"]1555 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85" and "e1a4a501bcb42f291f84e5d04c8f927821542fb6"1556 index: 6, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85"]1557 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85"1558 behaves like project tree restorer work properly1559 restore project tree1560 JSON1561 restores models based on JSON1562 restore correct project features1563 has the project description1564 has the same label associated to two issues1565 has milestones associated to two separate issues1566 does not import ci config path1567 creates a valid pipeline note1568 pipeline has the correct user ID1569 restores pipelines with missing ref1570 restores pipeline for merge request1571 restores pipelines based on ascending id order1572 restores pipeline metadata1573 preserves updated_at on issues1574 has multiple issue assignees1575 restores timelogs for issues1576 contains the merge access levels on a protected branch1577 contains the push access levels on a protected branch1578 contains the create access levels on a protected tag1579 restores issue resource label events1580 restores issue resource milestone events1581 restores issue resource state events1582 restores merge requests resource label events1583 restores merge request resource milestone events1584 restores merge request resource state events1585 restores suggestion1586 has the correct data for merge request diff files1587 has the correct data for merge request diff commits1588 assigns committer and author details to all diff commits1589 assigns the correct commit users to different diff commits1590 has the correct data for merge request latest_merge_request_diff1591 has multiple merge request assignees1592 has multiple merge request reviewers1593 has labels associated to label links, associated to issues1594 has project labels1595 has merge request approvals1596 has no group labels1597 has issue boards1598 has lists associated with the issue board1599 has a project feature1600 has custom attributes1601 has badges1602 has snippets1603 has award emoji for a snippet1604 snippet has notes1605 snippet has award emojis on notes1606 restores `ci_cd_settings` : `group_runners_enabled` setting1607 restores `auto_devops`1608 restores zoom meetings1609 restores sentry issues1610 has award emoji for an issue1611 has award emoji for a note in an issue1612 restores container_expiration_policy1613 restores error_tracking_setting1614 restores external pull requests1615 restores pipeline schedules1616 restores commit notes1617 when importing a project with cached_markdown_version and note_html1618 for an Issue1619 does not import note_html1620 for a Merge Request1621 does not import note_html1622 merge request system note metadata1623 restores title action for unmark wip1624 restores commit action and commit count for pushing 3 commits1625 event at forth level of the tree1626 restores the event1627 has the action1628 event belongs to note, belongs to merge request, belongs to a project1629 restores releases1630 with links & milestones1631 with author1632 as ghost user when imported release author is empty1633 as existing member when imported release author is matched with existing user1634 as import user when imported release author cannot be matched1635 Merge requests1636 always has the new project as a target1637 has the same source project as originally if source/target are the same1638 has the new project as target if source/target differ1639 has no source if source/target differ1640 has award emoji1641 notes1642 has award emoji1643 tokens are regenerated1644 has new CI trigger tokens1645 has a new CI build token1646 has restored the correct number of records1647 has the correct number of merge requests1648 does not restore triggers1649 has the correct number of pipelines and statuses1650 when restoring hierarchy of pipeline, stages and jobs1651 restores pipelines1652 restores pipeline stages1653 correctly restores association between stage and a pipeline1654 restores builds1655 restores bridges1656 restores generic commit statuses1657 correctly restores association between a stage and a job1658 correctly restores association between a pipeline and a job1659 restores a Hash for CommitStatus options1660 restores external pull request for the restored pipeline1661 has no import failures1662 project.json file access check1663 does not read a symlink1664 Light JSON1665 with a simple project1666 issue system note metadata restored successfully1667 when there is an existing build with build token1668 behaves like restores project successfully1669 restores the project1670 has labels1671 has label priorities1672 has milestones1673 has issues1674 has ci pipelines1675 has external pull requests1676 does not set params that are excluded from import_export settings1677 records exact number of import failures1678 multiple pipelines reference the same external pull request1679 restores external pull request for the restored pipelines1680 behaves like restores project successfully1681 restores the project1682 has labels1683 has label priorities1684 has milestones1685 has issues1686 has ci pipelines1687 has external pull requests1688 does not set params that are excluded from import_export settings1689 records exact number of import failures1690 when post import action throw non-retriable exception1691 report post import error1692 when post import action throw retriable exception one time1693 records the failures in the database1694 behaves like restores project successfully1695 restores the project1696 has labels1697 has label priorities1698 has milestones1699 has issues1700 has ci pipelines1701 has external pull requests1702 does not set params that are excluded from import_export settings1703 records exact number of import failures1704 when the project has overridden params in import data1705 handles string versions of visibility_level1706 overwrites the params stored in the JSON1707 does not allow setting params that are excluded from import_export settings1708 overrides project feature access levels1709 with a project that has a group1710 restores issue states1711 behaves like restores project successfully1712 restores the project1713 has labels1714 has label priorities1715 has milestones1716 has issues1717 has ci pipelines1718 has external pull requests1719 does not set params that are excluded from import_export settings1720 records exact number of import failures1721 behaves like restores group correctly1722 has group label1723 has group milestone1724 has the correct visibility level1725 with existing group models1726 imports labels1727 imports milestones1728 with clashing milestones on IID1729 preserves the project milestone IID1730 with external authorization classification labels1731 converts empty external classification authorization labels to nil1732 preserves valid external classification authorization labels1733 Minimal JSON1734 no group visibility1735 uses the project visibility1736 with restricted internal visibility1737 internal project1738 uses private visibility1739 with group visibility1740 private group visibility1741 uses the group visibility1742 public group visibility1743 uses the project visibility1744 internal group visibility1745 uses the group visibility1746 with restricted internal visibility1747 sets private visibility1748 with project members1749 restores project members1750 JSON with invalid records1751 when failures occur because a relation fails to be processed1752 records the failures in the database1753 behaves like restores project successfully1754 restores the project1755 has labels1756 has label priorities1757 has milestones1758 has issues1759 has ci pipelines1760 has external pull requests1761 does not set params that are excluded from import_export settings1762 records exact number of import failures1763 JSON with design management data1764 restores project associations correctly1765 behaves like restores project successfully1766 restores the project1767 has labels1768 has label priorities1769 has milestones1770 has issues1771 has ci pipelines1772 has external pull requests1773 does not set params that are excluded from import_export settings1774 records exact number of import failures1775 restores issue associations correctly1776 index: 0, design_filenames: ["chirrido3.jpg", "jonathan_richman.jpg", "mariavontrap.jpeg"], version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"], events: ["creation", "creation", "creation", "modification", "modification", "deletion"], author_emails: ["user_1@gitlabexample.com", "user_1@gitlabexample.com", "user_2@gitlabexample.com"]1777 is expected to contain exactly "user_1@gitlabexample.com", "user_1@gitlabexample.com", and "user_2@gitlabexample.com"1778 index: 1, design_filenames: ["1 (1).jpeg", "2099743.jpg", "a screenshot (1).jpg", "chirrido3.jpg"], version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4", "8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8", "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"], events: ["creation", "creation", "creation", "creation", "modification"], author_emails: ["user_1@gitlabexample.com", "user_2@gitlabexample.com", "user_2@gitlabexample.com"]1779 is expected to contain exactly "user_1@gitlabexample.com", "user_2@gitlabexample.com", and "user_2@gitlabexample.com"1780 restores design version associations correctly1781 index: 0, version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4", "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"]1782 is expected to contain exactly "73f871b4c8c1d65c62c460635e023179fb53abc4" and "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"1783 index: 1, version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4"]1784 is expected to contain exactly "73f871b4c8c1d65c62c460635e023179fb53abc4"1785 index: 2, version_shas: ["c9b5f067f3e892122a4b12b0a25a8089192f3ac8"]1786 is expected to contain exactly "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"1787 index: 3, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"]1788 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", and "e1a4a501bcb42f291f84e5d04c8f927821542fb6"1789 index: 4, version_shas: ["8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8"]1790 is expected to contain exactly "8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8"1791 index: 5, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"]1792 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85" and "e1a4a501bcb42f291f84e5d04c8f927821542fb6"1793 index: 6, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85"]1794 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85"1795 disable ndjson import1796 behaves like project tree restorer work properly1797 restore project tree1798 JSON1799 restores models based on JSON1800 restore correct project features1801 has the project description1802 has the same label associated to two issues1803 has milestones associated to two separate issues1804 does not import ci config path1805 creates a valid pipeline note1806 pipeline has the correct user ID1807 restores pipelines with missing ref1808 restores pipeline for merge request1809 restores pipelines based on ascending id order1810 restores pipeline metadata1811 preserves updated_at on issues1812 has multiple issue assignees1813 restores timelogs for issues1814 contains the merge access levels on a protected branch1815 contains the push access levels on a protected branch1816 contains the create access levels on a protected tag1817 restores issue resource label events1818 restores issue resource milestone events1819 restores issue resource state events1820 restores merge requests resource label events1821 restores merge request resource milestone events1822 restores merge request resource state events1823 restores suggestion1824 has the correct data for merge request diff files1825 has the correct data for merge request diff commits1826 assigns committer and author details to all diff commits1827 assigns the correct commit users to different diff commits1828 has the correct data for merge request latest_merge_request_diff1829 has multiple merge request assignees1830 has multiple merge request reviewers1831 has labels associated to label links, associated to issues1832 has project labels1833 has merge request approvals1834 has no group labels1835 has issue boards1836 has lists associated with the issue board1837 has a project feature1838 has custom attributes1839 has badges1840 has snippets1841 has award emoji for a snippet1842 snippet has notes1843 snippet has award emojis on notes1844 restores `ci_cd_settings` : `group_runners_enabled` setting1845 restores `auto_devops`1846 restores zoom meetings1847 restores sentry issues1848 has award emoji for an issue1849 has award emoji for a note in an issue1850 restores container_expiration_policy1851 restores error_tracking_setting1852 restores external pull requests1853 restores pipeline schedules1854 restores commit notes1855 when importing a project with cached_markdown_version and note_html1856 for an Issue1857 does not import note_html1858 for a Merge Request1859 does not import note_html1860 merge request system note metadata1861 restores title action for unmark wip1862 restores commit action and commit count for pushing 3 commits1863 event at forth level of the tree1864 restores the event1865 has the action1866 event belongs to note, belongs to merge request, belongs to a project1867 restores releases1868 with links & milestones1869 with author1870 as ghost user when imported release author is empty1871 as existing member when imported release author is matched with existing user1872 as import user when imported release author cannot be matched1873 Merge requests1874 always has the new project as a target1875 has the same source project as originally if source/target are the same1876 has the new project as target if source/target differ1877 has no source if source/target differ1878 has award emoji1879 notes1880 has award emoji1881 tokens are regenerated1882 has new CI trigger tokens1883 has a new CI build token1884 has restored the correct number of records1885 has the correct number of merge requests1886 does not restore triggers1887 has the correct number of pipelines and statuses1888 when restoring hierarchy of pipeline, stages and jobs1889 restores pipelines1890 restores pipeline stages1891 correctly restores association between stage and a pipeline1892 restores builds1893 restores bridges1894 restores generic commit statuses1895 correctly restores association between a stage and a job1896 correctly restores association between a pipeline and a job1897 restores a Hash for CommitStatus options1898 restores external pull request for the restored pipeline1899 has no import failures1900 project.json file access check1901 does not read a symlink1902 Light JSON1903 with a simple project1904 issue system note metadata restored successfully1905 when there is an existing build with build token1906 behaves like restores project successfully1907 restores the project1908 has labels1909 has label priorities1910 has milestones1911 has issues1912 has ci pipelines1913 has external pull requests1914 does not set params that are excluded from import_export settings1915 records exact number of import failures1916 multiple pipelines reference the same external pull request1917 restores external pull request for the restored pipelines1918 behaves like restores project successfully1919 restores the project1920 has labels1921 has label priorities1922 has milestones1923 has issues1924 has ci pipelines1925 has external pull requests1926 does not set params that are excluded from import_export settings1927 records exact number of import failures1928 when post import action throw non-retriable exception1929 report post import error1930 when post import action throw retriable exception one time1931 records the failures in the database1932 behaves like restores project successfully1933 restores the project1934 has labels1935 has label priorities1936 has milestones1937 has issues1938 has ci pipelines1939 has external pull requests1940 does not set params that are excluded from import_export settings1941 records exact number of import failures1942 when the project has overridden params in import data1943 handles string versions of visibility_level1944 overwrites the params stored in the JSON1945 does not allow setting params that are excluded from import_export settings1946 overrides project feature access levels1947 with a project that has a group1948 restores issue states1949 behaves like restores project successfully1950 restores the project1951 has labels1952 has label priorities1953 has milestones1954 has issues1955 has ci pipelines1956 has external pull requests1957 does not set params that are excluded from import_export settings1958 records exact number of import failures1959 behaves like restores group correctly1960 has group label1961 has group milestone1962 has the correct visibility level1963 with existing group models1964 imports labels1965 imports milestones1966 with clashing milestones on IID1967 preserves the project milestone IID1968 with external authorization classification labels1969 converts empty external classification authorization labels to nil1970 preserves valid external classification authorization labels1971 Minimal JSON1972 no group visibility1973 uses the project visibility1974 with restricted internal visibility1975 internal project1976 uses private visibility1977 with group visibility1978 private group visibility1979 uses the group visibility1980 public group visibility1981 uses the project visibility1982 internal group visibility1983 uses the group visibility1984 with restricted internal visibility1985 sets private visibility1986 with project members1987 restores project members1988 JSON with invalid records1989 when failures occur because a relation fails to be processed1990 records the failures in the database1991 behaves like restores project successfully1992 restores the project1993 has labels1994 has label priorities1995 has milestones1996 has issues1997 has ci pipelines1998 has external pull requests1999 does not set params that are excluded from import_export settings2000 records exact number of import failures2001 JSON with design management data2002 restores project associations correctly2003 behaves like restores project successfully2004 restores the project2005 has labels2006 has label priorities2007 has milestones2008 has issues2009 has ci pipelines2010 has external pull requests2011 does not set params that are excluded from import_export settings2012 records exact number of import failures2013 restores issue associations correctly2014 index: 0, design_filenames: ["chirrido3.jpg", "jonathan_richman.jpg", "mariavontrap.jpeg"], version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"], events: ["creation", "creation", "creation", "modification", "modification", "deletion"], author_emails: ["user_1@gitlabexample.com", "user_1@gitlabexample.com", "user_2@gitlabexample.com"]2015 is expected to contain exactly "user_1@gitlabexample.com", "user_1@gitlabexample.com", and "user_2@gitlabexample.com"2016 index: 1, design_filenames: ["1 (1).jpeg", "2099743.jpg", "a screenshot (1).jpg", "chirrido3.jpg"], version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4", "8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8", "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"], events: ["creation", "creation", "creation", "creation", "modification"], author_emails: ["user_1@gitlabexample.com", "user_2@gitlabexample.com", "user_2@gitlabexample.com"]2017 is expected to contain exactly "user_1@gitlabexample.com", "user_2@gitlabexample.com", and "user_2@gitlabexample.com"2018 restores design version associations correctly2019 index: 0, version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4", "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"]2020 is expected to contain exactly "73f871b4c8c1d65c62c460635e023179fb53abc4" and "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"2021 index: 1, version_shas: ["73f871b4c8c1d65c62c460635e023179fb53abc4"]2022 is expected to contain exactly "73f871b4c8c1d65c62c460635e023179fb53abc4"2023 index: 2, version_shas: ["c9b5f067f3e892122a4b12b0a25a8089192f3ac8"]2024 is expected to contain exactly "c9b5f067f3e892122a4b12b0a25a8089192f3ac8"2025 index: 3, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"]2026 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85", "9358d1bac8ff300d3d2597adaa2572a20f7f8703", and "e1a4a501bcb42f291f84e5d04c8f927821542fb6"2027 index: 4, version_shas: ["8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8"]2028 is expected to contain exactly "8587e78ab6bda3bc820a9f014c3be4a21ad4fcc8"2029 index: 5, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85", "e1a4a501bcb42f291f84e5d04c8f927821542fb6"]2030 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85" and "e1a4a501bcb42f291f84e5d04c8f927821542fb6"2031 index: 6, version_shas: ["27702d08f5ee021ae938737f84e8fe7c38599e85"]2032 is expected to contain exactly "27702d08f5ee021ae938737f84e8fe7c38599e85"2033Gitlab::Regex2034 .project_name_regex2035 behaves like project name regex2036 is expected to match "Gitlab++"2037 is expected not to match "?gitlab"2038 is expected not to match "Users's something"2039 is expected not to match "users/something"2040 behaves like project/group name chars regex2041 is expected to match "gitlab-ce"2042 is expected to match "GitLab CE"2043 is expected to match "100 lines"2044 is expected to match "gitlab.git"2045 is expected to match "Český název"2046 is expected to match "Dash – is this"2047 .group_name_regex2048 allows parenthesis2049 does not start with parenthesis2050 behaves like group name regex2051 is expected not to match "?gitlab"2052 is expected not to match "Users's something"2053 is expected not to match "users/something"2054 behaves like project/group name chars regex2055 is expected to match "gitlab-ce"2056 is expected to match "GitLab CE"2057 is expected to match "100 lines"2058 is expected to match "gitlab.git"2059 is expected to match "Český název"2060 is expected to match "Dash – is this"2061 .group_name_regex_chars2062 allows partial matches2063 behaves like project/group name chars regex2064 is expected to match "gitlab-ce"2065 is expected to match "GitLab CE"2066 is expected to match "100 lines"2067 is expected to match "gitlab.git"2068 is expected to match "Český název"2069 is expected to match "Dash – is this"2070 .project_name_regex_message2071 is expected to eq "can contain only letters, digits, emojis, '_', '.', '+', dashes, or spaces. It must start with a letter, digit, emoji, or '_'."2072 .group_name_regex_message2073 is expected to eq "can contain only letters, digits, emojis, '_', '.', dash, space, parenthesis. It must start with letter, digit, emoji or '_'."2074 .bulk_import_destination_namespace_path_regex_message2075 is expected to eq "cannot start with a non-alphanumeric character except for periods or underscores, can contain only a...nd has a relative path structure with no http protocol chars or leading or trailing forward slashes"2076 .bulk_import_destination_namespace_path_regex2077 is expected not to match "?gitlab"2078 is expected not to match "Users's something"2079 is expected not to match "/source"2080 is expected not to match "http:"2081 is expected not to match "https:"2082 is expected not to match "example.com/?stuff=true"2083 is expected not to match "example.com:5000/?stuff=true"2084 is expected not to match "http://gitlab.example/gitlab-org/manage/import/gitlab-migration-test"2085 is expected not to match "_good_for_me!"2086 is expected not to match "good_for+you"2087 is expected not to match "source/"2088 is expected not to match ".source/full./path"2089 is expected to match "source"2090 is expected to match ".source"2091 is expected to match "_source"2092 is expected to match "source/full"2093 is expected to match "source/full/path"2094 is expected to match ".source/.full/.path"2095 is expected to match "domain_namespace"2096 is expected to match "gitlab-migration-test"2097 is expected to match "1-project-path"2098 is expected to match "e-project-path"2099 is expected to match ""2100 .bulk_import_source_full_path_regex2101 is expected not to match "?gitlab"2102 is expected not to match "Users's something"2103 is expected not to match "/source"2104 is expected not to match "http:"2105 is expected not to match "https:"2106 is expected not to match "example.com/?stuff=true"2107 is expected not to match "example.com:5000/?stuff=true"2108 is expected not to match "http://gitlab.example/gitlab-org/manage/import/gitlab-migration-test"2109 is expected not to match "_good_for_me!"2110 is expected not to match "good_for+you"2111 is expected not to match "source/"2112 is expected not to match ".source/full./path"2113 is expected not to match ""2114 is expected to match "source"2115 is expected to match ".source"2116 is expected to match "_source"2117 is expected to match "source/full"2118 is expected to match "source/full/path"2119 is expected to match ".source/.full/.path"2120 is expected to match "domain_namespace"2121 is expected to match "gitlab-migration-test"2122 .group_path_regex2123 is expected not to match "?gitlab"2124 is expected not to match "Users's something"2125 is expected not to match "/source"2126 is expected not to match "http:"2127 is expected not to match "https:"2128 is expected not to match "example.com/?stuff=true"2129 is expected not to match "example.com:5000/?stuff=true"2130 is expected not to match "http://gitlab.example/gitlab-org/manage/import/gitlab-migration-test"2131 is expected not to match "_good_for_me!"2132 is expected not to match "good_for+you"2133 is expected not to match "source/"2134 is expected not to match ".source/full./path"2135 is expected not to match "source/full"2136 is expected not to match "source/full/path"2137 is expected not to match ".source/.full/.path"2138 is expected to match "source"2139 is expected to match ".source"2140 is expected to match "_source"2141 is expected to match "domain_namespace"2142 is expected to match "gitlab-migration-test"2143 .environment_name_regex2144 is expected to match "foo"2145 is expected to match "a"2146 is expected to match "foo-1"2147 is expected to match "FOO"2148 is expected to match "foo/1"2149 is expected to match "foo.1"2150 is expected not to match "9&foo"2151 is expected not to match "foo-^"2152 is expected not to match "!!()()"2153 is expected not to match "/foo"2154 is expected not to match "foo/"2155 is expected not to match "/foo/"2156 is expected not to match "/"2157 .environment_scope_regex2158 is expected to match "foo"2159 is expected to match "foo*Z"2160 is expected not to match "!!()()"2161 .environment_slug_regex2162 is expected to match "foo"2163 is expected to match "foo-1"2164 is expected not to match "FOO"2165 is expected not to match "foo/1"2166 is expected not to match "foo.1"2167 is expected not to match "foo*1"2168 is expected not to match "9foo"2169 is expected not to match "foo-"2170 .build_trace_section_regex2171 without options2172 is expected to match "section_start:1600445393032:NAME\r\e[0K"2173 is expected to match "section_end:12345678:aBcDeFg1234\r\e[0K"2174 is expected to match "section_start:0:sect_for_alpha-v1.0\r\e[0K"2175 is expected not to match "section_start:section:0\r\e[0K"2176 is expected not to match "section_:1600445393032:NAME\r\e[0K"2177 is expected not to match "SECTION_START:1600445393032:NAME\r\e[0K"2178 with options2179 is expected to match "section_start:1600445393032:NAME[collapsed=true]\r\e[0K"2180 is expected to match "section_start:1600445393032:NAME[collapsed=true, example_option=false]\r\e[0K"2181 is expected to match "section_start:1600445393032:NAME[collapsed=true,example_option=false]\r\e[0K"2182 is expected to match "section_start:1600445393032:NAME[numeric_option=1234567]\r\e[0K"2183 is expected to match "section_end:1600445393032:NAME[collapsed=true]\r\e[0K"2184 is expected not to match "section_start:1600445393032:NAME[collapsed=[]]]\r\e[0K"2185 is expected not to match "section_start:1600445393032:NAME[collapsed = true]\r\e[0K"2186 is expected not to match "section_start:1600445393032:NAME[collapsed = true, example_option=false]\r\e[0K"2187 is expected not to match "section_start:1600445393032:NAME[collapsed=true, example_option=false]\r\e[0K"2188 is expected not to match "section_start:1600445393032:NAME[]\r\e[0K"2189 .container_repository_name_regex2190 is expected to match "image"2191 is expected to match "my/image"2192 is expected to match "my/awesome/image-1"2193 is expected to match "my/awesome/image.test"2194 is expected to match "my/awesome/image--test"2195 is expected to match "my/image__test"2196 is expected to match "user1/project/a_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb------------x"2197 is expected not to match "user1/project/a_bbbbb-------------"2198 is expected not to match "my/image-.test"2199 is expected not to match "my/image___test"2200 is expected not to match "my/image_.test"2201 is expected not to match "my/image_-test"2202 is expected not to match "my/image..test"2203 is expected not to match "my/image\\ntest"2204 is expected not to match ".my/image"2205 is expected not to match "my/image."2206 .aws_account_id_regex2207 is expected to match "123456789012"2208 is expected not to match "12345678901"2209 is expected not to match "1234567890123"2210 is expected not to match "12345678901a"2211 .aws_arn_regex2212 is expected to match "arn:aws:iam::123456789012:role/role-name"2213 is expected to match "arn:aws:s3:::bucket/key"2214 is expected to match "arn:aws:ec2:us-east-1:123456789012:volume/vol-1"2215 is expected to match "arn:aws:rds:us-east-1:123456789012:pg:prod"2216 is expected not to match "123456789012"2217 is expected not to match "role/role-name"2218 .utc_date_regex2219 is expected to match "2019-10-20"2220 is expected to match "1990-01-01"2221 is expected not to match "11-1234-90"2222 is expected not to match "aa-1234-cc"2223 is expected not to match "9/9/2018"2224 .cluster_agent_name_regex2225 is expected to match "foo"2226 is expected to match "foo-bar"2227 is expected to match "1foo-bar"2228 is expected to match "foo-bar2"2229 is expected to match "foo-1bar"2230 is expected not to match "foo.bar"2231 is expected not to match "Foo"2232 is expected not to match "FoO"2233 is expected not to match "FoO-"2234 is expected not to match "-foo-"2235 is expected not to match "foo/bar"2236 .kubernetes_namespace_regex2237 is expected to match "foo"2238 is expected to match "foo-bar"2239 is expected to match "1foo-bar"2240 is expected to match "foo-bar2"2241 is expected to match "foo-1bar"2242 is expected not to match "foo.bar"2243 is expected not to match "Foo"2244 is expected not to match "FoO"2245 is expected not to match "FoO-"2246 is expected not to match "-foo-"2247 is expected not to match "foo/bar"2248 .kubernetes_dns_subdomain_regex2249 is expected to match "foo"2250 is expected to match "foo-bar"2251 is expected to match "foo.bar"2252 is expected to match "foo1.bar"2253 is expected to match "foo1.2bar"2254 is expected to match "foo.bar1"2255 is expected to match "1foo.bar1"2256 is expected not to match "Foo"2257 is expected not to match "FoO"2258 is expected not to match "FoO-"2259 is expected not to match "-foo-"2260 is expected not to match "foo/bar"2261 .conan_package_reference_regex2262 is expected to match "123456789"2263 is expected to match "asdf1234"2264 is expected not to match "@foo"2265 is expected not to match "0/pack+age/1@1/0"2266 is expected not to match "!!()()"2267 .conan_revision_regex2268 is expected to match "0"2269 is expected not to match "foo"2270 is expected not to match "!!()()"2271 .composer_dev_version_regex2272 is expected to match "dev-master"2273 is expected to match "1.x-dev"2274 is expected not to match "foobar"2275 is expected not to match "1.2.3"2276 conan recipe components2277 .conan_recipe_component_regex2278 is expected not to match "_"2279 behaves like accepting valid recipe components values2280 is expected to match "foobar"2281 is expected to match "foo_bar"2282 is expected to match "foo+bar"2283 is expected to match "_foo+bar-baz+1.0"2284 is expected to match "1.0.0"2285 is expected not to match "-foo_bar"2286 is expected not to match "+foo_bar"2287 is expected not to match ".foo_bar"2288 is expected not to match "foo@bar"2289 is expected not to match "foo/bar"2290 is expected not to match "!!()()"2291 is expected not to match "f_af_af_af_af_af_af_af_af_af_af_af_af_af_af_af_af_a"2292 .conan_recipe_user_channel_regex2293 is expected to match "_"2294 behaves like accepting valid recipe components values2295 is expected to match "foobar"2296 is expected to match "foo_bar"2297 is expected to match "foo+bar"2298 is expected to match "_foo+bar-baz+1.0"2299 is expected to match "1.0.0"2300 is expected not to match "-foo_bar"2301 is expected not to match "+foo_bar"2302 is expected not to match ".foo_bar"2303 is expected not to match "foo@bar"2304 is expected not to match "foo/bar"2305 is expected not to match "!!()()"2306 is expected not to match "f_af_af_af_af_af_af_af_af_af_af_af_af_af_af_af_af_a"2307 .package_name_regex2308 is expected to match "123"2309 is expected to match "foo"2310 is expected to match "foo/bar"2311 is expected to match "@foo/bar"2312 is expected to match "com/mycompany/app/my-app"2313 is expected to match "my-package/1.0.0@my+project+path/beta"2314 is expected not to match "my-package/1.0.0@@@@@my+project+path/beta"2315 is expected not to match "$foo/bar"2316 is expected not to match "@foo/@/bar"2317 is expected not to match "@@foo/bar"2318 is expected not to match "my package name"2319 is expected not to match "!!()()"2320 is expected not to match "..\n..\foo"2321 has no backtracking issue2322 .maven_file_name_regex2323 is expected to match "123"2324 is expected to match "foo"2325 is expected to match "foo+bar-2_0.pom"2326 is expected to match "foo.bar.baz-2.0-20190901.47283-1.jar"2327 is expected to match "maven-metadata.xml"2328 is expected to match "1.0-SNAPSHOT"2329 is expected not to match "../../foo"2330 is expected not to match "..\\..\\foo"2331 is expected not to match "%2f%2e%2e%2f%2essh%2fauthorized_keys"2332 is expected not to match "$foo/bar"2333 is expected not to match "my file name"2334 is expected not to match "!!()()"2335 .maven_path_regex2336 is expected to match "123"2337 is expected to match "foo"2338 is expected to match "foo/bar"2339 is expected to match "@foo/bar"2340 is expected to match "com/mycompany/app/my-app"2341 is expected to match "com/mycompany/app/my-app/1.0-SNAPSHOT"2342 is expected to match "com/mycompany/app/my-app/1.0-SNAPSHOT+debian64"2343 is expected not to match "com/mycompany/app/my+app/1.0-SNAPSHOT"2344 is expected not to match "$foo/bar"2345 is expected not to match "@foo/@/bar"2346 is expected not to match "my package name"2347 is expected not to match "!!()()"2348 .maven_version_regex2349 has no ReDoS issues with long strings2350 has no ReDos issues with long strings ending with an exclamation mark2351 is expected to match "0"2352 is expected to match "1"2353 is expected to match "03"2354 is expected to match "2.0"2355 is expected to match "01.2"2356 is expected to match "10.2.3-beta"2357 is expected to match "1.2-SNAPSHOT"2358 is expected to match "20"2359 is expected to match "20.3"2360 is expected to match "1.2.1"2361 is expected to match "1.4.2-12"2362 is expected to match "1.2-beta-2"2363 is expected to match "12.1.2-2-1"2364 is expected to match "1.1-beta-2"2365 is expected to match "1.3.350.v20200505-1744"2366 is expected to match "2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq"2367 is expected to match "1.2-alpha-1-20050205.060708-1"2368 is expected to match "703220b4e2cea9592caeb9f3013f6b1e5335c293"2369 is expected to match "RELEASE"2370 is expected not to match "..1.2.3"2371 is expected not to match "1.2.3..beta"2372 is expected not to match " 1.2.3"2373 is expected not to match "1.2.3 \r\t"2374 is expected not to match "\r\t 1.2.3"2375 is expected not to match "1./2.3"2376 is expected not to match "1.2.3-4/../../"2377 is expected not to match "1.2.3-4%2e%2e%"2378 is expected not to match "../../../../../1.2.3"2379 is expected not to match "%2e%2e%2f1.2.3"2380 .nuget_version_regex2381 is expected to match "1.2"2382 is expected to match "1.2.3"2383 is expected to match "1.2.3.4"2384 is expected to match "1.2.3.4-stable.1"2385 is expected to match "1.2.3-beta"2386 is expected to match "1.2.3-alpha.3"2387 is expected to match "1.0.7+r3456"2388 is expected not to match "1"2389 is expected not to match "1./2.3"2390 is expected not to match "../../../../../1.2.3"2391 is expected not to match "%2e%2e%2f1.2.3"2392 .nuget_package_name_regex2393 is expected to match "My.Package"2394 is expected to match "My.Package.Mvc"2395 is expected to match "MyPackage"2396 is expected to match "My.23.Package"2397 is expected to match "My23Package"2398 is expected to match "runtime.my-test64.runtime.package.Mvc"2399 is expected to match "my_package"2400 is expected not to match "My/package"2401 is expected not to match "../../../my_package"2402 is expected not to match "%2e%2e%2fmy_package"2403 .terraform_module_package_name_regex2404 is expected to match "my-module/my-system"2405 is expected to match "my/module"2406 is expected not to match "my-module"2407 is expected not to match "My-Module"2408 is expected not to match "my_module"2409 is expected not to match "my.module"2410 is expected not to match "../../../my-module"2411 is expected not to match "%2e%2e%2fmy-module"2412 .pypi_version_regex2413 is expected to match "0.1"2414 is expected to match "2.0"2415 is expected to match "1.2.0"2416 is expected to match "0100!0.0"2417 is expected to match "00!1.2"2418 is expected to match "1.0a"2419 is expected to match "1.0-a"2420 is expected to match "1.0.a1"2421 is expected to match "1.0a1"2422 is expected to match "1.0-a1"2423 is expected to match "1.0alpha1"2424 is expected to match "1.0b1"2425 is expected to match "1.0beta1"2426 is expected to match "1.0rc1"2427 is expected to match "1.0pre1"2428 is expected to match "1.0preview1"2429 is expected to match "1.0.dev1"2430 is expected to match "1.0.DEV1"2431 is expected to match "1.0.post1"2432 is expected to match "1.0.rev1"2433 is expected to match "1.0.r1"2434 is expected to match "1.0c2"2435 is expected to match "2012.15"2436 is expected to match "1.0+5"2437 is expected to match "1.0+abc.5"2438 is expected to match "1!1.1"2439 is expected to match "1.0c3"2440 is expected to match "1.0rc2"2441 is expected to match "1.0c1"2442 is expected to match "1.0b2-346"2443 is expected to match "1.0b2.post345"2444 is expected to match "1.0b2.post345.dev456"2445 is expected to match "1.2.rev33+123456"2446 is expected to match "1.1.dev1"2447 is expected to match "1.0b1.dev456"2448 is expected to match "1.0a12.dev456"2449 is expected to match "1.0b2"2450 is expected to match "1.0.dev456"2451 is expected to match "1.0c1.dev456"2452 is expected to match "1.0.post456"2453 is expected to match "1.0.post456.dev34"2454 is expected to match "1.2+123abc"2455 is expected to match "1.2+abc"2456 is expected to match "1.2+abc123"2457 is expected to match "1.2+abc123def"2458 is expected to match "1.2+1234.abc"2459 is expected to match "1.2+123456"2460 is expected to match "1.2.r32+123456"2461 is expected to match "1!1.2.rev33+123456"2462 is expected to match "1.0a12"2463 is expected to match "1.2.3-45+abcdefgh"2464 is expected to match "v1.2.3"2465 is expected not to match "1.2.3-45-abcdefgh"2466 is expected not to match "..1.2.3"2467 is expected not to match " 1.2.3"2468 is expected not to match "1.2.3 \r\t"2469 is expected not to match "\r\t 1.2.3"2470 is expected not to match "1./2.3"2471 is expected not to match "1.2.3-4/../../"2472 is expected not to match "1.2.3-4%2e%2e%"2473 is expected not to match "../../../../../1.2.3"2474 is expected not to match "%2e%2e%2f1.2.3"2475 .debian_package_name_regex2476 is expected to match "0ad"2477 is expected to match "g++"2478 is expected to match "lua5.1"2479 is expected to match "samba"2480 is expected not to match ""2481 is expected not to match "-a"2482 is expected not to match "+a"2483 is expected not to match ".a"2484 is expected not to match "_a"2485 is expected not to match "a~"2486 is expected not to match "aé"2487 is expected not to match "a"2488 is expected not to match "Aa"2489 is expected not to match "aA"2490 is expected not to match "a_b"2491 behaves like regex rejecting path traversal2492 is expected not to match "a../b"2493 is expected not to match "a..%2fb"2494 is expected not to match "a%2e%2e%2fb"2495 is expected not to match "a%2e%2e/b"2496 .debian_version_regex2497 valid versions2498 is expected to match "1.0"2499 is expected to match "1.0~alpha1"2500 is expected to match "2:4.9.5+dfsg-5+deb10u1"2501 is expected to match "0.0.0-806aa143-f0bf-4f27-be65-8e4fcb745f37"2502 dpkg errors2503 is expected not to match ""2504 is expected not to match "1 0"2505 is expected not to match ":1.0"2506 is expected not to match "a:1.0"2507 is expected not to match "-1:1.0"2508 is expected not to match "9999999999:1.0"2509 is expected not to match "2:"2510 is expected not to match "1.0-"2511 is expected not to match "-1"2512 is expected not to match "2:-1"2513 dpkg warnings2514 is expected not to match "a"2515 is expected not to match "a1.0"2516 is expected not to match "1_0"2517 is expected not to match "1.0-1_0"2518 dpkg accepts2519 is expected not to match " 1.0"2520 is expected not to match "1.0 "2521 is expected not to match "1:2:3"2522 is expected to match "1-2-3-4-5-6-7-8-9-10-11-12-13-14-15"2523 is expected not to match "1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16"2524 path traversals2525 is expected not to match "1../0"2526 is expected not to match "1..%2f0"2527 is expected not to match "1%2e%2e%2f0"2528 is expected not to match "1%2e%2e/0"2529 .debian_direct_upload_filename_regex2530 is expected to match "libsample0_1.2.3~alpha2_amd64.deb"2531 is expected to match "sample-dev_1.2.3~binary_amd64.deb"2532 is expected to match "sample-udeb_1.2.3~alpha2_amd64.udeb"2533 is expected to match "sample-ddeb_1.2.3~alpha2_amd64.ddeb"2534 is expected not to match "sample_1.2.3~alpha2_amd64.buildinfo"2535 is expected not to match "sample_1.2.3~alpha2_amd64.changes"2536 is expected not to match "sample_1.2.3~alpha2.dsc"2537 is expected not to match "sample_1.2.3~alpha2.tar.xz"2538 is expected not to match "libsample0_1.2.3~alpha2_amd64.debu"2539 .helm_channel_regex2540 is expected to match "release"2541 is expected to match "my-repo"2542 is expected to match "My-Re_po"2543 is expected to match "my_repo42"2544 is expected to match "1.2.3"2545 is expected to match "v1.2.3-beta-12"2546 is expected to match "renovate_https-github.com-operator-framework-operator-lifecycle-manager.git-0.x"2547 is expected not to match ""2548 is expected not to match "hé"2549 is expected not to match ".1.23"2550 is expected not to match "1..23"2551 is expected not to match "1.2.3."2552 is expected not to match "1..2.3."2553 is expected not to match "1/../2.3."2554 is expected not to match "1/..%2F2.3."2555 .helm_package_regex2556 is expected to match "release"2557 is expected to match "my-repo"2558 is expected to match "my-repo42"2559 is expected not to match ""2560 is expected not to match "hé"2561 is expected not to match "my/../repo"2562 is expected not to match "me%2f%2e%2e%2f"2563 .helm_version_regex2564 is expected to match "1.2.3"2565 is expected to match "1.2.3-beta"2566 is expected to match "1.2.3-alpha.3"2567 is expected to match "v1.2.3"2568 is expected to match "v1.2.3-beta"2569 is expected to match "v1.2.3-alpha.3"2570 is expected not to match "1"2571 is expected not to match "1.2"2572 is expected not to match "1./2.3"2573 is expected not to match "../../../../../1.2.3"2574 is expected not to match "%2e%2e%2f1.2.3"2575 is expected not to match "v1"2576 is expected not to match "v1.2"2577 is expected not to match "v1./2.3"2578 is expected not to match "v../../../../../1.2.3"2579 is expected not to match "v%2e%2e%2f1.2.3"2580 .semver_regex2581 is expected to match "1.2.3"2582 is expected to match "1.2.3-beta"2583 is expected to match "1.2.3-alpha.3"2584 is expected not to match "1"2585 is expected not to match "1.2"2586 is expected not to match "1./2.3"2587 is expected not to match "../../../../../1.2.3"2588 is expected not to match "%2e%2e%2f1.2.3"2589 .go_package_regex2590 is expected to match "example.com"2591 is expected to match "example.com/foo"2592 is expected to match "example.com/foo/bar"2593 is expected to match "example.com/foo/bar/baz"2594 is expected to match "tl.dr.foo.bar.baz"2595 .unbounded_semver_regex2596 is expected to match "1.2.3"2597 is expected to match "1.2.3-beta"2598 is expected to match "1.2.3-alpha.3"2599 is expected not to match "1"2600 is expected not to match "1.2"2601 is expected not to match "1./2.3"2602 .generic_package_version_regex2603 is expected to match "1.2.3"2604 is expected to match "1.3.350"2605 is expected to match "1.3.350-20201230123456"2606 is expected to match "1.2.3-rc1"2607 is expected to match "1.2.3g"2608 is expected to match "1.2"2609 is expected to match "1.2.bananas"2610 is expected to match "v1.2.4-build"2611 is expected to match "d50d836eb3de6177ce6c7a5482f27f9c2c84b672"2612 is expected to match "this_is_a_string_only"2613 is expected not to match "..1.2.3"2614 is expected not to match " 1.2.3"2615 is expected not to match "1.2.3 \r\t"2616 is expected not to match "\r\t 1.2.3"2617 is expected not to match "1.2.3-4/../../"2618 is expected not to match "1.2.3-4%2e%2e%"2619 is expected not to match "../../../../../1.2.3"2620 is expected not to match "%2e%2e%2f1.2.3"2621 is expected not to match ""2622 .generic_package_name_regex2623 is expected to match "123"2624 is expected to match "foo"2625 is expected to match "foo.bar.baz-2.0-20190901.47283-1"2626 is expected not to match "../../foo"2627 is expected not to match "..\\..\\foo"2628 is expected not to match "%2f%2e%2e%2f%2essh%2fauthorized_keys"2629 is expected not to match "$foo/bar"2630 is expected not to match "my file name"2631 is expected not to match "!!()()"2632 .generic_package_file_name_regex2633 is expected to match "123"2634 is expected to match "foo"2635 is expected to match "foo.bar.baz-2.0-20190901.47283-1.jar"2636 is expected not to match "../../foo"2637 is expected not to match "..\\..\\foo"2638 is expected not to match "%2f%2e%2e%2f%2essh%2fauthorized_keys"2639 is expected not to match "$foo/bar"2640 is expected not to match "my file name"2641 is expected not to match "!!()()"2642 .prefixed_semver_regex2643 is expected to match "v1.2.3"2644 is expected to match "v1.2.3-beta"2645 is expected to match "v1.2.3-alpha.3"2646 is expected not to match "v1"2647 is expected not to match "v1.2"2648 is expected not to match "v1./2.3"2649 is expected not to match "v../../../../../1.2.3"2650 is expected not to match "v%2e%2e%2f1.2.3"2651 Packages::API_PATH_REGEX2652 is expected to match "/api/v4/group/12345/-/packages/composer/p/123456789"2653 is expected to match "/api/v4/group/12345/-/packages/composer/p2/pkg_name"2654 is expected to match "/api/v4/group/12345/-/packages/composer/packages"2655 is expected to match "/api/v4/group/12345/-/packages/composer/pkg_name"2656 is expected to match "/api/v4/groups/1234/-/packages/maven/a/path/file.jar"2657 is expected to match "/api/v4/groups/1234/-/packages/nuget/index"2658 is expected to match "/api/v4/groups/1234/-/packages/nuget/metadata/pkg_name/1.3.4"2659 is expected to match "/api/v4/groups/1234/-/packages/nuget/metadata/pkg_name/index"2660 is expected to match "/api/v4/groups/1234/-/packages/nuget/query"2661 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable"2662 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/digest"2663 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/download_urls"2664 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref"2665 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref/digest"2666 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref/download_urls"2667 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref/upload_urls"2668 is expected to match "/api/v4/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/upload_urls"2669 is expected to match "/api/v4/packages/conan/v1/conans/search"2670 is expected to match "/api/v4/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/export/file.name"2671 is expected to match "/api/v4/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/export/file.name/authorize"2672 is expected to match "/api/v4/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/package/pkg_ref/pkg_revision/file.name"2673 is expected to match "/api/v4/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/package/pkg_ref/pkg_revision/file.name/authorize"2674 is expected to match "/api/v4/packages/conan/v1/ping"2675 is expected to match "/api/v4/packages/conan/v1/users/authenticate"2676 is expected to match "/api/v4/packages/conan/v1/users/check_credentials"2677 is expected to match "/api/v4/packages/maven/a/path/file.jar"2678 is expected to match "/api/v4/packages/npm/-/package/pkg_name/dist-tags"2679 is expected to match "/api/v4/packages/npm/-/package/pkg_name/dist-tags/tag"2680 is expected to match "/api/v4/packages/npm/pkg_name"2681 is expected to match "/api/v4/projects/1234/packages/composer"2682 is expected to match "/api/v4/projects/1234/packages/composer/archives/pkg_name"2683 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable"2684 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/digest"2685 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/download_urls"2686 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref"2687 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref/digest"2688 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref/download_urls"2689 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/packages/pkg_ref/upload_urls"2690 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/pkg_name/1.2.3/username/stable/upload_urls"2691 is expected to match "/api/v4/projects/1234/packages/conan/v1/conans/search"2692 is expected to match "/api/v4/projects/1234/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/export/file.name"2693 is expected to match "/api/v4/projects/1234/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/export/file.name/authorize"2694 is expected to match "/api/v4/projects/1234/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/package/pkg_ref/pkg_revision/file.name"2695 is expected to match "/api/v4/projects/1234/packages/conan/v1/files/pkg_name/1.2.3/username/stable/2.3/package/pkg_ref/pkg_revision/file.name/authorize"2696 is expected to match "/api/v4/projects/1234/packages/conan/v1/ping"2697 is expected to match "/api/v4/projects/1234/packages/conan/v1/users/authenticate"2698 is expected to match "/api/v4/projects/1234/packages/conan/v1/users/check_credentials"2699 is expected to match "/api/v4/projects/1234/packages/debian/dists/stable/compon/binary-x64/Packages"2700 is expected to match "/api/v4/projects/1234/packages/debian/dists/stable/InRelease"2701 is expected to match "/api/v4/projects/1234/packages/debian/dists/stable/Release"2702 is expected to match "/api/v4/projects/1234/packages/debian/dists/stable/Release.gpg"2703 is expected to match "/api/v4/projects/1234/packages/debian/file.name"2704 is expected to match "/api/v4/projects/1234/packages/debian/file.name/authorize"2705 is expected to match "/api/v4/projects/1234/packages/debian/pool/compon/e/pkg/file.name"2706 is expected to match "/api/v4/projects/1234/packages/generic/pkg_name/1.3.4/myfile.txt"2707 is expected to match "/api/v4/projects/1234/packages/generic/pkg_name/1.3.4/myfile.txt/authorize"2708 is expected to match "/api/v4/projects/1234/packages/go/my_module/@v/11.2.3.info"2709 is expected to match "/api/v4/projects/1234/packages/go/my_module/@v/11.2.3.mod"2710 is expected to match "/api/v4/projects/1234/packages/go/my_module/@v/11.2.3.zip"2711 is expected to match "/api/v4/projects/1234/packages/go/my_module/@v/list"2712 is expected to match "/api/v4/projects/1234/packages/maven/a/path/file.jar"2713 is expected to match "/api/v4/projects/1234/packages/maven/a/path/file.jar/authorize"2714 is expected to match "/api/v4/projects/1234/packages/npm/-/package/pkg_name/dist-tags"2715 is expected to match "/api/v4/projects/1234/packages/npm/-/package/pkg_name/dist-tags/tag"2716 is expected to match "/api/v4/projects/1234/packages/npm/pkg_name"2717 is expected to match "/api/v4/projects/1234/packages/npm/pkg_name/-/tarball.tgz"2718 is expected to match "/api/v4/projects/1234/packages/nuget"2719 is expected to match "/api/v4/projects/1234/packages/nuget/authorize"2720 is expected to match "/api/v4/projects/1234/packages/nuget/download/pkg_name/1.3.4/pkg.npkg"2721 is expected to match "/api/v4/projects/1234/packages/nuget/download/pkg_name/index"2722 is expected to match "/api/v4/projects/1234/packages/nuget/index"2723 is expected to match "/api/v4/projects/1234/packages/nuget/metadata/pkg_name/1.3.4"2724 is expected to match "/api/v4/projects/1234/packages/nuget/metadata/pkg_name/index"2725 is expected to match "/api/v4/projects/1234/packages/nuget/query"2726 is expected to match "/api/v4/projects/1234/packages/pypi"2727 is expected to match "/api/v4/projects/1234/packages/pypi/authorize"2728 is expected to match "/api/v4/projects/1234/packages/pypi/files/1234567890/file.identifier"2729 is expected to match "/api/v4/projects/1234/packages/pypi/simple/pkg_name"2730 is expected to match "/api/v4/projects/1234/packages/rubygems/api/v1/dependencies"2731 is expected to match "/api/v4/projects/1234/packages/rubygems/api/v1/gems"2732 is expected to match "/api/v4/projects/1234/packages/rubygems/api/v1/gems/authorize"2733 is expected to match "/api/v4/projects/1234/packages/rubygems/gems/pkg"2734 is expected to match "/api/v4/projects/1234/packages/rubygems/pkg"2735 is expected to match "/api/v4/projects/1234/packages/rubygems/quick/Marshal.4.8/pkg"2736 is expected not to match ""2737 is expected not to match "foo"2738 is expected not to match "/api/v4"2739 is expected not to match "/api/v4/version"2740 is expected not to match "/api/v4/packages"2741 is expected not to match "/api/v4/packages/"2742 is expected not to match "/api/v4/group"2743 is expected not to match "/api/v4/group/12345"2744 is expected not to match "/api/v4/group/12345/-"2745 is expected not to match "/api/v4/group/12345/-/packages"2746 is expected not to match "/api/v4/group/12345/-/packages/"2747 is expected not to match "/api/v4/group/12345/-/packages/50"2748 is expected not to match "/api/v4/groups"2749 is expected not to match "/api/v4/groups/12345"2750 is expected not to match "/api/v4/groups/12345/-"2751 is expected not to match "/api/v4/groups/12345/-/packages"2752 is expected not to match "/api/v4/groups/12345/-/packages/"2753 is expected not to match "/api/v4/groups/12345/-/packages/50"2754 is expected not to match "/api/v4/groups/12345/packages"2755 is expected not to match "/api/v4/groups/12345/packages/"2756 is expected not to match "/api/v4/groups/12345/badges"2757 is expected not to match "/api/v4/groups/12345/issues"2758 is expected not to match "/api/v4/projects"2759 is expected not to match "/api/v4/projects/1234"2760 is expected not to match "/api/v4/projects/1234/packages"2761 is expected not to match "/api/v4/projects/1234/packages/"2762 is expected not to match "/api/v4/projects/1234/packages/50"2763 is expected not to match "/api/v4/projects/1234/packages/50/package_files"2764 is expected not to match "/api/v4/projects/1234/merge_requests"2765 is expected not to match "/api/v4/projects/1234/registry/repositories"2766 is expected not to match "/api/v4/projects/1234/issues"2767 is expected not to match "/api/v4/projects/1234/members"2768 is expected not to match "/api/v4/projects/1234/milestones"2769 is expected not to match "/api/v4/groups/1234/packages/debian/dists/stable/compon/binary-compo/Packages"2770 is expected not to match "/api/v4/groups/1234/packages/debian/dists/stable/InRelease"2771 is expected not to match "/api/v4/groups/1234/packages/debian/dists/stable/Release"2772 is expected not to match "/api/v4/groups/1234/packages/debian/dists/stable/Release.gpg"2773 is expected not to match "/api/v4/groups/1234/packages/debian/pool/compon/a/pkg/file.name"2774 Packages::MAVEN_SNAPSHOT_DYNAMIC_PARTS2775 is expected to match "test-2.11-20230303.163304-1.jar"2776 is expected to match "test-2.11-20230303.163304-1-javadoc.jar"2777 is expected to match "test-2.11-20230303.163304-1-sources.jar"2778 is expected to match "test-2.11-20230303.163304-1-20230303.163304-1.jar"2779 is expected to match "test-2.11-20230303.163304-1-20230303.163304-1-javadoc.jar"2780 is expected to match "test-2.11-20230303.163304-1-20230303.163304-1-sources.jar"2781 is expected to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20230303.163304-1-sources.jar"2782 is expected to match "test-2.11-20230303.163304-1-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.jar"2783 is expected to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20230303.163304-1-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.jar"2784 is expected not to match ""2785 is expected not to match nil2786 is expected not to match "test"2787 is expected not to match "1.2.3"2788 is expected not to match "1.2.3-javadoc.jar"2789 is expected not to match "-202303039.163304-1.jar"2790 is expected not to match "test-2.11-202303039.163304-1.jar"2791 is expected not to match "test-2.11-20230303.16330-1.jar"2792 is expected not to match "test-2.11-202303039.163304.jar"2793 is expected not to match "test-2.11-202303039.163304-.jar"2794 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20230303.163304-1-sources.jar"2795 is expected not to match "test-2.11-20230303.163304-1-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.jar"2796 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20230303.163304-1-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.jar"2797 .composer_package_version_regex2798 is expected to match "v1.2.3"2799 is expected to match "v1.2.x"2800 is expected to match "v1.2.X"2801 is expected to match "1.2.3"2802 is expected to match "1"2803 is expected to match "v1"2804 is expected to match "1.2"2805 is expected to match "v1.2"2806 is expected not to match "1.2.3-beta"2807 is expected not to match "1.2.x-beta"2808 is expected not to match "1.2.X-beta"2809 is expected not to match "1.2.3-alpha.3"2810 is expected not to match "1./2.3"2811 is expected not to match "v1./2.3"2812 is expected not to match "../../../../../1.2.3"2813 is expected not to match "%2e%2e%2f1.2.3"2814 .sha256_regex2815 is expected to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"2816 is expected to match "abcdefABCDEF1234567890abcdefABCDEF1234567890abcdefABCDEF12345678"2817 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"2818 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"2819 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag"2820 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa{"2821 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%"2822 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa*"2823 is expected not to match "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#"2824 is expected not to match ""2825 .sep_by_12826 is expected to match "abc"2827 is expected to match "abc.def"2828 is expected to match "abc.def.caf"2829 is expected to match "abc..def"2830 is expected to match "abc..def..caf"2831 is expected to match "abc...def"2832 is expected to match "abc....def........caf"2833 is expected to match "abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc"2834 is expected not to match ""2835 is expected not to match "a"2836 is expected not to match "aaaa"2837 is expected not to match "foo"2838 is expected not to match ".abc"2839 is expected not to match "abc."2840 is expected not to match ".abc.def"2841 is expected not to match "abc.def."2842 is expected not to match "abc.defe.caf"2843 is expected not to match "abc!abc"2844 is expected not to match "abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.abc!"2845 .x509_subject_key_identifier_regex2846 is expected to match "AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB"2847 is expected to match "CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD"2848 is expected to match "79:FB:C1:E5:6B:53:8B:0A"2849 is expected to match "79:fb:c1:e5:6b:53:8b:0a"2850 is expected not to match ""2851 is expected not to match "CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:CD:GG"2852 is expected not to match "random string"2853 is expected not to match "12321342545356434523412341245452345623453542345234523453245"2854 code, html blocks, or html comment blocks regex2855 code blocks2856 is expected to match "```ruby\nsomething\n```"2857 is expected not to match "must start in first column ```ruby\nsomething\n```"2858 is expected not to match "```ruby must be multi-line ```"2859 is expected to eq "```code\nsome code\n\n>>>\nthat includes a multiline-blockquote\n>>>\n```"2860 HTML blocks2861 is expected to match "<section>\nsomething\n</section>"2862 is expected not to match "must start in first column <section>\nsomething\n</section>"2863 is expected not to match "<section>must be multi-line</section>"2864 is expected to eq "<section>\n<p>paragraph</p>\n\n>>>\nthat includes a multiline-blockquote\n>>>\n</section>"2865 HTML comment lines2866 is expected to match "<!-- single line comment -->"2867 is expected not to match "<!--\nblock comment\n-->"2868 is expected not to match "must start in first column <!-- comment -->"2869 is expected to eq [["<!-- an HTML comment -->"], ["<!-- another HTML comment -->"]]2870 HTML comment blocks2871 is expected to match "<!--\ncomment\n-->"2872 is expected not to match "must start in first column <!--\ncomment\n-->"2873 is expected to eq "<!-- the start of an HTML comment\n- [ ] list item commented out\n-->"2874Projects::DestroyService2875 deleting a project with merge requests2876 deletes MergeRequestDiffCommit records of the merge request2877 deletes MergeRequestDiffFile records of the merge request2878 deleting a project with merge request diffs2879 deletes merge request diffs2880 behaves like deleting the project2881 deletes the project2882 publishes a ProjectDeletedEvent2883 personal projects count cache2884 when the executor is the creator of the project itself2885 invalidates personal_project_count cache of the the owner of the personal namespace2886 when the executor is the instance administrator2887 invalidates personal_project_count cache of the the owner of the personal namespace2888 with running pipelines2889 bulks-fails with AbortPipelineService and then executes DestroyPipelineService for each pipelines2890 when project has remote mirrors2891 destroys them2892 when project has exports2893 destroys project and export2894 Sidekiq fake2895 is expected not to include #<Project id:259 user280/project61>>2896 is expected to be falsey2897 when flushing caches fail due to Git errors2898 behaves like deleting the project2899 deletes the project2900 publishes a ProjectDeletedEvent2901 when flushing caches fail due to Redis2902 keeps project team intact upon an error2903 with async_execute2904 async delete of project with private issue visibility2905 behaves like deleting the project2906 deletes the project2907 publishes a ProjectDeletedEvent2908 behaves like deleting the project with pipeline and build2909 with pipeline and build related records2910 deletes build and pipeline related records2911 avoids N+1 queries2912 behaves like deleting the project2913 deletes the project2914 publishes a ProjectDeletedEvent2915 when project is undergoing refresh2916 does not log about artifact deletion but continues to delete artifacts2917 errors2918 when `remove_legacy_registry_tags` fails2919 behaves like handles errors thrown during async destroy2920 does not allow the error to bubble up2921 reports the error2922 unmarks the project as "pending deletion"2923 stores an error message in `projects.delete_error`2924 when `remove_repository` fails2925 behaves like handles errors thrown during async destroy2926 does not allow the error to bubble up2927 reports the error2928 unmarks the project as "pending deletion"2929 stores an error message in `projects.delete_error`2930 when `execute` raises expected error2931 behaves like handles errors thrown during async destroy2932 does not allow the error to bubble up2933 reports the error2934 unmarks the project as "pending deletion"2935 stores an error message in `projects.delete_error`2936 when `execute` raises unexpected error2937 allows error to bubble up and rolls back project deletion2938 for an archived project2939 behaves like deleting the project with pipeline and build2940 with pipeline and build related records2941 deletes build and pipeline related records2942 avoids N+1 queries2943 behaves like deleting the project2944 deletes the project2945 publishes a ProjectDeletedEvent2946 when project is undergoing refresh2947 does not log about artifact deletion but continues to delete artifacts2948 container registry2949 when there are regular container repositories2950 when image repository deletion succeeds2951 returns true2952 when image repository deletion raises an error2953 returns false2954 when image repository deletion fails2955 returns false2956 when registry is disabled2957 does not attempting to remove any tags2958 when there are tags for legacy root repository2959 when image repository tags deletion succeeds2960 removes tags2961 when image repository tags deletion fails2962 raises an exception2963 when there are no tags for legacy root repository2964 does not try to destroy the repository2965 for a forked project with LFS objects2966 destroys the fork2967 as the root of a fork network2968 updates the fork network with the project name2969 repository removal2970 removal of existing repos2971 snippets2972 does not include snippets when deleting in batches2973 calls the bulk snippet destroy service with the skip_authorization param set to true2974 when an error is raised deleting snippets2975 does not delete project2976 when project has webhooks2977 deletes webhooks and logs related to project2978 when an error is raised deleting webhooks2979 behaves like handles errors thrown during async destroy2980 does not allow the error to bubble up2981 reports the error2982 unmarks the project as "pending deletion"2983 stores an error message in `projects.delete_error`2984 when project has project bots2985 deletes bot user as well2986 when project has events2987 deletes events from the project2988 when an error is returned while deleting events2989 does not delete project2990 error while destroying2991 deletes on retry2992 associations destoyed in batches2993 destroys the associations marked as `dependent: :destroy`, in batches2994Gitlab::ProjectSearchResults2995 with a repository_ref2996 when empty2997 is expected to eq #<Project id:336 namespace267/project138>>2998 is expected to eq "hello world"2999 when set3000 is expected to eq #<Project id:336 namespace267/project138>>3001 is expected to eq "refs/heads/test"3002 is expected to eq "hello world"3003 #formatted_count3004 scope: "blobs", count_method: :limited_blobs_count, expected: "99+"3005 returns the expected formatted count3006 scope: "notes", count_method: :limited_notes_count, expected: "99+"3007 returns the expected formatted count3008 scope: "wiki_blobs", count_method: :wiki_blobs_count, expected: "1234"3009 returns the expected formatted count3010 scope: "commits", count_method: :commits_count, expected: "99+"3011 returns the expected formatted count3012 scope: "projects", count_method: :limited_projects_count, expected: "99+"3013 returns the expected formatted count3014 scope: "unknown", count_method: nil, expected: nil3015 returns the expected formatted count3016 blobs3017 limits the search to 100 items3018 wiki_blobs3019 limits the search to 100 items3020 blob search3021 behaves like general blob search3022 finds by name3023 loads all blobs for path matches in single batch3024 finds by content3025 when repository is disabled3026 hides blobs from members3027 hides blobs from non-members3028 when repository is internal3029 finds blobs for members3030 hides blobs from non-members3031 behaves like blob search repository ref3032 when repository_ref exists3033 uses it3034 when repository_ref is not present3035 uses project repository default reference3036 when repository_ref is blank3037 uses project repository default reference3038 behaves like blob search pagination3039 limits search results based on the first page3040 limits search results based on the second page3041 limits search results based on the third page3042 uses the per_page value when passed3043 wiki search3044 behaves like general blob search3045 finds by name3046 loads all blobs for path matches in single batch3047 finds by content3048 when wiki is disabled3049 hides wiki_blobs from members3050 hides wiki_blobs from non-members3051 when wiki is internal3052 finds wiki_blobs for members3053 hides wiki_blobs from non-members3054 behaves like blob search repository ref3055 when repository_ref exists3056 uses it3057 when repository_ref is not present3058 uses wiki repository default reference3059 when repository_ref is blank3060 uses wiki repository default reference3061 behaves like blob search pagination3062 limits search results based on the first page3063 limits search results based on the second page3064 limits search results based on the third page3065 uses the per_page value when passed3066 return type3067 returns list of FoundWikiPage type object3068 issues search3069 does not list issues on private projects3070 confidential issues3071 when the user is non-member3072 does not list project confidential issues for non project members3073 when the member is guest3074 does not list project confidential issues for project members with guest role3075 when the user is the author3076 lists project confidential issues3077 when the user is the assignee3078 lists project confidential issues for assignee3079 when the user is a developer3080 lists project confidential issues3081 when the user is admin3082 when admin mode is enabled3083 lists all project issues3084 when admin mode is disabled3085 does not list project confidential issues3086 filtering3087 state not provided3088 returns opened and closed results3089 all state3090 returns opened and closed results3091 closed state3092 returns only closed results3093 opened state3094 returns only opened results3095 unsupported state3096 returns only opened results3097 filter not provided (all behavior)3098 returns confidential and not confidential results3099 confidential filter3100 returns only confidential results3101 not confidential filter3102 returns not confidential results3103 merge requests search3104 filtering3105 state not provided3106 returns opened and closed results3107 all state3108 returns opened and closed results3109 closed state3110 returns only closed results3111 opened state3112 returns only opened results3113 unsupported state3114 returns only opened results3115 notes search3116 with a public project3117 lists notes3118 with private issues3119 doesn't list issue notes when access is restricted3120 with private merge requests3121 doesn't list merge_request notes when access is restricted3122 #limited_notes_count3123 when count_limit is lower than total amount3124 calls note finder once to get the limited amount of notes3125 when count_limit is higher than total amount3126 calls note finder multiple times to get the limited amount of notes3127 #commits_count3128 limits the number of commits requested3129 commit search3130 pagination3131 returns the correct results for each page3132 returns the correct number of pages3133 limiting requested commits3134 on page 13135 limits to 1003136 on subsequent pages3137 limits to 100 plus page offset3138 by commit message3139 finds commit by message3140 when there are not hits3141 handles when no commit match3142 when repository_ref is provided3143 searches in the specified ref3144 behaves like access restricted commits3145 when project is internal3146 searches if user is authenticated3147 when the user is not authenticated3148 does not search3149 when project is private3150 when the user is not authenticated3151 does not show commit to stranger3152 team access3153 when the user is the creator3154 is expected to contain exactly #<Commit id:59e29889be61e6e0e5e223bfa9ac2721d31605b8 private-project-author/project197@59e29889be61e6e0e5e223bfa9ac2721d31605b8>3155 when the user is a master3156 is expected to contain exactly #<Commit id:59e29889be61e6e0e5e223bfa9ac2721d31605b8 private-project-author/project198@59e29889be61e6e0e5e223bfa9ac2721d31605b8>3157 when the user is a reporter3158 is expected to contain exactly #<Commit id:59e29889be61e6e0e5e223bfa9ac2721d31605b8 private-project-author/project199@59e29889be61e6e0e5e223bfa9ac2721d31605b8>3159 by commit hash3160 shows commit by short hash id3161 shows commit by full hash id3162 handles not existing commit hash correctly3163 behaves like access restricted commits3164 when project is internal3165 searches if user is authenticated3166 when the user is not authenticated3167 does not search3168 when project is private3169 when the user is not authenticated3170 does not show commit to stranger3171 team access3172 when the user is the creator3173 is expected to contain exactly #<Commit id:0b4bc9a49b562e85de7cc9e834518ea6828729b9 private-project-author/project206@0b4bc9a49b562e85de7cc9e834518ea6828729b9>3174 when the user is a master3175 is expected to contain exactly #<Commit id:0b4bc9a49b562e85de7cc9e834518ea6828729b9 private-project-author/project207@0b4bc9a49b562e85de7cc9e834518ea6828729b9>3176 when the user is a reporter3177 is expected to contain exactly #<Commit id:0b4bc9a49b562e85de7cc9e834518ea6828729b9 private-project-author/project208@0b4bc9a49b562e85de7cc9e834518ea6828729b9>3178 user search3179 returns the user belonging to the project matching the search query3180 returns the user belonging to the group matching the search query3181 when multiple projects provided3182 returns users belonging to projects matching the search query3183Gitlab::Diff::PositionTracer::LineStrategy3184 #trace3185 diff scenarios3186 when the file was created in the old diff3187 when the file is created in the new diff3188 when the position pointed at an added line in the old diff3189 when the file's content was unchanged between the old and the new diff3190 returns the new position3191 when the position is multiline3192 returns the new position along with line_range3193 when the file's content was changed between the old and the new diff3194 when that line was unchanged between the old and the new diff3195 returns the new position3196 when that line was moved between the old and the new diff3197 returns the new position3198 when that line was changed between the old and the new diff3199 returns the position of the change3200 when that line was deleted between the old and the new diff3201 returns the position of the change3202 when the file is changed in the new diff3203 when the position pointed at an added line in the old diff3204 when the file's content was unchanged between the old and the new diff3205 returns the new position3206 when the file's content was changed between the old and the new diff3207 when that line was unchanged between the old and the new diff3208 returns the new position3209 when that line was moved between the old and the new diff3210 returns the new position3211 when that line was changed between the old and the new diff3212 returns the position of the change3213 when that line was deleted between the old and the new diff3214 returns the position of the change3215 when the file is renamed in the new diff3216 when the position pointed at an added line in the old diff3217 when the file's content was unchanged between the old and the new diff3218 returns the position of the change3219 when the position is multiline3220 returns the new position3221 when the file's content was changed between the old and the new diff3222 when that line was unchanged between the old and the new diff3223 returns the new position3224 when that line was moved between the old and the new diff3225 returns the new position3226 when that line was changed between the old and the new diff3227 returns the position of the change3228 when the file is deleted in the new diff3229 when the position pointed at an added line in the old diff3230 when the file's content was unchanged between the old and the new diff3231 returns the position of the change3232 when the file's content was changed between the old and the new diff3233 when that line was unchanged between the old and the new diff3234 returns the position of the change3235 when that line was moved between the old and the new diff3236 returns the position of the change3237 when that line was changed between the old and the new diff3238 returns the position of the change3239 when that line was deleted between the old and the new diff3240 returns the position of the change3241 when the file is unchanged in the new diff3242 when the position pointed at an added line in the old diff3243 when the file's content was unchanged between the old and the new diff3244 returns the position of the change3245 when the file's content was changed between the old and the new diff3246 when that line was unchanged between the old and the new diff3247 returns the position of the change3248 when that line was moved between the old and the new diff3249 returns the position of the change3250 when that line was changed between the old and the new diff3251 returns the position of the change3252 when that line was deleted between the old and the new diff3253 returns the position of the change3254 when the file was changed in the old diff3255 when the file is created in the new diff3256 when the position pointed at an added line in the old diff3257 when the file's content was unchanged between the old and the new diff3258 returns the new position3259 when the file's content was changed between the old and the new diff3260 when that line was unchanged between the old and the new diff3261 returns the new position3262 when that line was moved between the old and the new diff3263 returns the new position3264 when that line was changed or deleted between the old and the new diff3265 returns the position of the change3266 when the position pointed at a deleted line in the old diff3267 returns the position of the change3268 when the position pointed at an unchanged line in the old diff3269 when the file's content was unchanged between the old and the new diff3270 returns the new position3271 when the file's content was changed between the old and the new diff3272 when that line was unchanged between the old and the new diff3273 returns the new position3274 when that line was moved between the old and the new diff3275 returns the new position3276 when that line was changed or deleted between the old and the new diff3277 returns the position of the change3278 when the file is changed in the new diff3279 when the position pointed at an added line in the old diff3280 when the file's content was unchanged between the old and the new diff3281 returns the new position3282 when the file's content was changed between the old and the new diff3283 when that line was unchanged between the old and the new diff3284 returns the new position3285 when that line was moved between the old and the new diff3286 returns the new position3287 when that line was changed or deleted between the old and the new diff3288 returns the position of the change3289 when the position pointed at a deleted line in the old diff3290 when the file's content was unchanged between the old and the new diff3291 returns the new position3292 typical use scenarios3293 simple push of new commit3294 returns the new positions3295 force push to overwrite last commit3296 returns the new positions3297 force push to delete last commit3298 returns the new positions3299 rebase on top of target branch3300 returns the new positions3301 merge of target branch3302 returns the new positions3303 changing target branch3304 returns the new positions3305Milestone3306 modules3307 with a project3308 behaves like AtomicInternalId3309 .has_internal_id3310 Module inclusion3311 is expected to includes the AtomicInternalId module3312 Validation3313 when presence validation is required3314 when creating an object3315 raises an error if the internal id is blank3316 when updating an object3317 raises an error if the internal id is blank3318 when presence validation is not required3319 when creating an object3320 does not raise an error if the internal id is blank (PENDING: No reason given)3321 when updating an object3322 does not raise an error if the internal id is blank (PENDING: No reason given)3323 Creating an instance3324 saves a new instance properly3325 internal id generation3326 calls InternalId.generate_next and sets internal id attribute3327 does not overwrite an existing internal id3328 when the instance has an internal ID set3329 calls InternalId.update_last_value and sets the `last_value` to that of the instance3330 unsetting the instance internal id on rollback3331 when the internal id has been changed3332 when the internal id is automatically set3333 clears it on the instance3334 when the internal id is manually set3335 does not clear it on the instance3336 when the internal id has not been changed3337 preserves the value on the instance3338 supply of internal ids3339 provides a persistent supply of IID values, sensitive to the current state3340 #reset_scope_internal_id_attribute3341 rewinds the allocated IID3342 allocates the same IID3343 with a group3344 behaves like AtomicInternalId3345 .has_internal_id3346 Module inclusion3347 is expected to includes the AtomicInternalId module3348 Validation3349 when presence validation is required3350 when creating an object3351 raises an error if the internal id is blank3352 when updating an object3353 raises an error if the internal id is blank3354 when presence validation is not required3355 when creating an object3356 does not raise an error if the internal id is blank (PENDING: No reason given)3357 when updating an object3358 does not raise an error if the internal id is blank (PENDING: No reason given)3359 Creating an instance3360 saves a new instance properly3361 internal id generation3362 calls InternalId.generate_next and sets internal id attribute3363 does not overwrite an existing internal id3364 when the instance has an internal ID set3365 calls InternalId.update_last_value and sets the `last_value` to that of the instance3366 unsetting the instance internal id on rollback3367 when the internal id has been changed3368 when the internal id is automatically set3369 clears it on the instance3370 when the internal id is manually set3371 does not clear it on the instance3372 when the internal id has not been changed3373 preserves the value on the instance3374 supply of internal ids3375 provides a persistent supply of IID values, sensitive to the current state3376 #reset_scope_internal_id_attribute3377 rewinds the allocated IID3378 allocates the same IID3379 behaves like a timebox3380 Validation3381 start_date3382 adds an error when start_date is greater then due_date3383 adds an error when start_date is greater than 9999-12-313384 due_date3385 adds an error when due_date is greater than 9999-12-313386 Associations3387 is expected to have many issues3388 is expected to have many merge_requests3389 is expected to have many labels through issues3390 #timebox_name3391 returns the name of the model3392 #safe_title3393 normalizes the title for use as a slug3394 #title3395 sanitizes title3396 #to_ability_name3397 returns timebox3398 .within_timeframe3399 can find overlapping timeboxes3400 #uniqueness_of_title3401 per project3402 does not accept the same title in a project twice3403 accepts the same title in another project3404 per group3405 does not accept the same title in a group twice3406 does not accept the same title of a child project timebox3407 MilestoneStruct#serializable_hash3408 presents the predefined milestone as a hash3409 Validation3410 title3411 is expected to validate that :title cannot be empty/falsy3412 is invalid if title would be empty after sanitation3413 milestone_releases3414 when it is tied to a release for another project3415 creates a validation error3416 when it is tied to a release for the same project3417 is valid3418 #parent_type_check3419 is invalid if it has both project_id and group_id3420 Associations3421 is expected to belong to project required: false3422 is expected to belong to group required: false3423 is expected to have many releases3424 is expected to have many milestone_releases3425 .predefined_id?3426 returns true for a predefined Milestone ID3427 returns false for a Milestone ID that is not predefined3428 .order_by_name_asc3429 sorts by name ascending3430 .reorder_by_due_date_asc3431 reorders the input relation3432 behaves like within_timeframe scope3433 .within_timeframe3434 returns resources with start_date and/or end_date between timeframe3435 returns resources which starts before the timeframe3436 returns resources which ends after the timeframe3437 #percent_complete3438 does not count open issues3439 counts closed issues3440 recovers from dividing by zero3441 #expired? and #expired3442 expired3443 returns true when due_date is in the past3444 not expired3445 returns false when due_date is in the future3446 #upcoming?3447 returns true when start_date is in the future3448 returns false when start_date is in the past3449 #can_be_closed?3450 returns true if milestone active and all nested issues closed3451 returns false if milestone active and not all nested issues closed3452 #to_ability_name3453 returns milestone3454 .search3455 returns milestones with a matching title3456 returns milestones with a partially matching title3457 returns milestones with a matching title regardless of the casing3458 returns milestones with a matching description3459 returns milestones with a partially matching description3460 returns milestones with a matching description regardless of the casing3461 #search_title3462 returns milestones with a matching title3463 returns milestones with a partially matching title3464 returns milestones with a matching title regardless of the casing3465 searches only on the title and ignores milestones with a matching description3466 behaves like #for_projects_and_groups3467 #for_projects_and_groups3468 returns no records if projects and groups are nil3469 ids as params3470 behaves like filters by projects and groups3471 returns milestones filtered by project3472 returns milestones filtered by group3473 returns milestones filtered by both project and group3474 relations as params3475 behaves like filters by projects and groups3476 returns milestones filtered by project3477 returns milestones filtered by group3478 returns milestones filtered by both project and group3479 objects as params3480 behaves like filters by projects and groups3481 returns milestones filtered by project3482 returns milestones filtered by group3483 returns milestones filtered by both project and group3484 .upcoming_ids3485 returns the next upcoming open milestone ID for each project and group3486 when the projects and groups have no open upcoming milestones3487 returns no results3488 #to_reference3489 for a project milestone3490 returns a String reference to the object3491 returns a reference by name when the format is set to :name3492 supports a cross-project reference3493 for a group milestone3494 returns a group milestone reference with a default format3495 returns a reference by name when the format is set to :name3496 does supports cross-project references within a group3497 raises an error when using iid format3498 #reference_link_text3499 returns the title with the reference prefix3500 #participants3501 returns participants without duplicates3502 .sort_with_expired_last3503 ordering by due_date ascending3504 sorts by due date in ascending order (ties broken by id in desc order)3505 ordering by due_date descending3506 sorts by due date in descending order (ties broken by id in desc order)3507 .sort_by_attribute3508 ordering by name ascending3509 sorts by title ascending3510 ordering by name descending3511 sorts by title descending3512 .states_count3513 when the projects have milestones3514 returns the quantity of milestones in each possible state3515 when the projects do not have milestones3516 returns 0 as the quantity of global milestones in each state3517 .reference_pattern3518 is expected to match "gitlab-org/gitlab-ce%123"3519 is expected to match "gitlab-org/gitlab-ce%\"my-milestone\""3520 .link_reference_pattern3521 is expected to match "http://localhost/gitlab-org/gitlab-foss/milestones/123"3522 is expected to match "http://localhost/gitlab-org/gitlab-foss/-/milestones/123"3523 is expected not to match "http://localhost/gitlab-org/gitlab-foss/issues/123"3524 is expected not to match "gitlab-org/gitlab-ce/milestones/123"3525 #merge_requests_enabled?3526 per project3527 is true for projects with MRs enabled3528 is false for projects with MRs disabled3529 is false for projects with repository disabled3530 per group3531 is always true for groups, for performance reasons3532 #resource_parent3533 when group is present3534 returns the group3535 when project is present3536 returns the project3537 #parent3538 with group3539 returns the expected parent3540 with project3541 returns the expected parent3542 #subgroup_milestone3543 parent is subgroup3544 returns true3545 parent is not subgroup3546 returns false3547 #project_milestone?3548 when project_id is present3549 returns true3550 when project_id is not present3551 returns false3552 #group_milestone?3553 when group_id is present3554 returns true3555 when group_id is not present3556 returns false3557Database::BatchedBackgroundMigration::CiDatabaseWorker3558 behaves like it runs batched background migration jobs3559 defining the job attributes3560 defines the data_consistency as always3561 defines the feature_category as database3562 defines the idempotency as true3563 .tracking_database3564 does not raise an error3565 overrides the method to return the tracking database3566 .lease_key3567 does not raise an error3568 returns the lease key3569 .enabled?3570 returns true when execute_batched_migrations_on_schedule feature flag is enabled3571 returns false when execute_batched_migrations_on_schedule feature flag is disabled3572 #perform3573 when the base model does not exist3574 does nothing (PENDING: because the base model for ci exists)3575 logs a message indicating execution is skipped (PENDING: because the base model for ci exists)3576 when the base model does exist3577 when the tracking database is shared3578 does nothing (PENDING: Skipping because database ci exists)3579 when the tracking database is not shared3580 when the feature flag is disabled3581 does nothing3582 when the feature flag is enabled3583 when database config is shared3584 does nothing3585 when no active migrations exist3586 when parallel execution is disabled3587 does nothing3588 when parallel execution is enabled3589 does nothing3590 when active migrations exist3591 when parallel execution is disabled3592 always cleans up the exclusive lease3593 delegetes the execution to ExecutionWorker3594 when the calculated timeout is less than the minimum allowed3595 sets the lease timeout to the minimum value3596 when parallel execution is enabled3597 delegetes the execution to ExecutionWorker3598 executing an entire migration3599 when parallel execution is disabled3600 assigns proper feature category to the context and the worker3601 behaves like batched background migration execution3602 marks the migration record as finished3603 creates job records for each processed batch3604 marks all job records as succeeded3605 updates matching records in the range3606 does not update non-matching records in the range3607 health status3608 puts migration on hold when there is autovaccum activity on related tables3609 puts migration on hold when the pending WAL count is above the limit3610 when parallel execution is enabled3611 behaves like batched background migration execution3612 marks the migration record as finished3613 creates job records for each processed batch3614 marks all job records as succeeded3615 updates matching records in the range3616 does not update non-matching records in the range3617 health status3618 puts migration on hold when there is autovaccum activity on related tables3619 puts migration on hold when the pending WAL count is above the limit3620Gitlab::Email::Handler::ServiceDeskHandler3621 service desk is enabled for the project3622 when everything is fine3623 attaches existing CRM contacts3624 behaves like a new issue request3625 creates a new issue3626 creates an issue_email_participant3627 sends thank you email3628 adds metric events for incoming and reply emails3629 with legacy incoming email address3630 behaves like a new issue request3631 creates a new issue3632 creates an issue_email_participant3633 sends thank you email3634 adds metric events for incoming and reply emails3635 when replying to issue creation email3636 when an issue with message_id has been found3637 does not create an additional issue3638 adds a comment to the created issue3639 does not send thank you email3640 when issue_email_participants FF is enabled3641 creates 2 issue_email_participants3642 when issue_email_participants FF is disabled3643 creates only 1 issue_email_participant3644 when an issue with message_id has not been found3645 creates a new issue correctly3646 sends thank you email once3647 creates 1 issue_email_participant3648 when using issue templates3649 and template is present3650 appends template text to issue description3651 when quick actions are present3652 applies quick action commands present on templates3653 applies group labels using quick actions3654 redacts quick actions present on user email body3655 when issues are set to private3656 applies quick action commands present on templates3657 and template cannot be found3658 does not append template text to issue description3659 creates support bot note on issue3660 does not send warning note email3661 when all lines of email are quoted3662 creates email with correct body3663 when using custom service desk address3664 when using project key3665 behaves like a new issue request3666 creates a new issue3667 creates an issue_email_participant3668 sends thank you email3669 adds metric events for incoming and reply emails3670 when there is no project with the key3671 bounces the email3672 when the project slug does not match3673 bounces the email3674 when there are multiple projects with same key3675 process email for project with matching slug3676 when project key is not set3677 behaves like a new issue request3678 creates a new issue3679 creates an issue_email_participant3680 sends thank you email3681 adds metric events for incoming and reply emails3682 when issue email creation fails3683 still creates a new issue3684 does not create issue email record3685 when rate limiting is in effect3686 when too many requests are sent by one user3687 raises an error3688 creates 1 issue3689 when requests are sent by different users3690 creates 2 issues3691 when limit is higher than sent emails3692 creates 2 issues3693 #can_handle?3694 handles the new email key format3695 handles the legacy email key format3696 doesn't handle invalid email key3697 when there is no from address3698 creates a new issue3699 does not send thank you email3700 when there is a sender address and a from address3701 prefers the from address3702 when service desk is not enabled for project3703 does not create an issue3704 does not send thank you email3705 when the email is forwarded through an alias3706 behaves like a new issue request3707 creates a new issue3708 creates an issue_email_participant3709 sends thank you email3710 adds metric events for incoming and reply emails3711 when the email is forwarded3712 behaves like a new issue request3713 creates a new issue3714 creates an issue_email_participant3715 sends thank you email3716 adds metric events for incoming and reply emails3717 service desk is disabled for the project3718 bounces the email3719 doesn't create an issue3720Ci::RetryPipelineService#execute3721 when user has full ability to modify pipeline3722 closes all todos about failed jobs for pipeline3723 reprocesses the pipeline3724 when there are already retried jobs present3725 does not retry jobs that has already been retried3726 when there are failed builds in the last stage3727 enqueues all builds in the last stage3728 when there are failed or canceled builds in the first stage3729 retries builds failed builds and marks subsequent for processing3730 changes ownership of subsequent builds3731 when there is failed build present which was run on failure3732 retries builds only in the first stage3733 creates a new job for report job in this case3734 when there is a failed test in a DAG3735 retries the test3736 when there is a failed DAG test without needs3737 retries the test3738 when the last stage was skipped3739 retries builds only in the first stage3740 when pipeline contains manual actions3741 when there are optional manual actions only3742 when there is a canceled manual action in first stage3743 retries failed builds and marks subsequent for processing3744 changes ownership of subsequent builds3745 when pipeline has blocking manual actions defined3746 when pipeline retry should enqueue builds3747 retries failed builds3748 when pipeline retry should block pipeline immediately3749 reprocesses blocking manual action and blocks pipeline3750 when there is a skipped manual action in last stage3751 retries canceled job and reprocesses manual actions3752 when there is a created manual action in the last stage3753 retries canceled job and does not update the manual action3754 when there is a created manual action in the first stage3755 retries canceled job and processes the manual action3756 when there is a failed manual action3757 processes the manual action3758 when pipeline has processables with nil scheduling_type3759 populates scheduling_type of processables3760 when the pipeline is a downstream pipeline and the bridge is depended3761 without permission3762 does nothing to the bridge3763 with permission3764 marks source bridge as pending3765 assigns the current user to the source bridge3766 when there are skipped jobs in later stages3767 retries failed jobs and processes skipped jobs3768 when user is not allowed to retry build3769 returns an error3770 when user is not allowed to retry pipeline3771 returns an error3772 when user is not allowed to trigger manual action3773 when there is a failed manual action present3774 returns an error3775 when there is a failed manual action in later stage3776 returns an error3777 when maintainer is allowed to push to forked project3778 allows to retry failed pipeline3779Gitlab::SidekiqMiddleware::ServerMetrics3780 behaves like metrics middleware with worker attribution3781 when workers are not attributed3782 behaves like a metrics middleware3783 with mocked prometheus3784 .initialize_process_metrics3785 sets concurrency metrics3786 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3787 when the sidekiq_job_completion_metric_initialize feature flag is disabled3788 sets the concurrency metric3789 does not initialize sidekiq_jobs_completion_seconds3790 #call3791 yields block3792 calls BackgroundTransaction3793 sets queue specific metrics3794 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3795 sets the thread name if it was nil3796 when job_duration is not available3797 does not set the queue_duration_seconds histogram3798 when error is raised3799 sets sidekiq_jobs_failed_total and reraises3800 when job is retried3801 sets sidekiq_jobs_retried_total metric3802 when job is interrupted3803 sets sidekiq_jobs_interrupted_total metric3804 with prometheus integrated3805 #call3806 yields block3807 when error is raised3808 sets sidekiq_jobs_failed_total and reraises3809 when a worker is wrapped into ActiveJob3810 behaves like a metrics middleware3811 with mocked prometheus3812 .initialize_process_metrics3813 sets concurrency metrics3814 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3815 when the sidekiq_job_completion_metric_initialize feature flag is disabled3816 sets the concurrency metric3817 does not initialize sidekiq_jobs_completion_seconds3818 #call3819 yields block3820 calls BackgroundTransaction3821 sets queue specific metrics3822 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3823 sets the thread name if it was nil3824 when job_duration is not available3825 does not set the queue_duration_seconds histogram3826 when error is raised3827 sets sidekiq_jobs_failed_total and reraises3828 when job is retried3829 sets sidekiq_jobs_retried_total metric3830 when job is interrupted3831 sets sidekiq_jobs_interrupted_total metric3832 with prometheus integrated3833 #call3834 yields block3835 when error is raised3836 sets sidekiq_jobs_failed_total and reraises3837 when workers are attributed3838 high urgency3839 behaves like a metrics middleware3840 with mocked prometheus3841 .initialize_process_metrics3842 sets concurrency metrics3843 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3844 when the sidekiq_job_completion_metric_initialize feature flag is disabled3845 sets the concurrency metric3846 does not initialize sidekiq_jobs_completion_seconds3847 #call3848 yields block3849 calls BackgroundTransaction3850 sets queue specific metrics3851 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3852 sets the thread name if it was nil3853 when job_duration is not available3854 does not set the queue_duration_seconds histogram3855 when error is raised3856 sets sidekiq_jobs_failed_total and reraises3857 when job is retried3858 sets sidekiq_jobs_retried_total metric3859 when job is interrupted3860 sets sidekiq_jobs_interrupted_total metric3861 with prometheus integrated3862 #call3863 yields block3864 when error is raised3865 sets sidekiq_jobs_failed_total and reraises3866 no urgency3867 behaves like a metrics middleware3868 with mocked prometheus3869 .initialize_process_metrics3870 sets concurrency metrics3871 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3872 when the sidekiq_job_completion_metric_initialize feature flag is disabled3873 sets the concurrency metric3874 does not initialize sidekiq_jobs_completion_seconds3875 #call3876 yields block3877 calls BackgroundTransaction3878 sets queue specific metrics3879 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3880 sets the thread name if it was nil3881 when job_duration is not available3882 does not set the queue_duration_seconds histogram3883 when error is raised3884 sets sidekiq_jobs_failed_total and reraises3885 when job is retried3886 sets sidekiq_jobs_retried_total metric3887 when job is interrupted3888 sets sidekiq_jobs_interrupted_total metric3889 with prometheus integrated3890 #call3891 yields block3892 when error is raised3893 sets sidekiq_jobs_failed_total and reraises3894 external dependencies3895 behaves like a metrics middleware3896 with mocked prometheus3897 .initialize_process_metrics3898 sets concurrency metrics3899 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3900 when the sidekiq_job_completion_metric_initialize feature flag is disabled3901 sets the concurrency metric3902 does not initialize sidekiq_jobs_completion_seconds3903 #call3904 yields block3905 calls BackgroundTransaction3906 sets queue specific metrics3907 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3908 sets the thread name if it was nil3909 when job_duration is not available3910 does not set the queue_duration_seconds histogram3911 when error is raised3912 sets sidekiq_jobs_failed_total and reraises3913 when job is retried3914 sets sidekiq_jobs_retried_total metric3915 when job is interrupted3916 sets sidekiq_jobs_interrupted_total metric3917 with prometheus integrated3918 #call3919 yields block3920 when error is raised3921 sets sidekiq_jobs_failed_total and reraises3922 cpu boundary3923 behaves like a metrics middleware3924 with mocked prometheus3925 .initialize_process_metrics3926 sets concurrency metrics3927 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3928 when the sidekiq_job_completion_metric_initialize feature flag is disabled3929 sets the concurrency metric3930 does not initialize sidekiq_jobs_completion_seconds3931 #call3932 yields block3933 calls BackgroundTransaction3934 sets queue specific metrics3935 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3936 sets the thread name if it was nil3937 when job_duration is not available3938 does not set the queue_duration_seconds histogram3939 when error is raised3940 sets sidekiq_jobs_failed_total and reraises3941 when job is retried3942 sets sidekiq_jobs_retried_total metric3943 when job is interrupted3944 sets sidekiq_jobs_interrupted_total metric3945 with prometheus integrated3946 #call3947 yields block3948 when error is raised3949 sets sidekiq_jobs_failed_total and reraises3950 memory boundary3951 behaves like a metrics middleware3952 with mocked prometheus3953 .initialize_process_metrics3954 sets concurrency metrics3955 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3956 when the sidekiq_job_completion_metric_initialize feature flag is disabled3957 sets the concurrency metric3958 does not initialize sidekiq_jobs_completion_seconds3959 #call3960 yields block3961 calls BackgroundTransaction3962 sets queue specific metrics3963 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3964 sets the thread name if it was nil3965 when job_duration is not available3966 does not set the queue_duration_seconds histogram3967 when error is raised3968 sets sidekiq_jobs_failed_total and reraises3969 when job is retried3970 sets sidekiq_jobs_retried_total metric3971 when job is interrupted3972 sets sidekiq_jobs_interrupted_total metric3973 with prometheus integrated3974 #call3975 yields block3976 when error is raised3977 sets sidekiq_jobs_failed_total and reraises3978 feature category3979 behaves like a metrics middleware3980 with mocked prometheus3981 .initialize_process_metrics3982 sets concurrency metrics3983 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process3984 when the sidekiq_job_completion_metric_initialize feature flag is disabled3985 sets the concurrency metric3986 does not initialize sidekiq_jobs_completion_seconds3987 #call3988 yields block3989 calls BackgroundTransaction3990 sets queue specific metrics3991 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics3992 sets the thread name if it was nil3993 when job_duration is not available3994 does not set the queue_duration_seconds histogram3995 when error is raised3996 sets sidekiq_jobs_failed_total and reraises3997 when job is retried3998 sets sidekiq_jobs_retried_total metric3999 when job is interrupted4000 sets sidekiq_jobs_interrupted_total metric4001 with prometheus integrated4002 #call4003 yields block4004 when error is raised4005 sets sidekiq_jobs_failed_total and reraises4006 combined4007 behaves like a metrics middleware4008 with mocked prometheus4009 .initialize_process_metrics4010 sets concurrency metrics4011 initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process4012 when the sidekiq_job_completion_metric_initialize feature flag is disabled4013 sets the concurrency metric4014 does not initialize sidekiq_jobs_completion_seconds4015 #call4016 yields block4017 calls BackgroundTransaction4018 sets queue specific metrics4019 sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics4020 sets the thread name if it was nil4021 when job_duration is not available4022 does not set the queue_duration_seconds histogram4023 when error is raised4024 sets sidekiq_jobs_failed_total and reraises4025 when job is retried4026 sets sidekiq_jobs_retried_total metric4027 when job is interrupted4028 sets sidekiq_jobs_interrupted_total metric4029 with prometheus integrated4030 #call4031 yields block4032 when error is raised4033 sets sidekiq_jobs_failed_total and reraises4034 DB load balancing4035 #call4036 when worker declares data consistency4037 increments load balancing counter with defined data consistency4038 when worker does not declare data consistency4039 increments load balancing counter with default data consistency4040 feature attribution4041 when a worker has a feature category4042 uses that category for metrics4043 when a worker does not have a feature category4044 uses the category from the context for metrics4045SubmoduleHelper4046 as view helpers in view context4047 behaves like submodule_links4048 submodule on self4049 detects ssh on standard port4050 detects ssh on standard port without a username4051 detects ssh on non-standard port4052 detects ssh on non-standard port without a username4053 detects http on standard port4054 detects http on non-standard port4055 works with relative_url_root4056 works with subgroups4057 submodule on gist.github.com4058 detects ssh4059 detects http4060 detects https4061 handles urls with no .git on the end4062 returns original with non-standard url4063 submodule on github.com4064 detects ssh4065 detects http4066 detects https4067 handles urls with no .git on the end4068 returns original with non-standard url4069 in-repository submodule4070 in-repository4071 submodule on gitlab.com4072 detects ssh4073 detects http4074 detects https4075 handles urls with no .git on the end4076 handles urls with trailing whitespace4077 returns original with non-standard url4078 submodule on unsupported4079 sanitizes unsupported protocols4080 sanitizes unsupported protocols disguised as a repository URL4081 sanitizes invalid URL with extended ASCII4082 returns original4083 submodules with relative links4084 handles project under same group4085 handles trailing whitespace4086 handles project under another top group4087 repo path resolves to be located at root (namespace absent)4088 returns nil4089 repo path resolves to be located underneath current project path4090 returns nil because it is not possible to have repo nested under another repo4091 subgroup4092 handles referencing descendent group's project4093 handles referencing another top group's project4094 project in sub group4095 handles referencing ancestor group's project4096 personal project4097 handles referencing another personal project4098 unknown submodule4099 returns no links4100 as stand-alone module4101 behaves like submodule_links4102 submodule on self4103 detects ssh on standard port4104 detects ssh on standard port without a username4105 detects ssh on non-standard port4106 detects ssh on non-standard port without a username4107 detects http on standard port4108 detects http on non-standard port4109 works with relative_url_root4110 works with subgroups4111 submodule on gist.github.com4112 detects ssh4113 detects http4114 detects https4115 handles urls with no .git on the end4116 returns original with non-standard url4117 submodule on github.com4118 detects ssh4119 detects http4120 detects https4121 handles urls with no .git on the end4122 returns original with non-standard url4123 in-repository submodule4124 in-repository4125 submodule on gitlab.com4126 detects ssh4127 detects http4128 detects https4129 handles urls with no .git on the end4130 handles urls with trailing whitespace4131 returns original with non-standard url4132 submodule on unsupported4133 sanitizes unsupported protocols4134 sanitizes unsupported protocols disguised as a repository URL4135 sanitizes invalid URL with extended ASCII4136 returns original4137 submodules with relative links4138 handles project under same group4139 handles trailing whitespace4140 handles project under another top group4141 repo path resolves to be located at root (namespace absent)4142 returns nil4143 repo path resolves to be located underneath current project path4144 returns nil because it is not possible to have repo nested under another repo4145 subgroup4146 handles referencing descendent group's project4147 handles referencing another top group's project4148 project in sub group4149 handles referencing ancestor group's project4150 personal project4151 handles referencing another personal project4152 unknown submodule4153 returns no links4154BlobHelper4155 #sanitize_svg_data4156 retains essential elements4157 #edit_blob_button4158 does not render edit button when blob is not text4159 uses the passed blob instead retrieve from repository4160 returns a link with the proper route4161 returns a link with the passed link_opts on the expected route4162 #relative_raw_path4163 pointing from '/file.md' to '/-/raw/main/'4164 pointing from '/test/file.md' to '/-/raw/main/test/'4165 pointing from '/another/test/file.md' to '/-/raw/main/another/test/'4166 viewer related4167 #blob_render_error_reason4168 for error :too_large4169 when the blob size is larger than the absolute size limit4170 returns an error message4171 when the blob size is larger than the size limit4172 returns an error message4173 for error :server_side_but_stored_externally4174 returns an error message4175 #blob_render_error_options4176 for error :collapsed4177 includes a "load it anyway" link4178 for error :too_large4179 does not include a "load it anyway" link4180 includes a "download it" link4181 when the viewer is rich4182 the blob is rendered as text4183 includes a "view the source" link4184 the blob is not rendered as text4185 does not include a "view the source" link4186 when the viewer is not rich4187 does not include a "view the source" link4188 for error :server_side_but_stored_externally4189 does not include a "load it anyway" link4190 does not include a "view the source" link4191 includes a "download it" link4192 #show_suggest_pipeline_creation_celebration?4193 when file is a pipeline config file4194 is true4195 file is invalid format4196 is false4197 does not use the default ci config4198 is false4199 does not have the needed cookie4200 is false4201 blob does not have auxiliary view4202 is false4203 when file is not a pipeline config file4204 is false4205 suggest_pipeline_commit_cookie_name4206 uses project id to make up the cookie name4207 #ide_edit_path4208 returns full IDE path4209 returns full IDE path with second -4210 returns IDE path without relative_url_root4211 escapes special characters4212 does not escape "/" character4213 when user is not logged in4214 returns IDE path inside the project4215 when user cannot push to the project4216 returns IDE path with the user's fork4217 #ide_merge_request_path4218 returns IDE path for the given MR if MR is not merged4219 when the MR comes from a fork4220 returns IDE path for MR in the forked repo with target project included as param4221 when the MR is merged4222 returns default IDE url with master branch4223 includes file path passed4224 when target branch exists4225 returns IDE edit url with the target branch4226 #ide_fork_and_edit_path4227 returns path to fork the repo with a redirect param to the full IDE path4228 does not include notice params with_notice: false4229 when user is not logged in4230 returns nil4231 #fork_and_edit_path4232 returns path to fork the repo with a redirect param to the full edit path4233 when user is not logged in4234 returns nil4235 #editing_ci_config?4236 when path is nil4237 is expected to be falsey4238 when path is not a ci file4239 is expected to be falsey4240 when path ends is gitlab-ci.yml4241 is expected to be truthy4242 when path ends with gitlab-ci.yml4243 is expected to be truthy4244 with custom ci paths4245 is expected to be truthy4246 with custom ci config and path4247 is expected to be truthy4248MergeRequests::RebaseService4249 #validate4250 is expected to be success4251 when source branch does not exist4252 returns an error4253 when user has no permissions to rebase4254 returns an error4255 when branch is protected4256 returns an error4257 #execute4258 behaves like sequence of failure and success4259 properly clears the error message4260 when unexpected error occurs4261 saves a generic error message4262 returns an error4263 logs the error4264 with a pre-receive failure4265 saves a specific message4266 returns an error4267 with git command failure4268 saves a generic error message4269 returns an error4270 valid params4271 clears rebase_jid4272 behaves like a service that can execute a successful rebase4273 rebases source branch4274 records the new SHA on the merge request4275 logs correct author and committer4276 when skip_ci flag is set4277 behaves like a service that can execute a successful rebase4278 rebases source branch4279 records the new SHA on the merge request4280 logs correct author and committer4281 fork4282 successful fork rebase4283 rebases source branch4284TemplateFinder4285 #build4286 type: :dockerfiles, expected_class: TemplateFinder4287 is expected to be a kind of TemplateFinder4288 is expected to eq #<Project id:1035 namespace536/project420>>4289 type: :gitignores, expected_class: TemplateFinder4290 is expected to be a kind of TemplateFinder4291 is expected to eq #<Project id:1041 namespace538/project422>>4292 type: :gitlab_ci_ymls, expected_class: TemplateFinder4293 is expected to be a kind of TemplateFinder4294 is expected to eq #<Project id:1047 namespace540/project424>>4295 type: :licenses, expected_class: LicenseTemplateFinder4296 is expected to be a kind of LicenseTemplateFinder4297 is expected to eq #<Project id:1053 namespace542/project426>>4298 type: :metrics_dashboard_ymls, expected_class: TemplateFinder4299 is expected to be a kind of TemplateFinder4300 is expected to eq #<Project id:1059 namespace544/project428>>4301 type: :issues, expected_class: TemplateFinder4302 is expected to be a kind of TemplateFinder4303 is expected to eq #<Project id:1065 namespace546/project430>>4304 type: :merge_requests, expected_class: TemplateFinder4305 is expected to be a kind of TemplateFinder4306 is expected to eq #<Project id:1071 namespace548/project432>>4307 #execute4308 when no project is passed in4309 behaves like fetches predefined vendor templates4310 type: :dockerfiles, vendored_name: "Binary"4311 returns all vendored templates when no name is specified4312 with name param4313 returns only the specified vendored template when a name is specified4314 with mistaken name param4315 returns nil when an unknown name is specified4316 type: :gitignores, vendored_name: "Actionscript"4317 returns all vendored templates when no name is specified4318 with name param4319 returns only the specified vendored template when a name is specified4320 with mistaken name param4321 returns nil when an unknown name is specified4322 type: :gitlab_ci_ymls, vendored_name: "Android"4323 returns all vendored templates when no name is specified4324 with name param4325 returns only the specified vendored template when a name is specified4326 with mistaken name param4327 returns nil when an unknown name is specified4328 type: :metrics_dashboard_ymls, vendored_name: "Default"4329 returns all vendored templates when no name is specified4330 with name param4331 returns only the specified vendored template when a name is specified4332 with mistaken name param4333 returns nil when an unknown name is specified4334 behaves like no issues and merge requests templates available4335 with issue and merge request templates4336 type: :issues, vendored_name: nil4337 when fetching all templates4338 returns empty array4339 when looking for specific template by name4340 raises an error4341 type: :merge_requests, vendored_name: nil4342 when fetching all templates4343 returns empty array4344 when looking for specific template by name4345 raises an error4346 when project has no repository4347 behaves like fetches predefined vendor templates4348 type: :dockerfiles, vendored_name: "Binary"4349 returns all vendored templates when no name is specified4350 with name param4351 returns only the specified vendored template when a name is specified4352 with mistaken name param4353 returns nil when an unknown name is specified4354 type: :gitignores, vendored_name: "Actionscript"4355 returns all vendored templates when no name is specified4356 with name param4357 returns only the specified vendored template when a name is specified4358 with mistaken name param4359 returns nil when an unknown name is specified4360 type: :gitlab_ci_ymls, vendored_name: "Android"4361 returns all vendored templates when no name is specified4362 with name param4363 returns only the specified vendored template when a name is specified4364 with mistaken name param4365 returns nil when an unknown name is specified4366 type: :metrics_dashboard_ymls, vendored_name: "Default"4367 returns all vendored templates when no name is specified4368 with name param4369 returns only the specified vendored template when a name is specified4370 with mistaken name param4371 returns nil when an unknown name is specified4372 behaves like no issues and merge requests templates available4373 with issue and merge request templates4374 type: :issues, vendored_name: nil4375 when fetching all templates4376 returns empty array4377 when looking for specific template by name4378 raises an error4379 type: :merge_requests, vendored_name: nil4380 when fetching all templates4381 returns empty array4382 when looking for specific template by name4383 raises an error4384 when project has a repository4385 behaves like fetches predefined vendor templates4386 type: :dockerfiles, vendored_name: "Binary"4387 returns all vendored templates when no name is specified4388 with name param4389 returns only the specified vendored template when a name is specified4390 with mistaken name param4391 returns nil when an unknown name is specified4392 type: :gitignores, vendored_name: "Actionscript"4393 returns all vendored templates when no name is specified4394 with name param4395 returns only the specified vendored template when a name is specified4396 with mistaken name param4397 returns nil when an unknown name is specified4398 type: :gitlab_ci_ymls, vendored_name: "Android"4399 returns all vendored templates when no name is specified4400 with name param4401 returns only the specified vendored template when a name is specified4402 with mistaken name param4403 returns nil when an unknown name is specified4404 type: :metrics_dashboard_ymls, vendored_name: "Default"4405 returns all vendored templates when no name is specified4406 with name param4407 returns only the specified vendored template when a name is specified4408 with mistaken name param4409 returns nil when an unknown name is specified4410 behaves like fetches issues and merge requests templates4411 type: :issues, template_name: "project_issues_template"4412 returns all repository template files for issues and merge requests4413 with name param4414 returns only the specified vendored template when a name is specified4415 with mistaken name param4416 raises an error when an unknown name is specified4417 type: :merge_requests, template_name: "project_merge_requests_template"4418 returns all repository template files for issues and merge requests4419 with name param4420 returns only the specified vendored template when a name is specified4421 with mistaken name param4422 raises an error when an unknown name is specified4423 #template_names4424 type: :dockerfiles, vendored_name: "Binary"4425 when no project is passed in4426 returns all vendored templates when no name is specified4427 when project has no repository4428 returns all vendored templates when no name is specified4429 when project has a repository4430 returns all vendored templates when no name is specified4431 template names hash keys4432 has all the expected keys4433 type: :gitignores, vendored_name: "Actionscript"4434 when no project is passed in4435 returns all vendored templates when no name is specified4436 when project has no repository4437 returns all vendored templates when no name is specified4438 when project has a repository4439 returns all vendored templates when no name is specified4440 template names hash keys4441 has all the expected keys4442 type: :gitlab_ci_ymls, vendored_name: "Android"4443 when no project is passed in4444 returns all vendored templates when no name is specified4445 when project has no repository4446 returns all vendored templates when no name is specified4447 when project has a repository4448 returns all vendored templates when no name is specified4449 template names hash keys4450 has all the expected keys4451 type: :metrics_dashboard_ymls, vendored_name: "Default"4452 when no project is passed in4453 returns all vendored templates when no name is specified4454 when project has no repository4455 returns all vendored templates when no name is specified4456 when project has a repository4457 returns all vendored templates when no name is specified4458 template names hash keys4459 has all the expected keys4460 type: :issues, template_name: "project_issues_template"4461 when no project is passed in4462 returns all vendored templates when no name is specified4463 when project has no repository4464 returns all vendored templates when no name is specified4465 when project has a repository4466 returns all vendored templates when no name is specified4467 template names hash keys4468 has all the expected keys4469 type: :merge_requests, template_name: "project_merge_requests_template"4470 when no project is passed in4471 returns all vendored templates when no name is specified4472 when project has no repository4473 returns all vendored templates when no name is specified4474 when project has a repository4475 returns all vendored templates when no name is specified4476 template names hash keys4477 has all the expected keys4478MergeRequests::ApprovalService4479 #execute4480 with invalid approval4481 does not reset approvals4482 does not track merge request approve action4483 does not publish MergeRequests::ApprovedEvent4484 behaves like does not trigger GraphQL subscription mergeRequestMergeStatusUpdated4485 is expected not to receive merge_request_merge_status_updated(*(any args)) 0 times4486 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated4487 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times4488 with an already approved MR4489 does not create an approval4490 behaves like does not trigger GraphQL subscription mergeRequestMergeStatusUpdated4491 is expected not to receive merge_request_merge_status_updated(*(any args)) 0 times4492 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated4493 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times4494 with valid approval4495 resets approvals4496 tracks merge request approve action4497 publishes MergeRequests::ApprovedEvent4498 behaves like triggers GraphQL subscription mergeRequestMergeStatusUpdated4499 is expected to receive merge_request_merge_status_updated(#<MergeRequest id:81 namespace574/project458!1>) 1 time4500 behaves like triggers GraphQL subscription mergeRequestReviewersUpdated4501 is expected to receive merge_request_reviewers_updated(#<MergeRequest id:82 namespace575/project459!1>) 1 time4502 behaves like triggers GraphQL subscription mergeRequestApprovalStateUpdated4503 is expected to receive merge_request_approval_state_updated(#<MergeRequest id:83 namespace576/project460!1>) 1 time4504 user cannot update the merge request4505 does not update approvals4506 behaves like does not trigger GraphQL subscription mergeRequestMergeStatusUpdated4507 is expected not to receive merge_request_merge_status_updated(*(any args)) 0 times4508 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated4509 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times4510 behaves like does not trigger GraphQL subscription mergeRequestApprovalStateUpdated4511 is expected not to receive merge_request_approval_state_updated(*(any args)) 0 times4512Issues::ZoomLinkService4513 #add_link4514 without existing Zoom meeting4515 when updating an issue4516 appends the new meeting to zoom_meetings4517 tracks the add event4518 creates a zoom_link_added notification4519 issue is incident type4520 behaves like an incident management tracked event4521 .track_event4522 tracks the event using redis4523 behaves like Snowplow event tracking with RedisHLL context4524 behaves like Snowplow event tracking4525 is emitted4526 with insufficient issue update permissions4527 cannot add the meeting4528 creates no notification4529 when creating an issue4530 creates a new zoom meeting4531 with insufficient issue create permissions4532 cannot add the meeting4533 creates no notification4534 with invalid Zoom url4535 cannot add the meeting4536 creates no notification4537 with "added" Zoom meeting4538 cannot add the meeting4539 creates no notification4540 with "added" Zoom meeting and race condition4541 cannot add the meeting4542 creates no notification4543 #can_add_link?4544 without "added" zoom meeting4545 is expected to eq true4546 with insufficient issue update permissions4547 is expected to eq false4548 with Zoom meeting in the issue description4549 is expected to eq false4550 #remove_link4551 with Zoom meeting4552 with existing issue4553 creates no notification4554 can remove the meeting4555 tracks the remove event4556 without existing issue4557 cannot remove the meeting4558 creates no notification4559 with insufficient issue update permissions4560 cannot remove the meeting4561 creates no notification4562 without "added" Zoom meeting4563 cannot remove the meeting4564 creates no notification4565 #can_remove_link?4566 without Zoom meeting4567 is expected to eq false4568 with only "removed" zoom meetings4569 is expected to eq false4570 with "added" Zoom meeting4571 is expected to eq true4572 with "removed" zoom meetings4573 is expected to eq true4574 with insufficient issue update permissions4575 is expected to eq false4576 #parse_link4577 with valid Zoom links4578 description: "Some text https://zoom.us/j/123456789 more text"4579 is expected to eq "https://zoom.us/j/123456789"4580 description: "Mixed https://zoom.us/j/123456789 http://example.com"4581 is expected to eq "https://zoom.us/j/123456789"4582 description: "Multiple link https://zoom.us/my/name https://zoom.us/j/123456789"4583 is expected to eq "https://zoom.us/j/123456789"4584 with invalid Zoom links4585 description: nil4586 is expected to eq nil4587 description: ""4588 is expected to eq nil4589 description: "Text only"4590 is expected to eq nil4591 description: "Non-Zoom http://example.com"4592 is expected to eq nil4593 description: "Almost Zoom http://zoom.us"4594 is expected to eq nil4595User TokenAuthenticatable4596 behaves like TokenAuthenticatable4597 dynamically defined methods4598 is expected to respond to #find_by_feed_token4599 is expected to respond to #ensure_feed_token4600 is expected to respond to #set_feed_token4601 is expected to respond to #reset_feed_token!4602 SensitiveSerializableHash4603 includes the token field in list of sensitive attributes prevented from serialization4604 ensures authentication token4605 is expected to be a kind of String4606ApplicationSetting TokenAuthenticatable4607 behaves like TokenAuthenticatable4608 dynamically defined methods4609 is expected to respond to #find_by_runners_registration_token4610 is expected to respond to #ensure_runners_registration_token4611 is expected to respond to #set_runners_registration_token4612 is expected to respond to #reset_runners_registration_token!4613 SensitiveSerializableHash4614 includes the token field in list of sensitive attributes prevented from serialization4615 generating new token4616 token is not generated yet4617 token field accessor4618 is expected not to be blank4619 ensure_runners_registration_token4620 is expected to be a kind of String4621 is expected not to be blank4622 does not persist token4623 ensure_runners_registration_token!4624 persists new token as an encrypted string4625 does not persist token in a clear text4626 token is generated4627 persists a new token4628 setting new token4629 is expected to eq "0123456789"4630 multiple token fields4631 is expected to respond to #ensure_runners_registration_token4632 is expected to respond to #ensure_error_tracking_access_token4633 is expected to respond to #ensure_yet_another_token4634 setting same token field multiple times4635 raises error4636PersonalAccessToken TokenAuthenticatable4637 .find_by_token4638 finds the token4639 #set_token4640 sets new token4641 #ensure_token4642 token_digest does not exist4643 behaves like changes personal access token4644 sets new token4645 token_digest already generated4646 behaves like does not change personal access token4647 sets new token4648 #ensure_token!4649 token_digest does not exist4650 behaves like changes personal access token4651 sets new token4652 token_digest already generated4653 behaves like does not change personal access token4654 sets new token4655 #reset_token!4656 token_digest does not exist4657 behaves like changes personal access token4658 sets new token4659 token_digest already generated4660 behaves like changes personal access token4661 sets new token4662Ci::Build TokenAuthenticatable4663 behaves like TokenAuthenticatable4664 dynamically defined methods4665 is expected to respond to #find_by_token4666 is expected to respond to #ensure_token4667 is expected to respond to #set_token4668 is expected to respond to #reset_token!4669 SensitiveSerializableHash4670 includes the token field in list of sensitive attributes prevented from serialization4671 generating new token4672 token is not generated yet4673 token field accessor4674 does not generate a token when saving a build4675 ensure_token4676 is expected to be a kind of String4677 is expected not to be blank4678 does not persist token4679 ensure_token!4680 persists a new token4681 persists new token as an encrypted string4682 does not persist a token in a clear text4683 #reset_token!4684 persists a new token4685 setting a new token4686 returns the token4687 writes a new encrypted token4688 does not write a new cleartext token4689 #token_with_expiration4690 #expirable?4691 is expected to eq false4692Ci::Runner TokenAuthenticatable4693 #token_expired?4694 when runner has no token expiration4695 is expected to eq false4696 when runner token is not expired4697 is expected to eq false4698 when runner token is expired4699 is expected to eq true4700 #token_with_expiration4701 #token4702 is expected to eq "Assa9zasaRNkrbSR3Zew"4703 #token_expires_at4704 is expected to eq 2023-03-30 11:53:42.552872483 +00004705 #expirable?4706 is expected to eq true4707 .find_by_token4708 when runner has no token expiration4709 is expected to eq #<Ci::Runner id: 1, token: nil, created_at: "2023-03-30 11:53:37.538675685 +0000", updated_at: "2023-...at: nil, allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>4710 when runner token is not expired4711 is expected to eq #<Ci::Runner id: 2, token: nil, created_at: "2023-03-30 11:53:37.549090744 +0000", updated_at: "2023-... +0000", allowed_plans: [], registration_type: "registration_token", creator_id: nil, tag_list: nil>4712 when runner token is expired4713 is expected to be nil4714Project TokenAuthenticatable4715 behaves like prefixed token rotation4716 ensure_runners_token4717 token is not set4718 generates a new token4719 token is set, but does not match the prefix4720 generates a new token4721 token is set and matches prefix4722 leaves the token unchanged4723 ensure_runners_token!4724 token is not set4725 generates a new token4726 token is set, but does not match the prefix4727 generates a new token4728 token is set and matches prefix4729 leaves the token unchanged4730Group TokenAuthenticatable4731 behaves like prefixed token rotation4732 ensure_runners_token4733 token is not set4734 generates a new token4735 token is set, but does not match the prefix4736 generates a new token4737 token is set and matches prefix4738 leaves the token unchanged4739 ensure_runners_token!4740 token is not set4741 generates a new token4742 token is set, but does not match the prefix4743 generates a new token4744 token is set and matches prefix4745 leaves the token unchanged4746Gitlab::Database::TablesLocker4747 # order random4748 when running on single database4749 #lock_writes4750 does not lock any table (PENDING: Skipping because database ci exists)4751 behaves like unlock tables4752 unlocks table in schema gitlab_main and database main (PENDING: Skipping because database ci exists)4753 returns list of actions (PENDING: Skipping because database ci exists)4754 behaves like unlock tables4755 unlocks table in schema gitlab_ci and database main (PENDING: Skipping because database ci exists)4756 returns list of actions (PENDING: Skipping because database ci exists)4757 behaves like unlock tables4758 unlocks table in schema gitlab_main_clusterwide and database main (PENDING: Skipping because database ci exists)4759 returns list of actions (PENDING: Skipping because database ci exists)4760 behaves like unlock tables4761 unlocks table in schema gitlab_shared and database main (PENDING: Skipping because database ci exists)4762 returns list of actions (PENDING: Skipping because database ci exists)4763 behaves like unlock tables4764 unlocks table in schema gitlab_internal and database main (PENDING: Skipping because database ci exists)4765 returns list of actions (PENDING: Skipping because database ci exists)4766 #unlock_writes4767 does call Gitlab::Database::LockWritesManager.unlock_writes (PENDING: Skipping because database ci exists)4768 when running on multiple databases4769 #lock_writes4770 behaves like lock tables4771 locks table in schema gitlab_ci and database main4772 returns list of actions4773 behaves like lock tables4774 locks table in schema gitlab_main and database ci4775 returns list of actions4776 behaves like lock tables4777 locks table in schema gitlab_main_clusterwide and database ci4778 returns list of actions4779 behaves like unlock tables4780 unlocks table in schema gitlab_main_clusterwide and database main4781 returns list of actions4782 behaves like unlock tables4783 unlocks table in schema gitlab_main and database main4784 returns list of actions4785 behaves like unlock tables4786 unlocks table in schema gitlab_ci and database ci4787 returns list of actions4788 behaves like unlock tables4789 unlocks table in schema gitlab_shared and database main4790 returns list of actions4791 behaves like unlock tables4792 unlocks table in schema gitlab_shared and database ci4793 returns list of actions4794 behaves like unlock tables4795 unlocks table in schema gitlab_internal and database main4796 returns list of actions4797 behaves like unlock tables4798 unlocks table in schema gitlab_internal and database ci4799 returns list of actions4800 behaves like unlock partitions4801 unlocks the partition4802 behaves like lock partitions4803 locks the partition4804 behaves like unlock partitions4805 unlocks the partition4806 behaves like lock partitions4807 locks the partition4808 #unlock_writes4809 behaves like unlock tables4810 unlocks table in schema gitlab_ci and database main4811 returns list of actions4812 behaves like unlock tables4813 unlocks table in schema gitlab_main and database ci4814 returns list of actions4815 behaves like unlock tables4816 unlocks table in schema gitlab_main and database main4817 returns list of actions4818 behaves like unlock tables4819 unlocks table in schema gitlab_ci and database ci4820 returns list of actions4821 behaves like unlock tables4822 unlocks table in schema gitlab_shared and database main4823 returns list of actions4824 behaves like unlock tables4825 unlocks table in schema gitlab_shared and database ci4826 returns list of actions4827 behaves like unlock tables4828 unlocks table in schema gitlab_internal and database main4829 returns list of actions4830 behaves like unlock tables4831 unlocks table in schema gitlab_internal and database ci4832 returns list of actions4833 behaves like unlock partitions4834 unlocks the partition4835 behaves like unlock partitions4836 unlocks the partition4837 behaves like unlock partitions4838 unlocks the partition4839 behaves like unlock partitions4840 unlocks the partition4841 when running in dry_run mode4842 passes dry_run flag to LockWritesManager4843 when running on multiple shared databases4844 does not lock any tables if the ci database is shared with main database4845 when geo database is configured4846 does not lock table in geo database (PENDING: Geo database is not configured)4847UsersHelper4848 display_public_email?4849 is expected to equal true4850 when user public email is blank4851 is expected to equal false4852 #user_link4853 links to the user's profile4854 has the user's email as title4855 #user_clear_status_at4856 when status exists4857 with clear_status_at set4858 has the correct iso formatted date4859 without clear_status_at set4860 returns nil4861 without status4862 returns nil4863 #profile_tabs4864 with public profile4865 includes all the expected tabs4866 with private profile4867 is empty4868 #user_internal_regex_data4869 user_default_external: false, user_default_internal_regex: nil, result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4870 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4871 user_default_external: false, user_default_internal_regex: "", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4872 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4873 user_default_external: false, user_default_internal_regex: "mockRegexPattern", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4874 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4875 user_default_external: true, user_default_internal_regex: nil, result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4876 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4877 user_default_external: true, user_default_internal_regex: "", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4878 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4879 user_default_external: true, user_default_internal_regex: "mockRegexPattern", result: {:user_internal_regex_pattern=>"mockRegexPattern", :user_internal_regex_options=>"i"}4880 is expected to eq {:user_internal_regex_options=>"i", :user_internal_regex_pattern=>"mockRegexPattern"}4881 #current_user_menu_items4882 includes all default items4883 includes the profile tab if the user can read themself4884 includes the settings tab if the user can update themself4885 when terms are enforced4886 hides the profile and the settings tab4887 #user_badges_in_admin_section4888 with a blocked user4889 returns the blocked badge4890 with a pending approval user4891 returns the pending approval badge4892 with a banned user4893 returns the banned badge4894 with an admin user4895 returns the admin badge4896 with a bot4897 returns the bot badge4898 with an external user4899 returns the external badge4900 with the current user4901 returns the "It's You" badge4902 with an external blocked admin4903 returns the blocked, admin and external badges4904 with a locked user4905 returns the "Locked" badge4906 get badges for normal user4907 returns no badges4908 #can_force_email_confirmation?4909 for a user that is already confirmed4910 is expected to eq false4911 for a user that is not confirmed4912 is expected to eq true4913 #work_information4914 when neither organization nor job_title are present4915 is expected to be nil4916 when user parameter is nil4917 is expected to be nil4918 without schema markup4919 when both job_title and organization are present4920 returns job title concatenated with organization4921 when only organization is present4922 returns organization4923 when only job_title is present4924 returns job title4925 with schema markup4926 when both job_title and organization are present4927 returns job title concatenated with organization4928 when only organization is present4929 returns organization4930 when only job_title is present4931 returns job title4932 #user_display_name4933 for a confirmed user4934 is expected to eq "Sidney Jones1074"4935 for an unconfirmed user4936 is expected to eq "Unconfirmed user"4937 when current user is an admin4938 is expected to eq "Sidney Jones1076"4939 when the current user is self4940 is expected to eq "Sidney Jones1078"4941 for a blocked user4942 is expected to eq "Blocked user"4943 #admin_users_data_attributes4944 users matches the serialized json4945 paths matches the schema4946 #confirm_user_data4947 sets `path` key correctly4948 sets `modal_attributes` key to valid json4949 when `user.unconfirmed_email` is set4950 sets `modal_attributes.messageHtml` correctly4951 when `user.unconfirmed_email` is not set4952 sets `modal_attributes.messageHtml` correctly4953 #user_email_help_text4954 when `user.unconfirmed_email` is not set4955 contains avatar detection text4956 when `user.unconfirmed_email` is set4957 contains resend confirmation e-mail text4958 #admin_user_actions_data_attributes4959 user matches the serialized json4960 paths matches the schema4961 #trials_link_url4962 returns the correct URL4963 #user_profile_tabs_app_data4964 returns expected hash4965 #load_max_project_member_accesses4966 without current_user4967 executes no queries4968 when current_user is present4969 preloads ProjectPolicy#lookup_access_level! and UsersHelper#max_member_project_member_access for current_user in two queries4970GroupDescendantsFinder4971 #has_children?4972 is true when there are projects4973 when there are subgroups4974 is true when there are projects4975 #execute4976 includes projects4977 does not include archived projects4978 does not include projects aimed for deletion4979 sorts elements by name as default4980 does not include projects shared with the group4981 when archived is `true`4982 includes archived projects4983 when archived is `only`4984 includes only archived projects4985 with a filter4986 includes only projects matching the filter4987 sorting by name4988 sorts elements by name4989 with nested groups4990 sorts elements by name4991 with shared groups4992 without common ancestor4993 is expected to be empty4994 with common ancestor4995 querying under the common ancestor4996 is expected to be empty4997 querying the common ancestor4998 contains shared subgroups4999 with nested groups5000 #execute5001 contains projects and subgroups5002 does not include subgroups the user does not have access to5003 only includes public groups when no user is given5004 when archived is `true`5005 includes archived projects in the count of subgroups5006 with a filter5007 behaves like filter examples5008 contains only matching projects and subgroups5009 does not include subgroups the user does not have access to5010 with matching children5011 includes a group that has a subgroup matching the query and its parent5012 includes the parent of a matching project5013 does not include the parent itself5014 with a small page size5015 contains all the ancestors of a matching subgroup regardless the page size5016 when feature flag :linear_group_descendants_finder_upto is disabled5017 behaves like filter examples5018 contains only matching projects and subgroups5019 does not include subgroups the user does not have access to5020 with matching children5021 includes a group that has a subgroup matching the query and its parent5022 includes the parent of a matching project5023 does not include the parent itself5024 with a small page size5025 contains all the ancestors of a matching subgroup regardless the page size5026CommitCollection5027 #each5028 yields every commit5029 .committers5030 returns a relation of users when users are found5031 returns empty array when committers cannot be found5032 excludes authors of merge commits5033 when committer email is nil5034 returns empty array when committers cannot be found5035 #without_merge_commits5036 returns all commits except merge commits5037 #with_latest_pipeline5038 sets the latest pipeline for every commit so no additional queries are necessary5039 performs a single query to fetch pipeline warnings5040 #with_markdown_cache5041 preloads commits cache markdown5042 enrichment methods5043 #unenriched5044 returns all commits that are not backed by gitaly data5045 #fully_enriched?5046 returns true when all commits are backed by gitaly data5047 returns false when any commits are not backed by gitaly data5048 returns true when the collection is empty5049 #enrich!5050 replaces commits in the collection with those backed by gitaly data5051 maintains the original order of the commits5052 fetches data if there are unenriched commits5053 does not fetch data if all commits are enriched5054 returns the original commit if the commit could not be lazy loaded5055 #load_tags5056 loads tags5057 #respond_to_missing?5058 returns true when the underlying Array responds to the message5059 returns false when the underlying Array does not respond to the message5060 #method_missing5061 delegates undefined methods to the underlying Array5062Ci::ProcessBuildService#execute5063 for single build5064 trait: nil, conditions: {:when=>:on_success}, current_status: "success", after_status: "pending", retry_after_status: "pending"5065 updates the job status to after_status5066 when build is set to enqueue immediately5067 updates the job status to retry_after_status5068 trait: nil, conditions: {:when=>:on_success}, current_status: "skipped", after_status: "pending", retry_after_status: "pending"5069 updates the job status to after_status5070 when build is set to enqueue immediately5071 updates the job status to retry_after_status5072 trait: nil, conditions: {:when=>:on_success}, current_status: "failed", after_status: "skipped", retry_after_status: "skipped"5073 updates the job status to after_status5074 when build is set to enqueue immediately5075 updates the job status to retry_after_status5076 trait: nil, conditions: {:when=>:on_failure}, current_status: "success", after_status: "skipped", retry_after_status: "skipped"5077 updates the job status to after_status5078 when build is set to enqueue immediately5079 updates the job status to retry_after_status5080 trait: nil, conditions: {:when=>:on_failure}, current_status: "skipped", after_status: "skipped", retry_after_status: "skipped"5081 updates the job status to after_status5082 when build is set to enqueue immediately5083 updates the job status to retry_after_status5084 trait: nil, conditions: {:when=>:on_failure}, current_status: "failed", after_status: "pending", retry_after_status: "pending"5085 updates the job status to after_status5086 when build is set to enqueue immediately5087 updates the job status to retry_after_status5088 trait: nil, conditions: {:when=>:always}, current_status: "success", after_status: "pending", retry_after_status: "pending"5089 updates the job status to after_status5090 when build is set to enqueue immediately5091 updates the job status to retry_after_status5092 trait: nil, conditions: {:when=>:always}, current_status: "skipped", after_status: "pending", retry_after_status: "pending"5093 updates the job status to after_status5094 when build is set to enqueue immediately5095 updates the job status to retry_after_status5096 trait: nil, conditions: {:when=>:always}, current_status: "failed", after_status: "pending", retry_after_status: "pending"5097 updates the job status to after_status5098 when build is set to enqueue immediately5099 updates the job status to retry_after_status5100 trait: :actionable, conditions: {:when=>:manual}, current_status: "success", after_status: "manual", retry_after_status: "pending"5101 updates the job status to after_status5102 when build is set to enqueue immediately5103 updates the job status to retry_after_status5104 trait: :actionable, conditions: {:when=>:manual}, current_status: "skipped", after_status: "manual", retry_after_status: "pending"5105 updates the job status to after_status5106 when build is set to enqueue immediately5107 updates the job status to retry_after_status5108 trait: :actionable, conditions: {:when=>:manual}, current_status: "failed", after_status: "skipped", retry_after_status: "skipped"5109 updates the job status to after_status5110 when build is set to enqueue immediately5111 updates the job status to retry_after_status5112 trait: :schedulable, conditions: {:when=>:delayed}, current_status: "success", after_status: "scheduled", retry_after_status: "pending"5113 updates the job status to after_status5114 when build is set to enqueue immediately5115 updates the job status to retry_after_status5116 trait: :schedulable, conditions: {:when=>:delayed}, current_status: "skipped", after_status: "scheduled", retry_after_status: "pending"5117 updates the job status to after_status5118 when build is set to enqueue immediately5119 updates the job status to retry_after_status5120 trait: :schedulable, conditions: {:when=>:delayed}, current_status: "failed", after_status: "skipped", retry_after_status: "skipped"5121 updates the job status to after_status5122 when build is set to enqueue immediately5123 updates the job status to retry_after_status5124 when build is scheduled with DAG5125 trait: nil, build_when: :on_success, current_status: "success", after_status: "pending", retry_after_status: "pending"5126 updates the job status to after_status5127 when build is set to enqueue immediately5128 updates the job status to retry_after_status5129 trait: nil, build_when: :on_success, current_status: "skipped", after_status: "skipped", retry_after_status: "skipped"5130 updates the job status to after_status5131 when build is set to enqueue immediately5132 updates the job status to retry_after_status5133 trait: nil, build_when: :manual, current_status: "success", after_status: "manual", retry_after_status: "pending"5134 updates the job status to after_status5135 when build is set to enqueue immediately5136 updates the job status to retry_after_status5137 trait: nil, build_when: :manual, current_status: "skipped", after_status: "skipped", retry_after_status: "skipped"5138 updates the job status to after_status5139 when build is set to enqueue immediately5140 updates the job status to retry_after_status5141 trait: nil, build_when: :delayed, current_status: "success", after_status: "manual", retry_after_status: "pending"5142 updates the job status to after_status5143 when build is set to enqueue immediately5144 updates the job status to retry_after_status5145 trait: nil, build_when: :delayed, current_status: "skipped", after_status: "skipped", retry_after_status: "skipped"5146 updates the job status to after_status5147 when build is set to enqueue immediately5148 updates the job status to retry_after_status5149 trait: :schedulable, build_when: :delayed, current_status: "success", after_status: "scheduled", retry_after_status: "pending"5150 updates the job status to after_status5151 when build is set to enqueue immediately5152 updates the job status to retry_after_status5153 trait: :schedulable, build_when: :delayed, current_status: "skipped", after_status: "skipped", retry_after_status: "skipped"5154 updates the job status to after_status5155 when build is set to enqueue immediately5156 updates the job status to retry_after_status5157Gitlab::Ci::Badge::Pipeline::Status5158 #entity5159 always says pipeline5160 #template5161 returns badge template5162 #metadata5163 returns badge metadata5164 pipeline exists5165 pipeline success5166 #status5167 is successful5168 pipeline failed5169 #status5170 failed5171 when outdated pipeline for given ref exists5172 does not take outdated pipeline into account5173 when multiple pipelines exist for given sha5174 does not take outdated pipeline into account5175 when ignored_skipped is set to true5176 #status5177 uses latest non-skipped status5178 when ignored_skipped is set to false5179 #status5180 uses latest status5181 build does not exist5182 #status5183 is unknown5184Banzai::Filter::MathFilter5185 handles multiple styles in one text block5186 limits how many elements can be marked as math5187 inline math using $...$ syntax5188 with valid syntax5189 text: "$2+2$", result_template: "<p><math>2+2</math></p>"5190 behaves like inline math5191 removes surrounding dollar signs and adds class code, math and js-render-math5192 text: "$22+1$ and $22 + a^2$", result_template: "<p><math>22+1</math> and <math>22 + a^2</math></p>"5193 behaves like inline math5194 removes surrounding dollar signs and adds class code, math and js-render-math5195 text: "$22 and $2+2$", result_template: "<p>$22 and <math>2+2</math></p>"5196 behaves like inline math5197 removes surrounding dollar signs and adds class code, math and js-render-math5198 text: "$2+2$ $22 and flightjs/Flight$22 $2+2$", result_template: "<p><math>2+2</math> $22 and flightjs/Flight$22 <math>2+2</math></p>"5199 behaves like inline math5200 removes surrounding dollar signs and adds class code, math and js-render-math5201 text: "$1/2$ <b>test</b>", result_template: "<p><math>1/2</math> <b>test</b></p>"5202 behaves like inline math5203 removes surrounding dollar signs and adds class code, math and js-render-math5204 text: "$a!$", result_template: "<p><math>a!</math></p>"5205 behaves like inline math5206 removes surrounding dollar signs and adds class code, math and js-render-math5207 text: "$x$", result_template: "<p><math>x</math></p>"5208 behaves like inline math5209 removes surrounding dollar signs and adds class code, math and js-render-math5210 text: "$1+2\\$$", result_template: "<p><math>1+2\\$</math></p>"5211 behaves like inline math5212 removes surrounding dollar signs and adds class code, math and js-render-math5213 text: "$1+\\$2$", result_template: "<p><math>1+\\$2</math></p>"5214 behaves like inline math5215 removes surrounding dollar signs and adds class code, math and js-render-math5216 text: "$1+\\%2$", result_template: "<p><math>1+\\%2</math></p>"5217 behaves like inline math5218 removes surrounding dollar signs and adds class code, math and js-render-math5219 text: "$1+\\#2$", result_template: "<p><math>1+\\#2</math></p>"5220 behaves like inline math5221 removes surrounding dollar signs and adds class code, math and js-render-math5222 text: "$1+\\&2$", result_template: "<p><math>1+\\&2</math></p>"5223 behaves like inline math5224 removes surrounding dollar signs and adds class code, math and js-render-math5225 text: "$1+\\{2$", result_template: "<p><math>1+\\{2</math></p>"5226 behaves like inline math5227 removes surrounding dollar signs and adds class code, math and js-render-math5228 text: "$1+\\}2$", result_template: "<p><math>1+\\}2</math></p>"5229 behaves like inline math5230 removes surrounding dollar signs and adds class code, math and js-render-math5231 text: "$1+\\_2$", result_template: "<p><math>1+\\_2</math></p>"5232 behaves like inline math5233 removes surrounding dollar signs and adds class code, math and js-render-math5234 inline math using $`...`$ syntax5235 with valid syntax5236 text: "$`2+2`$", result_template: "<p><math>2+2</math></p>"5237 behaves like inline math5238 removes surrounding dollar signs and adds class code, math and js-render-math5239 text: "$`22+1`$ and $`22 + a^2`$", result_template: "<p><math>22+1</math> and <math>22 + a^2</math></p>"5240 behaves like inline math5241 removes surrounding dollar signs and adds class code, math and js-render-math5242 text: "$22 and $`2+2`$", result_template: "<p>$22 and <math>2+2</math></p>"5243 behaves like inline math5244 removes surrounding dollar signs and adds class code, math and js-render-math5245 text: "$`2+2`$ $22 and flightjs/Flight$22 $`2+2`$", result_template: "<p><math>2+2</math> $22 and flightjs/Flight$22 <math>2+2</math></p>"5246 behaves like inline math5247 removes surrounding dollar signs and adds class code, math and js-render-math5248 text: "test $$`2+2`$$ test", result_template: "<p>test $<math>2+2</math>$ test</p>"5249 behaves like inline math5250 removes surrounding dollar signs and adds class code, math and js-render-math5251 text: "$`1+\\$2`$", result_template: "<p><math>1+\\$2</math></p>"5252 behaves like inline math5253 removes surrounding dollar signs and adds class code, math and js-render-math5254 inline display math using $$...$$ syntax5255 with valid syntax5256 text: "$$2+2$$", result_template: "<p><math>2+2</math></p>"5257 behaves like display math5258 removes surrounding dollar signs and adds class code, math and js-render-math5259 text: "$$ 2+2 $$", result_template: "<p><math>2+2</math></p>"5260 behaves like display math5261 removes surrounding dollar signs and adds class code, math and js-render-math5262 text: "$$22+1$$ and $$22 + a^2$$", result_template: "<p><math>22+1</math> and <math>22 + a^2</math></p>"5263 behaves like display math5264 removes surrounding dollar signs and adds class code, math and js-render-math5265 text: "$22 and $$2+2$$", result_template: "<p>$22 and <math>2+2</math></p>"5266 behaves like display math5267 removes surrounding dollar signs and adds class code, math and js-render-math5268 text: "$$2+2$$ $22 and flightjs/Flight$22 $$2+2$$", result_template: "<p><math>2+2</math> $22 and flightjs/Flight$22 <math>2+2</math></p>"5269 behaves like display math5270 removes surrounding dollar signs and adds class code, math and js-render-math5271 text: "flightjs/Flight$22 and $$a^2 + b^2 = c^2$$", result_template: "<p>flightjs/Flight$22 and <math>a^2 + b^2 = c^2</math></p>"5272 behaves like display math5273 removes surrounding dollar signs and adds class code, math and js-render-math5274 text: "$$a!$$", result_template: "<p><math>a!</math></p>"5275 behaves like display math5276 removes surrounding dollar signs and adds class code, math and js-render-math5277 text: "$$x$$", result_template: "<p><math>x</math></p>"5278 behaves like display math5279 removes surrounding dollar signs and adds class code, math and js-render-math5280 text: "$$20,000 and $$30,000", result_template: "<p><math>20,000 and</math>30,000</p>"5281 behaves like display math5282 removes surrounding dollar signs and adds class code, math and js-render-math5283 block display math using $$\n...\n$$ syntax5284 with valid syntax5285 text: "$$\n2+2\n$$", result_template: "<math>2+2\n</math>"5286 behaves like display math5287 removes surrounding dollar signs and adds class code, math and js-render-math5288 text: "$$\n2+2\n3+4\n$$", result_template: "<math>2+2\n3+4\n</math>"5289 behaves like display math5290 removes surrounding dollar signs and adds class code, math and js-render-math5291 when it spans multiple lines5292 behaves like display math5293 removes surrounding dollar signs and adds class code, math and js-render-math5294 when it contains \5295 behaves like display math5296 removes surrounding dollar signs and adds class code, math and js-render-math5297 display math using ```math...``` syntax5298 adds data-math-style display attribute to display math5299 adds js-render-math class to display math5300 ignores code blocks that are not math5301 requires the pre to contain both code and math5302 unrecognized syntax5303 text: "`2+2`", result: "<p><code>2+2</code></p>"5304 is ignored5305 text: "test $`2+2` test", result: "<p>test $<code>2+2</code> test</p>"5306 is ignored5307 text: "test `2+2`$ test", result: "<p>test <code>2+2</code>$ test</p>"5308 is ignored5309 text: "$20,000 and $30,000", result: "<p>$20,000 and $30,000</p>"5310 is ignored5311 text: "$20,000 in $USD", result: "<p>$20,000 in $USD</p>"5312 is ignored5313 text: "$ a^2 $", result: "<p>$ a^2 $</p>"5314 is ignored5315 text: "test $$\n2+2\n$$", result: "<p>test $$\n2+2\n$$</p>"5316 is ignored5317 text: "$\n$", result: "<p>$\n$</p>"5318 is ignored5319 text: "$$$", result: "<p>$$$</p>"5320 is ignored5321 text: "`$1+2$`", result: "<p><code>$1+2$</code></p>"5322 is ignored5323 text: "`$$1+2$$`", result: "<p><code>$$1+2$$</code></p>"5324 is ignored5325 text: "`$\\$1+2$$`", result: "<p><code>$\\$1+2$$</code></p>"5326 is ignored5327Integrations::Pumble5328 behaves like chat integration5329 Associations5330 is expected to belong to project required: false5331 Validations5332 when integration is active5333 is expected to validate that :webhook cannot be empty/falsy5334 behaves like issue tracker integration URL attribute5335 is expected to allow :webhook to be ‹"https://example.com"›5336 is expected not to allow :webhook to be ‹"example.com"›5337 is expected not to allow :webhook to be ‹"ftp://example.com"›5338 is expected not to allow :webhook to be ‹"herp-and-derp"›5339 when integration is inactive5340 is expected not to validate that :webhook cannot be empty/falsy5341 .supported_events5342 does not support deployment_events5343 #execute5344 with push events5345 behaves like triggered Pumble integration5346 calls Pumble API5347 with default branch5348 when only default branch are to be notified5349 behaves like triggered Pumble integration5350 calls Pumble API5351 when only protected branches are to be notified5352 behaves like untriggered Pumble integration5353 does not call Pumble API5354 when default and protected branches are to be notified5355 behaves like triggered Pumble integration5356 calls Pumble API5357 when all branches are to be notified5358 behaves like triggered Pumble integration5359 calls Pumble API5360 with protected branch5361 when only default branch are to be notified5362 behaves like untriggered Pumble integration5363 does not call Pumble API5364 when only protected branches are to be notified5365 behaves like triggered Pumble integration5366 calls Pumble API5367 when default and protected branches are to be notified5368 behaves like triggered Pumble integration5369 calls Pumble API5370 when all branches are to be notified5371 behaves like triggered Pumble integration5372 calls Pumble API5373 with neither default nor protected branch5374 when only default branch are to be notified5375 behaves like untriggered Pumble integration5376 does not call Pumble API5377 when only protected branches are to be notified5378 behaves like untriggered Pumble integration5379 does not call Pumble API5380 when default and protected branches are to be notified5381 behaves like untriggered Pumble integration5382 does not call Pumble API5383 when all branches are to be notified5384 behaves like triggered Pumble integration5385 calls Pumble API5386 with issue events5387 behaves like triggered Pumble integration5388 calls Pumble API5389 with merge events5390 behaves like triggered Pumble integration5391 calls Pumble API5392 with wiki page events5393 behaves like triggered Pumble integration5394 calls Pumble API5395 with note events5396 with commit comment5397 behaves like triggered Pumble integration5398 calls Pumble API5399 with merge request comment5400 behaves like triggered Pumble integration5401 calls Pumble API5402 with issue comment5403 behaves like triggered Pumble integration5404 calls Pumble API5405 with snippet comment5406 behaves like triggered Pumble integration5407 calls Pumble API5408 with pipeline events5409 with failed pipeline5410 behaves like triggered Pumble integration5411 calls Pumble API5412 with succeeded pipeline5413 with default notify_only_broken_pipelines5414 does not call Pumble API5415 when notify_only_broken_pipelines is false5416 behaves like triggered Pumble integration5417 calls Pumble API5418 with default branch5419 when only default branch are to be notified5420 behaves like triggered Pumble integration5421 calls Pumble API5422 when only protected branches are to be notified5423 behaves like untriggered Pumble integration5424 does not call Pumble API5425 when default and protected branches are to be notified5426 behaves like triggered Pumble integration5427 calls Pumble API5428 when all branches are to be notified5429 behaves like triggered Pumble integration5430 calls Pumble API5431 with protected branch5432 when only default branch are to be notified5433 behaves like untriggered Pumble integration5434 does not call Pumble API5435 when only protected branches are to be notified5436 behaves like triggered Pumble integration5437 calls Pumble API5438 when default and protected branches are to be notified5439 behaves like triggered Pumble integration5440 calls Pumble API5441 when all branches are to be notified5442 behaves like triggered Pumble integration5443 calls Pumble API5444 with neither default nor protected branch5445 when only default branch are to be notified5446 behaves like untriggered Pumble integration5447 does not call Pumble API5448 when only protected branches are to be notified5449 behaves like untriggered Pumble integration5450 does not call Pumble API5451 when default and protected branches are to be notified5452 behaves like untriggered Pumble integration5453 does not call Pumble API5454 when all branches are to be notified5455 behaves like triggered Pumble integration5456 calls Pumble API5457 deployment events5458 behaves like untriggered Pumble integration5459 does not call Pumble API5460Gitlab::Ci::Config::External::Processor5461 #perform5462 when no external files defined5463 returns the same values5464 when an invalid local file is defined5465 raises an error5466 when an invalid remote file is defined5467 raises an error5468 with a valid remote external file is defined5469 appends the file to the values5470 removes the 'include' keyword5471 when the remote file has `include` with rules:exists5472 evaluates the rule as false5473 removes the 'include' keyword5474 with a valid local external file is defined5475 appends the file to the values5476 removes the 'include' keyword5477 with multiple external files are defined5478 appends the files to the values5479 removes the 'include' keyword5480 when external files are defined but not valid5481 raises an error5482 when both external files and values defined the same key5483 takes precedence5484 when a nested includes are defined5485 when project is public5486 properly expands all includes5487 propagates the pipeline logger5488 stores includes5489 when user is reporter of another project5490 properly expands all includes5491 when user is not allowed5492 raises an error5493 when too many includes is included5494 raises an error5495 when config includes an external configuration file via SSL web request5496 with an acceptable certificate5497 is expected to include {:image => "image:1.0"}5498 with a self-signed certificate5499 returns a reportable configuration error5500 include:component5501 appends the file to the values5502 when feature flag ci_include_components is disabled5503 returns an error5504 when a valid project file is defined5505 appends the file to the values5506 when valid project files are defined in a single include5507 appends the file to the values5508 stores includes5509 when local file path has wildcard5510 fetches the matched files5511 stores includes5512 when rules defined5513 when a rule is invalid5514 raises IncludeError5515Gitlab::Email::Handler::CreateNoteOnIssuableHandler5516 behaves like reply processing shared examples5517 when the user could not be found5518 raises a UserNotFoundError5519 when the user is not authorized to the project5520 raises a ProjectNotFound5521 behaves like note handler shared examples5522 when the noteable could not be found5523 raises a NoteableNotFoundError5524 when the note could not be saved5525 raises an InvalidNoteError5526 because the note was update commands only5527 and current user cannot update noteable5528 does not raise an error5529 and current user can update noteable5530 does not raise an error5531 when the note contains quick actions5532 and current user cannot update the noteable5533 only executes the commands that the user can perform5534 and current user can update noteable5535 posts a note and updates the noteable5536 when the reply is blank5537 allows email to only have quoted text5538 when discussion is locked5539 behaves like checks permissions on noteable examples5540 when user has access5541 creates a comment5542 when user does not have access5543 raises UserNotAuthorizedError5544 when everything is fine5545 adds all attachments5546 when the service desk5547 is enabled5548 when issues are enabled for everyone5549 creates a comment5550 when quick actions are present5551 when author is a normal user5552 extracted the quick actions5553 when issues are protected members only5554 creates a comment5555 when issues are disabled5556 does not create a comment5557 when the recipient address does not include a mail key5558 raises an UnknownIncomingEmail5559 when issue is confidential5560 behaves like checks permissions on noteable examples5561 when user has access5562 creates a comment5563 when user does not have access5564 raises UserNotAuthorizedError5565Ci::PipelineTriggerService5566 #execute5567 with a trigger token5568 when trigger belongs to a different project5569 does nothing5570 when trigger owner does not have a permission to read a project5571 does nothing5572 when params have an existing trigger token5573 when params have an existing ref5574 triggers a pipeline5575 stores the payload as a variable5576 when commit message has [ci skip]5577 ignores [ci skip] and create as general5578 when params have a variable5579 has variables5580 when params have duplicate variables5581 creates a failed pipeline without variables5582 behaves like detecting an unprocessable pipeline trigger5583 when the pipeline was not created successfully5584 has the correct status code5585 when params have a non-existant ref5586 does not trigger a pipeline5587 when params have a non-existant trigger token5588 does not trigger a pipeline5589 with a pipeline job token5590 when job user does not have a permission to read a project5591 does nothing5592 when job is not running5593 does nothing5594 when job does not have a project5595 does nothing5596 when params have an existsed job token5597 when params have an existsed ref5598 triggers a pipeline5599 behaves like logs downstream pipeline creation5600 logs details5601 when commit message has [ci skip]5602 ignores [ci skip] and create as general5603 when params have a variable5604 has variables5605 when params have duplicate variables5606 creates a failed pipeline without variables5607 behaves like detecting an unprocessable pipeline trigger5608 when the pipeline was not created successfully5609 has the correct status code5610 when params have a non-existant ref5611 does not trigger a job in the pipeline5612 when params have a non-existsed trigger token5613 does not trigger a pipeline5614Gitlab::Database::LoadBalancing::LoadBalancer5615 #initialize5616 ignores the hosts when load balancing is disabled5617 sets the name of the connection that is used5618 #read5619 yields a connection for a read5620 ensures that query cache is enabled5621 does not enable query cache when outside Rails executor context5622 marks hosts that are offline5623 retries a query in the event of a serialization failure5624 retries every host at most 3 times when a query conflict is raised5625 uses the primary if no secondaries are available5626 uses the primary when load balancing is disabled5627 only primary is configured5628 does not retry a query on connection error if only the primary is configured5629 #read_write5630 yields a connection for a write5631 uses a retry with exponential backoffs5632 does not raise NoMethodError error when primary_only?5633 #host5634 returns the secondary host to use5635 stores the host in a thread-local variable5636 does not create conflicts with other load balancers when caching hosts5637 #release_host5638 releases the host and its connection5639 #release_primary_connection5640 releases the connection to the primary5641 #primary_write_location5642 returns a String in the right format5643 raises an error if the write location could not be retrieved5644 #retry_with_backoff5645 returns the value returned by the block5646 re-raises errors not related to database connections5647 retries the block when a connection error is raised5648 re-raises the connection error if the retries did not succeed5649 skips retries when only the primary is used5650 yields the current retry iteration5651 #connection_error?5652 returns true for a connection error5653 returns false for a missing database error5654 returns true for a wrapped connection error5655 returns true for a wrapped connection error from a view5656 returns true for deeply wrapped/nested errors5657 returns true for an invalid encoding error5658 returns false for errors not related to database connections5659 returns false for ActiveRecord errors without a cause5660 #serialization_failure?5661 returns for a serialization error5662 returns true for a wrapped error5663 #select_up_to_date_host5664 when none of the replicas are caught up5665 returns false and does not update the host thread-local variable5666 when any of the replicas is caught up5667 returns true and sets host thread-local variable5668 #create_replica_connection_pool5669 creates a new connection pool with specific pool size and name5670 allows setting of a custom hostname and port5671 does not modify connection class pool5672 #disconnect!5673 calls disconnect on all hosts with a timeout5674 #get_write_location5675 returns a string5676 returns nil if there are no results5677 #wal_diff5678 returns the diff between two write locations5679ReactiveCaching5680 #with_reactive_cache5681 when cache is empty5682 is expected to be nil5683 updates the cache lifespan5684 behaves like reactive worker call5685 performs caching with correct worker5686 behaves like reactive worker call5687 performs caching with correct worker5688 when the cache is full5689 behaves like a cacheable value5690 is expected to eq 45691 does not enqueue a background worker5692 updates the cache lifespan5693 and expired5694 is expected to be nil5695 behaves like reactive worker call5696 performs caching with correct worker5697 behaves like reactive worker call5698 performs caching with correct worker5699 when the cache contains non-nil but blank value5700 behaves like a cacheable value5701 is expected to eq false5702 does not enqueue a background worker5703 updates the cache lifespan5704 and expired5705 is expected to be nil5706 behaves like reactive worker call5707 performs caching with correct worker5708 behaves like reactive worker call5709 performs caching with correct worker5710 when the cache contains nil value5711 behaves like a cacheable value5712 is expected to eq nil5713 does not enqueue a background worker5714 updates the cache lifespan5715 and expired5716 is expected to be nil5717 behaves like reactive worker call5718 performs caching with correct worker5719 behaves like reactive worker call5720 performs caching with correct worker5721 #with_reactive_cache_set5722 calls with_reactive_cache5723 data returned5724 saves keys in set5725 returns the data5726 .reactive_cache_worker_finder5727 with default reactive_cache_worker_finder5728 calls the activerecord find_by method5729 with custom reactive_cache_worker_finder5730 overrides the default reactive_cache_worker_finder5731 #clear_reactive_cache!5732 is expected to be nil5733 is expected to be falsy5734 #exclusively_update_reactive_cache!5735 when the lease is free and lifetime is not exceeded5736 takes and releases the lease5737 enqueues a repeat worker5738 calls a reactive_cache_updated only once if content did not change on subsequent update5739 does not delete the value key5740 behaves like successful cache5741 caches the result of #calculate_reactive_cache5742 does not raise the exception5743 when :external_dependency cache5744 enqueues a repeat worker5745 when reactive_cache_hard_limit is set5746 when cache size is over the overridden limit5747 raises ExceededReactiveCacheLimit exception and does not cache new data5748 when reactive_cache_limit_enabled? is overridden to return false5749 behaves like successful cache5750 caches the result of #calculate_reactive_cache5751 does not raise the exception5752 when cache size is within the overridden limit5753 behaves like successful cache5754 caches the result of #calculate_reactive_cache5755 does not raise the exception5756 and #calculate_reactive_cache raises an exception5757 leaves the cache untouched5758 does not enqueue a repeat worker5759 when lifetime is exceeded5760 skips the calculation5761 deletes the value key5762 when the lease is already taken5763 skips the calculation5764 default options5765 is expected to be a kind of ActiveSupport::Duration5766 is expected to be a kind of ActiveSupport::Duration5767 is expected to be a kind of ActiveSupport::Duration5768 is expected to respond to #call5769 is expected to be nil5770 is expected to respond to #call5771 classes including this concern5772 sets reactive_cache_work_type5773Gitlab::Gpg5774 .fingerprints_from_key5775 returns CurrentKeyChain.fingerprints_from_key5776 .primary_keyids_from_key5777 returns the keyid5778 returns an empty array when the key is invalid5779 .subkeys_from_key5780 returns the subkeys by primary key5781 returns an empty array when there are not subkeys5782 .user_infos_from_key5783 returns the names and emails5784 returns an empty array when the key is invalid5785 downcases the email5786 rejects non UTF-8 names and addresses5787 .current_home_dir5788 returns the default value when no explicit home dir has been set5789 returns the explicitly set home dir5790 returns the default value when explicitly setting the home dir to nil5791 .using_tmp_keychain5792 the second thread does not change the first thread's directory5793 allows recursive execution in the same thread5794 keeps track of created and removed keychains in counters5795 cleans up the tmp directory after finishing5796 does not fail if the homedir was deleted while running5797 tracks an exception when cleaning up the tmp dir fails5798 behaves like multiple deletion attempts of the tmp-dir5799 tries for 1 or 15 times5800 tries at least 2 times to remove the tmp dir before raising5801 does not attempt multiple times when the deletion succeeds5802 when running in Sidekiq5803 behaves like multiple deletion attempts of the tmp-dir5804 tries for 10 or 15 times5805 tries at least 2 times to remove the tmp dir before raising5806 does not attempt multiple times when the deletion succeeds5807Gitlab::Gpg::CurrentKeyChain5808 .add5809 stores the key in the keychain5810 .fingerprints_from_key5811 returns the fingerprint5812 returns an empty array when the key is invalid5813PlanLimits5814 #exceeded?5815 when given limit subject is an integer5816 behaves like comparing limits5817 when limit for given name results to a disabled value5818 is expected to eq false5819 when limit for given name results to a non-disabled value5820 and given count is smaller than limit5821 is expected to eq false5822 and given count is equal to the limit5823 is expected to eq true5824 and given count is greater than the limit5825 is expected to eq true5826 when given limit subject is an ActiveRecord::Relation5827 behaves like comparing limits5828 when limit for given name results to a disabled value5829 is expected to eq false5830 when limit for given name results to a non-disabled value5831 and given count is smaller than limit5832 is expected to eq false5833 and given count is equal to the limit5834 is expected to eq true5835 and given count is greater than the limit5836 is expected to eq true5837 when given limit subject is something else5838 raises an error5839 #limit_for5840 when given limit name does not exist5841 raises an error5842 when given limit name is disabled5843 is expected to eq nil5844 and alternate_limit is a non-zero integer5845 is expected to eq 15846 and alternate_limit is zero5847 is expected to eq nil5848 and alternate_limit is a proc that returns non-zero integer5849 is expected to eq 15850 and alternate_limit is a proc that returns zero5851 is expected to eq nil5852 and alternate_limit is a proc that returns nil5853 is expected to eq nil5854 when given limit name is enabled5855 and alternate_limit is a non-zero integer that is bigger than the plan limit5856 is expected to eq 25857 and alternate_limit is a non-zero integer that is smaller than the plan limit5858 is expected to eq 15859 and alternate_limit is zero5860 is expected to eq 25861 and alternate_limit is a proc that returns non-zero integer that is bigger than the plan limit5862 is expected to eq 25863 and alternate_limit is a proc that returns non-zero integer that is smaller than the plan limit5864 is expected to eq 15865 and alternate_limit is a proc that returns zero5866 is expected to eq 25867 and alternate_limit is a proc that returns nil5868 is expected to eq 25869 validates default values5870 has positive values for enabled limits5871 has zero values for disabled limits5872WikiPages::UpdateService5873 behaves like WikiPages::UpdateService#execute5874 updates the wiki page5875 executes webhooks5876 counts edit events5877 the page is at the top level5878 adds a new wiki page activity event5879 the page is in a subsection5880 adds a new wiki page activity event5881 when the options are bad5882 does not count an edit event5883 does not record the activity5884 reports the error5885 #execute5886 when wiki create fails due to git error5887 catches the thrown error and returns a ServiceResponse error5888IncidentManagement::ProcessAlertWorkerV25889 # order random5890 #perform5891 with valid alert5892 behaves like creates issue successfully5893 creates an issue5894 updates AlertManagement::Alert#issue_id5895 does not write a warning to log5896 behaves like an idempotent worker5897 is labeled as idempotent5898 performs multiple times sequentially without raising an exception5899 does not create a second issue5900 when alert cannot be updated5901 updates AlertManagement::Alert#issue_id5902 logs a warning5903 prometheus alert5904 behaves like creates issue successfully5905 creates an issue5906 updates AlertManagement::Alert#issue_id5907 does not write a warning to log5908 behaves like an idempotent worker5909 is labeled as idempotent5910 performs multiple times sequentially without raising an exception5911 does not create a second issue5912 with invalid alert5913 does not create issues5914Gitlab::GroupSearchResults5915 issues search5916 state not provided5917 returns opened and closed results5918 all state5919 returns opened and closed results5920 closed state5921 returns only closed results5922 opened state5923 returns only opened results5924 unsupported state5925 returns only opened results5926 filter not provided (all behavior)5927 returns confidential and not confidential results5928 confidential filter5929 returns only confidential results5930 not confidential filter5931 returns not confidential results5932 merge_requests search5933 state not provided5934 returns opened and closed results5935 all state5936 returns opened and closed results5937 closed state5938 returns only closed results5939 opened state5940 returns only opened results5941 unsupported state5942 returns only opened results5943 user search5944 returns the users belonging to the group matching the search query5945 returns the user belonging to the subgroup matching the search query5946 returns the user belonging to the parent group matching the search query5947 does not return the user belonging to the private subgroup5948 does not return the user belonging to an unrelated group5949 does not return the user invited to the group5950 calls GroupFinder during execution5951 #issuable_params5952 sets include_subgroups flag by default5953Gitlab::GithubImport::Importer::PullRequestReviewImporter5954 when the review author can be mapped to a gitlab user5955 when the review has no note text5956 when the review is "APPROVED"5957 creates a note for the review5958 behaves like imports an approval for the Merge Request5959 creates an approval for the Merge Request5960 behaves like imports a reviewer for the Merge Request5961 creates reviewer for the Merge Request5962 when reviewer already exists5963 does not change Merge Request reviewers5964 when because of concurrency an attempt of duplication appeared5965 does not change Merge Request reviewers5966 when the user already approved the merge request5967 does not import second approve and note5968 when the review is "COMMENTED"5969 does not create note for the review5970 behaves like imports a reviewer for the Merge Request5971 creates reviewer for the Merge Request5972 when reviewer already exists5973 does not change Merge Request reviewers5974 when because of concurrency an attempt of duplication appeared5975 does not change Merge Request reviewers5976 when the review is "CHANGES_REQUESTED"5977 does not create a note for the review5978 behaves like imports a reviewer for the Merge Request5979 creates reviewer for the Merge Request5980 when reviewer already exists5981 does not change Merge Request reviewers5982 when because of concurrency an attempt of duplication appeared5983 does not change Merge Request reviewers5984 when the review has a note text5985 when the review is "APPROVED"5986 creates a note for the review5987 behaves like imports an approval for the Merge Request5988 creates an approval for the Merge Request5989 behaves like imports a reviewer for the Merge Request5990 creates reviewer for the Merge Request5991 when reviewer already exists5992 does not change Merge Request reviewers5993 when because of concurrency an attempt of duplication appeared5994 does not change Merge Request reviewers5995 when the review is "COMMENTED"5996 creates a note for the review5997 when the review is "CHANGES_REQUESTED"5998 creates a note for the review5999 when the review author cannot be mapped to a gitlab user6000 when the review has no note text6001 when the review is "APPROVED"6002 creates a note for the review with *Approved by by<author>*6003 when the review is "COMMENTED"6004 creates a note for the review with *Commented by<author>*6005 when the review is "CHANGES_REQUESTED"6006 creates a note for the review with *Changes requested by <author>*6007 when original author was deleted in github6008 creates a note for the review without the author information6009 when original author cannot be found on github6010 creates a note for the review with the author username6011 when the submitted_at is not provided6012 creates a note for the review without the author information6013 when the review has a note text6014 when the review is "APPROVED"6015 creates a note for the review with *Approved by by<author>*6016 when the review is "COMMENTED"6017 creates a note for the review with *Commented by<author>*6018 when the review is "CHANGES_REQUESTED"6019 creates a note for the review with *Changes requested by <author>*6020Gitlab::Redis::SharedState6021 .config_file_name6022 when there is no config file anywhere6023 is expected to be nil6024 and there is a global env override6025 is expected to eq "global override"6026 and there is an instance specific config file6027 is expected to eq "/tmp/d20230330-360-ocoh72/config/redis.shared_state.yml"6028 returns a path that exists6029 and there is a specific env override6030 is expected to eq "instance specific override"6031 .store6032 with old format6033 behaves like redis store6034 instantiates Redis::Store6035 with the namespace6036 uses specified namespace6037 with new format6038 behaves like redis store6039 instantiates Redis::Store6040 with the namespace6041 uses specified namespace6042 .params6043 withstands mutation6044 when url contains unix socket reference6045 with old format6046 returns path key instead6047 with new format6048 returns path key instead6049 when url is host based6050 with old format6051 returns hash with host, port, db, and password6052 with new format6053 rails_env: "development", host: "development-host"6054 returns hash with host, port, db, and password6055 rails_env: "test", host: "test-host"6056 returns hash with host, port, db, and password6057 rails_env: "production", host: "production-host"6058 returns hash with host, port, db, and password6059 with redis cluster format6060 rails_env: "development", host: "development-master"6061 returns hash with cluster and password6062 rails_env: "test", host: "test-master"6063 returns hash with cluster and password6064 rails_env: "production", host: "production-master"6065 returns hash with cluster and password6066 .url6067 withstands mutation6068 when yml file with env variable6069 reads redis url from env variable6070 .version6071 returns a version6072 .with6073 when running on single-threaded runtime6074 instantiates a connection pool with size 56075 when running on multi-threaded runtime6076 instantiates a connection pool with a size based on the concurrency of the worker6077 when there is no config at all6078 can run an empty block6079 #db6080 with old format6081 returns the correct db6082 with new format6083 returns the correct db6084 with cluster-mode6085 returns the correct db6086 #sentinels6087 when sentinels are defined6088 rails_env: "development", hosts: ["development-replica1", "development-replica2"]6089 returns an array of hashes with host and port keys6090 rails_env: "test", hosts: ["test-replica1", "test-replica2"]6091 returns an array of hashes with host and port keys6092 rails_env: "production", hosts: ["production-replica1", "production-replica2"]6093 returns an array of hashes with host and port keys6094 when sentinels are not defined6095 returns nil6096 when cluster is defined6097 returns nil6098 #sentinels?6099 when sentinels are defined6100 returns true6101 when sentinels are not defined6102 is expected to eq nil6103 when cluster is defined6104 returns false6105 #raw_config_hash6106 returns old-style single url config in a hash6107 returns cluster config without url key in a hash6108 #fetch_config6109 raises an exception when the config file contains invalid yaml6110 has a value for the legacy default URL6111 when redis.yml exists6112 uses config/redis.yml6113 when no config file exsits6114 returns nil6115 but resque.yml exists6116 returns the config from resque.yml6117 #raw_config_hash6118 has a legacy default URL6119ProjectImportState6120 associations6121 is expected to belong to project required: false6122 validations6123 is expected to validate that :project cannot be empty/falsy6124 checksums attribute6125 when the checksums attribute has invalid fields6126 adds errors6127 when the checksums attribute has valid fields6128 does not add errors6129 Project import job6130 imports a project6131 records job and correlation IDs6132 #relation_hard_failures6133 returns hard relation failures related to this import6134 limits returned collection to given maximum6135 #mark_as_failed6136 logs error when update column fails6137 updates last_error with error message6138 removes project import data6139 #human_status_name6140 when import_state exists6141 returns the humanized status name6142 #expire_etag_cache6143 when project import type has realtime changes endpoint6144 expires revelant etag cache6145 when project import type does not have realtime changes endpoint6146 does not touch etag caches6147 import state transitions6148 state transition: [:started] => [:finished]6149 resets last_error6150 enqueues housekeeping when an import of a fresh project is completed6151 does not perform housekeeping when project repository does not exist6152 does not enqueue housekeeping when project does not have a valid import type6153 state transition: [:none, :scheduled, :started] => [:canceled]6154 updates the import status6155 unsets the JID6156 removes import data6157 state transition: started: [:finished, :canceled, :failed]6158 import_type: "github", import_status: :started, transition: :finish, expected_checksums: {"fetched"=>{}, "imported"=>{}}6159 updates (or does not update) checksums6160 import_type: "github", import_status: :started, transition: :cancel, expected_checksums: {"fetched"=>{}, "imported"=>{}}6161 updates (or does not update) checksums6162 import_type: "github", import_status: :started, transition: :fail_op, expected_checksums: {"fetched"=>{}, "imported"=>{}}6163 updates (or does not update) checksums6164 import_type: "github", import_status: :scheduled, transition: :cancel, expected_checksums: {}6165 updates (or does not update) checksums6166 import_type: "gitlab_project", import_status: :started, transition: :cancel, expected_checksums: {}6167 updates (or does not update) checksums6168 clearing `jid` after finish6169 without an JID6170 does nothing6171 with a JID6172 unsets the JID6173 callbacks6174 after_commit :expire_etag_cache6175 expires etag cache6176Ci::PipelineArtifacts::DestroyAllExpiredService6177 .execute6178 when timeout happens6179 returns 0 and does not continue destroying6180 when there are no artifacts6181 does not raise error6182 when the loop limit is reached6183 destroys one artifact6184 reports the number of destroyed artifacts6185 when there are artifacts more than batch sizes6186 destroys all expired artifacts6187 reports the number of destroyed artifacts6188 when artifacts are not expired6189 does not destroy pipeline artifacts6190 reports the number of destroyed artifacts6191 when pipeline is locked6192 does not destroy pipeline artifacts6193 reports the number of destroyed artifacts6194 with unlocked pipeline artifacts6195 destroys all expired artifacts6196 when the loop limit is reached6197 destroys one artifact6198 reports the number of destroyed artifacts6199 .destroy_artifacts_batch6200 returns a falsy value without artifacts6201Gitlab::Cache::Helpers6202 #render_cached6203 single object6204 when presenter is a serializer6205 behaves like object cache helper6206 is expected to be a kind of Gitlab::Json::PrecompiledJson6207 uses the presenter6208 is valid JSON6209 fetches from the cache6210 when a cache context is supplied6211 uses the context to augment the cache key6212 when expires_in is supplied6213 sets the expiry when accessing the cache6214 when a caller id is present6215 increments the counter6216 when presenter is a Grape::Entity6217 behaves like object cache helper6218 is expected to be a kind of Gitlab::Json::PrecompiledJson6219 uses the presenter6220 is valid JSON6221 fetches from the cache6222 when a cache context is supplied6223 uses the context to augment the cache key6224 when expires_in is supplied6225 sets the expiry when accessing the cache6226 when a caller id is present6227 increments the counter6228 collection of objects6229 behaves like collection cache helper6230 is expected to be a kind of Gitlab::Json::PrecompiledJson6231 uses the presenter6232 is valid JSON6233 fetches from the cache6234 when a cache context is supplied6235 uses the context to augment the cache key6236 expires_in is supplied6237 sets the expiry when accessing the cache6238 when a caller id is present6239 when presentable has a group by clause6240 returns the presentables6241 when the presentables all miss6242 increments the counters6243 when the presents hit6244 increments the counters6245 when passed presenter is not a serializer or an entity6246 throws an exception6247Files::UpdateService6248 #execute6249 when the file's last commit sha is earlier than the latest change for that branch6250 returns a hash with the correct error message and a :error status6251 when the file's last commit sha does match the supplied last_commit_sha6252 returns a hash with the :success status6253 updates the file with the new contents6254 uses the commit email6255 when the last_commit_sha is not supplied6256 returns a hash with the :success status6257 updates the file with the new contents6258Types::BaseField6259 adds a formatted `deprecated_reason` to the subject6260 appends to the description if given6261 does not append to the description if it is absent6262 adds information about the replacement if provided6263 supports named reasons: renamed6264 supports named reasons: alpha6265 supports :alpha6266 does not allow :alpha and :deprecated together6267 authorized?6268 defaults to true6269 tests the field authorization, if provided6270 tests the field authorization, if provided, when it succeeds6271 only tests the resolver authorization if it authorizes_object?6272 tests the resolver authorization, if provided6273 tests field authorization before resolver authorization, when field auth fails6274 tests field authorization before resolver authorization, when field auth succeeds6275 when considering complexity6276 defaults to 16277 has specified value6278 #base_complexity6279 with no gitaly calls6280 defaults to 16281 with a gitaly call6282 adds 1 to the default value6283 when field has a resolver6284 when a valid complexity is already set6285 uses this complexity6286 and is a connection6287 sets complexity depending on arguments for resolvers6288 sets complexity depending on number load limits for resolvers6289 and is not a connection6290 sets complexity as normal6291 calls_gitaly6292 defaults to false6293 for fields with a resolver6294 adds 1 if true6295 for fields without a resolver6296 adds 1 if true6297 with declared constant complexity value6298 has complexity set to that constant6299 does not raise an error even with Gitaly calls6300 #resolve6301 late_extensions is given6302 registers the late extensions after the regular extensions6303 validations6304 raises an informative error if `deprecation_reason` is used6305 raises an error if a required property is missing6306 raises an error if milestone is not a String6307 visible?6308 defaults to true6309 when subject is deprecated6310 defaults to true6311 returns false if `remove_deprecated` is true in context6312Clusters::Cleanup::ProjectNamespaceService6313 #execute6314 when cluster has namespaces to be deleted6315 deletes namespaces from cluster6316 deletes namespaces from database6317 schedules ::ServiceAccountWorker6318 logs all events6319 when cluster.kubeclient is nil6320 schedules ::ServiceAccountWorker6321 deletes namespaces from database6322 when cluster has no namespaces6323 schedules Clusters::Cleanup::ServiceAccountWorker6324 transitions to cleanup_removing_service_account6325 does not try to delete namespaces6326 when there is a Kubeclient::HttpError6327 schedules ::ServiceAccountWorker with accepted errors6328 schedules ::ServiceAccountWorker with accepted errors6329 schedules ::ServiceAccountWorker with accepted errors6330 raises error with unaccepted errors6331Commits::CommitPatchService6332 #execute6333 returns a successful result6334 is based off HEAD when no start ref is passed6335 when specifying a different start branch6336 is based of the correct branch6337 when the user does not have access6338 behaves like an error response6339 returns the correct error6340 when the patches are not valid6341 behaves like an error response6342 returns the correct error6343 when the new branch name is invalid6344 behaves like an error response6345 returns the correct error6346 when the patches do not apply6347 behaves like an error response6348 returns the correct error6349 when specifying a non existent start branch6350 behaves like an error response6351 returns the correct error6352gitlab:db:truncate_legacy_tables6353 # order random6354 when truncating main tables on the ci database6355 behaves like truncating legacy tables6356 when tables are not locked for writes6357 raises an error when trying to truncate the tables6358 when tables are locked for writes6359 calls TablesTruncate with the correct parameters and default minimum batch size (FAILED - 1)63611st Try error in ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:69:6362Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first6364RSpec::Retry: 2nd try ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:696365 truncates the legacy table (FAILED - 2)63671st Try error in ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:81:6368Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first6370RSpec::Retry: 2nd try ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:816371 does not truncate the table that belongs to the connection schema (FAILED - 3)63731st Try error in ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:87:6374Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first6376RSpec::Retry: 2nd try ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:876377 when running in dry_run mode6378 does not truncate any tables (FAILED - 4)63801st Try error in ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:98:6381Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first6383RSpec::Retry: 2nd try ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:986384 prints the truncation sql statement to the output (FAILED - 5)63861st Try error in ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:104:6387Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first6389RSpec::Retry: 2nd try ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1046390 when passing until_table parameter via environment variable6391 sends the table name to TablesTruncate (FAILED - 6)63931st Try error in ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:116:6394Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first6396RSpec::Retry: 2nd try ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1166397 when truncating ci tables on the main database6398 behaves like truncating legacy tables6399 when tables are not locked for writes6400 raises an error when trying to truncate the tables6401 when tables are locked for writes6402 calls TablesTruncate with the correct parameters and default minimum batch size6403 truncates the legacy table6404 does not truncate the table that belongs to the connection schema6405 when running in dry_run mode6406 does not truncate any tables6407 prints the truncation sql statement to the output6408 when passing until_table parameter via environment variable6409 sends the table name to TablesTruncate6410Types::MergeRequestType6411 is expected to expose permissions using Types::PermissionTypes::MergeRequest6412 is expected to require graphql authorizations :read_merge_request6413 is expected to include Types::Notes::NoteableInterface6414 is expected to include Types::CurrentUserTodos6415 is expected to include Types::TodoableInterface6416 has the expected fields6417 #pipelines6418 is expected to have attributes {:max_page_size => 500}6419 #diff_stats_summary6420 when MR metrics has additions and deletions6421 pulls out data from metrics object6422 #diverged_from_target_branch6423 delegates the diverged_from_target_branch? call to the merge request entity6424 merge_status_enum6425 has the type MergeStatus6426 when the the DB value is preparing6427 serializes correctly6428 when the the DB value is unchecked6429 serializes correctly6430 when the the DB value is cannot_be_merged_recheck6431 serializes correctly6432 when the the DB value is checking6433 serializes correctly6434 when the the DB value is cannot_be_merged_rechecking6435 serializes correctly6436 when the the DB value is can_be_merged6437 serializes correctly6438 when the the DB value is cannot_be_merged6439 serializes correctly6440 #merge_user6441 when MR is merged6442 is not nil6443 when MR is set to merge when pipeline succeeds6444 is not nil6445projects/commit/show.html.haml6446 parallel diff view6447 spans full width6448 in the context of a merge request6449 shows that it is in the context of a merge request6450 when merge request is nil6451 renders the page6452 when commit is signed6453 with GPG6454 renders unverified badge6455 with SSH6456 renders unverified badge6457 with X.5096458 renders unverified badge6459Release6460 is expected to be valid6461 associations6462 is expected to belong to project required: false6463 is expected to belong to author class_name => User required: false6464 is expected to have many links class_name => Releases::Link6465 is expected to have many milestones6466 is expected to have many milestone_releases6467 is expected to have many evidences class_name => Releases::Evidence6468 validation6469 is expected to validate that :project cannot be empty/falsy6470 is expected to validate that :tag cannot be empty/falsy6471 when a release exists in the database without a name6472 does not require name6473 when description of a release is longer than the limit6474 creates a validation error6475 when a release is tied to a milestone for another project6476 creates a validation error6477 when a release is tied to a milestone linked to the same project6478 successfully links this release to this milestone6479 when creating new release6480 is expected to validate that :author_id cannot be empty/falsy6481 when updating existing release without author6482 updates successfully6483 #assets_count6484 returns the number of sources6485 when a links exists6486 counts the link as an asset6487 excludes sources count when asked6488 .create6489 fills released_at using created_at if it's not set6490 does not change released_at if it's set explicitly6491 #update6492 when links do not exist6493 when params are specified for creation6494 creates a link successfuly6495 when a link exists6496 when params are specified for update6497 updates the link successfully6498 when params are specified for deletion6499 removes the link successfuly6500 #sources6501 returns sources6502 #upcoming_release?6503 during the backfill migration when released_at could be nil6504 handles a nil released_at value and returns false6505 evidence6506 when a release is deleted6507 also deletes the associated evidence6508 #name6509 name is nil6510 returns tag6511 #milestone_titles6512 is expected to eq "Milestone 1, Milestone 2"6513rubocop rake tasks6514 check:graceful6515 with successful task result6516 example at ./spec/tasks/rubocop_rake_spec.rb:466517 modifies ENV and deletes REVEAL_RUBOCOP_TODO key6518 with non-successful task result6519 is expected to abort execution6520 todo:generate6521 without arguments6522 generates TODOs for all RuboCop rules6523 sets acronyms for inflections6524 with cop names as arguments6525 generates TODOs for given RuboCop cops6526Gitlab::Ci::Config::Entry::Rules::Rule::Changes6527 .new6528 when using a string array6529 is expected to be valid6530 when using an integer array6531 is expected not to be valid6532 returns errors6533 when using a string6534 is expected not to be valid6535 reports an error about invalid policy6536 when using a long array6537 is expected not to be valid6538 returns errors6539 when clause is empty6540 is expected to be valid6541 when policy strategy does not match6542 is expected not to be valid6543 returns information about errors6544 with paths6545 when paths is an array of strings6546 is expected to be valid6547 when paths is not an array6548 is expected not to be valid6549 returns information about errors6550 when paths is an array of integers6551 is expected not to be valid6552 returns information about errors6553 when paths is an array of long strings6554 is expected not to be valid6555 returns information about errors6556 when paths is nil6557 is expected not to be valid6558 returns information about errors6559 with paths and compare_to6560 is expected to be valid6561 when compare_to is not a string6562 is expected not to be valid6563 returns information about errors6564 #value6565 when using a string array6566 is expected to eq {:paths=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}6567 with paths6568 is expected to eq {:paths=>["app/", "lib/"]}6569 with paths and compare_to6570 is expected to eq {:compare_to=>"branch1", :paths=>["app/", "lib/"]}6571Clusters::Providers::Gcp6572 is expected to belong to cluster required: false6573 is expected to validate that :zone cannot be empty/falsy6574 state_machine6575 when any => [:created]6576 nullifies API credentials6577 when any => [:creating]6578 calls #assign_operation_id on the provider6579 when any => [:errored]6580 calls #nullify_credentials on the provider6581 sets a status reason6582 when status_reason is nil6583 does not set status_reason6584 #on_creation?6585 status: :scheduled, result: true6586 is expected to eq true6587 status: :creating, result: true6588 is expected to eq true6589 status: :created, result: false6590 is expected to eq false6591 status: :errored, result: false6592 is expected to eq false6593 default values6594 has default value6595 validation6596 when validates gcp_project_id6597 when gcp_project_id is shorter than 16598 is expected to be falsey6599 when gcp_project_id is longer than 636600 is expected to be falsey6601 when gcp_project_id includes invalid character6602 is expected to be falsey6603 when gcp_project_id is valid6604 is expected to be truthy6605 when validates num_nodes6606 when num_nodes is string6607 is expected to be falsey6608 when num_nodes is nil6609 is expected to be falsey6610 when num_nodes is smaller than 16611 is expected to be falsey6612 when num_nodes is valid6613 is expected to be truthy6614 #has_rbac_enabled?6615 when cluster is legacy_abac6616 is expected to be falsey6617 when cluster is not legacy_abac6618 is expected to be truthy6619 #knative_pre_installed?6620 when cluster is cloud_run6621 is expected to be falsey6622 when cluster is not cloud_run6623 is expected to be truthy6624 #nullify_credentials6625 removes access_token and operation_id6626 #assign_operation_id6627 sets operation_id6628Gitlab::IssuableMetadata6629 returns an empty Hash if an empty collection is provided6630 raises an error when given a collection with no limit6631 issues6632 aggregates stats on issues6633 merge requests6634 aggregates stats on merge requests6635Achievements::UserAchievementPolicy6636 # order random6637 is readable to everyone when user has public profile6638 when group is private6639 for achievement owner6640 is hidden6641 for group maintainer6642 is visible6643 for others6644 is hidden6645 when user has private profile6646 for achievement owner6647 is visible6648 for group maintainer6649 is visible6650 for others6651 is hidden6652Packages::Rpm::RepositoryMetadata::UpdateXmlService6653 # order random6654 #execute6655 when building empty xml6656 behaves like handling not implemented xml filename6657 raise error6658 for 'primary' xml file6659 behaves like generating empty xml6660 generate expected xml6661 for 'other' xml file6662 behaves like generating empty xml6663 generate expected xml6664 for 'filelist' xml file6665 behaves like generating empty xml6666 generate expected xml6667 when updating xml file6668 behaves like handling not implemented xml filename6669 raise error6670 for 'primary' xml file6671 behaves like updating rpm xml file6672 when updating existing xml6673 generate valid xml add expected xml node to existing xml6674 when empty xml6675 behaves like changing root tag attribute6676 increment previous 'packages' value by 16677 when xml has children6678 when node with given 'pkgid' does not exist yet6679 has children nodes6680 behaves like changing root tag attribute6681 increment previous 'packages' value by 16682 when node with given 'pkgid' already exist6683 has children nodes6684 replace existing node with new data6685 for 'other' xml file6686 behaves like updating rpm xml file6687 when updating existing xml6688 generate valid xml add expected xml node to existing xml6689 when empty xml6690 behaves like changing root tag attribute6691 increment previous 'packages' value by 16692 when xml has children6693 when node with given 'pkgid' does not exist yet6694 has children nodes6695 behaves like changing root tag attribute6696 increment previous 'packages' value by 16697 when node with given 'pkgid' already exist6698 has children nodes6699 replace existing node with new data6700 for 'filelist' xml file6701 behaves like updating rpm xml file6702 when updating existing xml6703 generate valid xml add expected xml node to existing xml6704 when empty xml6705 behaves like changing root tag attribute6706 increment previous 'packages' value by 16707 when xml has children6708 when node with given 'pkgid' does not exist yet6709 has children nodes6710 behaves like changing root tag attribute6711 increment previous 'packages' value by 16712 when node with given 'pkgid' already exist6713 has children nodes6714 replace existing node with new data6715Sidebars::Menu6716 #all_active_routes6717 gathers all active routes of items and the current menu6718 #serialize_for_super_sidebar6719 returns a tree-like structure of itself and all menu items6720 returns pill data if defined6721 #serialize_as_menu_item_args6722 returns hash of title, link, active_routes, container_html_options6723 #render?6724 when the menus has no items6725 returns false6726 when menu has a partial6727 returns true6728 when the menu has items6729 returns true6730 when menu items are NilMenuItem6731 returns false6732 #has_items?6733 returns true when there are regular menu items6734 returns true when there are nil menu items6735 #has_renderable_items?6736 returns true when there are regular menu items6737 returns false when there are nil menu items6738 returns true when there are both regular and nil menu items6739 #renderable_items6740 returns only regular menu items6741 #insert_element_before6742 adds element before the specific element class6743 does not add nil elements6744 when reference element does not exist6745 adds the element to the top of the list6746 #insert_element_after6747 adds element after the specific element class6748 does not add nil elements6749 when reference element does not exist6750 adds the element to the end of the list6751 #replace_placeholder6752 when a NilMenuItem reference element exists6753 replaces the reference element with the provided item6754 when a MenuItem reference element exists6755 does not replace the reference element and adds to the end of the list6756 when reference element does not exist6757 adds the element to the end of the list6758 #remove_element6759 removes specific element6760 does not remove nil elements6761 #container_html_options6762 when menu can be rendered6763 when menu has renderable items6764 contains the special class6765 when menu already has other classes6766 appends special class6767 when menu does not have renderable items6768 does not contain the special class6769 when menu cannot be rendered6770 does not contain special class6771 #link6772 returns first visible menu item link6773 returns nil if there are no visible menu items6774ProductAnalyticsEvent6775 is expected to belong to project required: false6776 is expected to respond to #order_by_time6777 validations6778 is expected to validate that :project_id cannot be empty/falsy6779 is expected to validate that :event_id cannot be empty/falsy6780 is expected to validate that :v_collector cannot be empty/falsy6781 is expected to validate that :v_etl cannot be empty/falsy6782 .timerange6783 is expected to contain exactly #<ProductAnalyticsEvent id: 1, project_id: 829, platform: "web", etl_tstamp: nil, collector_tstamp: "...l, event_name: nil, event_format: nil, event_version: nil, event_fingerprint: nil, true_tstamp: nil>6784 is expected to contain exactly #<ProductAnalyticsEvent id: 1, project_id: 829, platform: "web", etl_tstamp: nil, collector_tstamp: "...l, event_name: nil, event_format: nil, event_version: nil, event_fingerprint: nil, true_tstamp: nil> and #<ProductAnalyticsEvent id: 2, project_id: 830, platform: "web", etl_tstamp: nil, collector_tstamp: "...l, event_name: nil, event_format: nil, event_version: nil, event_fingerprint: nil, true_tstamp: nil>6785 is expected to contain exactly #<ProductAnalyticsEvent id: 1, project_id: 829, platform: "web", etl_tstamp: nil, collector_tstamp: "...l, event_name: nil, event_format: nil, event_version: nil, event_fingerprint: nil, true_tstamp: nil>, #<ProductAnalyticsEvent id: 2, project_id: 830, platform: "web", etl_tstamp: nil, collector_tstamp: "...l, event_name: nil, event_format: nil, event_version: nil, event_fingerprint: nil, true_tstamp: nil>, and #<ProductAnalyticsEvent id: 3, project_id: 831, platform: "web", etl_tstamp: nil, collector_tstamp: "...l, event_name: nil, event_format: nil, event_version: nil, event_fingerprint: nil, true_tstamp: nil>6786 .count_by_graph6787 is expected to eq {"app"=>1, "web"=>2}6788 is expected to eq {"app"=>1, "mobile"=>1, "web"=>2}6789 .count_collector_tstamp_by_day6790 is expected to eq {2023-03-30 00:00:00.000000000 +0000=>3, 2023-03-25 00:00:00.000000000 +0000=>2}6791Integrations::Ewm6792 Validations6793 when integration is active6794 is expected to validate that :project_url cannot be empty/falsy6795 is expected to validate that :issues_url cannot be empty/falsy6796 is expected to validate that :new_issue_url cannot be empty/falsy6797 behaves like issue tracker integration URL attribute6798 is expected to allow :project_url to be ‹"https://example.com"›6799 is expected not to allow :project_url to be ‹"example.com"›6800 is expected not to allow :project_url to be ‹"ftp://example.com"›6801 is expected not to allow :project_url to be ‹"herp-and-derp"›6802 behaves like issue tracker integration URL attribute6803 is expected to allow :issues_url to be ‹"https://example.com"›6804 is expected not to allow :issues_url to be ‹"example.com"›6805 is expected not to allow :issues_url to be ‹"ftp://example.com"›6806 is expected not to allow :issues_url to be ‹"herp-and-derp"›6807 behaves like issue tracker integration URL attribute6808 is expected to allow :new_issue_url to be ‹"https://example.com"›6809 is expected not to allow :new_issue_url to be ‹"example.com"›6810 is expected not to allow :new_issue_url to be ‹"ftp://example.com"›6811 is expected not to allow :new_issue_url to be ‹"herp-and-derp"›6812 when integration is inactive6813 is expected not to validate that :project_url cannot be empty/falsy6814 is expected not to validate that :issues_url cannot be empty/falsy6815 is expected not to validate that :new_issue_url cannot be empty/falsy6816 ReferencePatternValidation6817 extracts bug6818 extracts task6819 extracts work item6820 extracts workitem6821 extracts defect6822 extracts rtcwi6823Gitlab::GithubImport::Importer::SingleEndpointDiffNotesImporter6824 is expected to includes the Gitlab::GithubImport::ParallelScheduling module6825 is expected to includes the Gitlab::GithubImport::SingleEndpointNotesImporting module6826 is expected to eq Gitlab::GithubImport::Representation::DiffNote6827 is expected to eq Gitlab::GithubImport::Importer::DiffNoteImporter6828 is expected to eq :pull_request_comments6829 is expected to eq :diff_note6830 is expected to eq 16831 #each_object_to_import6832 fetches data6833 skips cached pages6834 skips cached merge requests6835Gitlab::Ci::Pipeline::Seed::Build::Cache6836 #attributes6837 with cache:key6838 is expected to include {:key => "a-key", :paths => ["vendor/ruby"]}6839 with cache:key as a symbol6840 is expected to include {:key => "a_key", :paths => ["vendor/ruby"]}6841 with cache:key:files6842 with existing files6843 behaves like version and gemfile files6844 without a prefix6845 builds a string key with an index as a prefix6846 with files starting with ./6847 behaves like version and gemfile files6848 without a prefix6849 builds a string key with an index as a prefix6850 with files ending with /6851 behaves like default key6852 without a prefix6853 uses default key with an index as a prefix6854 with new line in filenames6855 behaves like default key6856 without a prefix6857 uses default key with an index as a prefix6858 with missing files6859 behaves like default key6860 without a prefix6861 uses default key with an index as a prefix6862 with directories6863 with directory6864 behaves like foo/bar directory key6865 without a prefix6866 builds a string key with an index as a prefix6867 with directory ending in slash6868 behaves like foo/bar directory key6869 without a prefix6870 builds a string key with an index as a prefix6871 with directories ending in slash star6872 behaves like foo/bar directory key6873 without a prefix6874 builds a string key with an index as a prefix6875 with cache:key:prefix6876 without files6877 adds prefix to default key6878 with existing files6879 adds prefix key6880 with missing files6881 adds prefix to default key6882 with all cache option keys6883 is expected to include {:key => "a-key", :paths => ["vendor/ruby"], :untracked => true, :policy => "push", :unprotect => true, :when => "on_success"}6884 with unknown cache option keys6885 is expected to raise ArgumentError with message matching /unknown_key/6886Gitaly::Server6887 is expected to respond to #server_version6888 is expected to respond to #git_binary_version6889 is expected to respond to #up_to_date?6890 is expected to respond to #address6891 is expected to respond to #replication_factor6892 .all6893 includes all storages6894 readable?6895 when the storage is readable6896 returns true6897 when the storage is not readable6898 returns false6899 writeable?6900 when the storage is writeable6901 returns true6902 when the storage is not writeable6903 returns false6904 #filesystem_type6905 is expected to be present6906 request memoization6907 when requesting multiple properties6908 uses memoization for the info request6909 when examining disk statistics for a given server6910 #disk_available6911 is expected to be present6912 returns disk available for the storage of the instantiated server6913 #disk_used6914 is expected to be present6915 returns disk used for the storage of the instantiated server6916 #disk_stats6917 is expected to be present6918 returns the storage of the instantiated server6919 #expected_version?6920 expected_version: "1.1.1", server_version: "1.1.1", result: true6921 is expected to eq true6922 expected_version: "1.1.2", server_version: "1.1.1", result: false6923 is expected to eq false6924 expected_version: "1.73.0", server_version: "1.73.0-18-gf756ebe2", result: false6925 is expected to eq false6926 expected_version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", server_version: "1.55.6-45-g594c3ea3", result: true6927 is expected to eq true6928 expected_version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", server_version: "1.55.6-46-gabc123ff", result: false6929 is expected to eq false6930 expected_version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", server_version: "1.55.6", result: false6931 is expected to eq false6932 replication_factor6933 when examining for a given server6934 is expected to eq 26935Packages::Conan::SearchService6936 #execute6937 with wildcard6938 makes a wildcard query6939 with only wildcard6940 returns empty6941 with no wildcard6942 makes a search using the beginning of the recipe6943 with full recipe match6944 makes an exact search6945 with malicious query6946 returns empty6947Gitlab::Diff::FileCollection::Commit6948 behaves like diff statistics6949 when include_stats is true6950 Repository#diff_stats is called6951 Gitlab::Diff::File is initialized with diff stats6952 when should not request diff stats6953 Repository#diff_stats is not called6954 behaves like unfoldable diff6955 calls Gitlab::Diff::File#unfold_diff_lines with correct position6956 behaves like sortable diff files6957 #raw_diff_files6958 when sorted is false (default)6959 returns unsorted diff files6960 when sorted is true6961 returns sorted diff files6962 #cache_key6963 returns with the commit id6964Banzai::ReferenceParser::MilestoneParser6965 #nodes_visible_to_user6966 when the link has a data-issue attribute6967 behaves like referenced feature visibility6968 when feature is disabled6969 does not create reference6970 when feature is enabled only for team members6971 does not create reference for non member6972 creates reference for member6973 when feature is enabled6974 creates reference6975 #referenced_by6976 when the link has a data-milestone attribute6977 using an existing milestone ID6978 returns an Array of milestones6979 using a non-existing milestone ID6980 returns an empty Array6981MergeRequestSerializer6982 widget merge request serialization6983 matches issue json schema6984 sidebar merge request serialization6985 matches merge_request_sidebar json schema6986 sidebar_extras merge request serialization6987 matches merge_request_sidebar_extras json schema6988 basic merge request serialization6989 matches basic merge request json schema6990 noteable merge request serialization6991 matches noteable merge request json schema6992 when merge_request is locked6993 matches noteable merge request json schema6994 when project is archived6995 matches noteable merge request json schema6996 poll cached widget merge request serialization6997 matches basic merge request json schema6998 poll widget merge request serialization6999 matches basic merge request json schema7000 no serializer7001 falls back to the widget entity7002Tooling::KubernetesClient7003 #cleanup_pvcs_by_created_at7004 when no pvcs are stale7005 does not delete any PVC7006 when some pvcs are stale7007 when some pvcs are not in a review app namespaces7008 deletes the stale pvcs inside of review-apps namespaces only7009 when all pvcs are in review-apps namespaces7010 deletes all of the stale pvcs7011 #cleanup_namespaces_by_created_at7012 when no namespaces are stale7013 does not delete any namespace7014 when some namespaces are stale7015 when some namespaces are not review app namespaces7016 only deletes the review app namespaces7017 when all namespaces are review app namespaces7018 deletes all of the stale namespaces7019 #delete_pvc7020 when the namespace is not a review app namespace7021 does not delete the pvc7022 when the namespace is a review app namespace7023 deletes the pvc7024 #delete_namespaces7025 when at least one namespace is not a review app namespace7026 does not delete any namespace7027 when all namespaces are review app namespaces7028 deletes the namespaces7029 #pvcs_created_before7030 calls #resource_created_before with the correct parameters7031 returns a hash with two keys7032 #namespaces_created_before7033 calls #resource_created_before with the correct parameters7034 returns an array of namespaces7035 #run_command7036 when executing a successful command7037 displays the name of the command to stdout7038 does not raise an error7039 when executing an unsuccessful command7040 displays the name of the command to stdout7041 raises an error7042InjectEnterpriseEditionModule7043 #prepend_mod_with7044 behaves like expand the extension with7045 when extension namespace is set at top-level7046 calls prepend with the extension module7047 when extension namespace is set at another namespace7048 calls prepend with the extension module from the additional namespace7049 when extension namespace exists but not the extension7050 does not call prepend7051 when extension namespace does not exist7052 does not call prepend7053 #extend_mod_with7054 behaves like expand the extension with7055 when extension namespace is set at top-level7056 calls extend with the extension module7057 when extension namespace is set at another namespace7058 calls extend with the extension module from the additional namespace7059 when extension namespace exists but not the extension7060 does not call extend7061 when extension namespace does not exist7062 does not call extend7063 #include_mod_with7064 behaves like expand the extension with7065 when extension namespace is set at top-level7066 calls include with the extension module7067 when extension namespace is set at another namespace7068 calls include with the extension module from the additional namespace7069 when extension namespace exists but not the extension7070 does not call include7071 when extension namespace does not exist7072 does not call include7073 #prepend_mod7074 behaves like expand the assumed extension with7075 when extension namespace is set at top-level7076 calls prepend with the extension module7077 when extension namespace exists but not the extension7078 does not call prepend7079 when extension namespace does not exist7080 does not call prepend7081 #extend_mod7082 behaves like expand the assumed extension with7083 when extension namespace is set at top-level7084 calls extend with the extension module7085 when extension namespace exists but not the extension7086 does not call extend7087 when extension namespace does not exist7088 does not call extend7089 #include_mod7090 behaves like expand the assumed extension with7091 when extension namespace is set at top-level7092 calls include with the extension module7093 when extension namespace exists but not the extension7094 does not call include7095 when extension namespace does not exist7096 does not call include7097 #gitlab_extensions7098 when there are no extension modules7099 returns the class itself7100 when there are extension modules7101 returns the class itself and any extensions7102Gitlab::Database::Migrations::Observers::TransactionDuration7103 records real and sub transactions duration7104 when there are sub-transactions7105 records transaction duration7106 when there are real-transactions7107 records transaction duration7108Diffs::OverflowWarningComponent7109 rendered component7110 on a commit page7111 is expected to include "For a faster browsing experience, only <strong>1 of 2</strong> files are shown. Download one of the files below to see all changes."7112 links to the diff7113 links to the patch7114 on a merge request page and the merge request is persisted7115 is expected to include "For a faster browsing experience, only <strong>1 of 2</strong> files are shown. Download one of the files below to see all changes."7116 links to the diff7117 links to the patch7118 both conditions fail7119 is expected to include "For a faster browsing experience, only <strong>1 of 2</strong> files are shown. Download one of the files below to see all changes."7120 is expected not to include "btn gl-alert-action btn-default gl-button btn-default-secondary"7121 is expected not to include "Plain diff"7122 is expected not to include "Email patch"7123 #message7124 is expected to be a kind of String7125 is HTML-safe7126 #diff_link7127 is a string when on a commit page7128 is a string when on a merge request page7129 is nil in other situations7130 #patch_link7131 is a string when on a commit page7132 is a string when on a merge request page7133 is nil in other situations7134Gitlab::SidekiqDaemon::Monitor7135 #within_job7136 tracks thread, jid and worker_class7137 when job is canceled7138 does not execute a block7139 raises exception7140 #jobs7141 returns running jobs hash7142 #run_thread when notification channel not enabled7143 return directly7144 #run_thread when notification channel enabled7145 when structured logging is used7146 logs start message7147 logs stop message7148 logs StandardError message7149 logs and raises Exception message7150 when StandardError is raised7151 does retry connection7152 when message is published7153 and message is valid7154 processes cancel7155 and message is not valid json7156 skips processing7157 #stop7158#<Thread:0x00007f8f8003cb88 /builds/gitlab-org/gitlab/lib/gitlab/daemon.rb:56 run> terminated with exception (report_on_exception is true):7159Interrupt (Interrupt)7160 does stop the thread7161 #process_job_cancel7162 when jid is missing7163 does not run thread7164 when jid is provided7165 when jid is not found7166 does not log cancellation message7167 when jid is found7168#<Thread:0x00007f8f820fdb88 /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237 run> terminated with exception (report_on_exception is true):7169/builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `sleep': Gitlab::SidekiqDaemon::Monitor::CancelledError (Gitlab::SidekiqDaemon::Monitor::CancelledError)7170 from /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `block (6 levels) in <top (required)>'7171 does log cancellation message7172#<Thread:0x00007f8f826ccff0 /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237 run> terminated with exception (report_on_exception is true):7173/builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `sleep': Gitlab::SidekiqDaemon::Monitor::CancelledError (Gitlab::SidekiqDaemon::Monitor::CancelledError)7174 from /builds/gitlab-org/gitlab/spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb:237:in `block (6 levels) in <top (required)>'7175 does cancel the thread7176 .cancel_job7177 sets a redis key7178 notifies all workers7179 #notification_channel_enabled?7180 return nil when SIDEKIQ_MONITOR_WORKER is not set7181 return nil when SIDEKIQ_MONITOR_WORKER set to 07182 return 1 when SIDEKIQ_MONITOR_WORKER set to 17183JiraConnect::SyncProjectWorker7184 behaves like worker with data consistency7185 .get_data_consistency_feature_flag_enabled?7186 returns true7187 .get_data_consistency7188 returns correct data consistency7189 #perform7190 avoids N+1 database queries7191 sends the request with custom update_sequence_id7192 when the project is not found7193 does not raise an error7194 when the number of merge requests to sync is higher than the limit7195 syncs only the most recent merge requests within the limit7196Packages::Debian::ProcessChangesService7197 #execute7198 with valid package file7199 updates package and package file7200 with non-matching distribution7201 is expected to raise ActiveRecord::RecordNotFound7202 with missing field in .changes file7203 behaves like raises error with missing field7204 is expected to raise ArgumentError with "missing Source field"7205 behaves like raises error with missing field7206 is expected to raise ArgumentError with "missing Version field"7207 behaves like raises error with missing field7208 is expected to raise ArgumentError with "missing Distribution field"7209 with existing package7210 does not create a package and assigns the package_file to the existing package7211 marked as pending_destruction7212 does not re-use the existing package7213 with invalid package file7214 raise ExtractionError7215 when creating package fails7216 re-raise error7217Ci::GroupVariable7218 is expected to includes the Presentable module7219 is expected to includes the Ci::Maskable module7220 is expected to includes the HasEnvironmentScope module7221 is expected to validate that :key is case-sensitively unique within the scope of :group_id and :environment_scope, producing a custom validation error on failure7222 behaves like CI variable7223 is expected to includes the Ci::HasVariable module7224 strips whitespaces when assigning key7225 can convert to runner variable7226 variable type7227 defines variable types7228 defaults variable type to env_var7229 supports variable type file7230 behaves like includes Limitable concern7231 #exceeds_limits?7232 without plan limits configured7233 is expected to eq false7234 without plan limits configured7235 is expected to eq false7236 with an existing model7237 is expected to eq true7238 validations7239 is expected to be a kind of Limitable7240 without plan limits configured7241 can create new models7242 with plan limits configured7243 can create new models7244 with an existing model7245 cannot create new models exceeding the plan limits7246 .by_environment_scope7247 is expected to contain exactly #<Ci::GroupVariable id: 6, key: [FILTERED], value: nil, encrypted_value: "Um7fqmPm+84Dja0q8S864w==\n"...741818 +0000", masked: false, variable_type: "env_var", environment_scope: "production", raw: false>7248 .unprotected7249 when variable is protected7250 returns nothing7251 when variable is not protected7252 returns the variable7253 .for_groups7254 is expected to eq [#<Ci::GroupVariable id: 10, key: [FILTERED], value: nil, encrypted_value: "2CAvrsfG8njUnvaNmAI3Ug==\...8:29.109391137 +0000", masked: false, variable_type: "env_var", environment_scope: "*", raw: false>]7255 behaves like cleanup by a loose foreign key7256 cleans up (delete or nullify) the model7257 #audit_details7258 equals to the group variable's key7259Gitlab::Ci::Config::Entry::Commands7260 when entry config value is an array of strings7261 #value7262 returns array of strings7263 #errors7264 does not append errors7265 when entry config value is a string7266 #value7267 returns array with single element7268 #valid?7269 is valid7270 when entry config value is array of arrays of strings7271 #value7272 returns array of strings7273 #errors7274 does not append errors7275 #valid?7276 is valid7277 when entry config value is array of strings and arrays of strings7278 #value7279 returns array of strings7280 #errors7281 does not append errors7282 #valid?7283 is valid7284 when entry value is integer7285 #errors7286 saves errors7287 when entry value is multi-level nested array7288 #errors7289 saves errors7290 #valid?7291 is not valid7292CommitSignatures::X509CommitSignature7293 behaves like having unique enum values7294 has unique values in "verification_status"7295 behaves like commit signature7296 associations7297 is expected to belong to project required: true7298 validation7299 is expected to validate that :commit_sha cannot be empty/falsy7300 is expected to validate that :project_id cannot be empty/falsy7301 .safe_create!7302 finds a signature by commit sha if it existed7303 creates a new signature if it was not found7304 assigns the correct attributes when creating7305 does not raise an error in case of a race condition7306 #commit7307 fetches the commit through the project7308 behaves like signature with type checking7309 signature type checkers7310 method: :gpg?, expected: false7311 is expected to eq false7312 method: :ssh?, expected: false7313 is expected to eq false7314 method: :x509?, expected: true7315 is expected to eq true7316 validation7317 is expected to validate that :x509_certificate_id cannot be empty/falsy7318 associations7319 is expected to belong to x509_certificate required: true7320 #user7321 if email is not assigned to a user, return nil7322 if email is assigned to a user7323 returns user7324UserGroupNotificationSettingsFinder7325 when the groups have no existing notification settings7326 when the groups have no ancestors7327 will be a default Global notification setting7328 when the groups have ancestors7329 does not cause an N+17330 when an ancestor has a level other than Global7331 has the same level set7332 has the same email set7333 only returns the two queried groups7334 when an ancestor has a Global level but has an email set7335 has the same email and level set7336 when the group has parent_id set but that does not belong to any group7337 returns a default Global notification setting7338 when the group has a private parent7339 still inherits the notification settings7340 preloading `emails_disabled`7341 preloads the `group.emails_disabled` method7342 preloads the `group.emails_disabled` method correctly7343Gitlab::Ci::Status::Pipeline::Delayed7344 #text7345 overrides status text7346 #label7347 overrides status label7348 .matches?7349 when pipeline is scheduled7350 is a correct match7351 when pipeline is not scheduled7352 does not match7353Gitlab::Kas7354 .verify_api_request7355 returns nil if fails to validate the JWT7356 returns the decoded JWT7357 .secret_path7358 returns default gitlab config7359 .enabled?7360 gitlab_config is not enabled7361 is expected to be falsey7362 gitlab_config is enabled7363 is expected to be truthy7364 enabled is unset7365 is expected to be falsey7366 .external_url7367 returns gitlab_kas external_url config7368 .tunnel_url7369 with a gitlab_kas.external_k8s_proxy_url setting7370 is expected to eq "abc"7371 without a gitlab_kas.external_k8s_proxy_url setting7372 external_url uses wss://7373 is expected to eq "https://kas.gitlab.example.com/k8s-proxy"7374 external_url uses ws://7375 is expected to eq "http://kas.gitlab.example.com/k8s-proxy"7376 external_url uses grpcs://7377 is expected to eq "https://kas.gitlab.example.com/k8s-proxy"7378 external_url uses grpc://7379 is expected to eq "http://kas.gitlab.example.com/k8s-proxy"7380 .internal_url7381 returns gitlab_kas internal_url config7382 .version7383 returns gitlab_kas version config7384 .version_info7385 returns gitlab_kas version config, including suffix7386 .ensure_secret!7387 secret file exists7388 does not call write_secret7389 secret file does not exist7390 calls write_secret7391gitlab:pages7392 gitlab:pages:deployments:migrate_to_object_storage7393 when local storage is used7394 and remote storage is defined7395 migrates file to remote storage7396 and remote storage is not defined7397 fails to migrate to remote storage7398 when remote storage is used7399 file stays on remote storage7400 gitlab:pages:deployments:migrate_to_local7401 when remote storage is used7402 and job has remote file store defined7403 migrates file to local storage7404 when local storage is used7405 file stays on local storage7406Gitlab::SafeRequestLoader7407 .execute7408 gets data from the store and returns it7409 #execute7410 without a block7411 raises an error7412 when a resource_id is nil7413 contains resource_data with nil key7414 with SafeRequestStore considerations7415 when request store is active7416 gets data from the store7417 with already loaded resource_ids7418 does not re-fetch data if resource_id already exists7419 with mixture of new and existing resource_ids7420 when block does not filter for only the missing resource_ids7421 overwrites existing keyed data with results from the block7422 when passing the missing resource_ids to a block that filters for them7423 only updates resource_data with keyed items that did not exist7424 with default_value for resource_ids that did not exist in the results7425 when default_value is provided7426 populates a default value7427 when default_value is not provided7428 populates a default_value of nil7429 when request store is not active7430 has no data added from the store7431 with mixture of new and existing resource_ids7432 when block does not filter out existing resource_data keys7433 overwrites existing keyed data with results from the block7434 when passing the missing resource_ids to a block that filters for them7435 only updates resource_data with keyed items that did not exist7436 with default_value for resource_ids that did not exist in the results7437 when default_value is provided7438 populates a default value7439 when default_value is not provided7440 populates a default_value of nil7441gitlab:gitaly namespace rake task7442 clone7443 no dir given7444 aborts and display a help message7445 no storage path given7446 aborts and display a help message7447 when an underlying Git command fail7448 aborts and display a help message7449 checkout or clone7450 calls checkout_or_clone_version with the right arguments7451 install7452 gmake/make7453 gmake is available7454 calls gmake in the gitaly directory7455 when gmake fails7456 aborts process7457 gmake is not available7458 calls make in the gitaly directory7459 when Rails.env is test7460 calls make in the gitaly directory with BUNDLE_DEPLOYMENT and GEM_HOME variables7461AuthorizedProjectUpdate::PeriodicRecalculateService7462 #execute7463 calls AuthorizedProjectUpdate::UserRefreshOverUserRangeWorker7464Achievements::UserAchievement7465 # order random7466 scopes7467 .not_revoked7468 only returns user achievements which have not been revoked7469 associations7470 is expected to belong to achievement inverse_of => user_achievements required: true7471 is expected to belong to user inverse_of => user_achievements required: true7472 is expected to belong to awarded_by_user class_name => User inverse_of => awarded_user_achievements required: true7473 is expected to belong to revoked_by_user class_name => User inverse_of => revoked_user_achievements optional: true7474 #revoked?7475 when revoked7476 is expected to equal true7477 when not revoked7478 is expected to equal false7479Gitlab::Metrics::System7480 when /proc files exist7481 .memory_usage_rss7482 without PID7483 returns a hash containing RSS metrics in bytes for current process7484 with PID7485 returns a hash containing RSS metrics in bytes for given process7486 .file_descriptor_count7487 returns the amount of open file descriptors7488 .max_open_file_descriptors7489 returns the max allowed open file descriptors7490 .memory_usage_uss_pss7491 without PID7492 returns the current process' unique and porportional set size (USS/PSS) in bytes7493 with PID7494 returns the given process' unique and porportional set size (USS/PSS) in bytes7495 .memory_total7496 returns the current process' resident set size (RSS) in bytes7497 .process_runtime_elapsed_seconds7498 returns the seconds elapsed since the process was started7499 when inputs are not available7500 returns 07501 .summary7502 contains a selection of the available fields7503 when /proc files do not exist7504 .memory_usage_rss7505 returns 0 for all components7506 .memory_usage_uss_pss7507 returns 0 for all components7508 .file_descriptor_count7509 returns 07510 .max_open_file_descriptors7511 returns 07512 .summary7513 returns only available fields7514 .cpu_time7515 returns a Float7516 .real_time7517 returns a Float7518 .monotonic_time7519 returns a Float7520 .thread_cpu_time7521 returns cpu_time on supported platform7522 returns nil on unsupported platform7523 .thread_cpu_duration7524 returns difference between start and current time7525 returns nil on unsupported platform7526Integrations::ChatMessage::AlertMessage7527 behaves like Integrations::ChatMessage7528 when input contains link markup7529 strips all link markup characters7530 #message7531 returns the correct message7532 #attachments7533 returns an array of one7534 contains the correct attributes7535 returns the correct color7536 returns the correct attachment fields7537 returns the correctly formatted time7538Groups::MergeRequestsCountService7539 #relation_for_count7540 uses the MergeRequestsFinder to scope merge requests7541 behaves like a counter caching service with threshold7542 when cache is empty7543 refreshes cache if value over threshold7544 does not refresh cache if value under threshold7545 when cached count is under the threshold value7546 does not refresh cache7547 when cached count is over the threshold value7548 does not refresh cache7549RuboCop::Cop::Gitlab::NamespacedClass7550 # order random7551 without top-level namespace7552 behaves like enforces namespaced classes7553 flags a class definition without additional namespace7554 flags a compact class definition without additional namespace7555 flags a class definition with inheritance without additional namespace7556 does not flag the class definition with namespace in separate lines7557 does not flag the class definition with nested namespace in separate lines7558 does not flag the class definition nested inside namespaced class7559 does not flag the class definition nested inside compact namespace7560 does not flag a compact namespaced class definition7561 does not flag a truly compact namespaced class definition7562 with Gitlab namespace7563 behaves like enforces namespaced classes7564 flags a class definition without additional namespace7565 flags a compact class definition without additional namespace7566 flags a class definition with inheritance without additional namespace7567 does not flag the class definition with namespace in separate lines7568 does not flag the class definition with nested namespace in separate lines7569 does not flag the class definition nested inside namespaced class7570 does not flag the class definition nested inside compact namespace7571 does not flag a compact namespaced class definition7572 does not flag a truly compact namespaced class definition7573 with ::Gitlab namespace7574 behaves like enforces namespaced classes7575 flags a class definition without additional namespace7576 flags a compact class definition without additional namespace7577 flags a class definition with inheritance without additional namespace7578 does not flag the class definition with namespace in separate lines7579 does not flag the class definition with nested namespace in separate lines7580 does not flag the class definition nested inside namespaced class7581 does not flag the class definition nested inside compact namespace7582 does not flag a compact namespaced class definition7583 does not flag a truly compact namespaced class definition7584create_tokens7585 ensure acknowledged secrets in any installations7586 does not allow to add a new secret without a proper handling7587 setting secret keys7588 when none of the secrets exist7589 generates different hashes for secret_key_base, otp_key_base, and db_key_base7590 generates an RSA key for openid_connect_signing_key7591 warns about the secrets to add to secrets.yml7592 writes the secrets to secrets.yml7593 does not write a .secret file7594 when the other secrets all exist7595 when secret_key_base exists in the environment and secrets.yml7596 does not issue a warning7597 uses the environment variable7598 does not update secrets.yml7599 when secret_key_base and otp_key_base exist7600 does not write any files7601 sets the keys to the values from the environment and secrets.yml7602 deletes the .secret file7603 when secret_key_base and otp_key_base do not exist7604 uses the file secret7605 keeps the other secrets as they were7606 warns about the missing secrets7607 deletes the .secret file7608 when rotated_encrypted_settings_key_base does not exist7609 does not warn about the missing secrets7610 does not update secrets.yml7611 when db_key_base is blank but exists in secrets.yml7612 warns about updating db_key_base7613 warns about the blank value existing in secrets.yml and exits7614 does not update secrets.yml7615Projects::Prometheus::AlertsFinder7616 with params7617 #execute7618 with project7619 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 24, project_id: 900, prometheus_metric_id: 3, runbook_url: nil>]7620 with matching metric7621 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 1, runbook_url: nil>]7622 with matching metric id7623 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 1, runbook_url: nil>]7624 with project non-specific metric7625 is expected to be empty7626 with environment7627 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 2, runbook_url: nil>]7628 with matching metric7629 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 1, runbook_url: nil>]7630 with environment non-specific metric7631 is expected to be empty7632 with matching project and environment7633 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 2, runbook_url: nil>]7634 with matching metric7635 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 1, runbook_url: nil>]7636 with environment non-specific metric7637 is expected to be empty7638 with matching id7639 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 1, runbook_url: nil>]7640 with a nil id7641 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 2, runbook_url: nil>]7642 with non-matching project-environment pair7643 is expected to be empty7644 with id7645 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 23, project_id: 900, prometheus_metric_id: 1, runbook_url: nil>]7646 with multiple ids7647 is expected to eq [#<PrometheusAlert id: 1, created_at: "2023-03-30 11:58:59.415875836 +0000", updated_at: "2023-03-30 ....0, operator: "gt", environment_id: 22, project_id: 901, prometheus_metric_id: 4, runbook_url: nil>]7648 with non-matching id7649 is expected to be empty7650 without params7651 raises an error7652LooseForeignKeys::CleanerService7653 when invalid foreign key definition is passed7654 when invalid on_delete argument was given7655 raises KeyError7656 query generation7657 when single primary key is used7658 generates an IN query for nullifying the rows7659 generates an IN query for deleting the rows7660 when composite primary key is used7661 generates an IN query for deleting the rows7662 when the query generation is incorrect (paranoid check)7663 raises error if the foreign key condition is missing7664 when with_skip_locked parameter is true7665 generates a query with the SKIP LOCKED clause7666Gitlab::Ci::Parsers::Terraform::Tfplan7667 #parse!7668 when data is invalid7669 when data is not a JSON file7670 reports an invalid_json_format error7671 when JSON is missing a required key7672 reports an invalid_json_keys error7673 when artifact is invalid7674 reports an :unknown_error7675 when job is invalid7676 reports an :unknown_error7677 when data is valid7678 parses JSON and returns a report7679 parses JSON when extra keys are present7680RuboCop::Formatter::TodoFormatter7681 # order random7682 without files to inspect7683 does not output anything7684 does not write any YAML files7685 with offenses detected7686 outputs its actions7687 creates YAML files7688 when cop previously not explicitly disabled7689 does not disable cop7690 when cop previously explicitly disabled in rubocop_todo/7691 keeps cop disabled7692 when cop previously explicitly disabled in rubocop_todo.yml7693 keeps cop disabled7694 with grace period7695 in rubocop_todo/7696 behaves like keeps grace period7697 keeps Details: grace period7698 in rubocop_todo.yml7699 behaves like keeps grace period7700 keeps Details: grace period7701 with invalid details value7702 ignores the details and warns7703 and previously disabled7704 raises an exception7705 with cop configuration in both .rubocop_todo/ and .rubocop_todo.yml7706 raises an error7707 without offenses detected7708 without existing TODOs7709 does not output anything7710 does not write any YAML files7711 with existing TODOs7712 when existing offenses only7713 does not output anything7714 does not write any YAML files7715 when in grace period7716 outputs its actions7717 creates YAML file with Details only7718gitlab:setup namespace rake tasks7719 setup7720 sets up the application7721 when an environment variable is set to force execution7722 sets up the application without prompting the user7723 when the gitaly connection check raises an error7724 exits the task without setting up the database7725 when the task is aborted7726 exits without setting up the database7727 when in the production environment7728 sets up the database without terminating connections7729Gitlab::Ci::Config::Entry::Reports::CoverageReport7730 validations7731 when it is valid7732 is expected to be valid7733 is expected to eq {:coverage_format=>"cobertura", :path=>"cobertura-coverage.xml"}7734 when it is not a hash7735 config: "string"7736 is expected not to be valid7737 is expected to include /should be a hash/7738 config: true7739 is expected not to be valid7740 is expected to include /should be a hash/7741 config: []7742 is expected not to be valid7743 is expected to include /should be a hash/7744 with unsupported coverage format7745 is expected not to be valid7746 is expected to include /format must be one of supported formats/7747 without coverage format7748 is expected not to be valid7749 is expected to include /format can't be blank/7750 without path7751 is expected not to be valid7752 is expected to include /path can't be blank/7753 with invalid path7754 is expected not to be valid7755 is expected to include /path should be a string/7756 with unknown keys7757 is expected not to be valid7758 is expected to include /contains unknown keys/7759Sidebars::Projects::Menus::PackagesRegistriesMenu7760 behaves like not serializable as super_sidebar_menu_args7761 returns nil7762 #render?7763 when menu does not have any menu item to show7764 returns false7765 when menu has menu items to show7766 returns true7767 #link7768 when Packages Registry is visible7769 menu link points to Packages Registry page7770 when Packages Registry is not visible7771 menu link points to Container Registry page7772 when Container Registry is not visible7773 does not display menu link7774 Menu items7775 Packages Registry7776 when user can read packages7777 when config package setting is disabled7778 the menu item is not added to list of menu items7779 when config package setting is enabled7780 the menu item is added to list of menu items7781 when user cannot read packages7782 the menu item is not added to list of menu items7783 Container Registry7784 when user can read container images7785 when config registry setting is disabled7786 the menu item is not added to list of menu items7787 when config registry setting is enabled7788 the menu item is added to list of menu items7789 when user cannot read container images7790 the menu item is not added to list of menu items7791 Infrastructure Registry7792 the menu item is added to list of menu items7793 when config package setting is disabled7794 does not add the menu item to the list7795 when user cannot read packages7796 does not add the menu item to the list7797 Harbor Registry7798 when config harbor registry setting is disabled7799 does not add the menu item to the list7800 when config harbor registry setting is enabled7801 the menu item is added to list of menu items7802 when config harbor registry setting is not activated7803 does not add the menu item to the list7804Snippets::RepositoryStorageMove7805 behaves like handles repository moves7806 associations7807 is expected to belong to container required: false7808 validations7809 is expected to validate that :container cannot be empty/falsy7810 is expected to validate that :state cannot be empty/falsy7811 is expected to validate that :source_storage_name cannot be empty/falsy7812 is expected to validate that :destination_storage_name cannot be empty/falsy7813 source_storage_name inclusion7814 does not allow repository storages that don't match a label in the configuration7815 destination_storage_name inclusion7816 does not allow repository storages that don't match a label in the configuration7817 container repository read-only7818 does not allow the container to be read-only on create7819 defaults7820 destination_storage_name7821 can pick new storage7822 state transitions7823 when in the default state7824 and transits to scheduled7825 triggers the corresponding repository storage worker7826 when the transition fails7827 does not trigger the corresponding repository storage worker and adds an error7828 and transits to started7829 does not allow the transition7830 when started7831 and transits to replicated7832 marks the container as writable7833 updates the updated_at column of the container7834 and transits to failed7835 marks the container as writable7836Projects::Ml::CandidateFinder7837 # order random7838 .execute7839 by name7840 when params has no name7841 fetches all candidates in the experiment7842 does not fetch candidate not in experiment7843 when name is included in params7844 fetches the correct candidates7845 sorting7846 test_case: "default params", order_by: nil, order_by_type: nil, direction: nil, expected_order: [3, 2, 1, 0]7847 is expected to eq [#<Ml::Candidate id: 4, created_at: "2023-03-30 11:59:13.018336080 +0000", updated_at: "2023-03-30 11..."c", package_id: nil, eid: "ebdeaab2-1f63-446d-8cd1-31881c9615c1", project_id: 913, internal_id: 1>]7848 test_case: "ascending order", order_by: nil, order_by_type: nil, direction: "ASC", expected_order: [0, 1, 2, 3]7849 is expected to eq [#<Ml::Candidate id: 1, created_at: "2023-03-30 11:59:12.285287910 +0000", updated_at: "2023-03-30 11..."b", package_id: nil, eid: "cc95201a-f17f-4a2f-9232-d85543dc9b22", project_id: 916, internal_id: 1>]7850 test_case: "column is passed", order_by: "name", order_by_type: "column", direction: "ASC", expected_order: [1, 3, 0, 2]7851 is expected to eq [#<Ml::Candidate id: 2, created_at: "2023-03-30 11:59:12.534312926 +0000", updated_at: "2023-03-30 11...da", package_id: nil, eid: "620e1799-a02c-4c00-830e-ca2accbf3869", project_id: 915, internal_id: 1>]7852 test_case: "column is a metric", order_by: "auc", order_by_type: "metric", direction: nil, expected_order: [2, 0, 1, 3]7853 is expected to eq [#<Ml::Candidate id: 3, created_at: "2023-03-30 11:59:12.766880684 +0000", updated_at: "2023-03-30 11..."b", package_id: nil, eid: "cc95201a-f17f-4a2f-9232-d85543dc9b22", project_id: 916, internal_id: 1>]7854 test_case: "invalid sort", order_by: nil, order_by_type: nil, direction: "INVALID", expected_order: [3, 2, 1, 0]7855 is expected to eq [#<Ml::Candidate id: 4, created_at: "2023-03-30 11:59:13.018336080 +0000", updated_at: "2023-03-30 11..."c", package_id: nil, eid: "ebdeaab2-1f63-446d-8cd1-31881c9615c1", project_id: 913, internal_id: 1>]7856 test_case: "invalid order by", order_by: "INVALID", order_by_type: "column", direction: "desc", expected_order: [3, 2, 1, 0]7857 is expected to eq [#<Ml::Candidate id: 4, created_at: "2023-03-30 11:59:13.018336080 +0000", updated_at: "2023-03-30 11..."c", package_id: nil, eid: "ebdeaab2-1f63-446d-8cd1-31881c9615c1", project_id: 913, internal_id: 1>]7858 test_case: "invalid order by metric", order_by: nil, order_by_type: "metric", direction: "desc", expected_order: []7859 is expected to eq []7860 when name and sort by metric is passed7861 is expected to eq [#<Ml::Candidate id: 3, created_at: "2023-03-30 11:59:12.766880684 +0000", updated_at: "2023-03-30 11..."a", package_id: nil, eid: "8abcf8ef-28dc-4cbc-acd6-605f24090d1b", project_id: 914, internal_id: 1>]7862Gitlab::APIAuthentication::TokenLocator7863 .new7864 with a valid type7865 creates a new instance7866 with an invalid type7867 raises ActiveModel::ValidationError7868 #extract7869 with :http_basic_auth7870 without credentials7871 returns nil7872 with credentials7873 returns the credentials7874 with :http_token7875 without credentials7876 returns nil7877 with credentials7878 returns the credentials7879 with :http_bearer_token7880 without credentials7881 returns nil7882 with credentials7883 returns the credentials7884 with :http_deploy_token_header7885 without credentials7886 returns nil7887 with credentials7888 returns the credentials7889 with :http_job_token_header7890 without credentials7891 returns nil7892 with credentials7893 returns the credentials7894 with :http_private_token_header7895 without credentials7896 returns nil7897 with credentials7898 returns the credentials7899 with :token_param7900 without credentials7901 returns nil7902 with credentials7903 returns the credentials7904Ci::SecureFileUploader7905 #key7906 creates a digest with a secret key and the project id7907 .checksum7908 returns a SHA256 checksum for the unencrypted file7909 encryption7910 encrypts the stored file7911 decrypts the file when reading7912 .direct_upload_enabled?7913 returns false7914 .default_store7915 when object storage is enabled7916 returns REMOTE7917 when object storage is disabled7918 returns LOCAL7919gitlab:lfs namespace rake task7920 migration tasks7921 migrate7922 object storage disabled7923 doesn't migrate files7924 object storage enabled7925 migrates local file to object storage7926 migrate_to_local7927 object storage enabled7928 migrates remote files to local storage7929BulkImports::Pipeline::Runner7930 pipeline runner7931 when entity is not marked as failed7932 runs pipeline extractor, transformer, loader7933 when extracted data has multiple pages7934 updates tracker information and runs pipeline again7935 when the exception BulkImports::NetworkError is raised7936 when exception is retriable7937 raises the exception BulkImports::RetryPipelineError7938 when exception is not retriable7939 behaves like failed pipeline7940 logs import failure7941 when pipeline is marked to abort on failure7942 logs a warn message and marks entity and tracker as failed7943 when pipeline is not marked to abort on failure7944 does not mark entity as failed7945 when a retriable BulkImports::NetworkError exception is raised while extracting the next page7946 raises the exception BulkImports::RetryPipelineError7947 when the exception StandardError is raised7948 behaves like failed pipeline7949 logs import failure7950 when pipeline is marked to abort on failure7951 logs a warn message and marks entity and tracker as failed7952 when pipeline is not marked to abort on failure7953 does not mark entity as failed7954 when entity is marked as failed7955 logs and returns without execution7956Gitlab::Git::PreReceiveError7957 uses the fallback message7958 uses the fallback message7959 error messages prefixed with GitLab:7960 accepts only errors lines with the prefix7961 makes its message HTML-friendly7962 prefers the original message over the fallback7963 error messages prefixed with GL-HOOK-ERR:7964 accepts only errors lines with the prefix7965 makes its message HTML-friendly7966 prefers the original message over the fallback7967Gitlab::Ci::PipelineObjectHierarchy7968 #base_and_ancestors7969 includes the base and its ancestors7970 can find ancestors upto a certain level7971 hierarchy_order option7972 :asc7973 orders by child to ancestor7974 :desc7975 orders by ancestor to child7976 #base_and_descendants7977 includes the base and its descendants7978 when project_condition: :different7979 includes the base and other project pipelines7980 when project_condition: nil7981 includes the base and its descendants with other project pipeline7982 when with_depth is true7983 includes depth in the results7984 #all_objects7985 when passing ancestors_base7986 when project_condition: :same7987 includes its ancestors and descendants7988 when project_condition: :different7989 includes the base and other project pipelines7990 when passing ancestors_base and descendants_base7991 when project_condition: :same7992 returns all family tree7993 when project_condition: :different7994 includes the base and other project pipelines7995Mutations::IncidentManagement::TimelineEvent::Destroy7996 # order random7997 is expected to require graphql authorizations :admin_incident_management_timeline_event7998 #resolve7999 when a user has permissions to delete timeline event8000 when TimelineEvents::DestroyService responds with success8001 returns the timeline event with no errors8002 when TimelineEvents::DestroyService responds with an error8003 returns errors8004 when a user has no permissions to delete timeline event8005 raises an error8006Gitlab::Ci::Config::Entry::IdToken8007 # order random8008 when given `aud` as an array8009 is valid and concatenates the values8010 when given `aud` as a string8011 is valid8012 when not given an `aud`8013 is invalid8014 when given an unknown keyword8015 is invalid8016Gitlab::Metrics::MethodCall8017 #measure8018 measures the performance of the supplied block8019 when measurement is above threshold8020 metric is not a NullMetric8021 observes the performance of the supplied block8022 when measurement is below threshold8023 does not observe the performance8024 #above_threshold?8025 returns false when the total call time is not above the threshold8026 returns true when the total call time is above the threshold8027 #call_count8028 without any method calls8029 returns 08030 with method calls8031 returns the number of method calls8032 #cpu_time8033 without timings8034 returns 0.08035 with timings8036 returns the total CPU time8037 #real_time8038 without timings8039 returns 0.08040 with timings8041 returns the total real time8042gitlab:password rake tasks8043 :reset8044 when all inputs are correct8045 updates the password properly8046 when username is not provided8047 asks for username8048 when username is empty8049Username can not be empty.8050 aborts with an error8051 when username is passed as argument8052 does not ask for username8053 when passwords do not match8054Unable to change password of the user with username foobar.8055Password confirmation doesn't match Password8056 aborts with an error8057 when user cannot be found8058Unable to find user with username nonexistentuser.8059 aborts with an error8060Gitlab::Ci::Build::Artifacts::Adapters::RawStream8061 #initialize8062 when stream is passed8063 initialized8064 when stream is not passed8065 raises an error8066 #each_blob8067 when file is not empty8068 iterates content8069 when file is empty8070 does not iterate content8071MergeRequests::ResolveTodosWorker8072 behaves like an idempotent worker8073 is labeled as idempotent8074 performs multiple times sequentially without raising an exception8075 #perform8076 calls MergeRequests::ResolveTodosService#execute8077 with a non-existing merge request8078 does nothing8079 with a non-existing user8080 does nothing8081Banzai::Pipeline::PlainMarkdownPipeline8082 backslash escapes8083 converts all escapable punctuation to literals8084 ensure we handle all the GitLab reference characters8085 does not convert non-reference/latex punctuation to spans8086 does not convert other characters to literals8087 backslash escapes are untouched in code blocks, code spans, autolinks, or raw HTML8088 markdown: "`` \\@\\! ``", expected: "<code>\\@\\!</code>"8089 is expected to include "<code>\\@\\!</code>"8090 markdown: " \\@\\!", expected: "<code>\\@\\!\n</code>"8091 is expected to include "<code>\\@\\!\n</code>"8092 markdown: "~~~\n\\@\\!\n~~~", expected: "<code>\\@\\!\n</code>"8093 is expected to include "<code>\\@\\!\n</code>"8094 markdown: "$1+\\$2$", expected: "<code data-math-style=\"inline\">1+\\$2</code>"8095 is expected to include "<code data-math-style=\"inline\">1+\\$2</code>"8096 markdown: "<http://example.com?find=\\@>", expected: "<a href=\"http://example.com?find=%5C@\">http://example.com?find=\\@</a>"8097 is expected to include "<a href=\"http://example.com?find=%5C@\">http://example.com?find=\\@</a>"8098 markdown: "<a href=\"/bar\\@)\">", expected: "<a href=\"/bar%5C@)\">"8099 is expected to include "<a href=\"/bar%5C@)\">"8100 work in all other contexts, including URLs and link titles, link references, and info strings in fenced code blocks8101 renders correct html8102 markdown: "[foo](/bar\\@ \"\\@title\")", expected: "<a href=\"/bar@\" title=\"@title\">foo</a>"8103 is expected to include "<a href=\"/bar@\" title=\"@title\">foo</a>"8104 markdown: "[foo]\n\n[foo]: /bar\\@ \"\\@title\"", expected: "<a href=\"/bar@\" title=\"@title\">foo</a>"8105 is expected to include "<a href=\"/bar@\" title=\"@title\">foo</a>"8106Sidekiq::Worker8107 for sidekiq workers8108 behaves like a forbiddable operation within a transaction8109 allows the operation outside of a transaction8110 forbids the operation within a transaction8111 allows the oepration within a transaction if skipped8112 forbids the operation if it is within a Ci::ApplicationRecord transaction8113 for mailers8114 behaves like a forbiddable operation within a transaction8115 allows the operation outside of a transaction8116 forbids the operation within a transaction8117 allows the oepration within a transaction if skipped8118 forbids the operation if it is within a Ci::ApplicationRecord transaction8119Pajamas::CheckboxComponent8120 with default options8121 renders unchecked checkbox with value of `1`8122 does not render help text8123 renders hidden input with value of `0`8124 with custom options8125 renders help text8126 renders checked checkbox with value of `yes`8127 adds CSS class to label8128 renders hidden input with value of `no`8129 with `label` slot8130 renders unchecked checkbox with value of `1`8131 with `help_text` slot8132 renders unchecked checkbox with value of `1`8133 renders help text8134 with `label` and `help_text` slots8135 renders unchecked checkbox with value of `1`8136 renders help text8137IssueEmailParticipantPresenter8138 # order random8139 #email8140 is expected to eq "an*****@e*****.c**"8141 with signed in user8142 when user has no role in project8143 is expected to eq "an*****@e*****.c**"8144 when user has guest role in project8145 is expected to eq "an*****@e*****.c**"8146 when user has reporter role in project8147 is expected to eq "any@email.com"8148 when user has developer role in project8149 is expected to eq "any@email.com"8150Gitlab::UsageDataCounters::GitLabCliActivityUniqueCounter8151 when tracking a gitlab cli request8152 with the old UserAgent8153 behaves like a request from an extension8154 tracks when the user agent is matching8155 does not track when the user agent is not matching8156 does not track if user agent is not present8157 does not track if user is not present8158 with the current UserAgent8159 behaves like a request from an extension8160 tracks when the user agent is matching8161 does not track when the user agent is not matching8162 does not track if user agent is not present8163 does not track if user is not present8164Gitlab::Themes8165 .body_classes8166 returns a space-separated list of class names8167 .by_id8168 returns a Theme by its ID8169 .default8170 returns the default application theme8171 prevents an infinite loop when configuration default is invalid8172 .each8173 passes the block to the THEMES Array8174 theme.css_filename8175 for Indigo8176 returns an existing CSS filename8177 for Light Indigo8178 returns an existing CSS filename8179 for Blue8180 returns an existing CSS filename8181 for Light Blue8182 returns an existing CSS filename8183 for Green8184 returns an existing CSS filename8185 for Light Green8186 returns an existing CSS filename8187 for Red8188 returns an existing CSS filename8189 for Light Red8190 returns an existing CSS filename8191 for Gray8192 returns an existing CSS filename8193 for Light Gray8194 returns an existing CSS filename8195Types::MergeRequests::ReviewerType8196 behaves like a user type with merge request interaction type8197 is expected to require graphql authorizations :read_user8198 has the expected fields8199 #merge_request_interaction8200 returns the correct type8201 has the correct arguments8202Gitlab::Usage::Metrics::Aggregates::Aggregate8203 .calculate_count_for_aggregation8204 with valid configuration8205 number_of_days: 28, operator: "AND", datasource: "redis_hll", expected_method: :calculate_metrics_intersections8206 returns the number of unique events for aggregation8207 number_of_days: 7, operator: "AND", datasource: "redis_hll", expected_method: :calculate_metrics_intersections8208 returns the number of unique events for aggregation8209 number_of_days: 28, operator: "AND", datasource: "database", expected_method: :calculate_metrics_intersections8210 returns the number of unique events for aggregation8211 number_of_days: 7, operator: "AND", datasource: "database", expected_method: :calculate_metrics_intersections8212 returns the number of unique events for aggregation8213 number_of_days: 28, operator: "OR", datasource: "redis_hll", expected_method: :calculate_metrics_union8214 returns the number of unique events for aggregation8215 number_of_days: 7, operator: "OR", datasource: "redis_hll", expected_method: :calculate_metrics_union8216 returns the number of unique events for aggregation8217 number_of_days: 28, operator: "OR", datasource: "database", expected_method: :calculate_metrics_union8218 returns the number of unique events for aggregation8219 number_of_days: 7, operator: "OR", datasource: "database", expected_method: :calculate_metrics_union8220 returns the number of unique events for aggregation8221 with invalid configuration8222 time_frame: "28d", operator: "SUM", datasource: "redis_hll", expected_error: Gitlab::Usage::Metrics::Aggregates::UnknownAggregationOperator8223 with non prod environment8224 raises error8225 with prod environment8226 returns fallback value8227 time_frame: "7d", operator: "AND", datasource: "mongodb", expected_error: Gitlab::Usage::Metrics::Aggregates::UnknownAggregationSource8228 with non prod environment8229 raises error8230 with prod environment8231 returns fallback value8232 time_frame: "all", operator: "AND", datasource: "redis_hll", expected_error: Gitlab::Usage::Metrics::Aggregates::DisallowedAggregationTimeFrame8233 with non prod environment8234 raises error8235 with prod environment8236 returns fallback value8237 when union data is not available8238 time_frame: "28d", operator: "OR", datasource: "redis_hll"8239 with non prod environment8240 raises error8241 with prod environment8242 returns fallback value8243 time_frame: "7d", operator: "OR", datasource: "database"8244 with non prod environment8245 raises error8246 with prod environment8247 returns fallback value8248Gitlab::GithubImport::Importer::CollaboratorsImporter8249 # order random8250 #execute8251 when running in parallel mode8252 imports collaborators in parallel8253 when running in sequential mode8254 imports collaborators in sequence8255 #id_for_already_imported_cache8256 returns the ID of the given note8257 #parallel?8258 when parallel option is true8259 is expected to be parallel8260 when parallel option is false8261 is expected not to be parallel8262 #sequential_import8263 imports each collaborator in sequence8264 #parallel_import8265 imports each collaborator in parallel8266 when collaborator is already imported8267 doesn't run importer on it8268ProtectedBranches::CreateService8269 with entity project8270 behaves like execute with entity8271 #execute8272 creates a new protected branch8273 refreshes the cache8274 when protecting a branch with a name that contains HTML tags8275 creates a new protected branch8276 when a policy restricts rule creation8277 prevents creation of the protected branch rule8278 creates a new protected branch if we skip authorization step8279 with entity group8280 behaves like execute with entity8281 #execute8282 creates a new protected branch8283 refreshes the cache8284 when protecting a branch with a name that contains HTML tags8285 creates a new protected branch8286 when a policy restricts rule creation8287 prevents creation of the protected branch rule8288 creates a new protected branch if we skip authorization step8289Gitlab::Database::SchemaCleaner8290 removes comments on extensions8291 no assumption about public being the default schema8292 cleans up all the gitlab_schema_prevent_write table triggers8293 keeps the lock_writes trigger functions8294 cleans up the full schema as expected (blackbox test with example)8295API::Entities::DraftNote8296 # order random8297 exposes correct attributes8298Members::ImportProjectTeamService8299 #execute8300 when project team members are imported successfully8301 returns true8302 when the project team import fails8303 when the target project cannot be found8304 returns false8305 when the source project cannot be found8306 returns false8307 when the user doing the import does not exist8308 returns false8309 when the user does not have permission to read the source project members8310 returns false8311 when the user does not have permission to admin the target project8312 returns false8313 when the source and target project are valid but the ProjectTeam#import command fails8314 returns false8315Users::ProjectCallout8316 behaves like having unique enum values8317 has unique values in "feature_name"8318 relationships8319 is expected to belong to project required: false8320 validations8321 is expected to validate that :project cannot be empty/falsy8322 is expected to validate that :feature_name cannot be empty/falsy8323 is expected to validate that :feature_name is unique within the scope of :user_id and :project_id8324Gitlab::HealthChecks::DbCheck8325 #metrics8326 Check is passing8327 is expected to include (have attributes {:name => "db_ping_success", :value => 1})8328 is expected to include (have attributes {:name => "db_ping_timeout", :value => 0})8329 is expected to include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})8330 Check is misbehaving8331 is expected to include (have attributes {:name => "db_ping_success", :value => 0})8332 is expected to include (have attributes {:name => "db_ping_timeout", :value => 0})8333 is expected to include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})8334 Check is timeouting8335 is expected to include (have attributes {:name => "db_ping_success", :value => 0})8336 is expected to include (have attributes {:name => "db_ping_timeout", :value => 1})8337 is expected to include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})8338 #readiness8339 Check returns ok8340 is expected to have attributes {:success => true}8341 Check is misbehaving8342 is expected to have attributes {:message => "unexpected Db check result: error!", :success => false}8343 Check is timeouting8344 is expected to have attributes {:message => "Db check timed out", :success => false}8345 Check is raising an unhandled exception8346 is expected to have attributes {:message => "unexpected Db check result: unexpected error", :success => false}8347 with multiple databases8348 checks multiple databases8349Gitlab::HookData::UserBuilder8350 #build8351 data8352 on create8353 is expected to eq "user_create"8354 behaves like includes the required attributes8355 includes the required attributes8356 behaves like does not include old username attributes8357 does not include old username attributes8358 behaves like does not include state attributes8359 does not include state attributes8360 on destroy8361 is expected to eq "user_destroy"8362 behaves like includes the required attributes8363 includes the required attributes8364 behaves like does not include old username attributes8365 does not include old username attributes8366 behaves like does not include state attributes8367 does not include state attributes8368 on rename8369 is expected to eq "user_rename"8370 includes old username details8371 behaves like includes the required attributes8372 includes the required attributes8373 behaves like does not include state attributes8374 does not include state attributes8375 on failed_login8376 is expected to eq "user_failed_login"8377 includes state details8378 behaves like includes the required attributes8379 includes the required attributes8380 behaves like does not include old username attributes8381 does not include old username attributes8382ReleaseHighlights::Validator::Entry8383 validations8384 with a valid entry8385 is expected to be valid8386 with an invalid entry8387 is expected to be invalid8388 with a blank entry8389 is expected to validate that :name cannot be empty/falsy, producing a custom validation error on failure8390 is expected to validate that :description cannot be empty/falsy, producing a custom validation error on failure8391 is expected to validate that :stage cannot be empty/falsy, producing a custom validation error on failure8392 is expected to validate that :self_managed cannot be empty/falsy, producing a custom validation error on failure8393 is expected to validate that :gitlab_com cannot be empty/falsy, producing a custom validation error on failure8394 is expected to allow :image_url to be ‹nil›8395 is expected to validate that :available_in cannot be empty/falsy, producing a custom validation error on failure8396 is expected to validate that :published_at cannot be empty/falsy, producing a custom validation error on failure8397 is expected to validate that :release looks like a number, producing a custom validation error on failure8398 validates URI of "documentation_link" and "image_url"8399 validates published_at is a date8400 validates available_in are included in list8401Gitlab::Ci::Reports::ReportsComparer8402 #initialize8403 sets getter for the report comparer8404 return base report8405 return head report8406 #status8407 returns not implemented error8408 when success? is true8409 returns status success8410 when success? is false8411 returns status failed8412 when base_report is nil8413 returns status not_found8414 when head_report is nil8415 returns status not_found8416 #success?8417 returns not implemented error8418 #existing_errors8419 returns not implemented error8420 #resolved_errors8421 returns not implemented error8422 #errors_count8423 returns not implemented error8424 #resolved_count8425 returns not implemented error8426 #total_count8427 returns not implemented error8428 #not_found?8429 when base report is nil8430 is expected to be truthy8431 when base report exists8432 is expected to be falsey8433Gitlab::GithubImport::Representation8434 .symbolize_hash8435 returns a Hash with the keys as Symbols8436 parses timestamp fields into Time instances8437Packages::Nuget::SyncMetadatumService8438 #execute8439 creates a nuget metadatum8440 behaves like saving metadatum attributes8441 saves nuget metadatum8442 with exisiting nuget metadatum8443 does not create a nuget metadatum8444 behaves like saving metadatum attributes8445 saves nuget metadatum8446 with empty metadata8447 destroys the nuget metadatum8448RuboCop::Cop::RSpec::DuplicateSpecLocation8449 # order random8450 for a non-EE application file8451 registers no offenses8452 for an EE spec file for EE extension8453 registers no offenses8454 when there is a duplicate file8455 marks the describe as offending8456 for a non-EE spec file8457 registers no offenses8458 for an EE application file8459 registers no offenses8460 for an EE spec file for EE only code8461 registers no offenses8462 when there is a duplicate file8463 marks the describe as offending8464TokenWithIv8465 validations8466 is expected to validate that :hashed_token cannot be empty/falsy8467 is expected to validate that :iv cannot be empty/falsy8468 is expected to validate that :hashed_plaintext_token cannot be empty/falsy8469 .find_by_hashed_token8470 only includes matching record8471 .find_by_plaintext_token8472 only includes matching record8473RuboCop::Cop::Performance::ARCountEach8474 # order random8475 when it is not haml file8476 does not flag it as an offense8477 when it is haml file8478 when the same object uses count and each8479 flags it as an offense8480 when different object uses count and each8481 does not flag it as an offense8482 when just using count without each8483 does not flag it as an offense8484 when just using each without count8485 does not flag it as an offense8486Gitlab::Email::Message::InProductMarketing::Base8487 initialize8488 when series does not exist8489 raises error8490 when series exists8491 does not raise error8492 #logo_path8493 is expected to eq "mailers/in_product_marketing/create-0.png"8494 #unsubscribe8495 on gitlab.com8496 is expected to include "%tag_unsubscribe_url%"8497 not on gitlab.com8498 is expected to include "http://localhost/-/profile/notifications"8499 #cta_link8500 renders link8501 #progress8502 on gitlab.com8503 is expected to include "This is email 1 of 3 in the Create series"8504 not on gitlab.com8505 is expected to include "This is email 1 of 3 in the Create series" and "http://localhost/-/profile/notifications"8506 #series?8507 track: :create, result: true8508 is expected to eq true8509 track: :team_short, result: true8510 is expected to eq true8511 track: :trial_short, result: true8512 is expected to eq true8513 track: :admin_verify, result: true8514 is expected to eq true8515 track: :verify, result: true8516 is expected to eq true8517 track: :trial, result: true8518 is expected to eq true8519 track: :team, result: true8520 is expected to eq true8521Gitlab::Ci::Trace::Backoff8522 keeps the MAX_ATTEMPTS limit in sync8523 keeps the Redis TTL limit in sync8524 all retries are happening under the 7 days limit8525 #value8526 archival_attempts: 1, result: 9.68527 is expected to eq 9.6 hours8528 archival_attempts: 2, result: 19.28529 is expected to eq 19.2 hours8530 archival_attempts: 3, result: 28.88531 is expected to eq 28.8 hours8532 archival_attempts: 4, result: 38.48533 is expected to eq 38.4 hours8534 archival_attempts: 5, result: 48.08535 is expected to eq 48.0 hours8536 #value_with_jitter8537 archival_attempts: 1, min_value: 9.6, max_value: 13.68538 is expected to be in 9.6 hours..13.6 hours8539 archival_attempts: 2, min_value: 19.2, max_value: 23.28540 is expected to be in 19.2 hours..23.2 hours8541 archival_attempts: 3, min_value: 28.8, max_value: 32.88542 is expected to be in 28.8 hours..32.8 hours8543 archival_attempts: 4, min_value: 38.4, max_value: 42.48544 is expected to be in 38.4 hours..42.4 hours8545 archival_attempts: 5, min_value: 48.0, max_value: 52.08546 is expected to be in 48.0 hours..52.0 hours8547Gitlab::JiraImport::Stage::ImportLabelsWorker8548 modules8549 behaves like include import workers modules8550 is expected to includes the ApplicationWorker module8551 is expected to includes the Gitlab::JiraImport::QueueOptions module8552 is expected to includes the Gitlab::JiraImport::ImportWorker module8553 #perform8554 when import did not start8555 behaves like cannot do Jira import8556 does not advance to next stage8557 behaves like does not advance to next stage8558 does not advance to next stage8559 when import started8560 executes labels importer8561 behaves like advance to next stage8562 advances to issues stage8563Gitlab::Seeders::Ci::Runner::RunnerFleetPipelineSeeder8564 # order random8565 #seed8566 with nil job_count8567 creates expected jobs8568LooksAhead8569 preloads labels on issues8570 issues fewer queries than the naive approach8571 behaves like a working query on the test schema8572 has a good test setup8573Mattermost::Team8574 #all8575 for valid request8576 returns teams8577 for error message8578 raises an error with message8579 #create8580 for a new team8581 returns the new team8582 for existing team8583 raises an error with message8584 #delete8585 for an existing team8586 returns team status8587 for an unknown team8588 raises an error with message8589Gitlab::UsageDataNonSqlMetrics8590 #add_metric8591 computes the metric value for given metric8592 .count8593 returns default value for count8594 .distinct_count8595 returns default value for distinct count8596 .estimate_batch_distinct_count8597 returns default value for estimate_batch_distinct_count8598 .sum8599 returns default value for sum8600 .histogram8601 returns default value for histogram8602 min/max methods8603 model: User(id: integer, email: string, encrypted_password: string, reset_password_token: string, reset_password_sent_at: datetime, remember_created_at: datetime, sign_in_count: integer, current_sign_in_at: datetime, last_sign_in_at: datetime, current_sign_in_ip: string, last_sign_in_ip: string, created_at: datetime, updated_at: datetime, name: string, admin: boolean, projects_limit: integer, failed_attempts: integer, locked_at: datetime, username: string, can_create_group: boolean, can_create_team: boolean, state: string, color_scheme_id: integer, password_expires_at: datetime, created_by_id: integer, last_credential_check_at: datetime, avatar: string, confirmation_token: string, confirmed_at: datetime, confirmation_sent_at: datetime, unconfirmed_email: string, hide_no_ssh_key: boolean, admin_email_unsubscribed_at: datetime, notification_email: string, hide_no_password: boolean, password_automatically_set: boolean, encrypted_otp_secret: string, encrypted_otp_secret_iv: string, encrypted_otp_secret_salt: string, otp_required_for_login: boolean, otp_backup_codes: text, public_email: string, dashboard: integer, project_view: integer, consumed_timestep: integer, layout: integer, hide_project_limit: boolean, note: text, unlock_token: string, otp_grace_period_started_at: datetime, external: boolean, incoming_email_token: string, auditor: boolean, require_two_factor_authentication_from_group: boolean, two_factor_grace_period: integer, last_activity_on: date, notified_of_own_activity: boolean, preferred_language: string, email_opted_in: boolean, email_opted_in_ip: string, email_opted_in_source_id: integer, email_opted_in_at: datetime, theme_id: integer, accepted_term_id: integer, feed_token: string, private_profile: boolean, roadmap_layout: integer, include_private_contributions: boolean, commit_email: string, group_view: integer, managing_group_id: integer, first_name: string, last_name: string, static_object_token: string, role: integer, user_type: integer, static_object_token_encrypted: text, otp_secret_expires_at: datetime_with_timezone, onboarding_in_progress: boolean, otp_secret: ), result: nil8604 returns nil8605 model: Issue(id: integer, title: string, author_id: integer, project_id: integer, created_at: datetime, updated_at: datetime, description: text, milestone_id: integer, iid: integer, updated_by_id: integer, weight: integer, confidential: boolean, due_date: date, moved_to_id: integer, lock_version: integer, title_html: text, description_html: text, time_estimate: integer, relative_position: integer, service_desk_reply_to: string, cached_markdown_version: integer, last_edited_at: datetime, last_edited_by_id: integer, discussion_locked: boolean, closed_at: datetime_with_timezone, closed_by_id: integer, state_id: integer, duplicated_to_id: integer, promoted_to_epic_id: integer, health_status: integer, external_key: string, sprint_id: integer, issue_type: integer, blocking_issues_count: integer, upvotes_count: integer, work_item_type_id: integer, namespace_id: integer, start_date: date), result: nil8606 returns nil8607 model: Deployment(id: integer, iid: integer, project_id: integer, environment_id: integer, ref: string, tag: boolean, sha: string, user_id: integer, deployable_type: string, created_at: datetime, updated_at: datetime, on_stop: string, status: integer, finished_at: datetime_with_timezone, cluster_id: integer, deployable_id: integer, archived: boolean), result: nil8608 returns nil8609 model: Project(id: integer, name: string, path: string, description: text, created_at: datetime, updated_at: datetime, creator_id: integer, namespace_id: integer, last_activity_at: datetime, import_url: string, visibility_level: integer, archived: boolean, avatar: string, merge_requests_template: text, star_count: integer, merge_requests_rebase_enabled: boolean, import_type: string, import_source: string, approvals_before_merge: integer, reset_approvals_on_push: boolean, merge_requests_ff_only_enabled: boolean, issues_template: text, mirror: boolean, mirror_last_update_at: datetime, mirror_last_successful_update_at: datetime, mirror_user_id: integer, shared_runners_enabled: boolean, runners_token: string, build_allow_git_fetch: boolean, build_timeout: integer, mirror_trigger_builds: boolean, pending_delete: boolean, public_builds: boolean, last_repository_check_failed: boolean, last_repository_check_at: datetime, only_allow_merge_if_pipeline_succeeds: boolean, has_external_issue_tracker: boolean, repository_storage: string, repository_read_only: boolean, request_access_enabled: boolean, has_external_wiki: boolean, ci_config_path: string, lfs_enabled: boolean, description_html: text, only_allow_merge_if_all_discussions_are_resolved: boolean, repository_size_limit: integer, printing_merge_request_link_enabled: boolean, auto_cancel_pending_pipelines: integer, service_desk_enabled: boolean, cached_markdown_version: integer, delete_error: text, last_repository_updated_at: datetime, disable_overriding_approvers_per_merge_request: boolean, storage_version: integer, resolve_outdated_diff_discussions: boolean, remote_mirror_available_overridden: boolean, only_mirror_protected_branches: boolean, pull_mirror_available_overridden: boolean, jobs_cache_index: integer, external_authorization_classification_label: string, mirror_overwrites_diverged_branches: boolean, pages_https_only: boolean, external_webhook_token: string, packages_enabled: boolean, merge_requests_author_approval: boolean, pool_repository_id: integer, runners_token_encrypted: string, bfg_object_map: string, detected_repository_languages: boolean, merge_requests_disable_committers_approval: boolean, require_password_to_approve: boolean, emails_disabled: boolean, max_pages_size: integer, max_artifacts_size: integer, pull_mirror_branch_prefix: string, remove_source_branch_after_merge: boolean, marked_for_deletion_at: date, marked_for_deletion_by_user_id: integer, autoclose_referenced_issues: boolean, suggestion_commit_message: string, project_namespace_id: integer, hidden: boolean), result: nil8610 returns nil8611layouts/profile8612 calls enable_search_settings helper with a custom container class8613 displays the search settings entry point8614ForkNetworkMember8615 validations8616 is expected to validate that :project cannot be empty/falsy8617 is expected to validate that :fork_network cannot be empty/falsy8618 destroying a ForkNetworkMember8619 removes the fork network if it was the last member8620 does not destroy the fork network if there are members left8621help/instance_configuration8622 General Sections:8623 has links to several sections8624 has several sections8625Gitlab::ReactiveCacheSetCache8626 #cache_key8627 includes the suffix8628 #read8629 is expected to be empty8630 after item added8631 is expected to contain exactly "test_item"8632 #write8633 writes the value to the cache8634 sets the expiry of the set8635 #clear_cache!8636 deletes the cached items8637 #include?8638 is expected to equal false8639 item added8640 is expected to equal true8641 count8642 is expected to equal 08643 item added8644 is expected to equal 18645API::Entities::Snippets::RepositoryStorageMove8646 #as_json8647 includes basic fields8648Integrations::ChatMessage::WikiPageMessage8649 behaves like Integrations::ChatMessage8650 when input contains link markup8651 strips all link markup characters8652 without markdown8653 #pretext8654 when :action == "create"8655 returns a message that a new wiki page was created8656 when :action == "update"8657 returns a message that a wiki page was updated8658 #attachments8659 when :action == "create"8660 returns the commit message for a new wiki page8661 when :action == "update"8662 returns the commit message for an updated wiki page8663 with markdown8664 #pretext8665 when :action == "create"8666 returns a message that a new wiki page was created8667 when :action == "update"8668 returns a message that a wiki page was updated8669 #attachments8670 when :action == "create"8671 returns the commit message for a new wiki page8672 when :action == "update"8673 returns the commit message for an updated wiki page8674 #activity8675 when :action == "create"8676 returns the attachment for a new wiki page8677 when :action == "update"8678 returns the attachment for an updated wiki page8679Types::DescriptionVersionType8680 # order random8681 is expected to have graphql field :id8682 is expected to have graphql field :description8683 is expected to require graphql authorizations :read_issuable8684Gitlab::SlashCommands::Presenters::IssueClose8685 is expected to be a kind of Hash8686 shows the issue8687 confidential issue8688 shows an ephemeral response8689Gitlab::Database::Migrations::LockRetryMixin8690 Gitlab::Database::Migrations::LockRetryMixin::ActiveRecordMigrationProxyLockRetries8691 #enable_lock_retries?8692 delegates to #migration8693 #migration_class8694 retrieves actual migration class from #migration8695 #migration_connection8696 retrieves actual migration connection from #migration8697 Gitlab::Database::Migrations::LockRetryMixin::ActiveRecordMigratorLockRetries8698 with transactions disabled8699 calls super method8700 with transactions enabled, but lock retries disabled8701 calls super method8702 with transactions enabled and lock retries enabled8703 calls super method8704 .patch!8705 patches MigrationProxy8706 patches Migrator8707ImportHelper8708 #sanitize_project_name8709 removes leading tildes8710 removes whitespace8711 removes disallowed characters8712 #import_project_target8713 when current user can create namespaces8714 returns project namespace8715 when current user can not create namespaces8716 takes the current user's namespace8717 #provider_project_link_url8718 appends repo full path to provider host url8719 #import_configure_github_admin_message8720 returns note for admin8721 returns note for other user8722AlertManagement::AlertPresenter8723 #issue_description8724 with an empty payload8725 is expected to eq "**Start time:** 30 March 2023, 12:00PM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace885/project781/-/alert_management/2/details\n"8726 with optional alert attributes8727 is expected to eq "**Start time:** 30 March 2023, 12:00PM (UTC) \n**Severity:** critical \n**full_query:** `metric > ...bitis. \n**GitLab alert:** http://localhost/namespace885/project781/-/alert_management/3/details\n"8728 with incident markdown8729 is expected to eq "**Start time:** 30 March 2023, 12:00PM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace885/project781/-/alert_management/2/details\n\n\n---\n\n**`markdown example`**"8730 with metrics_dashboard_url8731 is expected to eq "**Start time:** 30 March 2023, 12:00PM (UTC) \n**Severity:** critical \n**GitLab alert:** http://localhost/namespace885/project781/-/alert_management/2/details\n\n[](https://gitlab.com/metrics)"8732 #start_time8733 formats the start time of the alert8734 #details_url8735 returns the details URL8736 #details8737 renders the payload as inline hash8738UploaderFinder8739 #execute8740 when successful8741 gets the file-like uploader8742 when path traversal in file name8743 returns nil8744 when unexpected failure8745 returns nil when unexpected error is raised8746layouts/group8747 # order random8748 without ability to invite members8749 is expected not to have visible css ".js-invite-members-modal"8750 with ability to invite members8751 is expected to have visible css ".js-invite-members-modal"8752Gitlab::GithubGistsImport::Representation::Gist8753 # order random8754 .from_api_response8755 behaves like a Gist8756 returns an instance of Gist8757 with Gist8758 includes gist attributes8759 #visibility_level8760 returns 20 when public8761 returns 0 when private8762 #first_file8763 returns a hash with needed identifiers8764 #github_identifiers8765 returns a hash with needed identifiers8766 #truncated_title8767 truncates the title to 255 characters8768 does not truncate the title if it is shorter than 255 characters8769 .from_json_hash8770 behaves like a Gist8771 returns an instance of Gist8772 with Gist8773 includes gist attributes8774Gitlab::GithubImport::Importer::IssuesImporter8775 #parallel?8776 returns true when running in parallel mode8777 returns false when running in sequential mode8778 #execute8779 when running in parallel mode8780 imports issues in parallel8781 when running in sequential mode8782 imports issues in sequence8783 #sequential_import8784 imports each issue in sequence8785 #parallel_import8786 imports each issue in parallel8787 #id_for_already_imported_cache8788 returns the issue number of the given issue8789 #increment_object_counter?8790 when issue is a pull request8791 returns false8792 when issue is a regular issue8793 returns true8794BlobViewer::GitlabCiYml8795 #validation_message8796 calls prepare! on the viewer8797 when the configuration is valid8798 returns nil8799 when the configuration is invalid8800 returns the error message8801ProjectHookPolicy8802 when the user is not a maintainer8803 cannot read and destroy web-hooks8804 when the user is a maintainer8805 can read and destroy web-hooks8806Mutations::Terraform::State::Delete8807 is expected to eq "TerraformStateDelete"8808 is expected to require graphql authorizations :admin_terraform_state8809 #resolve8810 user does not have permission8811 raises an error8812 user has permission8813 schedules the state for deletion8814 with invalid params8815 raises an error8816Gitlab::Database::LoadBalancing::Setup8817 #setup8818 sets up the load balancer8819 #configure_connection8820 configures pool, prepared statements and reconnects to the database8821 #setup_connection_proxy8822 sets up the load balancer8823 #setup_service_discovery8824 when service discovery is disabled8825 does nothing8826 when service discovery is enabled8827 immediately performs service discovery8828 starts service discovery if needed8829 uses correct base models8830 results match expectations8831 does return load_balancer assigned to a given connection8832layouts/project8833 # order random8834 with ability to invite members8835 is expected to have visible css ".js-invite-members-modal"8836 without ability to invite members8837 is expected not to have visible css ".js-invite-members-modal"8838Gitlab::Ci::Config::Entry::Release::Assets8839 validation8840 when entry config value is correct8841 #value8842 returns assets configuration8843 #valid?8844 is valid8845 when entry value is not correct8846 #errors8847 when value of assets is invalid8848 reports error8849 when value of assets:links is empty8850 reports error8851 when there is an unknown key present8852 reports error8853Gitlab::WordDiff::Segments::DiffHunk8854 #pos_old8855 is expected to eq 38856 when diff hunk is broken8857 is expected to eq 08858 #pos_new8859 is expected to eq 48860 when diff hunk is broken8861 is expected to eq 08862 #first_line?8863 is expected to be falsey8864 when diff hunk located on the first line8865 is expected to be truthy8866 #to_s8867 is expected to eq "@@ -3,14 +4,13 @@"8868RuboCop::Cop::API::EnsureStringDetail8869 # order random8870 when in_api? == true8871 when detail field uses a string8872 does not add an offense8873 when detail field uses interpolation in a string8874 does not add an offense8875 when detail field uses a multiline string8876 does not add an offense8877 when detail field uses a constant8878 does not add an offense (PENDING: No reason given)8879 when detail field uses a HEREDOC string8880 does not add an offense8881 when detail field uses an array8882 adds an offense8883 when detail field is outside of desc block8884 does not add an offense8885 when in_api? == false8886 does not add an offense8887Gitlab::Auth::BlockedUserTracker8888 #log_blocked_user_activity!8889 when user is not blocked8890 does not log blocked user activity8891 when user is not blocked8892 logs blocked user activity8893Bitbucket::Representation::Comment8894 #author8895 is expected to eq "Ben"8896 is expected to be nil8897 #note8898 is expected to eq "Text"8899 is expected to be nil8900 #created_at8901 is expected to eq Thu, 30 Mar 20238902 #updated_at8903 is expected to eq Thu, 30 Mar 20238904 is expected to eq Thu, 30 Mar 20238905Gitlab::Instrumentation::RateLimitingGates8906 .gates8907 returns an empty array when no gates are tracked8908 returns all gates used in the request8909 deduplicates its results8910 .payload8911 returns the gates in a hash8912Gitlab::Ci::Config::Entry::Release::Assets::Link8913 validation8914 when entry config value is correct8915 #value8916 returns link configuration8917 #valid?8918 is valid8919 when entry value is not correct8920 #errors8921 when name is not a string8922 reports error8923 when name is not present8924 reports error8925 when url is not addressable8926 reports error8927 when url is not present8928 reports error8929 when there is an unknown key present8930 reports error8931API::Helpers::MergeRequestsHelpers8932 #handle_merge_request_errors!8933 when merge request is valid8934 returns nil8935 when merge request is invalid8936 responds to a project_access error with unprocessable_entity8937 responds to a branch_conflict error with unprocessable_entity8938 responds to a validate_fork error with unprocessable_entity8939 responds to a base error with unprocessable_entity8940 responds to a validate_branches error with conflict8941 responds with bad request8942RuboCop::Cop::Scalability::CronWorkerContext8943 # order random8944 adds an offense when including CronjobQueue8945 does not add an offense when the class defines a context8946 does not add an offense when the worker calls `bulk_perform_async_with_contexts`8947 does not add an offense when the worker calls `with_context`8948 does not add offenses for other workers8949 does not add an offense when the worker calls `bulk_perform_in_with_contexts`8950Integrations::ResetSecretFields8951 behaves like Integrations::ResetSecretFields8952 #exposing_secrets_fields8953 returns an array of strings8954 #reset_secret_fields?8955 returns false if no exposing field has changed8956 returns true if any exposing field has changed8957 validation callback8958 when an exposing field has changed8959 clears all secret fields8960 when a secret field has been updated8961 does not clear this secret field8962 when a secret field has been updated with the same value8963 does not clear this secret field8964 when no exposing field has changed8965 does not clear any secret fields8966ProjectBadge8967 associations8968 is expected to belong to project required: false8969 validations8970 is expected to validate that :project cannot be empty/falsy8971 methods8972 #rendered_link_url8973 behaves like rendered_links8974 uses the badge project information to populate the url placeholders8975 #rendered_image_url8976 behaves like rendered_links8977 uses the badge project information to populate the url placeholders8978RuboCop::Cop::Migration::BackgroundMigrationMissingActiveConcern8979 # order random8980 when outside of a migration8981 behaves like offense is not registered8982 does not register any offenses8983 in non-ee background migration8984 behaves like offense is not registered8985 does not register any offenses8986 in ee background migration8987 when scope_to is not used inside prepended block8988 does not register any offenses8989 when scope_to is used inside prepended block8990 does not register any offenses if the module does extend ActiveSupport::Concern8991 registers an offense if the module does not extend ActiveSupport::Concern8992Gitlab::Ci::Reports::Security::Locations::SecretDetection8993 behaves like vulnerability location8994 #initialize8995 when all params are given8996 initializes an instance8997 param: :file_path8998 when param file_path is missing8999 raises an error9000 param: :start_line9001 when param start_line is missing9002 raises an error9003 #fingerprint9004 generates expected fingerprint9005 #fingerprint_path9006 generates expected fingerprint9007 #==9008 returns true when fingerprints are equal9009 returns false when fingerprints are different9010RuboCop::Cop::RSpec::TopLevelDescribePath9011 # order random9012 when the file ends in _spec.rb9013 registers no offenses9014 when the describe is in a shared context9015 with shared_context9016 registers no offenses9017 when the file is a frontend fixture9018 registers no offenses9019 when the describe is at the top level9020 marks the describe as offending9021 when the describe is in a shared example9022 with shared_examples9023 registers no offenses9024 with shared_examples_for9025 registers no offenses9026Metrics::UsersStarredDashboards::DeleteService9027 #execute9028 without dashboard_path9029 does not scope user starred dashboards by dashboard path9030 with dashboard_path9031 does scope user starred dashboards by dashboard path9032Sidebars::Projects::Menus::ShimoMenu9033 #render?9034 without a valid Shimo integration9035 doesn't render the menu9036 with a valid Shimo integration9037 when integration is active9038 renders the menu9039 renders menu link9040 when integration is inactive9041 doesn't render the menu9042Gitlab::Email::Message::InProductMarketing::AdminVerify9043 public methods9044 returns value for series9045 #progress9046 on gitlab.com9047 is expected to eq "This is email 1 of 1 in the Admin series."9048 not on gitlab.com9049 is expected to include "This is email 1 of 1 in the Admin series" and "http://localhost/-/profile/notifications"9050Integrations::JiraTrackerData9051 behaves like Integrations::BaseDataFields9052 associations9053 is expected to belong to integration required: false9054 #activated?9055 with integration9056 with value set to false9057 is expected to eq false9058 with value set to true9059 is expected to eq true9060 without integration9061 is expected to eq false9062 #to_database_hash9063 does not include certain attributes9064 deployment_type9065 is expected to define :deployment_type as an enum backed by an integer with values ‹[:unknown, :server, :cloud]›, prefix: :deployment9066 encrypted attributes9067 is expected to contain exactly :api_url, :password, :url, and :username9068BlobViewer::GoMod9069 #package_name9070 returns the package name9071 #package_url9072 returns the package URL9073 when the homepage has an invalid URL9074 returns nil9075 #package_type9076 returns "package"9077 when the module name does not start with the instance URL9078 #package_url9079 returns the pkg.go.dev URL9080Gitlab::GithubImport::AttachmentsDownloader9081 # order random9082 #delete9083 removes file with parent folder9084 #perform9085 when file valid9086 downloads file9087 when filename is malicious9088 raises expected exception9089 when file size exceeds limit9090 raises expected exception9091 when file name length exceeds limit9092 chops filename9093ProjectImportData9094 #merge_data9095 writes the Hash to the attribute if it is nil9096 merges the Hash into an existing Hash if one was present9097 #merge_credentials9098 writes the Hash to the attribute if it is nil9099 merges the Hash into an existing Hash if one was present9100 #clear_credentials9101 clears out the Hash9102admin/application_settings/_package_registry9103 package file size limits9104 has fields for max package file sizes9105 does not display the plan name when there is only one plan9106 with multiple plans9107 displays the plan name when there is more than one plan9108Ci::PipelineBridgeStatusWorker9109 #perform9110 when pipeline exists9111 calls the service9112 when pipeline does not exist9113 does not call the service9114Gitlab::Tracking::Destinations::Snowplow9115 when snowplow is enabled9116 #event9117 sends event to tracker9118 increase total snowplow events counter9119 when snowplow is not enabled9120 #event9121 does not send event to tracker9122 callbacks9123 on success9124 increase gitlab_successful_snowplow_events_total counter9125 on failure9126 increase gitlab_failed_snowplow_events_total counter and logs failures9127Import metrics on development seed9128 imports all prometheus metrics9129BulkPushEventPayloadService9130 creates a PushEventPayload9131PerformanceMonitoring::PrometheusMetric9132 .from_json9133 creates a PrometheusMetric object9134 validations9135 json_content is not a hash9136 is expected to raise ActiveModel::ValidationError9137 when unit is missing9138 is expected to raise ActiveModel::ValidationError9139 when query and query_range is missing9140 is expected to raise ActiveModel::ValidationError9141 when query_range is missing but query is available9142 is expected to be valid9143Ml::ExperimentMetadata9144 # order random9145 uniqueness of name9146 is unique within experiment9147 associations9148 is expected to belong to experiment required: false9149Gitlab::Memory::Watchdog::Monitor::HeapFragmentation9150 # order random9151 #call9152 gets gc_heap_fragmentation9153 when process exceeds threshold9154 returns if threshold is violated and payload9155 when process does not exceed threshold9156 returns if threshold is violated and payload9157 #initialize9158 sets the heap fragmentation limit gauge9159Gitlab::HealthChecks::Server9160 with running server thread9161 /readiness9162 behaves like serves health check at9163[2023-03-30 12:00:45] INFO WEBrick 1.8.19164[2023-03-30 12:00:45] INFO ruby 3.0.5 (2022-11-24) [x86_64-linux]9165[2023-03-30 12:00:45] INFO WEBrick::HTTPServer#start: pid=360 port=80829166[2023-03-30 12:00:45] INFO going to shutdown ...9167[2023-03-30 12:00:45] INFO WEBrick::HTTPServer#start done.9168 responds with 200 OK9169 /liveness9170 behaves like serves health check at9171[2023-03-30 12:00:45] INFO WEBrick 1.8.19172[2023-03-30 12:00:45] INFO ruby 3.0.5 (2022-11-24) [x86_64-linux]9173[2023-03-30 12:00:45] INFO WEBrick::HTTPServer#start: pid=360 port=80829174[2023-03-30 12:00:45] INFO going to shutdown ...9175[2023-03-30 12:00:45] INFO WEBrick::HTTPServer#start done.9176 responds with 200 OK9177 other routes9178[2023-03-30 12:00:45] INFO WEBrick 1.8.19179[2023-03-30 12:00:45] INFO ruby 3.0.5 (2022-11-24) [x86_64-linux]9180[2023-03-30 12:00:45] INFO WEBrick::HTTPServer#start: pid=360 port=80829181[2023-03-30 12:00:45] INFO going to shutdown ...9182[2023-03-30 12:00:45] INFO WEBrick::HTTPServer#start done.9183 serves 4049184 when server thread goes away9185[2023-03-30 12:00:45] INFO WEBrick 1.8.19186[2023-03-30 12:00:45] INFO ruby 3.0.5 (2022-11-24) [x86_64-linux]9187 stop closes TCP socket9188Gitlab::Memory::Watchdog::Monitor::UniqueMemoryGrowth9189 # order random9190 #call9191 gets memory_usage_uss_pss9192 when monitor is called twice9193 reference memory is calculated only once9194 when process exceeds threshold9195 returns if threshold is violated and payload9196 when process does not exceed threshold9197 returns if threshold is violated and payload9198RuboCop::Cop::RSpec::HTTPartyBasicAuth9199 # order random9200 when passing `basic_auth: { username: ... }`9201 does not register an offense9202 when passing `basic_auth: { user: ... }`9203 registers an offense and corrects9204Types::Kas::AgentMetadataType9205 is expected to eq "AgentMetadata"9206 is expected to eq "Information about a connected Agent"9207 is expected to have graphql fields :version, :commit, :pod_namespace, and :pod_name9208Types::Packages::PackageType9209 is expected to eq "Represents a package with pipelines in the Package Registry"9210 is expected to require graphql authorizations :read_package9211 includes all the package fields and pipelines9212Gitlab::Auth::Otp::Strategies::FortiAuthenticator::PushOtp9213 successful validation9214 returns success9215 unsuccessful validation9216 returns error9217 unexpected error9218 returns error9219Gitlab::SidekiqVersioning::Worker9220 .version9221 when called with an argument9222 sets the version option9223 when called without an argument9224 returns the version option9225 #job_version9226 when job_version is not set9227 returns latest version9228 when job_version is set9229 returns the set version9230PropagateIntegrationWorker9231 #perform9232 calls the propagate service with the integration9233BulkImports::Projects::Pipelines::ServiceDeskSettingPipeline9234 #run9235 imports project feature9236Environments::AutoStopCronWorker9237 executes Environments::AutoStopService9238JiraConnect::RetryRequestWorker9239 #perform9240 sends the request, with the appropriate headers9241 when the proxied request fails9242 arranges to retry the request9243 when there are no more attempts left9244 does not retry9245Admin::AbuseReportsHelper9246 # order random9247 #abuse_reports_list_data9248 has expected attributes9249Gitlab::Graphql::Timeout9250 inherits from9251 sends the error to our GraphQL logger9252API::Entities::DesignManagement::Design9253 has the correct attributes9254Types::Kas::AgentConfigurationType9255 is expected to eq "AgentConfiguration"9256 is expected to eq "Configuration details for an Agent"9257 is expected to have graphql fields :agent_name9258Gitlab::Database::Migrations::Observers::TotalDatabaseSizeChange9259 records the size change9260 out of order calls9261 does not record anything if before size is unknown9262 does not record anything if after size is unknown9263Types::MemberAccessLevelEnum9264 # order random9265 is expected to eq "MemberAccessLevel"9266 exposes all the existing access levels9267Gitlab::Audit::NullTarget9268 #id9269 returns nil9270 #type9271 returns nil9272 #details9273 returns nil9274Types::IssuableStateEnum9275 is expected to eq "IssuableState"9276 behaves like issuable state9277 exposes all the existing issuable states9278Gitlab::GraphqlLogger9279 builds a logger once9280 logging a GraphQL query9281 logs a query from JSON9282Gitlab::PhabricatorImport::Conduit::TasksResponse9283 #pagination9284 delegates to the conduit reponse9285 #tasks9286 builds the correct tasks representation9287Gitlab::GithubImport::Importer::Attachments::BaseImporter9288 # order random9289 #each_object_to_import9290 with not implemented #collection interface9291 raises NotImplementedError9292Test coverage of the Project Import9293 ensures that all imported/exported relations are present in test JSONs9294Types::Ci::TestSuiteSummaryType9295 is expected to eq "TestSuiteSummary"9296 contains attributes related to a pipeline test report summary9297Types::Clusters::AgentType9298 is expected to eq "ClusterAgent"9299 is expected to require graphql authorizations :read_cluster9300 is expected to include graphql fields :created_at, :created_by_user, :id, :name, :project, :updated_at, :tokens, :web_path, :connections, and :activity_events9301Types::UserCalloutType9302 is expected to eq "UserCallout"9303 has expected fields9304Gitlab::Email::Hook::DeliveryMetricsObserver9305 when email has been delivered9306 increments both email delivery metrics9307 when email has not been delivered due to an error9308 increments only delivery attempt metric9309Keys::DestroyService9310 destroys a key9311Types::Notes::NoteableInterface9312 exposes the expected fields9313 .resolve_type9314 knows the correct type for objects9315Mailer retries9316 sets retries for mailers to 39317Gitlab::Usage::Metrics::Instrumentations::IndexInconsistenciesMetric9318 # order random9319 behaves like a correct instrumented metric value9320 has correct value9321Gitlab::Kubernetes::RoleBinding#generate9322 builds a Kubeclient Resource9323Namespaces::UserNamespace9324 validations9325 is expected to validate that :owner cannot be empty/falsy9326 #owners9327 is expected to contain exactly #<User id: @user654>9328Gitlab::Memory::ReportsUploader9329 # order random9330 #upload9331 calls fog, logs upload requested and success with duration9332 when Google API responds with an error9333 logs error raised by Fog and do not re-raise9334Gitlab::APIAuthentication::TokenTypeBuilder9335 #token_types9336 passes strategies and resolvers to SentThroughBuilder9337Gitlab::Kubernetes::TlsSecret9338 #generate9339 is expected to eq #<Kubeclient::Resource type="kubernetes.io/tls", metadata={:name=>"example-name", :namespace=>"example-namespace"}, data={:"tls.crt"=>"ZXhhbXBsZS1jZXJ0", :"tls.key"=>"ZXhhbXBsZS1rZXk="}>9340Gitlab::LanguageData9341 #extensions9342 loads the extensions once9343CiPlatformMetricsUpdateCronWorker9344 #perform9345 inserts new platform metrics9346Types::Ci::VariableSortEnum9347 # order random9348 exposes the available order methods9349Gitlab::Ci::Parsers::Instrumentation9350 #parse!9351 sets metrics for duration of parsing9352Resolvers::PackagesBaseResolver9353 #resolve9354 throws an error9355Sidebars::Groups::SuperSidebarMenus::SecureMenu9356 # order random9357 has title and sprite_icon9358 defines list of NilMenuItem placeholders9359Knapsack report was generated. Preview:9360{9361 "spec/lib/gitlab/import_export/project/tree_restorer_spec.rb": 291.5498210450005,9362 "spec/lib/gitlab/regex_spec.rb": 34.081307496999216,9363 "spec/services/projects/destroy_service_spec.rb": 86.14159151500098,9364 "spec/lib/gitlab/project_search_results_spec.rb": 57.16229526900133,9365 "spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb": 68.92017385700092,9366 "spec/models/milestone_spec.rb": 33.73115718000008,9367 "spec/workers/database/batched_background_migration/ci_database_worker_spec.rb": 46.33842024899968,9368 "spec/lib/gitlab/email/handler/service_desk_handler_spec.rb": 39.61161844400158,9369 "spec/services/ci/retry_pipeline_service_spec.rb": 29.23545844199907,9370 "spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb": 6.984475229000964,9371 "spec/helpers/submodule_helper_spec.rb": 13.71167454299939,9372 "spec/helpers/blob_helper_spec.rb": 13.15268422599911,9373 "spec/services/merge_requests/rebase_service_spec.rb": 28.608564860000115,9374 "spec/finders/template_finder_spec.rb": 9.95746415099893,9375 "spec/services/merge_requests/approval_service_spec.rb": 26.409234407999975,9376 "spec/services/issues/zoom_link_service_spec.rb": 7.5361394560004555,9377 "spec/models/concerns/token_authenticatable_spec.rb": 10.442898856999818,9378 "spec/lib/gitlab/database/tables_locker_spec.rb": 7.31932914600111,9379 "spec/helpers/users_helper_spec.rb": 5.911388533000718,9380 "spec/finders/group_descendants_finder_spec.rb": 13.503617242999098,9381 "spec/models/commit_collection_spec.rb": 20.879562773001453,9382 "spec/services/ci/process_build_service_spec.rb": 5.965533438000421,9383 "spec/lib/gitlab/ci/badge/pipeline/status_spec.rb": 13.609779693999371,9384 "spec/lib/banzai/filter/math_filter_spec.rb": 2.3079289580000477,9385 "spec/models/integrations/pumble_spec.rb": 7.03562408399921,9386 "spec/lib/gitlab/ci/config/external/processor_spec.rb": 13.51435758200023,9387 "spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb": 9.722301296000296,9388 "spec/services/ci/pipeline_trigger_service_spec.rb": 9.130541742999412,9389 "spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb": 2.937024377999478,9390 "spec/models/concerns/reactive_caching_spec.rb": 3.78506373700111,9391 "spec/lib/gitlab/gpg_spec.rb": 6.2422540899988235,9392 "spec/models/plan_limits_spec.rb": 4.481105450000541,9393 "spec/services/wiki_pages/update_service_spec.rb": 9.38942293800028,9394 "spec/workers/incident_management/process_alert_worker_v2_spec.rb": 7.211850798001251,9395 "spec/lib/gitlab/group_search_results_spec.rb": 8.799295974000415,9396 "spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb": 4.07706521900036,9397 "spec/lib/gitlab/redis/shared_state_spec.rb": 1.7228114650006319,9398 "spec/models/project_import_state_spec.rb": 5.394963501999882,9399 "spec/services/ci/pipeline_artifacts/destroy_all_expired_service_spec.rb": 7.536629376001656,9400 "spec/lib/gitlab/cache/helpers_spec.rb": 5.4752926340006525,9401 "spec/services/files/update_service_spec.rb": 7.0423715639990405,9402 "spec/graphql/types/base_field_spec.rb": 1.3454800509989582,9403 "spec/services/clusters/cleanup/project_namespace_service_spec.rb": 5.643971597999553,9404 "spec/services/commits/commit_patch_service_spec.rb": 8.092112033000376,9405 "spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb": 4.3817062089983665,9406 "spec/graphql/types/merge_request_type_spec.rb": 3.84981869999865,9407 "spec/views/projects/commit/show.html.haml_spec.rb": 7.103439217999039,9408 "spec/models/release_spec.rb": 4.274920358999225,9409 "spec/tasks/rubocop_rake_spec.rb": 3.472685876000469,9410 "spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb": 1.1526142490001803,9411 "spec/models/clusters/providers/gcp_spec.rb": 2.811789269999281,9412 "spec/lib/gitlab/issuable_metadata_spec.rb": 5.015358777998699,9413 "spec/policies/achievements/user_achievement_policy_spec.rb": 4.358783630999824,9414 "spec/services/packages/rpm/repository_metadata/update_xml_service_spec.rb": 1.414488333999543,9415 "spec/lib/sidebars/menu_spec.rb": 1.5823574579990236,9416 "spec/models/product_analytics_event_spec.rb": 3.4676379970005655,9417 "spec/models/integrations/ewm_spec.rb": 1.4746668879997742,9418 "spec/lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer_spec.rb": 3.8436447310014046,9419 "spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb": 1.9189400459999888,9420 "spec/lib/gitaly/server_spec.rb": 1.1722792370001116,9421 "spec/services/packages/conan/search_service_spec.rb": 5.248262766001062,9422 "spec/lib/gitlab/diff/file_collection/commit_spec.rb": 6.565950498999882,9423 "spec/lib/banzai/reference_parser/milestone_parser_spec.rb": 3.1741311860005226,9424 "spec/serializers/merge_request_serializer_spec.rb": 5.217992898000375,9425 "spec/tooling/lib/tooling/kubernetes_client_spec.rb": 1.2698527079992346,9426 "spec/config/inject_enterprise_edition_module_spec.rb": 1.178982396999345,9427 "spec/lib/gitlab/database/migrations/observers/transaction_duration_spec.rb": 4.460893551000481,9428 "spec/components/diffs/overflow_warning_component_spec.rb": 2.660303565000504,9429 "spec/lib/gitlab/sidekiq_daemon/monitor_spec.rb": 1.084612255999673,9430 "spec/workers/jira_connect/sync_project_worker_spec.rb": 2.540795576000164,9431 "spec/services/packages/debian/process_changes_service_spec.rb": 4.309648885999195,9432 "spec/models/ci/group_variable_spec.rb": 2.5185036880011467,9433 "spec/lib/gitlab/ci/config/entry/commands_spec.rb": 0.874700936001318,9434 "spec/models/commit_signatures/x509_commit_signature_spec.rb": 2.5577754150017427,9435 "spec/finders/user_group_notification_settings_finder_spec.rb": 2.5803575129993988,9436 "spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb": 0.9506434480008465,9437 "spec/lib/gitlab/kas_spec.rb": 1.1618759489992954,9438 "spec/tasks/gitlab/pages_rake_spec.rb": 4.044195940999998,9439 "spec/lib/gitlab/safe_request_loader_spec.rb": 0.996946304998346,9440 "spec/tasks/gitlab/gitaly_rake_spec.rb": 2.5545019150013104,9441 "spec/services/authorized_project_update/periodic_recalculate_service_spec.rb": 1.7120704050012137,9442 "spec/models/achievements/user_achievement_spec.rb": 1.5705395989989483,9443 "spec/lib/gitlab/metrics/system_spec.rb": 1.4291461920001893,9444 "spec/models/integrations/chat_message/alert_message_spec.rb": 2.7530226859998947,9445 "spec/services/groups/merge_requests_count_service_spec.rb": 2.061584421999214,9446 "spec/rubocop/cop/gitlab/namespaced_class_spec.rb": 1.6730803289992764,9447 "spec/initializers/secret_token_spec.rb": 1.9337695839985827,9448 "spec/finders/projects/prometheus/alerts_finder_spec.rb": 1.4030826750004053,9449 "spec/services/loose_foreign_keys/cleaner_service_spec.rb": 2.121726977000435,9450 "spec/lib/gitlab/ci/parsers/terraform/tfplan_spec.rb": 2.4705424820003827,9451 "spec/rubocop/formatter/todo_formatter_spec.rb": 1.0523739990003378,9452 "spec/tasks/gitlab/setup_rake_spec.rb": 2.214387866999459,9453 "spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb": 0.9069065540006704,9454 "spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb": 1.556228049999845,9455 "spec/models/snippets/repository_storage_move_spec.rb": 1.139713890001076,9456 "spec/finders/projects/ml/candidate_finder_spec.rb": 2.712292529999104,9457 "spec/lib/gitlab/api_authentication/token_locator_spec.rb": 1.9627988709999045,9458 "spec/uploaders/ci/secure_file_uploader_spec.rb": 1.8643203810006526,9459 "spec/tasks/gitlab/lfs/migrate_rake_spec.rb": 2.130527274999622,9460 "spec/lib/bulk_imports/pipeline/runner_spec.rb": 1.3212566830006836,9461 "spec/lib/gitlab/git/pre_receive_error_spec.rb": 0.8160314710003149,9462 "spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb": 3.909942914000567,9463 "spec/graphql/mutations/incident_management/timeline_event/destroy_spec.rb": 2.8236704589999135,9464 "spec/lib/gitlab/ci/config/entry/id_token_spec.rb": 0.43560565799998585,9465 "spec/lib/gitlab/metrics/method_call_spec.rb": 1.9295617150000908,9466 "spec/tasks/gitlab/password_rake_spec.rb": 2.711792399000842,9467 "spec/lib/gitlab/ci/build/artifacts/adapters/raw_stream_spec.rb": 0.35193853700002364,9468 "spec/workers/merge_requests/resolve_todos_worker_spec.rb": 1.8873661489997176,9469 "spec/lib/banzai/pipeline/plain_markdown_pipeline_spec.rb": 1.7158409950006899,9470 "spec/initializers/forbid_sidekiq_in_transactions_spec.rb": 0.7100326719992154,9471 "spec/components/pajamas/checkbox_component_spec.rb": 0.7423923490005109,9472 "spec/presenters/issue_email_participant_presenter_spec.rb": 1.5719494889999623,9473 "spec/lib/gitlab/usage_data_counters/gitlab_cli_activity_unique_counter_spec.rb": 0.9619629469998472,9474 "spec/lib/gitlab/themes_spec.rb": 0.9145860520002316,9475 "spec/graphql/types/merge_requests/reviewer_type_spec.rb": 0.39251350199992885,9476 "spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb": 0.9393967690011777,9477 "spec/lib/gitlab/github_import/importer/collaborators_importer_spec.rb": 0.7464698280000448,9478 "spec/services/protected_branches/create_service_spec.rb": 1.4047493250000116,9479 "spec/lib/gitlab/database/schema_cleaner_spec.rb": 0.4673012639996159,9480 "spec/lib/api/entities/draft_note_spec.rb": 1.5029560959992523,9481 "spec/services/members/import_project_team_service_spec.rb": 2.0237209560000338,9482 "spec/models/users/project_callout_spec.rb": 1.0544820179984526,9483 "spec/lib/gitlab/health_checks/db_check_spec.rb": 0.827410930998667,9484 "spec/lib/gitlab/hook_data/user_builder_spec.rb": 1.0325830910005607,9485 "spec/lib/release_highlights/validator/entry_spec.rb": 1.108492032999493,9486 "spec/lib/gitlab/ci/reports/reports_comparer_spec.rb": 0.9968463339992013,9487 "spec/lib/gitlab/github_import/representation_spec.rb": 0.34945678599979146,9488 "spec/services/packages/nuget/sync_metadatum_service_spec.rb": 1.7835443990006752,9489 "spec/rubocop/cop/rspec/duplicate_spec_location_spec.rb": 0.5786608449998312,9490 "spec/models/token_with_iv_spec.rb": 0.47834906299976865,9491 "spec/rubocop/cop/performance/ar_count_each_spec.rb": 0.4996911620000901,9492 "spec/lib/gitlab/email/message/in_product_marketing/base_spec.rb": 0.8435555300002306,9493 "spec/lib/gitlab/ci/trace/backoff_spec.rb": 0.7733403450001788,9494 "spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb": 1.323369821999222,9495 "spec/lib/gitlab/seeders/ci/runner/runner_fleet_pipeline_seeder_spec.rb": 1.9454193450001185,9496 "spec/graphql/resolvers/concerns/looks_ahead_spec.rb": 1.9299571170013223,9497 "spec/lib/mattermost/team_spec.rb": 0.7169407740002498,9498 "spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb": 0.7004933959997288,9499 "spec/views/layouts/profile.html.haml_spec.rb": 1.4796634039994387,9500 "spec/models/fork_network_member_spec.rb": 1.7947340110004006,9501 "spec/views/help/instance_configuration.html.haml_spec.rb": 0.4393623630003276,9502 "spec/lib/gitlab/reactive_cache_set_cache_spec.rb": 0.7980319260004762,9503 "spec/lib/api/entities/snippets/repository_storage_move_spec.rb": 0.45593328199902317,9504 "spec/models/integrations/chat_message/wiki_page_message_spec.rb": 0.9115013539994834,9505 "spec/graphql/types/description_version_type_spec.rb": 0.44900873200094793,9506 "spec/lib/gitlab/slash_commands/presenters/issue_close_spec.rb": 1.4042251920000126,9507 "spec/lib/gitlab/database/migrations/lock_retry_mixin_spec.rb": 0.5155889860016032,9508 "spec/helpers/import_helper_spec.rb": 0.8617595989999245,9509 "spec/presenters/alert_management/alert_presenter_spec.rb": 0.8665574789993116,9510 "spec/finders/uploader_finder_spec.rb": 1.4970929329992941,9511 "spec/views/layouts/group.html.haml_spec.rb": 0.9534811790017557,9512 "spec/lib/gitlab/github_gists_import/representation/gist_spec.rb": 1.1343407009990187,9513 "spec/lib/gitlab/github_import/importer/issues_importer_spec.rb": 0.7572375800009468,9514 "spec/models/blob_viewer/gitlab_ci_yml_spec.rb": 1.5953682620001928,9515 "spec/policies/project_hook_policy_spec.rb": 1.5126604310007679,9516 "spec/graphql/mutations/terraform/state/delete_spec.rb": 1.0282946719999018,9517 "spec/lib/gitlab/database/load_balancing/setup_spec.rb": 0.6838950680012204,9518 "spec/views/layouts/project.html.haml_spec.rb": 0.9510913800004346,9519 "spec/lib/gitlab/ci/config/entry/release/assets_spec.rb": 0.5599993309988349,9520 "spec/lib/gitlab/word_diff/segments/diff_hunk_spec.rb": 0.5531052310016094,9521 "spec/rubocop/cop/api/ensure_string_detail_spec.rb": 0.5838284689998545,9522 "spec/lib/gitlab/auth/blocked_user_tracker_spec.rb": 0.634379742999954,9523 "spec/lib/bitbucket/representation/comment_spec.rb": 0.7663255489987932,9524 "spec/lib/gitlab/instrumentation/rate_limiting_gates_spec.rb": 0.4088101369998185,9525 "spec/lib/gitlab/ci/config/entry/release/assets/link_spec.rb": 0.7425380519998726,9526 "spec/lib/api/helpers/merge_requests_helpers_spec.rb": 0.5797146189997875,9527 "spec/rubocop/cop/scalability/cron_worker_context_spec.rb": 0.4484564529993804,9528 "spec/models/concerns/integrations/reset_secret_fields_spec.rb": 0.7902063470010035,9529 "spec/models/badges/project_badge_spec.rb": 0.6541796709989285,9530 "spec/rubocop/cop/migration/background_migration_missing_active_concern_spec.rb": 0.6227878340014286,9531 "spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb": 0.5261465349994978,9532 "spec/rubocop/cop/rspec/top_level_describe_path_spec.rb": 0.6887249780011189,9533 "spec/services/metrics/users_starred_dashboards/delete_service_spec.rb": 1.040152310000849,9534 "spec/lib/sidebars/projects/menus/shimo_menu_spec.rb": 0.9034281550011656,9535 "spec/lib/gitlab/email/message/in_product_marketing/admin_verify_spec.rb": 0.4291715950002981,9536 "spec/models/integrations/jira_tracker_data_spec.rb": 0.7792265879998013,9537 "spec/models/blob_viewer/go_mod_spec.rb": 0.5613487709997571,9538 "spec/lib/gitlab/github_import/attachments_downloader_spec.rb": 0.42385837500114576,9539 "spec/models/project_import_data_spec.rb": 0.4545931730008306,9540 "spec/views/admin/application_settings/_package_registry.html.haml_spec.rb": 0.6154547950009146,9541 "spec/workers/ci/pipeline_bridge_status_worker_spec.rb": 0.698918046999097,9542 "spec/lib/gitlab/tracking/destinations/snowplow_spec.rb": 0.4578292620008142,9543 "spec/db/development/import_common_metrics_spec.rb": 0.43639530400105286,9544 "spec/services/bulk_push_event_payload_service_spec.rb": 0.7092918449998251,9545 "spec/models/performance_monitoring/prometheus_metric_spec.rb": 0.56433755100079,9546 "spec/models/ml/experiment_metadata_spec.rb": 0.6821635079995758,9547 "spec/lib/gitlab/memory/watchdog/monitor/heap_fragmentation_spec.rb": 0.5451929030004976,9548 "spec/lib/gitlab/health_checks/server_spec.rb": 0.6342633730000671,9549 "spec/lib/gitlab/memory/watchdog/monitor/unique_memory_growth_spec.rb": 0.5032456669996463,9550 "spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb": 0.6218223649993888,9551 "spec/graphql/types/kas/agent_metadata_type_spec.rb": 0.4432066429999395,9552 "spec/graphql/types/packages/package_type_spec.rb": 0.45539614200060896,9553 "spec/lib/gitlab/auth/otp/strategies/forti_authenticator/push_otp_spec.rb": 0.5539382019996992,9554 "spec/lib/gitlab/sidekiq_versioning/worker_spec.rb": 0.5490822920000937,9555 "spec/workers/propagate_integration_worker_spec.rb": 0.6354683530007605,9556 "spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb": 0.7371361719997367,9557 "spec/workers/environments/auto_stop_cron_worker_spec.rb": 0.3203131160007615,9558 "spec/workers/jira_connect/retry_request_worker_spec.rb": 0.6696277489991189,9559 "spec/helpers/admin/abuse_reports_helper_spec.rb": 0.8214197430006607,9560 "spec/lib/gitlab/graphql/timeout_spec.rb": 0.2837963900001341,9561 "spec/lib/api/entities/design_management/design_spec.rb": 0.7090899550003087,9562 "spec/graphql/types/kas/agent_configuration_type_spec.rb": 0.4439477129999432,9563 "spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb": 0.38318942000114475,9564 "spec/graphql/types/member_access_level_enum_spec.rb": 0.32100044599974353,9565 "spec/lib/gitlab/audit/null_target_spec.rb": 0.47558568000022206,9566 "spec/graphql/types/issuable_state_enum_spec.rb": 0.4571263319994614,9567 "spec/lib/gitlab/graphql_logger_spec.rb": 0.323430445001577,9568 "spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb": 0.4416759040013858,9569 "spec/lib/gitlab/github_import/importer/attachments/base_importer_spec.rb": 0.3807600790005381,9570 "spec/lib/gitlab/import_export/import_test_coverage_spec.rb": 0.46315606200005277,9571 "spec/graphql/types/ci/test_suite_summary_type_spec.rb": 0.3698748710012296,9572 "spec/graphql/types/clusters/agent_type_spec.rb": 0.35063872299906507,9573 "spec/graphql/types/user_callout_type_spec.rb": 0.6285710929987545,9574 "spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb": 0.3795776000006299,9575 "spec/services/keys/destroy_service_spec.rb": 0.5206480650012963,9576 "spec/graphql/types/notes/noteable_interface_spec.rb": 0.3770253699985915,9577 "spec/initializers/mailer_retries_spec.rb": 0.43073634399843286,9578 "spec/lib/gitlab/usage/metrics/instrumentations/index_inconsistencies_metric_spec.rb": 0.2786165399993479,9579 "spec/lib/gitlab/kubernetes/role_binding_spec.rb": 0.4738377699995908,9580 "spec/models/namespaces/user_namespace_spec.rb": 0.3075619880000886,9581 "spec/lib/gitlab/memory/reports_uploader_spec.rb": 0.4294422150014725,9582 "spec/lib/gitlab/api_authentication/token_type_builder_spec.rb": 0.3323245339997811,9583 "spec/lib/gitlab/kubernetes/tls_secret_spec.rb": 0.6253480439991108,9584 "spec/lib/gitlab/language_data_spec.rb": 0.5785262589997728,9585 "spec/workers/ci_platform_metrics_update_cron_worker_spec.rb": 0.6100667560003785,9586 "spec/graphql/types/ci/variable_sort_enum_spec.rb": 0.4596748120002303,9587 "spec/lib/gitlab/ci/parsers/instrumentation_spec.rb": 0.35592984199865896,9588 "spec/graphql/resolvers/packages_base_resolver_spec.rb": 0.32269376600015676,9589 "spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb": 0.443377423000129069590}9591Knapsack global time execution for tests: 20m 48s9592Pending: (Failures listed here are expected and do not affect your suite's status)9593 1) Milestone modules with a project behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank9594 # No reason given9595 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:499596 2) Milestone modules with a project behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank9597 # No reason given9598 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:579599 3) Milestone modules with a group behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank9600 # No reason given9601 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:499602 4) Milestone modules with a group behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank9603 # No reason given9604 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:579605 5) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does not exist does nothing9606 # because the base model for ci exists9607 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:669608 6) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does not exist logs a message indicating execution is skipped9609 # because the base model for ci exists9610 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:739611 7) Database::BatchedBackgroundMigration::CiDatabaseWorker behaves like it runs batched background migration jobs #perform when the base model does exist when the tracking database is shared does nothing9612 # Skipping because database ci exists9613 # ./spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb:969614 8) Gitlab::Database::TablesLocker when running on single database #lock_writes does not lock any table9615 # Skipping because database ci exists9616 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1759617 9) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables unlocks table in schema gitlab_main and database main9618 # Skipping because database ci exists9619 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1029620 10) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables returns list of actions9621 # Skipping because database ci exists9622 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1229623 11) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables unlocks table in schema gitlab_ci and database main9624 # Skipping because database ci exists9625 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1029626 12) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables returns list of actions9627 # Skipping because database ci exists9628 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1229629 13) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables unlocks table in schema gitlab_main_clusterwide and database main9630 # Skipping because database ci exists9631 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1029632 14) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables returns list of actions9633 # Skipping because database ci exists9634 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1229635 15) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables unlocks table in schema gitlab_shared and database main9636 # Skipping because database ci exists9637 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1029638 16) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables returns list of actions9639 # Skipping because database ci exists9640 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1229641 17) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables unlocks table in schema gitlab_internal and database main9642 # Skipping because database ci exists9643 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1029644 18) Gitlab::Database::TablesLocker when running on single database #lock_writes behaves like unlock tables returns list of actions9645 # Skipping because database ci exists9646 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1229647 19) Gitlab::Database::TablesLocker when running on single database #unlock_writes does call Gitlab::Database::LockWritesManager.unlock_writes9648 # Skipping because database ci exists9649 # ./spec/lib/gitlab/database/tables_locker_spec.rb:1939650 20) Gitlab::Database::TablesLocker when geo database is configured does not lock table in geo database9651 # Geo database is not configured9652 # ./spec/lib/gitlab/database/tables_locker_spec.rb:3049653 21) RuboCop::Cop::API::EnsureStringDetail when in_api? == true when detail field uses a constant does not add an offense9654 # No reason given9655 Failure/Error:9656 expect_no_offenses(<<~CODE)9657 class SomeAPI9658 resource :projects do9659 DESCRIPTION = 'A string'9661 desc 'Some API thing related to a project' do9662 detail DESCRIPTION9663 end9664 end9665 end9666 expected: "class SomeAPI\n resource :projects do\n DESCRIPTION = 'A string'\n\n desc 'Some API thing related to a project' do\n detail DESCRIPTION\n end\n end\nend\n"9667 got: "class SomeAPI\n resource :projects do\n DESCRIPTION = 'A string'\n\n desc 'Some API thing rel... ^^^^^^^^^^^^^^^^^^ Only String objects are permitted in API detail field.\n end\n end\nend\n"9668 (compared using ==)9669 Diff:9670 @@ -4,6 +4,7 @@9672 desc 'Some API thing related to a project' do9673 detail DESCRIPTION9674 + ^^^^^^^^^^^^^^^^^^ Only String objects are permitted in API detail field.9675 end9676 end9677 end9678 # ./spec/rubocop/cop/api/ensure_string_detail_spec.rb:61:in `block (4 levels) in <top (required)>'9679 # ./spec/spec_helper.rb:438:in `block (3 levels) in <top (required)>'9680 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'9681 # ./spec/spec_helper.rb:430:in `block (2 levels) in <top (required)>'9682 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'9683 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'9684 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'9685 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'9686 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9687 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'9688 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'9689 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'9690Failures:9691 1) gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes calls TablesTruncate with the correct parameters and default minimum batch size9692 Failure/Error: raise "Table '#{table_name}' is not locked for writes. Run the rake task gitlab:db:lock_writes first"9693 RuntimeError:9694 Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first9695 Shared Example Group: "truncating legacy tables" called from ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1509696 # ./lib/gitlab/database/tables_truncate.rb:49:in `block in execute'9697 # ./lib/gitlab/database/tables_truncate.rb:38:in `each'9698 # ./lib/gitlab/database/tables_truncate.rb:38:in `execute'9699 # ./lib/tasks/gitlab/db/truncate_legacy_tables.rake:27:in `block (4 levels) in <top (required)>'9700 # ./spec/support/helpers/rake_helpers.rb:6:in `run_rake_task'9701 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:143:in `block (3 levels) in <top (required)>'9702 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:78:in `block (4 levels) in <top (required)>'9703 # ./spec/spec_helper.rb:438:in `block (3 levels) in <top (required)>'9704 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'9705 # ./spec/spec_helper.rb:430:in `block (2 levels) in <top (required)>'9706 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'9707 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'9708 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'9709 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'9710 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9711 # ./spec/support/multiple_databases.rb:16:in `block (3 levels) in <top (required)>'9712 # ./spec/support/helpers/database/multiple_databases_helpers.rb:105:in `with_reestablished_active_record_base'9713 # ./spec/support/multiple_databases.rb:15:in `block (2 levels) in <top (required)>'9714 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'9715 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'9716 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'9717 # ./spec/support/database/gitlab_schemas_validate_connection.rb:6:in `block in with_gitlab_schemas_validate_connection_prevented'9718 # ./lib/gitlab/database/query_analyzers/base.rb:39:in `with_suppressed'9719 # ./spec/support/database/gitlab_schemas_validate_connection.rb:5:in `with_gitlab_schemas_validate_connection_prevented'9720 # ./spec/support/database/gitlab_schemas_validate_connection.rb:11:in `block (2 levels) in <top (required)>'9721 2) gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes truncates the legacy table9722 Failure/Error: raise "Table '#{table_name}' is not locked for writes. Run the rake task gitlab:db:lock_writes first"9723 RuntimeError:9724 Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first9725 Shared Example Group: "truncating legacy tables" called from ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1509726 # ./lib/gitlab/database/tables_truncate.rb:49:in `block in execute'9727 # ./lib/gitlab/database/tables_truncate.rb:38:in `each'9728 # ./lib/gitlab/database/tables_truncate.rb:38:in `execute'9729 # ./lib/tasks/gitlab/db/truncate_legacy_tables.rake:27:in `block (4 levels) in <top (required)>'9730 # ./spec/support/helpers/rake_helpers.rb:6:in `run_rake_task'9731 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:143:in `block (3 levels) in <top (required)>'9732 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:83:in `block (5 levels) in <top (required)>'9733 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:82:in `block (4 levels) in <top (required)>'9734 # ./spec/spec_helper.rb:438:in `block (3 levels) in <top (required)>'9735 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'9736 # ./spec/spec_helper.rb:430:in `block (2 levels) in <top (required)>'9737 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'9738 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'9739 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'9740 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'9741 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9742 # ./spec/support/multiple_databases.rb:16:in `block (3 levels) in <top (required)>'9743 # ./spec/support/helpers/database/multiple_databases_helpers.rb:105:in `with_reestablished_active_record_base'9744 # ./spec/support/multiple_databases.rb:15:in `block (2 levels) in <top (required)>'9745 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'9746 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'9747 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'9748 # ./spec/support/database/gitlab_schemas_validate_connection.rb:6:in `block in with_gitlab_schemas_validate_connection_prevented'9749 # ./lib/gitlab/database/query_analyzers/base.rb:39:in `with_suppressed'9750 # ./spec/support/database/gitlab_schemas_validate_connection.rb:5:in `with_gitlab_schemas_validate_connection_prevented'9751 # ./spec/support/database/gitlab_schemas_validate_connection.rb:11:in `block (2 levels) in <top (required)>'9752 3) gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes does not truncate the table that belongs to the connection schema9753 Failure/Error: raise "Table '#{table_name}' is not locked for writes. Run the rake task gitlab:db:lock_writes first"9754 RuntimeError:9755 Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first9756 Shared Example Group: "truncating legacy tables" called from ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1509757 # ./lib/gitlab/database/tables_truncate.rb:49:in `block in execute'9758 # ./lib/gitlab/database/tables_truncate.rb:38:in `each'9759 # ./lib/gitlab/database/tables_truncate.rb:38:in `execute'9760 # ./lib/tasks/gitlab/db/truncate_legacy_tables.rake:27:in `block (4 levels) in <top (required)>'9761 # ./spec/support/helpers/rake_helpers.rb:6:in `run_rake_task'9762 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:143:in `block (3 levels) in <top (required)>'9763 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:89:in `block (5 levels) in <top (required)>'9764 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:88:in `block (4 levels) in <top (required)>'9765 # ./spec/spec_helper.rb:438:in `block (3 levels) in <top (required)>'9766 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'9767 # ./spec/spec_helper.rb:430:in `block (2 levels) in <top (required)>'9768 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'9769 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'9770 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'9771 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'9772 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9773 # ./spec/support/multiple_databases.rb:16:in `block (3 levels) in <top (required)>'9774 # ./spec/support/helpers/database/multiple_databases_helpers.rb:105:in `with_reestablished_active_record_base'9775 # ./spec/support/multiple_databases.rb:15:in `block (2 levels) in <top (required)>'9776 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'9777 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'9778 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'9779 # ./spec/support/database/gitlab_schemas_validate_connection.rb:6:in `block in with_gitlab_schemas_validate_connection_prevented'9780 # ./lib/gitlab/database/query_analyzers/base.rb:39:in `with_suppressed'9781 # ./spec/support/database/gitlab_schemas_validate_connection.rb:5:in `with_gitlab_schemas_validate_connection_prevented'9782 # ./spec/support/database/gitlab_schemas_validate_connection.rb:11:in `block (2 levels) in <top (required)>'9783 4) gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes when running in dry_run mode does not truncate any tables9784 Failure/Error: raise "Table '#{table_name}' is not locked for writes. Run the rake task gitlab:db:lock_writes first"9785 RuntimeError:9786 Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first9787 Shared Example Group: "truncating legacy tables" called from ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1509788 # ./lib/gitlab/database/tables_truncate.rb:49:in `block in execute'9789 # ./lib/gitlab/database/tables_truncate.rb:38:in `each'9790 # ./lib/gitlab/database/tables_truncate.rb:38:in `execute'9791 # ./lib/tasks/gitlab/db/truncate_legacy_tables.rake:27:in `block (4 levels) in <top (required)>'9792 # ./spec/support/helpers/rake_helpers.rb:6:in `run_rake_task'9793 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:143:in `block (3 levels) in <top (required)>'9794 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:100:in `block (6 levels) in <top (required)>'9795 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:99:in `block (5 levels) in <top (required)>'9796 # ./spec/spec_helper.rb:438:in `block (3 levels) in <top (required)>'9797 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'9798 # ./spec/spec_helper.rb:430:in `block (2 levels) in <top (required)>'9799 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'9800 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'9801 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'9802 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'9803 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9804 # ./spec/support/multiple_databases.rb:16:in `block (3 levels) in <top (required)>'9805 # ./spec/support/helpers/database/multiple_databases_helpers.rb:105:in `with_reestablished_active_record_base'9806 # ./spec/support/multiple_databases.rb:15:in `block (2 levels) in <top (required)>'9807 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'9808 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'9809 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'9810 # ./spec/support/database/gitlab_schemas_validate_connection.rb:6:in `block in with_gitlab_schemas_validate_connection_prevented'9811 # ./lib/gitlab/database/query_analyzers/base.rb:39:in `with_suppressed'9812 # ./spec/support/database/gitlab_schemas_validate_connection.rb:5:in `with_gitlab_schemas_validate_connection_prevented'9813 # ./spec/support/database/gitlab_schemas_validate_connection.rb:11:in `block (2 levels) in <top (required)>'9814 5) gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes when running in dry_run mode prints the truncation sql statement to the output9815 Failure/Error: raise "Table '#{table_name}' is not locked for writes. Run the rake task gitlab:db:lock_writes first"9816 RuntimeError:9817 Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first9818 Shared Example Group: "truncating legacy tables" called from ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1509819 # ./lib/gitlab/database/tables_truncate.rb:49:in `block in execute'9820 # ./lib/gitlab/database/tables_truncate.rb:38:in `each'9821 # ./lib/gitlab/database/tables_truncate.rb:38:in `execute'9822 # ./lib/tasks/gitlab/db/truncate_legacy_tables.rake:27:in `block (4 levels) in <top (required)>'9823 # ./spec/support/helpers/rake_helpers.rb:6:in `run_rake_task'9824 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:143:in `block (3 levels) in <top (required)>'9825 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:106:in `block (6 levels) in <top (required)>'9826 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:105:in `block (5 levels) in <top (required)>'9827 # ./spec/spec_helper.rb:438:in `block (3 levels) in <top (required)>'9828 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'9829 # ./spec/spec_helper.rb:430:in `block (2 levels) in <top (required)>'9830 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'9831 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'9832 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'9833 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'9834 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9835 # ./spec/support/multiple_databases.rb:16:in `block (3 levels) in <top (required)>'9836 # ./spec/support/helpers/database/multiple_databases_helpers.rb:105:in `with_reestablished_active_record_base'9837 # ./spec/support/multiple_databases.rb:15:in `block (2 levels) in <top (required)>'9838 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'9839 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'9840 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'9841 # ./spec/support/database/gitlab_schemas_validate_connection.rb:6:in `block in with_gitlab_schemas_validate_connection_prevented'9842 # ./lib/gitlab/database/query_analyzers/base.rb:39:in `with_suppressed'9843 # ./spec/support/database/gitlab_schemas_validate_connection.rb:5:in `with_gitlab_schemas_validate_connection_prevented'9844 # ./spec/support/database/gitlab_schemas_validate_connection.rb:11:in `block (2 levels) in <top (required)>'9845 6) gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes when passing until_table parameter via environment variable sends the table name to TablesTruncate9846 Failure/Error: raise "Table '#{table_name}' is not locked for writes. Run the rake task gitlab:db:lock_writes first"9847 RuntimeError:9848 Table 'gitlab_partitions_dynamic._test_gitlab_main_part_20220101' is not locked for writes. Run the rake task gitlab:db:lock_writes first9849 Shared Example Group: "truncating legacy tables" called from ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:1509850 # ./lib/gitlab/database/tables_truncate.rb:49:in `block in execute'9851 # ./lib/gitlab/database/tables_truncate.rb:38:in `each'9852 # ./lib/gitlab/database/tables_truncate.rb:38:in `execute'9853 # ./lib/tasks/gitlab/db/truncate_legacy_tables.rake:27:in `block (4 levels) in <top (required)>'9854 # ./spec/support/helpers/rake_helpers.rb:6:in `run_rake_task'9855 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:143:in `block (3 levels) in <top (required)>'9856 # ./spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb:125:in `block (5 levels) in <top (required)>'9857 # ./spec/spec_helper.rb:438:in `block (3 levels) in <top (required)>'9858 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'9859 # ./spec/spec_helper.rb:430:in `block (2 levels) in <top (required)>'9860 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'9861 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'9862 # ./spec/spec_helper.rb:426:in `block (2 levels) in <top (required)>'9863 # ./spec/spec_helper.rb:240:in `block (2 levels) in <top (required)>'9864 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9865 # ./spec/support/multiple_databases.rb:16:in `block (3 levels) in <top (required)>'9866 # ./spec/support/helpers/database/multiple_databases_helpers.rb:105:in `with_reestablished_active_record_base'9867 # ./spec/support/multiple_databases.rb:15:in `block (2 levels) in <top (required)>'9868 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'9869 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'9870 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'9871 # ./spec/support/database/gitlab_schemas_validate_connection.rb:6:in `block in with_gitlab_schemas_validate_connection_prevented'9872 # ./lib/gitlab/database/query_analyzers/base.rb:39:in `with_suppressed'9873 # ./spec/support/database/gitlab_schemas_validate_connection.rb:5:in `with_gitlab_schemas_validate_connection_prevented'9874 # ./spec/support/database/gitlab_schemas_validate_connection.rb:11:in `block (2 levels) in <top (required)>'9875Finished in 20 minutes 53 seconds (files took 39.19 seconds to load)98764438 examples, 6 failures, 21 pending9877Failed examples:9878rspec './spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb[1:2:1:2:1]' # gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes calls TablesTruncate with the correct parameters and default minimum batch size9879rspec './spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb[1:2:1:2:2]' # gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes truncates the legacy table9880rspec './spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb[1:2:1:2:3]' # gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes does not truncate the table that belongs to the connection schema9881rspec './spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb[1:2:1:2:4:1]' # gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes when running in dry_run mode does not truncate any tables9882rspec './spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb[1:2:1:2:4:2]' # gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes when running in dry_run mode prints the truncation sql statement to the output9883rspec './spec/tasks/gitlab/db/truncate_legacy_tables_rake_spec.rb[1:2:1:2:5:1]' # gitlab:db:truncate_legacy_tables when truncating main tables on the ci database behaves like truncating legacy tables when tables are locked for writes when passing until_table parameter via environment variable sends the table name to TablesTruncate9884Randomized with seed 303689885[TEST PROF INFO] Time spent in factories: 09:02.486 (43.07% of total time)9886Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected9887RSpec exited with 1.9888RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg13_7_28_report.txt9889Retrying the failing examples in a new RSpec process...9890$ gem install junit_merge --no-document --version 0.1.29891Successfully installed nokogiri-1.14.2-x86_64-linux9892Successfully installed junit_merge-0.1.298932 gems installed9894==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.9895Running RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec-retry.xml --only-failures --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.rb"9896Run options: include {:last_run_status=>"failed"}9897Test environment set up in 0.403530917 seconds9898gitlab:db:truncate_legacy_tables9899 # order random9900 when truncating main tables on the ci database9901 behaves like truncating legacy tables9902 when tables are locked for writes9903 calls TablesTruncate with the correct parameters and default minimum batch size9904 truncates the legacy table9905 does not truncate the table that belongs to the connection schema9906 when running in dry_run mode9907 does not truncate any tables9908 prints the truncation sql statement to the output9909 when passing until_table parameter via environment variable9910 sends the table name to TablesTruncate9911Finished in 5.78 seconds (files took 40.25 seconds to load)99126 examples, 0 failures9913Randomized with seed 479969914[TEST PROF INFO] Time spent in factories: 00:00.010 (0.13% of total time)9915A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...9916Flaky test was not part of this MR.9918Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy9919Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-3.0-16 due to policy9921Uploading artifacts...9922coverage/: found 4 matching artifact files and directories 9923crystalball/: found 2 matching artifact files and directories 9924WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9925knapsack/: found 3 matching artifact files and directories 9926WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9927rspec/: found 16 matching artifact files and directories 9928WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9929log/*.log: found 18 matching artifact files and directories 9930WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138410/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com9931WARNING: Retrying... context=artifacts-uploader error=request redirected9932Uploading artifacts as "archive" to coordinator... 201 Created id=4031138410 responseStatus=201 Created token=64_18fx69933Uploading artifacts...9934rspec/junit_rspec.xml: found 1 matching artifact files and directories 9935WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138410/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com9936WARNING: Retrying... context=artifacts-uploader error=request redirected9937Uploading artifacts as "junit" to coordinator... 201 Created id=4031138410 responseStatus=201 Created token=64_18fx69939Job succeeded