rspec unit pg12 12/28
Passed Started
by
@stanhu

Stan Hu
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on blue-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org tDjA3Sp33 feature flags: 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-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:c5abf812eff57d99cd4ae9b4d688261207b59905c5d0ca50c5e57f75669dbf10 for postgres:12 with digest postgres@sha256:a66060c3beab11e6f8eac5581c28df727539653a3c11e860847b14149e678d3e ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:83c577984741ab5b2e78640e0524852998d539ea3961e6d56680f336371f5c83 for redis:6.0-alpine with digest redis@sha256:459e91c5fe54134da1601ef85a4d9bc40c953862737fdfbe8f3c2b2a3eb6b20b ...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-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...18Running on runner-tdja3sp3-project-278964-concurrent-0 via runner-tdja3sp3-private-1668125539-a4646604...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: 134695, done. 25remote: Counting objects: 100% (134695/134695), done. 26remote: Compressing objects: 100% (87197/87197), done. 27remote: Total 134695 (delta 60835), reused 93449 (delta 42513), pack-reused 0 28Receiving objects: 100% (134695/134695), 116.52 MiB | 35.41 MiB/s, done.29Resolving deltas: 100% (60835/60835), done.31 * [new ref] refs/pipelines/691761438 -> refs/pipelines/69176143832 * [new branch] master -> origin/master33Checking out 0a62f4a6 as master...34Skipping Git submodules setup35$ git remote set-url origin "${CI_REPOSITORY_URL}"37Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...38cache.zip is up to date 39Successfully extracted cache40Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...41Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 42Successfully extracted cache44Downloading artifacts for compile-test-assets (3307837569)...45Downloading artifacts from coordinator... ok id=3307837569 responseStatus=200 OK token=r_kB1zRs46Downloading artifacts for detect-tests (3307837577)...47Downloading artifacts from coordinator... ok id=3307837577 responseStatus=200 OK token=r_kB1zRs48Downloading artifacts for retrieve-tests-metadata (3307837579)...49Downloading artifacts from coordinator... ok id=3307837579 responseStatus=200 OK token=r_kB1zRs50Downloading artifacts for setup-test-env (3307837573)...51Downloading artifacts from coordinator... ok id=3307837573 responseStatus=200 OK token=r_kB1zRs53Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...54$ echo $FOSS_ONLY55$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb56$ export GOPATH=$CI_PROJECT_DIR/.go57$ mkdir -p $GOPATH58$ source scripts/utils.sh59$ source scripts/prepare_build.sh688Using decomposed database config (config/database.yml.decomposed-postgresql)689$ setup_db_user_only690CREATE ROLE691GRANT692==> 'setup_db_user_only' succeeded in 0 seconds.693$ bundle exec rake db:drop db:create db:schema:load db:migrate694Dropped database 'gitlabhq_test'695Dropped database 'gitlabhq_test_ci'696Dropped database 'gitlabhq_geo_test'697Created database 'gitlabhq_test'698Created database 'gitlabhq_test_ci'699Created database 'gitlabhq_geo_test'700==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 41 seconds.701$ setup_db_praefect702SELECT pg_catalog.set_config('search_path', '', false);703CREATE DATABASE praefect_test ENCODING 'UTF8';704==> 'setup_db_praefect' succeeded in 0 seconds.705$ source ./scripts/rspec_helpers.sh706$ run_timed_command "gem install knapsack --no-document"707$ gem install knapsack --no-document708Successfully installed knapsack-4.0.07091 gem installed710==> 'gem install knapsack --no-document' succeeded in 1 seconds.711$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"825$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"826SKIP_FLAKY_TESTS_AUTOMATICALLY: true827RETRY_FAILED_TESTS_IN_NEW_PROCESS: true828KNAPSACK_GENERATE_REPORT: true829FLAKY_RSPEC_GENERATE_REPORT: true830KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,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.rb831KNAPSACK_LOG_LEVEL: debug832KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12_12_28_report.json833FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json834FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12_12_28_report.json835NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12_12_28_report.json836SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12_12_28_report.txt837RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12_12_28_report.txt838CRYSTALBALL: 839Knapsack node specs:840spec/models/application_setting_spec.rb841spec/lib/gitlab/middleware/go_spec.rb842spec/services/merge_requests/create_from_issue_service_spec.rb843spec/services/merge_requests/create_service_spec.rb844spec/models/concerns/mentionable_spec.rb845spec/models/ci/runner_spec.rb846spec/services/notes/create_service_spec.rb847spec/services/issues/create_service_spec.rb848spec/tooling/danger/project_helper_spec.rb849spec/views/search/_results.html.haml_spec.rb850spec/lib/gitlab/ssh_public_key_spec.rb851spec/lib/banzai/filter/references/user_reference_filter_spec.rb852spec/models/concerns/project_api_compatibility_spec.rb853spec/services/projects/unlink_fork_service_spec.rb854spec/helpers/tab_helper_spec.rb855spec/models/concerns/integrations/has_data_fields_spec.rb856spec/lib/gitlab/background_migration/backfill_namespace_traversal_ids_children_spec.rb857spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb858spec/lib/gitlab/git/branch_spec.rb859spec/lib/gitlab/background_migration/copy_column_using_background_migration_job_spec.rb860spec/lib/gitlab/git/diff_collection_spec.rb861spec/services/search/group_service_spec.rb862spec/lib/gitlab/ci/status/stage/factory_spec.rb863spec/lib/gitlab/file_type_detection_spec.rb864spec/metrics_server/metrics_server_spec.rb865spec/lib/banzai/filter/references/reference_filter_spec.rb866spec/serializers/ci/pipeline_entity_spec.rb867spec/helpers/avatars_helper_spec.rb868spec/serializers/stage_entity_spec.rb869spec/views/projects/_home_panel.html.haml_spec.rb870spec/lib/gitlab/background_migration/merge_topics_with_same_name_spec.rb871spec/serializers/commit_entity_spec.rb872spec/services/clusters/agents/refresh_authorization_service_spec.rb873spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb874spec/services/award_emojis/add_service_spec.rb875spec/lib/gitlab/middleware/read_only_spec.rb876spec/views/notify/pipeline_fixed_email.html.haml_spec.rb877spec/lib/gitlab/github_import/representation/pull_request_spec.rb878spec/lib/banzai/filter/sanitization_filter_spec.rb879spec/services/integrations/test/project_service_spec.rb880spec/models/hooks/active_hook_filter_spec.rb881spec/tasks/gitlab/cleanup_rake_spec.rb882spec/services/clusters/applications/upgrade_service_spec.rb883spec/lib/gitlab_spec.rb884spec/models/ci/build_trace_chunks/fog_spec.rb885spec/graphql/types/global_id_type_spec.rb886spec/graphql/types/user_type_spec.rb887spec/lib/gitlab/database/load_balancing/connection_proxy_spec.rb888spec/lib/gitlab/chat/responder/slack_spec.rb889spec/uploaders/terraform/state_uploader_spec.rb890spec/graphql/mutations/issues/create_spec.rb891spec/lib/gitlab/git/push_spec.rb892spec/services/jira_import/start_import_service_spec.rb893spec/models/concerns/project_features_compatibility_spec.rb894spec/tasks/gitlab/praefect_rake_spec.rb895spec/services/projects/deploy_tokens/create_service_spec.rb896spec/models/project_label_spec.rb897spec/lib/gitlab/audit/auditor_spec.rb898spec/lib/gitlab/ci/build/policy/changes_spec.rb899spec/workers/prune_old_events_worker_spec.rb900spec/lib/gitlab/github_import/importer/pull_requests_reviews_importer_spec.rb901spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb902spec/lib/gitlab/manifest_import/project_creator_spec.rb903spec/services/ci/create_pipeline_service/tags_spec.rb904spec/components/pajamas/alert_component_spec.rb905spec/finders/feature_flags_finder_spec.rb906spec/views/events/event/_push.html.haml_spec.rb907spec/support_specs/helpers/html_escaped_helpers_spec.rb908spec/lib/gitlab/database/count_spec.rb909spec/finders/boards/boards_finder_spec.rb910spec/lib/sidebars/projects/menus/deployments_menu_spec.rb911spec/initializers/active_record_locking_spec.rb912spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb913spec/serializers/discussion_entity_spec.rb914spec/lib/gitlab/github_import_spec.rb915spec/models/network/graph_spec.rb916spec/workers/destroy_pages_deployments_worker_spec.rb917spec/services/ci/build_report_result_service_spec.rb918spec/models/concerns/atomic_internal_id_spec.rb919spec/lib/gitlab/ci/pipeline/expression/parser_spec.rb920spec/services/repository_archive_clean_up_service_spec.rb921spec/models/work_items/type_spec.rb922spec/models/integrations/mock_ci_spec.rb923spec/models/deploy_keys_project_spec.rb924spec/lib/banzai/filter/wiki_link_filter_spec.rb925spec/workers/bulk_imports/pipeline_worker_spec.rb926spec/lib/gitlab/api_authentication/builder_spec.rb927spec/services/web_hooks/log_destroy_service_spec.rb928spec/models/identity_spec.rb929spec/models/protected_branch/push_access_level_spec.rb930spec/services/feature_flags/create_service_spec.rb931spec/services/wiki_pages/event_create_service_spec.rb932spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb933spec/lib/gitlab/composer/cache_spec.rb934spec/lib/gitlab/zoom_link_extractor_spec.rb935spec/graphql/types/environment_type_spec.rb936spec/services/incident_management/issuable_escalation_statuses/after_update_service_spec.rb937spec/services/clusters/aws/finalize_creation_service_spec.rb938spec/lib/gitlab/sanitizers/svg_spec.rb939spec/models/error_tracking/error_event_spec.rb940spec/graphql/mutations/clusters/agents/create_spec.rb941spec/lib/gitlab/ci/status/created_spec.rb942spec/models/group_import_state_spec.rb943spec/components/pajamas/card_component_spec.rb944spec/lib/gitlab/serverless/service_spec.rb945spec/services/clusters/agents/delete_expired_events_service_spec.rb946spec/rubocop/cop/migration/update_column_in_batches_spec.rb947spec/workers/merge_requests/resolve_todos_after_approval_worker_spec.rb948spec/lib/gitlab/database/query_analyzers/ci/partitioning_analyzer_spec.rb949spec/models/concerns/sanitizable_spec.rb950spec/views/shared/notes/_form.html.haml_spec.rb951spec/workers/mail_scheduler/notification_service_worker_spec.rb952spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb953spec/finders/groups/projects_requiring_authorizations_refresh/on_transfer_finder_spec.rb954spec/services/projects/move_lfs_objects_projects_service_spec.rb955spec/lib/gitlab/feature_categories_spec.rb956spec/lib/gitlab/jira_import/labels_importer_spec.rb957spec/lib/gitlab/kas/client_spec.rb958spec/helpers/hooks_helper_spec.rb959spec/graphql/resolvers/release_resolver_spec.rb960spec/lib/gitlab/ci/status/build/failed_unmet_prerequisites_spec.rb961spec/lib/gitlab/github_import/importer/issues_importer_spec.rb962spec/views/projects/jobs/_generic_commit_status.html.haml_spec.rb963spec/lib/gitlab/zentao/query_spec.rb964spec/graphql/resolvers/incident_management/timeline_events_resolver_spec.rb965spec/graphql/types/time_type_spec.rb966spec/services/google_cloud/fetch_google_ip_list_service_spec.rb967spec/services/discussions/capture_diff_note_positions_service_spec.rb968spec/services/packages/rpm/repository_metadata/build_repomd_xml_service_spec.rb969spec/lib/gitlab/ci/reports/coverage_report_spec.rb970spec/finders/packages/package_file_finder_spec.rb971spec/lib/gitlab/github_import/parallel_importer_spec.rb972spec/services/work_items/delete_service_spec.rb973spec/lib/gitlab/slash_commands/presenters/issue_search_spec.rb974spec/rubocop/cop/migration/prevent_strings_spec.rb975spec/lib/banzai/filter/kroki_filter_spec.rb976spec/views/shared/milestones/_issuable.html.haml_spec.rb977spec/lib/bulk_imports/common/rest/get_badges_query_spec.rb978spec/lib/gitlab/ci/config/external/file/template_spec.rb979spec/rubocop/cop/gitlab/module_with_instance_variables_spec.rb980spec/serializers/prometheus_alert_entity_spec.rb981spec/graphql/resolvers/projects/grafana_integration_resolver_spec.rb982spec/services/ci/pipelines/hook_service_spec.rb983spec/lib/gitlab/ci/artifacts/metrics_spec.rb984spec/lib/gitlab/mailgun/webhook_processors/member_invites_spec.rb985spec/lib/bitbucket_server/connection_spec.rb986spec/workers/ci/daily_build_group_report_results_worker_spec.rb987spec/graphql/types/terraform/state_type_spec.rb988spec/services/packages/composer/composer_json_service_spec.rb989spec/lib/gitlab/serializer/pagination_spec.rb990spec/models/releases/evidence_spec.rb991spec/lib/gitlab/class_attributes_spec.rb992spec/models/ci/build_pending_state_spec.rb993spec/finders/projects/members/effective_access_level_per_user_finder_spec.rb994spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb995spec/models/acts_as_taggable_on/tag_spec.rb996spec/lib/gitlab/request_endpoints_spec.rb997spec/lib/bulk_imports/projects/graphql/get_snippet_repository_query_spec.rb998spec/initializers/forbid_sidekiq_in_transactions_spec.rb999spec/workers/gitlab/github_import/attachments/import_merge_request_worker_spec.rb1000spec/graphql/types/merge_request_state_enum_spec.rb1001spec/lib/gitlab/utils/link_header_parser_spec.rb1002spec/lib/gitlab/gitlab_import/project_creator_spec.rb1003spec/lib/error_tracking/collector/payload_validator_spec.rb1004spec/graphql/resolvers/project_pipelines_resolver_spec.rb1005spec/presenters/packages/nuget/search_results_presenter_spec.rb1006spec/lib/gitlab/cluster/lifecycle_events_spec.rb1007spec/lib/generators/gitlab/snowplow_event_definition_generator_spec.rb1008spec/models/concerns/transactions_spec.rb1009spec/views/help/index.html.haml_spec.rb1010spec/serializers/import/manifest_provider_repo_entity_spec.rb1011spec/lib/gitlab/ci/reports/test_failure_history_spec.rb1012spec/lib/api/entities/snippets/repository_storage_move_spec.rb1013spec/lib/gitlab/database/migrations/observers/query_log_spec.rb1014spec/views/help/instance_configuration.html.haml_spec.rb1015spec/models/user_canonical_email_spec.rb1016spec/models/integrations/chat_message/base_message_spec.rb1017spec/services/keys/create_service_spec.rb1018spec/lib/sidebars/projects/menus/learn_gitlab_menu_spec.rb1019spec/graphql/types/projects/base_service_type_spec.rb1020spec/lib/gitlab/graphql/mount_mutation_spec.rb1021spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb1022spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb1023spec/graphql/types/ci/stage_type_spec.rb1024spec/lib/gitlab/import_export/duration_measuring_spec.rb1025spec/graphql/types/ci/pipeline_type_spec.rb1026spec/graphql/types/invitation_interface_spec.rb1027spec/lib/gitlab/string_placeholder_replacer_spec.rb1028spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb1029spec/rubocop/cop/database/disable_referential_integrity_spec.rb1030spec/workers/groups/update_statistics_worker_spec.rb1031spec/graphql/types/boards/board_issue_input_type_spec.rb1032spec/graphql/types/incident_management/timeline_event_type_spec.rb1033spec/workers/gitlab/github_import/stage/import_lfs_objects_worker_spec.rb1034spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb1035spec/policies/concerns/crud_policy_helpers_spec.rb1036spec/lib/gitlab/import_export/config_spec.rb1037spec/graphql/types/custom_emoji_type_spec.rb1038spec/validators/rsa_key_validator_spec.rb1039spec/models/blob_viewer/gemspec_spec.rb1040spec/lib/system_check/incoming_email_check_spec.rb1041spec/lib/gitlab/metrics/rack_middleware_spec.rb1042spec/lib/gitlab/memory/watchdog/monitor/rss_memory_limit_spec.rb1043spec/graphql/types/design_management/version_type_spec.rb1044spec/lib/api/validations/validators/absence_spec.rb1045spec/models/merge_request_context_commit_diff_file_spec.rb1046spec/components/pajamas/concerns/checkbox_radio_options_spec.rb1047spec/graphql/types/clusters/agent_token_type_spec.rb1048spec/lib/gitlab/graphql/timeout_spec.rb1049spec/serializers/evidences/evidence_serializer_spec.rb1050spec/graphql/types/work_items/widgets/start_and_due_date_type_spec.rb1051spec/lib/api/entities/bulk_imports/export_status_spec.rb1052spec/lib/gitlab/middleware/release_env_spec.rb1053spec/graphql/types/detployment_tag_type_spec.rb1054spec/lib/gitlab/audit/deploy_key_author_spec.rb1055spec/lib/gitlab/asciidoc/html5_converter_spec.rb1056spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb1057Filter specs:1058Running specs:1059Running all node tests without filter1060spec/models/application_setting_spec.rb1061spec/lib/gitlab/middleware/go_spec.rb1062spec/services/merge_requests/create_from_issue_service_spec.rb1063spec/services/merge_requests/create_service_spec.rb1064spec/models/concerns/mentionable_spec.rb1065spec/models/ci/runner_spec.rb1066spec/services/notes/create_service_spec.rb1067spec/services/issues/create_service_spec.rb1068spec/tooling/danger/project_helper_spec.rb1069spec/views/search/_results.html.haml_spec.rb1070spec/lib/gitlab/ssh_public_key_spec.rb1071spec/lib/banzai/filter/references/user_reference_filter_spec.rb1072spec/models/concerns/project_api_compatibility_spec.rb1073spec/services/projects/unlink_fork_service_spec.rb1074spec/helpers/tab_helper_spec.rb1075spec/models/concerns/integrations/has_data_fields_spec.rb1076spec/lib/gitlab/background_migration/backfill_namespace_traversal_ids_children_spec.rb1077spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb1078spec/lib/gitlab/git/branch_spec.rb1079spec/lib/gitlab/background_migration/copy_column_using_background_migration_job_spec.rb1080spec/lib/gitlab/git/diff_collection_spec.rb1081spec/services/search/group_service_spec.rb1082spec/lib/gitlab/ci/status/stage/factory_spec.rb1083spec/lib/gitlab/file_type_detection_spec.rb1084spec/metrics_server/metrics_server_spec.rb1085spec/lib/banzai/filter/references/reference_filter_spec.rb1086spec/serializers/ci/pipeline_entity_spec.rb1087spec/helpers/avatars_helper_spec.rb1088spec/serializers/stage_entity_spec.rb1089spec/views/projects/_home_panel.html.haml_spec.rb1090spec/lib/gitlab/background_migration/merge_topics_with_same_name_spec.rb1091spec/serializers/commit_entity_spec.rb1092spec/services/clusters/agents/refresh_authorization_service_spec.rb1093spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb1094spec/services/award_emojis/add_service_spec.rb1095spec/lib/gitlab/middleware/read_only_spec.rb1096spec/views/notify/pipeline_fixed_email.html.haml_spec.rb1097spec/lib/gitlab/github_import/representation/pull_request_spec.rb1098spec/lib/banzai/filter/sanitization_filter_spec.rb1099spec/services/integrations/test/project_service_spec.rb1100spec/models/hooks/active_hook_filter_spec.rb1101spec/tasks/gitlab/cleanup_rake_spec.rb1102spec/services/clusters/applications/upgrade_service_spec.rb1103spec/lib/gitlab_spec.rb1104spec/models/ci/build_trace_chunks/fog_spec.rb1105spec/graphql/types/global_id_type_spec.rb1106spec/graphql/types/user_type_spec.rb1107spec/lib/gitlab/database/load_balancing/connection_proxy_spec.rb1108spec/lib/gitlab/chat/responder/slack_spec.rb1109spec/uploaders/terraform/state_uploader_spec.rb1110spec/graphql/mutations/issues/create_spec.rb1111spec/lib/gitlab/git/push_spec.rb1112spec/services/jira_import/start_import_service_spec.rb1113spec/models/concerns/project_features_compatibility_spec.rb1114spec/tasks/gitlab/praefect_rake_spec.rb1115spec/services/projects/deploy_tokens/create_service_spec.rb1116spec/models/project_label_spec.rb1117spec/lib/gitlab/audit/auditor_spec.rb1118spec/lib/gitlab/ci/build/policy/changes_spec.rb1119spec/workers/prune_old_events_worker_spec.rb1120spec/lib/gitlab/github_import/importer/pull_requests_reviews_importer_spec.rb1121spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb1122spec/lib/gitlab/manifest_import/project_creator_spec.rb1123spec/services/ci/create_pipeline_service/tags_spec.rb1124spec/components/pajamas/alert_component_spec.rb1125spec/finders/feature_flags_finder_spec.rb1126spec/views/events/event/_push.html.haml_spec.rb1127spec/support_specs/helpers/html_escaped_helpers_spec.rb1128spec/lib/gitlab/database/count_spec.rb1129spec/finders/boards/boards_finder_spec.rb1130spec/lib/sidebars/projects/menus/deployments_menu_spec.rb1131spec/initializers/active_record_locking_spec.rb1132spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb1133spec/serializers/discussion_entity_spec.rb1134spec/lib/gitlab/github_import_spec.rb1135spec/models/network/graph_spec.rb1136spec/workers/destroy_pages_deployments_worker_spec.rb1137spec/services/ci/build_report_result_service_spec.rb1138spec/models/concerns/atomic_internal_id_spec.rb1139spec/lib/gitlab/ci/pipeline/expression/parser_spec.rb1140spec/services/repository_archive_clean_up_service_spec.rb1141spec/models/work_items/type_spec.rb1142spec/models/integrations/mock_ci_spec.rb1143spec/models/deploy_keys_project_spec.rb1144spec/lib/banzai/filter/wiki_link_filter_spec.rb1145spec/workers/bulk_imports/pipeline_worker_spec.rb1146spec/lib/gitlab/api_authentication/builder_spec.rb1147spec/services/web_hooks/log_destroy_service_spec.rb1148spec/models/identity_spec.rb1149spec/models/protected_branch/push_access_level_spec.rb1150spec/services/feature_flags/create_service_spec.rb1151spec/services/wiki_pages/event_create_service_spec.rb1152spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb1153spec/lib/gitlab/composer/cache_spec.rb1154spec/lib/gitlab/zoom_link_extractor_spec.rb1155spec/graphql/types/environment_type_spec.rb1156spec/services/incident_management/issuable_escalation_statuses/after_update_service_spec.rb1157spec/services/clusters/aws/finalize_creation_service_spec.rb1158spec/lib/gitlab/sanitizers/svg_spec.rbKnapsack report generator started!1159/builds/gitlab-org/gitlab/spec/support/shared_examples/quick_actions/issuable/issuable_quick_actions_shared_examples.rb:4: warning: already initialized constant QuickAction1160/builds/gitlab-org/gitlab/spec/support/shared_examples/quick_actions/issuable/issuable_quick_actions_shared_examples.rb:4: warning: previous definition of QuickAction was here1161Run options: exclude {:quarantine=>true, :level=>"migration"}1162Test environment set up in 1.626035507 seconds1163ApplicationSetting1164 example at ./spec/models/application_setting_spec.rb:121165 example at ./spec/models/application_setting_spec.rb:131166 is expected to eq nil1167 is expected to be valid1168 is expected to be present1169 is expected to have db column named auto_devops_enabled1170 behaves like sanitizable1171 includes Sanitizable1172 #default_branch_name1173 when input includes javascript tags1174 gets sanitized1175 #default_branch_name validation1176 when input contains pre-escaped html entities1177 is not valid1178 default values1179 is expected to eq 11180 is expected to eq {}1181 is expected to eq {}1182 validations1183 is expected to allow :home_page_url to be ‹nil›1184 is expected to allow :home_page_url to be ‹"http://example.com"›1185 is expected to allow :home_page_url to be ‹"https://example.com"›1186 is expected not to allow :home_page_url to be ‹"ftp://example.com"›1187 is expected to allow :after_sign_out_path to be ‹nil›1188 is expected to allow :after_sign_out_path to be ‹"http://example.com"›1189 is expected to allow :after_sign_out_path to be ‹"https://example.com"›1190 is expected not to allow :after_sign_out_path to be ‹"ftp://example.com"›1191 is expected to allow :commit_email_hostname to be ‹"dev.gitlab.com"›1192 is expected not to allow :commit_email_hostname to be ‹"@dev.gitlab"›1193 is expected to allow :container_expiration_policies_enable_historic_entries to be ‹true›1194 is expected to allow :container_expiration_policies_enable_historic_entries to be ‹false›1195 is expected not to allow :container_expiration_policies_enable_historic_entries to be ‹nil›1196 is expected to allow :lets_encrypt_notification_email to be ‹"myemail@gitlab.com"›1197 is expected to allow :lets_encrypt_notification_email to be ‹nil›1198 is expected not to allow :lets_encrypt_notification_email to be ‹"notanemail"›1199 is expected not to allow :lets_encrypt_notification_email to be ‹"myemail@example.com"›1200 is expected to allow :lets_encrypt_notification_email to be ‹"myemail@test.example.com"›1201 is expected to allow :outbound_local_requests_whitelist to be ‹["192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192...›1202 is expected not to allow :outbound_local_requests_whitelist to be ‹["192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192.168.1.1", "192...›1203 is expected to allow :outbound_local_requests_whitelist to be ‹["111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"]›1204 is expected not to allow :outbound_local_requests_whitelist to be ‹["1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"]›1205 is expected not to allow :outbound_local_requests_whitelist to be ‹["ğitlab.com"]›1206 is expected to allow :outbound_local_requests_whitelist to be ‹["xn--itlab-j1a.com"]›1207 is expected not to allow :outbound_local_requests_whitelist to be ‹["<h1></h1>"]›1208 is expected to allow :outbound_local_requests_whitelist to be ‹["gitlab.com"]›1209 is expected not to allow :outbound_local_requests_whitelist to be ‹nil›1210 is expected to allow :outbound_local_requests_whitelist to be ‹[]›1211 is expected to allow :static_objects_external_storage_url to be ‹nil›1212 is expected to allow :static_objects_external_storage_url to be ‹"http://example.com"›1213 is expected to allow :static_objects_external_storage_url to be ‹"https://example.com"›1214 is expected to allow :protected_paths to be ‹["/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/examp...›1215 is expected not to allow :protected_paths to be ‹["/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/example", "/examp...›1216 is expected not to allow :protected_paths to be ‹nil›1217 is expected to allow :protected_paths to be ‹[]›1218 is expected to allow :push_event_hooks_limit to be ‹3›1219 is expected not to allow :push_event_hooks_limit to be ‹"three"›1220 is expected not to allow :push_event_hooks_limit to be ‹nil›1221 is expected to allow :push_event_activities_limit to be ‹3›1222 is expected not to allow :push_event_activities_limit to be ‹"three"›1223 is expected not to allow :push_event_activities_limit to be ‹nil›1224 is expected to validate that :container_registry_delete_tags_service_timeout looks like an integer greater than or equal to 01225 is expected to validate that :container_registry_cleanup_tags_service_max_list_size looks like an integer greater than or equal to 01226 is expected to validate that :container_registry_expiration_policies_worker_capacity looks like an integer greater than or equal to 01227 is expected to allow :container_registry_expiration_policies_caching to be ‹true›1228 is expected to allow :container_registry_expiration_policies_caching to be ‹false›1229 is expected to validate that :container_registry_import_max_tags_count looks like an integer greater than or equal to 01230 is expected to validate that :container_registry_import_max_retries looks like an integer greater than or equal to 01231 is expected to validate that :container_registry_import_start_max_retries looks like an integer greater than or equal to 01232 is expected to validate that :container_registry_import_max_step_duration looks like an integer greater than or equal to 01233 is expected to validate that :container_registry_pre_import_timeout looks like an integer greater than or equal to 01234 is expected to validate that :container_registry_import_timeout looks like an integer greater than or equal to 01235 is expected to validate that :container_registry_pre_import_tags_rate looks like a number greater than or equal to 01236 is expected not to allow :container_registry_import_max_tags_count to be ‹nil›1237 is expected not to allow :container_registry_import_max_retries to be ‹nil›1238 is expected not to allow :container_registry_import_start_max_retries to be ‹nil›1239 is expected not to allow :container_registry_import_max_step_duration to be ‹nil›1240 is expected not to allow :container_registry_pre_import_timeout to be ‹nil›1241 is expected not to allow :container_registry_import_timeout to be ‹nil›1242 is expected not to allow :container_registry_pre_import_tags_rate to be ‹nil›1243 is expected to allow :container_registry_pre_import_tags_rate to be ‹1.5›1244 is expected to validate that :container_registry_import_target_plan cannot be empty/falsy1245 is expected to validate that :container_registry_import_created_before cannot be empty/falsy1246 is expected to validate that :dependency_proxy_ttl_group_policy_worker_capacity looks like an integer greater than or equal to 01247 is expected not to allow :dependency_proxy_ttl_group_policy_worker_capacity to be ‹nil›1248 is expected to validate that :packages_cleanup_package_file_worker_capacity looks like an integer greater than or equal to 01249 is expected not to allow :packages_cleanup_package_file_worker_capacity to be ‹nil›1250 is expected to validate that :package_registry_cleanup_policies_worker_capacity looks like an integer greater than or equal to 01251 is expected not to allow :package_registry_cleanup_policies_worker_capacity to be ‹nil›1252 is expected to validate that :snippet_size_limit looks like an integer greater than 01253 is expected to validate that :wiki_page_max_content_bytes looks like an integer greater than or equal to 10241254 is expected to validate that :max_artifacts_size cannot be empty/falsy1255 is expected to validate that :max_artifacts_size looks like an integer greater than 01256 is expected to validate that :max_yaml_size_bytes cannot be empty/falsy1257 is expected to validate that :max_yaml_size_bytes looks like an integer greater than 01258 is expected to validate that :max_yaml_depth cannot be empty/falsy1259 is expected to validate that :max_yaml_depth looks like an integer greater than 01260 is expected to validate that :max_pages_size cannot be empty/falsy1261 is expected to validate that :max_pages_custom_domains_per_project cannot be empty/falsy1262 ensures max_pages_size is an integer greater than 0 (or equal to 0 to indicate unlimited/maximum)1263 ensures max_pages_custom_domains_per_project is an integer greater than 0 (or equal to 0 to indicate unlimited/maximum)1264 is expected to validate that :jobs_per_stage_page_size cannot be empty/falsy1265 is expected to validate that :jobs_per_stage_page_size looks like an integer greater than or equal to 01266 is expected not to allow :minimum_password_length to be ‹7›1267 is expected not to allow :minimum_password_length to be ‹129›1268 is expected not to allow :minimum_password_length to be ‹nil›1269 is expected not to allow :minimum_password_length to be ‹"abc"›1270 is expected to allow :minimum_password_length to be ‹10›1271 is expected to allow :issues_create_limit to be ‹300›1272 is expected not to allow :issues_create_limit to be ‹"three"›1273 is expected not to allow :issues_create_limit to be ‹nil›1274 is expected not to allow :issues_create_limit to be ‹10.5›1275 is expected not to allow :issues_create_limit to be ‹-1›1276 is expected to allow :raw_blob_request_limit to be ‹0›1277 is expected not to allow :raw_blob_request_limit to be ‹"abc"›1278 is expected not to allow :raw_blob_request_limit to be ‹nil›1279 is expected not to allow :raw_blob_request_limit to be ‹10.5›1280 is expected not to allow :raw_blob_request_limit to be ‹-1›1281 is expected to allow :pipeline_limit_per_project_user_sha to be ‹0›1282 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹"abc"›1283 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹nil›1284 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹10.5›1285 is expected not to allow :pipeline_limit_per_project_user_sha to be ‹-1›1286 is expected not to allow :hashed_storage_enabled to be ‹false›1287 is expected to allow :repository_storages_weighted to be ‹{"default" => 0}›1288 is expected to allow :repository_storages_weighted to be ‹{"default" => 50}›1289 is expected to allow :repository_storages_weighted to be ‹{"default" => 100}›1290 is expected to allow :repository_storages_weighted to be ‹{"default" => "90"}›1291 is expected to allow :repository_storages_weighted to be ‹{"default" => nil}›1292 is expected not to allow :repository_storages_weighted to be ‹{"default" => -1}›, producing a custom validation error on failure1293 is expected not to allow :repository_storages_weighted to be ‹{"default" => 101}›, producing a custom validation error on failure1294 is expected not to allow :repository_storages_weighted to be ‹{"default" => 100, shouldntexist: 50}›, producing a custom validation error on failure1295 is expected to allow :notes_create_limit to be ‹400›1296 is expected not to allow :notes_create_limit to be ‹"two"›1297 is expected not to allow :notes_create_limit to be ‹nil›1298 is expected not to allow :notes_create_limit to be ‹5.5›1299 is expected not to allow :notes_create_limit to be ‹-2›1300 is expected to allow :search_rate_limit to be ‹400›1301 is expected not to allow :search_rate_limit to be ‹"two"›1302 is expected not to allow :search_rate_limit to be ‹nil›1303 is expected not to allow :search_rate_limit to be ‹5.5›1304 is expected not to allow :search_rate_limit to be ‹-2›1305 is expected to allow :search_rate_limit_unauthenticated to be ‹400›1306 is expected not to allow :search_rate_limit_unauthenticated to be ‹"two"›1307 is expected not to allow :search_rate_limit_unauthenticated to be ‹nil›1308 is expected not to allow :search_rate_limit_unauthenticated to be ‹5.5›1309 is expected not to allow :search_rate_limit_unauthenticated to be ‹-2›1310 is expected to allow :users_get_by_id_limit to be ‹400›1311 is expected not to allow :users_get_by_id_limit to be ‹"two"›1312 is expected not to allow :users_get_by_id_limit to be ‹nil›1313 is expected not to allow :users_get_by_id_limit to be ‹5.5›1314 is expected not to allow :users_get_by_id_limit to be ‹-2›1315 is expected to allow :notes_create_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›1316 is expected not to allow :notes_create_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›1317 is expected not to allow :notes_create_limit_allowlist to be ‹nil›1318 is expected to allow :notes_create_limit_allowlist to be ‹[]›1319 is expected to allow :users_get_by_id_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›1320 is expected not to allow :users_get_by_id_limit_allowlist to be ‹["username0", "username1", "username2", "username3", "username4", "username5", "username6", "username7", "username8", "username9", "username10", "username11", "username12", "username13", "username14", "username15", "username16", "username17", "username18", "username19", "username20", "username21", "username22", "username23", "username24", "username25", "username26", "username27", "username28", "username29", "username30", "username31", "username32", "username33", "username34", "username35", "user...›1321 is expected not to allow :users_get_by_id_limit_allowlist to be ‹nil›1322 is expected to allow :users_get_by_id_limit_allowlist to be ‹[]›1323 is expected to allow :whats_new_variant to be ‹"all_tiers"›1324 is expected to allow :whats_new_variant to be ‹"current_tier"›1325 is expected to allow :whats_new_variant to be ‹"disabled"›1326 is expected not to allow :whats_new_variant to be ‹nil›1327 is expected not to allow :valid_runner_registrars to be ‹[""]›1328 is expected not to allow :valid_runner_registrars to be ‹["OBVIOUSLY_WRONG"]›1329 is expected not to allow :valid_runner_registrars to be ‹["project", "project"]›1330 is expected not to allow :valid_runner_registrars to be ‹[nil]›1331 is expected not to allow :valid_runner_registrars to be ‹nil›1332 is expected to allow :valid_runner_registrars to be ‹[]›1333 is expected to allow :valid_runner_registrars to be ‹["project", "group"]›1334 is expected to allow :jira_connect_proxy_url to be ‹"http://example.com"›1335 is expected to allow :jira_connect_proxy_url to be ‹"https://example.com"›1336 is expected to validate that :max_attachment_size cannot be empty/falsy1337 is expected to validate that :max_attachment_size looks like an integer greater than 01338 is expected to validate that :max_export_size cannot be empty/falsy1339 is expected to validate that :max_export_size looks like an integer greater than or equal to 01340 is expected to validate that :max_import_size cannot be empty/falsy1341 is expected to validate that :max_import_size looks like an integer greater than or equal to 01342 is expected to validate that :local_markdown_version looks like an integer greater than or equal to 0 and less than 655361343 when deactivate_dormant_users is enabled1344 is expected not to allow :deactivate_dormant_users_period to be ‹nil›1345 is expected to allow :deactivate_dormant_users_period to be ‹90›1346 is expected to allow :deactivate_dormant_users_period to be ‹365›1347 is expected not to allow :deactivate_dormant_users_period to be ‹89›1348 help_page_documentation_base_url validations1349 is expected to allow :help_page_documentation_base_url to be ‹nil›1350 is expected to allow :help_page_documentation_base_url to be ‹"https://docs.gitlab.com"›1351 is expected to allow :help_page_documentation_base_url to be ‹"http://127.0.0.1"›1352 is expected not to allow :help_page_documentation_base_url to be ‹"docs.gitlab.com"›1353 when url length validation1354 when value string length is 255 characters1355 allows the value1356 when value string length exceeds 255 characters1357 does not allow the value1358 grafana_url validations1359 is expected to allow :grafana_url to be ‹"http://example.com"›1360 is expected to allow :grafana_url to be ‹"https://example.com"›1361 is expected not to allow :grafana_url to be ‹"ftp://example.com"›1362 is expected not to allow :grafana_url to be ‹"javascript:alert(window.opener.document.location)"›1363 is expected to allow :grafana_url to be ‹"/-/grafana"›1364 is expected to allow :grafana_url to be ‹"http://localhost:9000"›1365 when local URLs are not allowed in system hooks1366 is expected not to allow :grafana_url to be ‹"http://localhost:9000"›1367 is expected not to allow :jira_connect_proxy_url to be ‹"http://localhost:9000"›1368 with invalid grafana URL1369 adds an error1370 with blocked grafana URL1371 adds an error1372 default_branch_name validaitions1373 when javascript tags get sanitized properly1374 gets sanitized properly1375 spam_check_endpoint1376 when spam_check_endpoint is enabled1377 is expected to allow :spam_check_endpoint_url to be ‹"grpc://example.org/spam_check"›1378 is expected to allow :spam_check_endpoint_url to be ‹"tls://example.org/spam_check"›1379 is expected not to allow :spam_check_endpoint_url to be ‹"https://example.org/spam_check"›1380 is expected not to allow :spam_check_endpoint_url to be ‹"nonsense"›1381 is expected not to allow :spam_check_endpoint_url to be ‹nil›1382 is expected not to allow :spam_check_endpoint_url to be ‹""›1383 when spam_check_endpoint is NOT enabled1384 is expected to allow :spam_check_endpoint_url to be ‹"grpc://example.org/spam_check"›1385 is expected to allow :spam_check_endpoint_url to be ‹"tls://example.org/spam_check"›1386 is expected not to allow :spam_check_endpoint_url to be ‹"https://example.org/spam_check"›1387 is expected not to allow :spam_check_endpoint_url to be ‹"nonsense"›1388 is expected to allow :spam_check_endpoint_url to be ‹nil›1389 is expected to allow :spam_check_endpoint_url to be ‹""›1390 snowplow settings1391 when snowplow is enabled1392 is expected not to allow :snowplow_collector_hostname to be ‹nil›1393 is expected to allow :snowplow_collector_hostname to be ‹"snowplow.gitlab.com"›1394 is expected not to allow :snowplow_collector_hostname to be ‹"/example"›1395 when snowplow is not enabled1396 is expected to allow :snowplow_collector_hostname to be ‹nil›1397 when mailgun_events_enabled is enabled1398 is expected to validate that :mailgun_signing_key cannot be empty/falsy1399 is expected to validate that the length of :mailgun_signing_key is at most 2551400 when mailgun_events_enabled is not enabled1401 is expected not to validate that :mailgun_signing_key cannot be empty/falsy1402 when user accepted let's encrypt terms of service1403 is expected not to allow :lets_encrypt_notification_email to be ‹nil›1404 EKS integration1405 integration is disabled1406 is expected to allow :eks_account_id to be ‹nil›1407 is expected to allow :eks_access_key_id to be ‹nil›1408 is expected to allow :eks_secret_access_key to be ‹nil›1409 integration is enabled1410 is expected to allow :eks_account_id to be ‹"123456789012"›1411 is expected not to allow :eks_account_id to be ‹nil›1412 is expected not to allow :eks_account_id to be ‹"123"›1413 is expected not to allow :eks_account_id to be ‹"12345678901a"›1414 is expected to allow :eks_access_key_id to be ‹"access-key-id-12"›1415 is expected not to allow :eks_access_key_id to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›1416 is expected not to allow :eks_access_key_id to be ‹"short-key"›1417 is expected to allow :eks_access_key_id to be ‹nil›1418 is expected to allow :eks_secret_access_key to be ‹"secret-access-key"›1419 is expected to allow :eks_secret_access_key to be ‹nil›1420 access key is specified1421 is expected to allow :eks_secret_access_key to be ‹"secret-access-key"›1422 is expected not to allow :eks_secret_access_key to be ‹nil›1423 default_artifacts_expire_in1424 sets an error if it cannot parse1425 sets an error if it is blank1426 sets the value if it is valid1427 sets the value if it is 01428 usage_ping_enabled setting1429 when setting is in database1430 with usage_ping_enabled disabled1431 behaves like usage ping disabled1432 is expected to eq false1433 with usage_ping_enabled enabled1434 behaves like usage ping enabled1435 is expected to eq true1436 when setting is in GitLab config1437 with usage_ping_enabled disabled1438 behaves like usage ping disabled1439 is expected to eq false1440 with usage_ping_enabled enabled1441 behaves like usage ping enabled1442 is expected to eq true1443 when setting in database false and setting in GitLab config true1444 behaves like usage ping disabled1445 is expected to eq false1446 when setting database true and setting in GitLab config false1447 behaves like usage ping disabled1448 is expected to eq false1449 when setting database true and setting in GitLab config true1450 behaves like usage ping enabled1451 is expected to eq true1452 key restrictions1453 does not allow all key types to be disabled1454 #ensure_key_restrictions!1455 with non-compliant FIPS settings1456 in non-FIPS mode1457 keeps existing key restrictions1458 in FIPS mode1459 updates key restrictions to meet FIPS compliance1460 behaves like an object with email-formatted attributes1461 specifically its :abuse_notification_email attribute1462 with a value of 'info@example.com'1463 is valid1464 with a value of 'info+test@example.com'1465 is valid1466 with a value of 'o'reilly@example.com'1467 is valid1468 with a value of 'mailto:test@example.com'1469 is valid1470 with a value of 'lol!'+=?><#$%^&*()@gmail.com'1471 is valid1472 with a value of 'foobar'1473 is invalid1474 with a value of 'test@test@example.com'1475 is invalid1476 repository_storages is a String, not an Array1477 is expected to eq ["default"]1478 auto_devops_domain setting1479 when auto_devops_enabled? is true1480 can be blank1481 with a valid value1482 is valid1483 with an invalid value1484 is invalid1485 repository storages1486 inclusion1487 is expected to allow :repository_storages to be ‹"custom1"›1488 is expected to allow :repository_storages to be ‹["custom2", "custom3"]›1489 is expected not to allow :repository_storages to be ‹"alternative"›1490 is expected not to allow :repository_storages to be ‹["alternative", "custom1"]›1491 presence1492 is expected not to allow :repository_storages to be ‹[]›1493 is expected not to allow :repository_storages to be ‹""›1494 is expected not to allow :repository_storages to be ‹nil›1495 housekeeping settings1496 is expected not to allow :housekeeping_incremental_repack_period to be ‹0›1497 wants the full repack period to be at least the incremental repack period1498 wants the gc period to be at least the full repack period1499 allows the same period for incremental repack and full repack, effectively skipping incremental repack1500 allows the same period for full repack and gc, effectively skipping full repack1501 gitaly timeouts1502 validates that the default_timeout is lower than the max_request_duration1503 is expected to validate that :gitaly_timeout_default looks like an integer greater than or equal to 01504 is expected to validate that :gitaly_timeout_medium looks like an integer greater than or equal to 01505 is expected to validate that :gitaly_timeout_fast looks like an integer greater than or equal to 01506 validates that gitaly_timeout_medium is lower than timeout_default1507 validates that gitaly_timeout_fast is lower than timeout_default1508 accepts all timeouts equal1509 accepts timeouts in descending order1510 rejects timeouts in ascending order1511 rejects medium timeout larger than default1512 rejects medium timeout smaller than fast1513 does not prevent from saving when gitaly timeouts were previously invalid1514 enforcing terms1515 requires the terms to present when enforcing users to accept1516 is valid when terms are created1517 when external authorization service is enabled1518 is expected not to allow :external_authorization_service_url to be ‹"not a URL"›1519 is expected to allow :external_authorization_service_url to be ‹"https://example.com"›1520 is expected to allow :external_authorization_service_url to be ‹""›1521 is expected not to allow :external_authorization_service_default_label to be ‹nil›1522 is expected not to allow :external_authorization_service_timeout to be ‹11›1523 is expected not to allow :external_authorization_service_timeout to be ‹0›1524 is expected not to allow :external_auth_client_cert to be ‹"not a certificate"›1525 is expected to allow :external_auth_client_cert to be ‹""›1526 is expected to allow :external_auth_client_key to be ‹""›1527 when setting a valid client certificate for external authorization1528 requires a valid client key when a certificate is set1529 requires a matching certificate1530 the credentials are valid when the private key can be read and matches the certificate1531 asset proxy settings1532 #asset_proxy_url1533 is expected not to allow :asset_proxy_url to be ‹""›1534 is expected to allow :asset_proxy_url to be ‹"http://example.com"›1535 is expected to allow :asset_proxy_url to be ‹"https://example.com"›1536 is expected not to allow :asset_proxy_url to be ‹"ftp://example.com"›1537 is not required when asset proxy is disabled1538 #asset_proxy_secret_key1539 is expected not to allow :asset_proxy_secret_key to be ‹""›1540 is expected to allow :asset_proxy_secret_key to be ‹"anything"›1541 is not required when asset proxy is disabled1542 is encrypted1543 #asset_proxy_whitelist1544 when given an Array1545 sets the domains and adds current running host1546 when given a String1547 sets multiple domains with spaces1548 sets multiple domains with newlines and a space1549 sets multiple domains with commas1550 #asset_proxy_allowlist1551 when given an Array1552 sets the domains and adds current running host1553 when given a String1554 sets multiple domains with spaces1555 sets multiple domains with newlines and a space1556 sets multiple domains with commas1557 #ci_jwt_signing_key1558 is expected not to allow :ci_jwt_signing_key to be ‹""›1559 is expected not to allow :ci_jwt_signing_key to be ‹"invalid RSA key"›1560 is expected to allow :ci_jwt_signing_key to be ‹nil›1561 is expected to allow :ci_jwt_signing_key to be ‹"-----BEGIN RSA PRIVATE KEY-----\nMIICXwIBAAKBgQDPtf8y611W766ovVQYdMXDTFniEWOuPcSZ8AmWPP50Lus7mavd\n2jRhIg4wNhWf9fWIafb+asL2uE3LmSbzttc3pD0LZkcdy8h5TALYZw4JMXRIjjD+\nzRM99MF/7TBTpX/SpKR93afXzEJ06ld9XjHdGUVDlzvX1XvzsYbMY2z55QIDAQAB\nAoGBAMj53De0rNfVijYTGy+erUvOsJmhIcYSVgxsyZno4nwgedNtWXKME2p4vSnA\n6yOfpTec8DQzsPlwUzXQtnPSUmHwurycJN4EckVzWo4fS7apEsmsa0Xtwz9yBmTn\nfyG306zNRBp7SA6bx/bAwkq2egYUSZlKMNXnthmpmGyy1cSBAkEA+GIafJX4AxZd\nl4QEVNKW7xPs+jxLGTGbxfpBP4ShEY3qIw7Ypn5OK/gVQTPfzeaKS/l/9tLzLJsR\niEvB...›1562 is encrypted1563 #customers_dot_jwt_signing_key1564 is expected not to allow :customers_dot_jwt_signing_key to be ‹""›1565 is expected not to allow :customers_dot_jwt_signing_key to be ‹"invalid RSA key"›1566 is expected to allow :customers_dot_jwt_signing_key to be ‹nil›1567 is expected to allow :customers_dot_jwt_signing_key to be ‹"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC0UIDhv58Zqq+MhOyGXDXOj27GMELRa4I6qQzfVX6Wv6tDEIms\ne1gGWeY5PMOHq2YfzN/ZPi8eV5uzph1c7Yjwf6dj/oLKJemZLm2Wm0VAS51bKczb\nfrkFAK9IWMu9HyWQG5CKE69tOSoh1h8hcZyltfhznczIuzjKfDIK+u74vQIDAQAB\nAoGAAqvqrO2U4uF3hmJ1yqvVFEFlx8PxSX8JR+s3SJvQq1UdqXm2QHr3W+i7E4AF\n+Z2dfr0fV+2m7xEnOmsspjLSw48Lo2AFkEFEDyWgdkwsupOd5YI+QucvCnmRo6ZS\nv99+EhrVop7kenib+lbwiG0fED2l9rx916i3y4m3FeNe5nUCQQDr8TJbjdTamcph\nyHPd1IP6P1aASYKnk7UjnSIjaMhzU3ejQcp2o+yY2wk170/Lbbh7CPQHIstjgQuv\ntA46...›1568 is encrypted1569 #cloud_license_auth_token1570 is expected to allow :cloud_license_auth_token to be ‹nil›1571 is encrypted1572 static objects external storage1573 when URL is set1574 is expected not to allow :static_objects_external_storage_auth_token to be ‹nil›1575 sourcegraph settings1576 is invalid if sourcegraph is enabled and no url is provided1577 gitpod settings1578 is invalid if gitpod is enabled and no url is provided1579 is invalid if gitpod is enabled and an empty url is provided1580 is invalid if gitpod is enabled and an invalid url is provided1581 throttle_* settings1582 throttle_setting: :throttle_unauthenticated_api_requests_per_period1583 is expected to allow :throttle_unauthenticated_api_requests_per_period to be ‹3›1584 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹-3›1585 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹0›1586 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹"three"›1587 is expected not to allow :throttle_unauthenticated_api_requests_per_period to be ‹nil›1588 throttle_setting: :throttle_unauthenticated_api_period_in_seconds1589 is expected to allow :throttle_unauthenticated_api_period_in_seconds to be ‹3›1590 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹-3›1591 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹0›1592 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹"three"›1593 is expected not to allow :throttle_unauthenticated_api_period_in_seconds to be ‹nil›1594 throttle_setting: :throttle_unauthenticated_requests_per_period1595 is expected to allow :throttle_unauthenticated_requests_per_period to be ‹3›1596 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹-3›1597 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹0›1598 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹"three"›1599 is expected not to allow :throttle_unauthenticated_requests_per_period to be ‹nil›1600 throttle_setting: :throttle_unauthenticated_period_in_seconds1601 is expected to allow :throttle_unauthenticated_period_in_seconds to be ‹3›1602 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹-3›1603 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹0›1604 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹"three"›1605 is expected not to allow :throttle_unauthenticated_period_in_seconds to be ‹nil›1606 throttle_setting: :throttle_authenticated_api_requests_per_period1607 is expected to allow :throttle_authenticated_api_requests_per_period to be ‹3›1608 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹-3›1609 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹0›1610 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹"three"›1611 is expected not to allow :throttle_authenticated_api_requests_per_period to be ‹nil›1612 throttle_setting: :throttle_authenticated_api_period_in_seconds1613 is expected to allow :throttle_authenticated_api_period_in_seconds to be ‹3›1614 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹-3›1615 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹0›1616 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹"three"›1617 is expected not to allow :throttle_authenticated_api_period_in_seconds to be ‹nil›1618 throttle_setting: :throttle_authenticated_web_requests_per_period1619 is expected to allow :throttle_authenticated_web_requests_per_period to be ‹3›1620 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹-3›1621 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹0›1622 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹"three"›1623 is expected not to allow :throttle_authenticated_web_requests_per_period to be ‹nil›1624 throttle_setting: :throttle_authenticated_web_period_in_seconds1625 is expected to allow :throttle_authenticated_web_period_in_seconds to be ‹3›1626 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹-3›1627 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹0›1628 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹"three"›1629 is expected not to allow :throttle_authenticated_web_period_in_seconds to be ‹nil›1630 throttle_setting: :throttle_unauthenticated_packages_api_requests_per_period1631 is expected to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹3›1632 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹-3›1633 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹0›1634 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹"three"›1635 is expected not to allow :throttle_unauthenticated_packages_api_requests_per_period to be ‹nil›1636 throttle_setting: :throttle_unauthenticated_packages_api_period_in_seconds1637 is expected to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹3›1638 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹-3›1639 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹0›1640 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹"three"›1641 is expected not to allow :throttle_unauthenticated_packages_api_period_in_seconds to be ‹nil›1642 throttle_setting: :throttle_authenticated_packages_api_requests_per_period1643 is expected to allow :throttle_authenticated_packages_api_requests_per_period to be ‹3›1644 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹-3›1645 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹0›1646 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹"three"›1647 is expected not to allow :throttle_authenticated_packages_api_requests_per_period to be ‹nil›1648 throttle_setting: :throttle_authenticated_packages_api_period_in_seconds1649 is expected to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹3›1650 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹-3›1651 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹0›1652 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹"three"›1653 is expected not to allow :throttle_authenticated_packages_api_period_in_seconds to be ‹nil›1654 throttle_setting: :throttle_unauthenticated_files_api_requests_per_period1655 is expected to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹3›1656 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹-3›1657 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹0›1658 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹"three"›1659 is expected not to allow :throttle_unauthenticated_files_api_requests_per_period to be ‹nil›1660 throttle_setting: :throttle_unauthenticated_files_api_period_in_seconds1661 is expected to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹3›1662 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹-3›1663 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹0›1664 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹"three"›1665 is expected not to allow :throttle_unauthenticated_files_api_period_in_seconds to be ‹nil›1666 throttle_setting: :throttle_authenticated_files_api_requests_per_period1667 is expected to allow :throttle_authenticated_files_api_requests_per_period to be ‹3›1668 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹-3›1669 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹0›1670 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹"three"›1671 is expected not to allow :throttle_authenticated_files_api_requests_per_period to be ‹nil›1672 throttle_setting: :throttle_authenticated_files_api_period_in_seconds1673 is expected to allow :throttle_authenticated_files_api_period_in_seconds to be ‹3›1674 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹-3›1675 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹0›1676 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹"three"›1677 is expected not to allow :throttle_authenticated_files_api_period_in_seconds to be ‹nil›1678 throttle_setting: :throttle_unauthenticated_deprecated_api_requests_per_period1679 is expected to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹3›1680 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹-3›1681 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹0›1682 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹"three"›1683 is expected not to allow :throttle_unauthenticated_deprecated_api_requests_per_period to be ‹nil›1684 throttle_setting: :throttle_unauthenticated_deprecated_api_period_in_seconds1685 is expected to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹3›1686 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹-3›1687 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹0›1688 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹"three"›1689 is expected not to allow :throttle_unauthenticated_deprecated_api_period_in_seconds to be ‹nil›1690 throttle_setting: :throttle_authenticated_deprecated_api_requests_per_period1691 is expected to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹3›1692 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹-3›1693 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹0›1694 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹"three"›1695 is expected not to allow :throttle_authenticated_deprecated_api_requests_per_period to be ‹nil›1696 throttle_setting: :throttle_authenticated_deprecated_api_period_in_seconds1697 is expected to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹3›1698 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹-3›1699 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹0›1700 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹"three"›1701 is expected not to allow :throttle_authenticated_deprecated_api_period_in_seconds to be ‹nil›1702 throttle_setting: :throttle_authenticated_git_lfs_requests_per_period1703 is expected to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹3›1704 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹-3›1705 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹0›1706 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹"three"›1707 is expected not to allow :throttle_authenticated_git_lfs_requests_per_period to be ‹nil›1708 throttle_setting: :throttle_authenticated_git_lfs_period_in_seconds1709 is expected to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹3›1710 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹-3›1711 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹0›1712 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹"three"›1713 is expected not to allow :throttle_authenticated_git_lfs_period_in_seconds to be ‹nil›1714 sidekiq job limiter settings1715 has the right defaults1716 is expected to allow :sidekiq_job_limiter_mode to be ‹"track"›1717 is expected to validate that :sidekiq_job_limiter_compression_threshold_bytes looks like an integer greater than or equal to 01718 is expected to validate that :sidekiq_job_limiter_limit_bytes looks like an integer greater than or equal to 01719 prometheus settings1720 validates metrics_method_call_threshold1721 error tracking settings1722 with error tracking disabled1723 is expected to allow :error_tracking_api_url to be ‹nil›1724 with error tracking enabled1725 is expected to allow :error_tracking_api_url to be ‹"http://example.com"›1726 is expected to allow :error_tracking_api_url to be ‹"https://example.com"›1727 is expected not to allow :error_tracking_api_url to be ‹"ftp://example.com"›1728 is expected to validate that :error_tracking_api_url cannot be empty/falsy1729 for default_preferred_language1730 is expected to allow :default_preferred_language to be ‹"bg"›, ‹"cs_CZ"›, ‹"da_DK"›, ‹"de"›, ‹"en"›, ‹"eo"›, ‹"es"›, ‹"fil_PH"›, ‹"fr"›, ‹"gl_ES"›, ‹"id_ID"›, ‹"it"›, ‹"ja"›, ‹"ko"›, ‹"nb_NO"›, ‹"nl_NL"›, ‹"pl_PL"›, ‹"pt_BR"›, ‹"ro_RO"›, ‹"ru"›, ‹"si_LK"›, ‹"tr_TR"›, ‹"uk"›, ‹"zh_CN"›, ‹"zh_HK"›, or ‹"zh_TW"›1731 is expected not to allow :default_preferred_language to be ‹nil›, ‹""›, or ‹"invalid_locale"›1732 restrict creating duplicates1733 returns the current settings1734 when ApplicationSettings does not have a primary key1735 raises an exception1736 #disabled_oauth_sign_in_sources=1737 removes unknown sources (as strings) from the array1738 removes unknown sources (as symbols) from the array1739 ignores nil1740 performance bar settings1741 performance_bar_allowed_group1742 with no performance_bar_allowed_group_id saved1743 returns nil1744 with a performance_bar_allowed_group_id saved1745 returns the group1746 performance_bar_enabled1747 with the Performance Bar is enabled1748 returns true1749 diff limit settings1750 #diff_max_patch_bytes1751 validations1752 is expected to validate that :diff_max_patch_bytes cannot be empty/falsy1753 is expected to validate that :diff_max_patch_bytes looks like an integer greater than or equal to 204800 and less than or equal to 5120001754 #diff_max_files1755 validations1756 is expected to validate that :diff_max_files cannot be empty/falsy1757 is expected to validate that :diff_max_files looks like an integer greater than or equal to 1000 and less than or equal to 30001758 #diff_max_lines1759 validations1760 is expected to validate that :diff_max_lines cannot be empty/falsy1761 is expected to validate that :diff_max_lines looks like an integer greater than or equal to 50000 and less than or equal to 1000001762 #sourcegraph_url_is_com?1763 url: "https://sourcegraph.com", is_com: true1764 matches the url with sourcegraph.com1765 url: "https://sourcegraph.com/", is_com: true1766 matches the url with sourcegraph.com1767 url: "https://www.sourcegraph.com", is_com: true1768 matches the url with sourcegraph.com1769 url: "shttps://www.sourcegraph.com", is_com: false1770 matches the url with sourcegraph.com1771 url: "https://sourcegraph.example.com/", is_com: false1772 matches the url with sourcegraph.com1773 url: "https://sourcegraph.org/", is_com: false1774 matches the url with sourcegraph.com1775 #instance_review_permitted?1776 users_over_minimum: -11777 is expected to equal false1778 users_over_minimum: 01779 is expected to equal true1780 users_over_minimum: 11781 is expected to equal true1782 email_restrictions1783 when email restrictions are enabled1784 allows empty email restrictions1785 accepts valid email restrictions regex1786 does not accept invalid email restrictions regex1787 sets an error when regex is not valid1788 when email restrictions are disabled1789 allows empty email restrictions1790 invalid regex is not valid1791 behaves like application settings examples1792 predicate method changes when value is updated1793 restricted signup domains1794 behaves like string of domains1795 sets single domain1796 sets multiple domains with spaces1797 sets multiple domains with newlines and a space1798 sets multiple domains with commas1799 sets multiple domains with semicolon1800 sets multiple domains with mixture of everything1801 removes duplicates1802 does not fail with garbage values1803 does not raise error with nil1804 denied signup domains1805 sets multiple domain with file1806 behaves like string of domains1807 sets single domain1808 sets multiple domains with spaces1809 sets multiple domains with newlines and a space1810 sets multiple domains with commas1811 sets multiple domains with semicolon1812 sets multiple domains with mixture of everything1813 removes duplicates1814 does not fail with garbage values1815 does not raise error with nil1816 outbound_local_requests_whitelist1817 clears outbound_local_requests_allowlist_arrays memoization1818 behaves like string of domains1819 sets single domain1820 sets multiple domains with spaces1821 sets multiple domains with newlines and a space1822 sets multiple domains with commas1823 sets multiple domains with semicolon1824 sets multiple domains with mixture of everything1825 removes duplicates1826 does not fail with garbage values1827 does not raise error with nil1828 outbound_local_requests_allowlist_arrays1829 separates the IPs and domains1830 add_to_outbound_local_requests_whitelist1831 adds entry to outbound_local_requests_whitelist1832 clears outbound_local_requests_allowlist_arrays memoization1833 does not raise error with nil1834 does not raise error with nil1835 usage ping settings1836 when the usage ping is disabled in gitlab.yml1837 does not allow the usage ping to be configured1838 when the usage ping is disabled in the DB1839 returns false for usage_ping_enabled1840 when the usage ping is enabled in the DB1841 returns false for usage_ping_enabled1842 when the usage ping is enabled in gitlab.yml1843 allows the usage ping to be configured1844 when the usage ping is disabled in the DB1845 returns false for usage_ping_enabled1846 when the usage ping is enabled in the DB1847 returns true for usage_ping_enabled1848 #allowed_key_types1849 excludes disabled key types1850 in non-FIPS mode1851 includes all key types by default1852 in FIPS mode1853 excludes DSA from supported key types1854 #key_restriction_for1855 returns the restriction value for recognised types1856 allows types to be passed as a string1857 returns forbidden for unrecognised type1858 #allow_signup?1859 returns true1860 returns false if signup is disabled1861 returns false if password authentication is disabled for the web interface1862 #pick_repository_storage1863 chooses repository based on weight1864 #normalized_repository_storage_weights1865 config_storages: ["default", "backup"], storages: {"default"=>0, "backup"=>100}, normalized: {"default"=>0.0, "backup"=>1.0}1866 normalizes storage weights1867 config_storages: ["default", "backup"], storages: {"default"=>100, "backup"=>100}, normalized: {"default"=>0.5, "backup"=>0.5}1868 normalizes storage weights1869 config_storages: ["default", "backup"], storages: {"default"=>20, "backup"=>80}, normalized: {"default"=>0.2, "backup"=>0.8}1870 normalizes storage weights1871 config_storages: ["default", "backup"], storages: {"default"=>0, "backup"=>0}, normalized: {"default"=>0.0, "backup"=>0.0}1872 normalizes storage weights1873 config_storages: ["default"], storages: {"default"=>0, "backup"=>100}, normalized: {"default"=>0.0}1874 normalizes storage weights1875 config_storages: ["default"], storages: {"default"=>100, "backup"=>100}, normalized: {"default"=>1.0}1876 normalizes storage weights1877 config_storages: ["default"], storages: {"default"=>20, "backup"=>80}, normalized: {"default"=>1.0}1878 normalizes storage weights1879 #user_default_internal_regex_enabled?1880 user_default_external: false, user_default_internal_regex: nil, result: false1881 is expected to eq false1882 user_default_external: false, user_default_internal_regex: "", result: false1883 is expected to eq false1884 user_default_external: false, user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?\\n?", result: false1885 is expected to eq false1886 user_default_external: true, user_default_internal_regex: "", result: false1887 is expected to eq false1888 user_default_external: true, user_default_internal_regex: nil, result: false1889 is expected to eq false1890 user_default_external: true, user_default_internal_regex: "^(?:(?!\\.ext@).)*$\\r?\\n?", result: true1891 is expected to eq true1892 #archive_builds_older_than1893 when the archive_builds_in_seconds is set1894 is expected to be within 60 of 2022-11-10 23:58:14.177974394 +00001895 when the archive_builds_in_seconds is set1896 is expected to be nil1897 #commit_email_hostname1898 when the value is provided1899 returns the provided value1900 when the value is not provided1901 returns the default from the class1902 kroki_format_supported?1903 returns true when Excalidraw is enabled1904 returns true when BlockDiag is enabled1905 returns false when BlockDiag is disabled1906 returns false when the diagram type is optional and not enabled1907 returns true when the diagram type is enabled by default1908 returns false when the diagram type is unknown1909 kroki_formats1910 returns the value for kroki_formats1911 #static_objects_external_storage_auth_token=1912 stores an encrypted version of the token1913 when token is empty1914 removes an encrypted version of the token1915 with plaintext token only1916 ignores the plaintext token1917 #database_grafana_api_key1918 is encrypted1919 inactive project deletion1920 validates that inactive_projects_send_warning_email_after_months is less than inactive_projects_delete_after_months1921 is expected to validate that :inactive_projects_send_warning_email_after_months looks like a number greater than 01922 is expected to validate that :inactive_projects_delete_after_months looks like a number greater than 01923 is expected to validate that :inactive_projects_min_size_mb looks like a number greater than or equal to 01924 deletes the redis key used for tracking inactive projects deletion warning emails when setting is updated1925 personal accesss token prefix1926 sets the correct default value1927 .personal_access_tokens_disabled?1928 is false1929Gitlab::Middleware::Go1930 #call1931 when go-get=01932 skips go-import generation1933 when go-get=11934 with SSH disabled1935 with simple 2-segment project path1936 with subpackages1937 returns the full project path1938 without subpackages1939 returns the full project path1940 with a nested project path1941 with subpackages1942 behaves like a nested project1943 when the project is public1944 returns the full project path1945 when the project is private1946 when not authenticated1947 behaves like unauthorized1948 returns the 2-segment group path1949 when authenticated1950 using basic auth1951 using a personal access token1952 with api scope1953 behaves like authenticated1954 with access to the project1955 returns the full project path1956 with an empty ssh_user1957 returns the full project path1958 without access to the project1959 behaves like unauthorized1960 returns the 2-segment group path1961 with user is blocked1962 behaves like unauthorized1963 returns the 2-segment group path1964 with read_user scope1965 behaves like unauthorized1966 returns the 2-segment group path1967 with a blacklisted ip1968 returns forbidden1969 when a personal access token is missing1970 returns unauthorized1971 with a subpackage that is not a valid project path1972 behaves like a nested project1973 when the project is public1974 returns the full project path1975 when the project is private1976 when not authenticated1977 behaves like unauthorized1978 returns the 2-segment group path1979 when authenticated1980 using basic auth1981 using a personal access token1982 with api scope1983 behaves like authenticated1984 with access to the project1985 returns the full project path1986 with an empty ssh_user1987 returns the full project path1988 without access to the project1989 behaves like unauthorized1990 returns the 2-segment group path1991 with user is blocked1992 behaves like unauthorized1993 returns the 2-segment group path1994 with read_user scope1995 behaves like unauthorized1996 returns the 2-segment group path1997 with a blacklisted ip1998 returns forbidden1999 when a personal access token is missing2000 returns unauthorized2001 without subpackages2002 behaves like a nested project2003 when the project is public2004 returns the full project path2005 when the project is private2006 when not authenticated2007 behaves like unauthorized2008 returns the 2-segment group path2009 when authenticated2010 using basic auth2011 using a personal access token2012 with api scope2013 behaves like authenticated2014 with access to the project2015 returns the full project path2016 with an empty ssh_user2017 returns the full project path2018 without access to the project2019 behaves like unauthorized2020 returns the 2-segment group path2021 with user is blocked2022 behaves like unauthorized2023 returns the 2-segment group path2024 with read_user scope2025 behaves like unauthorized2026 returns the 2-segment group path2027 with a blacklisted ip2028 returns forbidden2029 when a personal access token is missing2030 returns unauthorized2031 with a bogus path2032 skips go-import generation2033 with a public project without a repository2034 returns 4042035 with a non-standard head2036 returns the full project path2037 with HTTP disabled2038 with simple 2-segment project path2039 with subpackages2040 returns the full project path2041 without subpackages2042 returns the full project path2043 with a nested project path2044 with subpackages2045 behaves like a nested project2046 when the project is public2047 returns the full project path2048 when the project is private2049 when not authenticated2050 behaves like unauthorized2051 returns the 2-segment group path2052 when authenticated2053 using basic auth2054 using a personal access token2055 with api scope2056 behaves like authenticated2057 with access to the project2058 returns the full project path2059 with an empty ssh_user2060 returns the full project path2061 without access to the project2062 behaves like unauthorized2063 returns the 2-segment group path2064 with user is blocked2065 behaves like unauthorized2066 returns the 2-segment group path2067 with read_user scope2068 behaves like unauthorized2069 returns the 2-segment group path2070 with a blacklisted ip2071 returns forbidden2072 when a personal access token is missing2073 returns unauthorized2074 with a subpackage that is not a valid project path2075 behaves like a nested project2076 when the project is public2077 returns the full project path2078 when the project is private2079 when not authenticated2080 behaves like unauthorized2081 returns the 2-segment group path2082 when authenticated2083 using basic auth2084 using a personal access token2085 with api scope2086 behaves like authenticated2087 with access to the project2088 returns the full project path2089 with an empty ssh_user2090 returns the full project path2091 without access to the project2092 behaves like unauthorized2093 returns the 2-segment group path2094 with user is blocked2095 behaves like unauthorized2096 returns the 2-segment group path2097 with read_user scope2098 behaves like unauthorized2099 returns the 2-segment group path2100 with a blacklisted ip2101 returns forbidden2102 when a personal access token is missing2103 returns unauthorized2104 without subpackages2105 behaves like a nested project2106 when the project is public2107 returns the full project path2108 when the project is private2109 when not authenticated2110 behaves like unauthorized2111 returns the 2-segment group path2112 when authenticated2113 using basic auth2114 using a personal access token2115 with api scope2116 behaves like authenticated2117 with access to the project2118 returns the full project path2119 with an empty ssh_user2120 returns the full project path2121 without access to the project2122 behaves like unauthorized2123 returns the 2-segment group path2124 with user is blocked2125 behaves like unauthorized2126 returns the 2-segment group path2127 with read_user scope2128 behaves like unauthorized2129 returns the 2-segment group path2130 with a blacklisted ip2131 returns forbidden2132 when a personal access token is missing2133 returns unauthorized2134 with a bogus path2135 skips go-import generation2136 with a public project without a repository2137 returns 4042138 with a non-standard head2139 returns the full project path2140 with nothing disabled2141 with simple 2-segment project path2142 with subpackages2143 returns the full project path2144 without subpackages2145 returns the full project path2146 with a nested project path2147 with subpackages2148 behaves like a nested project2149 when the project is public2150 returns the full project path2151 when the project is private2152 when not authenticated2153 behaves like unauthorized2154 returns the 2-segment group path2155 when authenticated2156 using basic auth2157 using a personal access token2158 with api scope2159 behaves like authenticated2160 with access to the project2161 returns the full project path2162 with an empty ssh_user2163 returns the full project path2164 without access to the project2165 behaves like unauthorized2166 returns the 2-segment group path2167 with user is blocked2168 behaves like unauthorized2169 returns the 2-segment group path2170 with read_user scope2171 behaves like unauthorized2172 returns the 2-segment group path2173 with a blacklisted ip2174 returns forbidden2175 when a personal access token is missing2176 returns unauthorized2177 with a subpackage that is not a valid project path2178 behaves like a nested project2179 when the project is public2180 returns the full project path2181 when the project is private2182 when not authenticated2183 behaves like unauthorized2184 returns the 2-segment group path2185 when authenticated2186 using basic auth2187 using a personal access token2188 with api scope2189 behaves like authenticated2190 with access to the project2191 returns the full project path2192 with an empty ssh_user2193 returns the full project path2194 without access to the project2195 behaves like unauthorized2196 returns the 2-segment group path2197 with user is blocked2198 behaves like unauthorized2199 returns the 2-segment group path2200 with read_user scope2201 behaves like unauthorized2202 returns the 2-segment group path2203 with a blacklisted ip2204 returns forbidden2205 when a personal access token is missing2206 returns unauthorized2207 without subpackages2208 behaves like a nested project2209 when the project is public2210 returns the full project path2211 when the project is private2212 when not authenticated2213 behaves like unauthorized2214 returns the 2-segment group path2215 when authenticated2216 using basic auth2217 using a personal access token2218 with api scope2219 behaves like authenticated2220 with access to the project2221 returns the full project path2222 with an empty ssh_user2223 returns the full project path2224 without access to the project2225 behaves like unauthorized2226 returns the 2-segment group path2227 with user is blocked2228 behaves like unauthorized2229 returns the 2-segment group path2230 with read_user scope2231 behaves like unauthorized2232 returns the 2-segment group path2233 with a blacklisted ip2234 returns forbidden2235 when a personal access token is missing2236 returns unauthorized2237 with a bogus path2238 skips go-import generation2239 with a public project without a repository2240 returns 4042241 with a non-standard head2242 returns the full project path2243 with nothing disabled (blank string)2244 with simple 2-segment project path2245 with subpackages2246 returns the full project path2247 without subpackages2248 returns the full project path2249 with a nested project path2250 with subpackages2251 behaves like a nested project2252 when the project is public2253 returns the full project path2254 when the project is private2255 when not authenticated2256 behaves like unauthorized2257 returns the 2-segment group path2258 when authenticated2259 using basic auth2260 using a personal access token2261 with api scope2262 behaves like authenticated2263 with access to the project2264 returns the full project path2265 with an empty ssh_user2266 returns the full project path2267 without access to the project2268 behaves like unauthorized2269 returns the 2-segment group path2270 with user is blocked2271 behaves like unauthorized2272 returns the 2-segment group path2273 with read_user scope2274 behaves like unauthorized2275 returns the 2-segment group path2276 with a blacklisted ip2277 returns forbidden2278 when a personal access token is missing2279 returns unauthorized2280 with a subpackage that is not a valid project path2281 behaves like a nested project2282 when the project is public2283 returns the full project path2284 when the project is private2285 when not authenticated2286 behaves like unauthorized2287 returns the 2-segment group path2288 when authenticated2289 using basic auth2290 using a personal access token2291 with api scope2292 behaves like authenticated2293 with access to the project2294 returns the full project path2295 with an empty ssh_user2296 returns the full project path2297 without access to the project2298 behaves like unauthorized2299 returns the 2-segment group path2300 with user is blocked2301 behaves like unauthorized2302 returns the 2-segment group path2303 with read_user scope2304 behaves like unauthorized2305 returns the 2-segment group path2306 with a blacklisted ip2307 returns forbidden2308 when a personal access token is missing2309 returns unauthorized2310 without subpackages2311 behaves like a nested project2312 when the project is public2313 returns the full project path2314 when the project is private2315 when not authenticated2316 behaves like unauthorized2317 returns the 2-segment group path2318 when authenticated2319 using basic auth2320 using a personal access token2321 with api scope2322 behaves like authenticated2323 with access to the project2324 returns the full project path2325 with an empty ssh_user2326 returns the full project path2327 without access to the project2328 behaves like unauthorized2329 returns the 2-segment group path2330 with user is blocked2331 behaves like unauthorized2332 returns the 2-segment group path2333 with read_user scope2334 behaves like unauthorized2335 returns the 2-segment group path2336 with a blacklisted ip2337 returns forbidden2338 when a personal access token is missing2339 returns unauthorized2340 with a bogus path2341 skips go-import generation2342 with a public project without a repository2343 returns 4042344 with a non-standard head2345 returns the full project path2346MergeRequests::CreateFromIssueService2347 #execute2348 no target_project_id specified2349 inherits labels2350 inherits milestones2351 sets the merge request title to: "Draft: Resolves "$issue-title"2352 behaves like a service that creates a merge request from an issue2353 returns an error when user can not create merge request on target project2354 returns an error with invalid issue iid2355 creates a branch based on issue title2356 creates a branch using passed name2357 creates the new_merge_request system note2358 tracks the mr creation when the mr is valid2359 creates the new_issue_branch system note when the branch could be created but the merge_request cannot be created2360 does not track the mr creation when the Mr is invalid2361 creates a merge request2362 sets the merge request author to current user and assigns them2363 sets the merge request source branch to the new issue branch2364 sets the merge request source branch to the passed branch name2365 sets the merge request target branch to the project default branch2366 executes quick actions if the build service sets them in the description2367 when ref branch is set2368 sets the merge request source branch to the new issue branch2369 sets the merge request target branch to the ref branch2370 when the ref is a tag2371 sets the merge request source branch to the new issue branch2372 creates a merge request2373 sets the merge request target branch to the project default branch2374 when ref branch does not exist2375 creates a merge request2376 sets the merge request target branch to the project default branch2377 target_project_id is specified2378 target project is not a fork of the project2379 returns an error about not finding the project2380 does not create merge request2381 target project is a fork of project project2382 sets the merge request title to: "Draft: $issue-branch-name2383 behaves like a service that creates a merge request from an issue2384 returns an error when user can not create merge request on target project2385 returns an error with invalid issue iid2386 creates a branch based on issue title2387 creates a branch using passed name2388 creates the new_merge_request system note2389 tracks the mr creation when the mr is valid2390 creates the new_issue_branch system note when the branch could be created but the merge_request cannot be created2391 does not track the mr creation when the Mr is invalid2392 creates a merge request2393 sets the merge request author to current user and assigns them2394 sets the merge request source branch to the new issue branch2395 sets the merge request source branch to the passed branch name2396 sets the merge request target branch to the project default branch2397 executes quick actions if the build service sets them in the description2398 when ref branch is set2399 sets the merge request source branch to the new issue branch2400 sets the merge request target branch to the ref branch2401 when the ref is a tag2402 sets the merge request source branch to the new issue branch2403 creates a merge request2404 sets the merge request target branch to the project default branch2405 when ref branch does not exist2406 creates a merge request2407 sets the merge request target branch to the project default branch2408MergeRequests::CreateService2409 #execute2410 valid params2411 creates an MR2412 executes hooks with default action2413 refreshes the number of open merge requests2414 creates exactly 1 create MR event2415 sets the merge_status to preparing2416 when marked with /draft2417 in title and in description2418 sets MR to draft2419 in description only2420 sets MR to draft2421 when merge request is assigned to someone2422 is expected to eq [#<User id:252 @user178>]2423 when reviewer is assigned2424 is expected to eq [#<User id:255 @user180>]2425 invalidates counter cache for reviewers2426 when head pipelines already exist for merge request source branch2427 sets head pipeline2428 when the new pipeline is associated with an old sha2429 sets an old pipeline with associated with the latest sha as the head pipeline2430 when there are no pipelines with the diff head sha2431 does not set the head pipeline2432 Pipelines for merge requests2433 when .gitlab-ci.yml has merge_requests keywords2434 creates a detached merge request pipeline and sets it as a head pipeline2435 when merge request is submitted from forked project2436 create detached merge request pipeline for fork merge request2437 when there are no commits between source branch and target branch2438 does not create a detached merge request pipeline2439 when branch pipeline was created before a merge request pipline has been created2440 sets the latest detached merge request pipeline as the head pipeline2441 when .gitlab-ci.yml does not have merge_requests keywords2442 does not create a detached merge request pipeline2443 when .gitlab-ci.yml is invalid2444 persists a pipeline with config error2445 after_save callback to store_mentions2446 when mentionable attributes change2447 saves mentions2448 when mentionable attributes do not change2449 does not call store_mentions2450 when save fails2451 does not call store_mentions2452 behaves like reviewer_ids filter2453 filter_reviewer2454 without reviewer_ids2455 contains no reviewer_ids2456 with reviewer_ids2457 when the current user can admin the merge_request2458 with a reviewer who can read the merge_request2459 contains reviewers who can read the merge_request2460 when the current_user cannot admin the merge_request2461 contains no reviewers2462 when called in a transaction2463 does not raise an error2464 behaves like issuable record that supports quick actions2465 with labels in command only2466 attaches labels to issuable2467 with labels in params and command2468 attaches all labels to issuable2469 with assignee and milestone in command only2470 assigns and sets milestone to issuable2471 Quick actions2472 with assignee and milestone in params and command2473 assigns and sets milestone to issuable from command2474 merge request create service2475 asssignee_id2476 removes assignee_id when user id is invalid2477 removes assignee_id when user id is 02478 saves assignee when user id is valid2479 when assignee is set2480 invalidates open merge request counter for assignees when merge request is assigned2481 when issuable feature is private2482 removes not authorized assignee when project is Internal2483 removes not authorized assignee when project is Public2484 behaves like when source and target projects are different2485 when user can not access source project2486 raises an error2487 when user can not access target project2488 raises an error2489 when the user has access to both projects2490 does not create the merge request when the target project is archived2491 when async_merge_request_diff_creation is enabled2492 creates the merge request2493 when async_merge_request_diff_creation is disabled2494 creates the merge request2495 when user sets source project id2496 ignores source_project_id2497Mentionable2498 references2499 excludes Jira references2500Issue Mentionable2501 #mentioned_users2502 is expected to contain exactly #<User id:357 @stranger>2503 when a note on personal snippet2504 is expected to contain exactly #<User id:361 @stranger> and #<User id:363 @jim>2505 #referenced_mentionables2506 with an issue on a private project2507 when the current user can see the issue2508 includes the reference2509 when the current user cannot see the issue2510 does not include the reference2511 when there is no current user2512 does not include the reference2513 #create_cross_references!2514 correctly removes already-mentioned Commits2515 #create_new_cross_references!2516 before changes are persisted2517 ignores pre-existing references2518 notifies new references2519 after changes are persisted2520 ignores pre-existing references2521 notifies new references2522 notifies new references from project snippet note2523 #store_mentions!2524 behaves like mentions in description2525 when storing user mentions2526 when mentionable description has no mentions2527 stores no mentions2528 when mentionable description contains mentions2529 stores mentions2530 behaves like mentions in notes2531 when mentionable notes contain mentions2532 returns all mentionable mentions2533 and note is confidential2534 returns only mentioned users that has permissions2535 load mentions2536 behaves like load mentions from DB2537 load stored mentions2538 when stored user mention contains ids of inexistent records2539 filters out inexistent mentions2540 and note is confidential2541 stores only mentioned users that has permissions2542 when private projects and groups are mentioned2543 when user has no access to some mentions2544 filters out inaccessible mentions2545 when user has access to all mentions2546 returns all mentions2547Commit Mentionable2548 #matches_cross_reference_regex?2549 is false when message doesn't reference anything2550 is true if issue #number mentioned in title2551 is true if references an MR2552 is true if references a commit2553 is true if issue referenced by url2554 with external issue tracker2555 is true if external issues referenced2556 is true if internal issues referenced2557 #store_mentions!2558 behaves like mentions in notes2559 when mentionable notes contain mentions2560 returns all mentionable mentions2561 load mentions2562 behaves like load mentions from DB2563 load stored mentions2564 when stored user mention contains ids of inexistent records2565 filters out inexistent mentions2566 when private projects and groups are mentioned2567 when user has no access to some mentions2568 filters out inaccessible mentions2569 when user has access to all mentions2570 returns all mentions2571MergeRequest Mentionable2572 #store_mentions!2573 behaves like mentions in description2574 when storing user mentions2575 when mentionable description has no mentions2576 stores no mentions2577 when mentionable description contains mentions2578 stores mentions2579 behaves like mentions in notes2580 when mentionable notes contain mentions2581 returns all mentionable mentions2582 load mentions2583 behaves like load mentions from DB2584 load stored mentions2585 when stored user mention contains ids of inexistent records2586 filters out inexistent mentions2587 when private projects and groups are mentioned2588 when user has no access to some mentions2589 filters out inaccessible mentions2590 when user has access to all mentions2591 returns all mentions2592Snippet Mentionable2593 #store_mentions!2594 behaves like mentions in description2595 when storing user mentions2596 when mentionable description has no mentions2597 stores no mentions2598 when mentionable description contains mentions2599 stores mentions2600 behaves like mentions in notes2601 when mentionable notes contain mentions2602 returns all mentionable mentions2603 load mentions2604 behaves like load mentions from DB2605 load stored mentions2606 when stored user mention contains ids of inexistent records2607 filters out inexistent mentions2608 when private projects and groups are mentioned2609 when user has no access to some mentions2610 filters out inaccessible mentions2611 when user has access to all mentions2612 returns all mentions2613PersonalSnippet Mentionable2614 #store_mentions!2615 behaves like mentions in description2616 when storing user mentions2617 when mentionable description has no mentions2618 stores no mentions2619 when mentionable description contains mentions2620 stores mentions2621 behaves like mentions in notes2622 when mentionable notes contain mentions2623 returns all mentionable mentions2624 load mentions2625 behaves like load mentions from DB2626 load stored mentions2627 when stored user mention contains ids of inexistent records2628 filters out inexistent mentions2629 when private projects and groups are mentioned2630 when user has no access to some mentions2631 filters out inaccessible mentions2632 when user has access to all mentions2633 returns all mentions2634DesignManagement::Design2635 #store_mentions!2636 behaves like mentions in notes2637 when mentionable notes contain mentions2638 returns all mentionable mentions2639 load mentions2640 behaves like load mentions from DB2641 load stored mentions2642 when stored user mention contains ids of inexistent records2643 filters out inexistent mentions2644 when private projects and groups are mentioned2645 when user has no access to some mentions2646 filters out inaccessible mentions2647 when user has access to all mentions2648 returns all mentions2649Ci::Runner2650 behaves like having unique enum values2651 has unique values in "access_level"2652 has unique values in "runner_type"2653 has unique values in "executor_type"2654 behaves like it has loose foreign keys2655 has at least one loose foreign key definition2656 has the deletion trigger present2657 records record deletions2658 cleans up record deletions2659 groups association2660 does not create a cross-database query2661 projects association2662 does not create a cross-database query2663 acts_as_taggable2664 on save2665 tag does not exist2666 creates a tag2667 creates an association to the tag2668 tag already exists2669 does not create a tag2670 creates an association to the tag2671 validation2672 is expected to validate that :access_level cannot be empty/falsy2673 is expected to validate that :runner_type cannot be empty/falsy2674 when runner is not allowed to pick untagged jobs2675 when runner does not have tags2676 is not valid2677 when runner has too many tags2678 is not valid2679 when runner has tags2680 is valid2681 #exactly_one_group2682 disallows assigning group if already assigned to a group2683 runner_type validations2684 disallows assigning group to project_type runner2685 disallows assigning group to instance_type runner2686 disallows assigning project to group_type runner2687 disallows assigning project to instance_type runner2688 fails to save a group assigned to a project runner even if the runner is already saved2689 when runner has config2690 is valid2691 when runner has an invalid config2692 is invalid2693 cost factors validations2694 disallows :private_projects_minutes_cost_factor being nil2695 disallows :public_projects_minutes_cost_factor being nil2696 disallows :private_projects_minutes_cost_factor being negative2697 disallows :public_projects_minutes_cost_factor being negative2698 constraints2699 .UPDATE_CONTACT_COLUMN_EVERY2700 #access_level2701 when creating new runner and access_level is nil2702 object is invalid2703 when creating new runner and access_level is defined in enum2704 object is valid2705 when creating new runner and access_level is not defined in enum2706 raises an error2707 .instance_type2708 returns only shared runners2709 .belonging_to_project2710 returns the specific project runner2711 when use_traversal_ids* are enabled2712 behaves like .belonging_to_parent_group_of_project2713 returns the specific group runner2714 with a parent group with a runner2715 returns the group runner from the group and the parent group2716 with multiple project ids2717 raises ArgumentError2718 when use_traversal_ids* are disabled2719 behaves like .belonging_to_parent_group_of_project2720 returns the specific group runner2721 with a parent group with a runner2722 returns the group runner from the group and the parent group2723 with multiple project ids2724 raises ArgumentError2725 with instance runners sharing enabled2726 .owned_or_instance_wide2727 returns a globally shared, a project specific and a group specific runner2728 .group_or_instance_wide2729 returns a globally shared and a group specific runner2730 with instance runners sharing disabled2731 .owned_or_instance_wide2732 with group runners disabled2733 returns only the project specific runner2734 with group runners enabled2735 returns a project specific and a group specific runner2736 .group_or_instance_wide2737 returns a group specific runner2738 #display_name2739 returns the description if it has a value2740 returns the token if it does not have a description2741 returns the token if the description is an empty string2742 #only_for2743 with matching project2744 is expected to be truthy2745 without matching project2746 is expected to be falsey2747 with runner having multiple projects2748 is expected to be falsey2749 #assign_to2750 with shared_runner2751 raises an error2752 with group runner2753 raises an error2754 with project runner2755 assigns runner to project2756 .recent2757Skipping ./spec/models/ci/runner_spec.rb[1:18:1] 'Ci::Runner.recent ' because it's flaky.2758 example at ./spec/models/ci/runner_spec.rb:492 (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)2759 .active2760 with active_value set to false2761 returns inactive runners2762 with active_value set to true2763 returns active runners2764 .paused2765 returns inactive runners2766 .stale2767 returns stale runners2768 #stale?2769 table tests2770 created_at: nil, contacted_at: nil, expected_stale?: false2771 no cache value2772 is expected to eq false2773 with cache value2774 is expected to eq false2775 created_at: Thu, 11 Aug 2022 00:55:23.697555769 UTC +00:00, contacted_at: Thu, 11 Aug 2022 00:55:24.696749158 UTC +00:00, expected_stale?: true2776 no cache value2777 is expected to eq true2778 with cache value2779 is expected to eq true2780 created_at: Thu, 11 Aug 2022 00:55:23.697842639 UTC +00:00, contacted_at: Thu, 11 Aug 2022 01:55:24.697911899 UTC +00:00, expected_stale?: false2781 no cache value2782 is expected to eq false2783 with cache value2784 is expected to eq false2785 created_at: Thu, 11 Aug 2022 00:55:23.697964979 UTC +00:00, contacted_at: nil, expected_stale?: true2786 no cache value2787 is expected to eq true2788 with cache value2789 is expected to eq true2790 created_at: Thu, 11 Aug 2022 01:55:24.698007359 UTC +00:00, contacted_at: nil, expected_stale?: false2791 no cache value2792 is expected to eq false2793 with cache value2794 is expected to eq false2795 .online2796 is expected to contain exactly #<Ci::Runner id: 40, token: nil, created_at: "2022-11-11 01:04:08.369667745 +0000", updated_at: "2022..., executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], tag_list: nil>2797 #online?2798 no cache value2799 never contacted2800 is expected to be falsey2801 contacted long time ago2802 is expected to be falsey2803 contacted 1s ago2804 is expected to be truthy2805 with cache value2806 contacted long time ago2807 is expected to be falsey2808 contacted 1s ago2809 is expected to be truthy2810 .offline2811 is expected to eq [#<Ci::Runner id: 41, token: nil, created_at: "2022-11-11 01:04:08.541017751 +0000", updated_at: "202... executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], tag_list: nil>]2812 #matches_build?2813 when runner does not have tags2814 is expected to be truthy2815 cannot handle build with tags2816 when runner has tags2817 when runner can pick untagged jobs2818 is expected to be truthy2819 behaves like tagged build picker2820 can handle build with matching tags2821 cannot handle build without matching tags2822 when runner cannot pick untagged jobs2823 is expected to be falsey2824 behaves like tagged build picker2825 can handle build with matching tags2826 cannot handle build without matching tags2827 when runner is shared2828 is expected to be truthy2829 does not query for owned or instance runners2830 when runner is locked2831 is expected to be truthy2832 when runner is not shared2833 when runner is assigned to a project2834 is expected to be truthy2835 when runner is assigned to a group2836 is expected to be truthy2837 knows namespace id it is assigned to2838 when access_level of runner is not_protected2839 when build is protected2840 is expected to be truthy2841 when build is unprotected2842 is expected to be truthy2843 when access_level of runner is ref_protected2844 when build is protected2845 is expected to be truthy2846 when build is unprotected2847 is expected to be falsey2848 matches tags2849 run_untagged: true, runner_tags: [], build_tags: [], result: true2850 is expected to eq true2851 run_untagged: true, runner_tags: [], build_tags: ["a"], result: false2852 is expected to eq false2853 run_untagged: true, runner_tags: ["a", "b"], build_tags: ["a"], result: true2854 is expected to eq true2855 run_untagged: true, runner_tags: ["a"], build_tags: ["a", "b"], result: false2856 is expected to eq false2857 run_untagged: true, runner_tags: ["a"], build_tags: ["a"], result: true2858 is expected to eq true2859 run_untagged: false, runner_tags: ["a"], build_tags: ["a"], result: true2860 is expected to eq true2861 run_untagged: false, runner_tags: ["b"], build_tags: ["a"], result: false2862 is expected to eq false2863 run_untagged: false, runner_tags: ["a", "b"], build_tags: ["a"], result: true2864 is expected to eq true2865 #status2866 never connected2867 with legacy_mode enabled2868 is expected to eq :stale2869 with legacy_mode disabled2870 is expected to eq :stale2871 created recently2872 is expected to eq :never_contacted2873 inactive but online2874 with legacy_mode enabled2875 is expected to eq :paused2876 with legacy_mode disabled2877 is expected to eq :online2878 contacted 1s ago2879 is expected to eq :online2880 contacted recently2881 is expected to eq :offline2882 contacted long time ago2883 with legacy_mode enabled2884 is expected to eq :stale2885 with legacy_mode disabled2886 is expected to eq :stale2887 #deprecated_rest_status2888 never connected2889 is expected to eq :never_contacted2890 contacted 1s ago2891 is expected to eq :online2892 contacted long time ago2893 is expected to eq :stale2894 inactive2895 is expected to eq :paused2896 #tick_runner_queue2897 returns a new last_update value2898 sticks the runner to the primary and calls the original method2899 #ensure_runner_queue_value2900 sets a new last_update value when it is called the first time2901 does not change if it is not expired and called again2902 updates runner queue after changing editable value2903 sets a new last_update value2904 does not update runner value after save2905 has an old last_update value2906 #heartbeat2907 when database was updated recently2908 updates cache2909 when database was not updated recently2910 updates redis cache and database2911 with invalid runner2912 still updates redis cache and database2913 with unchanged runner version2914 does not schedule ci_runner_versions update2915 with custom executor2916 updates with expected executor type2917 with shell executor2918 updates with expected executor type2919 with docker executor2920 updates with expected executor type2921 with docker-windows executor2922 updates with expected executor type2923 with docker-ssh executor2924 updates with expected executor type2925 with ssh executor2926 updates with expected executor type2927 with parallels executor2928 updates with expected executor type2929 with virtualbox executor2930 updates with expected executor type2931 with docker+machine executor2932 updates with expected executor type2933 with docker-ssh+machine executor2934 updates with expected executor type2935 with kubernetes executor2936 updates with expected executor type2937 with some-unknown-type executor2938 updates with expected executor type2939 #destroy2940 when there is a tick in the queue2941 cleans up the queue2942 .assignable_for2943 with already assigned project2944 is expected to be empty2945 with a different project2946 is expected to include #<Ci::Runner id: 96, token: nil, created_at: "2022-11-11 01:04:17.389122887 +0000", updated_at: "2022..., executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], tag_list: nil>2947 is expected not to include #<Ci::Runner id: 98, token: nil, created_at: "2022-11-11 01:04:17.443437422 +0000", updated_at: "2022..., executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], tag_list: nil>2948 is expected not to include #<Ci::Runner id: 97, token: nil, created_at: "2022-11-11 01:04:17.411903415 +0000", updated_at: "2022..., executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], tag_list: nil>2949 is expected not to include #<Ci::Runner id: 99, token: nil, created_at: "2022-11-11 01:04:17.454716602 +0000", updated_at: "2022..., executor_type: nil, maintainer_note: nil, token_expires_at: nil, allowed_plans: [], tag_list: nil>2950 Project-related queries2951 #owner_project2952 with project1 as first project associated with runner2953 is expected to eq #<Project id:344 namespace210/project345>>2954 with project2 as first project associated with runner2955 is expected to eq #<Project id:345 namespace211/project346>>2956 #belongs_to_one_project?2957 returns false if there are two projects runner is assigned to2958 returns true if there is only one project runner is assigned to2959 #belongs_to_more_than_one_project?2960 project runner2961 two projects assigned to runner2962 returns true2963 one project assigned to runner2964 returns false2965 group runner2966 returns false2967 shared runner2968 returns false2969 #save_tags2970 saves tags2971 strips tags2972 with BulkInsertableTags.with_bulk_insert_tags2973 does not save_tags2974 over TAG_LIST_MAX_LENGTH2975 fails validation if over tag limit2976 #has_tags?2977 when runner has tags2978 is expected to have tags2979 when runner does not have tags2980 is expected not to have tags2981 .search2982 returns runners with a matching token2983 does not return runners with a partially matching token2984 does not return runners with a matching token with different casing2985 returns runners with a matching description2986 returns runners with a partially matching description2987 returns runners with a matching description regardless of the casing2988 #pick_build!2989 runner can pick the build2990 calls #tick_runner_queue2991 runner cannot pick the build2992 does not call #tick_runner_queue2993 project runner without projects is destroyable2994 does not have projects2995 can be destroyed2996 .order_by2997 supports ordering by the contact date2998 supports ordering by the creation date2999 supports ordering by the token expiration3000 .runner_matchers3001 deduplicates on runner_type3002 creates two matchers3003 deduplicates on public_projects_minutes_cost_factor3004 creates two matchers3005 deduplicates on private_projects_minutes_cost_factor3006 creates two matchers3007 deduplicates on run_untagged3008 creates two matchers3009 deduplicates on access_level3010 creates two matchers3011 deduplicates on tag_list3012 creates two matchers3013 with runner_ids3014 includes runner_ids3015 #runner_matcher3016 is expected to eq [1001]3017 is expected to eq "instance_type"3018 is expected to eq 0.03019 is expected to eq 1.03020 is expected to eq true3021 is expected to eq "not_protected"3022 is expected to contain exactly "tag1" and "tag2"3023 #uncached_contacted_at3024 is expected to eq 2022-11-11 00:04:21.000000000 +00003025 Group-related queries3026 .belonging_to_group3027 with scope set to top_level_group3028 returns the group runners from the top_level_group3029 with scope set to child_group3030 returns the group runners from the child_group3031 .belonging_to_group_and_ancestors3032 returns the group runners from the group and parent group3033 .belonging_to_group_or_project_descendants3034 with scope set to top_level_group3035 returns the expected group and project runners without duplicates3036 with scope set to child_group3037 returns the expected group and project runners without duplicates3038 .usable_from_scope3039 with scope set to top_level_group3040 returns all runners usable from top_level_group without duplicates3041 with scope set to child_group3042 returns all runners usable from child_group3043 with scope set to other_top_level_group3044 returns all runners usable from other_top_level_group3045 #token_expires_at3046 no expiration3047 behaves like non-expiring token3048 does not expire3049 system-wide shared expiration3050 behaves like expiring token3051 expires3052 system-wide group expiration3053 behaves like non-expiring token3054 does not expire3055 system-wide project expiration3056 behaves like non-expiring token3057 does not expire3058 group expiration3059 behaves like expiring token3060 expires3061 human-readable group expiration3062 behaves like expiring token3063 expires3064 project expiration3065 behaves like expiring token3066 expires3067 human-readable project expiration3068 behaves like expiring token3069 expires3070 multiple projects3071 behaves like expiring token3072 expires3073 with project runner token expiring3074 project overrides system3075 behaves like expiring token3076 expires3077 system overrides project3078 behaves like expiring token3079 expires3080 with group runner token expiring3081 group overrides system3082 behaves like expiring token3083 expires3084 system overrides group3085 behaves like expiring token3086 expires3087 with group's project runner token expiring3088 parent group overrides subgroup3089 behaves like expiring token3090 expires3091 subgroup overrides parent group3092 behaves like expiring token3093 expires3094 with group's project runner token expiring3095 group overrides project3096 behaves like expiring token3097 expires3098 project overrides group3099 behaves like expiring token3100 expires3101 #with_upgrade_status3102 :not_available3103 returns runners whose version is assigned :not_available3104 :available3105 returns runners whose version is assigned :available3106 :recommended3107 returns runners whose version is assigned :recommended3108 composed with other scopes3109 returns runner matching the composed scope3110Notes::CreateService3111 #execute3112 valid params3113 returns a valid note3114 returns a persisted note3115 note has valid content3116 note belongs to the correct project3117 TodoService#new_note is called3118 enqueues NewNoteWorker3119 with internal parameter3120 when confidential3121 returns a confidential note3122 when not confidential3123 returns a confidential note3124 with confidential parameter3125 when confidential3126 returns a confidential note3127 when not confidential3128 returns a confidential note3129 with confidential and internal parameter set3130 prefers the internal parameter3131 issue is an incident3132 behaves like an incident management tracked event3133 .track_event3134 tracks the event using redis3135 event tracking3136 tracks issue comment usage data3137 does not track merge request usage data3138 behaves like issue_edit snowplow tracking3139 behaves like Snowplow event tracking3140 is not emitted if FF is disabled3141 is emitted3142 in a merge request3143 noteable highlight cache clearing3144 does not track issue comment usage data3145 tracks merge request usage data3146 clears noteable diff cache when it was unfolded for the note position3147 does not clear cache when note is not the first of the discussion3148 note diff file3149 when eligible to have a note diff file3150 note is associated with a note diff file3151 does not track ipynb note usage data3152 when skip_capture_diff_note_position execute option is set to true3153 does not execute Discussions::CaptureDiffNotePositionService3154 is ipynb file3155 :ipynbdiff_notes_tracker is off3156 does not track ipynb note usage data3157 :ipynbdiff_notes_tracker is on3158 tracks ipynb diff note creation3159 when DiffNote is a reply3160 note is not associated with a note diff file3161 when DiffNote from an image3162 note is not associated with a note diff file3163 note with commands3164 all quick actions3165 for issues3166 behaves like issuable quick actions3167 when user can update issuable3168 saves the note and updates the issue3169 when user cannot update issuable3170 applies commands that user can execute3171 for merge requests3172 behaves like issuable quick actions3173 when user can update issuable3174 saves the note and updates the issue3175 when user cannot update issuable3176 applies commands that user can execute3177 when note only have commands3178 adds commands applied message to note errors3179 adds commands failed message to note errors3180 generates success and failed error messages3181 personal snippet note3182 returns a valid note3183 returns a persisted note3184 note has valid content3185 design note3186 can create diff notes for designs3187 sends a notification about this note3188 correctly builds the position of the note3189 note with emoji only3190 creates regular note3191 reply to individual note3192 creates a DiscussionNote in reply to existing note3193 converts existing note to DiscussionNote3194 returns a DiscussionNote with its parent discussion refreshed correctly3195 failure in when_saved3196 converts existing note to DiscussionNote3197 discussion to reply cannot be found3198 returns an note with errors3199 usage counter3200 snippet note3201 increments usage counter3202 does not increment usage counter when creation fails3203 issue note3204 does not increment usage counter3205Issues::CreateService3206 behaves like rate limited service3207 .rate_limiter_scoped_and_keyed3208 is set via the rate_limit call3209 #rate_limiter_bypassed3210 is nil by default3211 #execute3212 when rate limiting is in effect3213 when too many requests are sent by one user3214 raises an error3215 creates 1 issue3216 when limit is higher than count of issues being created3217 creates 2 issues3218 #execute3219 when params are invalid3220 returns an error service response3221 when params are valid3222 works if base work item types were not created yet3223 creates the issue with the given params3224 calls NewIssueWorker with correct arguments3225 refreshes the number of open issues3226 moves the issue to the end, in an asynchronous worker3227 executes issue hooks when issue is not confidential3228 executes confidential issue hooks when issue is confidential3229 schedules a namespace onboarding create action worker3230 when an unauthorized project_id is provided3231 ignores the project_id param and creates issue in the given project3232 authorization3233 when the user is authorized3234 allows the user to create an issue3235 when the user is not authorized3236 does not allow the user to create an issue3237 when a build_service is provided3238 uses the provided service to build the issue3239 when skip_system_notes is true3240 does not call Issuable::CommonSystemNotesService3241 when setting a position3242 sets the correct relative position3243 behaves like not an incident issue3244 has not incident as issue type3245 when issue is incident type3246 as reporter3247 calls IncidentManagement::Incidents::CreateEscalationStatusService3248 calls IncidentManagement::TimelineEvents::CreateService.create_incident3249 calls NewIssueWorker with correct arguments3250 behaves like incident issue3251 has incident as issue type3252 when invalid3253 does not apply an incident label prematurely3254 as guest3255 behaves like not an incident issue3256 has not incident as issue type3257 when current user cannot set issue metadata in the project3258 filters out params that cannot be set without the :set_issue_metadata permission3259 can create confidential issues3260 when label belongs to project group3261 assigns group labels3262 when label belongs to different project3263 does not assign label3264 when labels is nil3265 does not assign label3266 when labels is nil and label_ids is present3267 assigns group labels3268 when milestone belongs to different project3269 does not assign milestone3270 when assignee is set3271 invalidates open issues counter for assignees when issue is assigned3272 when duplicate label titles are given3273 assigns the label once3274 when sentry identifier is given3275 does not assign the sentry error3276 user is reporter or above3277 assigns the sentry error3278 after_save callback to store_mentions3279 when mentionable attributes change3280 saves mentions3281 when save fails3282 does not call store_mentions3283 issue create service3284 assignees3285 removes assignee when user id is invalid3286 removes assignee when user id is 03287 saves assignee when user id is valid3288 when issuable feature is private3289 removes not authorized assignee when project is Internal3290 removes not authorized assignee when project is Public3291 behaves like issuable record that supports quick actions3292 with labels in command only3293 attaches labels to issuable3294 with labels in params and command3295 attaches all labels to issuable3296 with assignee and milestone in command only3297 assigns and sets milestone to issuable3298 Quick actions3299 with assignee, milestone, and contact in params and command3300 assigns, sets milestone, and sets contact to issuable from command3301 with external_author3302 when CRM contact exists with matching e-mail3303 with permission3304 assigns contact to issue3305 without permission3306 does not assign contact to issue3307 when no CRM contact exists with matching e-mail3308 does not assign contact to issue3309 with alert bot author3310 can apply labels3311 resolving discussions3312 for a single discussion3313 resolves the discussion3314 added a system note to the discussion3315 sets default title and description values if not provided3316 takes params from the request over the default values3317 for a merge request3318 resolves the discussion3319 added a system note to the discussion3320 sets default title and description values if not provided3321 takes params from the request over the default values3322 add related issue3323 ignores related issue if not accessible3324 when user has access to the related issue3325 adds a link to the issue3326 checking spam3327 executes SpamActionService3328Tooling::Danger::ProjectHelper3329 #categories_for_file3330 path: "glfm_specification/example_snapshots/prosemirror_json.yml", expected_categories: [:frontend]3331 is expected to eq [:frontend]3332 path: "glfm_specification/input/glfm_anything.yml", expected_categories: [:frontend, :backend]3333 is expected to eq [:frontend, :backend]3334 path: "usage_data.rb", expected_categories: [:database, :backend, :product_intelligence]3335 is expected to eq [:database, :backend, :product_intelligence]3336 path: "doc/foo.md", expected_categories: [:docs]3337 is expected to eq [:docs]3338 path: "CONTRIBUTING.md", expected_categories: [:docs]3339 is expected to eq [:docs]3340 path: "LICENSE", expected_categories: [:docs]3341 is expected to eq [:docs]3342 path: "MAINTENANCE.md", expected_categories: [:docs]3343 is expected to eq [:docs]3344 path: "PHILOSOPHY.md", expected_categories: [:docs]3345 is expected to eq [:docs]3346 path: "PROCESS.md", expected_categories: [:docs]3347 is expected to eq [:docs]3348 path: "README.md", expected_categories: [:docs]3349 is expected to eq [:docs]3350 path: "ee/doc/foo", expected_categories: [:unknown]3351 is expected to eq [:unknown]3352 path: "ee/README", expected_categories: [:unknown]3353 is expected to eq [:unknown]3354 path: "app/assets/foo", expected_categories: [:frontend]3355 is expected to eq [:frontend]3356 path: "app/views/foo", expected_categories: [:frontend, :backend]3357 is expected to eq [:frontend, :backend]3358 path: "public/foo", expected_categories: [:frontend]3359 is expected to eq [:frontend]3360 path: "scripts/frontend/foo", expected_categories: [:frontend]3361 is expected to eq [:frontend]3362 path: "spec/frontend/bar", expected_categories: [:frontend]3363 is expected to eq [:frontend]3364 path: "spec/frontend_integration/bar", expected_categories: [:frontend]3365 is expected to eq [:frontend]3366 path: "vendor/assets/foo", expected_categories: [:frontend]3367 is expected to eq [:frontend]3368 path: "babel.config.js", expected_categories: [:frontend]3369 is expected to eq [:frontend]3370 path: "jest.config.js", expected_categories: [:frontend]3371 is expected to eq [:frontend]3372 path: "package.json", expected_categories: [:frontend]3373 is expected to eq [:frontend]3374 path: "yarn.lock", expected_categories: [:frontend]3375 is expected to eq [:frontend]3376 path: "config/foo.js", expected_categories: [:frontend]3377 is expected to eq [:frontend]3378 path: "config/deep/foo.js", expected_categories: [:frontend]3379 is expected to eq [:frontend]3380 path: "ee/app/assets/foo", expected_categories: [:frontend]3381 is expected to eq [:frontend]3382 path: "ee/app/views/foo", expected_categories: [:frontend, :backend]3383 is expected to eq [:frontend, :backend]3384 path: "ee/spec/frontend/bar", expected_categories: [:frontend]3385 is expected to eq [:frontend]3386 path: "ee/spec/frontend_integration/bar", expected_categories: [:frontend]3387 is expected to eq [:frontend]3388 path: ".gitlab/ci/frontend.gitlab-ci.yml", expected_categories: [:frontend, :tooling]3389 is expected to eq [:frontend, :tooling]3390 path: "app/models/foo", expected_categories: [:backend]3391 is expected to eq [:backend]3392 path: "bin/foo", expected_categories: [:backend]3393 is expected to eq [:backend]3394 path: "config/foo", expected_categories: [:backend]3395 is expected to eq [:backend]3396 path: "lib/foo", expected_categories: [:backend]3397 is expected to eq [:backend]3398 path: "rubocop/foo", expected_categories: [:backend]3399 is expected to eq [:backend]3400 path: ".rubocop.yml", expected_categories: [:backend]3401 is expected to eq [:backend]3402 path: ".rubocop_todo.yml", expected_categories: [:backend]3403 is expected to eq [:backend]3404 path: ".rubocop_todo/cop/name.yml", expected_categories: [:backend]3405 is expected to eq [:backend]3406 path: "spec/foo", expected_categories: [:backend]3407 is expected to eq [:backend]3408 path: "spec/foo/bar", expected_categories: [:backend]3409 is expected to eq [:backend]3410 path: "ee/app/foo", expected_categories: [:backend]3411 is expected to eq [:backend]3412 path: "ee/bin/foo", expected_categories: [:backend]3413 is expected to eq [:backend]3414 path: "ee/spec/foo", expected_categories: [:backend]3415 is expected to eq [:backend]3416 path: "ee/spec/foo/bar", expected_categories: [:backend]3417 is expected to eq [:backend]3418 path: "spec/migrations/foo", expected_categories: [:database]3419 is expected to eq [:database]3420 path: "ee/spec/migrations/foo", expected_categories: [:database]3421 is expected to eq [:database]3422 path: "spec/features/foo", expected_categories: [:test]3423 is expected to eq [:test]3424 path: "ee/spec/features/foo", expected_categories: [:test]3425 is expected to eq [:test]3426 path: "spec/support/shared_examples/features/foo", expected_categories: [:test]3427 is expected to eq [:test]3428 path: "ee/spec/support/shared_examples/features/foo", expected_categories: [:test]3429 is expected to eq [:test]3430 path: "spec/support/shared_contexts/features/foo", expected_categories: [:test]3431 is expected to eq [:test]3432 path: "ee/spec/support/shared_contexts/features/foo", expected_categories: [:test]3433 is expected to eq [:test]3434 path: "spec/support/helpers/features/foo", expected_categories: [:test]3435 is expected to eq [:test]3436 path: "ee/spec/support/helpers/features/foo", expected_categories: [:test]3437 is expected to eq [:test]3438 path: "generator_templates/foo", expected_categories: [:backend]3439 is expected to eq [:backend]3440 path: "vendor/languages.yml", expected_categories: [:backend]3441 is expected to eq [:backend]3442 path: "file_hooks/examples/", expected_categories: [:backend]3443 is expected to eq [:backend]3444 path: "Gemfile", expected_categories: [:backend]3445 is expected to eq [:backend]3446 path: "Gemfile.lock", expected_categories: [:backend]3447 is expected to eq [:backend]3448 path: "Gemfile.checksum", expected_categories: [:backend]3449 is expected to eq [:backend]3450 path: "Rakefile", expected_categories: [:backend]3451 is expected to eq [:backend]3452 path: "FOO_VERSION", expected_categories: [:backend]3453 is expected to eq [:backend]3454 path: "scripts/glfm/bar.rb", expected_categories: [:backend]3455 is expected to eq [:backend]3456 path: "scripts/glfm/bar.js", expected_categories: [:frontend]3457 is expected to eq [:frontend]3458 path: "scripts/lib/glfm/bar.rb", expected_categories: [:backend]3459 is expected to eq [:backend]3460 path: "scripts/lib/glfm/bar.js", expected_categories: [:frontend]3461 is expected to eq [:frontend]3462 path: "scripts/bar.rb", expected_categories: [:backend, :tooling]3463 is expected to eq [:backend, :tooling]3464 path: "scripts/bar.js", expected_categories: [:frontend, :tooling]3465 is expected to eq [:frontend, :tooling]3466 path: "scripts/subdir/bar.rb", expected_categories: [:backend, :tooling]3467 is expected to eq [:backend, :tooling]3468 path: "scripts/subdir/bar.js", expected_categories: [:frontend, :tooling]3469 is expected to eq [:frontend, :tooling]3470 path: "scripts/foo", expected_categories: [:tooling]3471 is expected to eq [:tooling]3472 path: "Dangerfile", expected_categories: [:tooling]3473 is expected to eq [:tooling]3474 path: "danger/bundle_size/Dangerfile", expected_categories: [:tooling]3475 is expected to eq [:tooling]3476 path: "ee/danger/bundle_size/Dangerfile", expected_categories: [:tooling]3477 is expected to eq [:tooling]3478 path: "danger/bundle_size/", expected_categories: [:tooling]3479 is expected to eq [:tooling]3480 path: "ee/danger/bundle_size/", expected_categories: [:tooling]3481 is expected to eq [:tooling]3482 path: ".gitlab-ci.yml", expected_categories: [:tooling]3483 is expected to eq [:tooling]3484 path: ".gitlab/ci/cng.gitlab-ci.yml", expected_categories: [:tooling]3485 is expected to eq [:tooling]3486 path: ".gitlab/ci/ee-specific-checks.gitlab-ci.yml", expected_categories: [:tooling]3487 is expected to eq [:tooling]3488 path: "tooling/danger/foo", expected_categories: [:tooling]3489 is expected to eq [:tooling]3490 path: "ee/tooling/danger/foo", expected_categories: [:tooling]3491 is expected to eq [:tooling]3492 path: "lefthook.yml", expected_categories: [:tooling]3493 is expected to eq [:tooling]3494 path: ".editorconfig", expected_categories: [:tooling]3495 is expected to eq [:tooling]3496 path: "tooling/bin/find_foss_tests", expected_categories: [:tooling]3497 is expected to eq [:tooling]3498 path: ".codeclimate.yml", expected_categories: [:tooling]3499 is expected to eq [:tooling]3500 path: ".gitlab/CODEOWNERS", expected_categories: [:tooling]3501 is expected to eq [:tooling]3502 path: "lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml", expected_categories: [:ci_template]3503 is expected to eq [:ci_template]3504 path: "lib/gitlab/ci/templates/dotNET-Core.yml", expected_categories: [:ci_template]3505 is expected to eq [:ci_template]3506 path: "ee/FOO_VERSION", expected_categories: [:unknown]3507 is expected to eq [:unknown]3508 path: "db/schema.rb", expected_categories: [:database]3509 is expected to eq [:database]3510 path: "db/structure.sql", expected_categories: [:database]3511 is expected to eq [:database]3512 path: "db/migrate/foo", expected_categories: [:database, :migration]3513 is expected to eq [:database, :migration]3514 path: "db/post_migrate/foo", expected_categories: [:database, :migration]3515 is expected to eq [:database, :migration]3516 path: "ee/db/geo/migrate/foo", expected_categories: [:database, :migration]3517 is expected to eq [:database, :migration]3518 path: "ee/db/geo/post_migrate/foo", expected_categories: [:database, :migration]3519 is expected to eq [:database, :migration]3520 path: "app/models/project_authorization.rb", expected_categories: [:database, :backend]3521 is expected to eq [:database, :backend]3522 path: "app/services/users/refresh_authorized_projects_service.rb", expected_categories: [:database, :backend]3523 is expected to eq [:database, :backend]3524 path: "app/services/authorized_project_update/find_records_due_for_refresh_service.rb", expected_categories: [:database, :backend]3525 is expected to eq [:database, :backend]3526 path: "lib/gitlab/background_migration.rb", expected_categories: [:database, :backend]3527 is expected to eq [:database, :backend]3528 path: "lib/gitlab/background_migration/foo", expected_categories: [:database, :backend]3529 is expected to eq [:database, :backend]3530 path: "ee/lib/gitlab/background_migration/foo", expected_categories: [:database, :backend]3531 is expected to eq [:database, :backend]3532 path: "lib/gitlab/database.rb", expected_categories: [:database, :backend]3533 is expected to eq [:database, :backend]3534 path: "lib/gitlab/database/foo", expected_categories: [:database, :backend]3535 is expected to eq [:database, :backend]3536 path: "ee/lib/gitlab/database/foo", expected_categories: [:database, :backend]3537 is expected to eq [:database, :backend]3538 path: "lib/gitlab/github_import.rb", expected_categories: [:database, :backend]3539 is expected to eq [:database, :backend]3540 path: "lib/gitlab/github_import/foo", expected_categories: [:database, :backend]3541 is expected to eq [:database, :backend]3542 path: "lib/gitlab/sql/foo", expected_categories: [:database, :backend]3543 is expected to eq [:database, :backend]3544 path: "rubocop/cop/migration/foo", expected_categories: [:database]3545 is expected to eq [:database]3546 path: "db/fixtures/foo.rb", expected_categories: [:backend]3547 is expected to eq [:backend]3548 path: "ee/db/fixtures/foo.rb", expected_categories: [:backend]3549 is expected to eq [:backend]3550 path: "qa/foo", expected_categories: [:qa]3551 is expected to eq [:qa]3552 path: "ee/qa/foo", expected_categories: [:qa]3553 is expected to eq [:qa]3554 path: "workhorse/main.go", expected_categories: [:workhorse]3555 is expected to eq [:workhorse]3556 path: "workhorse/internal/upload/upload.go", expected_categories: [:workhorse]3557 is expected to eq [:workhorse]3558 path: "locale/gitlab.pot", expected_categories: [:none]3559 is expected to eq [:none]3560 path: "FOO", expected_categories: [:unknown]3561 is expected to eq [:unknown]3562 path: "foo", expected_categories: [:unknown]3563 is expected to eq [:unknown]3564 path: "foo/bar.rb", expected_categories: [:backend]3565 is expected to eq [:backend]3566 path: "foo/bar.js", expected_categories: [:frontend]3567 is expected to eq [:frontend]3568 path: "foo/bar.txt", expected_categories: [:none]3569 is expected to eq [:none]3570 path: "foo/bar.md", expected_categories: [:none]3571 is expected to eq [:none]3572 path: "ee/config/metrics/counts_7d/20210216174919_g_analytics_issues_weekly.yml", expected_categories: [:product_intelligence]3573 is expected to eq [:product_intelligence]3574 path: "lib/gitlab/usage_data_counters/aggregated_metrics/common.yml", expected_categories: [:product_intelligence]3575 is expected to eq [:product_intelligence]3576 path: "lib/gitlab/usage_data_counters/hll_redis_counter.rb", expected_categories: [:backend, :product_intelligence]3577 is expected to eq [:backend, :product_intelligence]3578 path: "lib/gitlab/tracking.rb", expected_categories: [:backend, :product_intelligence]3579 is expected to eq [:backend, :product_intelligence]3580 path: "lib/gitlab/usage/service_ping_report.rb", expected_categories: [:backend, :product_intelligence]3581 is expected to eq [:backend, :product_intelligence]3582 path: "lib/gitlab/usage/metrics/key_path_processor.rb", expected_categories: [:backend, :product_intelligence]3583 is expected to eq [:backend, :product_intelligence]3584 path: "spec/lib/gitlab/tracking_spec.rb", expected_categories: [:backend, :product_intelligence]3585 is expected to eq [:backend, :product_intelligence]3586 path: "app/helpers/tracking_helper.rb", expected_categories: [:backend, :product_intelligence]3587 is expected to eq [:backend, :product_intelligence]3588 path: "spec/helpers/tracking_helper_spec.rb", expected_categories: [:backend, :product_intelligence]3589 is expected to eq [:backend, :product_intelligence]3590 path: "lib/generators/rails/usage_metric_definition_generator.rb", expected_categories: [:backend, :product_intelligence]3591 is expected to eq [:backend, :product_intelligence]3592 path: "spec/lib/generators/usage_metric_definition_generator_spec.rb", expected_categories: [:backend, :product_intelligence]3593 is expected to eq [:backend, :product_intelligence]3594 path: "config/metrics/schema.json", expected_categories: [:product_intelligence]3595 is expected to eq [:product_intelligence]3596 path: "app/assets/javascripts/tracking/foo.js", expected_categories: [:frontend, :product_intelligence]3597 is expected to eq [:frontend, :product_intelligence]3598 path: "spec/frontend/tracking/foo.js", expected_categories: [:frontend, :product_intelligence]3599 is expected to eq [:frontend, :product_intelligence]3600 path: "spec/frontend/tracking_spec.js", expected_categories: [:frontend, :product_intelligence]3601 is expected to eq [:frontend, :product_intelligence]3602 path: "lib/gitlab/usage_database/foo.rb", expected_categories: [:backend]3603 is expected to eq [:backend]3604 path: "config/metrics/counts_7d/test_metric.yml", expected_categories: [:product_intelligence]3605 is expected to eq [:product_intelligence]3606 path: "config/events/snowplow_event.yml", expected_categories: [:product_intelligence]3607 is expected to eq [:product_intelligence]3608 path: "config/metrics/schema.json", expected_categories: [:product_intelligence]3609 is expected to eq [:product_intelligence]3610 path: "doc/api/usage_data.md", expected_categories: [:product_intelligence]3611 is expected to eq [:product_intelligence]3612 path: "spec/lib/gitlab/usage_data_spec.rb", expected_categories: [:product_intelligence]3613 is expected to eq [:product_intelligence]3614 path: "spec/lib/gitlab/usage/service_ping_report.rb", expected_categories: [:backend, :product_intelligence]3615 is expected to eq [:backend, :product_intelligence]3616 path: "spec/lib/gitlab/usage/metrics/key_path_processor.rb", expected_categories: [:backend, :product_intelligence]3617 is expected to eq [:backend, :product_intelligence]3618 path: "app/models/integration.rb", expected_categories: [:integrations_be, :backend]3619 is expected to eq [:integrations_be, :backend]3620 path: "ee/app/models/integrations/github.rb", expected_categories: [:integrations_be, :backend]3621 is expected to eq [:integrations_be, :backend]3622 path: "ee/app/models/ee/integrations/jira.rb", expected_categories: [:integrations_be, :backend]3623 is expected to eq [:integrations_be, :backend]3624 path: "app/models/integrations/chat_message/pipeline_message.rb", expected_categories: [:integrations_be, :backend]3625 is expected to eq [:integrations_be, :backend]3626 path: "app/models/jira_connect_subscription.rb", expected_categories: [:integrations_be, :backend]3627 is expected to eq [:integrations_be, :backend]3628 path: "app/models/hooks/service_hook.rb", expected_categories: [:integrations_be, :backend]3629 is expected to eq [:integrations_be, :backend]3630 path: "ee/app/models/ee/hooks/system_hook.rb", expected_categories: [:integrations_be, :backend]3631 is expected to eq [:integrations_be, :backend]3632 path: "app/services/concerns/integrations/project_test_data.rb", expected_categories: [:integrations_be, :backend]3633 is expected to eq [:integrations_be, :backend]3634 path: "ee/app/services/ee/integrations/test/project_service.rb", expected_categories: [:integrations_be, :backend]3635 is expected to eq [:integrations_be, :backend]3636 path: "app/controllers/concerns/integrations/actions.rb", expected_categories: [:integrations_be, :backend]3637 is expected to eq [:integrations_be, :backend]3638 path: "ee/app/controllers/concerns/ee/integrations/params.rb", expected_categories: [:integrations_be, :backend]3639 is expected to eq [:integrations_be, :backend]3640 path: "ee/app/controllers/projects/integrations/jira/issues_controller.rb", expected_categories: [:integrations_be, :backend]3641 is expected to eq [:integrations_be, :backend]3642 path: "app/controllers/projects/hooks_controller.rb", expected_categories: [:integrations_be, :backend]3643 is expected to eq [:integrations_be, :backend]3644 path: "app/controllers/admin/hook_logs_controller.rb", expected_categories: [:integrations_be, :backend]3645 is expected to eq [:integrations_be, :backend]3646 path: "app/controllers/groups/settings/integrations_controller.rb", expected_categories: [:integrations_be, :backend]3647 is expected to eq [:integrations_be, :backend]3648 path: "app/controllers/jira_connect/branches_controller.rb", expected_categories: [:integrations_be, :backend]3649 is expected to eq [:integrations_be, :backend]3650 path: "app/controllers/oauth/jira/authorizations_controller.rb", expected_categories: [:integrations_be, :backend]3651 is expected to eq [:integrations_be, :backend]3652 path: "ee/app/finders/projects/integrations/jira/by_ids_finder.rb", expected_categories: [:integrations_be, :database, :backend]3653 is expected to eq [:integrations_be, :database, :backend]3654 path: "app/workers/jira_connect/sync_merge_request_worker.rb", expected_categories: [:integrations_be, :backend]3655 is expected to eq [:integrations_be, :backend]3656 path: "app/workers/propagate_integration_inherit_worker.rb", expected_categories: [:integrations_be, :backend]3657 is expected to eq [:integrations_be, :backend]3658 path: "app/workers/web_hooks/log_execution_worker.rb", expected_categories: [:integrations_be, :backend]3659 is expected to eq [:integrations_be, :backend]3660 path: "app/workers/web_hook_worker.rb", expected_categories: [:integrations_be, :backend]3661 is expected to eq [:integrations_be, :backend]3662 path: "app/workers/project_service_worker.rb", expected_categories: [:integrations_be, :backend]3663 is expected to eq [:integrations_be, :backend]3664 path: "lib/atlassian/jira_connect/serializers/commit_entity.rb", expected_categories: [:integrations_be, :backend]3665 is expected to eq [:integrations_be, :backend]3666 path: "lib/api/entities/project_integration.rb", expected_categories: [:integrations_be, :backend]3667 is expected to eq [:integrations_be, :backend]3668 path: "lib/gitlab/hook_data/note_builder.rb", expected_categories: [:integrations_be, :backend]3669 is expected to eq [:integrations_be, :backend]3670 path: "lib/gitlab/data_builder/note.rb", expected_categories: [:integrations_be, :backend]3671 is expected to eq [:integrations_be, :backend]3672 path: "lib/gitlab/web_hooks/recursion_detection.rb", expected_categories: [:integrations_be, :backend]3673 is expected to eq [:integrations_be, :backend]3674 path: "ee/lib/ee/gitlab/integrations/sti_type.rb", expected_categories: [:integrations_be, :backend]3675 is expected to eq [:integrations_be, :backend]3676 path: "ee/lib/ee/api/helpers/integrations_helpers.rb", expected_categories: [:integrations_be, :backend]3677 is expected to eq [:integrations_be, :backend]3678 path: "ee/app/serializers/integrations/jira_serializers/issue_entity.rb", expected_categories: [:integrations_be, :backend]3679 is expected to eq [:integrations_be, :backend]3680 path: "app/serializers/jira_connect/app_data_serializer.rb", expected_categories: [:integrations_be, :backend]3681 is expected to eq [:integrations_be, :backend]3682 path: "lib/api/github/entities.rb", expected_categories: [:integrations_be, :backend]3683 is expected to eq [:integrations_be, :backend]3684 path: "lib/api/v3/github.rb", expected_categories: [:integrations_be, :backend]3685 is expected to eq [:integrations_be, :backend]3686 path: "app/controllers/clusters/integrations_controller.rb", expected_categories: [:backend]3687 is expected to eq [:backend]3688 path: "app/services/clusters/integrations/prometheus_health_check_service.rb", expected_categories: [:backend]3689 is expected to eq [:backend]3690 path: "app/graphql/types/alert_management/integration_type.rb", expected_categories: [:backend]3691 is expected to eq [:backend]3692 path: "app/views/jira_connect/branches/new.html.haml", expected_categories: [:integrations_fe, :frontend]3693 is expected to eq [:integrations_fe, :frontend]3694 path: "app/views/layouts/jira_connect.html.haml", expected_categories: [:integrations_fe, :frontend]3695 is expected to eq [:integrations_fe, :frontend]3696 path: "app/assets/javascripts/jira_connect/branches/pages/index.vue", expected_categories: [:integrations_fe, :frontend]3697 is expected to eq [:integrations_fe, :frontend]3698 path: "ee/app/views/projects/integrations/jira/issues/show.html.haml", expected_categories: [:integrations_fe, :frontend]3699 is expected to eq [:integrations_fe, :frontend]3700 path: "ee/app/assets/javascripts/integrations/zentao/issues_list/graphql/queries/get_zentao_issues.query.graphql", expected_categories: [:integrations_fe, :frontend]3701 is expected to eq [:integrations_fe, :frontend]3702 path: "app/assets/javascripts/pages/projects/settings/integrations/show/index.js", expected_categories: [:integrations_fe, :frontend]3703 is expected to eq [:integrations_fe, :frontend]3704 path: "ee/app/assets/javascripts/pages/groups/hooks/index.js", expected_categories: [:integrations_fe, :frontend]3705 is expected to eq [:integrations_fe, :frontend]3706 path: "app/views/clusters/clusters/_integrations_tab.html.haml", expected_categories: [:frontend, :backend]3707 is expected to eq [:frontend, :backend]3708 path: "app/assets/javascripts/alerts_settings/graphql/fragments/integration_item.fragment.graphql", expected_categories: [:frontend]3709 is expected to eq [:frontend]3710 path: "app/assets/javascripts/filtered_search/droplab/hook_input.js", expected_categories: [:frontend]3711 is expected to eq [:frontend]3712 path: "app/views/layouts/header/_default.html.haml", expected_categories: [:frontend, :backend]3713 is expected to eq [:frontend, :backend]3714 path: "app/views/layouts/header/_default.html.erb", expected_categories: [:frontend, :backend]3715 is expected to eq [:frontend, :backend]3716 path: "doc/api/graphql/reference/index.md", expected_categories: [:docs]3717 is expected to eq [:docs]3718 path: "doc/api/graphql/reference/some_other_file.txt", expected_categories: [:backend]3719 is expected to eq [:backend]3720 path: "doc/api/openapi/openapi.yaml", expected_categories: [:backend]3721 is expected to eq [:backend]3722 path: "doc/api/openapi/any_other_file.yaml", expected_categories: [:backend]3723 is expected to eq [:backend]3724 having specific changes3725 expected_categories: [:product_intelligence], patch: "+data-track-action", changed_files: ["components/welcome.vue"]3726 has the correct categories3727 expected_categories: [:product_intelligence], patch: "+ data: { track_label:", changed_files: ["admin/groups/_form.html.haml"]3728 has the correct categories3729 expected_categories: [:product_intelligence], patch: "+ Gitlab::Tracking.event", changed_files: ["dashboard/todos_controller.rb", "admin/groups/_form.html.haml"]3730 has the correct categories3731 expected_categories: [:database, :backend, :product_intelligence], patch: "+ count(User.active)", changed_files: ["usage_data.rb", "lib/gitlab/usage_data.rb", "ee/lib/ee/gitlab/usage_data.rb"]3732 has the correct categories3733 expected_categories: [:database, :backend, :product_intelligence], patch: "+ estimate_batch_distinct_count(User.active)", changed_files: ["usage_data.rb"]3734 has the correct categories3735 expected_categories: [:backend, :product_intelligence], patch: "+ alt_usage_data(User.active)", changed_files: ["lib/gitlab/usage_data.rb"]3736 has the correct categories3737 expected_categories: [:backend, :product_intelligence], patch: "+ count(User.active)", changed_files: ["lib/gitlab/usage_data/topology.rb"]3738 has the correct categories3739 expected_categories: [:backend, :product_intelligence], patch: "+ foo_count(User.active)", changed_files: ["lib/gitlab/usage_data.rb"]3740 has the correct categories3741 expected_categories: [:backend], patch: "+ count(User.active)", changed_files: ["user.rb"]3742 has the correct categories3743 expected_categories: [:integrations_be, :database, :migration], patch: "+ add_column :integrations, :foo, :text", changed_files: ["db/migrate/foo.rb"]3744 has the correct categories3745 expected_categories: [:integrations_be, :database, :migration], patch: "+ create_table :zentao_tracker_data do |t|", changed_files: ["ee/db/post_migrate/foo.rb"]3746 has the correct categories3747 expected_categories: [:integrations_be, :backend], patch: "+ Integrations::Foo", changed_files: ["app/foo/bar.rb"]3748 has the correct categories3749 expected_categories: [:integrations_be, :backend], patch: "+ project.execute_hooks(foo, :bar)", changed_files: ["ee/lib/ee/foo.rb"]3750 has the correct categories3751 expected_categories: [:integrations_be, :backend], patch: "+ project.execute_integrations(foo, :bar)", changed_files: ["app/foo.rb"]3752 has the correct categories3753 expected_categories: [:frontend, :product_intelligence], patch: "+ api.trackRedisCounterEvent(\"foo\")", changed_files: ["app/assets/javascripts/telemetry.js", "ee/app/assets/javascripts/mr_widget.vue"]3754 has the correct categories3755 expected_categories: [:frontend, :product_intelligence], patch: "+ api.trackRedisHllUserEvent(\"bar\")", changed_files: ["app/assets/javascripts/telemetry.js", "ee/app/assets/javascripts/mr_widget.vue"]3756 has the correct categories3757 #file_lines3758 returns the chomped file lines3759search/_results3760WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3761 displays the page size3762 when searching notes which contain quotes in markdown3763WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3764 renders plain quotes3765 when search results do not have a count3766WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3767 does not display the page size3768 rendering all types of search results3769 when scope is issues3770WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3771 does render the sidebar3772 when admin mode is enabled3773WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3774 renders the click text event tracking attributes3775 when admin mode is disabled3776WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3777 does not render the click text event tracking attributes3778 when scope is merge_requests3779WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3780 does render the sidebar3781 when admin mode is enabled3782WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3783 renders the click text event tracking attributes3784 when admin mode is disabled3785WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3786 does not render the click text event tracking attributes3787 git blame click tracking3788 when admin mode is enabled3789WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3790 renders the click link event tracking attributes3791 when admin mode is disabled3792WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3793 does not render the click link event tracking attributes3794 when scope is blobs3795WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3796 does not render the sidebar3797 when admin mode is enabled3798WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3799 renders the click text event tracking attributes3800 when admin mode is disabled3801WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3802 does not render the click text event tracking attributes3803 when scope is notes3804WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3805 does not render the sidebar3806 when admin mode is enabled3807WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3808 renders the click text event tracking attributes3809 when admin mode is disabled3810WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3811 does not render the click text event tracking attributes3812 when scope is wiki_blobs3813WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3814 does not render the sidebar3815 when admin mode is enabled3816WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3817 renders the click text event tracking attributes3818 when admin mode is disabled3819WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3820 does not render the click text event tracking attributes3821 when scope is milestones3822WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3823 does not render the sidebar3824 when admin mode is enabled3825WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3826 renders the click text event tracking attributes3827 when admin mode is disabled3828WARNING: An expectation of `:formatted_count` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/views/search/_results.html.haml_spec.rb:16:in `block (2 levels) in <top (required)>'.3829 does not render the click text event tracking attributes3830Gitlab::SSHPublicKey3831 .technology(name)3832 returns nil for an unrecognised name3833 name: :rsa3834 is expected to eq :rsa3835 is expected to eq :rsa3836 name: :dsa3837 is expected to eq :dsa3838 is expected to eq :dsa3839 name: :ecdsa3840 is expected to eq :ecdsa3841 is expected to eq :ecdsa3842 name: :ed255193843 is expected to eq :ed255193844 is expected to eq :ed255193845 name: :ecdsa_sk3846 is expected to eq :ecdsa_sk3847 is expected to eq :ecdsa_sk3848 name: :ed25519_sk3849 is expected to eq :ed25519_sk3850 is expected to eq :ed25519_sk3851 FIPS mode3852 name: :rsa3853 is expected to eq :rsa3854 is expected to eq :rsa3855 name: :ecdsa3856 is expected to eq :ecdsa3857 is expected to eq :ecdsa3858 name: :ed255193859 is expected to eq :ed255193860 is expected to eq :ed255193861 name: :ecdsa_sk3862 is expected to eq :ecdsa_sk3863 is expected to eq :ecdsa_sk3864 name: :ed25519_sk3865 is expected to eq :ed25519_sk3866 is expected to eq :ed25519_sk3867 .supported_types3868 returns array with the names of supported technologies3869 FIPS mode3870 returns array with the names of supported technologies3871 .supported_sizes(name)3872 name: :rsa, sizes: [1024, 2048, 3072, 4096]3873 is expected to eq [1024, 2048, 3072, 4096]3874 is expected to eq [1024, 2048, 3072, 4096]3875 name: :dsa, sizes: [1024, 2048, 3072]3876 is expected to eq [1024, 2048, 3072]3877 is expected to eq [1024, 2048, 3072]3878 name: :ecdsa, sizes: [256, 384, 521]3879 is expected to eq [256, 384, 521]3880 is expected to eq [256, 384, 521]3881 name: :ed25519, sizes: [256]3882 is expected to eq [256]3883 is expected to eq [256]3884 name: :ecdsa_sk, sizes: [256]3885 is expected to eq [256]3886 is expected to eq [256]3887 name: :ed25519_sk, sizes: [256]3888 is expected to eq [256]3889 is expected to eq [256]3890 FIPS mode3891 name: :rsa, sizes: [3072, 4096]3892 is expected to eq [3072, 4096]3893 is expected to eq [3072, 4096]3894 name: :dsa, sizes: []3895 is expected to eq []3896 is expected to eq []3897 name: :ecdsa, sizes: [256, 384, 521]3898 is expected to eq [256, 384, 521]3899 is expected to eq [256, 384, 521]3900 name: :ed25519, sizes: [256]3901 is expected to eq [256]3902 is expected to eq [256]3903 name: :ecdsa_sk, sizes: [256]3904 is expected to eq [256]3905 is expected to eq [256]3906 name: :ed25519_sk, sizes: [256]3907 is expected to eq [256]3908 is expected to eq [256]3909 .supported_algorithms3910 returns all supported algorithms3911 FIPS mode3912 returns all supported algorithms3913 .supported_algorithms_for_name3914 name: :rsa, algorithms: ["ssh-rsa"]3915 returns all supported algorithms for rsa3916 name: :dsa, algorithms: ["ssh-dss"]3917 returns all supported algorithms for dsa3918 name: :ecdsa, algorithms: ["ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521"]3919 returns all supported algorithms for ecdsa3920 name: :ed25519, algorithms: ["ssh-ed25519"]3921 returns all supported algorithms for ed255193922 name: :ecdsa_sk, algorithms: ["sk-ecdsa-sha2-nistp256@openssh.com"]3923 returns all supported algorithms for ecdsa_sk3924 name: :ed25519_sk, algorithms: ["sk-ssh-ed25519@openssh.com"]3925 returns all supported algorithms for ed25519_sk3926 FIPS mode3927 name: :rsa, algorithms: ["ssh-rsa"]3928 returns all supported algorithms for rsa3929 name: :dsa, algorithms: ["ssh-dss"]3930 returns all supported algorithms for dsa3931 name: :ecdsa, algorithms: ["ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521"]3932 returns all supported algorithms for ecdsa3933 name: :ed25519, algorithms: ["ssh-ed25519"]3934 returns all supported algorithms for ed255193935 name: :ecdsa_sk, algorithms: ["sk-ecdsa-sha2-nistp256@openssh.com"]3936 returns all supported algorithms for ecdsa_sk3937 name: :ed25519_sk, algorithms: ["sk-ssh-ed25519@openssh.com"]3938 returns all supported algorithms for ed25519_sk3939 .sanitize(key_content)3940 when key has blank space characters3941 removes the extra blank space characters3942 when key doesn't have blank space characters3943 doesn't modify the content3944 when key is invalid3945 returns the original content3946 #valid?3947 with a valid SSH key3948 factory: :rsa_key_20483949 is expected to be valid3950 when key begins with options3951 is expected to be valid3952 when key is in known_hosts format3953 when key begins with 'example.com'3954 is expected to be valid3955 when key begins with '@revoked other.example.com'3956 is expected to be valid3957 factory: :rsa_key_40963958 is expected to be valid3959 when key begins with options3960 is expected to be valid3961 when key is in known_hosts format3962 when key begins with 'example.com'3963 is expected to be valid3964 when key begins with '@revoked other.example.com'3965 is expected to be valid3966 factory: :rsa_key_51203967 is expected to be valid3968 when key begins with options3969 is expected to be valid3970 when key is in known_hosts format3971 when key begins with 'example.com'3972 is expected to be valid3973 when key begins with '@revoked other.example.com'3974 is expected to be valid3975 factory: :rsa_key_81923976 is expected to be valid3977 when key begins with options3978 is expected to be valid3979 when key is in known_hosts format3980 when key begins with 'example.com'3981 is expected to be valid3982 when key begins with '@revoked other.example.com'3983 is expected to be valid3984 factory: :dsa_key_20483985 is expected to be valid3986 when key begins with options3987 is expected to be valid3988 when key is in known_hosts format3989 when key begins with 'example.com'3990 is expected to be valid3991 when key begins with '@revoked other.example.com'3992 is expected to be valid3993 factory: :ecdsa_key_2563994 is expected to be valid3995 when key begins with options3996 is expected to be valid3997 when key is in known_hosts format3998 when key begins with 'example.com'3999 is expected to be valid4000 when key begins with '@revoked other.example.com'4001 is expected to be valid4002 factory: :ed25519_key_2564003 is expected to be valid4004 when key begins with options4005 is expected to be valid4006 when key is in known_hosts format4007 when key begins with 'example.com'4008 is expected to be valid4009 when key begins with '@revoked other.example.com'4010 is expected to be valid4011 factory: :ecdsa_sk_key_2564012 is expected to be valid4013 when key begins with options4014 is expected to be valid4015 when key is in known_hosts format4016 when key begins with 'example.com'4017 is expected to be valid4018 when key begins with '@revoked other.example.com'4019 is expected to be valid4020 factory: :ed25519_sk_key_2564021 is expected to be valid4022 when key begins with options4023 is expected to be valid4024 when key is in known_hosts format4025 when key begins with 'example.com'4026 is expected to be valid4027 when key begins with '@revoked other.example.com'4028 is expected to be valid4029 with an invalid SSH key4030 is expected not to be valid4031 when an unsupported SSH key algorithm4032 is expected not to be valid4033 #type4034 factory: :rsa_key_2048, type: :rsa4035 is expected to eq :rsa4036 factory: :dsa_key_2048, type: :dsa4037 is expected to eq :dsa4038 factory: :ecdsa_key_256, type: :ecdsa4039 is expected to eq :ecdsa4040 factory: :ed25519_key_256, type: :ed255194041 is expected to eq :ed255194042 factory: :ecdsa_sk_key_256, type: :ecdsa_sk4043 is expected to eq :ecdsa_sk4044 factory: :ed25519_sk_key_256, type: :ed25519_sk4045 is expected to eq :ed25519_sk4046 with an invalid SSH key4047 is expected to be nil4048 when the key is represented by a class that is not in the list of supported technologies4049 raises error4050 when the key is represented by a subclass of the class that is in the list of supported technologies4051 raises error4052 #bits4053 factory: :rsa_key_2048, bits: 20484054 is expected to eq 20484055 factory: :rsa_key_4096, bits: 40964056 is expected to eq 40964057 factory: :rsa_key_5120, bits: 51204058 is expected to eq 51204059 factory: :rsa_key_8192, bits: 81924060 is expected to eq 81924061 factory: :dsa_key_2048, bits: 20484062 is expected to eq 20484063 factory: :ecdsa_key_256, bits: 2564064 is expected to eq 2564065 factory: :ed25519_key_256, bits: 2564066 is expected to eq 2564067 factory: :ecdsa_sk_key_256, bits: 2564068 is expected to eq 2564069 factory: :ed25519_sk_key_256, bits: 2564070 is expected to eq 2564071 with an invalid SSH key4072 is expected to be nil4073 when the key is represented by a class that is not in the list of supported technologies4074 raises error4075 when the key is represented by a subclass of the class that is in the list of supported technologies4076 raises error4077 #banned?4078 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwRIdDlHaIqZXND/l1vFT7ue3rc/DvXh2yx5EFtuxGQRHVxGMazDhV4vj5ANGXDQwUYI0iZh6aOVrDy8I/y9/y+YDGCvsnqrDbuPDjW26s2bBXWgUPiC93T3TA6L2KOxhVcl7mljEOIYACRHPpJNYVGhinCxDUH9LxMrdNXgP5Ok= mateidu@localhost"4079 is expected to equal true4080 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBnZQ+6nhlPX/JnX5i5hXpljJ89bSnnrsSs51hSPuoJGmoKowBddISK7s10AIpO0xAWGcr8PUr2FOjEBbDHqlRxoXF0Ocms9xv3ql9EYUQ5+U+M6BymWhNTFPOs6gFHUl8Bw3t6c+SRKBpfRFB0yzBj9d093gSdfTAFoz+yLo4vRw=="4081 is expected to equal true4082 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvIhC5skTzxyHif/7iy3yhxuK6/OB13hjPqrskogkYFrcW8OK4VJT+5+Fx7wd4sQCnVn8rNqahw/x6sfcOMDI/Xvn4yKU4t8TnYf2MpUVr4ndz39L5Ds1n7Si1m2suUNxWbKv58I8+NMhlt2ITraSuTU0NGymWOc8+LNi+MHXdLk= SCCP Superuser"4083 is expected to equal true4084 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key"4085 is expected to equal true4086 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwRIdDlHaIqZXND/l1vFT7ue3rc/DvXh2yx5EFtuxGQRHVxGMazDhV4vj5ANGXDQwUYI0iZh6aOVrDy8I/y9/y+YDGCvsnqrDbuPDjW26s2bBXWgUPiC93T3TA6L2KOxhVcl7mljEOIYACRHPpJNYVGhinCxDUH9LxMrdNXgP5Ok= mateidu@localhost"4087 is expected to equal true4088 key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAn8LoId2N5i28cNKuEWWea3yt0I/LdT/NROrF44WZewtxch+DIwteQhM1qL6EKUSqz3Q2geX1crpOsNnyh67xy5lNo086u/QewOCSRAUGrQCXqFQ4JU8ny/qugWALQHjbIaPHj/3zMK09r4cpTSeAU7CW5nQyTKGmh7v9CAfWfcs= adam@localhost.localdomain"4089 is expected to equal true4090 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAJTDsX+8olPZeyr58g9XE0L8PKT5030NZBPlE7np4hBqx36HoWarWq1Csn8M57dWN9StKbs03k2ggY6sYJK5AW2EWar70um3pYjKQHiZq7mITmitsozFN/K7wu2e2iKRgquUwH5SuYoOJ29n7uhaILXiKZP4/H/dDudqPRSY6tJPAAAAFQDtuWH90mDbU2L/Ms2lfl/cja/wHwAAAIAMBwSHZt2ysOHCFe1WLUvdwVDHUqk3QHTskuuAnMlwMtSvCaUxSatdHahsMZ9VCHjoQUx6j+TcgRLDbMlRLnwUlb6wpniehLBFk+qakGcREqks5NxYzFTJXwROzP72jPvVgQyOZHWq81gCild/ljL7hmrduCqYwxDIz4o7U92UKQAAAIBmhSl9CVPgVMv1xO8DAHVhM1huIIK8mNFrzMJz+JXzBx81ms1kWSeQOC/nraaXFTBlqiQsvB8tzr4xZdbaI/QzVLKNAF5C8BJ4ScNlTIx1aZJwyMil8Nzb+0YAsw5Ja+bEZZvEVlAYnd10qRWrPeEY1txLMmX3wDa+JvJL7fmuBg=="4091 is expected to equal true4092 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAMq5EcIFdfCjJakyQnP/BBp9oc6mpaZVguf0Znp5C40twiG1lASQJZlM1qOB/hkBWYeBCHUkcOLEnVXSZzB62L+W/LGKodqnsiQPRr57AA6jPc6mNBnejHai8cSdAl9n/0s2IQjdcrxM8CPq2uEyfm0J3AV6Lrbbxr5NgE5xxM+DAAAAFQCmFk/M7Rx2jexsJ9COpHkHwUjcNQAAAIAdg18oByp/tjjDKhWhmmv+HbVIROkRqSxBvuEZEmcWlg38mLIT1bydfpSou/V4rI5ctxwCfJ1rRr66pw6GwCrz4fXmyVlhrj7TrktyQ9+zRXhynF4wdNPWErhNHb8tGlSOFiOBcUTlouX3V/ka6Dkd6ZQrZLQFaH+gjfyTZZ82HQAAAIEArsJgp7RLPOsCeLqoia/eljseBFVDazO5Q0ysUotTw9wgXGGVWREwm8wNggFNb9eCiBAAUfVZVfhVAtFT0pBf/eIVLPXyaMw3prBt7LqeBrbagODc3WAAdMTPIdYYcOKgv+YvTXa51zG64v6pQOfS8WXgKCzDl44puXfYeDk5lVQ="4093 is expected to equal true4094 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAKwKBw7D4OA1H/uD4htdh04TBIHdbSjeXUSnWJsce8C0tvoB01Yarjv9TFj+tfeDYVWtUK1DA1JkyqSuoAtDANJzF4I6Isyd0KPrW3dHFTcg6Xlz8d3KEaHokY93NOmB/xWEkhme8b7Q0U2iZie2pgWbTLXV0FA+lhskTtPHW3+VAAAAFQDRyayUlVZKXEweF3bUe03zt9e8VQAAAIAEPK1k3Y6ErAbIl96dnUCnZjuWQ7xXy062pf63QuRWI6LYSscm3f1pEknWUNFr/erQ02pkfi2eP9uHl1TI1ql+UmJX3g3frfssLNZwWXAW0m8PbY3HZSs+f5hevM3ua32pnKDmbQ2WpvKNyycKHi81hSI14xMcdblJolhN5iY8/wAAAIAjEe5+0m/TlBtVkqQbUit+s/g+eB+PFQ+raaQdL1uztW3etntXAPH1MjxsAC/vthWYSTYXORkDFMhrO5ssE2rfg9io0NDyTIZt+VRQMGdi++dH8ptU+ldl2ZejLFdTJFwFgcfXz+iQ1mx6h9TPX1crE1KoMAVOj3yKVfKpLB1EkA== root@lbslave"4095 is expected to equal true4096 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAN3AITryJMQyOKZjAky+mQ/8pOHIlu4q8pzmR0qotKaLm2yye5a0PY2rOaQRAzi7EPheBXbqTb8a8TrHhGXI5P7GUHaJho5HhEnw+5TwAvP72L7LcPwxMxj/rLcR/jV+uLMsVeJVWjwJcUv83yzPXoVjK0hrIm+RLLeuTM+gTylHAAAAFQD5gBdXsXAiTz1atzMg3xDFF1zlowAAAIAlLy6TCMlOBM0IcPsvP/9bEjDj0M8YZazdqt4amO2IaNUPYt9/sIsLOQfxIj8myDK1TOp8NyRJep7V5aICG4f3Q+XktlmLzdWn3sjvbWuIAXe1opjG2T69YhxfHZr8Wn7P4tpCgyqM4uHmUKrfnBzQQ9vkUUWsZoUXM2Z7vUXVfQAAAIAU6eNlphQWDwx0KOBiiYhF9BM6kDbQlyw8333rAG3G4CcjI2G8eYGtpBNliaD185UjCEsjPiudhGil/j4Zt/+VY3aGOLoi8kqXBBc8ZAML9bbkXpyhQhMgwiywx3ciFmvSn2UAin8yurStYPQxtXauZN5PYbdwCHPS7ApIStdpMA== wood@endec1"4097 is expected to equal true4098 key: "ssh-dss AAAAB3NzaC1kc3MAAACBAISAE3CAX4hsxTw0dRc0gx8nQ41r3Vkj9OmG6LGeKWRmpy7C6vaExuupjxid76fd4aS56lCUEEoRlJ3zE93qoK9acI6EGqGQFLuDZ0fqMyRSX+ilf+1HDo/TRyuraggxp9Hj9LMpZVbpFATMm0+d9Xs7eLmaJjuMsowNlOf8NFdHAAAAFQCwdvqOAkR6QhuiAapQ/9iVuR0UAQAAAIBpLMo4dhSeWkChfv659WLPftxRrX/HR8YMD/jqa3R4PsVM2g6dQ1191nHugtdV7uaMeOqOJ/QRWeYM+UYwT0Zgx2LqvgVSjNDfdjk+ZRY8x3SmExFi62mKFoTGSOCXfcAfuanjaoF+sepnaiLUd+SoJShGYHoqR2QWiysTRqknlwAAAIBLEgYmr9XCSqjENFDVQPFELYKT7Zs9J87PjPS1AP0qF1OoRGZ5mefK6X/6VivPAUWmmmev/BuAs8M1HtfGeGGzMzDIiU/WZQ3bScLB1Ykrcjk7TOFD6xrnk/inYAp5l29hjidoAONcXoHmUAMYOKqn63Q2AsDpExVcmfj99/BlpQ=="4099 is expected to equal true4100 with a valid SSH key4101 is expected to equal false4102 with an invalid SSH key4103 is expected to equal false4104 #fingerprint4105 factory: :rsa_key_2048, fingerprint: "58:a8:9d:cd:1f:70:f8:5a:d9:e4:24:8e:da:89:e4:fc"4106 is expected to eq "58:a8:9d:cd:1f:70:f8:5a:d9:e4:24:8e:da:89:e4:fc"4107 factory: :rsa_key_4096, fingerprint: "df:73:db:29:3c:a5:32:cf:09:17:7e:8e:9d:de:d7:f7"4108 is expected to eq "df:73:db:29:3c:a5:32:cf:09:17:7e:8e:9d:de:d7:f7"4109 factory: :rsa_key_5120, fingerprint: "fe:fa:3a:4d:7d:51:ec:bf:c7:64:0c:96:d0:17:8a:d0"4110 is expected to eq "fe:fa:3a:4d:7d:51:ec:bf:c7:64:0c:96:d0:17:8a:d0"4111 factory: :rsa_key_8192, fingerprint: "fb:53:7f:e9:2f:f7:17:aa:c8:32:52:06:8e:05:e2:82"4112 is expected to eq "fb:53:7f:e9:2f:f7:17:aa:c8:32:52:06:8e:05:e2:82"4113 factory: :dsa_key_2048, fingerprint: "c8:85:1e:df:44:0f:20:00:3c:66:57:2b:21:10:5a:27"4114 is expected to eq "c8:85:1e:df:44:0f:20:00:3c:66:57:2b:21:10:5a:27"4115 factory: :ecdsa_key_256, fingerprint: "67:a3:a9:7d:b8:e1:15:d4:80:40:21:34:bb:ed:97:38"4116 is expected to eq "67:a3:a9:7d:b8:e1:15:d4:80:40:21:34:bb:ed:97:38"4117 factory: :ed25519_key_256, fingerprint: "e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73"4118 is expected to eq "e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73"4119 factory: :ecdsa_sk_key_256, fingerprint: "56:b9:bc:99:3d:2f:cf:63:6b:70:d8:f9:40:7e:09:4c"4120 is expected to eq "56:b9:bc:99:3d:2f:cf:63:6b:70:d8:f9:40:7e:09:4c"4121 factory: :ed25519_sk_key_256, fingerprint: "f9:a0:64:0b:4b:72:72:0e:62:92:d7:04:14:74:1c:c9"4122 is expected to eq "f9:a0:64:0b:4b:72:72:0e:62:92:d7:04:14:74:1c:c9"4123 with an invalid SSH key4124 is expected to be nil4125 #fingerprint_sha2564126 factory: :rsa_key_2048, fingerprint_sha256: "SHA256:GdtgO0eHbwLB+mK47zblkoXujkqKRZjgMQrHH6Kks3E"4127 is expected to eq "SHA256:GdtgO0eHbwLB+mK47zblkoXujkqKRZjgMQrHH6Kks3E"4128 factory: :rsa_key_4096, fingerprint_sha256: "SHA256:ByDU7hQ1JB95l6p53rHrffc4eXvEtqGUtQhS+Dhyy7g"4129 is expected to eq "SHA256:ByDU7hQ1JB95l6p53rHrffc4eXvEtqGUtQhS+Dhyy7g"4130 factory: :rsa_key_5120, fingerprint_sha256: "SHA256:PCCupLbFHScm4AbEufbGDvhBU27IM0MVAor715qKQK8"4131 is expected to eq "SHA256:PCCupLbFHScm4AbEufbGDvhBU27IM0MVAor715qKQK8"4132 factory: :rsa_key_8192, fingerprint_sha256: "SHA256:CtHFQAS+9Hb8z4vrv4gVQPsHjNN0WIZhWODaB1mQLs4"4133 is expected to eq "SHA256:CtHFQAS+9Hb8z4vrv4gVQPsHjNN0WIZhWODaB1mQLs4"4134 factory: :dsa_key_2048, fingerprint_sha256: "SHA256:+a3DQ7cU5GM+gaYOfmc0VWNnykHQSuth3VRcCpWuYNI"4135 is expected to eq "SHA256:+a3DQ7cU5GM+gaYOfmc0VWNnykHQSuth3VRcCpWuYNI"4136 factory: :ecdsa_key_256, fingerprint_sha256: "SHA256:C+I5k3D+IGeM6k5iBR1ZsphqTKV+7uvL/XZ5hcrTr7g"4137 is expected to eq "SHA256:C+I5k3D+IGeM6k5iBR1ZsphqTKV+7uvL/XZ5hcrTr7g"4138 factory: :ed25519_key_256, fingerprint_sha256: "SHA256:DCKAjzxWrdOTjaGKBBjtCW8qY5++GaiAJflrHPmp6W0"4139 is expected to eq "SHA256:DCKAjzxWrdOTjaGKBBjtCW8qY5++GaiAJflrHPmp6W0"4140 factory: :ecdsa_sk_key_256, fingerprint_sha256: "SHA256:N0sNKBgWKK8usPuPegtgzHQQA9vQ/dRhAEhwFDAnLA4"4141 is expected to eq "SHA256:N0sNKBgWKK8usPuPegtgzHQQA9vQ/dRhAEhwFDAnLA4"4142 factory: :ed25519_sk_key_256, fingerprint_sha256: "SHA256:U8IKRkIHed6vFMTflwweA3HhIf2DWgZ8EFTm9fgwOUk"4143 is expected to eq "SHA256:U8IKRkIHed6vFMTflwweA3HhIf2DWgZ8EFTm9fgwOUk"4144 with an invalid SSH key4145 is expected to be nil4146 #key_text4147 key_value: "this is not a key"4148 carries the unmodified key data4149 key_value: nil4150 carries the unmodified key data4151Banzai::Filter::References::UserReferenceFilter4152 requires project context4153 ignores invalid users4154 ignores references with text before the @ sign4155 ignores valid references contained inside 'pre' element4156 ignores valid references contained inside 'code' element4157 ignores valid references contained inside 'a' element4158 ignores valid references contained inside 'style' element4159 links with adjacent text4160 includes default classes4161 behaves like user reference or project reference4162 supports an :only_path context4163 mentioning a resource4164 links to a resource4165 links to a resource with a period4166 links to a resource with an underscore4167 links to a resource with different case-sensitivity4168 behaves like a reference containing an element node4169 does not escape inner html4170 behaves like it contains a data- attribute4171 includes a data- attribute4172 referencing a resource in a link href4173 links to the resource4174 links with adjacent text4175 behaves like it contains a data- attribute4176 includes a data- attribute4177 mentioning @all4178 supports a special @all mention4179 includes a data-author attribute when there is an author4180 does not include a data-author attribute when there is no author4181 ignores reference to all when the user is not a project member4182 behaves like a reference containing an element node4183 does not escape inner html4184 mentioning a group4185 links to the Group4186 includes a data-group attribute4187 behaves like a reference containing an element node4188 does not escape inner html4189 mentioning a nested group4190 links to the nested group4191 has the full group name as a title4192 behaves like a reference containing an element node4193 does not escape inner html4194 when a project is not specified4195 does not link a User4196 when skip_project_check set to true4197 links to a User4198 does not link users using @all reference4199 in group context4200 supports a special @all mention4201 supports mentioning a single user4202 supports mentioning a group4203 #namespaces4204 returns a Hash containing all Namespaces4205 #usernames4206 returns the usernames mentioned in a document4207 checking N+14208 does not have N+1 per multiple user references4209ProjectAPICompatibility4210 converts build_git_strategy=fetch to build_allow_git_fetch=true4211 converts build_git_strategy=clone to build_allow_git_fetch=false4212 #auto_devops_enabled4213 initial: :missing, final: nil4214 sets the correct value4215 initial: :missing, final: false4216 sets the correct value4217 initial: :missing, final: true4218 sets the correct value4219 initial: nil, final: nil4220 sets the correct value4221 initial: nil, final: false4222 sets the correct value4223 initial: nil, final: true4224 sets the correct value4225 initial: false, final: nil4226 sets the correct value4227 initial: false, final: false4228 sets the correct value4229 initial: false, final: true4230 sets the correct value4231 initial: true, final: nil4232 sets the correct value4233 initial: true, final: false4234 sets the correct value4235 initial: true, final: true4236 sets the correct value4237 #auto_devops_deploy_strategy4238 initial: :missing, final: "continuous"4239 sets the correct value4240 initial: :missing, final: "manual"4241 sets the correct value4242 initial: :missing, final: "timed_incremental"4243 sets the correct value4244 initial: "continuous", final: "continuous"4245 sets the correct value4246 initial: "continuous", final: "manual"4247 sets the correct value4248 initial: "continuous", final: "timed_incremental"4249 sets the correct value4250 initial: "manual", final: "continuous"4251 sets the correct value4252 initial: "manual", final: "manual"4253 sets the correct value4254 initial: "manual", final: "timed_incremental"4255 sets the correct value4256 initial: "timed_incremental", final: "continuous"4257 sets the correct value4258 initial: "timed_incremental", final: "manual"4259 sets the correct value4260 initial: "timed_incremental", final: "timed_incremental"4261 sets the correct value4262Projects::UnlinkForkService4263 removes the link to the fork network4264 refreshes the forks count cache of the source project4265 with opened merge request on the source project4266 close all pending merge requests4267 does not close merge requests for the project being unlinked4268 when the original project was deleted4269 does not fail when the original project is deleted4270 when given project is a source of forks4271 removes its link to the fork network and updates direct network members4272 refreshes the forks count cache of the given project4273 with opened merge requests from fork back to root project4274 closes all pending merge requests4275 does not close merge requests that do not come from the project being unlinked4276 and is node with a parent4277 refreshes the forks count cache of the parent and the given project4278 removes its link to the fork network and updates direct network members4279 with opened merge requests from and to given project4280 close all pending merge requests4281 does not close merge requests which do not come from the project being unlinked4282 a project with pool repository4283 when unlinked leaves pool repository4284 when given project is not part of a fork network4285 does not raise errors4286TabHelper4287 gl_tabs_nav4288 creates a tabs navigation4289 captures block output4290 adds custom class4291 gl_tab_link_to4292 creates a tab4293 creates a tab with block output4294 creates a tab with custom classes for enclosing list item without content block provided4295 creates a tab with custom classes for enclosing list item with content block provided4296 creates a tab with custom classes for anchor element4297 creates an active tab with item_active = true4298 when on the active page4299 creates an active tab4300 creates an inactive tab with item_active = false4301 nav_link4302 passes extra html options to the list element4303 with the content of the li4304 captures block output4305 controller_param: nil, action_param: nil, path_param: nil, active: false4306 is expected to eq false4307 controller_param: :foo, action_param: nil, path_param: nil, active: true4308 is expected to eq true4309 controller_param: :bar, action_param: nil, path_param: nil, active: false4310 is expected to eq false4311 controller_param: :bar, action_param: :foo, path_param: nil, active: false4312 is expected to eq false4313 controller_param: :foo, action_param: :bar, path_param: nil, active: false4314 is expected to eq false4315 controller_param: :foo, action_param: :foo, path_param: nil, active: true4316 is expected to eq true4317 controller_param: :bar, action_param: nil, path_param: "foo#foo", active: true4318 is expected to eq true4319 controller_param: :bar, action_param: nil, path_param: ["foo#foo", "bar#bar"], active: true4320 is expected to eq true4321 controller_param: :bar, action_param: :bar, path_param: ["foo#foo", "bar#bar"], active: true4322 is expected to eq true4323 controller_param: :foo, action_param: nil, path_param: "bar#foo", active: true4324 is expected to eq true4325 controller_param: :bar, action_param: nil, path_param: "bar#foo", active: false4326 is expected to eq false4327 controller_param: :foo, action_param: [:foo, :bar], path_param: "bar#foo", active: true4328 is expected to eq true4329 controller_param: :bar, action_param: :bar, path_param: "foo#foo", active: true4330 is expected to eq true4331 controller_param: :foo, action_param: :foo, path_param: "bar#foo", active: true4332 is expected to eq true4333 controller_param: :bar, action_param: :foo, path_param: "bar#foo", active: false4334 is expected to eq false4335 controller_param: :foo, action_param: :bar, path_param: "bar#foo", active: false4336 is expected to eq false4337 controller_param: [:foo, :bar], action_param: nil, path_param: nil, active: true4338 is expected to eq true4339 controller_param: [:foo, :bar], action_param: nil, path_param: "bar#foo", active: true4340 is expected to eq true4341 controller_param: [:foo, :bar], action_param: :foo, path_param: "bar#foo", active: true4342 is expected to eq true4343 controller_param: nil, action_param: :foo, path_param: nil, active: true4344 is expected to eq true4345 controller_param: nil, action_param: :bar, path_param: nil, active: false4346 is expected to eq false4347 controller_param: nil, action_param: nil, path_param: "foo#bar", active: false4348 is expected to eq false4349 controller_param: nil, action_param: nil, path_param: "foo#foo", active: true4350 is expected to eq true4351 controller_param: nil, action_param: :bar, path_param: ["foo#foo", "bar#bar"], active: true4352 is expected to eq true4353 controller_param: nil, action_param: :bar, path_param: "foo#foo", active: true4354 is expected to eq true4355 controller_param: nil, action_param: :foo, path_param: "bar#foo", active: true4356 is expected to eq true4357 controller_param: nil, action_param: [:foo, :bar], path_param: nil, active: true4358 is expected to eq true4359 controller_param: nil, action_param: [:foo, :bar], path_param: "bar#foo", active: true4360 is expected to eq true4361 controller_param: nil, action_param: :bar, path_param: "bar#foo", active: false4362 is expected to eq false4363 page: nil, excluded_page: nil, active: false4364 is expected to eq false4365 page: "_some_page_", excluded_page: nil, active: true4366 is expected to eq true4367 page: "_some_page_", excluded_page: "_excluded_page_", active: true4368 is expected to eq true4369 page: "_some_page_", excluded_page: "_some_page_", active: false4370 is expected to eq false4371 with namespace in path notation4372 controller_param: "foo/foo", action_param: nil, path_param: nil, active: false4373 is expected to eq false4374 controller_param: "bar/foo", action_param: nil, path_param: nil, active: true4375 is expected to eq true4376 controller_param: "foo/foo", action_param: :foo, path_param: nil, active: false4377 is expected to eq false4378 controller_param: "bar/foo", action_param: :bar, path_param: nil, active: false4379 is expected to eq false4380 controller_param: "bar/foo", action_param: :foo, path_param: nil, active: true4381 is expected to eq true4382 controller_param: nil, action_param: nil, path_param: "foo/foo#foo", active: false4383 is expected to eq false4384 controller_param: nil, action_param: nil, path_param: "bar/foo#foo", active: true4385 is expected to eq true4386 gl_tab_counter_badge4387 creates a tab counter badge4388 with extra classes4389 creates a tab counter badge with the correct class attribute4390 with data attributes4391 creates a tab counter badge with the data attributes4392Integrations::HasDataFields4393 when data are stored in data_fields4394 behaves like data fields4395 #arg4396 returns the expected values4397 {arg}_changed?4398 returns false when the property has not been assigned a new value4399 returns true when the property has been assigned a different value4400 returns true when the property has been assigned a different value twice4401 returns false when the property has been re-assigned the same value4402 {arg}_touched?4403 returns false when the property has not been assigned a new value4404 returns true when the property has been assigned a different value4405 returns true when the property has been assigned a different value twice4406 returns true when the property has been re-assigned the same value4407 returns false when the property has been re-assigned the same value4408 data_fields_present?4409 returns true from the issue tracker integration4410 {arg}_was?4411 returns nil4412 when integration and data_fields are not persisted4413 data_fields_present?4414 returns true4415 when data are stored in properties4416 behaves like data fields4417 #arg4418 returns the expected values4419 {arg}_changed?4420 returns false when the property has not been assigned a new value4421 returns true when the property has been assigned a different value4422 returns true when the property has been assigned a different value twice4423 returns false when the property has been re-assigned the same value4424 {arg}_touched?4425 returns false when the property has not been assigned a new value4426 returns true when the property has been assigned a different value4427 returns true when the property has been assigned a different value twice4428 returns true when the property has been re-assigned the same value4429 returns false when the property has been re-assigned the same value4430 data_fields_present?4431 returns true from the issue tracker integration4432 {arg}_was?4433 returns nil when the property has not been assigned a new value4434 returns initial value when the property has been assigned a different value4435 returns initial value when the property has been re-assigned the same value4436 when data are stored in both properties and data_fields4437 behaves like data fields4438 #arg4439 returns the expected values4440 {arg}_changed?4441 returns false when the property has not been assigned a new value4442 returns true when the property has been assigned a different value4443 returns true when the property has been assigned a different value twice4444 returns false when the property has been re-assigned the same value4445 {arg}_touched?4446 returns false when the property has not been assigned a new value4447 returns true when the property has been assigned a different value4448 returns true when the property has been assigned a different value twice4449 returns true when the property has been re-assigned the same value4450 returns false when the property has been re-assigned the same value4451 data_fields_present?4452 returns true from the issue tracker integration4453 {arg}_was?4454 returns nil4455Gitlab::Git::Branch4456 is expected to be a kind of Array4457 .find4458 when finding branch via branch name4459 returns a branch object4460 when the branch is already a branch4461 returns a branch object4462 #cache_key4463 returns a cache key that changes based on changeable values4464 #size4465 is expected to eq 824466 first branch4467 is expected to eq "'test'"4468 is expected to start with "e56497b"4469 master branch4470 is expected to start with "b83d6e391c22777fca1ed3012fce84f633d7fed0"4471 with active, stale and future branches4472 examine if the branch is active or stale4473 #active?4474 is expected to be falsey4475 is expected to be truthy4476 is expected to be truthy4477 #stale?4478 is expected to be truthy4479 is expected to be falsey4480 is expected to be falsey4481 #state4482 is expected to eq :stale4483 is expected to eq :active4484 is expected to eq :active4485Gitlab::Git::DiffCollection4486 #to_a4487 is expected to be a kind of Array4488 #decorate!4489 modifies the array in place4490 avoids future iterator iterations4491 overflow handling4492 adding few enough files4493 and few enough lines4494 behaves like overflow stuff4495 returns the expected overflow values4496 #overflow?4497 is expected to be falsey4498 #empty?4499 is expected to be falsey4500 #real_size4501 is expected to eq "3"4502 #size4503 is expected to eq 34504 does not change after peeking4505 #line_count4506 is expected to eq 304507 when limiting is disabled4508 behaves like overflow stuff4509 returns the expected overflow values4510 #overflow?4511 is expected to be falsey4512 #empty?4513 is expected to be falsey4514 #real_size4515 is expected to eq "3"4516 #size4517 is expected to eq 34518 does not change after peeking4519 #line_count4520 is expected to eq 304521 and too many lines4522 is expected to eq 04523 behaves like overflow stuff4524 returns the expected overflow values4525 #overflow?4526 is expected to be truthy4527 #empty?4528 is expected to be falsey4529 #real_size4530 is expected to eq "0+"4531 #line_count4532 is expected to eq 10004533 when limiting is disabled4534 is expected to eq 34535 behaves like overflow stuff4536 returns the expected overflow values4537 #overflow?4538 is expected to be falsey4539 #empty?4540 is expected to be falsey4541 #real_size4542 is expected to eq "3"4543 #line_count4544 is expected to eq 30004545 adding too many files4546 and few enough lines4547 is expected to eq 104548 behaves like overflow stuff4549 returns the expected overflow values4550 #overflow?4551 is expected to be truthy4552 #empty?4553 is expected to be falsey4554 #real_size4555 is expected to eq "10+"4556 #line_count4557 is expected to eq 104558 when limiting is disabled4559 is expected to eq 114560 behaves like overflow stuff4561 returns the expected overflow values4562 #overflow?4563 is expected to be falsey4564 #empty?4565 is expected to be falsey4566 #real_size4567 is expected to eq "11"4568 #line_count4569 is expected to eq 114570 and too many lines4571 is expected to eq 34572 behaves like overflow stuff4573 returns the expected overflow values4574 #overflow?4575 is expected to be truthy4576 #empty?4577 is expected to be falsey4578 #real_size4579 is expected to eq "3+"4580 #line_count4581 is expected to eq 1204582 when limiting is disabled4583 is expected to eq 114584 behaves like overflow stuff4585 returns the expected overflow values4586 #overflow?4587 is expected to be falsey4588 #empty?4589 is expected to be falsey4590 #real_size4591 is expected to eq "11"4592 #line_count4593 is expected to eq 3304594 adding exactly the maximum number of files4595 and few enough lines4596 is expected to eq 104597 behaves like overflow stuff4598 returns the expected overflow values4599 #overflow?4600 is expected to be falsey4601 #empty?4602 is expected to be falsey4603 #real_size4604 is expected to eq "10"4605 #line_count4606 is expected to eq 104607 adding too many bytes4608 is expected to eq 94609 behaves like overflow stuff4610 returns the expected overflow values4611 #overflow?4612 is expected to be truthy4613 #empty?4614 is expected to be falsey4615 #real_size4616 is expected to eq "9+"4617 #line_count4618 is expected to eq 104619 when limiting is disabled4620 is expected to eq 104621 behaves like overflow stuff4622 returns the expected overflow values4623 #overflow?4624 is expected to be falsey4625 #empty?4626 is expected to be falsey4627 #real_size4628 is expected to eq "10"4629 #line_count4630 is expected to eq 104631 empty collection4632 behaves like overflow stuff4633 returns the expected overflow values4634 #overflow?4635 is expected to be falsey4636 #empty?4637 is expected to be truthy4638 #size4639 is expected to eq 04640 #real_size4641 is expected to eq "0"4642 #line_count4643 is expected to eq 04644 #each4645 when diff are too large4646 yields Diff instances even when they are too large4647 prunes diffs that are too large4648 when diff is quite large will collapse by default4649 when no collapse is set4650 yields Diff instances even when they are quite big4651 does not prune diffs4652 when no collapse is unset4653 yields Diff instances even when they are quite big4654 single-file collections4655 does not prune diffs4656 multi-file collections4657 prunes diffs that are quite big4658 when go over safe limits on files4659 prunes diffs by default even little ones and sets collapsed_safe_files true4660 when go over safe limits on lines4661 prunes diffs by default even little ones and sets collapsed_safe_lines true4662 when go over safe limits on bytes4663 prunes diffs by default even little ones and sets collapsed_safe_bytes true4664 when limiting is disabled4665 yields Diff instances even when they are quite big4666 does not prune diffs4667 when offset_index is given4668 does not yield diffs before the offset4669 when go over safe limits on bytes4670 considers size of diffs before the offset for prunning4671Search::GroupService4672 basic search4673 finding projects by name4674 in parent group4675 is expected to contain exactly #<Project id:613 group377/group376/inner_project_name_1>>, #<Project id:614 group377/group376/inner_project_name_2>>, and #<Project id:615 group377/outer_project_name>>4676 in subgroup4677 is expected to contain exactly #<Project id:619 group379/group378/inner_project_name_1>> and #<Project id:620 group379/group378/inner_project_name_2>>4678 issues4679 sorting4680 sort: created_desc4681 sorts results by created_at4682 sort: created_asc4683 sorts results by created_at4684 sort: updated_desc4685 sorts results by updated_desc4686 sort: updated_asc4687 sorts results by updated_asc4688 merge requests4689 sorting4690 sort: created_desc4691 sorts results by created_at4692 sort: created_asc4693 sorts results by created_at4694 sort: updated_desc4695 sorts results by updated_desc4696 sort: updated_asc4697 sorts results by updated_asc4698Gitlab::Ci::Status::Stage::Factory4699 when stage has a core status4700 when core status is created4701 fabricates a core status created4702 extends core status with common stage methods4703 when core status is waiting_for_resource4704 fabricates a core status waiting_for_resource4705 extends core status with common stage methods4706 when core status is preparing4707 fabricates a core status preparing4708 extends core status with common stage methods4709 when core status is pending4710 fabricates a core status pending4711 extends core status with common stage methods4712 when core status is running4713 fabricates a core status running4714 extends core status with common stage methods4715 when core status is success4716 fabricates a core status success4717 extends core status with common stage methods4718 when core status is failed4719 fabricates a core status failed4720 extends core status with common stage methods4721 when core status is canceled4722 fabricates a core status canceled4723 extends core status with common stage methods4724 when stage has warnings4725 fabricates extended "success with warnings" status4726 extends core status with common stage method4727 when stage has manual builds4728 when status is manual4729 fabricates a play manual status4730 when status is scheduled4731 fabricates a play manual status4732 when status is skipped4733 fabricates a play manual status4734Gitlab::FileTypeDetection4735 .extension_match?4736 returns false when filename is blank4737 returns true when filename matches extensions4738 returns false when filename does not match extensions4739 can match case insensitive filenames4740 can match filenames with periods4741 can match filenames with directories4742 when class is an uploader4743 #image?4744 returns true for an image file4745 returns false if filename has a dangerous image extension4746 returns false for a video file4747 returns false for an audio file4748 returns false if filename is blank4749 #video?4750 returns true for a video file4751 returns false for an image file4752 returns false for an audio file4753 returns false if file has a dangerous image extension4754 returns false if filename is blank4755 #audio?4756 returns true for an audio file4757 returns false for an image file4758 returns false for a video file4759 returns false if file has a dangerous image extension4760 returns false if filename is blank4761 #embeddable?4762 returns true for an image file4763 returns true for a video file4764 returns true for an audio file4765 returns false if not an embeddable file4766 returns false if filename has a dangerous image extension4767 returns false if filename is blank4768 #image_safe_for_scaling?4769 returns true for allowed image formats4770 returns false for other files4771 #dangerous_image?4772 returns true if filename has a dangerous extension4773 returns false for an image file4774 returns false for a video file4775 returns false for an audio file4776 returns false if filename is blank4777 #dangerous_video?4778 returns false for a safe video file4779 returns false if filename is a dangerous image extension4780 returns false for an image file4781 returns false for an audio file4782 returns false if filename is blank4783 #dangerous_audio?4784 returns false for a safe audio file4785 returns false if filename is a dangerous image extension4786 returns false for an image file4787 returns false for an video file4788 returns false if filename is blank4789 #dangerous_embeddable?4790 returns true if filename has a dangerous image extension4791 returns false for an image file4792 returns false for a video file4793 returns false for an audio file4794 returns false for a non-embeddable file4795 returns false if filename is blank4796 when class is a regular class4797 #image?4798 returns true for an image file4799 returns false if file has a dangerous image extension4800 returns false for a video file4801 returns false for an audio file4802 returns false if filename is blank4803 #image_safe_for_scaling?4804 returns false if filename is blank4805 filename: "img.jpg", expectation: true4806 returns expected result4807 filename: "img.jpeg", expectation: true4808 returns expected result4809 filename: "img.png", expectation: true4810 returns expected result4811 filename: "img.svg", expectation: false4812 returns expected result4813 #video?4814 returns true for a video file4815 returns false for an image file4816 returns false for an audio file4817 returns false if file has a dangerous image extension4818 returns false if filename is blank4819 #audio?4820 returns true for an audio file4821 returns false for an image file4822 returns false for a video file4823 returns false if file has a dangerous image extension4824 returns false if filename is blank4825 #embeddable?4826 returns true for an image file4827 returns true for a video file4828 returns true for an audio file4829 returns false if not an embeddable file4830 returns false if filename has a dangerous image extension4831 returns false if filename is blank4832 #dangerous_image?4833 returns true if file has a dangerous image extension4834 returns false for an image file4835 returns false for a video file4836 returns false for an audio file4837 returns false if filename is blank4838 #dangerous_video?4839 returns false for a safe video file4840 returns false for an image file4841 returns false for an audio file4842 returns false if file has a dangerous image extension4843 returns false if filename is blank4844 #dangerous_audio?4845 returns false for a safe audio file4846 returns false for an image file4847 returns false for a video file4848 returns false if file has a dangerous image extension4849 returns false if filename is blank4850 #dangerous_embeddable?4851 returns true if file has a dangerous image extension4852 returns false for an image file4853 returns false for a video file4854 returns false for an audio file4855 returns false for a non-embeddable file4856 returns false if filename is blank4857MetricsServer4858 when targeting puma4859 .fork4860 when in parent process4861 forks into a new process and detaches it4862 when in child process4863 starts the metrics server with the given arguments4864 resets signal handlers from parent process4865 .spawn4866 for legacy Ruby server4867 spawns a new server process and returns its PID4868 for Golang server4869 spawns a new server process and returns its PID4870 can launch from explicit path instead of PATH4871 when logs are enabled4872 sets log related environment variables4873 when TLS settings are present4874 sets the correct environment variables4875 when targeting sidekiq4876 .fork4877 when in parent process4878 forks into a new process and detaches it4879 when in child process4880 starts the metrics server with the given arguments4881 resets signal handlers from parent process4882 .spawn4883 for legacy Ruby server4884 spawns a new server process and returns its PID4885 for Golang server4886 spawns a new server process and returns its PID4887 can launch from explicit path instead of PATH4888 when logs are enabled4889 sets log related environment variables4890 when TLS settings are present4891 sets the correct environment variables4892 when targeting invalid target4893 .fork4894 raises an error4895 .spawn4896 for legacy Ruby server4897 raises an error4898 for Golang server4899 raises an error4900 for puma4901 behaves like a metrics exporter4902 #start4903 configures ::Prometheus::Client4904 ensures that metrics directory exists in correct mode (0700)4905 starts a metrics server4906 starts a RubySampler instance4907 when wipe_metrics_dir is true4908 removes any old metrics files4909 when wipe_metrics_dir is false4910 does not remove any old metrics files4911 #name4912 is expected to eq "web_exporter"4913 for sidekiq4914 behaves like a metrics exporter4915 #start4916 configures ::Prometheus::Client4917 ensures that metrics directory exists in correct mode (0700)4918 starts a metrics server4919 starts a RubySampler instance4920 when wipe_metrics_dir is true4921 removes any old metrics files4922 when wipe_metrics_dir is false4923 does not remove any old metrics files4924 #name4925 is expected to eq "sidekiq_exporter"4926 .start_for_puma4927 spawns a server process and supervises it4928 when the supervisor callback is invoked4929 restarts the metrics server4930 .start_for_sidekiq4931 for legacy Ruby server4932 forks the parent process4933 for Golang server4934 spawns the server process4935Banzai::Filter::References::ReferenceFilter4936 #each_node4937 iterates over the nodes in a document4938 returns an Enumerator when no block is given4939 skips links with a "gfm" class4940 skips text nodes in pre elements4941 #nodes4942 returns an Array of the HTML nodes4943 #replace_text_when_pattern_matches4944 when node has no reference pattern4945 skips node4946 behaves like replaces document node4947 when parent has only one node4948 behaves like replaces text4949 when content didnt change4950 does not replace link node with html4951 when link node has changed4952 replaces reference node4953 calls replace_and_update_new_nodes4954 stores filtered new nodes4955 when parent has multiple nodes4956 when pattern matches in the first node4957 behaves like replaces text4958 when content didnt change4959 does not replace link node with html4960 when link node has changed4961 replaces reference node4962 calls replace_and_update_new_nodes4963 stores filtered new nodes4964 when pattern matches in the middle node4965 behaves like replaces text4966 when content didnt change4967 does not replace link node with html4968 when link node has changed4969 replaces reference node4970 calls replace_and_update_new_nodes4971 stores filtered new nodes4972 when pattern matches in the last node4973 behaves like replaces text4974 when content didnt change4975 does not replace link node with html4976 when link node has changed4977 replaces reference node4978 calls replace_and_update_new_nodes4979 stores filtered new nodes4980 #replace_link_node_with_text4981 behaves like replaces document node4982 when parent has only one node4983 behaves like replaces text4984 when content didnt change4985 does not replace link node with html4986 when link node has changed4987 replaces reference node4988 calls replace_and_update_new_nodes4989 stores filtered new nodes4990 when parent has multiple nodes4991 when pattern matches in the first node4992 behaves like replaces text4993 when content didnt change4994 does not replace link node with html4995 when link node has changed4996 replaces reference node4997 calls replace_and_update_new_nodes4998 stores filtered new nodes4999 when pattern matches in the middle node5000 behaves like replaces text5001 when content didnt change5002 does not replace link node with html5003 when link node has changed5004 replaces reference node5005 calls replace_and_update_new_nodes5006 stores filtered new nodes5007 when pattern matches in the last node5008 behaves like replaces text5009 when content didnt change5010 does not replace link node with html5011 when link node has changed5012 replaces reference node5013 calls replace_and_update_new_nodes5014 stores filtered new nodes5015 #replace_link_node_with_href5016 behaves like replaces document node5017 when parent has only one node5018 behaves like replaces text5019 when content didnt change5020 does not replace link node with html5021 when link node has changed5022 replaces reference node5023 calls replace_and_update_new_nodes5024 stores filtered new nodes5025 when parent has multiple nodes5026 when pattern matches in the first node5027 behaves like replaces text5028 when content didnt change5029 does not replace link node with html5030 when link node has changed5031 replaces reference node5032 calls replace_and_update_new_nodes5033 stores filtered new nodes5034 when pattern matches in the middle node5035 behaves like replaces text5036 when content didnt change5037 does not replace link node with html5038 when link node has changed5039 replaces reference node5040 calls replace_and_update_new_nodes5041 stores filtered new nodes5042 when pattern matches in the last node5043 behaves like replaces text5044 when content didnt change5045 does not replace link node with html5046 when link node has changed5047 replaces reference node5048 calls replace_and_update_new_nodes5049 stores filtered new nodes5050 #call_and_update_nodes5051 updates all new nodes5052 .call5053 updates all nodes5054 abstract methods5055 #references_in5056 raises NotImplementedError5057 #object_link_filter5058 raises NotImplementedError5059Ci::PipelineEntity5060 #as_json5061 when pipeline is empty5062 contains required fields5063 excludes coverage data when disabled5064 contains details5065 contains flags5066 when pipeline_name feature flag is disabled5067 does not return name5068 when default branch not protected5069 when pipeline is retryable5070 does not serialize stage builds5071 user has ability to retry pipeline5072 contains retry path5073 user does not have ability to retry pipeline5074 does not contain retry path5075 when pipeline is cancelable5076 does not serialize stage builds5077 user has ability to cancel pipeline5078 contains cancel path5079 user does not have ability to cancel pipeline5080 does not contain cancel path5081 delete path5082 user has ability to delete pipeline5083 contains delete path5084 user does not have ability to delete pipeline5085 does not contain delete path5086 when pipeline ref is empty5087 does not generate branch path5088 when pipeline has a failure reason set5089 has a correct failure reason5090 when request has a project5091 when pipeline is detached merge request pipeline5092 makes detached flag true5093 does not expose source sha and target sha5094 when user is a developer5095 has merge request information5096 when user is an external user5097 has no merge request information5098 when pipeline is merge request pipeline5099 makes detached flag false5100 makes atached flag true5101 exposes source sha and target sha5102 exposes merge request event type5103 when pipeline has failed builds5104 when the user can retry the pipeline5105 exposes these failed builds5106 when the user cannot retry the pipeline5107 is nil5108 when pipeline has coverage5109 exposes the coverage5110AvatarsHelper5111 #project_icon, #group_icon, #topic_icon5112 when providing a project5113 behaves like resource with a default avatar5114 returns a default avatar div5115 behaves like resource with a custom avatar5116 returns a custom avatar image5117 when Gitaly is unavailable5118 handles Gitaly exception gracefully5119 behaves like resource with a default avatar5120 returns a default avatar div5121 when Gitaly request is taking too long5122 handles Gitaly exception gracefully5123 behaves like resource with a default avatar5124 returns a default avatar div5125 when providing a group5126 behaves like resource with a default avatar5127 returns a default avatar div5128 behaves like resource with a custom avatar5129 returns a custom avatar image5130 when providing a topic5131 behaves like resource with a default avatar5132 returns a default avatar div5133 behaves like resource with a custom avatar5134 returns a custom avatar image5135 #avatar_icon_for5136 prefers the user to retrieve the avatar_url5137 falls back to email lookup if no user given5138 #avatar_icon_for_email5139 caches the request5140 behaves like returns avatar for email5141 using an email5142 when there is a matching user5143 returns a relative URL for the avatar5144 when no user exists for the email5145 calls gravatar_icon5146 without an email passed5147 calls gravatar_icon5148 #avatar_icon_for_user5149 with a user object passed5150 returns a relative URL for the avatar5151 when the user is blocked5152 behaves like blocked or unconfirmed user with avatar5153 when the viewer is not an admin5154 returns the default avatar5155 when the viewer is an admin5156 returns the default avatar when the user is not passed5157 returns the user avatar when the user is passed5158 when the user is unconfirmed5159 behaves like blocked or unconfirmed user with avatar5160 when the viewer is not an admin5161 returns the default avatar5162 when the viewer is an admin5163 returns the default avatar when the user is not passed5164 returns the user avatar when the user is passed5165 without a user object passed5166 calls gravatar_icon5167 #gravatar_icon5168 with Gravatar disabled5169 returns a generic avatar5170 with Gravatar enabled5171 with FIPS not enabled5172 returns a generic avatar when email is blank5173 returns a valid Gravatar URL5174 uses HTTPs when configured5175 returns custom gravatar path when gravatar_url is set5176 accepts a custom size argument5177 defaults size to 40@2x when given an invalid size5178 accepts a scaling factor5179 ignores case and surrounding whitespace5180 with FIPS enabled5181 returns a generic avatar5182 #user_avatar5183 links to the user's profile5184 has the user's name as title5185 contains the user's avatar image5186 #user_avatar_without_link5187 displays user avatar5188 with css_class parameter5189 uses provided css_class5190 with size parameter5191 uses provided size5192 with url parameter5193 uses provided url5194 with lazy parameter5195 adds `lazy` class to class list, sets `data-src` with avatar URL and `src` with placeholder image5196 with has_tooltip parameter5197 with has_tooltip set to true5198 adds has-tooltip5199 with has_tooltip set to false5200 does not add has-tooltip or data container5201 with user_name parameter5202 uses user_name and user_email parameter if user is not present5203 with user parameter5204 prefers user parameter5205 with only_path parameter set to false5206 with user parameter5207 will return avatar with a full path5208 with user_name and user_email5209 will return avatar with a full path5210 with unregistered email address5211 will return default alt text for avatar5212 #avatar_without_link5213 with users5214 displays user avatar5215 with groups5216 displays group avatar5217StageEntity5218 #as_json5219 contains relevant fields5220 contains detailed status5221 contains valid name5222 contains path to the stage5223 contains path to the stage dropdown5224 contains stage title5225 does not contain play_details info5226 when the jobs should be grouped5227 exposes the group key5228 and contains commit status5229 contains commit status5230 with a skipped stage5231 contains play_all_manual5232 with a scheduled stage5233 contains play_all_manual5234 with a manual stage5235 contains play_all_manual5236projects/_home_panel5237 admin area link5238 renders admin area link for admin5239 does not render admin area link for non-admin5240 does not render admin area link for anonymous5241 notifications5242 when user is signed in5243 renders Vue app root5244 when user is signed out5245 does not render Vue app root5246 badges5247 has no badges5248 does not render any badge5249 only has group badges5250 behaves like show badges5251 renders the all badges5252 only has project badges5253 behaves like show badges5254 renders the all badges5255 has both group and project badges5256 behaves like show badges5257 renders the all badges5258 project id5259 user can read project5260 is shown5261 user cannot read project5262 is not shown5263 forks5264 user can read fork source5265 shows the forked-from project5266 user cannot read fork source5267 does not show the forked-from project5268CommitEntity5269 contains path to commit5270 contains URL to commit5271 needs to receive project in the request5272 exposes gravatar url that belongs to author5273 when commit author is a user5274 contains information about user5275 when commit author is not a user5276 does not contain author details5277 when type is not set5278 does not expose extra properties5279 when type is "full"5280 exposes extra properties5281 when commit has signature5282 exposes "signature_html"5283 when commit has pipeline5284 exposes "pipeline_status_path"5285 when commit_url_params is set5286 adds commit_url_params to url and path5287Clusters::Agents::RefreshAuthorizationService5288 #execute5289 group authorization5290 refreshes authorizations for the agent5291 config contains too many groups5292 authorizes groups up to the limit5293 config contains no groups5294 removes all authorizations5295 config contains groups outside of the configuration project hierarchy5296 removes all authorizations5297 configuration project does not belong to a group5298 removes all authorizations5299 project authorization5300 refreshes authorizations for the agent5301 project does not belong to a group, and is authorizing itself5302 creates an authorization record for the project5303 config contains too many projects5304 authorizes projects up to the limit5305 config contains no groups5306 removes all authorizations5307 config contains groups outside of the configuration project hierarchy5308 removes all authorizations5309 configuration project does not belong to a group5310 removes all authorizations5311Gitlab::Database::LoadBalancing::LoadBalancer5312 #initialize5313 ignores the hosts when load balancing is disabled5314 sets the name of the connection that is used5315 #read5316 yields a connection for a read5317 ensures that query cache is enabled5318 does not enable query cache when outside Rails executor context5319 marks hosts that are offline5320 retries a query in the event of a serialization failure5321 retries every host at most 3 times when a query conflict is raised5322 uses the primary if no secondaries are available5323 uses the primary when load balancing is disabled5324 only primary is configured5325 does not retry a query on connection error if only the primary is configured5326 #read_write5327 yields a connection for a write5328 uses a retry with exponential backoffs5329 does not raise NoMethodError error when primary_only?5330 #host5331 returns the secondary host to use5332 stores the host in a thread-local variable5333 does not create conflicts with other load balancers when caching hosts5334 #release_host5335 releases the host and its connection5336 #release_primary_connection5337 releases the connection to the primary5338 #primary_write_location5339 returns a String in the right format5340 raises an error if the write location could not be retrieved5341 #retry_with_backoff5342 returns the value returned by the block5343 re-raises errors not related to database connections5344 retries the block when a connection error is raised5345 re-raises the connection error if the retries did not succeed5346 skips retries when only the primary is used5347 yields the current retry iteration5348 #connection_error?5349 returns true for a connection error5350 returns false for a missing database error5351 returns true for a wrapped connection error5352 returns true for a wrapped connection error from a view5353 returns true for deeply wrapped/nested errors5354 returns true for an invalid encoding error5355 returns false for errors not related to database connections5356 returns false for ActiveRecord errors without a cause5357 #serialization_failure?5358 returns for a serialization error5359 returns true for a wrapped error5360 #select_up_to_date_host5361 when none of the replicas are caught up5362 returns false and does not update the host thread-local variable5363 when any of the replicas is caught up5364 returns true and sets host thread-local variable5365 #create_replica_connection_pool5366 creates a new connection pool with specific pool size and name5367 allows setting of a custom hostname and port5368 does not modify connection class pool5369 #disconnect!5370 calls disconnect on all hosts with a timeout5371 #get_write_location5372 returns a string5373 returns nil if there are no results5374 #wal_diff5375 returns the diff between two write locations5376AwardEmojis::AddService5377 #execute5378 when user is not authorized5379 does not add an emoji5380 returns an error state5381 when user is authorized5382 creates an award emoji5383 returns the award emoji5384 return a success status5385 sets the correct properties on the award emoji5386 marking Todos as done5387 type: :issue, expectation: true5388 is expected to eq true5389 type: :merge_request, expectation: true5390 is expected to eq true5391 type: :project_snippet, expectation: false5392 is expected to eq false5393 for notes5394 regular Notes5395 marks the Todo as done5396 PersonalSnippet Notes5397 does not mark the Todo as done5398 when the awardable cannot have emoji awarded to it5399 does not add an emoji5400 returns an error status5401 when the awardable is invalid5402 does not add an emoji5403 returns an error status5404 returns an error message5405Gitlab::Middleware::ReadOnly5406 when database is read-only5407 behaves like write access for a read-only GitLab instance5408 normal requests to a read-only GitLab instance5409 expects PATCH requests to be disallowed5410 expects PUT requests to be disallowed5411 expects POST requests to be disallowed5412 expects a internal POST request to be allowed after a disallowed request5413 expects DELETE requests to be disallowed5414 expects POST of new file that looks like an LFS batch url to be disallowed5415 returns last_vistited_url for disallowed request5416 allowlisted requests5417 expects a POST internal request to be allowed5418 expects a POST internal request with trailing slash to be allowed5419 expects a graphql request to be allowed5420 expects a graphql request with trailing slash to be allowed5421 relative URL is configured5422 expects a graphql request to be allowed5423 expects a graphql request with trailing slash to be allowed5424 sidekiq admin requests5425 mounted_at: ""5426 allows requests5427 allows requests with trailing slash5428 mounted_at: "/"5429 allows requests5430 allows requests with trailing slash5431 mounted_at: "/gitlab"5432 allows requests5433 allows requests with trailing slash5434 mounted_at: "/gitlab/"5435 allows requests5436 allows requests with trailing slash5437 mounted_at: "/gitlab/gitlab"5438 allows requests5439 allows requests with trailing slash5440 mounted_at: "/gitlab/gitlab/"5441 allows requests5442 allows requests with trailing slash5443 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"5444 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed5445 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL with trailing slash to be allowed5446 description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack"5447 expects a POST description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack" URL to be allowed5448 expects a POST description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack" URL with trailing slash to be allowed5449 description: "user sign out", path: "/users/sign_out"5450 expects a POST description: "user sign out", path: "/users/sign_out" URL to be allowed5451 expects a POST description: "user sign out", path: "/users/sign_out" URL with trailing slash to be allowed5452 description: "admin session", path: "/admin/session"5453 expects a POST description: "admin session", path: "/admin/session" URL to be allowed5454 expects a POST description: "admin session", path: "/admin/session" URL with trailing slash to be allowed5455 description: "admin session destroy", path: "/admin/session/destroy"5456 expects a POST description: "admin session destroy", path: "/admin/session/destroy" URL to be allowed5457 expects a POST description: "admin session destroy", path: "/admin/session/destroy" URL with trailing slash to be allowed5458 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"5459 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL not to be allowed5460 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL with trailing slash not to be allowed5461 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"5462 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL not to be allowed5463 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL with trailing slash not to be allowed5464 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"5465 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL not to be allowed5466 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL with trailing slash not to be allowed5467 JSON requests to a read-only GitLab instance5468 expects PATCH requests to be disallowed5469 expects PUT requests to be disallowed5470 expects POST requests to be disallowed5471 expects DELETE requests to be disallowed5472notify/pipeline_fixed_email.html.haml5473 behaves like pipeline status changes email5474 when the pipeline contains a failed job5475 behaves like renders the pipeline status changes email correctly5476 pipeline with user5477 renders the email correctly5478 behaves like correct pipeline information for pipelines for merge requests5479 when pipeline for merge request5480 renders a source ref of the pipeline5481 pipeline without user5482 renders the email correctly5483 when the latest failed job is a bridge job5484 behaves like renders the pipeline status changes email correctly5485 pipeline with user5486 renders the email correctly5487 behaves like correct pipeline information for pipelines for merge requests5488 when pipeline for merge request5489 renders a source ref of the pipeline5490 pipeline without user5491 renders the email correctly5492Gitlab::GithubImport::Representation::PullRequest5493 .from_api_response5494 does not set the user if the response did not include a user5495 behaves like a PullRequest5496 returns an instance of PullRequest5497 the returned PullRequest5498 includes the pull request number5499 includes the pull request title5500 includes the pull request description5501 includes the source branch name5502 includes the source branch SHA5503 includes the target branch name5504 includes the target branch SHA5505 includes the milestone number5506 includes the user details5507 includes the assignee details5508 includes the created timestamp5509 includes the updated timestamp5510 includes the merged timestamp5511 includes the source repository ID5512 includes the target repository ID5513 includes the source repository owner name5514 includes the pull request state5515 .from_json_hash5516 does not convert the author if it was not specified5517 behaves like a PullRequest5518 returns an instance of PullRequest5519 the returned PullRequest5520 includes the pull request number5521 includes the pull request title5522 includes the pull request description5523 includes the source branch name5524 includes the source branch SHA5525 includes the target branch name5526 includes the target branch SHA5527 includes the milestone number5528 includes the user details5529 includes the assignee details5530 includes the created timestamp5531 includes the updated timestamp5532 includes the merged timestamp5533 includes the source repository ID5534 includes the target repository ID5535 includes the source repository owner name5536 includes the pull request state5537 #state5538 returns :opened for an open pull request5539 returns :closed for a closed pull request5540 returns :merged for a merged pull request5541 #cross_project?5542 returns false for a pull request submitted from the target project5543 returns true for a pull request submitted from a different project5544 returns true if no source repository is present5545 #formatted_source_branch5546 for a cross-project pull request5547 includes the owner name in the branch name5548 for a regular pull request5549 returns the source branch name5550 for a pull request with the same source and target branches5551 returns a generated source branch name5552 #truncated_title5553 truncates the title to 255 characters5554 does not truncate the title if it is shorter than 255 characters5555 #github_identifiers5556 returns a hash with needed identifiers5557Banzai::Filter::SanitizationFilter5558 behaves like default allowlist5559 sanitizes tags that are not allowed5560 sanitizes tag attributes5561 sanitizes javascript in attributes5562 sanitizes mixed-cased javascript in attributes5563 allows whitelisted HTML tags from the user5564 sanitizes `class` attribute on any element5565 sanitizes `id` attribute on any element5566 custom allowlist5567 customizes the allowlist only once5568 customizes the allowlist only once for different instances5569 sanitizes `class` attribute from all elements5570 sanitizes `class` attribute from non-highlight spans5571 allows `text-align` property in `style` attribute on table elements5572 disallows other properties in `style` attribute on table elements5573 disallows `text-align` property in `style` attribute on other elements5574 allows `span` elements5575 allows `abbr` elements5576 disallows the `name` attribute globally, allows on `a`5577 allows `summary` elements5578 allows `details` elements5579 allows `rel=license` in links5580 allows `data-math-style` attribute on `code` and `pre` elements5581 allows the `data-sourcepos` attribute globally5582 behaves like XSS prevention5583 disallows protocol-based JS injection: simple, no spaces5584 disallows protocol-based JS injection: simple, spaces before5585 disallows protocol-based JS injection: simple, spaces after5586 disallows protocol-based JS injection: simple, spaces before and after5587 disallows protocol-based JS injection: preceding colon5588 disallows protocol-based JS injection: UTF-8 encoding5589 disallows protocol-based JS injection: long UTF-8 encoding5590 disallows protocol-based JS injection: long UTF-8 encoding without semicolons5591 disallows protocol-based JS injection: hex encoding5592 disallows protocol-based JS injection: long hex encoding5593 disallows protocol-based JS injection: hex encoding without semicolons5594 disallows protocol-based JS injection: null char5595 disallows protocol-based JS injection: invalid URL char5596 disallows protocol-based JS injection: Unicode5597 disallows protocol-based JS injection: spaces and entities5598 disallows protocol whitespace5599 disallows data links5600 disallows vbscript links5601 behaves like sanitize link5602 removes `rel` attribute from `a` elements5603 disallows invalid URIs5604 allows non-standard anchor schemes5605 allows relative links5606 footnotes5607 allows correct footnote id property on links5608 allows correct footnote id property on li element5609 removes invalid id for footnote links5610 removes invalid id for footnote li5611Integrations::Test::ProjectService5612 #execute5613 without event specified5614 tests the integration with default data5615 with Integrations::PipelinesEmail5616 behaves like tests for integration with pipeline data5617 tests the integration with pipeline data5618 with event specified5619 event not supported by integration5620 returns error message5621 push5622 executes integration5623 tag_push5624 executes integration5625 note5626 returns error message if not enough data5627 executes integration5628 issue5629 behaves like a test of an integration that operates on issues5630 returns error message if not enough data5631 executes integration5632 confidential_issue5633 behaves like a test of an integration that operates on issues5634 returns error message if not enough data5635 executes integration5636 merge_request5637 returns error message if not enough data5638 executes integration5639 deployment5640 returns error message if not enough data5641 executes integration5642 pipeline5643 returns error message if not enough data5644 executes integration5645 wiki_page5646 returns error message if wiki disabled5647 returns error message if not enough data5648 executes integration5649ActiveHookFilter5650 #matches?5651 for various types of branch_filter5652 branch_filter_strategy: "all_branches", branch_filter: "master", ref: "refs/heads/master", expected_matches?: true5653 is expected to equal true5654 is expected to equal true5655 branch_filter_strategy: "all_branches", branch_filter: "", ref: "refs/heads/master", expected_matches?: true5656 is expected to equal true5657 is expected to equal true5658 branch_filter_strategy: "all_branches", branch_filter: nil, ref: "refs/heads/master", expected_matches?: true5659 is expected to equal true5660 is expected to equal true5661 branch_filter_strategy: "all_branches", branch_filter: ".*", ref: "refs/heads/master", expected_matches?: true5662 is expected to equal true5663 is expected to equal true5664 branch_filter_strategy: "wildcard", branch_filter: "master", ref: "refs/heads/master", expected_matches?: true5665 is expected to equal true5666 is expected to equal true5667 branch_filter_strategy: "wildcard", branch_filter: "master", ref: "refs/heads/my_branch", expected_matches?: false5668 is expected to equal false5669 is expected to equal true5670 branch_filter_strategy: "wildcard", branch_filter: "features/*", ref: "refs/heads/features/my-branch", expected_matches?: true5671 is expected to equal true5672 is expected to equal true5673 branch_filter_strategy: "wildcard", branch_filter: "features/*", ref: "refs/heads/features/my-branch/something", expected_matches?: true5674 is expected to equal true5675 is expected to equal true5676 branch_filter_strategy: "wildcard", branch_filter: "features/*", ref: "refs/heads/master", expected_matches?: false5677 is expected to equal false5678 is expected to equal true5679 branch_filter_strategy: "wildcard", branch_filter: nil, ref: "refs/heads/master", expected_matches?: true5680 is expected to equal true5681 is expected to equal true5682 branch_filter_strategy: "wildcard", branch_filter: "", ref: "refs/heads/master", expected_matches?: true5683 is expected to equal true5684 is expected to equal true5685 branch_filter_strategy: "regex", branch_filter: "master", ref: "refs/heads/master", expected_matches?: true5686 is expected to equal true5687 is expected to equal true5688 branch_filter_strategy: "regex", branch_filter: "master", ref: "refs/heads/my_branch", expected_matches?: false5689 is expected to equal false5690 is expected to equal true5691 branch_filter_strategy: "regex", branch_filter: "features/*", ref: "refs/heads/xxxx/features/my-branch", expected_matches?: true5692 is expected to equal true5693 is expected to equal true5694 branch_filter_strategy: "regex", branch_filter: "features/*", ref: "refs/heads/features/", expected_matches?: true5695 is expected to equal true5696 is expected to equal true5697 branch_filter_strategy: "regex", branch_filter: "features/*", ref: "refs/heads/features", expected_matches?: true5698 is expected to equal true5699 is expected to equal true5700 branch_filter_strategy: "regex", branch_filter: "features/.*", ref: "refs/heads/features/my-branch", expected_matches?: true5701 is expected to equal true5702 is expected to equal true5703 branch_filter_strategy: "regex", branch_filter: "features/.*", ref: "refs/heads/features/my-branch/something", expected_matches?: true5704 is expected to equal true5705 is expected to equal true5706 branch_filter_strategy: "regex", branch_filter: "features/.*", ref: "refs/heads/master", expected_matches?: false5707 is expected to equal false5708 is expected to equal true5709 branch_filter_strategy: "regex", branch_filter: "(feature|dev)", ref: "refs/heads/feature", expected_matches?: true5710 is expected to equal true5711 is expected to equal true5712 branch_filter_strategy: "regex", branch_filter: "(feature|dev)", ref: "refs/heads/dev", expected_matches?: true5713 is expected to equal true5714 is expected to equal true5715 branch_filter_strategy: "regex", branch_filter: "(feature|dev)", ref: "refs/heads/master", expected_matches?: false5716 is expected to equal false5717 is expected to equal true5718 branch_filter_strategy: "regex", branch_filter: nil, ref: "refs/heads/master", expected_matches?: true5719 is expected to equal true5720 is expected to equal true5721 branch_filter_strategy: "regex", branch_filter: "", ref: "refs/heads/master", expected_matches?: true5722 is expected to equal true5723 is expected to equal true5724 when the branch filter is a invalid regex5725 is expected to equal false5726 when the branch filter is not properly set to nil5727 is expected to equal true5728 when feature flag is disabled5729 is expected to equal false5730 is expected to equal true5731gitlab:cleanup rake tasks5732 cleanup:project_uploads5733 with a fixable orphaned project upload file5734 with DRY_RUN disabled5735 moves the file to its proper location5736 logs action as done5737 with DRY_RUN explicitly enabled5738 behaves like does not move the file5739 does not move the file5740 logs action as able to be done5741 with DRY_RUN set to an unknown value5742 behaves like does not move the file5743 does not move the file5744 logs action as able to be done5745 with DRY_RUN unset5746 behaves like does not move the file5747 does not move the file5748 logs action as able to be done5749 gitlab:cleanup:orphan_job_artifact_files5750 runs the task without errors5751 with DRY_RUN set to false5752 passes dry_run correctly5753 gitlab:cleanup:orphan_lfs_file_references5754 runs the task without errors5755 with DRY_RUN set to false5756 passes dry_run correctly5757 gitlab:cleanup:orphan_lfs_files5758 runs RemoveUnreferencedLfsObjectsWorker5759 sessions5760 gitlab:cleanup:sessions:active_sessions_lookup_keys5761 runs the task without errors5762 removes expired active session lookup keys5763Clusters::Applications::UpgradeService5764 #execute5765 when there are no errors5766 make the application updating5767 schedule async installation status check5768 when kubernetes cluster communication fails5769 logs into kubernetes.log and Sentry5770 make the application errored5771 a non kubernetes error happens5772 logs into kubernetes.log and Sentry5773 make the application errored5774Gitlab5775 delegates root to GitlabEdition5776 delegates extensions to GitlabEdition5777 delegates ee? to GitlabEdition5778 delegates jh? to GitlabEdition5779 delegates ee to GitlabEdition5780 delegates jh to GitlabEdition5781 .revision5782 when a REVISION file exists5783 returns the actual Git revision5784 memoizes the revision5785 when no REVISION file exist5786 when the Git command succeeds5787 returns the actual Git revision5788 when the Git command fails5789 returns "Unknown"5790 .com?5791 is true when GITLAB_SIMULATE_SAAS is true and in development5792 is false when GITLAB_SIMULATE_SAAS is true and in test5793 when not simulating SaaS5794 is true when on https://gitlab.com5795 is true when on https://staging.gitlab.com5796 is true when on other gitlab subdomain5797 is true when on other gitlab subdomain with hyphen5798 is false when not on GitLab.com5799 .com5800 when on GitLab.com5801 is expected to equal true5802 when not on GitLab.com5803 is expected to be nil5804 .staging?5805 is false when on https://gitlab.com5806 is true when on https://staging.gitlab.com5807 is false when not on staging5808 .canary?5809 is true when CANARY env var is set to true5810 is false when CANARY env var is set to false5811 .com_and_canary?5812 is true when on .com and canary5813 is false when on .com but not on canary5814 .com_but_not_canary?5815 is false when on .com and canary5816 is true when on .com but not on canary5817 .org_or_com?5818 is true when on .com5819 is true when org5820 is false when not dev, org or com5821 .simulate_com?5822 when GITLAB_SIMULATE_SAAS is true5823 is false when test env5824 is true when dev env5825 is false when env is not dev5826 when GITLAB_SIMULATE_SAAS is false5827 is false when test env5828 is false when dev env5829 is false when env is not dev or test5830 .dev_or_test_env?5831 is true when test env5832 is true when dev env5833 is false when env is not dev or test5834 .http_proxy_env?5835 returns true when lower case https5836 returns true when upper case https5837 returns true when lower case http5838 returns true when upper case http5839 returns false when not set5840 .maintenance_mode?5841 returns true when maintenance mode is enabled5842 returns false when maintenance mode is disabled5843 returns false when maintenance mode column is not present5844Ci::BuildTraceChunks::Fog5845 #available?5846 when object storage is enabled5847 is expected to be truthy5848 when object storage is disabled5849 is expected to be falsy5850 #data5851 when data exists5852 returns the data5853 when data does not exist5854 returns nil5855 #set_data5856 when data exists5857 overwrites data5858 when data does not exist5859 sets new data5860 when S3 server side encryption is enabled5861 creates a file with attributes5862 #append_data5863 appends ASCII data5864 appends UTF-8 data5865 when initial data is UTF-85866 appends ASCII data5867 #delete_data5868 when data exists5869 deletes data5870 when data does not exist5871 does nothing5872 #size5873 when data exists5874 returns data bytesize correctly5875 when data does not exist5876 returns zero5877 #keys5878 returns keys5879 #delete_keys5880 deletes multiple data5881Types::GlobalIDType5882 is has the correct name5883 .coerce_result5884 can coerce results5885 rejects integer IDs5886 rejects strings5887 .coerce_input5888 can coerce valid input5889 handles all valid application GIDs5890 rejects invalid input5891 rejects nil5892 rejects GIDs from different apps5893 a parameterized type5894 is has the correct name5895 handles GIDs for invalid resource names gracefully5896 the GID is appropriate5897 can coerce results5898 can coerce IDs to a GlobalIDType5899 can coerce valid input5900 the GID is not for an appropriate type5901 raises errors when coercing results5902 will not coerce invalid input, even if its a valid GID5903 with a deprecation5904 appends the description with a deprecation notice for the old Global ID5905 coercing input against the type (parsing the Global ID string when supplied as an argument)5906 when passed the deprecated Global ID5907 changes the model_name to the new model name5908 changes the model_class to the new model class5909 can find the correct resource5910 can find the correct resource loaded through GitlabSchema5911 when passed the Global ID that is deprecating another5912 works as normal5913 coercing the result against the type (producing the Global ID string when used in a field)5914 when passed the deprecated Global ID5915 works, but does not result in matching the new Global ID5916 when passed the Global ID that is deprecating another5917 works as normal5918 executing against the schema5919 when the query signature includes the old type name5920 behaves like a query that works with old and new GIDs5921 when the argument value is the new GID5922 is expected to be present5923 when the argument value is the old GID5924 is expected to be present5925 when the query signature includes the new type name5926 behaves like a query that works with old and new GIDs5927 when the argument value is the new GID5928 is expected to be present5929 when the argument value is the old GID5930 is expected to be present5931 a parameterized type with a namespace5932 is has a valid GraphQL identifier for a name5933 .model_name_to_graphql_name5934 returns a graphql name for the given model name5935 .[]5936 returns a custom class for work items5937Types::UserInterface5938 is expected to eq "User"5939 is expected to require graphql authorizations :read_user5940 has the expected fields5941 name field5942 user requests5943 a user5944 returns name5945 a project bot5946 when requester is nil5947 returns nothing5948 when the requester is not a project member5949 returns `Project bot` for a non project member in a public project5950 in a private project5951 returns `****` for a non project member in a private project5952 with a project member5953 returns `Project bot` for a project member5954 in a private project5955 returns `Project bot` for a project member in a private project5956 a group bot5957 when requester is nil5958 returns nothing5959 when the requester is not a group member5960 returns `Group bot` for a non group member in a public group5961 in a private group5962 returns `****` for a non group member in a private group5963 with a group member5964 returns `Group bot` for a group member5965 in a private group5966 returns `Group bot` for a group member in a private group5967 admin requests5968 a user5969 returns name5970 a project bot5971 returns name5972 a group bot5973 returns name5974 snippets field5975 returns snippets5976 callouts field5977 returns user callouts5978 timelogs field5979 returns user timelogs5980Gitlab::Database::LoadBalancing::ConnectionProxy5981 #select5982 performs a read5983 #select_all5984 method signatures match5985 using a SELECT query5986 runs the query on a secondary5987 using a SELECT FOR UPDATE query5988 runs the query on the primary and sticks to it5989 sanitize_limit5990 runs the query on the replica5991 select5992 runs the query on the replica5993 select_one5994 runs the query on the replica5995 select_rows5996 runs the query on the replica5997 quote_column_name5998 runs the query on the replica5999 delete6000 runs the query on the primary and sticks to it6001 delete_all6002 runs the query on the primary and sticks to it6003 insert6004 runs the query on the primary and sticks to it6005 update6006 runs the query on the primary and sticks to it6007 update_all6008 runs the query on the primary and sticks to it6009 exec_insert_all6010 runs the query on the primary and sticks to it6011 methods using exec_insert_all on the connection6012 #upsert6013-- create_table(:_test_connection_proxy_insert_all, {:force=>true})6014 -> 0.0065s6015-- drop_table(:_test_connection_proxy_insert_all, {:force=>true})6016 -> 0.0021s6017 upserts a record and marks the session to stick to the primary6018 #insert_all!6019-- create_table(:_test_connection_proxy_insert_all, {:force=>true})6020 -> 0.0058s6021-- drop_table(:_test_connection_proxy_insert_all, {:force=>true})6022 -> 0.0020s6023 inserts multiple records and marks the session to stick to the primary6024 #insert6025-- create_table(:_test_connection_proxy_insert_all, {:force=>true})6026 -> 0.0054s6027-- drop_table(:_test_connection_proxy_insert_all, {:force=>true})6028 -> 0.0019s6029 inserts a single record and marks the session to stick to the primary6030 #transaction6031 session fallbacks ambiguous queries to replicas6032 with a read query6033 runs the transaction and any nested queries on the replica6034 with a write query6035 raises an exception6036 session does not fallback to replicas for ambiguous queries6037 with a read query6038 runs the transaction and any nested queries on the primary and stick to it6039 with a write query6040 runs the transaction and any nested queries on the primary and stick to it6041 #method_missing6042 runs the query on the primary without sticking to it6043 properly forwards keyword arguments6044 current session prefers to fallback ambiguous queries to replicas6045 runs the query on the replica6046 properly forwards keyword arguments6047 #read_using_load_balancer6048 with a regular session6049 uses a secondary6050 with a regular session and forcing all reads to replicas6051 uses a secondary6052 with a session using the primary but forcing all reads to replicas6053 uses a secondary6054 with a session using the primary6055 uses the primary6056 #write_using_load_balancer6057 uses but does not stick to the primary6058Gitlab::Chat::Responder::Slack6059 #send_response6060 sends a response back to Slack6061 #success6062 returns the output for a successful build6063 limits the output to a fixed size6064 does not send a response if the output is empty6065 #failure6066 returns the output for a failed build6067 #scheduled_output6068 returns the output for a scheduled build6069Terraform::StateUploader6070 #filename6071 contains the version of the terraform state record6072 legacy state with versioning disabled6073 contains the UUID of the terraform state record6074 #store_dir6075 hashes the project ID and UUID6076 legacy state with versioning disabled6077 contains the ID of the project6078 #key6079 creates a digest with a secret key and the project id6080 encryption6081 encrypts the stored file6082 decrypts the file when reading6083 .direct_upload_enabled?6084 returns false6085 .background_upload_enabled?6086 returns false6087 .proxy_download_enabled?6088 returns true6089 .default_store6090 when object storage is enabled6091 returns REMOTE6092 when object storage is disabled6093 returns LOCAL6094Mutations::Issues::Create6095 is expected to require graphql authorizations :create_issue6096 #resolve6097 when the user does not have permission to create an issue6098 raises an error6099 when the user has exceeded the rate limit6100 raises an error6101 when the user can create an issue6102 when creating an issue a developer6103 creates issue with correct values6104 when passing in label_ids6105 creates issue with correct values6106 when trying to create issue with restricted params6107 ignores the special params6108 when creating a non-default issue type6109 creates issue with correct values6110 when creating an issue as owner6111 sets the special params6112 #ready?6113 when passing in both labels and label_ids6114 raises exception when mutually exclusive params are given6115 when passing only `discussion_to_resolve` param6116 raises exception when mutually exclusive params are given6117 when passing only `merge_request_to_resolve_discussions_of` param6118 raises exception when mutually exclusive params are given6119Gitlab::Git::Push6120 #branch_name6121 when it is a branch push6122 returns branch name6123 when it is a tag push6124 returns nil6125 #branch_push?6126 when pushing a branch ref6127 is expected to be branch push6128 when it is a tag push6129 is expected not to be branch push6130 #branch_updated?6131 when it is a branch push with correct old and new revisions6132 is expected to be branch updated6133 when it is not a branch push6134 is expected not to be branch updated6135 when old revision is blank6136 is expected not to be branch updated6137 when it is not a branch push6138 is expected not to be branch updated6139 when oldrev is nil6140 is expected not to be branch updated6141 #force_push?6142 when old revision is an ancestor of the new revision6143 is expected not to be force push6144 when old revision is not an ancestor of the new revision6145 is expected to be force push6146 when called mulitiple times6147 does not make make multiple calls to the force push check6148 #branch_added?6149 when old revision is defined6150 is expected not to be branch added6151 when old revision is not defined6152 is expected to be branch added6153 #branch_removed?6154 when new revision is defined6155 is expected not to be branch removed6156 when new revision is not defined6157 is expected to be branch removed6158 #modified_paths6159 when a push is a branch update6160 returns modified paths6161 when a push is not a branch update6162 raises an error6163 #oldrev6164 when a valid oldrev is provided6165 returns oldrev6166 when a nil valud is provided6167 returns blank SHA6168 #newrev6169 when valid newrev is provided6170 returns newrev6171 when a nil valud is provided6172 returns blank SHA6173JiraImport::StartImportService6174 when an error is returned from the project validation6175 behaves like responds with error6176 returns error6177 when project validation is ok6178 when Jira project key is not provided6179 behaves like responds with error6180 returns error6181 when correct data provided6182 when import is already running6183 behaves like responds with error6184 returns error6185 when an error is raised while scheduling import6186 saves the error message6187 behaves like responds with error6188 returns error6189 when everything is ok6190 with complete mapping6191 returns success response6192 schedules Jira import6193 creates Jira import data6194 creates Jira import label6195 creates Jira label title with correct number6196 when mapping is nil6197 returns success response6198 when no mapping value is complete6199 returns success response6200 when multiple Jira imports for same Jira project6201 creates Jira label title with correct number6202ProjectFeaturesCompatibility6203 converts fields from 'true' to ProjectFeature::ENABLED6204 converts fields from 'false' to ProjectFeature::DISABLED6205 converts fields from true to ProjectFeature::ENABLED6206 converts fields from false to ProjectFeature::DISABLED6207 access levels6208 access_level: "disabled", expected_result: 06209 accepts access level6210 access_level: "private", expected_result: 106211 accepts access level6212 access_level: "enabled", expected_result: 206213 accepts access level6214 access_level: "public", expected_result: 306215 accepts access level6216gitlab:praefect:replicas6217 replicas6218 when a valid project id is used as the argument6219 calls praefect info service's replicas method6220 prints out the expected row6221 when a non existent project id is used as the argument6222 does not call praefect info service's replicas method6223 when replicas throws an exception6224 aborts with the correct error message6225Projects::DeployTokens::CreateService6226 behaves like a deploy token creation service6227 #execute6228 when the deploy token is valid6229 creates a new DeployToken6230 creates a new ProjectDeployToken6231 returns a DeployToken6232 sets the creator_id as the id of the current_user6233 when expires at date is not passed6234 sets Forever.date6235 when username is empty string6236 converts it to nil6237 when username is provided6238 keeps the provided username6239 when the deploy token is invalid6240 does not create a new DeployToken6241 does not create a new ProjectDeployToken6242ProjectLabel6243 relationships6244 is expected to belong to project required: false6245 validations6246 is expected to validate that :project cannot be empty/falsy6247 validates if title must not exist at group level6248 returns error if title already exists at group level6249 does not returns error if title does not exist at group level6250 does not returns error if project does not belong to group6251 does not returns error when title does not change6252 when attempting to add more than one priority to the project label6253 returns error6254 #subject6255 aliases project to subject6256 #to_reference6257 using id6258 returns a String reference to the object6259 using name6260 returns a String reference to the object6261 uses id when name contains double quote6262 using invalid format6263 raises error6264 cross project reference6265 using name6266 returns cross reference with label name6267 using id6268 returns cross reference with label id6269Gitlab::Audit::Auditor6270 .audit6271 when authentication event6272 creates an authentication event6273 logs audit events to database6274 logs audit events to file6275 when overriding the create datetime6276 logs audit events to database6277 logs audit events to file6278 when overriding the additional_details6279 logs audit events to database6280 logs audit events to file6281 when overriding the target_details6282 logs audit events to database6283 logs audit events to file6284 when authentication event is false6285 does not create an authentication event6286 when authentication event is invalid6287 tracks error6288 does not throw exception6289 when audit events are invalid6290 tracks error6291 does not throw exception6292Gitlab::Ci::Build::Policy::Changes6293 #satisfied_by?6294 paths matching6295 is satisfied by matching literal path6296 is satisfied by matching simple pattern6297 is satisfied by matching recusive pattern6298 is satisfied by matching a pattern with a dot6299 is satisfied by matching a pattern with a glob6300 is not satisfied when pattern does not match path6301 is not satisfied when pattern does not match6302 is not satified when pattern with glob does not match6303 when modified paths can not be evaluated6304 is always satisfied6305 gitaly integration6306 is satisfied by changes introduced by a push6307 is not satisfied by changes that are not in the push6308 when branch is created6309 when source is merge request6310 is satified by changes in the merge request6311 is not satified by changes not in the merge request6312 when source is push6313 is always satified6314PruneOldEventsWorker6315 #perform6316 prunes events older than 3 years6317 leaves fresh events6318 leaves events from 13 months ago6319 leaves events from 3 years ago6320Gitlab::GithubImport::Importer::PullRequestsReviewsImporter6321 is expected to includes the Gitlab::GithubImport::ParallelScheduling module6322 #representation_class6323 is expected to eq Gitlab::GithubImport::Representation::PullRequestReview6324 #importer_class6325 is expected to eq Gitlab::GithubImport::Importer::PullRequestReviewImporter6326 #collection_method6327 is expected to eq :pull_request_reviews6328 #id_for_already_imported_cache6329 is expected to eq 16330 #each_object_to_import6331 fetches the pull requests reviews data6332 skips cached pages6333 skips cached merge requests6334Banzai::Filter::BroadcastMessageSanitizationFilter6335 behaves like default allowlist6336 sanitizes tags that are not allowed6337 sanitizes tag attributes6338 sanitizes javascript in attributes6339 sanitizes mixed-cased javascript in attributes6340 allows whitelisted HTML tags from the user6341 sanitizes `class` attribute on any element6342 sanitizes `id` attribute on any element6343 custom allowlist6344 behaves like XSS prevention6345 disallows protocol-based JS injection: simple, no spaces6346 disallows protocol-based JS injection: simple, spaces before6347 disallows protocol-based JS injection: simple, spaces after6348 disallows protocol-based JS injection: simple, spaces before and after6349 disallows protocol-based JS injection: preceding colon6350 disallows protocol-based JS injection: UTF-8 encoding6351 disallows protocol-based JS injection: long UTF-8 encoding6352 disallows protocol-based JS injection: long UTF-8 encoding without semicolons6353 disallows protocol-based JS injection: hex encoding6354 disallows protocol-based JS injection: long hex encoding6355 disallows protocol-based JS injection: hex encoding without semicolons6356 disallows protocol-based JS injection: null char6357 disallows protocol-based JS injection: invalid URL char6358 disallows protocol-based JS injection: Unicode6359 disallows protocol-based JS injection: spaces and entities6360 disallows protocol whitespace6361 disallows data links6362 disallows vbscript links6363 behaves like sanitize link6364 removes `rel` attribute from `a` elements6365 disallows invalid URIs6366 allows non-standard anchor schemes6367 allows relative links6368 allows `a` elements6369 is expected to eq "<a href=\"/\">Link</a>"6370 allows `br` elements6371 is expected to eq "Hello<br>World"6372 when `a` elements have `style` attribute6373 disallows other properties in `style` attribute on `a` elements6374 allows specific properties6375 is expected to eq "<a href=\"#\" style=\"color: red; border: blue; background: green; padding: 10px; margin: 10px; text-decoration: underline;\">Stylish Link</a>"6376 allows `class` on `a` elements6377 is expected to eq "<a href=\"#\" class=\"btn\">Button Link</a>"6378Gitlab::ManifestImport::ProjectCreator6379 #execute6380 is expected to be a kind of Project(id: integer, name: string, path: string, description: text, created_at: datetime, updated_at:..._issues: boolean, suggestion_commit_message: string, project_namespace_id: integer, hidden: boolean)6381 is expected to change `Project.count` by 16382 is expected to change `Group.count` by 16383 creates project with valid full path, import url and import source6384Ci::CreatePipelineService6385 tags:6386 with valid config6387 creates a pipeline6388 with too many tags6389 creates a pipeline without builds6390 tags persistence6391 with multiple tags6392 when the tags do not exist6393 does not execute N+1 queries6394 when tags are already persisted6395 does not execute N+1 queries6396 with bridge jobs6397 is expected to be empty6398Pajamas::AlertComponent6399 slots6400 renders alert body6401 renders actions6402 with defaults6403 does not set a title6404 renders the default variant6405 renders a dismiss button6406 title6407 with non-empty string6408 sets the title6409 with nil, empty or blank string6410 title: nil6411 does not set a title6412 title: ""6413 does not set a title6414 title: " "6415 does not set a title6416 with custom options6417 with simple options6418 sets the alert_class6419 sets the alert_data6420 with dismissible disabled6421 has the "not dismissible" class6422 does not render the dismiss button6423 with the icon hidden6424 has the hidden icon class6425 does not render the icon6426 with dismissible content6427 does not have "not dismissible" class6428 renders a dismiss button and data6429 with setting variant type6430 variant: :warning6431 renders the variant6432 variant: "success"6433 renders the variant6434 variant: :danger6435 renders the variant6436 variant: "tip"6437 renders the variant6438 with unknown or nil variant6439 variant: :foo6440 adds the default variant class6441 variant: nil6442 adds the default variant class6443FeatureFlagsFinder6444 #execute6445 returns feature flags ordered by name6446 preloads relations by default6447 when user is a reporter6448 returns an empty list6449 when scope is given6450 when scope is enabled6451 returns active feature flag6452 when scope is disabled6453 returns inactive feature flag6454 when preload option is false6455 does not preload relations6456events/event/_push.html.haml6457 with a branch6458 links to the branch6459 that has been deleted6460 does not link to the branch6461 ref_count is more than 16462 includes the count in the text6463 with a tag6464 links to the tag6465 that has been deleted6466 does not link to the tag6467 ref_count is more than 16468 includes the count in the text6469HtmlEscapedHelpers6470 # order random6471 #match_html_escaped_tags6472 content: nil, expected_match: nil6473 is expected to eq nil6474 content: "", expected_match: nil6475 is expected to eq nil6476 content: "<a href", expected_match: nil6477 is expected to eq nil6478 content: "<span href", expected_match: nil6479 is expected to eq nil6480 content: "</a>", expected_match: nil6481 is expected to eq nil6482 content: "<a href", expected_match: "<a"6483 is expected to eq "<a"6484 content: "<span href", expected_match: "<span"6485 is expected to eq "<span"6486 content: "< span", expected_match: "< span"6487 is expected to eq "< span"6488 content: "some text <a href", expected_match: "<a"6489 is expected to eq "<a"6490 content: "some text \"<a href", expected_match: "<a"6491 is expected to eq "<a"6492 content: "</a&glt;", expected_match: "</a"6493 is expected to eq "</a"6494 content: "</span>", expected_match: "</span"6495 is expected to eq "</span"6496 content: "< / span>", expected_match: "< / span"6497 is expected to eq "< / span"6498 content: "title=\"<a href", expected_match: nil6499 is expected to eq nil6500 content: "title= \"<a href", expected_match: nil6501 is expected to eq nil6502 content: "title= '<a href", expected_match: nil6503 is expected to eq nil6504 content: "title= '</a", expected_match: nil6505 is expected to eq nil6506 content: "title= '</span", expected_match: nil6507 is expected to eq nil6508 content: "title=\"foo\"><a", expected_match: "<a"6509 is expected to eq "<a"6510 content: "title='foo'>\n<a", expected_match: "<a"6511 is expected to eq "<a"6512 #ensure_no_html_escaped_tags!6513 when content contains HTML escaped chars6514 raises an exception6515 when content does not contain HTML escaped tags6516 does not raise anything6517Gitlab::Database::Count6518 .approximate_counts6519 fallbacks6520 gets results from first strategy6521 gets more results from second strategy if some counts are missing6522 does not get more results as soon as all counts are present6523 default strategies6524 with a read-only database6525 only uses the ExactCountStrategy6526 with a read-write database6527 uses the available strategies6528Boards::BoardsFinder6529 #execute6530 when board parent is a project6531 behaves like boards list service6532 does not create a new board6533 returns parent boards6534 behaves like multiple boards list service6535 #execute6536 returns all issue boards6537 returns boards ordered by name6538 when wanting a specific board6539 returns board specified by id6540 raises exception when board is not found6541 when board parent is a group6542 behaves like boards list service6543 does not create a new board6544 returns parent boards6545Sidebars::Projects::Menus::DeploymentsMenu6546 #render?6547 when menu does not have any menu items6548 returns false6549 when menu has menu items6550 returns true6551 Menu Items6552 Feature Flags6553 behaves like access rights checks6554 is expected not to be nil6555 when the user does not have access6556 is expected to be nil6557 when the feature is disabled6558 is expected to be nil6559 behaves like split_operations_visibility_permissions FF disabled6560 is expected not to be nil6561 and the feature is disabled6562 is expected not to be nil6563 and operations is disabled6564 is expected to be nil6565 Environments6566 behaves like access rights checks6567 is expected not to be nil6568 when the user does not have access6569 is expected to be nil6570 when the feature is disabled6571 is expected to be nil6572 behaves like split_operations_visibility_permissions FF disabled6573 is expected not to be nil6574 and the feature is disabled6575 is expected not to be nil6576 and operations is disabled6577 is expected to be nil6578 Releases6579 behaves like access rights checks6580 is expected not to be nil6581 when the user does not have access6582 is expected to be nil6583 when the feature is disabled6584 is expected to be nil6585ActiveRecord locking6586 when lock_version is NULL6587 behaves like locked model6588 can be updated6589 can be deleted6590 when lock_version is 06591 behaves like locked model6592 can be updated6593 can be deleted6594 when lock_version is 16595 behaves like locked model6596 can be updated6597 can be deleted6598Gitlab::Ci::Pipeline::Expression::Lexer6599 #tokens6600 returns single value6601 does ignore whitespace characters6602 returns multiple values of the same token6603 returns multiple values with different tokens6604 returns tokens and operators6605 limits statement to specified amount of tokens6606 raises syntax error in case of finding unknown tokens6607 with complex expressions6608 expression: "$PRESENT_VARIABLE =~ /my var/ && $EMPTY_VARIABLE =~ /nope/", tokens: ["$PRESENT_VARIABLE", "=~", "/my var/", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]6609 is expected to eq ["$PRESENT_VARIABLE", "=~", "/my var/", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]6610 expression: "$EMPTY_VARIABLE == \"\" && $PRESENT_VARIABLE", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE"]6611 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE"]6612 expression: "$EMPTY_VARIABLE == \"\" && $PRESENT_VARIABLE != \"nope\"", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE", "!=", "\"nope\""]6613 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "&&", "$PRESENT_VARIABLE", "!=", "\"nope\""]6614 expression: "$PRESENT_VARIABLE && $EMPTY_VARIABLE", tokens: ["$PRESENT_VARIABLE", "&&", "$EMPTY_VARIABLE"]6615 is expected to eq ["$PRESENT_VARIABLE", "&&", "$EMPTY_VARIABLE"]6616 expression: "$PRESENT_VARIABLE =~ /my var/ || $EMPTY_VARIABLE =~ /nope/", tokens: ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "$EMPTY_VARIABLE", "=~", "/nope/"]6617 is expected to eq ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "$EMPTY_VARIABLE", "=~", "/nope/"]6618 expression: "$EMPTY_VARIABLE == \"\" || $PRESENT_VARIABLE", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE"]6619 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE"]6620 expression: "$EMPTY_VARIABLE == \"\" || $PRESENT_VARIABLE != \"nope\"", tokens: ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE", "!=", "\"nope\""]6621 is expected to eq ["$EMPTY_VARIABLE", "==", "\"\"", "||", "$PRESENT_VARIABLE", "!=", "\"nope\""]6622 expression: "$PRESENT_VARIABLE || $EMPTY_VARIABLE", tokens: ["$PRESENT_VARIABLE", "||", "$EMPTY_VARIABLE"]6623 is expected to eq ["$PRESENT_VARIABLE", "||", "$EMPTY_VARIABLE"]6624 expression: "$PRESENT_VARIABLE && null || $EMPTY_VARIABLE == \"\"", tokens: ["$PRESENT_VARIABLE", "&&", "null", "||", "$EMPTY_VARIABLE", "==", "\"\""]6625 is expected to eq ["$PRESENT_VARIABLE", "&&", "null", "||", "$EMPTY_VARIABLE", "==", "\"\""]6626 with parentheses are used6627 expression: "($PRESENT_VARIABLE =~ /my var/) && $EMPTY_VARIABLE =~ /nope/", tokens: ["(", "$PRESENT_VARIABLE", "=~", "/my var/", ")", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]6628 is expected to eq ["(", "$PRESENT_VARIABLE", "=~", "/my var/", ")", "&&", "$EMPTY_VARIABLE", "=~", "/nope/"]6629 expression: "$PRESENT_VARIABLE =~ /my var/ || ($EMPTY_VARIABLE =~ /nope/)", tokens: ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "(", "$EMPTY_VARIABLE", "=~", "/nope/", ")"]6630 is expected to eq ["$PRESENT_VARIABLE", "=~", "/my var/", "||", "(", "$EMPTY_VARIABLE", "=~", "/nope/", ")"]6631 expression: "($PRESENT_VARIABLE && (null || $EMPTY_VARIABLE == \"\"))", tokens: ["(", "$PRESENT_VARIABLE", "&&", "(", "null", "||", "$EMPTY_VARIABLE", "==", "\"\"", ")", ")"]6632 is expected to eq ["(", "$PRESENT_VARIABLE", "&&", "(", "null", "||", "$EMPTY_VARIABLE", "==", "\"\"", ")", ")"]6633 #lexemes6634 returns an array of syntax lexemes6635DiscussionEntity6636 exposes correct attributes6637 does not include base discussion in the notes6638 resolved_by matches note_user_entity schema6639 exposes the url for custom award emoji6640 when is LegacyDiffDiscussion6641 exposes correct attributes6642 when diff file is present6643 exposes diff file attributes6644Gitlab::GithubImport6645 github.com6646 returns a new Client with a custom token6647 returns a new Client with a token stored in the import data6648 returns the ID of the ghost user6649 caches the ghost user ID6650 GitHub Enterprise6651 returns a new Client with a custom token6652 returns a new Client with a token stored in the import data6653 returns the ID of the ghost user6654 caches the ghost user ID6655 formats the import url6656 .per_page6657 when project group is present6658 when github_importer_lower_per_page_limit is enabled6659 returns lower per page value6660 when github_importer_lower_per_page_limit is disabled6661 returns default per page value6662 when project group is missing6663 returns default per page value6664Network::Graph6665 #initialize6666 #commits6667 returns a list of commits6668 sorts commits by commit date (descending)6669 sorts children before parents for commits with the same timestamp6670DestroyPagesDeploymentsWorker6671 doesn't fail if project is already removed6672 can be called without last_deployment_id6673 calls destroy service6674Ci::BuildReportResultService6675 #execute6676 when build is finished6677 creates a build report result entry6678 tracks unique test cases parsed6679 and build has test report parsing errors6680 creates a build report result entry with suite error6681 does not track unique test cases parsed6682 when data has already been persisted6683 raises an error and do not persist the same data twice6684 when build is running and test report does not exist6685 does not persist data6686AtomicInternalId6687 #save!6688 when IID is provided6689 tracks the value6690 when importing6691 does not track the value6692 #track_project_iid!6693 tracks the present value6694 when value is set by ensure_project_iid!6695 does not track the value6696 tracks the iid for the scope that is actually present6697 #ensure_project_iid!6698 generates a new value if non is present6699 generates a new value if first set with iid= but later set to nil6700 #clear_scope_iid!6701 when no ensure_if condition is given6702 clears automatically set IIDs6703 does not clear manually set IIDS6704 when an ensure_if condition is given6705 when the ensure_if condition evaluates to true6706 clears automatically set IIDs6707 does not clear manually set IIDs6708 when the ensure_if condition evaluates to false6709 does not clear IIDs6710 #validate_scope_iid_exists!6711 when the presence flag is set6712 raises an error for blank iids on create6713 raises an error for blank iids on update6714 when the presence flag is not set6715 does not raise an error for blank iids on create6716 does not raise an error for blank iids on update6717 .with_project_iid_supply6718 supplies a stream of iid values6719 .track_project_iid!6720 tracks the present value6721Gitlab::Ci::Pipeline::Expression::Parser6722 #tree6723 validates simple operators6724 expression: "$VAR1 == \"123\"", result_tree: "equals($VAR1, \"123\")"6725 is expected to eq "equals($VAR1, \"123\")"6726 expression: "$VAR1 == \"123\" == $VAR2", result_tree: "equals(equals($VAR1, \"123\"), $VAR2)"6727 is expected to eq "equals(equals($VAR1, \"123\"), $VAR2)"6728 expression: "$VAR", result_tree: "$VAR"6729 is expected to eq "$VAR"6730 expression: "\"some value\"", result_tree: "\"some value\""6731 is expected to eq "\"some value\""6732 expression: "null", result_tree: "null"6733 is expected to eq "null"6734 expression: "$VAR1 || $VAR2 && $VAR3", result_tree: "or($VAR1, and($VAR2, $VAR3))"6735 is expected to eq "or($VAR1, and($VAR2, $VAR3))"6736 expression: "$VAR1 && $VAR2 || $VAR3", result_tree: "or(and($VAR1, $VAR2), $VAR3)"6737 is expected to eq "or(and($VAR1, $VAR2), $VAR3)"6738 expression: "$VAR1 && $VAR2 || $VAR3 && $VAR4", result_tree: "or(and($VAR1, $VAR2), and($VAR3, $VAR4))"6739 is expected to eq "or(and($VAR1, $VAR2), and($VAR3, $VAR4))"6740 expression: "$VAR1 && ($VAR2 || $VAR3) && $VAR4", result_tree: "and(and($VAR1, or($VAR2, $VAR3)), $VAR4)"6741 is expected to eq "and(and($VAR1, or($VAR2, $VAR3)), $VAR4)"6742 when combining && and OR operators6743 returns operations in a correct order6744 when using parenthesis6745 returns operations in a correct order6746 when expression is empty6747 raises a parsing error6748 when two value tokens have no operator6749 raises a parsing error6750 when an operator has no left side6751 raises an OperatorError6752 when an operator has no right side6753 raises an OperatorError6754 when parenthesis are unmatched6755 expression: "$VAR == ("6756 raises a ParseError6757 expression: "$VAR2 == (\"aa\""6758 raises a ParseError6759 expression: "$VAR2 == (\"aa\"))"6760 raises a ParseError6761 expression: "$VAR2 == \"aa\")"6762 raises a ParseError6763 expression: "(($VAR2 == \"aa\")"6764 raises a ParseError6765 expression: "($VAR2 == \"aa\"))"6766 raises a ParseError6767RepositoryArchiveCleanUpService6768 #execute (new archive locations)6769 removes outdated archives and directories in a new-style path6770 removes outdated archives and directories in a versioned path6771 does not remove directories when they contain outdated non-archives6772 does not remove in-date archives in a new-style path6773 #execute (legacy archive locations)6774 when the downloads directory does not exist6775 does not remove any archives6776 when the downloads directory exists6777 removes files older than 2 hours that matches valid archive extensions6778 with files older than 2 hours that does not matches valid archive extensions6779 behaves like invalid archive files6780 does not remove files and directory6781 with files older than 2 hours inside invalid directories6782 behaves like invalid archive files6783 does not remove files and directory6784 with files newer than 2 hours that matches valid archive extensions6785 behaves like invalid archive files6786 does not remove files and directory6787 with files newer than 2 hours that does not matches valid archive extensions6788 behaves like invalid archive files6789 does not remove files and directory6790 with files newer than 2 hours inside invalid directories6791 behaves like invalid archive files6792 does not remove files and directory6793WorkItems::Type6794 modules6795 is expected to includes the CacheMarkdownField module6796 associations6797 is expected to have many work_items6798 is expected to belong to namespace required: false6799 scopes6800 order_by_name_asc6801 is expected to match ["atype", "gtype", "Ztype"]6802 #destroy6803 does not delete type when there are related issues6804 when there are no work items of that type6805 deletes type but not unrelated issues6806 validation6807 is expected not to allow :icon_name to be ‹"ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"›6808 name uniqueness6809 is expected to validate that :name is case-insensitively unique within the scope of :namespace_id6810 .available_widgets6811 returns list of all possible widgets6812 #default?6813 when namespace is nil6814 is expected to be truthy6815 when namespace is present6816 is expected to be falsey6817 #name6818 strips name6819Integrations::MockCi6820 accessors6821 is expected to respond to #enable_ssl_verification6822 is expected to respond to #enable_ssl_verification?6823 #initialize_properties6824 enables the setting by default6825 does not enable the setting if the record is already persisted6826 does not enable the setting if a custom value was set6827 #fields6828 inserts the checkbox field after the first URL field, or at the end6829 does not insert the field repeatedly6830 #commit_status6831 returns allowed states6832 returns :pending for 404 responses6833 returns :error for responses other than 200 or 4046834 returns :error for unknown states6835 returns :error for invalid JSON6836 returns :error for non-hash JSON responses6837 returns :error for JSON responses without a status6838 returns :error when connection is refused6839DeployKeysProject6840 Associations6841 is expected to belong to deploy_key required: false6842 is expected to belong to project required: false6843 Validation6844 is expected to validate that :project_id cannot be empty/falsy6845 is expected to validate that :deploy_key cannot be empty/falsy6846 Destroying6847 when the deploy key is only used by this project6848 when the deploy key is public6849 doesn't destroy the deploy key6850 when the deploy key is private6851 destroys the deploy key6852 when the deploy key is used by more than one project6853 doesn't destroy the deploy key6854Banzai::Filter::WikiLinkFilter6855 doesn't rewrite absolute links6856 doesn't rewrite links to project uploads6857 when links are rewritable6858 stores original url in the data-canonical-src attribute6859 when links are not rewritable6860 does not store original url in the data-canonical-src attribute6861 when links point to the relative wiki path6862 does not rewrite links6863 does not rewrite links to old relative wiki path6864 when links point to the uploads folder6865 with an "a" html tag6866 rewrites links6867 with "img" html tag6868 inside an "a" html tag6869 rewrites links6870 outside an "a" html tag6871 rewrites links6872 with "video" html tag6873 rewrites links6874 with "audio" html tag6875 rewrites links6876 invalid links6877 doesn't rewrite invalid invalid_links like http://:80806878 doesn't rewrite invalid invalid_links like http://6879 doesn't rewrite invalid invalid_links like http://:8080/path6880BulkImports::PipelineWorker6881 behaves like successfully runs the pipeline6882 runs the given pipeline successfully6883 when the pipeline cannot be found6884 logs the error6885 when the pipeline raises an exception6886 logs the error6887 when entity is failed6888 marks tracker as skipped and logs the skip6889 when retry pipeline error is raised6890 reenqueues the worker6891 when file extraction pipeline6892 runs the pipeline successfully6893 when export status is started6894 reenqueues pipeline worker6895 when export status is empty6896 reenqueues pipeline worker6897 when job reaches timeout6898 marks as failed and logs the error6899 when export status is failed6900 marks as failed and logs the error6901Gitlab::APIAuthentication::Builder6902 #build6903 behaves like builds the correct result6904 with 1 token type(s) and 1 sent through(s)6905 works when passed together6906 works when token types are passed separately6907 works when sent throughs are passed separately6908 works when token types and sent throughs are passed separately6909 behaves like builds the correct result6910 with 1 token type(s) and 2 sent through(s)6911 works when passed together6912 works when token types are passed separately6913 works when sent throughs are passed separately6914 works when token types and sent throughs are passed separately6915 behaves like builds the correct result6916 with 2 token type(s) and 1 sent through(s)6917 works when passed together6918 works when token types are passed separately6919 works when sent throughs are passed separately6920 works when token types and sent throughs are passed separately6921 behaves like builds the correct result6922 with 2 token type(s) and 2 sent through(s)6923 works when passed together6924 works when token types are passed separately6925 works when sent throughs are passed separately6926 works when token types and sent throughs are passed separately6927 with a complex auth strategy6928 builds the correct result6929WebHooks::LogDestroyService6930 #execute6931 with system hook6932 behaves like deletes web hook logs for hook6933 deletes the logs6934 when the data-set exceeds the batch size6935 deletes the logs6936 when it encounters an error6937 reports the error6938 with project hook6939 behaves like deletes web hook logs for hook6940 deletes the logs6941 when the data-set exceeds the batch size6942 deletes the logs6943 when it encounters an error6944 reports the error6945Identity6946 relations6947 is expected to belong to user required: false6948 fields6949 is expected to respond to #provider6950 is expected to respond to #extern_uid6951 validations6952 with existing user and provider6953 returns false for a duplicate entry6954 returns true when a different provider is used6955 with newly-created user6956 successfully validates even with a nil user_id6957 #is_ldap?6958 returns true if it is a ldap identity6959 returns false if it is not a ldap identity6960 .with_extern_uid6961 LDAP identity6962 finds the identity when the DN is formatted differently6963 any other provider6964 the extern_uid lookup is case insensitive6965 .with_any_extern_uid6966 provider with extern uid6967 finds any extern uids associated with a provider6968 provider with nil extern uid6969 has no results when there are no extern uids6970 no provider6971 has no results when there is no associated provider6972 callbacks6973 before_save6974 normalizes extern uid6975 if extern_uid changes6976 if current_uid is nil6977 if extern_uid changed and not nil6978 after_destroy6979 if user synced attributes metadada provider6980 matches the identity provider6981 removes the user synced attributes6982 does not matche the identity provider6983 does not remove the user synced attributes6984ProtectedBranch::PushAccessLevel6985 is expected to validate that :access_level is either ‹40›, ‹30›, or ‹0›6986 associations6987 is expected to belong to deploy_key required: false6988 validations6989 is not valid when a record exists with the same access level6990 is not valid when a record exists with the same access level6991 checks that a deploy key is enabled for the same project as the protected branch's6992 #check_access6993 when this push_access_level is tied to a deploy key6994 when the deploy key is among the active keys for this project6995 is expected to be truthy6996 when the deploy key is not among the active keys of this project6997 is false6998 #type6999 returns :deploy_key when a deploy key is tied to the protected branch7000 returns :role by default7001FeatureFlags::CreateService7002 #execute7003 when feature flag can not be created7004 returns status error7005 returns validation errors7006 does not create audit log7007 does not sync the feature flag to Jira7008 behaves like does not update feature flag client7009 does not update last feature flag updated at7010 when feature flag is saved correctly7011 returns status success7012 creates feature flag7013 creates audit event7014 behaves like update feature flag client7015 updates last feature flag updated at7016 when Jira Connect subscription does not exist7017 does not sync the feature flag to Jira7018 when Jira Connect subscription exists7019 syncs the feature flag to Jira7020 when user is reporter7021 returns error status7022WikiPages::EventCreateService7023 #execute7024 returns a successful response7025 creates a wiki page event7026 returns an event in the payload7027 records the slug for the page7028 the user is nil7029 raises an error on construction7030 the action is illegal7031 returns an error7032 does not create an event7033 the action is a deletion7034 does not synchronize the wiki metadata timestamps with the git commit7035Gitlab::Ci::Config::Entry::Reports::CoverageReport7036 validations7037 when it is valid7038 is expected to be valid7039 is expected to eq {:coverage_format=>"cobertura", :path=>"cobertura-coverage.xml"}7040 with unsupported coverage format7041 is expected not to be valid7042 is expected to include /format must be one of supported formats/7043 without coverage format7044 is expected not to be valid7045 is expected to include /format can't be blank/7046 without path7047 is expected not to be valid7048 is expected to include /path can't be blank/7049 with invalid path7050 is expected not to be valid7051 is expected to include /path should be a string/7052 with unknown keys7053 is expected not to be valid7054 is expected to include /contains unknown keys/7055Gitlab::Composer::Cache7056 #execute7057 creating packages7058 with a pre-existing package7059 updates the sha and creates the cache page7060 behaves like Composer create cache page7061 creates the cached page7062 behaves like Composer marks cache page for deletion7063 marks the page for deletion7064 first package7065 updates the sha and creates the cache page7066 behaves like Composer create cache page7067 creates the cached page7068 updating packages7069 behaves like Composer create cache page7070 creates the cached page7071 behaves like Composer marks cache page for deletion7072 marks the page for deletion7073 deleting packages7074 when it is not the last package7075 behaves like Composer create cache page7076 creates the cached page7077 behaves like Composer marks cache page for deletion7078 marks the page for deletion7079 when it is the last package7080 does not create a new page7081 behaves like Composer marks cache page for deletion7082 marks the page for deletion7083Gitlab::ZoomLinkExtractor7084 #links7085 text: "issue text https://zoom.us/j/123 and https://zoom.us/s/1123433", links: ["https://zoom.us/j/123", "https://zoom.us/s/1123433"]7086 is expected to eq ["https://zoom.us/j/123", "https://zoom.us/s/1123433"]7087 text: "https://zoom.us/j/1123433 issue text", links: ["https://zoom.us/j/1123433"]7088 is expected to eq ["https://zoom.us/j/1123433"]7089 text: "issue https://zoom.us/my/1123433 text", links: ["https://zoom.us/my/1123433"]7090 is expected to eq ["https://zoom.us/my/1123433"]7091 text: "issue https://gitlab.com and https://gitlab.zoom.us/s/1123433", links: ["https://gitlab.zoom.us/s/1123433"]7092 is expected to eq ["https://gitlab.zoom.us/s/1123433"]7093 text: "https://gitlab.zoom.us/j/1123433", links: ["https://gitlab.zoom.us/j/1123433"]7094 is expected to eq ["https://gitlab.zoom.us/j/1123433"]7095 text: "https://gitlab.zoom.us/my/1123433", links: ["https://gitlab.zoom.us/my/1123433"]7096 is expected to eq ["https://gitlab.zoom.us/my/1123433"]7097 #match?7098 is true when a zoom link found7099 is false when no zoom link found7100Types::EnvironmentType7101 is expected to eq "Environment"7102 includes the expected fields7103 is expected to require graphql authorizations :read_environment7104 when there is an environment7105 returns an environment7106 returns the path to the environment7107 returns the external url of the environment7108 when query alert data for the environment7109 does not return alert information7110 when alert is raised on the environment7111 returns alert information7112IncidentManagement::IssuableEscalationStatuses::AfterUpdateService7113 with status attributes7114 adds a status change system note7115 adds a status change timeline event7116 with non-status attributes7117 does not add a status change system note or timeline event7118Clusters::Aws::FinalizeCreationService7119 #execute7120 configures the provider and platform7121 calls the create_service_account_service7122 configures cluster node authentication7123 error handling7124 failed to request stack details from AWS7125 sets the status to :errored with an appropriate error message7126 failed to create auth config map7127 sets the status to :errored with an appropriate error message7128 failed to save records7129 sets the status to :errored with an appropriate error message7130Gitlab::Sanitizers::SVG7131 .clean7132 delegates sanitization to scrubber7133 returns sanitized data7134 scrubber7135 #scrub7136 removes an invalid element7137 removes an invalid attribute7138 accepts valid element7139 accepts valid namespaced attributes7140 #attribute_name_with_namespace7141 returns name with prefix when attribute is namespaced7142 #unsafe_href?7143 returns true if href attribute is an external url7144 returns false if href atttribute is an internal reference7145 #data_attribute?7146 returns true if is a valid data attribute7147 returns false if attribute is namespaced7148 returns false if not a data attribute7149ErrorTracking::ErrorEvent7150 relationships7151 is expected to belong to error required: false7152 validations7153 is expected to validate that :description cannot be empty/falsy7154 is expected to validate that the length of :description is at most 10247155 is expected to validate that :occurred_at cannot be empty/falsy7156 is expected to validate that the length of :level is at most 2557157 is expected to validate that the length of :environment is at most 2557158 #stacktrace7159 builds a stacktrace7160 #to_sentry_error_event7161 is expected to be a kind of Gitlab::ErrorTracking::ErrorEvent7162Mutations::Clusters::Agents::Create7163 is expected to require graphql authorizations :create_cluster7164 #resolve7165 without project permissions7166 raises an error if the resource is not accessible to the user7167 with user permissions7168 creates a new clusters_agent7169 invalid params7170 generates an error message when name is invalid7171Gitlab::Ci::Status::Created7172 #text7173 is expected to eq "created"7174 #label7175 is expected to eq "created"7176 #icon7177 is expected to eq "status_created"7178 #favicon7179 is expected to eq "favicon_status_created"7180 #group7181 is expected to eq "created"7182 #details_path7183 is expected to be nil7184GroupImportState7185 validations7186 is expected to belong to user required: true7187 is expected to validate that :group cannot be empty/falsy7188 is expected to validate that :status cannot be empty/falsy7189 can be created without a jid7190 cannot be started without a jid7191 cannot be finished without a jid7192 can fail without a jid7193 #in_progress?7194 when the import is 'created'7195 returns true7196 when the import is 'started'7197 returns true7198 when the import is 'finished'7199 returns false7200 when the import is 'failed'7201 returns false7202 when import failed7203 when error message is present7204 truncates error message7205 when error message is missing7206 has no error message7207Pajamas::CardComponent7208 slots7209 renders card header7210 renders card body7211 renders footer7212 with defaults7213 does not have a header or footer7214 renders the card and body7215 with custom options7216 renders card options7217 renders header options7218 renders body options7219 renders footer options7220Gitlab::Serverless::Service7221 exposes methods extracting data from the attributes hash7222 returns nil for missing attributes7223 #description7224 extracts the description in knative 7 format if available7225 extracts the description in knative 5/6 format if 7 is not available7226 #url7227 returns proxy URL if cluster has serverless domain7228 returns the URL from the knative 6/7 format7229 returns the URL from the knative 5 format7230Clusters::Agents::DeleteExpiredEventsService7231 #execute7232 does not delete events if the limit has not been reached7233 there are more events than the limit7234 removes events to remain at the limit, keeping the most recent7235RuboCop::Cop::Migration::UpdateColumnInBatches7236 # order random7237 when in a post migration7238 behaves like a migration file with no spec file7239 registers an offense when using update_column_in_batches7240 behaves like a migration file with a spec file7241 does not register any offenses7242 EE migrations7243 when in a migration7244 behaves like a migration file with no spec file7245 registers an offense when using update_column_in_batches7246 behaves like a migration file with a spec file7247 does not register any offenses7248 when in a post migration7249 behaves like a migration file with no spec file7250 registers an offense when using update_column_in_batches7251 behaves like a migration file with a spec file7252 does not register any offenses7253 when in migration7254 behaves like a migration file with no spec file7255 registers an offense when using update_column_in_batches7256 behaves like a migration file with a spec file7257 does not register any offenses7258 outside of a migration7259 does not register any offenses7260MergeRequests::ResolveTodosAfterApprovalWorker7261 calls TodoService#resolve_todos_for_target7262 behaves like subscribes to event7263 consumes the published event7264 behaves like an idempotent worker7265 is labeled as idempotent7266 performs multiple times sequentially without raising an exception7267 when the user does not exist7268 behaves like when object does not exist7269 logs and does not call TodoService#resolve_todos_for_target7270 when the merge request does not exist7271 behaves like when object does not exist7272 logs and does not call TodoService#resolve_todos_for_target7273Gitlab::Database::QueryAnalyzers::Ci::PartitioningAnalyzer7274 # order random7275 when ci_partitioning_analyze_queries is disabled7276 does not analyze the query7277 when ci_partitioning_analyze_queries is enabled7278 when analyzing targeted tables7279 when querying a non routing table7280 tracks exception7281 raises RoutingTableNotUsedError7282 when updating a record7283 raises RoutingTableNotUsedError7284 when inserting a record7285 raises RoutingTableNotUsedError7286 when analyzing non targeted table7287 does not raise error7288 when querying a routing table7289 when selecting data7290 behaves like a good query7291 does not raise error7292 with a join query7293 behaves like a good query7294 does not raise error7295 when removing data7296 behaves like a good query7297 does not raise error7298 when updating data7299 behaves like a good query7300 does not raise error7301 when inserting a record7302 behaves like a good query7303 does not raise error7304 when partition_id is missing7305 when inserting a record7306 behaves like a bad query7307 raises PartitionIdMissingError7308 when selecting data7309 behaves like a bad query7310 raises PartitionIdMissingError7311 when removing data7312 behaves like a bad query7313 raises PartitionIdMissingError7314 when updating data7315 behaves like a bad query7316 raises PartitionIdMissingError7317 with a join query7318 behaves like a bad query7319 raises PartitionIdMissingError7320 when ci_partitioning_analyze_queries_partition_id_check is disabled7321 does not check if partition_id is included in the query7322Sanitizable7323 behaves like a non-sanitizable field7324 id7325 has no effect7326 behaves like a non-sanitizable field7327 html_body7328 has no effect7329 behaves like a sanitizable field7330 name7331 when input is nil7332 behaves like noop7333 has no effect7334 when input does not contain any html7335 behaves like noop7336 has no effect7337 when input contains html7338 sanitizes the input7339 when input includes html entities7340 does not escape them7341 when input contains pre-escaped html entities7342 is not valid7343 behaves like noop7344 has no effect7345 behaves like a sanitizable field7346 description7347 when input is nil7348 behaves like noop7349 has no effect7350 when input does not contain any html7351 behaves like noop7352 has no effect7353 when input contains html7354 sanitizes the input7355 when input includes html entities7356 does not escape them7357 when input contains pre-escaped html entities7358 is not valid7359 behaves like noop7360 has no effect7361shared/notes/_form7362 with a note on issue7363 says that markdown and quick actions are supported7364 with a note on merge_request7365 says that markdown and quick actions are supported7366 with a note on commit7367 says that markdown and quick actions are supported7368MailScheduler::NotificationServiceWorker7369 #perform7370 deserializes arguments from global IDs7371 when the arguments cannot be deserialized7372 when the arguments are not deserializeable7373 raises exception7374 when the arguments are deserializeable7375 does nothing7376 when the method is not a public method7377 raises NoMethodError7378 .perform_async7379 serializes arguments as global IDs when scheduling7380 with ActiveController::Parameters7381 when permitted7382 serializes as a serializable Hash7383 when not permitted7384 fails to serialize7385Gitlab::JiraImport::Stage::ImportIssuesWorker7386 modules7387 behaves like include import workers modules7388 is expected to includes the ApplicationWorker module7389 is expected to includes the Gitlab::JiraImport::QueueOptions module7390 is expected to includes the Gitlab::JiraImport::ImportWorker module7391 #perform7392 when import did not start7393 behaves like cannot do Jira import7394 does not advance to next stage7395 behaves like does not advance to next stage7396 does not advance to next stage7397 when import started7398 when start_at is nil7399 behaves like advance to next stage7400 advances to attachments stage7401 when start_at is zero7402 behaves like advance to next stage7403 advances to issues stage7404 when start_at is greater than zero7405 behaves like advance to next stage7406 advances to issues stage7407 when start_at is below zero7408 behaves like advance to next stage7409 advances to attachments stage7410Groups::ProjectsRequiringAuthorizationsRefresh::OnTransferFinder7411 #execute7412 projects requiring authorizations refresh when a group is transferred (here, `Group B`)7413 includes only the expected projects7414Projects::MoveLfsObjectsProjectsService7415 #execute7416 links the lfs objects from existent in source project7417 does not link existent lfs_object in the current project7418 rollbacks changes if transaction fails7419 when remove_remaining_elements is false7420 does not remove remaining lfs objects7421Gitlab::FeatureCategories7422 #valid?7423 returns true if category is known7424 #get!7425 is expected to eq "foo"7426 when category does not exist7427 is expected to raise RuntimeError7428 when on production7429 is expected to eq "unknown"7430 #from_request7431 returns category from request when valid, otherwise returns nil7432 when request is not verified7433 returns nil7434 #categories7435 returns a set of the given categories7436 .load_from_yaml7437 creates FeatureCategories from feature_categories.yml file7438 .default7439 returns a memoization of load_from_yaml7440Gitlab::JiraImport::LabelsImporter7441 #execute7442 when label is missing from jira import7443 raises error7444 when jira import label exists7445 when labels are returned from jira7446 caches import label7447 calls Gitlab::JiraImport::HandleLabelsService7448 when there are no labels to be handled7449 when the labels field is empty7450 behaves like no labels handling7451 does not call Gitlab::JiraImport::HandleLabelsService7452 when the labels field is missing7453 behaves like no labels handling7454 does not call Gitlab::JiraImport::HandleLabelsService7455 when the isLast argument is missing7456 behaves like no labels handling7457 does not call Gitlab::JiraImport::HandleLabelsService7458Gitlab::Kas::Client7459 #initialize7460 kas is not enabled7461 raises a configuration error7462 internal url is not set7463 raises a configuration error7464 gRPC calls7465 #get_connected_agents7466 is expected to eq [#<Double (anonymous)>]7467 #list_agent_config_files7468 is expected to eq [#<Double (anonymous)>]7469 with grpcs7470 uses a ChannelCredentials object with the correct certificates7471HooksHelper7472 #webhook_form_data7473 when there are no URL variables7474 returns proper data7475 when there are URL variables7476 returns proper data7477 #link_to_test_hook7478 returns project namespaced link7479 returns admin namespaced link7480 #hook_log_path7481 with a project hook7482 returns project-namespaced link7483 with a service hook7484 returns project-namespaced link7485 with a system hook7486 returns admin-namespaced link7487Resolvers::ReleaseResolver7488 #resolve7489 when the user does not have access to the project7490 returns nil7491 when the user has full access to the project's releases7492 returns the release associated with the specified tag7493 when no tag_name argument was passed7494 raises an error7495Gitlab::Ci::Status::Build::FailedUnmetPrerequisites7496 #illustration7497 is expected to include :image, :size, :title, and :content7498 .matches?7499 when build has not failed7500 is expected to be falsey7501 when build has failed7502 with unmet prerequisites7503 is expected to be truthy7504 with a different error7505 is expected to be falsey7506Gitlab::GithubImport::Importer::IssuesImporter7507 #parallel?7508 returns true when running in parallel mode7509 returns false when running in sequential mode7510 #execute7511 when running in parallel mode7512 imports issues in parallel7513 when running in sequential mode7514 imports issues in sequence7515 #sequential_import7516 imports each issue in sequence7517 #parallel_import7518 imports each issue in parallel7519 #id_for_already_imported_cache7520 returns the issue number of the given issue7521 #increment_object_counter?7522 when issue is a pull request7523 returns false7524 when issue is a regular issue7525 returns true7526projects/generic_commit_statuses/_generic_commit_status.html.haml7527 won't include a column with a link to its pipeline by default7528 can include a column with a link to its pipeline7529Gitlab::Zentao::Query7530 #issues7531 when params are empty7532 fills default params7533 when params contain valid options7534 fills params with standard of ZenTao7535 when params contain invalid options7536 fills default params with standard of ZenTao7537 #issue7538 returns issue object by client7539Resolvers::IncidentManagement::TimelineEventsResolver7540 is expected to have nullable GraphQL type TimelineEventTypeConnection7541 returns timeline events7542 when user does not have permissions7543 returns no timeline events7544 when resolving a single item7545 when id given7546 returns the timeline event7547Types::TimeType7548 is expected to eq "Time"7549 coerces Time object into ISO 86017550 coerces an ISO-time into Time object7551 rejects invalid input7552 allows nil7553GoogleCloud::FetchGoogleIpListService7554 # order random7555 #execute7556 returns a list of IPAddr subnets and caches the result7557 with rate limit in effect7558 returns rate limit error7559 when the URL returns a 4047560 behaves like IP range retrieval failure7561 does not cache the result and logs an error7562 when the URL returns too large of a payload7563 behaves like IP range retrieval failure7564 does not cache the result and logs an error7565 when the URL returns HTML7566 behaves like IP range retrieval failure7567 does not cache the result and logs an error7568 when the URL returns empty results7569 behaves like IP range retrieval failure7570 does not cache the result and logs an error7571Discussions::CaptureDiffNotePositionsService7572 when merge request has a discussion7573 and position of the discussion changed on target branch head7574 diff positions are created for the first notes of the discussions7575Packages::Rpm::RepositoryMetadata::BuildRepomdXmlService7576 # order random7577 #execute7578 generate valid xml7579 has all data info7580 when data values has unexpected keys7581 ignores wrong keys7582Gitlab::Ci::Reports::CoverageReport7583 is expected to eq {}7584 #empty?7585 when no file has been added7586 is expected to equal true7587 when file has been added7588 is expected to equal false7589 #pick7590 returns only picked files while ignoring nonexistent ones7591 #add_file7592 when providing two individual files7593 initializes a new test suite and returns it7594 when providing the same files twice7595 with different line coverage7596 initializes a new test suite and returns it7597 with identical line coverage7598 initializes a new test suite and returns it7599Packages::PackageFileFinder7600 #execute7601 behaves like package file finder examples7602 is expected to eq #<Packages::PackageFile id: 1, package_id: 20, created_at: "2022-11-11 01:13:13.049446000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>7603 with file_name_like7604 is expected to eq #<Packages::PackageFile id: 1, package_id: 20, created_at: "2022-11-11 01:13:13.049446000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>7605 behaves like not returning pending_destruction package files7606 returns the correct package file7607 with unknown file_name7608 is expected to be nil7609 #execute!7610 behaves like package file finder examples7611 is expected to eq #<Packages::PackageFile id: 1, package_id: 20, created_at: "2022-11-11 01:13:13.049446000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>7612 with file_name_like7613 is expected to eq #<Packages::PackageFile id: 1, package_id: 20, created_at: "2022-11-11 01:13:13.049446000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>7614 behaves like not returning pending_destruction package files7615 returns the correct package file7616 with unknown file_name7617 is expected to raise ActiveRecord::RecordNotFound7618Gitlab::GithubImport::ParallelImporter7619 .async?7620 returns true7621 .track_start_import7622 tracks the start of import7623 #execute7624 schedules the importing of the repository7625 sets the JID in Redis7626WorkItems::DeleteService7627 #execute7628 when user can delete the work item7629 is expected to be success7630 when there are errors preventing to delete the work item7631 is expected to be error7632 returns error messages7633 when user cannot delete the work item7634 is expected to be error7635 returns error messages7636Gitlab::SlashCommands::Presenters::IssueSearch7637 formats the message correct7638 shows a list of results7639RuboCop::Cop::Migration::PreventStrings7640 # order random7641 when in migration7642 when the string data type is used7643 registers an offense7644 when the string data type is not used7645 registers no offense7646 when the text data type is used7647 registers no offense7648 when the string data type is used for arrays7649 registers no offense7650 when using down method7651 registers no offense7652 when outside of migration7653 registers no offense7654Banzai::Filter::KrokiFilter7655 replaces nomnoml pre tag with img tag if kroki is enabled7656 replaces nomnoml pre tag with img tag if both kroki and plantuml are enabled7657 does not replace nomnoml pre tag with img tag if kroki is disabled7658 does not replace plantuml pre tag with img tag if both kroki and plantuml are enabled7659 adds hidden attribute when content size is large7660 allows the lang attribute on the code tag to support RST files processed by gitlab-markup gem7661shared/milestones/_issuable.html.haml7662 issue7663 links to the page for the issue7664 links to issues page for user7665 merge request7666 links to merge requests page for user7667 links to the page for the merge request7668BulkImports::Common::Rest::GetBadgesQuery7669 .to_h7670 when entity is group7671 when source id is present7672 returns correct query using source id and page info7673 when source id is missing7674 returns correct query using source full path7675 when entity is project7676 when source id is present7677 returns correct query using source id and page info7678 when source id is missing7679 returns correct query using source full path7680Gitlab::Ci::Config::External::File::Template7681 #matching?7682 when a template is specified7683 returns true7684 with a missing template7685 returns false7686 with a missing template key7687 returns false7688 #valid?7689 when is a valid template name7690 is expected to be truthy7691 with invalid template name7692 returns false7693 with a non-existing template7694 returns false7695 #template_name7696 when template does end with .gitlab-ci.yml7697 returns template name7698 when template is nil7699 returns nil7700 when template does not end with .gitlab-ci.yml7701 returns nil7702 #expand_context7703 drops all parameters7704 #metadata7705 is expected to eq {:blob=>nil, :context_project=>"namespace929/project1095", :context_sha=>"12345", :extra=>{}, :locati...gitlab-org/gitlab/-/raw/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml", :type=>:template}7706RuboCop::Cop::Gitlab::ModuleWithInstanceVariables7707 # order random7708 when source is defining initialize7709 behaves like not registering offense7710 does not register offenses7711 when source is using simple or ivar assignment7712 behaves like not registering offense7713 does not register offenses7714 when source is using simple ivar7715 behaves like not registering offense7716 does not register offenses7717 when source is using or ivar assignment with something else7718 behaves like registering offense7719 registers an offense when instance variable is used in a module7720 when source is a nested module with multiple offenses7721 behaves like registering offense7722 registers an offense when instance variable is used in a module7723 when source is a nested module7724 behaves like registering offense7725 registers an offense when instance variable is used in a module7726 when source is using simple or ivar assignment with other ivar7727 behaves like registering offense7728 registers an offense when instance variable is used in a module7729 when source is a regular module7730 behaves like registering offense7731 registers an offense when instance variable is used in a module7732PrometheusAlertEntity7733 when user can read prometheus alerts7734 exposes prometheus_alert attributes7735Resolvers::Projects::GrafanaIntegrationResolver7736 #resolve7737 when object is not a project7738 is expected to eq nil7739 when object is a project7740 is expected to eq #<GrafanaIntegration id: 1, project_id: 994, created_at: "2022-11-11 01:13:22.583303513 +0000", updat...ken_iv: "FPUnWE/HDxxdbjet\n", grafana_url: "https://grafana.example.com", enabled: true, token: nil>7741 when object is nil7742 is expected to eq nil7743Ci::Pipelines::HookService7744 #execute_hooks7745 HOOK_NAME7746 is expected to eq :pipeline_hooks7747 with pipeline hooks enabled7748 calls pipeline.project.execute_hooks and pipeline.project.execute_integrations7749 with pipeline hooks and integrations disabled7750 does not call pipeline.project.execute_hooks and pipeline.project.execute_integrations7751Gitlab::Ci::Artifacts::Metrics7752 .build_completed_report_type_counter7753 when incrementing by more than one7754 increments a single counter7755 #increment_destroyed_artifacts7756 when incrementing by more than one7757 increments a single counter7758Gitlab::Mailgun::WebhookProcessors::MemberInvites7759 #execute7760 marks the member invite email success as false7761 when invite token is not found in payload7762 does not change member status and logs an error7763 when member can not be found7764 behaves like does nothing7765 does not change member status7766 when failure is temporary7767 behaves like does nothing7768 does not change member status7769 when email is not a member invite7770 behaves like does nothing7771 does not change member status7772BitbucketServer::Connection7773 #get7774 returns JSON body7775 throws an exception if the response is not 2007776 throws an exception if the response is not JSON7777 throws an exception upon a network error7778 #post7779 returns JSON body7780 throws an exception if the response is not 2007781 throws an exception upon a network error7782 #delete7783 branch API7784 returns JSON body7785 throws an exception if the response is not 2007786 throws an exception upon a network error7787Ci::DailyBuildGroupReportResultsWorker7788 #perform7789 when pipeline is found7790 executes service7791 when pipeline is not found7792 does not execute service7793Types::Terraform::StateType7794 is expected to eq "TerraformState"7795 is expected to require graphql authorizations :read_terraform_state7796 fields7797 is expected to have graphql fields :id, :name, :locked_by_user, :locked_at, :latest_version, :created_at, :updated_at, and :deleted_at7798 is expected to be non null7799 is expected to be non null7800 is expected not to be non null7801 is expected not to be non null7802 is expected to be non null7803 is expected to be non null7804 is expected not to be non null7805 is expected not to be non null7806 is expected to eq 37807Packages::Composer::ComposerJsonService7808 #execute7809 with an existing file7810 with a valid file7811 returns the parsed json7812 with an invalid file7813 raises an error7814 without the composer.json file7815 raises an error7816Gitlab::Serializer::Pagination7817 #paginate7818 when a multiple resources are present in relation7819 correctly paginates the resource7820 appends relevant headers7821 when an invalid resource is about to be paginated7822 raises error7823Releases::Evidence7824 filters out issues from summary json7825 associations7826 is expected to belong to release required: false7827Gitlab::ClassAttributes7828 returns values set on the class7829 returns values set on a superclass7830 returns values from the subclass over attributes from a superclass7831 triggers after hooks after set class values7832Ci::BuildPendingState7833 #crc327834 when checksum does not exist7835 returns nil7836 when checksum is in hexadecimal7837 returns decimal representation of the checksum7838Projects::Members::EffectiveAccessLevelPerUserFinder#execute7839 a combination of all possible avenues of membership7840 includes the highest access level from all avenues of memberships for the specific user alone7841Gitlab::Ci::Status::Pipeline::Delayed7842 #text7843 overrides status text7844 #label7845 overrides status label7846 .matches?7847 when pipeline is scheduled7848 is a correct match7849 when pipeline is not scheduled7850 does not match7851ActsAsTaggableOn::Tag7852 has the same connection as Ci::ApplicationRecord7853 has the same sticking as Ci::ApplicationRecord7854Gitlab::RequestEndpoints7855 .all_api_endpoints7856 selects all feature API classes7857 .all_controller_actions7858 selects all feature controllers and action names7859BulkImports::Projects::Graphql::GetSnippetRepositoryQuery7860 has a valid query7861 returns snippet httpUrlToRepo7862 returns snippet createdAt7863 returns snippet title7864 .variables7865 queries project based on source_full_path and pagination7866 .data_path7867 .data_path returns data path7868 .page_info_path7869 .page_info_path returns pagination information path7870Sidekiq::Worker7871 for sidekiq workers7872 behaves like a forbiddable operation within a transaction7873 allows the operation outside of a transaction7874 forbids the operation within a transaction7875 allows the oepration within a transaction if skipped7876 forbids the operation if it is within a Ci::ApplicationRecord transaction7877 for mailers7878 behaves like a forbiddable operation within a transaction7879 allows the operation outside of a transaction7880 forbids the operation within a transaction7881 allows the oepration within a transaction if skipped7882 forbids the operation if it is within a Ci::ApplicationRecord transaction7883Gitlab::GithubImport::Attachments::ImportMergeRequestWorker7884 # order random7885 #import7886 imports an merge request attachments7887Types::MergeRequestStateEnum7888 is expected to eq "MergeRequestState"7889 exposes all the existing merge request states7890 behaves like issuable state7891 exposes all the existing issuable states7892Gitlab::Utils::LinkHeaderParser7893 # order random7894 #parse7895 with a valid header7896 is expected to eq {:next=>{:uri=>#<URI::HTTP http://sandbox.org/next>}}7897 with multiple links7898 is expected to eq {:next=>{:uri=>#<URI::HTTP http://sandbox.org/next>}, :previous=>{:uri=>#<URI::HTTP http://sandbox.org/previous>}}7899 with an incomplete uri7900 is expected to eq {}7901 with no rel7902 is expected to eq {}7903 with multiple rel elements7904 is expected to eq {:next=>{:uri=>#<URI::HTTP http://sandbox.org/next>}}7905 when the url is too long7906 is expected to eq {}7907 with nil header7908 is expected to eq {}7909 with empty header7910 is expected to eq {}7911Gitlab::GitlabImport::ProjectCreator7912 creates project7913ErrorTracking::Collector::PayloadValidator7914 #valid?7915 with event fixtures7916 event_fixture: "/builds/gitlab-org/gitlab/spec/fixtures/error_tracking/python_event.json"7917 behaves like valid payload7918 is expected to be valid7919 event_fixture: "/builds/gitlab-org/gitlab/spec/fixtures/error_tracking/parsed_event.json"7920 behaves like valid payload7921 is expected to be valid7922 event_fixture: "/builds/gitlab-org/gitlab/spec/fixtures/error_tracking/browser_event.json"7923 behaves like valid payload7924 is expected to be valid7925 event_fixture: "/builds/gitlab-org/gitlab/spec/fixtures/error_tracking/parsed_event_nullbytes.json"7926 behaves like valid payload7927 is expected to be valid7928 event_fixture: "/builds/gitlab-org/gitlab/spec/fixtures/error_tracking/python_event_repl.json"7929 behaves like valid payload7930 is expected to be valid7931 event_fixture: "/builds/gitlab-org/gitlab/spec/fixtures/error_tracking/go_two_exception_event.json"7932 behaves like valid payload7933 is expected to be valid7934 event_fixture: "/builds/gitlab-org/gitlab/spec/fixtures/error_tracking/go_parsed_event.json"7935 behaves like valid payload7936 is expected to be valid7937 when empty7938 behaves like invalid payload7939 is expected not to be valid7940 when invalid7941 behaves like invalid payload7942 is expected not to be valid7943Resolvers::ProjectPipelinesResolver7944 when the user does have access7945 resolves only MRs for the passed merge request7946 when the user does not have access7947 does not return pipeline data7948Packages::Nuget::SearchResultsPresenter7949 #total_count7950 expects to have 3 total elements7951 #data7952 returns the proper data structure7953Gitlab::Cluster::LifecycleEvents7954 hooks execution7955 method: :do_worker_start, hook_names: [:worker_start_hooks]7956 executes all hooks7957 method: :do_before_fork, hook_names: [:before_fork_hooks]7958 executes all hooks7959 method: :do_before_graceful_shutdown, hook_names: [:master_blackout_period, :master_graceful_shutdown]7960 executes all hooks7961 method: :do_before_master_restart, hook_names: [:master_restart_hooks]7962 executes all hooks7963 #call7964 when many hooks raise exception7965 USE_FATAL_LIFECYCLE_EVENTS is set to default7966 only first hook is executed and is fatal7967 when USE_FATAL_LIFECYCLE_EVENTS is disabled7968ERROR: The hook my_hooks failed with exception (RuntimeError) "Exception A".7969ERROR: The hook my_hooks failed with exception (RuntimeError) "Exception B".7970 many hooks are executed and all exceptions are logged7971Gitlab::SnowplowEventDefinitionGenerator7972 Creating event definition file7973 creates CE event definition file using the template7974 generated filename7975 includes timestamp7976 removes special characters7977 cuts name if longer than 100 characters7978 event definition already exists7979 overwrites event definition --force flag set to true7980 raises error when --force flag set to false7981 EE7982 creates EE event definition file using the template7983Transactions7984 is not in a transaction7985 is in a transaction7986help/index7987 version information7988 is hidden from guests7989 when logged in7990 shows a link to the tag to users7991 shows a link to the commit for pre-releases7992 instance configuration link7993 is visible to guests7994 Markdown rendering7995 renders Markdown7996Import::ManifestProviderRepoEntity7997 behaves like exposes required fields for import entity7998 exposes required fields7999 correctly exposes id8000 correctly exposes full name8001 correctly exposes sanitized name8002 correctly exposes provider link8003Gitlab::Ci::Reports::TestFailureHistory8004 #load!8005 sets the recent failures for each matching failed test case in all test suites8006API::Entities::Snippets::RepositoryStorageMove8007 #as_json8008 includes basic fields8009Gitlab::Database::Migrations::Observers::QueryLog8010 writes a file with the query log8011 does not change the default logger8012help/instance_configuration8013 General Sections:8014 has links to several sections8015 has several sections8016UserCanonicalEmail8017 is expected to belong to user required: false8018 validations8019 canonical_email8020 is expected to validate that :canonical_email cannot be empty/falsy8021 validates email address8022Integrations::ChatMessage::BaseMessage8023 #fallback8024 without relative links8025 is expected to eq "Just another *markdown* message"8026 with relative links8027 is expected to eq "Check this out https://gitlab-domain.com/uploads/Screenshot1.png"8028 with multiple relative links8029 is expected to eq "Check this out https://gitlab-domain.com/uploads/Screenshot1.png. And this https://gitlab-domain.com/uploads/Screenshot2.png"8030 #strip_markup8031 input: nil, output: nil8032 returns the expected output8033 input: "", output: ""8034 returns the expected output8035 input: "[label](url)", output: "label(url)"8036 returns the expected output8037 input: "<url|label>", output: "urllabel"8038 returns the expected output8039 input: "<a href=\"url\">label</a>", output: "a href=\"url\"label/a"8040 returns the expected output8041Keys::CreateService8042 creates a key8043 notification8044 sends a notification8045Sidebars::Projects::Menus::LearnGitlabMenu8046 # order random8047 does not contain any sub menu8048 #render?8049 when learn gitlab experiment is enabled8050 returns true8051 when learn gitlab experiment is disabled8052 returns false8053 #nav_link_html_options8054 is expected to eq {:class=>"home", :data=>{:track_label=>"learn_gitlab"}}8055 #has_pill?8056 when learn gitlab experiment is enabled8057 returns true8058 when learn gitlab experiment is disabled8059 returns false8060 #pill_count8061 returns pill count8062Types::Projects::Services::BaseServiceType8063 is expected to eq "BaseService"8064 has basic expected fields8065 is expected to require graphql authorizations :admin_project8066Gitlab::Graphql::MountMutation8067 .mount_mutation8068 mounts a mutation8069 .mount_aliased_mutation8070 mounts a mutation8071 has a correct `graphql_name`8072 has a correct type8073 has a correct input argument8074Gitlab::UsageDataCounters::SourceCodeCounter8075 behaves like a redis usage counter8076 .count(pushes)8077 increments the Source Code pushes counter by 18078 .read(pushes)8079 returns the total number of pushes events8080 behaves like a redis usage counter with totals8081 totals8082 can report all totals8083 unknown events8084 cannot increment8085 cannot read8086Gitlab::Prometheus::Queries::KnativeInvocationQuery8087 verify queries8088 has the query, but no data8089Types::Ci::StageType8090 is expected to eq "CiStage"8091 exposes the expected fields8092Gitlab::ImportExport::DurationMeasuring8093 measures method execution duration8094 #with_duration_measuring8095 yields control8096 returns result of the yielded block8097Types::Ci::PipelineType8098 is expected to eq "Pipeline"8099 is expected to expose permissions using Types::PermissionTypes::Ci::Pipeline8100 contains attributes related to a pipeline8101Types::InvitationInterface8102 exposes the expected fields8103 .resolve_type8104 for project member8105 is expected to equal Types::ProjectInvitationType8106 for group member8107 is expected to equal Types::GroupInvitationType8108 for an unknown type8109 raises an error8110Gitlab::StringPlaceholderReplacer8111 .render_url8112 returns the nil if the string is blank8113 returns the string if the placeholder regex8114 returns the string if no block given8115 when all params are valid8116 replaces each placeholders with the block result8117 does not replace the placeholder if the block result is nil8118Sidebars::Projects::Menus::ExternalIssueTrackerMenu8119 does not contain any sub menu8120 #render?8121 when active external issue tracker8122 is present8123 returns true8124 is not present8125 returns false8126RuboCop::Cop::Database::DisableReferentialIntegrity8127 # order random8128 does not flag the use of disable_referential_integrity with a send receiver8129 flags the use of disable_referential_integrity when passing a block8130 flags the use of disable_referential_integrity with a nil receiver8131 flags the use of disable_referential_integrity with a full definition8132Groups::UpdateStatisticsWorker8133 #perform8134 updates the group statistics8135 when group id does not exist8136 ends gracefully8137Types::Boards::BoardIssueInputType8138 is expected to eq "BoardIssueInput"8139 has specific fields8140Types::IncidentManagement::TimelineEventType8141 is expected to eq "TimelineEventType"8142 is expected to require graphql authorizations :read_incident_management_timeline_event8143 exposes the expected fields8144Gitlab::GithubImport::Stage::ImportLfsObjectsWorker8145 #import8146 imports all the lfs objects8147Gitlab::Database::Migrations::Observers::TotalDatabaseSizeChange8148 records the size change8149 out of order calls8150 does not record anything if before size is unknown8151 does not record anything if after size is unknown8152CrudPolicyHelpers8153 .create_read_update_admin_destroy8154 returns an array of the appropriate abilites given a feature name8155 .create_update_admin_destroy8156 returns an array of the appropriate abilites given a feature name8157 .create_update_admin8158 returns an array of the appropriate abilites given a feature name8159Gitlab::ImportExport::Config8160 #to_h8161 when using default config8162 ee: true8163 parses default config8164 ee: false8165 parses default config8166 when using custom config8167 when using CE8168 just returns the normalized Hash8169 when using EE8170 just returns the normalized Hash8171Types::CustomEmojiType8172 is expected to eq "CustomEmoji"8173 is expected to require graphql authorizations :read_custom_emoji8174 is expected to have graphql fields :id, :name, :url, and :external8175RsaKeyValidator8176 is not valid when invalid RSA key is provided8177 is valid when valid RSA key is provided8178BlobViewer::Gemspec8179 #package_name8180 returns the package name8181SystemCheck::IncomingEmailCheck8182 #multi_check8183 when incoming e-mail is disabled8184Reply by email is disabled in config/gitlab.yml8185 does not run any checks8186 when incoming e-mail is enabled for IMAP8187 runs IMAP and mailroom checks8188 when incoming e-mail is enabled for Microsoft Graph8189 runs mailroom checks8190Gitlab::Metrics::RackMiddleware8191 #call8192 tracks a transaction8193 tracks any raised exceptions8194Gitlab::Memory::Watchdog::Monitor::RssMemoryLimit8195 # order random8196 #call8197 when process exceeds threshold8198 returns if threshold is violated and payload8199 when process does not exceed threshold8200 returns if threshold is violated and payload8201Types::DesignManagement::VersionType8202 is expected to require graphql authorizations :read_design8203 has the expected fields8204API::Validations::Validators::Absence8205 empty param8206 does not raise a validation error8207 invalid parameters8208 raises a validation error8209MergeRequestContextCommitDiffFile8210 associations8211 is expected to belong to merge_request_context_commit required: false8212Pajamas::Concerns::CheckboxRadioOptions8213 #formatted_input_options8214 calls `#format_options` with correct arguments8215Types::Clusters::AgentTokenType8216 is expected to eq "ClusterAgentToken"8217 is expected to require graphql authorizations :read_cluster8218 is expected to have graphql fields :cluster_agent, :created_at, :created_by_user, :description, :id, :last_used_at, :name, and :status8219Gitlab::Graphql::Timeout8220 inherits from8221 sends the error to our GraphQL logger8222Evidences::EvidenceSerializer8223 represents an EvidenceEntity entity8224Types::WorkItems::Widgets::StartAndDueDateType8225 exposes the expected fields8226API::Entities::BulkImports::ExportStatus8227 has the correct attributes8228Gitlab::Middleware::ReleaseEnv8229 #call8230 calls the app and clears the env8231Types::DeploymentTagType8232 # order random8233 has the expected fields8234 is expected to eq "DeploymentTag"8235Gitlab::Audit::DeployKeyAuthor8236 #initialize8237 sets correct attributes8238 sets default name when it is not provided8239Gitlab::Asciidoc::Html5Converter8240 convert AsciiDoc to HTML58241 appends user-content- prefix on ref (anchor)8242Ci::DailyBuildGroupReportResultSerializer8243 #to_json8244 returns an array of group results8245Knapsack report was generated. Preview:8246{8247 "spec/models/application_setting_spec.rb": 167.2116171050002,8248 "spec/lib/gitlab/middleware/go_spec.rb": 117.1223980740001,8249 "spec/services/merge_requests/create_from_issue_service_spec.rb": 91.72718602600025,8250 "spec/services/merge_requests/create_service_spec.rb": 75.43636204299992,8251 "spec/models/concerns/mentionable_spec.rb": 53.65238158699958,8252 "spec/models/ci/runner_spec.rb": 30.91869879800015,8253 "spec/services/notes/create_service_spec.rb": 43.415133797999715,8254 "spec/services/issues/create_service_spec.rb": 33.85785501600003,8255 "spec/tooling/danger/project_helper_spec.rb": 6.625375407999854,8256 "spec/views/search/_results.html.haml_spec.rb": 30.172159290999844,8257 "spec/lib/gitlab/ssh_public_key_spec.rb": 5.725007210999593,8258 "spec/lib/banzai/filter/references/user_reference_filter_spec.rb": 17.4745483290003,8259 "spec/models/concerns/project_api_compatibility_spec.rb": 9.896004275999985,8260 "spec/services/projects/unlink_fork_service_spec.rb": 26.05321862100027,8261 "spec/helpers/tab_helper_spec.rb": 3.0073691590000635,8262 "spec/models/concerns/integrations/has_data_fields_spec.rb": 15.997811617000025,8263 "spec/lib/gitlab/git/branch_spec.rb": 14.174557793000076,8264 "spec/lib/gitlab/git/diff_collection_spec.rb": 5.48610441000028,8265 "spec/services/search/group_service_spec.rb": 9.749615307999647,8266 "spec/lib/gitlab/ci/status/stage/factory_spec.rb": 12.498794567999994,8267 "spec/lib/gitlab/file_type_detection_spec.rb": 5.9259232249996785,8268 "spec/metrics_server/metrics_server_spec.rb": 9.982028089999858,8269 "spec/lib/banzai/filter/references/reference_filter_spec.rb": 5.080598162000115,8270 "spec/serializers/ci/pipeline_entity_spec.rb": 14.612796147000154,8271 "spec/helpers/avatars_helper_spec.rb": 6.98624874799998,8272 "spec/serializers/stage_entity_spec.rb": 7.6504903840000225,8273 "spec/views/projects/_home_panel.html.haml_spec.rb": 9.570581277000201,8274 "spec/serializers/commit_entity_spec.rb": 9.345520735000264,8275 "spec/services/clusters/agents/refresh_authorization_service_spec.rb": 5.277307088000271,8276 "spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb": 3.4571519470000567,8277 "spec/services/award_emojis/add_service_spec.rb": 5.027477808000185,8278 "spec/lib/gitlab/middleware/read_only_spec.rb": 1.5870755299997654,8279 "spec/views/notify/pipeline_fixed_email.html.haml_spec.rb": 6.632991686999958,8280 "spec/lib/gitlab/github_import/representation/pull_request_spec.rb": 1.9758909590000258,8281 "spec/lib/banzai/filter/sanitization_filter_spec.rb": 1.9344283609998456,8282 "spec/services/integrations/test/project_service_spec.rb": 3.5982537049999337,8283 "spec/models/hooks/active_hook_filter_spec.rb": 2.7429725359997974,8284 "spec/tasks/gitlab/cleanup_rake_spec.rb": 6.1588563559998875,8285 "spec/services/clusters/applications/upgrade_service_spec.rb": 5.156791137000255,8286 "spec/lib/gitlab_spec.rb": 1.3097162829999434,8287 "spec/models/ci/build_trace_chunks/fog_spec.rb": 5.80078804499999,8288 "spec/graphql/types/global_id_type_spec.rb": 1.6016398389997448,8289 "spec/graphql/types/user_type_spec.rb": 4.777892479000002,8290 "spec/lib/gitlab/database/load_balancing/connection_proxy_spec.rb": 1.2569228570000632,8291 "spec/lib/gitlab/chat/responder/slack_spec.rb": 4.877967331000036,8292 "spec/uploaders/terraform/state_uploader_spec.rb": 5.830564073000005,8293 "spec/graphql/mutations/issues/create_spec.rb": 5.371406061000016,8294 "spec/lib/gitlab/git/push_spec.rb": 2.0390665129998524,8295 "spec/services/jira_import/start_import_service_spec.rb": 3.652056320999691,8296 "spec/models/concerns/project_features_compatibility_spec.rb": 3.937047437000274,8297 "spec/tasks/gitlab/praefect_rake_spec.rb": 3.9213349080000626,8298 "spec/services/projects/deploy_tokens/create_service_spec.rb": 4.059245037999972,8299 "spec/models/project_label_spec.rb": 4.6097536229999605,8300 "spec/lib/gitlab/audit/auditor_spec.rb": 3.3146861479999643,8301 "spec/lib/gitlab/ci/build/policy/changes_spec.rb": 2.7712122230000205,8302 "spec/workers/prune_old_events_worker_spec.rb": 5.49886805999995,8303 "spec/lib/gitlab/github_import/importer/pull_requests_reviews_importer_spec.rb": 3.0485796600000867,8304 "spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb": 0.9248835840003267,8305 "spec/lib/gitlab/manifest_import/project_creator_spec.rb": 4.098694235000039,8306 "spec/services/ci/create_pipeline_service/tags_spec.rb": 3.3196648279999863,8307 "spec/components/pajamas/alert_component_spec.rb": 0.8681189290000475,8308 "spec/finders/feature_flags_finder_spec.rb": 4.120529582000017,8309 "spec/views/events/event/_push.html.haml_spec.rb": 0.9365832339999542,8310 "spec/support_specs/helpers/html_escaped_helpers_spec.rb": 0.7788822770003208,8311 "spec/lib/gitlab/database/count_spec.rb": 4.5355411780001305,8312 "spec/finders/boards/boards_finder_spec.rb": 2.904878402999657,8313 "spec/lib/sidebars/projects/menus/deployments_menu_spec.rb": 2.0973498080002173,8314 "spec/initializers/active_record_locking_spec.rb": 2.5260143929999685,8315 "spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb": 0.748822318999828,8316 "spec/serializers/discussion_entity_spec.rb": 3.4591289370000595,8317 "spec/lib/gitlab/github_import_spec.rb": 1.4975457680002364,8318 "spec/models/network/graph_spec.rb": 4.192864666999867,8319 "spec/workers/destroy_pages_deployments_worker_spec.rb": 2.319845969999733,8320 "spec/services/ci/build_report_result_service_spec.rb": 2.9588158880001174,8321 "spec/models/concerns/atomic_internal_id_spec.rb": 1.2525453180001023,8322 "spec/lib/gitlab/ci/pipeline/expression/parser_spec.rb": 0.7055395319998752,8323 "spec/services/repository_archive_clean_up_service_spec.rb": 1.9147498730003463,8324 "spec/models/work_items/type_spec.rb": 1.9952355770001304,8325 "spec/models/integrations/mock_ci_spec.rb": 0.9862563490000866,8326 "spec/models/deploy_keys_project_spec.rb": 1.9387006120000478,8327 "spec/lib/banzai/filter/wiki_link_filter_spec.rb": 0.8923825360002411,8328 "spec/workers/bulk_imports/pipeline_worker_spec.rb": 1.022871276999922,8329 "spec/lib/gitlab/api_authentication/builder_spec.rb": 0.7798418060001495,8330 "spec/services/web_hooks/log_destroy_service_spec.rb": 1.653594565000276,8331 "spec/models/identity_spec.rb": 0.9848056390001148,8332 "spec/models/protected_branch/push_access_level_spec.rb": 1.9174125130002722,8333 "spec/services/feature_flags/create_service_spec.rb": 1.5376692340000773,8334 "spec/services/wiki_pages/event_create_service_spec.rb": 1.1438221759999578,8335 "spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb": 0.8327797820002161,8336 "spec/lib/gitlab/composer/cache_spec.rb": 1.9602788590000273,8337 "spec/lib/gitlab/zoom_link_extractor_spec.rb": 0.49243306000016673,8338 "spec/graphql/types/environment_type_spec.rb": 1.8407369800002016,8339 "spec/services/incident_management/issuable_escalation_statuses/after_update_service_spec.rb": 1.1099911500000417,8340 "spec/services/clusters/aws/finalize_creation_service_spec.rb": 1.120631327999945,8341 "spec/lib/gitlab/sanitizers/svg_spec.rb": 0.6563272559997131,8342 "spec/models/error_tracking/error_event_spec.rb": 0.680798133999815,8343 "spec/graphql/mutations/clusters/agents/create_spec.rb": 2.766949914000179,8344 "spec/lib/gitlab/ci/status/created_spec.rb": 0.5401723559998572,8345 "spec/models/group_import_state_spec.rb": 1.102958639999997,8346 "spec/components/pajamas/card_component_spec.rb": 0.4937606000003143,8347 "spec/lib/gitlab/serverless/service_spec.rb": 3.0814701770000283,8348 "spec/services/clusters/agents/delete_expired_events_service_spec.rb": 2.552649701000064,8349 "spec/rubocop/cop/migration/update_column_in_batches_spec.rb": 0.6362594579995857,8350 "spec/workers/merge_requests/resolve_todos_after_approval_worker_spec.rb": 1.2889076450001085,8351 "spec/lib/gitlab/database/query_analyzers/ci/partitioning_analyzer_spec.rb": 0.6184480489996531,8352 "spec/models/concerns/sanitizable_spec.rb": 0.5798359030000029,8353 "spec/views/shared/notes/_form.html.haml_spec.rb": 2.660990581999613,8354 "spec/workers/mail_scheduler/notification_service_worker_spec.rb": 0.6624323959999856,8355 "spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb": 1.1487244959998861,8356 "spec/finders/groups/projects_requiring_authorizations_refresh/on_transfer_finder_spec.rb": 2.4314326110002185,8357 "spec/services/projects/move_lfs_objects_projects_service_spec.rb": 2.482839285999944,8358 "spec/lib/gitlab/feature_categories_spec.rb": 0.9177086750000853,8359 "spec/lib/gitlab/jira_import/labels_importer_spec.rb": 1.283239384999888,8360 "spec/lib/gitlab/kas/client_spec.rb": 0.7137663520002206,8361 "spec/helpers/hooks_helper_spec.rb": 0.5174319369998557,8362 "spec/graphql/resolvers/release_resolver_spec.rb": 1.032106706000377,8363 "spec/lib/gitlab/ci/status/build/failed_unmet_prerequisites_spec.rb": 1.6100246280002466,8364 "spec/lib/gitlab/github_import/importer/issues_importer_spec.rb": 0.6488878770001065,8365 "spec/views/projects/jobs/_generic_commit_status.html.haml_spec.rb": 2.165682353000193,8366 "spec/lib/gitlab/zentao/query_spec.rb": 1.5965951100001803,8367 "spec/graphql/resolvers/incident_management/timeline_events_resolver_spec.rb": 1.746578277000026,8368 "spec/graphql/types/time_type_spec.rb": 0.3712271790000159,8369 "spec/services/google_cloud/fetch_google_ip_list_service_spec.rb": 0.6870374540003468,8370 "spec/services/discussions/capture_diff_note_positions_service_spec.rb": 1.9706692690001546,8371 "spec/services/packages/rpm/repository_metadata/build_repomd_xml_service_spec.rb": 0.43148888399991847,8372 "spec/lib/gitlab/ci/reports/coverage_report_spec.rb": 0.6890356040003098,8373 "spec/finders/packages/package_file_finder_spec.rb": 1.0176156170000468,8374 "spec/lib/gitlab/github_import/parallel_importer_spec.rb": 0.8293238620003649,8375 "spec/services/work_items/delete_service_spec.rb": 1.7522390659996745,8376 "spec/lib/gitlab/slash_commands/presenters/issue_search_spec.rb": 1.1963783920000424,8377 "spec/rubocop/cop/migration/prevent_strings_spec.rb": 0.4298695449997467,8378 "spec/lib/banzai/filter/kroki_filter_spec.rb": 0.448615272999632,8379 "spec/views/shared/milestones/_issuable.html.haml_spec.rb": 1.0581301539996275,8380 "spec/lib/bulk_imports/common/rest/get_badges_query_spec.rb": 0.8136823130002995,8381 "spec/lib/gitlab/ci/config/external/file/template_spec.rb": 1.1000217199998588,8382 "spec/rubocop/cop/gitlab/module_with_instance_variables_spec.rb": 0.49775535899971146,8383 "spec/serializers/prometheus_alert_entity_spec.rb": 0.5972414510001727,8384 "spec/graphql/resolvers/projects/grafana_integration_resolver_spec.rb": 0.5779141630000595,8385 "spec/services/ci/pipelines/hook_service_spec.rb": 1.315822351999941,8386 "spec/lib/gitlab/ci/artifacts/metrics_spec.rb": 1.151528675999998,8387 "spec/lib/gitlab/mailgun/webhook_processors/member_invites_spec.rb": 0.737073589999909,8388 "spec/lib/bitbucket_server/connection_spec.rb": 0.713265581000087,8389 "spec/workers/ci/daily_build_group_report_results_worker_spec.rb": 1.0109426170001825,8390 "spec/graphql/types/terraform/state_type_spec.rb": 0.42587976400000116,8391 "spec/services/packages/composer/composer_json_service_spec.rb": 1.828711740000017,8392 "spec/lib/gitlab/serializer/pagination_spec.rb": 0.8143595730002744,8393 "spec/models/releases/evidence_spec.rb": 1.081634172000122,8394 "spec/lib/gitlab/class_attributes_spec.rb": 0.22341342099980466,8395 "spec/models/ci/build_pending_state_spec.rb": 0.7643362280000474,8396 "spec/finders/projects/members/effective_access_level_per_user_finder_spec.rb": 1.4884481280000728,8397 "spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb": 1.069594211999629,8398 "spec/models/acts_as_taggable_on/tag_spec.rb": 0.4341669750001529,8399 "spec/lib/gitlab/request_endpoints_spec.rb": 1.1635486539998965,8400 "spec/lib/bulk_imports/projects/graphql/get_snippet_repository_query_spec.rb": 0.41930587600018043,8401 "spec/initializers/forbid_sidekiq_in_transactions_spec.rb": 0.40426946699972177,8402 "spec/workers/gitlab/github_import/attachments/import_merge_request_worker_spec.rb": 0.5260930370000096,8403 "spec/graphql/types/merge_request_state_enum_spec.rb": 0.3168062340000688,8404 "spec/lib/gitlab/utils/link_header_parser_spec.rb": 0.8794714880000356,8405 "spec/lib/gitlab/gitlab_import/project_creator_spec.rb": 0.8155335129999912,8406 "spec/lib/error_tracking/collector/payload_validator_spec.rb": 0.48755432000007204,8407 "spec/graphql/resolvers/project_pipelines_resolver_spec.rb": 0.9586147820000406,8408 "spec/presenters/packages/nuget/search_results_presenter_spec.rb": 0.8224544120002975,8409 "spec/lib/gitlab/cluster/lifecycle_events_spec.rb": 0.41726696599971547,8410 "spec/lib/generators/gitlab/snowplow_event_definition_generator_spec.rb": 0.4379348839997874,8411 "spec/models/concerns/transactions_spec.rb": 0.22716188200001852,8412 "spec/views/help/index.html.haml_spec.rb": 0.42105574600009277,8413 "spec/serializers/import/manifest_provider_repo_entity_spec.rb": 0.6060269800000242,8414 "spec/lib/gitlab/ci/reports/test_failure_history_spec.rb": 0.579458102999979,8415 "spec/lib/api/entities/snippets/repository_storage_move_spec.rb": 0.3642586799996934,8416 "spec/lib/gitlab/database/migrations/observers/query_log_spec.rb": 0.2352472709999347,8417 "spec/views/help/instance_configuration.html.haml_spec.rb": 0.4784697899999628,8418 "spec/models/user_canonical_email_spec.rb": 0.28483943600031125,8419 "spec/models/integrations/chat_message/base_message_spec.rb": 0.4465213640000911,8420 "spec/services/keys/create_service_spec.rb": 0.7304122599998664,8421 "spec/lib/sidebars/projects/menus/learn_gitlab_menu_spec.rb": 0.39746747700019114,8422 "spec/graphql/types/projects/base_service_type_spec.rb": 0.43029743500028417,8423 "spec/lib/gitlab/graphql/mount_mutation_spec.rb": 0.578828711999904,8424 "spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb": 0.42686530599985417,8425 "spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb": 0.436292314000184,8426 "spec/graphql/types/ci/stage_type_spec.rb": 0.2581267789996673,8427 "spec/lib/gitlab/import_export/duration_measuring_spec.rb": 0.3528149809999377,8428 "spec/graphql/types/ci/pipeline_type_spec.rb": 0.34724715099991954,8429 "spec/graphql/types/invitation_interface_spec.rb": 0.4340716249998877,8430 "spec/lib/gitlab/string_placeholder_replacer_spec.rb": 0.47016568100025324,8431 "spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb": 0.26889615800018873,8432 "spec/rubocop/cop/database/disable_referential_integrity_spec.rb": 0.5416873059998579,8433 "spec/workers/groups/update_statistics_worker_spec.rb": 0.6726753950001694,8434 "spec/graphql/types/boards/board_issue_input_type_spec.rb": 0.3938477070000772,8435 "spec/graphql/types/incident_management/timeline_event_type_spec.rb": 0.29734378600005584,8436 "spec/workers/gitlab/github_import/stage/import_lfs_objects_worker_spec.rb": 0.4535378830000809,8437 "spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb": 0.2911881559998619,8438 "spec/policies/concerns/crud_policy_helpers_spec.rb": 0.48512210099988806,8439 "spec/lib/gitlab/import_export/config_spec.rb": 0.43499591499994494,8440 "spec/graphql/types/custom_emoji_type_spec.rb": 0.3953842769997209,8441 "spec/validators/rsa_key_validator_spec.rb": 0.23402576099988437,8442 "spec/models/blob_viewer/gemspec_spec.rb": 0.16148020699984045,8443 "spec/lib/system_check/incoming_email_check_spec.rb": 0.4230626849998771,8444 "spec/lib/gitlab/metrics/rack_middleware_spec.rb": 0.2689940580003167,8445 "spec/lib/gitlab/memory/watchdog/monitor/rss_memory_limit_spec.rb": 0.35665802099993016,8446 "spec/graphql/types/design_management/version_type_spec.rb": 0.2048141029999897,8447 "spec/lib/api/validations/validators/absence_spec.rb": 0.3619350700000723,8448 "spec/models/merge_request_context_commit_diff_file_spec.rb": 0.2017680730000393,8449 "spec/components/pajamas/concerns/checkbox_radio_options_spec.rb": 0.17232168600003206,8450 "spec/graphql/types/clusters/agent_token_type_spec.rb": 0.7266390500003581,8451 "spec/lib/gitlab/graphql/timeout_spec.rb": 0.44442894300027547,8452 "spec/serializers/evidences/evidence_serializer_spec.rb": 0.3718193190002239,8453 "spec/graphql/types/work_items/widgets/start_and_due_date_type_spec.rb": 0.22397665199969197,8454 "spec/lib/api/entities/bulk_imports/export_status_spec.rb": 0.3735001800000646,8455 "spec/lib/gitlab/middleware/release_env_spec.rb": 0.24717431899989606,8456 "spec/graphql/types/detployment_tag_type_spec.rb": 0.30129414599969095,8457 "spec/lib/gitlab/audit/deploy_key_author_spec.rb": 0.18174806499973784,8458 "spec/lib/gitlab/asciidoc/html5_converter_spec.rb": 0.4302464239999608,8459 "spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb": 0.231772591999742878460}8461Knapsack global time execution for tests: 18m 29s8462Pending: (Failures listed here are expected and do not affect your suite's status)8463 1) Ci::Runner.recent 8464 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example8465 # ./spec/models/ci/runner_spec.rb:4928466Finished in 18 minutes 33 seconds (files took 44.2 seconds to load)84673698 examples, 0 failures, 1 pending8468Randomized with seed 73038469[TEST PROF INFO] Time spent in factories: 08:41.185 (46.54% of total time)8470RSpec exited with 0.8471No examples to retry, congrats!8473Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy8474Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy8476Uploading artifacts...8477coverage/: found 5 matching files and directories 8478crystalball/: found 2 matching files and directories 8479WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 8480knapsack/: found 3 matching files and directories 8481rspec/: found 10 matching files and directories 8482WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 8483log/*.log: found 19 matching files and directories 8484WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837722/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8485WARNING: Retrying... context=artifacts-uploader error=request redirected8486Uploading artifacts as "archive" to coordinator... 201 Created id=3307837722 responseStatus=201 Created token=r_kB1zRs8487Uploading artifacts...8488rspec/junit_rspec.xml: found 1 matching files and directories 8489WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837722/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8490WARNING: Retrying... context=artifacts-uploader error=request redirected8491Uploading artifacts as "junit" to coordinator... 201 Created id=3307837722 responseStatus=201 Created token=r_kB1zRs8493Job succeeded